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

Commit04477fb

Browse files
committed
return empty __get__ function if path is not valid yet
1 parent77d03d0 commit04477fb

File tree

5 files changed

+36
-128
lines changed

5 files changed

+36
-128
lines changed

‎lib/__get__.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,17 @@
99
*@throws {TypeError}
1010
*@return {*}
1111
*/
12-
function__get__(){
13-
arguments.varName=arguments[0];
12+
function__get__(varName){
1413
try{
15-
if(arguments.varName&&typeofarguments.varName==="string"){
16-
returneval(arguments.varName);
14+
if(varName&&typeofvarName==="string"){
15+
returneval(varName);
1716
}else{
1817
thrownewTypeError("__get__ expects a non-empty string");
1918
}
2019
}catch(e){
21-
return;
20+
return{
21+
__get__:()=>{}
22+
}
2223
}
2324
}
2425

‎lib/__set__.js

Lines changed: 0 additions & 74 deletions
This file was deleted.

‎lib/__with__.js

Lines changed: 0 additions & 43 deletions
This file was deleted.

‎lib/getDefinePropertySrc.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
"use strict";
22

33
var__get__=require("./__get__.js");
4-
var__set__=require("./__set__.js");
5-
var__with__=require("./__with__.js");
64

75
varsrcs={
86
"__get__":__get__.toString(),
9-
"__set__":__set__.toString(),
10-
"__with__":__with__.toString()
117
};
128

139
functiongetDefinePropertySrc(){

‎lib/index.js

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,21 @@
11
varrewireModule=require("./rewire.js");
2+
varfs=require('fs');
3+
4+
functionfileExists(path,silent){
5+
if(silent===void0){silent=true;}
6+
try{
7+
fs.accessSync(path,fs.F_OK);
8+
}
9+
catch(e){
10+
if(e){
11+
if(!silent){
12+
console.log(e);
13+
}
14+
returnfalse;
15+
}
16+
}
17+
returntrue;
18+
}
219

320
/**
421
* Adds a special setter and getter to the module located at filename. After the module has been rewired, you can
@@ -8,9 +25,20 @@ var rewireModule = require("./rewire.js");
825
*@return {*} the rewired module
926
*/
1027
functionrewire(filename){
11-
returnrewireModule(module.parent,filename);
28+
// is not a package path
29+
if(!filename.match(/^[a-zA-Z]/)){
30+
// if the file doesn't exist yet,
31+
// set to get undefined
32+
if(!fileExists(filename)){
33+
return{
34+
__get__:()=>{}
35+
};
36+
}
37+
}
38+
// proceed with rewiring
39+
returnrewireModule(module.parent,filename);
1240
}
1341

1442
module.exports=rewire;
1543

16-
deleterequire.cache[__filename];// deleting self from module cache so the parent module is always up to date
44+
deleterequire.cache[__filename];// deleting self from module cache so the parent module is always up to date

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp