@@ -21,7 +21,7 @@ export type TypedArray =
2121 | Float64Array ;
2222
2323declare global {
24- export var Module : Module ;
24+ export var Module : PyodideModule ;
2525 export var API : API ;
2626}
2727
@@ -263,7 +263,7 @@ interface PyodideFSType {
263263export type FSType = Omit < typeof FS , "lookupPath" > & PyodideFSType ;
264264
265265/** @hidden */
266- export type PreRunFunc = ( Module : Module ) => void ;
266+ export type PreRunFunc = ( Module : PyodideModule ) => void ;
267267
268268type DSO = any ;
269269
@@ -274,13 +274,8 @@ export interface LDSO {
274274 } ;
275275}
276276
277- /**
278- * TODO: consider renaming the type to ModuleType to avoid name collisions
279- * between Module and ModuleType?
280- * @hidden
281- */
282- export interface Module {
283- API : API ;
277+ /** @hidden */
278+ export interface EmscriptenModule {
284279 locateFile : ( file : string ) => string ;
285280 exited ?: { toThrow : any } ;
286281 ENV : { [ key : string ] : string } ;
@@ -298,6 +293,36 @@ export interface Module {
298293 ERRNO_CODES : { [ k : string ] : number } ;
299294 stringToNewUTF8 ( x : string ) : number ;
300295 stringToUTF8OnStack : ( str : string ) => number ;
296+ HEAP8 : Uint8Array ;
297+ HEAPU32 : Uint32Array ;
298+ getExceptionMessage ( e : number ) : [ string , string ] ;
299+ exitCode : number | undefined ;
300+ ExitStatus : { new ( exitCode : number ) : Error } ;
301+ _free : ( ptr : number ) => void ;
302+ stackSave : ( ) => number ;
303+ stackRestore : ( ptr : number ) => void ;
304+ promiseMap : {
305+ free ( id : number ) : void ;
306+ } ;
307+ _emscripten_dlopen_promise ( lib : number , flags : number ) : number ;
308+ _dlerror ( ) : number ;
309+ UTF8ToString : (
310+ ptr : number ,
311+ maxBytesToRead : number ,
312+ ignoreNul ?: boolean ,
313+ ) => string ;
314+ }
315+
316+ /** @hidden */
317+ export interface PythonModule extends EmscriptenModule {
318+ _Py_EMSCRIPTEN_SIGNAL_HANDLING : number ;
319+ Py_EmscriptenSignalBuffer : TypedArray ;
320+ _Py_Version : number ;
321+ }
322+
323+ /** @hidden */
324+ export interface PyodideModule extends PythonModule {
325+ API : API ;
301326 _compat_to_string_repr : number ;
302327 _compat_null_to_none : number ;
303328 js2python_convert : (
@@ -312,36 +337,16 @@ export interface Module {
312337 } ,
313338 ) => any ;
314339 _PropagatePythonError : typeof Error ;
315- _Py_EMSCRIPTEN_SIGNAL_HANDLING : number ;
316- Py_EmscriptenSignalBuffer : TypedArray ;
317- HEAP8 : Uint8Array ;
318- HEAPU32 : Uint32Array ;
319340 __hiwire_get ( a : number ) : any ;
320341 __hiwire_set ( a : number , b : any ) : void ;
321342 __hiwire_immortal_add ( a : any ) : void ;
322343 _jslib_init ( ) : number ;
323344 _init_pyodide_proxy ( ) : number ;
324- getExceptionMessage ( e : number ) : [ string , string ] ;
345+
325346 handle_js_error ( e : any ) : void ;
326- exitCode : number | undefined ;
327- ExitStatus : { new ( exitCode : number ) : Error } ;
328- _Py_Version : number ;
329347 _print_stdout : ( ptr : number ) => void ;
330348 _print_stderr : ( ptr : number ) => void ;
331- _free : ( ptr : number ) => void ;
332- stackSave : ( ) => number ;
333- stackRestore : ( ptr : number ) => void ;
334- promiseMap : {
335- free ( id : number ) : void ;
336- } ;
337- _emscripten_dlopen_promise ( lib : number , flags : number ) : number ;
338349 getPromise ( p : number ) : Promise < any > ;
339- _dlerror ( ) : number ;
340- UTF8ToString : (
341- ptr : number ,
342- maxBytesToRead : number ,
343- ignoreNul ?: boolean ,
344- ) => string ;
345350}
346351
347352/**
@@ -579,7 +584,7 @@ export type PackageManagerAPI = Pick<
579584 * @hidden
580585 */
581586export type PackageManagerModule = Pick <
582- Module ,
587+ PyodideModule ,
583588 | "PATH"
584589 | "LDSO"
585590 | "stringToNewUTF8"
0 commit comments