1
- const Dispatcher = require ( "./Dispatcher .js" ) ;
1
+ const Context = require ( "./Context .js" ) ;
2
2
const hzCompile = require ( "hertzscript-compiler" ) ;
3
- module . exports = function execute ( source , compile = false , spawn = false , async = null ) {
4
- if ( compile ) source = hzCompile ( source , false , false , spawn ) ;
3
+ module . exports = function execute ( source , compile = false , async = false ) {
4
+ if ( compile ) source = hzCompile ( source ) ;
5
5
source = "(hzUserLib.hookCoroutine(function* (){" + source + "}))" ;
6
6
var hzModule = new Function (
7
7
'exports' ,
@@ -11,8 +11,12 @@ module.exports = function execute(source, compile = false, spawn = false, async
11
11
'__dirname' ,
12
12
"return hzUserLib => { return " + source + "};"
13
13
) ;
14
- const hzDisp = new Dispatcher ( ) ;
15
- hzDisp . import ( hzModule ( exports , require , module , __filename , __dirname ) ) ;
16
- if ( async === null ) return hzDisp . runComplete ( ) ;
17
- return hzDisp . runAsync ( 5 , async , true ) ;
14
+ const context = new Context ( ) ;
15
+ context . import ( hzModule ( exports , require , module , __filename , __dirname ) ) ;
16
+ if ( ! async ) return context . runComplete ( true ) ;
17
+ function runAsync ( ) {
18
+ context . dispatch ( 5 , true ) ;
19
+ if ( ! context . terminated ) setTimeout ( runAsync , 5 ) ;
20
+ }
21
+ setTimeout ( runAsync , 5 ) ;
18
22
} ;
0 commit comments