Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitba5edff

Browse files
committed
Refactor code to match module style
1 parentca709ed commitba5edff

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

‎lib/__set__.js

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,17 @@
55
* All variables within this function are namespaced in the arguments array because every
66
* var declaration could possibly clash with a variable in the module scope.
77
*
8-
*@param {!String|!Object} varName name of the variable to set
8+
*@param {String|Object} varName name of the variable to set
99
*@param {String} varValue new value
1010
*@throws {TypeError}
1111
*@throws {ReferenceError} When the variable is unknown
1212
*@return {*}
1313
*/
14-
1514
function__set__(){
1615
arguments.varName=arguments[0];
1716
arguments.varValue=arguments[1];
1817
arguments.src="";
19-
varsnapshot={};
18+
arguments.snapshot={};
2019

2120
if(typeofarguments[0]==="object"&&arguments.length===1){
2221
arguments.env=arguments.varName;
@@ -27,40 +26,44 @@ function __set__() {
2726
if(arguments.env.hasOwnProperty(arguments.varName)){
2827
arguments.varValue=arguments.env[arguments.varName];
2928
arguments.src+=arguments.varName+" = arguments.env."+arguments.varName+"; ";
30-
snapshot[arguments.varName]=eval(arguments.varName);
29+
arguments.snapshot[arguments.varName]=eval(arguments.varName);
3130
}
3231
}
3332
}elseif(typeofarguments.varName==="string"&&arguments.length===2){
3433
if(!arguments.varName){
3534
thrownewTypeError("__set__ expects a non-empty string as a variable name");
3635
}
3736
arguments.src=arguments.varName+" = arguments.varValue;";
38-
snapshot[arguments.varName]=eval(arguments.varName);
37+
arguments.snapshot[arguments.varName]=eval(arguments.varName);
3938
}else{
4039
thrownewTypeError("__set__ expects an environment object or a non-empty string as a variable name");
4140
}
4241

4342
eval(arguments.src);
44-
returnfunction(){
45-
__set__(snapshot);
46-
};
43+
44+
returnfunction(snapshot){
45+
__set__(snapshot);
46+
}.bind(null,arguments.snapshot);
4747
}
4848

4949
function__with__(){
50-
varargs=arguments;
51-
returnfunction(callback){
52-
if(typeofcallback!=="function"){
53-
thrownewTypeError("__with__ expects a callback function")
54-
}
50+
varargs=arguments;
5551

56-
varundo=__set__.apply(null,args)
57-
try{
58-
callback();
59-
}
60-
finally{
61-
undo();
52+
returnfunction(callback){
53+
varundo;
54+
55+
if(typeofcallback!=="function"){
56+
thrownewTypeError("__with__ expects a callback function")
57+
}
58+
59+
undo=__set__.apply(null,args);
60+
61+
try{
62+
callback();
63+
}finally{
64+
undo();
65+
}
6266
}
63-
}
6467
}
6568

66-
module.exports={"__set__":__set__,"__with__":__with__}
69+
module.exports={"__set__":__set__,"__with__":__with__};

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp