24
24
* THE SOFTWARE.
25
25
*/
26
26
27
- mp_js_init = Module . cwrap ( 'mp_js_init' , 'null' , [ 'number' ] ) ;
28
- mp_js_do_str = Module . cwrap ( 'mp_js_do_str' , 'null' , [ 'string' ] ) ;
29
- mp_js_init_repl = Module . cwrap ( 'mp_js_init_repl' , 'null' , [ 'null' ] ) ;
30
- mp_js_process_char = Module . cwrap ( 'mp_js_process_char' , 'number' , [ 'number' ] ) ;
27
+ var Module = { } ;
31
28
32
- var MP_JS_EPOCH = ( new Date ( ) ) . getTime ( ) ;
29
+ var mainProgram = function ( )
30
+ {
31
+ mp_js_init = Module . cwrap ( 'mp_js_init' , 'null' , [ 'number' ] ) ;
32
+ mp_js_do_str = Module . cwrap ( 'mp_js_do_str' , 'null' , [ 'string' ] ) ;
33
+ mp_js_init_repl = Module . cwrap ( 'mp_js_init_repl' , 'null' , [ 'null' ] ) ;
34
+ mp_js_process_char = Module . cwrap ( 'mp_js_process_char' , 'number' , [ 'number' ] ) ;
33
35
34
- if ( typeof window === 'undefined' && require . main === module ) {
35
- var fs = require ( 'fs' ) ;
36
- var stack_size = 64 * 1024 ;
37
- var contents = '' ;
38
- var repl = true ;
36
+ MP_JS_EPOCH = ( new Date ( ) ) . getTime ( ) ;
39
37
40
- for ( var i = 0 ; i < process . argv . length ; i ++ ) {
41
- if ( process . argv [ i ] === '-X' && i < process . argv . length - 1 ) {
42
- if ( process . argv [ i + 1 ] . includes ( 'stack=' ) ) {
43
- stack_size = parseInt ( process . argv [ i + 1 ] . split ( 'stack=' ) [ 1 ] ) ;
44
- if ( process . argv [ i + 1 ] . substr ( - 1 ) . toLowerCase ( ) === 'k' ) {
45
- stack_size *= 1024 ;
46
- } else if ( process . argv [ i + 1 ] . substr ( - 1 ) . toLowerCase ( ) === 'm' ) {
47
- stack_size *= 1024 * 1024 ;
48
- }
49
- }
50
- } else if ( process . argv [ i ] . includes ( '.py' ) ) {
51
- contents += fs . readFileSync ( process . argv [ i ] , 'utf8' ) ;
52
- repl = false ; ;
53
- }
54
- }
55
- mp_js_init ( stack_size ) ;
38
+ if ( typeof window === 'undefined' && require . main === module ) {
39
+ var fs = require ( 'fs' ) ;
40
+ var stack_size = 64 * 1024 ;
41
+ var contents = '' ;
42
+ var repl = true ;
56
43
57
- if ( repl ) {
58
- mp_js_init_repl ( ) ;
59
- process . stdin . setRawMode ( true ) ;
60
- process . stdin . on ( 'data' , function ( data ) {
61
- for ( var i = 0 ; i < data . length ; i ++ ) {
62
- if ( mp_js_process_char ( data [ i ] ) ) {
63
- process . exit ( )
64
- }
65
- }
66
- } ) ;
67
- } else {
68
- mp_js_do_str ( contents ) ;
69
- }
44
+ for ( var i = 0 ; i < process . argv . length ; i ++ ) {
45
+ if ( process . argv [ i ] === '-X' && i < process . argv . length - 1 ) {
46
+ if ( process . argv [ i + 1 ] . includes ( 'stack=' ) ) {
47
+ stack_size = parseInt ( process . argv [ i + 1 ] . split ( 'stack=' ) [ 1 ] ) ;
48
+ if ( process . argv [ i + 1 ] . substr ( - 1 ) . toLowerCase ( ) === 'k' ) {
49
+ stack_size *= 1024 ;
50
+ } else if ( process . argv [ i + 1 ] . substr ( - 1 ) . toLowerCase ( ) === 'm' ) {
51
+ stack_size *= 1024 * 1024 ;
52
+ }
53
+ }
54
+ } else if ( process . argv [ i ] . includes ( '.py' ) ) {
55
+ contents += fs . readFileSync ( process . argv [ i ] , 'utf8' ) ;
56
+ repl = false ; ;
57
+ }
58
+ }
59
+ mp_js_init ( stack_size ) ;
60
+
61
+ if ( repl ) {
62
+ mp_js_init_repl ( ) ;
63
+ process . stdin . setRawMode ( true ) ;
64
+ process . stdin . on ( 'data' , function ( data ) {
65
+ for ( var i = 0 ; i < data . length ; i ++ ) {
66
+ if ( mp_js_process_char ( data [ i ] ) ) {
67
+ process . exit ( )
68
+ }
69
+ }
70
+ } ) ;
71
+ } else {
72
+ mp_js_do_str ( contents ) ;
73
+ }
74
+ }
70
75
}
76
+
77
+ Module [ "onRuntimeInitialized" ] = mainProgram ;
0 commit comments