Skip to content

Commit 8b8fde8

Browse files
committed
Put src generator into dedicated module getDefinePropertySrc()
1 parent 09dc5be commit 8b8fde8

File tree

2 files changed

+29
-18
lines changed

2 files changed

+29
-18
lines changed

lib/getDefinePropertySrc.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"use strict";
2+
3+
var __get__ = require("./__get__.js");
4+
var __set__ = require ("./__set__.js");
5+
var __with__ = require("./__with__.js");
6+
7+
var srcs = {
8+
"__get__": __get__.toString(),
9+
"__set__": __set__.toString(),
10+
"__with__": __with__.toString()
11+
};
12+
13+
function getDefinePropertySrc() {
14+
var src;
15+
16+
src = Object.keys(srcs).reduce(function forEachSrc(preValue, value) {
17+
return preValue += "Object.defineProperty(module.exports, '" +
18+
value +
19+
"', {enumerable: false, value: " +
20+
srcs[value] +
21+
"}); ";
22+
}, "");
23+
24+
return src;
25+
}
26+
27+
module.exports = getDefinePropertySrc;

lib/rewire.js

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
11
var Module = require("module"),
22
fs = require("fs"),
3-
__get__ = require("./__get__.js"),
4-
__set__ = require ("./__set__.js"),
5-
__with__ = require("./__with__.js"),
63
getImportGlobalsSrc = require("./getImportGlobalsSrc.js"),
4+
getDefinePropertySrc = require("./getDefinePropertySrc.js"),
75
detectStrictMode = require("./detectStrictMode.js"),
86
moduleEnv = require("./moduleEnv.js");
97

10-
var srcs = {
11-
"__get__": __get__.toString(),
12-
"__set__": __set__.toString(),
13-
"__with__": __with__.toString()
14-
};
15-
168
/**
179
* Does actual rewiring the module. For further documentation @see index.js
1810
*/
@@ -45,15 +37,7 @@ function internalRewire(parentModulePath, targetPath) {
4537
prelude = getImportGlobalsSrc();
4638

4739
// We append our special setter and getter.
48-
appendix = "\n";
49-
50-
Object.keys(srcs).forEach(function forEachSrc(key) {
51-
appendix += "Object.defineProperty(module.exports, '" +
52-
key +
53-
"', {enumerable: false, value: " +
54-
srcs[key] +
55-
"}); ";
56-
});
40+
appendix = "\n" + getDefinePropertySrc();
5741

5842
// Check if the module uses the strict mode.
5943
// If so we must ensure that "use strict"; stays at the beginning of the module.

0 commit comments

Comments
 (0)