-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
31 lines (27 loc) · 1.06 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var Kiduc = require('./index.js');
var base = new Kiduc({name: 'global'});
base.add('st', ['return "default dynamic";']);
base.add('startup', [{key: 'st', type: 'static', value: 'default static'}, {key: 'dy', type: 'dynamic', value: ['st']}, 'dyA', {key: 'stA'}, 'console.log([dy, st, dyA, stA].join(","), this, this.global, this.scope);']);
base.add('dyA', ['return "arguments dynamic";']);
var base2 = base.clone(true);
base2.add('st', ['return "default static 2";']);
base.run('startup', {name: 'scope'}, {
dyA: {type: 'dynamic', value: ['dyA']},
stA: {type: 'static', value: 'arguments dynamic'}
});
var next = base.next();
next.run('startup', {name: 'scope'}, {
dyA: {type: 'dynamic', value: ['dyA']},
stA: {type: 'static', value: 'arguments static'}
});
console.log(Object.keys(base));
var base = new Kiduc();
base.add('startup', ["env", "return 'boot';"]);
base.add('env', ['return process.env']);
console.time('startup');
(async function() {
await base.run('startup', null, {
env: {type: 'dynamic', value: ['env']}
});
console.timeEnd('startup');
})();