@@ -12,6 +12,7 @@ import {
12
12
Initializer ,
13
13
} from '../stores' ;
14
14
import { loadInterpreter } from '../interpreter' ;
15
+ import type { PyLoader } from './pyloader' ;
15
16
import type { PyScript } from './pyscript' ;
16
17
17
18
const DEFAULT_RUNTIME = {
@@ -69,8 +70,8 @@ mode.subscribe((value: string) => {
69
70
} ) ;
70
71
71
72
let pyodideReadyPromise ;
72
- let loader ;
73
73
74
+ let loader : PyLoader | undefined ;
74
75
globalLoader . subscribe ( value => {
75
76
loader = value ;
76
77
} ) ;
@@ -84,7 +85,7 @@ export class PyodideRuntime extends Object {
84
85
}
85
86
86
87
async initialize ( ) {
87
- loader . log ( 'Loading runtime...' ) ;
88
+ loader ? .log ( 'Loading runtime...' ) ;
88
89
pyodideReadyPromise = loadInterpreter ( this . src ) ;
89
90
const pyodide = await pyodideReadyPromise ;
90
91
const newEnv = {
@@ -96,21 +97,22 @@ export class PyodideRuntime extends Object {
96
97
pyodideLoaded . set ( pyodide ) ;
97
98
98
99
// Inject the loader into the runtime namespace
100
+ // eslint-disable-next-line
99
101
pyodide . globals . set ( 'pyscript_loader' , loader ) ;
100
102
101
- loader . log ( 'Runtime created...' ) ;
103
+ loader ? .log ( 'Runtime created...' ) ;
102
104
loadedEnvironments . update ( ( value : any ) : any => {
103
105
value [ newEnv [ 'id' ] ] = newEnv ;
104
106
} ) ;
105
107
106
108
// now we call all initializers before we actually executed all page scripts
107
- loader . log ( 'Initializing components...' ) ;
109
+ loader ? .log ( 'Initializing components...' ) ;
108
110
for ( const initializer of initializers_ ) {
109
111
await initializer ( ) ;
110
112
}
111
113
112
114
// now we can actually execute the page scripts if we are in play mode
113
- loader . log ( 'Initializing scripts...' ) ;
115
+ loader ? .log ( 'Initializing scripts...' ) ;
114
116
if ( mode_ == 'play' ) {
115
117
for ( const script of scriptsQueue_ ) {
116
118
script . evaluate ( ) ;
@@ -119,10 +121,10 @@ export class PyodideRuntime extends Object {
119
121
}
120
122
121
123
// now we call all post initializers AFTER we actually executed all page scripts
122
- loader . log ( 'Running post initializers...' ) ;
124
+ loader ? .log ( 'Running post initializers...' ) ;
123
125
124
126
if ( appConfig_ && appConfig_ . autoclose_loader ) {
125
- loader . close ( ) ;
127
+ loader ? .close ( ) ;
126
128
console . log ( '------ loader closed ------' ) ;
127
129
}
128
130
0 commit comments