This repository was archived by the owner on Aug 5, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathruntime.js
More file actions
88 lines (79 loc) · 2.94 KB
/
Copy pathruntime.js
File metadata and controls
88 lines (79 loc) · 2.94 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
"use strict";
if( typeof Rust === 'undefined' ) {
var Rust = {};
}
(function( root, factory ) {
if( typeof define === "function" && define.amd ) {
define( [], factory );
} else if( typeof module === "object" && module.exports ) {
module.exports = factory();
} else {
factory();
}
}( this, function() {
const Module = {};
let HEAP8 = null;
let HEAP16 = null;
let HEAP32 = null;
let HEAPU8 = null;
let HEAPU16 = null;
let HEAPU32 = null;
let HEAPF32 = null;
let HEAPF64 = null;
Object.defineProperty( Module, 'nodejs', { value: (typeof window === 'undefined') } );
Object.defineProperty( Module, 'exports', { value: {} } );
const __imports = {
env: {
{{{snippets}}}
"__web_on_grow": function() {
const buffer = Module.instance.exports.memory.buffer;
HEAP8 = new Int8Array( buffer );
HEAP16 = new Int16Array( buffer );
HEAP32 = new Int32Array( buffer );
HEAPU8 = new Uint8Array( buffer );
HEAPU16 = new Uint16Array( buffer );
HEAPU32 = new Uint32Array( buffer );
HEAPF32 = new Float32Array( buffer );
HEAPF64 = new Float64Array( buffer );
}
}
};
function __load( instance ) {
Object.defineProperty( Module, 'instance', { value: instance } );
Object.defineProperty( Module, 'web_malloc', { value: Module.instance.exports.__web_malloc } );
Object.defineProperty( Module, 'web_free', { value: Module.instance.exports.__web_free } );
Object.defineProperty( Module, 'web_table', { value: Module.instance.exports.__web_table } );
if( typeof module !== 'undefined' && module.exports ) {
module.exports = Module.exports;
} else {
Rust.{{{module_name}}}.exports = Module.exports;
}
__imports.env.__web_on_grow();
Module.instance.exports.__web_main();
}
if( Module.nodejs ) {
const fs = require( 'fs' );
const path = require( 'path' );
const wasm_path = path.join( __dirname, "{{{wasm_filename}}}" );
const buffer = fs.readFileSync( wasm_path );
const mod = new WebAssembly.Module( buffer );
const instance = new WebAssembly.Instance( mod, __imports );
__load( instance );
return Module.exports;
} else {
const __promise = fetch( "{{{wasm_filename}}}" )
.then( response => response.arrayBuffer() )
.then( bytes => WebAssembly.instantiate( bytes, __imports ) )
.then( results => {
__load( results.instance );
console.log( "Finished loading Rust wasm module '{{{module_name}}}'" );
return Module.exports;
})
.catch( error => {
console.log( "Error loading Rust wasm module '{{{module_name}}}':", error );
throw error;
});
Rust.{{{module_name}}} = __promise;
return __promise;
}
}));