@livestore/wa-sqlite 1.0.3-dev.7 → 1.0.5-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/fts5/wa-sqlite.mjs +5 -5
- package/dist/fts5/wa-sqlite.node.mjs +976 -1155
- package/dist/fts5/wa-sqlite.node.wasm +0 -0
- package/dist/fts5/wa-sqlite.wasm +0 -0
- package/dist/wa-sqlite.mjs +5 -5
- package/dist/wa-sqlite.node.mjs +974 -1153
- package/dist/wa-sqlite.node.wasm +0 -0
- package/dist/wa-sqlite.wasm +0 -0
- package/package.json +8 -8
- package/src/WebLocksMixin.js +8 -6
- package/src/examples/IDBMirrorVFS.js +16 -8
- package/src/examples/OPFSAdaptiveVFS.js +1 -1
- package/src/examples/OPFSPermutedVFS.js +3 -0
- package/src/examples/README.md +1 -1
- package/src/sqlite-api.js +7 -9
- package/src/types/index.d.ts +13 -0
- package/test/callbacks.test.js +156 -0
|
@@ -3,16 +3,17 @@ import { createRequire } from 'module';
|
|
|
3
3
|
const require = createRequire(import.meta.url);
|
|
4
4
|
|
|
5
5
|
var Module = (() => {
|
|
6
|
-
var
|
|
6
|
+
var _scriptName = import.meta.url;
|
|
7
7
|
|
|
8
8
|
return (
|
|
9
9
|
function(moduleArg = {}) {
|
|
10
|
+
var moduleRtn;
|
|
10
11
|
|
|
11
12
|
// include: shell.js
|
|
12
13
|
// The Module object: Our interface to the outside world. We import
|
|
13
14
|
// and export values on it. There are various ways Module can be used:
|
|
14
15
|
// 1. Not defined. We create it here
|
|
15
|
-
// 2. A function parameter, function(
|
|
16
|
+
// 2. A function parameter, function(moduleArg) => Promise<Module>
|
|
16
17
|
// 3. pre-run appended it, var Module = {}; ..generated code..
|
|
17
18
|
// 4. External script tag defines var Module.
|
|
18
19
|
// We need to check if Module already exists (e.g. case 3 above).
|
|
@@ -26,19 +27,35 @@ var Module = moduleArg;
|
|
|
26
27
|
|
|
27
28
|
// Set up the promise that indicates the Module is initialized
|
|
28
29
|
var readyPromiseResolve, readyPromiseReject;
|
|
29
|
-
|
|
30
|
+
var readyPromise = new Promise((resolve, reject) => {
|
|
30
31
|
readyPromiseResolve = resolve;
|
|
31
32
|
readyPromiseReject = reject;
|
|
32
33
|
});
|
|
33
|
-
["_RegisterExtensionFunctions","
|
|
34
|
-
if (!Object.getOwnPropertyDescriptor(
|
|
35
|
-
Object.defineProperty(
|
|
34
|
+
["_RegisterExtensionFunctions","_malloc","_free","_sqlite3_aggregate_context","_sqlite3_auto_extension","_sqlite3_autovacuum_pages","_sqlite3_backup_finish","_sqlite3_backup_init","_sqlite3_backup_pagecount","_sqlite3_backup_remaining","_sqlite3_backup_step","_sqlite3_bind_blob","_sqlite3_bind_blob64","_sqlite3_bind_double","_sqlite3_bind_int","_sqlite3_bind_int64","_sqlite3_bind_null","_sqlite3_bind_parameter_count","_sqlite3_bind_parameter_index","_sqlite3_bind_parameter_name","_sqlite3_bind_pointer","_sqlite3_bind_text","_sqlite3_bind_text16","_sqlite3_bind_text64","_sqlite3_bind_value","_sqlite3_bind_zeroblob","_sqlite3_bind_zeroblob64","_sqlite3_blob_bytes","_sqlite3_blob_close","_sqlite3_blob_open","_sqlite3_blob_read","_sqlite3_blob_reopen","_sqlite3_blob_write","_sqlite3_busy_handler","_sqlite3_busy_timeout","_sqlite3_cancel_auto_extension","_sqlite3_changes","_sqlite3_changes64","_sqlite3_clear_bindings","_sqlite3_close","_sqlite3_close_v2","_sqlite3_collation_needed","_sqlite3_collation_needed16","_sqlite3_column_blob","_sqlite3_column_bytes","_sqlite3_column_bytes16","_sqlite3_column_count","_sqlite3_column_double","_sqlite3_column_int","_sqlite3_column_int64","_sqlite3_column_name","_sqlite3_column_name16","_sqlite3_column_text","_sqlite3_column_text16","_sqlite3_column_type","_sqlite3_column_value","_sqlite3_commit_hook","_sqlite3_compileoption_get","_sqlite3_compileoption_used","_sqlite3_complete","_sqlite3_complete16","_sqlite3_config","_sqlite3_context_db_handle","_sqlite3_create_collation","_sqlite3_create_collation16","_sqlite3_create_collation_v2","_sqlite3_create_filename","_sqlite3_create_function","_sqlite3_create_function16","_sqlite3_create_function_v2","_sqlite3_create_module","_sqlite3_create_module_v2","_sqlite3_create_window_function","_sqlite3_data_count","_sqlite3_database_file_object","_sqlite3_db_cacheflush","_sqlite3_db_config","_sqlite3_db_filename","_sqlite3_db_handle","_sqlite3_db_mutex","_sqlite3_db_name","_sqlite3_db_readonly","_sqlite3_db_release_memory","_sqlite3_db_status","_sqlite3_declare_vtab","_sqlite3_deserialize","_sqlite3_drop_modules","_sqlite3_errcode","_sqlite3_errmsg","_sqlite3_errmsg16","_sqlite3_error_offset","_sqlite3_errstr","_sqlite3_exec","_sqlite3_expanded_sql","_sqlite3_extended_errcode","_sqlite3_extended_result_codes","_sqlite3_file_control","_sqlite3_filename_database","_sqlite3_filename_journal","_sqlite3_filename_wal","_sqlite3_finalize","_sqlite3_free","_sqlite3_free_filename","_sqlite3_free_table","_sqlite3_get_autocommit","_sqlite3_get_auxdata","_sqlite3_get_clientdata","_sqlite3_get_table","_sqlite3_hard_heap_limit64","_sqlite3_initialize","_sqlite3_interrupt","_sqlite3_is_interrupted","_sqlite3_keyword_check","_sqlite3_keyword_count","_sqlite3_keyword_name","_sqlite3_last_insert_rowid","_sqlite3_libversion","_sqlite3_libversion_number","_sqlite3_limit","_sqlite3_log","_sqlite3_malloc","_sqlite3_malloc64","_sqlite3_memory_highwater","_sqlite3_memory_used","_sqlite3_mprintf","_sqlite3_msize","_sqlite3_next_stmt","_sqlite3_open","_sqlite3_open16","_sqlite3_open_v2","_sqlite3_os_end","_sqlite3_os_init","_sqlite3_overload_function","_sqlite3_prepare","_sqlite3_prepare16","_sqlite3_prepare16_v2","_sqlite3_prepare16_v3","_sqlite3_prepare_v2","_sqlite3_prepare_v3","_sqlite3_progress_handler","_sqlite3_randomness","_sqlite3_realloc","_sqlite3_realloc64","_sqlite3_release_memory","_sqlite3_reset","_sqlite3_reset_auto_extension","_sqlite3_result_blob","_sqlite3_result_blob64","_sqlite3_result_double","_sqlite3_result_error","_sqlite3_result_error16","_sqlite3_result_error_code","_sqlite3_result_error_nomem","_sqlite3_result_error_toobig","_sqlite3_result_int","_sqlite3_result_int64","_sqlite3_result_null","_sqlite3_result_pointer","_sqlite3_result_subtype","_sqlite3_result_text","_sqlite3_result_text16","_sqlite3_result_text16be","_sqlite3_result_text16le","_sqlite3_result_text64","_sqlite3_result_value","_sqlite3_result_zeroblob","_sqlite3_result_zeroblob64","_sqlite3_rollback_hook","_sqlite3_serialize","_sqlite3_set_authorizer","_sqlite3_set_auxdata","_sqlite3_set_clientdata","_sqlite3_set_last_insert_rowid","_sqlite3_shutdown","_sqlite3_sleep","_sqlite3_snprintf","_sqlite3_soft_heap_limit64","_sqlite3_sourceid","_sqlite3_sql","_sqlite3_status","_sqlite3_status64","_sqlite3_step","_sqlite3_stmt_busy","_sqlite3_stmt_explain","_sqlite3_stmt_isexplain","_sqlite3_stmt_readonly","_sqlite3_stmt_status","_sqlite3_str_append","_sqlite3_str_appendall","_sqlite3_str_appendchar","_sqlite3_str_appendf","_sqlite3_str_errcode","_sqlite3_str_finish","_sqlite3_str_length","_sqlite3_str_new","_sqlite3_str_reset","_sqlite3_str_value","_sqlite3_str_vappendf","_sqlite3_strglob","_sqlite3_stricmp","_sqlite3_strlike","_sqlite3_strnicmp","_sqlite3_system_errno","_sqlite3_table_column_metadata","_sqlite3_test_control","_sqlite3_threadsafe","_sqlite3_total_changes","_sqlite3_total_changes64","_sqlite3_trace_v2","_sqlite3_txn_state","_sqlite3_update_hook","_sqlite3changeset_start","_sqlite3changeset_finalize","_sqlite3session_create","_sqlite3session_attach","_sqlite3session_enable","_sqlite3session_changeset","_sqlite3session_delete","_sqlite3changeset_invert","_sqlite3changeset_apply","_sqlite3_uri_boolean","_sqlite3_uri_int64","_sqlite3_uri_key","_sqlite3_uri_parameter","_sqlite3_user_data","_sqlite3_value_blob","_sqlite3_value_bytes","_sqlite3_value_bytes16","_sqlite3_value_double","_sqlite3_value_dup","_sqlite3_value_encoding","_sqlite3_value_free","_sqlite3_value_frombind","_sqlite3_value_int","_sqlite3_value_int64","_sqlite3_value_nochange","_sqlite3_value_numeric_type","_sqlite3_value_pointer","_sqlite3_value_subtype","_sqlite3_value_text","_sqlite3_value_text16","_sqlite3_value_text16be","_sqlite3_value_text16le","_sqlite3_value_type","_sqlite3_version","_sqlite3_vfs_find","_sqlite3_vfs_register","_sqlite3_vfs_unregister","_sqlite3_vmprintf","_sqlite3_vsnprintf","_sqlite3_vtab_collation","_sqlite3_vtab_config","_sqlite3_vtab_distinct","_sqlite3_vtab_in","_sqlite3_vtab_in_first","_sqlite3_vtab_in_next","_sqlite3_vtab_nochange","_sqlite3_vtab_on_conflict","_sqlite3_vtab_rhs_value","_sqlite3_wal_autocheckpoint","_sqlite3_wal_checkpoint","_sqlite3_wal_checkpoint_v2","_sqlite3_wal_hook","_memory","_getSqliteFree","_libauthorizer_set_authorizer","_libfunction_create_function","_libhook_commit_hook","_libhook_update_hook","_libprogress_progress_handler","_libvfs_vfs_register","___indirect_function_table","_main","onRuntimeInitialized"].forEach((prop) => {
|
|
35
|
+
if (!Object.getOwnPropertyDescriptor(readyPromise, prop)) {
|
|
36
|
+
Object.defineProperty(readyPromise, prop, {
|
|
36
37
|
get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
|
|
37
38
|
set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'),
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
});
|
|
41
42
|
|
|
43
|
+
// Determine the runtime environment we are in. You can customize this by
|
|
44
|
+
// setting the ENVIRONMENT setting at compile time (see settings.js).
|
|
45
|
+
|
|
46
|
+
var ENVIRONMENT_IS_WEB = false;
|
|
47
|
+
var ENVIRONMENT_IS_WORKER = false;
|
|
48
|
+
var ENVIRONMENT_IS_NODE = true;
|
|
49
|
+
var ENVIRONMENT_IS_SHELL = false;
|
|
50
|
+
|
|
51
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
52
|
+
// `require()` is no-op in an ESM module, use `createRequire()` to construct
|
|
53
|
+
// the require()` function. This is only necessary for multi-environment
|
|
54
|
+
// builds, `-sENVIRONMENT=node` emits a static import declaration instead.
|
|
55
|
+
// TODO: Swap all `require()`'s with `import()`'s?
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
42
59
|
// --pre-jses are emitted after the Module integration code, so that they can
|
|
43
60
|
// refer to Module (if they choose; they can also define Module)
|
|
44
61
|
|
|
@@ -56,18 +73,6 @@ var quit_ = (status, toThrow) => {
|
|
|
56
73
|
throw toThrow;
|
|
57
74
|
};
|
|
58
75
|
|
|
59
|
-
// Determine the runtime environment we are in. You can customize this by
|
|
60
|
-
// setting the ENVIRONMENT setting at compile time (see settings.js).
|
|
61
|
-
|
|
62
|
-
var ENVIRONMENT_IS_WEB = false;
|
|
63
|
-
var ENVIRONMENT_IS_WORKER = false;
|
|
64
|
-
var ENVIRONMENT_IS_NODE = true;
|
|
65
|
-
var ENVIRONMENT_IS_SHELL = false;
|
|
66
|
-
|
|
67
|
-
if (Module['ENVIRONMENT']) {
|
|
68
|
-
throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)');
|
|
69
|
-
}
|
|
70
|
-
|
|
71
76
|
// `/` should be present at the end if `scriptDirectory` is not empty
|
|
72
77
|
var scriptDirectory = '';
|
|
73
78
|
function locateFile(path) {
|
|
@@ -78,9 +83,7 @@ function locateFile(path) {
|
|
|
78
83
|
}
|
|
79
84
|
|
|
80
85
|
// Hooks that are implemented differently in different runtime environments.
|
|
81
|
-
var
|
|
82
|
-
readAsync,
|
|
83
|
-
readBinary;
|
|
86
|
+
var readAsync, readBinary;
|
|
84
87
|
|
|
85
88
|
if (ENVIRONMENT_IS_NODE) {
|
|
86
89
|
if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)');
|
|
@@ -93,47 +96,36 @@ if (ENVIRONMENT_IS_NODE) {
|
|
|
93
96
|
throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')');
|
|
94
97
|
}
|
|
95
98
|
|
|
96
|
-
// `require()` is no-op in an ESM module, use `createRequire()` to construct
|
|
97
|
-
// the require()` function. This is only necessary for multi-environment
|
|
98
|
-
// builds, `-sENVIRONMENT=node` emits a static import declaration instead.
|
|
99
|
-
// TODO: Swap all `require()`'s with `import()`'s?
|
|
100
99
|
// These modules will usually be used on Node.js. Load them eagerly to avoid
|
|
101
100
|
// the complexity of lazy-loading.
|
|
102
101
|
var fs = require('fs');
|
|
103
102
|
var nodePath = require('path');
|
|
104
103
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// support for that is not available.
|
|
111
|
-
scriptDirectory = require('url').fileURLToPath(new URL('./', import.meta.url)); // includes trailing slash
|
|
104
|
+
// EXPORT_ES6 + ENVIRONMENT_IS_NODE always requires use of import.meta.url,
|
|
105
|
+
// since there's no way getting the current absolute path of the module when
|
|
106
|
+
// support for that is not available.
|
|
107
|
+
if (!import.meta.url.startsWith('data:')) {
|
|
108
|
+
scriptDirectory = nodePath.dirname(require('url').fileURLToPath(import.meta.url)) + '/';
|
|
112
109
|
}
|
|
113
110
|
|
|
114
111
|
// include: node_shell_read.js
|
|
115
|
-
|
|
112
|
+
readBinary = (filename) => {
|
|
116
113
|
// We need to re-wrap `file://` strings to URLs. Normalizing isn't
|
|
117
114
|
// necessary in that case, the path should already be absolute.
|
|
118
115
|
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
|
|
119
|
-
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
readBinary = (filename) => {
|
|
123
|
-
var ret = read_(filename, true);
|
|
124
|
-
if (!ret.buffer) {
|
|
125
|
-
ret = new Uint8Array(ret);
|
|
126
|
-
}
|
|
116
|
+
var ret = fs.readFileSync(filename);
|
|
127
117
|
assert(ret.buffer);
|
|
128
118
|
return ret;
|
|
129
119
|
};
|
|
130
120
|
|
|
131
|
-
readAsync = (filename,
|
|
132
|
-
// See the comment in the `
|
|
121
|
+
readAsync = (filename, binary = true) => {
|
|
122
|
+
// See the comment in the `readBinary` function.
|
|
133
123
|
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
124
|
+
return new Promise((resolve, reject) => {
|
|
125
|
+
fs.readFile(filename, binary ? undefined : 'utf8', (err, data) => {
|
|
126
|
+
if (err) reject(err);
|
|
127
|
+
else resolve(binary ? data.buffer : data);
|
|
128
|
+
});
|
|
137
129
|
});
|
|
138
130
|
};
|
|
139
131
|
// end include: node_shell_read.js
|
|
@@ -150,76 +142,10 @@ readAsync = (filename, onload, onerror, binary = true) => {
|
|
|
150
142
|
throw toThrow;
|
|
151
143
|
};
|
|
152
144
|
|
|
153
|
-
Module['inspect'] = () => '[Emscripten Module object]';
|
|
154
|
-
|
|
155
145
|
} else
|
|
156
146
|
if (ENVIRONMENT_IS_SHELL) {
|
|
157
147
|
|
|
158
|
-
if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof
|
|
159
|
-
|
|
160
|
-
if (typeof read != 'undefined') {
|
|
161
|
-
read_ = read;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
readBinary = (f) => {
|
|
165
|
-
if (typeof readbuffer == 'function') {
|
|
166
|
-
return new Uint8Array(readbuffer(f));
|
|
167
|
-
}
|
|
168
|
-
let data = read(f, 'binary');
|
|
169
|
-
assert(typeof data == 'object');
|
|
170
|
-
return data;
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
readAsync = (f, onload, onerror) => {
|
|
174
|
-
setTimeout(() => onload(readBinary(f)));
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
if (typeof clearTimeout == 'undefined') {
|
|
178
|
-
globalThis.clearTimeout = (id) => {};
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
if (typeof setTimeout == 'undefined') {
|
|
182
|
-
// spidermonkey lacks setTimeout but we use it above in readAsync.
|
|
183
|
-
globalThis.setTimeout = (f) => (typeof f == 'function') ? f() : abort();
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
if (typeof scriptArgs != 'undefined') {
|
|
187
|
-
arguments_ = scriptArgs;
|
|
188
|
-
} else if (typeof arguments != 'undefined') {
|
|
189
|
-
arguments_ = arguments;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (typeof quit == 'function') {
|
|
193
|
-
quit_ = (status, toThrow) => {
|
|
194
|
-
// Unlike node which has process.exitCode, d8 has no such mechanism. So we
|
|
195
|
-
// have no way to set the exit code and then let the program exit with
|
|
196
|
-
// that code when it naturally stops running (say, when all setTimeouts
|
|
197
|
-
// have completed). For that reason, we must call `quit` - the only way to
|
|
198
|
-
// set the exit code - but quit also halts immediately. To increase
|
|
199
|
-
// consistency with node (and the web) we schedule the actual quit call
|
|
200
|
-
// using a setTimeout to give the current stack and any exception handlers
|
|
201
|
-
// a chance to run. This enables features such as addOnPostRun (which
|
|
202
|
-
// expected to be able to run code after main returns).
|
|
203
|
-
setTimeout(() => {
|
|
204
|
-
if (!(toThrow instanceof ExitStatus)) {
|
|
205
|
-
let toLog = toThrow;
|
|
206
|
-
if (toThrow && typeof toThrow == 'object' && toThrow.stack) {
|
|
207
|
-
toLog = [toThrow, toThrow.stack];
|
|
208
|
-
}
|
|
209
|
-
err(`exiting due to exception: ${toLog}`);
|
|
210
|
-
}
|
|
211
|
-
quit(status);
|
|
212
|
-
});
|
|
213
|
-
throw toThrow;
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
if (typeof print != 'undefined') {
|
|
218
|
-
// Prefer to use print/printErr where they exist, as they usually work better.
|
|
219
|
-
if (typeof console == 'undefined') console = /** @type{!Console} */({});
|
|
220
|
-
console.log = /** @type{!function(this:Console, ...*): undefined} */ (print);
|
|
221
|
-
console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print);
|
|
222
|
-
}
|
|
148
|
+
if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)');
|
|
223
149
|
|
|
224
150
|
} else
|
|
225
151
|
|
|
@@ -236,7 +162,7 @@ var err = Module['printErr'] || console.error.bind(console);
|
|
|
236
162
|
// Merge back in the overrides
|
|
237
163
|
Object.assign(Module, moduleOverrides);
|
|
238
164
|
// Free the object hierarchy contained in the overrides, this lets the GC
|
|
239
|
-
// reclaim data used
|
|
165
|
+
// reclaim data used.
|
|
240
166
|
moduleOverrides = null;
|
|
241
167
|
checkIncomingModuleAPI();
|
|
242
168
|
|
|
@@ -249,21 +175,18 @@ if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('argu
|
|
|
249
175
|
|
|
250
176
|
if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram');
|
|
251
177
|
|
|
252
|
-
if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_');
|
|
253
|
-
|
|
254
178
|
// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
|
|
255
179
|
// Assertions on removed incoming Module JS APIs.
|
|
256
180
|
assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
|
|
257
181
|
assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
|
|
258
182
|
assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
|
|
259
183
|
assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
|
|
260
|
-
assert(typeof Module['read'] == 'undefined', 'Module.read option was removed
|
|
184
|
+
assert(typeof Module['read'] == 'undefined', 'Module.read option was removed');
|
|
261
185
|
assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)');
|
|
262
186
|
assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)');
|
|
263
187
|
assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)');
|
|
264
188
|
assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY');
|
|
265
189
|
legacyModuleProp('asm', 'wasmExports');
|
|
266
|
-
legacyModuleProp('read', 'read_');
|
|
267
190
|
legacyModuleProp('readAsync', 'readAsync');
|
|
268
191
|
legacyModuleProp('readBinary', 'readBinary');
|
|
269
192
|
legacyModuleProp('setWindowTitle', 'setWindowTitle');
|
|
@@ -277,14 +200,14 @@ var OPFS = 'OPFS is no longer included by default; build with -lopfs.js';
|
|
|
277
200
|
|
|
278
201
|
var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js';
|
|
279
202
|
|
|
280
|
-
assert(!ENVIRONMENT_IS_WEB,
|
|
281
|
-
|
|
282
|
-
assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable.");
|
|
203
|
+
assert(!ENVIRONMENT_IS_WEB, 'web environment detected but not enabled at build time. Add `web` to `-sENVIRONMENT` to enable.');
|
|
283
204
|
|
|
284
|
-
assert(!
|
|
205
|
+
assert(!ENVIRONMENT_IS_WORKER, 'worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable.');
|
|
285
206
|
|
|
207
|
+
assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.');
|
|
286
208
|
|
|
287
209
|
// end include: shell.js
|
|
210
|
+
|
|
288
211
|
// include: preamble.js
|
|
289
212
|
// === Preamble library stuff ===
|
|
290
213
|
|
|
@@ -296,11 +219,10 @@ assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at bui
|
|
|
296
219
|
// An online HTML version (which may be of a different version of Emscripten)
|
|
297
220
|
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
|
|
298
221
|
|
|
299
|
-
var wasmBinary;
|
|
300
|
-
if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary');
|
|
222
|
+
var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary');
|
|
301
223
|
|
|
302
224
|
if (typeof WebAssembly != 'object') {
|
|
303
|
-
|
|
225
|
+
err('no native wasm support detected');
|
|
304
226
|
}
|
|
305
227
|
|
|
306
228
|
// Wasm globals
|
|
@@ -354,6 +276,7 @@ var HEAP,
|
|
|
354
276
|
/** @type {!Float64Array} */
|
|
355
277
|
HEAPF64;
|
|
356
278
|
|
|
279
|
+
// include: runtime_shared.js
|
|
357
280
|
function updateMemoryViews() {
|
|
358
281
|
var b = wasmMemory.buffer;
|
|
359
282
|
Module['HEAP8'] = HEAP8 = new Int8Array(b);
|
|
@@ -366,6 +289,7 @@ function updateMemoryViews() {
|
|
|
366
289
|
Module['HEAPF64'] = HEAPF64 = new Float64Array(b);
|
|
367
290
|
}
|
|
368
291
|
|
|
292
|
+
// end include: runtime_shared.js
|
|
369
293
|
assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time')
|
|
370
294
|
|
|
371
295
|
assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined,
|
|
@@ -413,16 +337,6 @@ function checkStackCookie() {
|
|
|
413
337
|
}
|
|
414
338
|
}
|
|
415
339
|
// end include: runtime_stack_check.js
|
|
416
|
-
// include: runtime_assertions.js
|
|
417
|
-
// Endianness check
|
|
418
|
-
(function() {
|
|
419
|
-
var h16 = new Int16Array(1);
|
|
420
|
-
var h8 = new Int8Array(h16.buffer);
|
|
421
|
-
h16[0] = 0x6373;
|
|
422
|
-
if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)';
|
|
423
|
-
})();
|
|
424
|
-
|
|
425
|
-
// end include: runtime_assertions.js
|
|
426
340
|
var __ATPRERUN__ = []; // functions called before the runtime is initialized
|
|
427
341
|
var __ATINIT__ = []; // functions called during startup
|
|
428
342
|
var __ATMAIN__ = []; // functions called when main() is to be run
|
|
@@ -448,7 +362,7 @@ function initRuntime() {
|
|
|
448
362
|
checkStackCookie();
|
|
449
363
|
|
|
450
364
|
|
|
451
|
-
if (!Module[
|
|
365
|
+
if (!Module['noFSInit'] && !FS.initialized)
|
|
452
366
|
FS.init();
|
|
453
367
|
FS.ignorePermissions = false;
|
|
454
368
|
|
|
@@ -596,7 +510,6 @@ function abort(what) {
|
|
|
596
510
|
err(what);
|
|
597
511
|
|
|
598
512
|
ABORT = true;
|
|
599
|
-
EXITSTATUS = 1;
|
|
600
513
|
|
|
601
514
|
// Use a wasm runtime error, because a JS error might be seen as a foreign
|
|
602
515
|
// exception, which means we'd run destructors on it. We need the error to
|
|
@@ -608,7 +521,7 @@ function abort(what) {
|
|
|
608
521
|
// allows this in the wasm spec.
|
|
609
522
|
|
|
610
523
|
// Suppress closure compiler warning here. Closure compiler's builtin extern
|
|
611
|
-
//
|
|
524
|
+
// definition for WebAssembly.RuntimeError claims it takes no arguments even
|
|
612
525
|
// though it can.
|
|
613
526
|
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
|
|
614
527
|
/** @suppress {checkTypes} */
|
|
@@ -639,28 +552,33 @@ var isDataURI = (filename) => filename.startsWith(dataURIPrefix);
|
|
|
639
552
|
*/
|
|
640
553
|
var isFileURI = (filename) => filename.startsWith('file://');
|
|
641
554
|
// end include: URIUtils.js
|
|
642
|
-
function createExportWrapper(name) {
|
|
643
|
-
return
|
|
555
|
+
function createExportWrapper(name, nargs) {
|
|
556
|
+
return (...args) => {
|
|
644
557
|
assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`);
|
|
645
558
|
var f = wasmExports[name];
|
|
646
559
|
assert(f, `exported native function \`${name}\` not found`);
|
|
647
|
-
|
|
560
|
+
// Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled.
|
|
561
|
+
assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`);
|
|
562
|
+
return f(...args);
|
|
648
563
|
};
|
|
649
564
|
}
|
|
650
565
|
|
|
651
566
|
// include: runtime_exceptions.js
|
|
652
567
|
// end include: runtime_exceptions.js
|
|
653
|
-
|
|
654
|
-
if (Module['locateFile']) {
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
568
|
+
function findWasmBinary() {
|
|
569
|
+
if (Module['locateFile']) {
|
|
570
|
+
var f = 'wa-sqlite.node.wasm';
|
|
571
|
+
if (!isDataURI(f)) {
|
|
572
|
+
return locateFile(f);
|
|
573
|
+
}
|
|
574
|
+
return f;
|
|
658
575
|
}
|
|
659
|
-
} else {
|
|
660
576
|
// Use bundler-friendly `new URL(..., import.meta.url)` pattern; works in browsers too.
|
|
661
|
-
|
|
577
|
+
return new URL('wa-sqlite.node.wasm', import.meta.url).href;
|
|
662
578
|
}
|
|
663
579
|
|
|
580
|
+
var wasmBinaryFile;
|
|
581
|
+
|
|
664
582
|
function getBinarySync(file) {
|
|
665
583
|
if (file == wasmBinaryFile && wasmBinary) {
|
|
666
584
|
return new Uint8Array(wasmBinary);
|
|
@@ -668,26 +586,19 @@ function getBinarySync(file) {
|
|
|
668
586
|
if (readBinary) {
|
|
669
587
|
return readBinary(file);
|
|
670
588
|
}
|
|
671
|
-
throw
|
|
589
|
+
throw 'both async and sync fetching of the wasm failed';
|
|
672
590
|
}
|
|
673
591
|
|
|
674
592
|
function getBinaryPromise(binaryFile) {
|
|
675
|
-
// If we don't have the binary yet,
|
|
676
|
-
// Fetch has some additional restrictions over XHR, like it can't be used on a file:// url.
|
|
677
|
-
// See https://github.com/github/fetch/pull/92#issuecomment-140665932
|
|
678
|
-
// Cordova or Electron apps are typically loaded from a file:// url.
|
|
679
|
-
// So use fetch if it is available and the url is not a file, otherwise fall back to XHR.
|
|
593
|
+
// If we don't have the binary yet, load it asynchronously using readAsync.
|
|
680
594
|
if (!wasmBinary
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
)
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
return response['arrayBuffer']();
|
|
689
|
-
}).catch(() => getBinarySync(binaryFile));
|
|
690
|
-
}
|
|
595
|
+
) {
|
|
596
|
+
// Fetch the binary using readAsync
|
|
597
|
+
return readAsync(binaryFile).then(
|
|
598
|
+
(response) => new Uint8Array(/** @type{!ArrayBuffer} */(response)),
|
|
599
|
+
// Fall back to getBinarySync if readAsync fails
|
|
600
|
+
() => getBinarySync(binaryFile)
|
|
601
|
+
);
|
|
691
602
|
}
|
|
692
603
|
|
|
693
604
|
// Otherwise, getBinarySync should be able to get it synchronously
|
|
@@ -697,8 +608,6 @@ function getBinaryPromise(binaryFile) {
|
|
|
697
608
|
function instantiateArrayBuffer(binaryFile, imports, receiver) {
|
|
698
609
|
return getBinaryPromise(binaryFile).then((binary) => {
|
|
699
610
|
return WebAssembly.instantiate(binary, imports);
|
|
700
|
-
}).then((instance) => {
|
|
701
|
-
return instance;
|
|
702
611
|
}).then(receiver, (reason) => {
|
|
703
612
|
err(`failed to asynchronously prepare wasm: ${reason}`);
|
|
704
613
|
|
|
@@ -744,14 +653,17 @@ function instantiateAsync(binary, binaryFile, imports, callback) {
|
|
|
744
653
|
return instantiateArrayBuffer(binaryFile, imports, callback);
|
|
745
654
|
}
|
|
746
655
|
|
|
747
|
-
|
|
748
|
-
// Receives the wasm imports, returns the exports.
|
|
749
|
-
function createWasm() {
|
|
656
|
+
function getWasmImports() {
|
|
750
657
|
// prepare imports
|
|
751
|
-
|
|
658
|
+
return {
|
|
752
659
|
'env': wasmImports,
|
|
753
660
|
'wasi_snapshot_preview1': wasmImports,
|
|
754
|
-
}
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
// Create the wasm instance.
|
|
665
|
+
// Receives the wasm imports, returns the exports.
|
|
666
|
+
function createWasm() {
|
|
755
667
|
// Load the wasm module and create an instance of using native support in the JS engine.
|
|
756
668
|
// handle a generated wasm instance, receiving its exports and
|
|
757
669
|
// performing other necessary setup
|
|
@@ -763,16 +675,12 @@ function createWasm() {
|
|
|
763
675
|
|
|
764
676
|
wasmMemory = wasmExports['memory'];
|
|
765
677
|
|
|
766
|
-
assert(wasmMemory,
|
|
767
|
-
// This assertion doesn't hold when emscripten is run in --post-link
|
|
768
|
-
// mode.
|
|
769
|
-
// TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode.
|
|
770
|
-
//assert(wasmMemory.buffer.byteLength === 16777216);
|
|
678
|
+
assert(wasmMemory, 'memory not found in wasm exports');
|
|
771
679
|
updateMemoryViews();
|
|
772
680
|
|
|
773
681
|
wasmTable = wasmExports['__indirect_function_table'];
|
|
774
682
|
|
|
775
|
-
assert(wasmTable,
|
|
683
|
+
assert(wasmTable, 'table not found in wasm exports');
|
|
776
684
|
|
|
777
685
|
addOnInit(wasmExports['__wasm_call_ctors']);
|
|
778
686
|
|
|
@@ -797,6 +705,8 @@ function createWasm() {
|
|
|
797
705
|
receiveInstance(result['instance']);
|
|
798
706
|
}
|
|
799
707
|
|
|
708
|
+
var info = getWasmImports();
|
|
709
|
+
|
|
800
710
|
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
|
|
801
711
|
// to manually instantiate the Wasm module themselves. This allows pages to
|
|
802
712
|
// run the instantiation parallel to any other async startup actions they are
|
|
@@ -804,7 +714,6 @@ function createWasm() {
|
|
|
804
714
|
// Also pthreads and wasm workers initialize the wasm instance through this
|
|
805
715
|
// path.
|
|
806
716
|
if (Module['instantiateWasm']) {
|
|
807
|
-
|
|
808
717
|
try {
|
|
809
718
|
return Module['instantiateWasm'](info, receiveInstance);
|
|
810
719
|
} catch(e) {
|
|
@@ -814,6 +723,8 @@ function createWasm() {
|
|
|
814
723
|
}
|
|
815
724
|
}
|
|
816
725
|
|
|
726
|
+
wasmBinaryFile ??= findWasmBinary();
|
|
727
|
+
|
|
817
728
|
// If instantiation fails, reject the module ready promise.
|
|
818
729
|
instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
|
|
819
730
|
return {}; // no exports yet; we'll fill them in later
|
|
@@ -824,12 +735,24 @@ var tempDouble;
|
|
|
824
735
|
var tempI64;
|
|
825
736
|
|
|
826
737
|
// include: runtime_debug.js
|
|
827
|
-
|
|
738
|
+
// Endianness check
|
|
739
|
+
(() => {
|
|
740
|
+
var h16 = new Int16Array(1);
|
|
741
|
+
var h8 = new Int8Array(h16.buffer);
|
|
742
|
+
h16[0] = 0x6373;
|
|
743
|
+
if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)';
|
|
744
|
+
})();
|
|
745
|
+
|
|
746
|
+
if (Module['ENVIRONMENT']) {
|
|
747
|
+
throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)');
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
function legacyModuleProp(prop, newName, incoming=true) {
|
|
828
751
|
if (!Object.getOwnPropertyDescriptor(Module, prop)) {
|
|
829
752
|
Object.defineProperty(Module, prop, {
|
|
830
753
|
configurable: true,
|
|
831
754
|
get() {
|
|
832
|
-
let extra =
|
|
755
|
+
let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : '';
|
|
833
756
|
abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra);
|
|
834
757
|
|
|
835
758
|
}
|
|
@@ -856,46 +779,52 @@ function isExportedByForceFilesystem(name) {
|
|
|
856
779
|
name === 'removeRunDependency';
|
|
857
780
|
}
|
|
858
781
|
|
|
859
|
-
|
|
860
|
-
|
|
782
|
+
/**
|
|
783
|
+
* Intercept access to a global symbol. This enables us to give informative
|
|
784
|
+
* warnings/errors when folks attempt to use symbols they did not include in
|
|
785
|
+
* their build, or no symbols that no longer exist.
|
|
786
|
+
*/
|
|
787
|
+
function hookGlobalSymbolAccess(sym, func) {
|
|
788
|
+
if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) {
|
|
861
789
|
Object.defineProperty(globalThis, sym, {
|
|
862
790
|
configurable: true,
|
|
863
791
|
get() {
|
|
864
|
-
|
|
792
|
+
func();
|
|
865
793
|
return undefined;
|
|
866
794
|
}
|
|
867
795
|
});
|
|
868
796
|
}
|
|
869
797
|
}
|
|
870
798
|
|
|
799
|
+
function missingGlobal(sym, msg) {
|
|
800
|
+
hookGlobalSymbolAccess(sym, () => {
|
|
801
|
+
warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`);
|
|
802
|
+
});
|
|
803
|
+
}
|
|
804
|
+
|
|
871
805
|
missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer');
|
|
872
806
|
missingGlobal('asm', 'Please use wasmExports instead');
|
|
873
807
|
|
|
874
808
|
function missingLibrarySymbol(sym) {
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
return undefined;
|
|
895
|
-
}
|
|
896
|
-
});
|
|
897
|
-
}
|
|
898
|
-
// Any symbol that is not included from the JS libary is also (by definition)
|
|
809
|
+
hookGlobalSymbolAccess(sym, () => {
|
|
810
|
+
// Can't `abort()` here because it would break code that does runtime
|
|
811
|
+
// checks. e.g. `if (typeof SDL === 'undefined')`.
|
|
812
|
+
var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;
|
|
813
|
+
// DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in
|
|
814
|
+
// library.js, which means $name for a JS name with no prefix, or name
|
|
815
|
+
// for a JS name like _name.
|
|
816
|
+
var librarySymbol = sym;
|
|
817
|
+
if (!librarySymbol.startsWith('_')) {
|
|
818
|
+
librarySymbol = '$' + sym;
|
|
819
|
+
}
|
|
820
|
+
msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;
|
|
821
|
+
if (isExportedByForceFilesystem(sym)) {
|
|
822
|
+
msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you';
|
|
823
|
+
}
|
|
824
|
+
warnOnce(msg);
|
|
825
|
+
});
|
|
826
|
+
|
|
827
|
+
// Any symbol that is not included from the JS library is also (by definition)
|
|
899
828
|
// not exported on the Module object.
|
|
900
829
|
unexportedRuntimeSymbol(sym);
|
|
901
830
|
}
|
|
@@ -916,21 +845,22 @@ function unexportedRuntimeSymbol(sym) {
|
|
|
916
845
|
}
|
|
917
846
|
|
|
918
847
|
// Used by XXXXX_DEBUG settings to output debug messages.
|
|
919
|
-
function dbg(
|
|
848
|
+
function dbg(...args) {
|
|
920
849
|
// TODO(sbc): Make this configurable somehow. Its not always convenient for
|
|
921
850
|
// logging to show up as warnings.
|
|
922
|
-
console.warn
|
|
851
|
+
console.warn(...args);
|
|
923
852
|
}
|
|
924
853
|
// end include: runtime_debug.js
|
|
925
854
|
// === Body ===
|
|
926
|
-
|
|
927
855
|
// end include: preamble.js
|
|
928
856
|
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
857
|
+
|
|
858
|
+
class ExitStatus {
|
|
859
|
+
name = 'ExitStatus';
|
|
860
|
+
constructor(status) {
|
|
861
|
+
this.message = `Program terminated with exit(${status})`;
|
|
862
|
+
this.status = status;
|
|
863
|
+
}
|
|
934
864
|
}
|
|
935
865
|
|
|
936
866
|
var callRuntimeCallbacks = (callbacks) => {
|
|
@@ -948,8 +878,8 @@ function dbg(text) {
|
|
|
948
878
|
function getValue(ptr, type = 'i8') {
|
|
949
879
|
if (type.endsWith('*')) type = '*';
|
|
950
880
|
switch (type) {
|
|
951
|
-
case 'i1': return HEAP8[
|
|
952
|
-
case 'i8': return HEAP8[
|
|
881
|
+
case 'i1': return HEAP8[ptr];
|
|
882
|
+
case 'i8': return HEAP8[ptr];
|
|
953
883
|
case 'i16': return HEAP16[((ptr)>>1)];
|
|
954
884
|
case 'i32': return HEAP32[((ptr)>>2)];
|
|
955
885
|
case 'i64': abort('to do getValue(i64) use WASM_BIGINT');
|
|
@@ -978,8 +908,8 @@ function dbg(text) {
|
|
|
978
908
|
function setValue(ptr, value, type = 'i8') {
|
|
979
909
|
if (type.endsWith('*')) type = '*';
|
|
980
910
|
switch (type) {
|
|
981
|
-
case 'i1': HEAP8[
|
|
982
|
-
case 'i8': HEAP8[
|
|
911
|
+
case 'i1': HEAP8[ptr] = value; break;
|
|
912
|
+
case 'i8': HEAP8[ptr] = value; break;
|
|
983
913
|
case 'i16': HEAP16[((ptr)>>1)] = value; break;
|
|
984
914
|
case 'i32': HEAP32[((ptr)>>2)] = value; break;
|
|
985
915
|
case 'i64': abort('to do setValue(i64) use WASM_BIGINT');
|
|
@@ -990,6 +920,10 @@ function dbg(text) {
|
|
|
990
920
|
}
|
|
991
921
|
}
|
|
992
922
|
|
|
923
|
+
var stackRestore = (val) => __emscripten_stack_restore(val);
|
|
924
|
+
|
|
925
|
+
var stackSave = () => _emscripten_stack_get_current();
|
|
926
|
+
|
|
993
927
|
var warnOnce = (text) => {
|
|
994
928
|
warnOnce.shown ||= {};
|
|
995
929
|
if (!warnOnce.shown[text]) {
|
|
@@ -999,25 +933,25 @@ function dbg(text) {
|
|
|
999
933
|
}
|
|
1000
934
|
};
|
|
1001
935
|
|
|
1002
|
-
var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder(
|
|
936
|
+
var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined;
|
|
1003
937
|
|
|
1004
938
|
/**
|
|
1005
939
|
* Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
|
|
1006
940
|
* array that contains uint8 values, returns a copy of that string as a
|
|
1007
941
|
* Javascript String object.
|
|
1008
942
|
* heapOrArray is either a regular array, or a JavaScript typed array view.
|
|
1009
|
-
* @param {number} idx
|
|
943
|
+
* @param {number=} idx
|
|
1010
944
|
* @param {number=} maxBytesToRead
|
|
1011
945
|
* @return {string}
|
|
1012
946
|
*/
|
|
1013
|
-
var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {
|
|
947
|
+
var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {
|
|
1014
948
|
var endIdx = idx + maxBytesToRead;
|
|
1015
949
|
var endPtr = idx;
|
|
1016
950
|
// TextDecoder needs to know the byte length in advance, it doesn't stop on
|
|
1017
951
|
// null terminator by itself. Also, use the length info to avoid running tiny
|
|
1018
952
|
// strings through TextDecoder, since .subarray() allocates garbage.
|
|
1019
953
|
// (As a tiny code save trick, compare endPtr against endIdx using a negation,
|
|
1020
|
-
// so that undefined means Infinity)
|
|
954
|
+
// so that undefined/NaN means Infinity)
|
|
1021
955
|
while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
|
|
1022
956
|
|
|
1023
957
|
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
|
|
@@ -1072,9 +1006,8 @@ function dbg(text) {
|
|
|
1072
1006
|
assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`);
|
|
1073
1007
|
return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '';
|
|
1074
1008
|
};
|
|
1075
|
-
var ___assert_fail = (condition, filename, line, func) =>
|
|
1009
|
+
var ___assert_fail = (condition, filename, line, func) =>
|
|
1076
1010
|
abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']);
|
|
1077
|
-
};
|
|
1078
1011
|
|
|
1079
1012
|
var PATH = {
|
|
1080
1013
|
isAbs:(path) => path.charAt(0) === '/',
|
|
@@ -1141,10 +1074,7 @@ function dbg(text) {
|
|
|
1141
1074
|
if (lastSlash === -1) return path;
|
|
1142
1075
|
return path.substr(lastSlash+1);
|
|
1143
1076
|
},
|
|
1144
|
-
join:
|
|
1145
|
-
var paths = Array.prototype.slice.call(arguments);
|
|
1146
|
-
return PATH.normalize(paths.join('/'));
|
|
1147
|
-
},
|
|
1077
|
+
join:(...paths) => PATH.normalize(paths.join('/')),
|
|
1148
1078
|
join2:(l, r) => PATH.normalize(l + '/' + r),
|
|
1149
1079
|
};
|
|
1150
1080
|
|
|
@@ -1174,7 +1104,7 @@ function dbg(text) {
|
|
|
1174
1104
|
}
|
|
1175
1105
|
}
|
|
1176
1106
|
// we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096
|
|
1177
|
-
abort(
|
|
1107
|
+
abort('no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };');
|
|
1178
1108
|
};
|
|
1179
1109
|
var randomFill = (view) => {
|
|
1180
1110
|
// Lazily init on the first invocation.
|
|
@@ -1184,11 +1114,11 @@ function dbg(text) {
|
|
|
1184
1114
|
|
|
1185
1115
|
|
|
1186
1116
|
var PATH_FS = {
|
|
1187
|
-
resolve:
|
|
1117
|
+
resolve:(...args) => {
|
|
1188
1118
|
var resolvedPath = '',
|
|
1189
1119
|
resolvedAbsolute = false;
|
|
1190
|
-
for (var i =
|
|
1191
|
-
var path = (i >= 0) ?
|
|
1120
|
+
for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
|
1121
|
+
var path = (i >= 0) ? args[i] : FS.cwd();
|
|
1192
1122
|
// Skip empty and invalid entries
|
|
1193
1123
|
if (typeof path != 'string') {
|
|
1194
1124
|
throw new TypeError('Arguments to path.resolve must be strings');
|
|
@@ -1336,34 +1266,20 @@ function dbg(text) {
|
|
|
1336
1266
|
var fd = process.stdin.fd;
|
|
1337
1267
|
|
|
1338
1268
|
try {
|
|
1339
|
-
bytesRead = fs.readSync(fd, buf);
|
|
1269
|
+
bytesRead = fs.readSync(fd, buf, 0, BUFSIZE);
|
|
1340
1270
|
} catch(e) {
|
|
1341
|
-
// Cross-platform differences: on Windows, reading EOF throws an
|
|
1342
|
-
//
|
|
1271
|
+
// Cross-platform differences: on Windows, reading EOF throws an
|
|
1272
|
+
// exception, but on other OSes, reading EOF returns 0. Uniformize
|
|
1273
|
+
// behavior by treating the EOF exception to return 0.
|
|
1343
1274
|
if (e.toString().includes('EOF')) bytesRead = 0;
|
|
1344
1275
|
else throw e;
|
|
1345
1276
|
}
|
|
1346
1277
|
|
|
1347
1278
|
if (bytesRead > 0) {
|
|
1348
1279
|
result = buf.slice(0, bytesRead).toString('utf-8');
|
|
1349
|
-
} else {
|
|
1350
|
-
result = null;
|
|
1351
1280
|
}
|
|
1352
1281
|
} else
|
|
1353
|
-
|
|
1354
|
-
typeof window.prompt == 'function') {
|
|
1355
|
-
// Browser.
|
|
1356
|
-
result = window.prompt('Input: '); // returns null on cancel
|
|
1357
|
-
if (result !== null) {
|
|
1358
|
-
result += '\n';
|
|
1359
|
-
}
|
|
1360
|
-
} else if (typeof readline == 'function') {
|
|
1361
|
-
// Command line.
|
|
1362
|
-
result = readline();
|
|
1363
|
-
if (result !== null) {
|
|
1364
|
-
result += '\n';
|
|
1365
|
-
}
|
|
1366
|
-
}
|
|
1282
|
+
{}
|
|
1367
1283
|
if (!result) {
|
|
1368
1284
|
return null;
|
|
1369
1285
|
}
|
|
@@ -1461,7 +1377,7 @@ function dbg(text) {
|
|
|
1461
1377
|
},
|
|
1462
1378
|
put_char(tty, val) {
|
|
1463
1379
|
if (val === null || val === 10) {
|
|
1464
|
-
out(UTF8ArrayToString(tty.output
|
|
1380
|
+
out(UTF8ArrayToString(tty.output));
|
|
1465
1381
|
tty.output = [];
|
|
1466
1382
|
} else {
|
|
1467
1383
|
if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
|
|
@@ -1469,7 +1385,7 @@ function dbg(text) {
|
|
|
1469
1385
|
},
|
|
1470
1386
|
fsync(tty) {
|
|
1471
1387
|
if (tty.output && tty.output.length > 0) {
|
|
1472
|
-
out(UTF8ArrayToString(tty.output
|
|
1388
|
+
out(UTF8ArrayToString(tty.output));
|
|
1473
1389
|
tty.output = [];
|
|
1474
1390
|
}
|
|
1475
1391
|
},
|
|
@@ -1498,7 +1414,7 @@ function dbg(text) {
|
|
|
1498
1414
|
default_tty1_ops:{
|
|
1499
1415
|
put_char(tty, val) {
|
|
1500
1416
|
if (val === null || val === 10) {
|
|
1501
|
-
err(UTF8ArrayToString(tty.output
|
|
1417
|
+
err(UTF8ArrayToString(tty.output));
|
|
1502
1418
|
tty.output = [];
|
|
1503
1419
|
} else {
|
|
1504
1420
|
if (val != 0) tty.output.push(val);
|
|
@@ -1506,7 +1422,7 @@ function dbg(text) {
|
|
|
1506
1422
|
},
|
|
1507
1423
|
fsync(tty) {
|
|
1508
1424
|
if (tty.output && tty.output.length > 0) {
|
|
1509
|
-
err(UTF8ArrayToString(tty.output
|
|
1425
|
+
err(UTF8ArrayToString(tty.output));
|
|
1510
1426
|
tty.output = [];
|
|
1511
1427
|
}
|
|
1512
1428
|
},
|
|
@@ -1516,7 +1432,6 @@ function dbg(text) {
|
|
|
1516
1432
|
|
|
1517
1433
|
var zeroMemory = (address, size) => {
|
|
1518
1434
|
HEAPU8.fill(0, address, address + size);
|
|
1519
|
-
return address;
|
|
1520
1435
|
};
|
|
1521
1436
|
|
|
1522
1437
|
var alignMemory = (size, alignment) => {
|
|
@@ -1526,13 +1441,13 @@ function dbg(text) {
|
|
|
1526
1441
|
var mmapAlloc = (size) => {
|
|
1527
1442
|
size = alignMemory(size, 65536);
|
|
1528
1443
|
var ptr = _emscripten_builtin_memalign(65536, size);
|
|
1529
|
-
if (
|
|
1530
|
-
return
|
|
1444
|
+
if (ptr) zeroMemory(ptr, size);
|
|
1445
|
+
return ptr;
|
|
1531
1446
|
};
|
|
1532
1447
|
var MEMFS = {
|
|
1533
1448
|
ops_table:null,
|
|
1534
1449
|
mount(mount) {
|
|
1535
|
-
return MEMFS.createNode(null, '/',
|
|
1450
|
+
return MEMFS.createNode(null, '/', 16895, 0);
|
|
1536
1451
|
},
|
|
1537
1452
|
createNode(parent, name, mode, dev) {
|
|
1538
1453
|
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
|
|
@@ -1687,7 +1602,7 @@ function dbg(text) {
|
|
|
1687
1602
|
}
|
|
1688
1603
|
},
|
|
1689
1604
|
lookup(parent, name) {
|
|
1690
|
-
throw FS.
|
|
1605
|
+
throw new FS.ErrnoError(44);
|
|
1691
1606
|
},
|
|
1692
1607
|
mknod(parent, name, mode, dev) {
|
|
1693
1608
|
return MEMFS.createNode(parent, name, mode, dev);
|
|
@@ -1712,7 +1627,6 @@ function dbg(text) {
|
|
|
1712
1627
|
old_node.name = new_name;
|
|
1713
1628
|
new_dir.contents[new_name] = old_node;
|
|
1714
1629
|
new_dir.timestamp = old_node.parent.timestamp;
|
|
1715
|
-
old_node.parent = new_dir;
|
|
1716
1630
|
},
|
|
1717
1631
|
unlink(parent, name) {
|
|
1718
1632
|
delete parent.contents[name];
|
|
@@ -1734,7 +1648,7 @@ function dbg(text) {
|
|
|
1734
1648
|
return entries;
|
|
1735
1649
|
},
|
|
1736
1650
|
symlink(parent, newname, oldpath) {
|
|
1737
|
-
var node = MEMFS.createNode(parent, newname,
|
|
1651
|
+
var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0);
|
|
1738
1652
|
node.link = oldpath;
|
|
1739
1653
|
return node;
|
|
1740
1654
|
},
|
|
@@ -1821,26 +1735,28 @@ function dbg(text) {
|
|
|
1821
1735
|
var allocated;
|
|
1822
1736
|
var contents = stream.node.contents;
|
|
1823
1737
|
// Only make a new copy when MAP_PRIVATE is specified.
|
|
1824
|
-
if (!(flags & 2) && contents.buffer === HEAP8.buffer) {
|
|
1738
|
+
if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) {
|
|
1825
1739
|
// We can't emulate MAP_SHARED when the file is not backed by the
|
|
1826
1740
|
// buffer we're mapping to (e.g. the HEAP buffer).
|
|
1827
1741
|
allocated = false;
|
|
1828
1742
|
ptr = contents.byteOffset;
|
|
1829
1743
|
} else {
|
|
1830
|
-
// Try to avoid unnecessary slices.
|
|
1831
|
-
if (position > 0 || position + length < contents.length) {
|
|
1832
|
-
if (contents.subarray) {
|
|
1833
|
-
contents = contents.subarray(position, position + length);
|
|
1834
|
-
} else {
|
|
1835
|
-
contents = Array.prototype.slice.call(contents, position, position + length);
|
|
1836
|
-
}
|
|
1837
|
-
}
|
|
1838
1744
|
allocated = true;
|
|
1839
1745
|
ptr = mmapAlloc(length);
|
|
1840
1746
|
if (!ptr) {
|
|
1841
1747
|
throw new FS.ErrnoError(48);
|
|
1842
1748
|
}
|
|
1843
|
-
|
|
1749
|
+
if (contents) {
|
|
1750
|
+
// Try to avoid unnecessary slices.
|
|
1751
|
+
if (position > 0 || position + length < contents.length) {
|
|
1752
|
+
if (contents.subarray) {
|
|
1753
|
+
contents = contents.subarray(position, position + length);
|
|
1754
|
+
} else {
|
|
1755
|
+
contents = Array.prototype.slice.call(contents, position, position + length);
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
HEAP8.set(contents, ptr);
|
|
1759
|
+
}
|
|
1844
1760
|
}
|
|
1845
1761
|
return { ptr, allocated };
|
|
1846
1762
|
},
|
|
@@ -1855,17 +1771,20 @@ function dbg(text) {
|
|
|
1855
1771
|
/** @param {boolean=} noRunDep */
|
|
1856
1772
|
var asyncLoad = (url, onload, onerror, noRunDep) => {
|
|
1857
1773
|
var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : '';
|
|
1858
|
-
readAsync(url
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1774
|
+
readAsync(url).then(
|
|
1775
|
+
(arrayBuffer) => {
|
|
1776
|
+
assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`);
|
|
1777
|
+
onload(new Uint8Array(arrayBuffer));
|
|
1778
|
+
if (dep) removeRunDependency(dep);
|
|
1779
|
+
},
|
|
1780
|
+
(err) => {
|
|
1781
|
+
if (onerror) {
|
|
1782
|
+
onerror();
|
|
1783
|
+
} else {
|
|
1784
|
+
throw `Loading data file "${url}" failed.`;
|
|
1785
|
+
}
|
|
1867
1786
|
}
|
|
1868
|
-
|
|
1787
|
+
);
|
|
1869
1788
|
if (dep) addRunDependency(dep);
|
|
1870
1789
|
};
|
|
1871
1790
|
|
|
@@ -1913,7 +1832,7 @@ function dbg(text) {
|
|
|
1913
1832
|
}
|
|
1914
1833
|
addRunDependency(dep);
|
|
1915
1834
|
if (typeof url == 'string') {
|
|
1916
|
-
asyncLoad(url,
|
|
1835
|
+
asyncLoad(url, processData, onerror);
|
|
1917
1836
|
} else {
|
|
1918
1837
|
processData(url);
|
|
1919
1838
|
}
|
|
@@ -1945,127 +1864,9 @@ function dbg(text) {
|
|
|
1945
1864
|
|
|
1946
1865
|
|
|
1947
1866
|
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
2:"Permission denied",
|
|
1952
|
-
3:"Address already in use",
|
|
1953
|
-
4:"Address not available",
|
|
1954
|
-
5:"Address family not supported by protocol family",
|
|
1955
|
-
6:"No more processes",
|
|
1956
|
-
7:"Socket already connected",
|
|
1957
|
-
8:"Bad file number",
|
|
1958
|
-
9:"Trying to read unreadable message",
|
|
1959
|
-
10:"Mount device busy",
|
|
1960
|
-
11:"Operation canceled",
|
|
1961
|
-
12:"No children",
|
|
1962
|
-
13:"Connection aborted",
|
|
1963
|
-
14:"Connection refused",
|
|
1964
|
-
15:"Connection reset by peer",
|
|
1965
|
-
16:"File locking deadlock error",
|
|
1966
|
-
17:"Destination address required",
|
|
1967
|
-
18:"Math arg out of domain of func",
|
|
1968
|
-
19:"Quota exceeded",
|
|
1969
|
-
20:"File exists",
|
|
1970
|
-
21:"Bad address",
|
|
1971
|
-
22:"File too large",
|
|
1972
|
-
23:"Host is unreachable",
|
|
1973
|
-
24:"Identifier removed",
|
|
1974
|
-
25:"Illegal byte sequence",
|
|
1975
|
-
26:"Connection already in progress",
|
|
1976
|
-
27:"Interrupted system call",
|
|
1977
|
-
28:"Invalid argument",
|
|
1978
|
-
29:"I/O error",
|
|
1979
|
-
30:"Socket is already connected",
|
|
1980
|
-
31:"Is a directory",
|
|
1981
|
-
32:"Too many symbolic links",
|
|
1982
|
-
33:"Too many open files",
|
|
1983
|
-
34:"Too many links",
|
|
1984
|
-
35:"Message too long",
|
|
1985
|
-
36:"Multihop attempted",
|
|
1986
|
-
37:"File or path name too long",
|
|
1987
|
-
38:"Network interface is not configured",
|
|
1988
|
-
39:"Connection reset by network",
|
|
1989
|
-
40:"Network is unreachable",
|
|
1990
|
-
41:"Too many open files in system",
|
|
1991
|
-
42:"No buffer space available",
|
|
1992
|
-
43:"No such device",
|
|
1993
|
-
44:"No such file or directory",
|
|
1994
|
-
45:"Exec format error",
|
|
1995
|
-
46:"No record locks available",
|
|
1996
|
-
47:"The link has been severed",
|
|
1997
|
-
48:"Not enough core",
|
|
1998
|
-
49:"No message of desired type",
|
|
1999
|
-
50:"Protocol not available",
|
|
2000
|
-
51:"No space left on device",
|
|
2001
|
-
52:"Function not implemented",
|
|
2002
|
-
53:"Socket is not connected",
|
|
2003
|
-
54:"Not a directory",
|
|
2004
|
-
55:"Directory not empty",
|
|
2005
|
-
56:"State not recoverable",
|
|
2006
|
-
57:"Socket operation on non-socket",
|
|
2007
|
-
59:"Not a typewriter",
|
|
2008
|
-
60:"No such device or address",
|
|
2009
|
-
61:"Value too large for defined data type",
|
|
2010
|
-
62:"Previous owner died",
|
|
2011
|
-
63:"Not super-user",
|
|
2012
|
-
64:"Broken pipe",
|
|
2013
|
-
65:"Protocol error",
|
|
2014
|
-
66:"Unknown protocol",
|
|
2015
|
-
67:"Protocol wrong type for socket",
|
|
2016
|
-
68:"Math result not representable",
|
|
2017
|
-
69:"Read only file system",
|
|
2018
|
-
70:"Illegal seek",
|
|
2019
|
-
71:"No such process",
|
|
2020
|
-
72:"Stale file handle",
|
|
2021
|
-
73:"Connection timed out",
|
|
2022
|
-
74:"Text file busy",
|
|
2023
|
-
75:"Cross-device link",
|
|
2024
|
-
100:"Device not a stream",
|
|
2025
|
-
101:"Bad font file fmt",
|
|
2026
|
-
102:"Invalid slot",
|
|
2027
|
-
103:"Invalid request code",
|
|
2028
|
-
104:"No anode",
|
|
2029
|
-
105:"Block device required",
|
|
2030
|
-
106:"Channel number out of range",
|
|
2031
|
-
107:"Level 3 halted",
|
|
2032
|
-
108:"Level 3 reset",
|
|
2033
|
-
109:"Link number out of range",
|
|
2034
|
-
110:"Protocol driver not attached",
|
|
2035
|
-
111:"No CSI structure available",
|
|
2036
|
-
112:"Level 2 halted",
|
|
2037
|
-
113:"Invalid exchange",
|
|
2038
|
-
114:"Invalid request descriptor",
|
|
2039
|
-
115:"Exchange full",
|
|
2040
|
-
116:"No data (for no delay io)",
|
|
2041
|
-
117:"Timer expired",
|
|
2042
|
-
118:"Out of streams resources",
|
|
2043
|
-
119:"Machine is not on the network",
|
|
2044
|
-
120:"Package not installed",
|
|
2045
|
-
121:"The object is remote",
|
|
2046
|
-
122:"Advertise error",
|
|
2047
|
-
123:"Srmount error",
|
|
2048
|
-
124:"Communication error on send",
|
|
2049
|
-
125:"Cross mount point (not really error)",
|
|
2050
|
-
126:"Given log. name not unique",
|
|
2051
|
-
127:"f.d. invalid for this operation",
|
|
2052
|
-
128:"Remote address changed",
|
|
2053
|
-
129:"Can access a needed shared lib",
|
|
2054
|
-
130:"Accessing a corrupted shared lib",
|
|
2055
|
-
131:".lib section in a.out corrupted",
|
|
2056
|
-
132:"Attempting to link in too many libs",
|
|
2057
|
-
133:"Attempting to exec a shared library",
|
|
2058
|
-
135:"Streams pipe error",
|
|
2059
|
-
136:"Too many users",
|
|
2060
|
-
137:"Socket type not supported",
|
|
2061
|
-
138:"Not supported",
|
|
2062
|
-
139:"Protocol family not supported",
|
|
2063
|
-
140:"Can't send after socket shutdown",
|
|
2064
|
-
141:"Too many references",
|
|
2065
|
-
142:"Host is down",
|
|
2066
|
-
148:"No medium (in tape drive)",
|
|
2067
|
-
156:"Level 2 not synchronized",
|
|
2068
|
-
};
|
|
1867
|
+
|
|
1868
|
+
|
|
1869
|
+
var strError = (errno) => UTF8ToString(_strerror(errno));
|
|
2069
1870
|
|
|
2070
1871
|
var ERRNO_CODES = {
|
|
2071
1872
|
'EPERM': 63,
|
|
@@ -2190,20 +1991,6 @@ function dbg(text) {
|
|
|
2190
1991
|
'EOWNERDEAD': 62,
|
|
2191
1992
|
'ESTRPIPE': 135,
|
|
2192
1993
|
};
|
|
2193
|
-
|
|
2194
|
-
var demangle = (func) => {
|
|
2195
|
-
warnOnce('warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling');
|
|
2196
|
-
return func;
|
|
2197
|
-
};
|
|
2198
|
-
var demangleAll = (text) => {
|
|
2199
|
-
var regex =
|
|
2200
|
-
/\b_Z[\w\d_]+/g;
|
|
2201
|
-
return text.replace(regex,
|
|
2202
|
-
function(x) {
|
|
2203
|
-
var y = demangle(x);
|
|
2204
|
-
return x === y ? x : (y + ' [' + x + ']');
|
|
2205
|
-
});
|
|
2206
|
-
};
|
|
2207
1994
|
var FS = {
|
|
2208
1995
|
root:null,
|
|
2209
1996
|
mounts:[],
|
|
@@ -2215,11 +2002,95 @@ function dbg(text) {
|
|
|
2215
2002
|
currentPath:"/",
|
|
2216
2003
|
initialized:false,
|
|
2217
2004
|
ignorePermissions:true,
|
|
2218
|
-
ErrnoError:
|
|
2219
|
-
|
|
2220
|
-
|
|
2005
|
+
ErrnoError:class extends Error {
|
|
2006
|
+
name = 'ErrnoError';
|
|
2007
|
+
// We set the `name` property to be able to identify `FS.ErrnoError`
|
|
2008
|
+
// - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway.
|
|
2009
|
+
// - when using PROXYFS, an error can come from an underlying FS
|
|
2010
|
+
// as different FS objects have their own FS.ErrnoError each,
|
|
2011
|
+
// the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs.
|
|
2012
|
+
// we'll use the reliable test `err.name == "ErrnoError"` instead
|
|
2013
|
+
constructor(errno) {
|
|
2014
|
+
super(runtimeInitialized ? strError(errno) : '');
|
|
2015
|
+
this.errno = errno;
|
|
2016
|
+
for (var key in ERRNO_CODES) {
|
|
2017
|
+
if (ERRNO_CODES[key] === errno) {
|
|
2018
|
+
this.code = key;
|
|
2019
|
+
break;
|
|
2020
|
+
}
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
},
|
|
2221
2024
|
filesystems:null,
|
|
2222
2025
|
syncFSRequests:0,
|
|
2026
|
+
readFiles:{
|
|
2027
|
+
},
|
|
2028
|
+
FSStream:class {
|
|
2029
|
+
shared = {};
|
|
2030
|
+
get object() {
|
|
2031
|
+
return this.node;
|
|
2032
|
+
}
|
|
2033
|
+
set object(val) {
|
|
2034
|
+
this.node = val;
|
|
2035
|
+
}
|
|
2036
|
+
get isRead() {
|
|
2037
|
+
return (this.flags & 2097155) !== 1;
|
|
2038
|
+
}
|
|
2039
|
+
get isWrite() {
|
|
2040
|
+
return (this.flags & 2097155) !== 0;
|
|
2041
|
+
}
|
|
2042
|
+
get isAppend() {
|
|
2043
|
+
return (this.flags & 1024);
|
|
2044
|
+
}
|
|
2045
|
+
get flags() {
|
|
2046
|
+
return this.shared.flags;
|
|
2047
|
+
}
|
|
2048
|
+
set flags(val) {
|
|
2049
|
+
this.shared.flags = val;
|
|
2050
|
+
}
|
|
2051
|
+
get position() {
|
|
2052
|
+
return this.shared.position;
|
|
2053
|
+
}
|
|
2054
|
+
set position(val) {
|
|
2055
|
+
this.shared.position = val;
|
|
2056
|
+
}
|
|
2057
|
+
},
|
|
2058
|
+
FSNode:class {
|
|
2059
|
+
node_ops = {};
|
|
2060
|
+
stream_ops = {};
|
|
2061
|
+
readMode = 292 | 73;
|
|
2062
|
+
writeMode = 146;
|
|
2063
|
+
mounted = null;
|
|
2064
|
+
constructor(parent, name, mode, rdev) {
|
|
2065
|
+
if (!parent) {
|
|
2066
|
+
parent = this; // root node sets parent to itself
|
|
2067
|
+
}
|
|
2068
|
+
this.parent = parent;
|
|
2069
|
+
this.mount = parent.mount;
|
|
2070
|
+
this.id = FS.nextInode++;
|
|
2071
|
+
this.name = name;
|
|
2072
|
+
this.mode = mode;
|
|
2073
|
+
this.rdev = rdev;
|
|
2074
|
+
}
|
|
2075
|
+
get read() {
|
|
2076
|
+
return (this.mode & this.readMode) === this.readMode;
|
|
2077
|
+
}
|
|
2078
|
+
set read(val) {
|
|
2079
|
+
val ? this.mode |= this.readMode : this.mode &= ~this.readMode;
|
|
2080
|
+
}
|
|
2081
|
+
get write() {
|
|
2082
|
+
return (this.mode & this.writeMode) === this.writeMode;
|
|
2083
|
+
}
|
|
2084
|
+
set write(val) {
|
|
2085
|
+
val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode;
|
|
2086
|
+
}
|
|
2087
|
+
get isFolder() {
|
|
2088
|
+
return FS.isDir(this.mode);
|
|
2089
|
+
}
|
|
2090
|
+
get isDevice() {
|
|
2091
|
+
return FS.isChrdev(this.mode);
|
|
2092
|
+
}
|
|
2093
|
+
},
|
|
2223
2094
|
lookupPath(path, opts = {}) {
|
|
2224
2095
|
path = PATH_FS.resolve(path);
|
|
2225
2096
|
|
|
@@ -2322,7 +2193,7 @@ function dbg(text) {
|
|
|
2322
2193
|
lookupNode(parent, name) {
|
|
2323
2194
|
var errCode = FS.mayLookup(parent);
|
|
2324
2195
|
if (errCode) {
|
|
2325
|
-
throw new FS.ErrnoError(errCode
|
|
2196
|
+
throw new FS.ErrnoError(errCode);
|
|
2326
2197
|
}
|
|
2327
2198
|
var hash = FS.hashName(parent.id, name);
|
|
2328
2199
|
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
|
|
@@ -2394,14 +2265,16 @@ function dbg(text) {
|
|
|
2394
2265
|
return 0;
|
|
2395
2266
|
},
|
|
2396
2267
|
mayLookup(dir) {
|
|
2268
|
+
if (!FS.isDir(dir.mode)) return 54;
|
|
2397
2269
|
var errCode = FS.nodePermissions(dir, 'x');
|
|
2398
2270
|
if (errCode) return errCode;
|
|
2399
2271
|
if (!dir.node_ops.lookup) return 2;
|
|
2400
2272
|
return 0;
|
|
2401
2273
|
},
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2274
|
+
mayCreate(dir, name) {
|
|
2275
|
+
var node
|
|
2276
|
+
try {
|
|
2277
|
+
node = FS.lookupNode(dir, name);
|
|
2405
2278
|
return 20;
|
|
2406
2279
|
} catch (e) {
|
|
2407
2280
|
}
|
|
@@ -2464,44 +2337,8 @@ function dbg(text) {
|
|
|
2464
2337
|
},
|
|
2465
2338
|
getStream:(fd) => FS.streams[fd],
|
|
2466
2339
|
createStream(stream, fd = -1) {
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
this.shared = { };
|
|
2470
|
-
};
|
|
2471
|
-
FS.FSStream.prototype = {};
|
|
2472
|
-
Object.defineProperties(FS.FSStream.prototype, {
|
|
2473
|
-
object: {
|
|
2474
|
-
/** @this {FS.FSStream} */
|
|
2475
|
-
get() { return this.node; },
|
|
2476
|
-
/** @this {FS.FSStream} */
|
|
2477
|
-
set(val) { this.node = val; }
|
|
2478
|
-
},
|
|
2479
|
-
isRead: {
|
|
2480
|
-
/** @this {FS.FSStream} */
|
|
2481
|
-
get() { return (this.flags & 2097155) !== 1; }
|
|
2482
|
-
},
|
|
2483
|
-
isWrite: {
|
|
2484
|
-
/** @this {FS.FSStream} */
|
|
2485
|
-
get() { return (this.flags & 2097155) !== 0; }
|
|
2486
|
-
},
|
|
2487
|
-
isAppend: {
|
|
2488
|
-
/** @this {FS.FSStream} */
|
|
2489
|
-
get() { return (this.flags & 1024); }
|
|
2490
|
-
},
|
|
2491
|
-
flags: {
|
|
2492
|
-
/** @this {FS.FSStream} */
|
|
2493
|
-
get() { return this.shared.flags; },
|
|
2494
|
-
/** @this {FS.FSStream} */
|
|
2495
|
-
set(val) { this.shared.flags = val; },
|
|
2496
|
-
},
|
|
2497
|
-
position : {
|
|
2498
|
-
/** @this {FS.FSStream} */
|
|
2499
|
-
get() { return this.shared.position; },
|
|
2500
|
-
/** @this {FS.FSStream} */
|
|
2501
|
-
set(val) { this.shared.position = val; },
|
|
2502
|
-
},
|
|
2503
|
-
});
|
|
2504
|
-
}
|
|
2340
|
+
assert(fd >= -1);
|
|
2341
|
+
|
|
2505
2342
|
// clone it, so we can return an instance of FSStream
|
|
2506
2343
|
stream = Object.assign(new FS.FSStream(), stream);
|
|
2507
2344
|
if (fd == -1) {
|
|
@@ -2514,6 +2351,11 @@ function dbg(text) {
|
|
|
2514
2351
|
closeStream(fd) {
|
|
2515
2352
|
FS.streams[fd] = null;
|
|
2516
2353
|
},
|
|
2354
|
+
dupStream(origStream, fd = -1) {
|
|
2355
|
+
var stream = FS.createStream(origStream, fd);
|
|
2356
|
+
stream.stream_ops?.dup?.(stream);
|
|
2357
|
+
return stream;
|
|
2358
|
+
},
|
|
2517
2359
|
chrdev_stream_ops:{
|
|
2518
2360
|
open(stream) {
|
|
2519
2361
|
var device = FS.getDevice(stream.node.rdev);
|
|
@@ -2542,7 +2384,7 @@ function dbg(text) {
|
|
|
2542
2384
|
|
|
2543
2385
|
mounts.push(m);
|
|
2544
2386
|
|
|
2545
|
-
check.push
|
|
2387
|
+
check.push(...m.mounts);
|
|
2546
2388
|
}
|
|
2547
2389
|
|
|
2548
2390
|
return mounts;
|
|
@@ -2695,14 +2537,35 @@ function dbg(text) {
|
|
|
2695
2537
|
}
|
|
2696
2538
|
return parent.node_ops.mknod(parent, name, mode, dev);
|
|
2697
2539
|
},
|
|
2698
|
-
|
|
2699
|
-
|
|
2540
|
+
statfs(path) {
|
|
2541
|
+
|
|
2542
|
+
// NOTE: None of the defaults here are true. We're just returning safe and
|
|
2543
|
+
// sane values.
|
|
2544
|
+
var rtn = {
|
|
2545
|
+
bsize: 4096,
|
|
2546
|
+
frsize: 4096,
|
|
2547
|
+
blocks: 1e6,
|
|
2548
|
+
bfree: 5e5,
|
|
2549
|
+
bavail: 5e5,
|
|
2550
|
+
files: FS.nextInode,
|
|
2551
|
+
ffree: FS.nextInode - 1,
|
|
2552
|
+
fsid: 42,
|
|
2553
|
+
flags: 2,
|
|
2554
|
+
namelen: 255,
|
|
2555
|
+
};
|
|
2556
|
+
|
|
2557
|
+
var parent = FS.lookupPath(path, {follow: true}).node;
|
|
2558
|
+
if (parent?.node_ops.statfs) {
|
|
2559
|
+
Object.assign(rtn, parent.node_ops.statfs(parent.mount.opts.root));
|
|
2560
|
+
}
|
|
2561
|
+
return rtn;
|
|
2562
|
+
},
|
|
2563
|
+
create(path, mode = 0o666) {
|
|
2700
2564
|
mode &= 4095;
|
|
2701
2565
|
mode |= 32768;
|
|
2702
2566
|
return FS.mknod(path, mode, 0);
|
|
2703
2567
|
},
|
|
2704
|
-
mkdir(path, mode) {
|
|
2705
|
-
mode = mode !== undefined ? mode : 511 /* 0777 */;
|
|
2568
|
+
mkdir(path, mode = 0o777) {
|
|
2706
2569
|
mode &= 511 | 512;
|
|
2707
2570
|
mode |= 16384;
|
|
2708
2571
|
return FS.mknod(path, mode, 0);
|
|
@@ -2723,7 +2586,7 @@ function dbg(text) {
|
|
|
2723
2586
|
mkdev(path, mode, dev) {
|
|
2724
2587
|
if (typeof dev == 'undefined') {
|
|
2725
2588
|
dev = mode;
|
|
2726
|
-
mode =
|
|
2589
|
+
mode = 0o666;
|
|
2727
2590
|
}
|
|
2728
2591
|
mode |= 8192;
|
|
2729
2592
|
return FS.mknod(path, mode, dev);
|
|
@@ -2755,7 +2618,7 @@ function dbg(text) {
|
|
|
2755
2618
|
// parents must exist
|
|
2756
2619
|
var lookup, old_dir, new_dir;
|
|
2757
2620
|
|
|
2758
|
-
// let the errors from non
|
|
2621
|
+
// let the errors from non existent directories percolate up
|
|
2759
2622
|
lookup = FS.lookupPath(old_path, { parent: true });
|
|
2760
2623
|
old_dir = lookup.node;
|
|
2761
2624
|
lookup = FS.lookupPath(new_path, { parent: true });
|
|
@@ -2821,6 +2684,9 @@ function dbg(text) {
|
|
|
2821
2684
|
// do the underlying fs rename
|
|
2822
2685
|
try {
|
|
2823
2686
|
old_dir.node_ops.rename(old_node, new_dir, new_name);
|
|
2687
|
+
// update old node (we do this here to avoid each backend
|
|
2688
|
+
// needing to)
|
|
2689
|
+
old_node.parent = new_dir;
|
|
2824
2690
|
} catch (e) {
|
|
2825
2691
|
throw e;
|
|
2826
2692
|
} finally {
|
|
@@ -2888,7 +2754,7 @@ function dbg(text) {
|
|
|
2888
2754
|
if (!link.node_ops.readlink) {
|
|
2889
2755
|
throw new FS.ErrnoError(28);
|
|
2890
2756
|
}
|
|
2891
|
-
return
|
|
2757
|
+
return link.node_ops.readlink(link);
|
|
2892
2758
|
},
|
|
2893
2759
|
stat(path, dontFollow) {
|
|
2894
2760
|
var lookup = FS.lookupPath(path, { follow: !dontFollow });
|
|
@@ -2993,12 +2859,11 @@ function dbg(text) {
|
|
|
2993
2859
|
timestamp: Math.max(atime, mtime)
|
|
2994
2860
|
});
|
|
2995
2861
|
},
|
|
2996
|
-
open(path, flags, mode) {
|
|
2862
|
+
open(path, flags, mode = 0o666) {
|
|
2997
2863
|
if (path === "") {
|
|
2998
2864
|
throw new FS.ErrnoError(44);
|
|
2999
2865
|
}
|
|
3000
2866
|
flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags;
|
|
3001
|
-
mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode;
|
|
3002
2867
|
if ((flags & 64)) {
|
|
3003
2868
|
mode = (mode & 4095) | 32768;
|
|
3004
2869
|
} else {
|
|
@@ -3076,7 +2941,6 @@ function dbg(text) {
|
|
|
3076
2941
|
stream.stream_ops.open(stream);
|
|
3077
2942
|
}
|
|
3078
2943
|
if (Module['logReadFiles'] && !(flags & 1)) {
|
|
3079
|
-
if (!FS.readFiles) FS.readFiles = {};
|
|
3080
2944
|
if (!(path in FS.readFiles)) {
|
|
3081
2945
|
FS.readFiles[path] = 1;
|
|
3082
2946
|
}
|
|
@@ -3210,6 +3074,9 @@ function dbg(text) {
|
|
|
3210
3074
|
if (!stream.stream_ops.mmap) {
|
|
3211
3075
|
throw new FS.ErrnoError(43);
|
|
3212
3076
|
}
|
|
3077
|
+
if (!length) {
|
|
3078
|
+
throw new FS.ErrnoError(28);
|
|
3079
|
+
}
|
|
3213
3080
|
return stream.stream_ops.mmap(stream, length, position, prot, flags);
|
|
3214
3081
|
},
|
|
3215
3082
|
msync(stream, buffer, offset, length, mmapFlags) {
|
|
@@ -3219,7 +3086,6 @@ function dbg(text) {
|
|
|
3219
3086
|
}
|
|
3220
3087
|
return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
|
|
3221
3088
|
},
|
|
3222
|
-
munmap:(stream) => 0,
|
|
3223
3089
|
ioctl(stream, cmd, arg) {
|
|
3224
3090
|
if (!stream.stream_ops.ioctl) {
|
|
3225
3091
|
throw new FS.ErrnoError(59);
|
|
@@ -3239,7 +3105,7 @@ function dbg(text) {
|
|
|
3239
3105
|
var buf = new Uint8Array(length);
|
|
3240
3106
|
FS.read(stream, buf, 0, length, 0);
|
|
3241
3107
|
if (opts.encoding === 'utf8') {
|
|
3242
|
-
ret = UTF8ArrayToString(buf
|
|
3108
|
+
ret = UTF8ArrayToString(buf);
|
|
3243
3109
|
} else if (opts.encoding === 'binary') {
|
|
3244
3110
|
ret = buf;
|
|
3245
3111
|
}
|
|
@@ -3287,6 +3153,7 @@ function dbg(text) {
|
|
|
3287
3153
|
FS.registerDevice(FS.makedev(1, 3), {
|
|
3288
3154
|
read: () => 0,
|
|
3289
3155
|
write: (stream, buffer, offset, length, pos) => length,
|
|
3156
|
+
llseek: () => 0,
|
|
3290
3157
|
});
|
|
3291
3158
|
FS.mkdev('/dev/null', FS.makedev(1, 3));
|
|
3292
3159
|
// setup /dev/tty and /dev/tty1
|
|
@@ -3320,7 +3187,7 @@ function dbg(text) {
|
|
|
3320
3187
|
FS.mkdir('/proc/self/fd');
|
|
3321
3188
|
FS.mount({
|
|
3322
3189
|
mount() {
|
|
3323
|
-
var node = FS.createNode(proc_self, 'fd',
|
|
3190
|
+
var node = FS.createNode(proc_self, 'fd', 16895, 73);
|
|
3324
3191
|
node.node_ops = {
|
|
3325
3192
|
lookup(parent, name) {
|
|
3326
3193
|
var fd = +name;
|
|
@@ -3338,7 +3205,7 @@ function dbg(text) {
|
|
|
3338
3205
|
}
|
|
3339
3206
|
}, {}, '/proc/self/fd');
|
|
3340
3207
|
},
|
|
3341
|
-
createStandardStreams() {
|
|
3208
|
+
createStandardStreams(input, output, error) {
|
|
3342
3209
|
// TODO deprecate the old functionality of a single
|
|
3343
3210
|
// input / output callback and that utilizes FS.createDevice
|
|
3344
3211
|
// and instead require a unique set of stream ops
|
|
@@ -3347,18 +3214,18 @@ function dbg(text) {
|
|
|
3347
3214
|
// default tty devices. however, if the standard streams
|
|
3348
3215
|
// have been overwritten we create a unique device for
|
|
3349
3216
|
// them instead.
|
|
3350
|
-
if (
|
|
3351
|
-
FS.createDevice('/dev', 'stdin',
|
|
3217
|
+
if (input) {
|
|
3218
|
+
FS.createDevice('/dev', 'stdin', input);
|
|
3352
3219
|
} else {
|
|
3353
3220
|
FS.symlink('/dev/tty', '/dev/stdin');
|
|
3354
3221
|
}
|
|
3355
|
-
if (
|
|
3356
|
-
FS.createDevice('/dev', 'stdout', null,
|
|
3222
|
+
if (output) {
|
|
3223
|
+
FS.createDevice('/dev', 'stdout', null, output);
|
|
3357
3224
|
} else {
|
|
3358
3225
|
FS.symlink('/dev/tty', '/dev/stdout');
|
|
3359
3226
|
}
|
|
3360
|
-
if (
|
|
3361
|
-
FS.createDevice('/dev', 'stderr', null,
|
|
3227
|
+
if (error) {
|
|
3228
|
+
FS.createDevice('/dev', 'stderr', null, error);
|
|
3362
3229
|
} else {
|
|
3363
3230
|
FS.symlink('/dev/tty1', '/dev/stderr');
|
|
3364
3231
|
}
|
|
@@ -3371,48 +3238,7 @@ function dbg(text) {
|
|
|
3371
3238
|
assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`);
|
|
3372
3239
|
assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`);
|
|
3373
3240
|
},
|
|
3374
|
-
ensureErrnoError() {
|
|
3375
|
-
if (FS.ErrnoError) return;
|
|
3376
|
-
FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) {
|
|
3377
|
-
// We set the `name` property to be able to identify `FS.ErrnoError`
|
|
3378
|
-
// - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway.
|
|
3379
|
-
// - when using PROXYFS, an error can come from an underlying FS
|
|
3380
|
-
// as different FS objects have their own FS.ErrnoError each,
|
|
3381
|
-
// the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs.
|
|
3382
|
-
// we'll use the reliable test `err.name == "ErrnoError"` instead
|
|
3383
|
-
this.name = 'ErrnoError';
|
|
3384
|
-
this.node = node;
|
|
3385
|
-
this.setErrno = /** @this{Object} */ function(errno) {
|
|
3386
|
-
this.errno = errno;
|
|
3387
|
-
for (var key in ERRNO_CODES) {
|
|
3388
|
-
if (ERRNO_CODES[key] === errno) {
|
|
3389
|
-
this.code = key;
|
|
3390
|
-
break;
|
|
3391
|
-
}
|
|
3392
|
-
}
|
|
3393
|
-
};
|
|
3394
|
-
this.setErrno(errno);
|
|
3395
|
-
this.message = ERRNO_MESSAGES[errno];
|
|
3396
|
-
|
|
3397
|
-
// Try to get a maximally helpful stack trace. On Node.js, getting Error.stack
|
|
3398
|
-
// now ensures it shows what we want.
|
|
3399
|
-
if (this.stack) {
|
|
3400
|
-
// Define the stack property for Node.js 4, which otherwise errors on the next line.
|
|
3401
|
-
Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
|
|
3402
|
-
this.stack = demangleAll(this.stack);
|
|
3403
|
-
}
|
|
3404
|
-
};
|
|
3405
|
-
FS.ErrnoError.prototype = new Error();
|
|
3406
|
-
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
|
|
3407
|
-
// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
|
|
3408
|
-
[44].forEach((code) => {
|
|
3409
|
-
FS.genericErrors[code] = new FS.ErrnoError(code);
|
|
3410
|
-
FS.genericErrors[code].stack = '<generic error, no stack>';
|
|
3411
|
-
});
|
|
3412
|
-
},
|
|
3413
3241
|
staticInit() {
|
|
3414
|
-
FS.ensureErrnoError();
|
|
3415
|
-
|
|
3416
3242
|
FS.nameTable = new Array(4096);
|
|
3417
3243
|
|
|
3418
3244
|
FS.mount(MEMFS, {}, '/');
|
|
@@ -3426,20 +3252,18 @@ function dbg(text) {
|
|
|
3426
3252
|
};
|
|
3427
3253
|
},
|
|
3428
3254
|
init(input, output, error) {
|
|
3429
|
-
assert(!FS.
|
|
3430
|
-
FS.
|
|
3431
|
-
|
|
3432
|
-
FS.ensureErrnoError();
|
|
3255
|
+
assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
|
|
3256
|
+
FS.initialized = true;
|
|
3433
3257
|
|
|
3434
3258
|
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3259
|
+
input ??= Module['stdin'];
|
|
3260
|
+
output ??= Module['stdout'];
|
|
3261
|
+
error ??= Module['stderr'];
|
|
3438
3262
|
|
|
3439
|
-
FS.createStandardStreams();
|
|
3263
|
+
FS.createStandardStreams(input, output, error);
|
|
3440
3264
|
},
|
|
3441
3265
|
quit() {
|
|
3442
|
-
FS.
|
|
3266
|
+
FS.initialized = false;
|
|
3443
3267
|
// force-flush all streams, so we get musl std streams printed out
|
|
3444
3268
|
_fflush(0);
|
|
3445
3269
|
// close all of our streams
|
|
@@ -3532,7 +3356,7 @@ function dbg(text) {
|
|
|
3532
3356
|
createDevice(parent, name, input, output) {
|
|
3533
3357
|
var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name);
|
|
3534
3358
|
var mode = FS_getMode(!!input, !!output);
|
|
3535
|
-
|
|
3359
|
+
FS.createDevice.major ??= 64;
|
|
3536
3360
|
var dev = FS.makedev(FS.createDevice.major++, 0);
|
|
3537
3361
|
// Create a fake device that a set of stream ops to emulate
|
|
3538
3362
|
// the old behavior.
|
|
@@ -3587,122 +3411,111 @@ function dbg(text) {
|
|
|
3587
3411
|
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
|
|
3588
3412
|
if (typeof XMLHttpRequest != 'undefined') {
|
|
3589
3413
|
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
|
|
3590
|
-
} else
|
|
3591
|
-
// Command-line.
|
|
3414
|
+
} else { // Command-line.
|
|
3592
3415
|
try {
|
|
3593
|
-
|
|
3594
|
-
// read() will try to parse UTF8.
|
|
3595
|
-
obj.contents = intArrayFromString(read_(obj.url), true);
|
|
3416
|
+
obj.contents = readBinary(obj.url);
|
|
3596
3417
|
obj.usedBytes = obj.contents.length;
|
|
3597
3418
|
} catch (e) {
|
|
3598
3419
|
throw new FS.ErrnoError(29);
|
|
3599
3420
|
}
|
|
3600
|
-
} else {
|
|
3601
|
-
throw new Error('Cannot load without read() or XMLHttpRequest.');
|
|
3602
3421
|
}
|
|
3603
3422
|
},
|
|
3604
3423
|
createLazyFile(parent, name, url, canRead, canWrite) {
|
|
3605
|
-
// Lazy chunked Uint8Array (implements get and length from Uint8Array).
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3424
|
+
// Lazy chunked Uint8Array (implements get and length from Uint8Array).
|
|
3425
|
+
// Actual getting is abstracted away for eventual reuse.
|
|
3426
|
+
class LazyUint8Array {
|
|
3427
|
+
lengthKnown = false;
|
|
3428
|
+
chunks = []; // Loaded chunks. Index is the chunk number
|
|
3429
|
+
get(idx) {
|
|
3430
|
+
if (idx > this.length-1 || idx < 0) {
|
|
3431
|
+
return undefined;
|
|
3432
|
+
}
|
|
3433
|
+
var chunkOffset = idx % this.chunkSize;
|
|
3434
|
+
var chunkNum = (idx / this.chunkSize)|0;
|
|
3435
|
+
return this.getter(chunkNum)[chunkOffset];
|
|
3614
3436
|
}
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
|
|
3620
|
-
this.getter = getter;
|
|
3621
|
-
};
|
|
3622
|
-
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
|
|
3623
|
-
// Find length
|
|
3624
|
-
var xhr = new XMLHttpRequest();
|
|
3625
|
-
xhr.open('HEAD', url, false);
|
|
3626
|
-
xhr.send(null);
|
|
3627
|
-
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
|
|
3628
|
-
var datalength = Number(xhr.getResponseHeader("Content-length"));
|
|
3629
|
-
var header;
|
|
3630
|
-
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
|
|
3631
|
-
var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
|
|
3632
|
-
|
|
3633
|
-
var chunkSize = 1024*1024; // Chunk size in bytes
|
|
3634
|
-
|
|
3635
|
-
if (!hasByteServing) chunkSize = datalength;
|
|
3636
|
-
|
|
3637
|
-
// Function to get a range from the remote URL.
|
|
3638
|
-
var doXHR = (from, to) => {
|
|
3639
|
-
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
|
|
3640
|
-
if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
|
|
3641
|
-
|
|
3642
|
-
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
|
|
3437
|
+
setDataGetter(getter) {
|
|
3438
|
+
this.getter = getter;
|
|
3439
|
+
}
|
|
3440
|
+
cacheLength() {
|
|
3441
|
+
// Find length
|
|
3643
3442
|
var xhr = new XMLHttpRequest();
|
|
3644
|
-
xhr.open('
|
|
3645
|
-
|
|
3443
|
+
xhr.open('HEAD', url, false);
|
|
3444
|
+
xhr.send(null);
|
|
3445
|
+
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
|
|
3446
|
+
var datalength = Number(xhr.getResponseHeader("Content-length"));
|
|
3447
|
+
var header;
|
|
3448
|
+
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
|
|
3449
|
+
var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
|
|
3450
|
+
|
|
3451
|
+
var chunkSize = 1024*1024; // Chunk size in bytes
|
|
3452
|
+
|
|
3453
|
+
if (!hasByteServing) chunkSize = datalength;
|
|
3454
|
+
|
|
3455
|
+
// Function to get a range from the remote URL.
|
|
3456
|
+
var doXHR = (from, to) => {
|
|
3457
|
+
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
|
|
3458
|
+
if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
|
|
3646
3459
|
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
xhr.
|
|
3460
|
+
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
|
|
3461
|
+
var xhr = new XMLHttpRequest();
|
|
3462
|
+
xhr.open('GET', url, false);
|
|
3463
|
+
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
|
|
3464
|
+
|
|
3465
|
+
// Some hints to the browser that we want binary data.
|
|
3466
|
+
xhr.responseType = 'arraybuffer';
|
|
3467
|
+
if (xhr.overrideMimeType) {
|
|
3468
|
+
xhr.overrideMimeType('text/plain; charset=x-user-defined');
|
|
3469
|
+
}
|
|
3470
|
+
|
|
3471
|
+
xhr.send(null);
|
|
3472
|
+
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
|
|
3473
|
+
if (xhr.response !== undefined) {
|
|
3474
|
+
return new Uint8Array(/** @type{Array<number>} */(xhr.response || []));
|
|
3475
|
+
}
|
|
3476
|
+
return intArrayFromString(xhr.responseText || '', true);
|
|
3477
|
+
};
|
|
3478
|
+
var lazyArray = this;
|
|
3479
|
+
lazyArray.setDataGetter((chunkNum) => {
|
|
3480
|
+
var start = chunkNum * chunkSize;
|
|
3481
|
+
var end = (chunkNum+1) * chunkSize - 1; // including this byte
|
|
3482
|
+
end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
|
|
3483
|
+
if (typeof lazyArray.chunks[chunkNum] == 'undefined') {
|
|
3484
|
+
lazyArray.chunks[chunkNum] = doXHR(start, end);
|
|
3485
|
+
}
|
|
3486
|
+
if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!');
|
|
3487
|
+
return lazyArray.chunks[chunkNum];
|
|
3488
|
+
});
|
|
3489
|
+
|
|
3490
|
+
if (usesGzip || !datalength) {
|
|
3491
|
+
// if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
|
|
3492
|
+
chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
|
|
3493
|
+
datalength = this.getter(0).length;
|
|
3494
|
+
chunkSize = datalength;
|
|
3495
|
+
out("LazyFiles on gzip forces download of the whole file when length is accessed");
|
|
3651
3496
|
}
|
|
3652
3497
|
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3498
|
+
this._length = datalength;
|
|
3499
|
+
this._chunkSize = chunkSize;
|
|
3500
|
+
this.lengthKnown = true;
|
|
3501
|
+
}
|
|
3502
|
+
get length() {
|
|
3503
|
+
if (!this.lengthKnown) {
|
|
3504
|
+
this.cacheLength();
|
|
3657
3505
|
}
|
|
3658
|
-
return
|
|
3659
|
-
}
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
var end = (chunkNum+1) * chunkSize - 1; // including this byte
|
|
3664
|
-
end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
|
|
3665
|
-
if (typeof lazyArray.chunks[chunkNum] == 'undefined') {
|
|
3666
|
-
lazyArray.chunks[chunkNum] = doXHR(start, end);
|
|
3506
|
+
return this._length;
|
|
3507
|
+
}
|
|
3508
|
+
get chunkSize() {
|
|
3509
|
+
if (!this.lengthKnown) {
|
|
3510
|
+
this.cacheLength();
|
|
3667
3511
|
}
|
|
3668
|
-
|
|
3669
|
-
return lazyArray.chunks[chunkNum];
|
|
3670
|
-
});
|
|
3671
|
-
|
|
3672
|
-
if (usesGzip || !datalength) {
|
|
3673
|
-
// if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
|
|
3674
|
-
chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
|
|
3675
|
-
datalength = this.getter(0).length;
|
|
3676
|
-
chunkSize = datalength;
|
|
3677
|
-
out("LazyFiles on gzip forces download of the whole file when length is accessed");
|
|
3512
|
+
return this._chunkSize;
|
|
3678
3513
|
}
|
|
3514
|
+
}
|
|
3679
3515
|
|
|
3680
|
-
this._length = datalength;
|
|
3681
|
-
this._chunkSize = chunkSize;
|
|
3682
|
-
this.lengthKnown = true;
|
|
3683
|
-
};
|
|
3684
3516
|
if (typeof XMLHttpRequest != 'undefined') {
|
|
3685
3517
|
if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
|
|
3686
3518
|
var lazyArray = new LazyUint8Array();
|
|
3687
|
-
Object.defineProperties(lazyArray, {
|
|
3688
|
-
length: {
|
|
3689
|
-
get: /** @this{Object} */ function() {
|
|
3690
|
-
if (!this.lengthKnown) {
|
|
3691
|
-
this.cacheLength();
|
|
3692
|
-
}
|
|
3693
|
-
return this._length;
|
|
3694
|
-
}
|
|
3695
|
-
},
|
|
3696
|
-
chunkSize: {
|
|
3697
|
-
get: /** @this{Object} */ function() {
|
|
3698
|
-
if (!this.lengthKnown) {
|
|
3699
|
-
this.cacheLength();
|
|
3700
|
-
}
|
|
3701
|
-
return this._chunkSize;
|
|
3702
|
-
}
|
|
3703
|
-
}
|
|
3704
|
-
});
|
|
3705
|
-
|
|
3706
3519
|
var properties = { isDevice: false, contents: lazyArray };
|
|
3707
3520
|
} else {
|
|
3708
3521
|
var properties = { isDevice: false, url: url };
|
|
@@ -3721,7 +3534,7 @@ function dbg(text) {
|
|
|
3721
3534
|
// Add a function that defers querying the file size until it is asked the first time.
|
|
3722
3535
|
Object.defineProperties(node, {
|
|
3723
3536
|
usedBytes: {
|
|
3724
|
-
get:
|
|
3537
|
+
get: function() { return this.contents.length; }
|
|
3725
3538
|
}
|
|
3726
3539
|
});
|
|
3727
3540
|
// override each stream op with one that tries to force load the lazy file first
|
|
@@ -3729,9 +3542,9 @@ function dbg(text) {
|
|
|
3729
3542
|
var keys = Object.keys(node.stream_ops);
|
|
3730
3543
|
keys.forEach((key) => {
|
|
3731
3544
|
var fn = node.stream_ops[key];
|
|
3732
|
-
stream_ops[key] =
|
|
3545
|
+
stream_ops[key] = (...args) => {
|
|
3733
3546
|
FS.forceLoadFile(node);
|
|
3734
|
-
return fn
|
|
3547
|
+
return fn(...args);
|
|
3735
3548
|
};
|
|
3736
3549
|
});
|
|
3737
3550
|
function writeChunks(stream, buffer, offset, length, position) {
|
|
@@ -3812,15 +3625,7 @@ function dbg(text) {
|
|
|
3812
3625
|
return PATH.join2(dir, path);
|
|
3813
3626
|
},
|
|
3814
3627
|
doStat(func, path, buf) {
|
|
3815
|
-
|
|
3816
|
-
var stat = func(path);
|
|
3817
|
-
} catch (e) {
|
|
3818
|
-
if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
|
|
3819
|
-
// an error occurred while trying to look up the path; we should just report ENOTDIR
|
|
3820
|
-
return -54;
|
|
3821
|
-
}
|
|
3822
|
-
throw e;
|
|
3823
|
-
}
|
|
3628
|
+
var stat = func(path);
|
|
3824
3629
|
HEAP32[((buf)>>2)] = stat.dev;
|
|
3825
3630
|
HEAP32[(((buf)+(4))>>2)] = stat.mode;
|
|
3826
3631
|
HEAPU32[(((buf)+(8))>>2)] = stat.nlink;
|
|
@@ -3834,11 +3639,11 @@ function dbg(text) {
|
|
|
3834
3639
|
var mtime = stat.mtime.getTime();
|
|
3835
3640
|
var ctime = stat.ctime.getTime();
|
|
3836
3641
|
(tempI64 = [Math.floor(atime / 1000)>>>0,(tempDouble = Math.floor(atime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]);
|
|
3837
|
-
HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000;
|
|
3642
|
+
HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000;
|
|
3838
3643
|
(tempI64 = [Math.floor(mtime / 1000)>>>0,(tempDouble = Math.floor(mtime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]);
|
|
3839
|
-
HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000;
|
|
3644
|
+
HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000;
|
|
3840
3645
|
(tempI64 = [Math.floor(ctime / 1000)>>>0,(tempDouble = Math.floor(ctime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]);
|
|
3841
|
-
HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000;
|
|
3646
|
+
HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000;
|
|
3842
3647
|
(tempI64 = [stat.ino>>>0,(tempDouble = stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]);
|
|
3843
3648
|
return 0;
|
|
3844
3649
|
},
|
|
@@ -3853,23 +3658,15 @@ function dbg(text) {
|
|
|
3853
3658
|
var buffer = HEAPU8.slice(addr, addr + len);
|
|
3854
3659
|
FS.msync(stream, buffer, offset, len, flags);
|
|
3855
3660
|
},
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
// the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number.
|
|
3860
|
-
var ret = HEAP32[((+SYSCALLS.varargs)>>2)];
|
|
3861
|
-
SYSCALLS.varargs += 4;
|
|
3862
|
-
return ret;
|
|
3661
|
+
getStreamFromFD(fd) {
|
|
3662
|
+
var stream = FS.getStreamChecked(fd);
|
|
3663
|
+
return stream;
|
|
3863
3664
|
},
|
|
3864
|
-
|
|
3665
|
+
varargs:undefined,
|
|
3865
3666
|
getStr(ptr) {
|
|
3866
3667
|
var ret = UTF8ToString(ptr);
|
|
3867
3668
|
return ret;
|
|
3868
3669
|
},
|
|
3869
|
-
getStreamFromFD(fd) {
|
|
3870
|
-
var stream = FS.getStreamChecked(fd);
|
|
3871
|
-
return stream;
|
|
3872
|
-
},
|
|
3873
3670
|
};
|
|
3874
3671
|
function ___syscall_chmod(path, mode) {
|
|
3875
3672
|
try {
|
|
@@ -3887,7 +3684,7 @@ function dbg(text) {
|
|
|
3887
3684
|
try {
|
|
3888
3685
|
|
|
3889
3686
|
path = SYSCALLS.getStr(path);
|
|
3890
|
-
assert(flags === 0);
|
|
3687
|
+
assert(flags === 0 || flags == 512);
|
|
3891
3688
|
path = SYSCALLS.calculateAt(dirfd, path);
|
|
3892
3689
|
if (amode & ~7) {
|
|
3893
3690
|
// need a valid mode
|
|
@@ -3934,10 +3731,16 @@ function dbg(text) {
|
|
|
3934
3731
|
}
|
|
3935
3732
|
}
|
|
3936
3733
|
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3734
|
+
/** @suppress {duplicate } */
|
|
3735
|
+
var syscallGetVarargI = () => {
|
|
3736
|
+
assert(SYSCALLS.varargs != undefined);
|
|
3737
|
+
// the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number.
|
|
3738
|
+
var ret = HEAP32[((+SYSCALLS.varargs)>>2)];
|
|
3739
|
+
SYSCALLS.varargs += 4;
|
|
3740
|
+
return ret;
|
|
3940
3741
|
};
|
|
3742
|
+
var syscallGetVarargP = syscallGetVarargI;
|
|
3743
|
+
|
|
3941
3744
|
|
|
3942
3745
|
function ___syscall_fcntl64(fd, cmd, varargs) {
|
|
3943
3746
|
SYSCALLS.varargs = varargs;
|
|
@@ -3946,7 +3749,7 @@ function dbg(text) {
|
|
|
3946
3749
|
var stream = SYSCALLS.getStreamFromFD(fd);
|
|
3947
3750
|
switch (cmd) {
|
|
3948
3751
|
case 0: {
|
|
3949
|
-
var arg =
|
|
3752
|
+
var arg = syscallGetVarargI();
|
|
3950
3753
|
if (arg < 0) {
|
|
3951
3754
|
return -28;
|
|
3952
3755
|
}
|
|
@@ -3954,7 +3757,7 @@ function dbg(text) {
|
|
|
3954
3757
|
arg++;
|
|
3955
3758
|
}
|
|
3956
3759
|
var newStream;
|
|
3957
|
-
newStream = FS.
|
|
3760
|
+
newStream = FS.dupStream(stream, arg);
|
|
3958
3761
|
return newStream.fd;
|
|
3959
3762
|
}
|
|
3960
3763
|
case 1:
|
|
@@ -3963,31 +3766,22 @@ function dbg(text) {
|
|
|
3963
3766
|
case 3:
|
|
3964
3767
|
return stream.flags;
|
|
3965
3768
|
case 4: {
|
|
3966
|
-
var arg =
|
|
3769
|
+
var arg = syscallGetVarargI();
|
|
3967
3770
|
stream.flags |= arg;
|
|
3968
3771
|
return 0;
|
|
3969
3772
|
}
|
|
3970
|
-
case
|
|
3971
|
-
var arg =
|
|
3773
|
+
case 12: {
|
|
3774
|
+
var arg = syscallGetVarargP();
|
|
3972
3775
|
var offset = 0;
|
|
3973
3776
|
// We're always unlocked.
|
|
3974
3777
|
HEAP16[(((arg)+(offset))>>1)] = 2;
|
|
3975
3778
|
return 0;
|
|
3976
3779
|
}
|
|
3977
|
-
case
|
|
3978
|
-
case
|
|
3780
|
+
case 13:
|
|
3781
|
+
case 14:
|
|
3979
3782
|
return 0; // Pretend that the locking is successful.
|
|
3980
|
-
case 16:
|
|
3981
|
-
case 8:
|
|
3982
|
-
return -28; // These are for sockets. We don't have them fully implemented yet.
|
|
3983
|
-
case 9:
|
|
3984
|
-
// musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves.
|
|
3985
|
-
setErrNo(28);
|
|
3986
|
-
return -1;
|
|
3987
|
-
default: {
|
|
3988
|
-
return -28;
|
|
3989
|
-
}
|
|
3990
3783
|
}
|
|
3784
|
+
return -28;
|
|
3991
3785
|
} catch (e) {
|
|
3992
3786
|
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
|
|
3993
3787
|
return -e.errno;
|
|
@@ -4005,14 +3799,13 @@ function dbg(text) {
|
|
|
4005
3799
|
}
|
|
4006
3800
|
}
|
|
4007
3801
|
|
|
4008
|
-
|
|
4009
3802
|
var convertI32PairToI53Checked = (lo, hi) => {
|
|
4010
3803
|
assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32
|
|
4011
3804
|
assert(hi === (hi|0)); // hi should be a i32
|
|
4012
3805
|
return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN;
|
|
4013
3806
|
};
|
|
4014
3807
|
function ___syscall_ftruncate64(fd,length_low, length_high) {
|
|
4015
|
-
var length = convertI32PairToI53Checked(length_low, length_high)
|
|
3808
|
+
var length = convertI32PairToI53Checked(length_low, length_high);
|
|
4016
3809
|
|
|
4017
3810
|
|
|
4018
3811
|
try {
|
|
@@ -4032,7 +3825,6 @@ function dbg(text) {
|
|
|
4032
3825
|
assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
|
|
4033
3826
|
return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
|
|
4034
3827
|
};
|
|
4035
|
-
|
|
4036
3828
|
function ___syscall_getcwd(buf, size) {
|
|
4037
3829
|
try {
|
|
4038
3830
|
|
|
@@ -4092,13 +3884,14 @@ function dbg(text) {
|
|
|
4092
3884
|
}
|
|
4093
3885
|
}
|
|
4094
3886
|
|
|
3887
|
+
|
|
4095
3888
|
function ___syscall_openat(dirfd, path, flags, varargs) {
|
|
4096
3889
|
SYSCALLS.varargs = varargs;
|
|
4097
3890
|
try {
|
|
4098
3891
|
|
|
4099
3892
|
path = SYSCALLS.getStr(path);
|
|
4100
3893
|
path = SYSCALLS.calculateAt(dirfd, path);
|
|
4101
|
-
var mode = varargs ?
|
|
3894
|
+
var mode = varargs ? syscallGetVarargI() : 0;
|
|
4102
3895
|
return FS.open(path, flags, mode).fd;
|
|
4103
3896
|
} catch (e) {
|
|
4104
3897
|
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
|
|
@@ -4181,19 +3974,37 @@ function dbg(text) {
|
|
|
4181
3974
|
path = SYSCALLS.getStr(path);
|
|
4182
3975
|
assert(flags === 0);
|
|
4183
3976
|
path = SYSCALLS.calculateAt(dirfd, path, true);
|
|
3977
|
+
var now = Date.now(), atime, mtime;
|
|
4184
3978
|
if (!times) {
|
|
4185
|
-
|
|
4186
|
-
|
|
3979
|
+
atime = now;
|
|
3980
|
+
mtime = now;
|
|
4187
3981
|
} else {
|
|
4188
3982
|
var seconds = readI53FromI64(times);
|
|
4189
3983
|
var nanoseconds = HEAP32[(((times)+(8))>>2)];
|
|
4190
|
-
|
|
3984
|
+
if (nanoseconds == 1073741823) {
|
|
3985
|
+
atime = now;
|
|
3986
|
+
} else if (nanoseconds == 1073741822) {
|
|
3987
|
+
atime = -1;
|
|
3988
|
+
} else {
|
|
3989
|
+
atime = (seconds*1000) + (nanoseconds/(1000*1000));
|
|
3990
|
+
}
|
|
4191
3991
|
times += 16;
|
|
4192
3992
|
seconds = readI53FromI64(times);
|
|
4193
3993
|
nanoseconds = HEAP32[(((times)+(8))>>2)];
|
|
4194
|
-
|
|
3994
|
+
if (nanoseconds == 1073741823) {
|
|
3995
|
+
mtime = now;
|
|
3996
|
+
} else if (nanoseconds == 1073741822) {
|
|
3997
|
+
mtime = -1;
|
|
3998
|
+
} else {
|
|
3999
|
+
mtime = (seconds*1000) + (nanoseconds/(1000*1000));
|
|
4000
|
+
}
|
|
4001
|
+
}
|
|
4002
|
+
// -1 here means UTIME_OMIT was passed. FS.utime tables the max of these
|
|
4003
|
+
// two values and sets the timestamp to that single value. If both were
|
|
4004
|
+
// set to UTIME_OMIT then we can skip the call completely.
|
|
4005
|
+
if (mtime != -1 || atime != -1) {
|
|
4006
|
+
FS.utime(path, atime, mtime);
|
|
4195
4007
|
}
|
|
4196
|
-
FS.utime(path, atime, mtime);
|
|
4197
4008
|
return 0;
|
|
4198
4009
|
} catch (e) {
|
|
4199
4010
|
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
|
|
@@ -4204,6 +4015,8 @@ function dbg(text) {
|
|
|
4204
4015
|
var nowIsMonotonic = 1;
|
|
4205
4016
|
var __emscripten_get_now_is_monotonic = () => nowIsMonotonic;
|
|
4206
4017
|
|
|
4018
|
+
var __emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num);
|
|
4019
|
+
|
|
4207
4020
|
var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0);
|
|
4208
4021
|
|
|
4209
4022
|
var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335];
|
|
@@ -4218,7 +4031,7 @@ function dbg(text) {
|
|
|
4218
4031
|
};
|
|
4219
4032
|
|
|
4220
4033
|
function __localtime_js(time_low, time_high,tmPtr) {
|
|
4221
|
-
var time = convertI32PairToI53Checked(time_low, time_high)
|
|
4034
|
+
var time = convertI32PairToI53Checked(time_low, time_high);
|
|
4222
4035
|
|
|
4223
4036
|
|
|
4224
4037
|
var date = new Date(time*1000);
|
|
@@ -4249,7 +4062,7 @@ function dbg(text) {
|
|
|
4249
4062
|
|
|
4250
4063
|
|
|
4251
4064
|
function __mmap_js(len,prot,flags,fd,offset_low, offset_high,allocated,addr) {
|
|
4252
|
-
var offset = convertI32PairToI53Checked(offset_low, offset_high)
|
|
4065
|
+
var offset = convertI32PairToI53Checked(offset_low, offset_high);
|
|
4253
4066
|
|
|
4254
4067
|
|
|
4255
4068
|
try {
|
|
@@ -4269,21 +4082,16 @@ function dbg(text) {
|
|
|
4269
4082
|
}
|
|
4270
4083
|
|
|
4271
4084
|
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
4085
|
function __munmap_js(addr,len,prot,flags,fd,offset_low, offset_high) {
|
|
4275
|
-
var offset = convertI32PairToI53Checked(offset_low, offset_high)
|
|
4086
|
+
var offset = convertI32PairToI53Checked(offset_low, offset_high);
|
|
4276
4087
|
|
|
4277
4088
|
|
|
4278
4089
|
try {
|
|
4279
4090
|
|
|
4280
|
-
if (isNaN(offset)) return 61;
|
|
4281
4091
|
var stream = SYSCALLS.getStreamFromFD(fd);
|
|
4282
4092
|
if (prot & 2) {
|
|
4283
4093
|
SYSCALLS.doMsync(addr, stream, len, flags, offset);
|
|
4284
4094
|
}
|
|
4285
|
-
FS.munmap(stream);
|
|
4286
|
-
// implicitly return 0
|
|
4287
4095
|
} catch (e) {
|
|
4288
4096
|
if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e;
|
|
4289
4097
|
return -e.errno;
|
|
@@ -4292,14 +4100,7 @@ function dbg(text) {
|
|
|
4292
4100
|
}
|
|
4293
4101
|
|
|
4294
4102
|
|
|
4295
|
-
|
|
4296
|
-
var stringToNewUTF8 = (str) => {
|
|
4297
|
-
var size = lengthBytesUTF8(str) + 1;
|
|
4298
|
-
var ret = _malloc(size);
|
|
4299
|
-
if (ret) stringToUTF8(str, ret, size);
|
|
4300
|
-
return ret;
|
|
4301
|
-
};
|
|
4302
|
-
var __tzset_js = (timezone, daylight, tzname) => {
|
|
4103
|
+
var __tzset_js = (timezone, daylight, std_name, dst_name) => {
|
|
4303
4104
|
// TODO: Use (malleable) environment variables instead of system settings.
|
|
4304
4105
|
var currentYear = new Date().getFullYear();
|
|
4305
4106
|
var winter = new Date(currentYear, 0, 1);
|
|
@@ -4307,9 +4108,12 @@ function dbg(text) {
|
|
|
4307
4108
|
var winterOffset = winter.getTimezoneOffset();
|
|
4308
4109
|
var summerOffset = summer.getTimezoneOffset();
|
|
4309
4110
|
|
|
4310
|
-
// Local standard timezone offset. Local standard time is not adjusted for
|
|
4311
|
-
// This code uses the fact that getTimezoneOffset returns
|
|
4312
|
-
//
|
|
4111
|
+
// Local standard timezone offset. Local standard time is not adjusted for
|
|
4112
|
+
// daylight savings. This code uses the fact that getTimezoneOffset returns
|
|
4113
|
+
// a greater value during Standard Time versus Daylight Saving Time (DST).
|
|
4114
|
+
// Thus it determines the expected output during Standard Time, and it
|
|
4115
|
+
// compares whether the output of the given date the same (Standard) or less
|
|
4116
|
+
// (DST).
|
|
4313
4117
|
var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
|
|
4314
4118
|
|
|
4315
4119
|
// timezone is specified as seconds west of UTC ("The external variable
|
|
@@ -4321,21 +4125,31 @@ function dbg(text) {
|
|
|
4321
4125
|
|
|
4322
4126
|
HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset);
|
|
4323
4127
|
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4128
|
+
var extractZone = (timezoneOffset) => {
|
|
4129
|
+
// Why inverse sign?
|
|
4130
|
+
// Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset
|
|
4131
|
+
var sign = timezoneOffset >= 0 ? "-" : "+";
|
|
4132
|
+
|
|
4133
|
+
var absOffset = Math.abs(timezoneOffset)
|
|
4134
|
+
var hours = String(Math.floor(absOffset / 60)).padStart(2, "0");
|
|
4135
|
+
var minutes = String(absOffset % 60).padStart(2, "0");
|
|
4136
|
+
|
|
4137
|
+
return `UTC${sign}${hours}${minutes}`;
|
|
4138
|
+
}
|
|
4139
|
+
|
|
4140
|
+
var winterName = extractZone(winterOffset);
|
|
4141
|
+
var summerName = extractZone(summerOffset);
|
|
4142
|
+
assert(winterName);
|
|
4143
|
+
assert(summerName);
|
|
4144
|
+
assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`);
|
|
4145
|
+
assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`);
|
|
4332
4146
|
if (summerOffset < winterOffset) {
|
|
4333
4147
|
// Northern hemisphere
|
|
4334
|
-
|
|
4335
|
-
|
|
4148
|
+
stringToUTF8(winterName, std_name, 17);
|
|
4149
|
+
stringToUTF8(summerName, dst_name, 17);
|
|
4336
4150
|
} else {
|
|
4337
|
-
|
|
4338
|
-
|
|
4151
|
+
stringToUTF8(winterName, dst_name, 17);
|
|
4152
|
+
stringToUTF8(summerName, std_name, 17);
|
|
4339
4153
|
}
|
|
4340
4154
|
};
|
|
4341
4155
|
|
|
@@ -4345,16 +4159,10 @@ function dbg(text) {
|
|
|
4345
4159
|
HEAPU8.length;
|
|
4346
4160
|
var _emscripten_get_heap_max = () => getHeapMax();
|
|
4347
4161
|
|
|
4348
|
-
var _emscripten_get_now;
|
|
4349
|
-
// Modern environment where performance.now() is supported:
|
|
4350
|
-
// N.B. a shorter form "_emscripten_get_now = performance.now;" is
|
|
4351
|
-
// unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
|
|
4352
|
-
_emscripten_get_now = () => performance.now();
|
|
4353
|
-
;
|
|
4354
|
-
|
|
4355
|
-
var _emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num);
|
|
4162
|
+
var _emscripten_get_now = () => performance.now();
|
|
4356
4163
|
|
|
4357
4164
|
|
|
4165
|
+
|
|
4358
4166
|
var abortOnCannotGrowMemory = (requestedSize) => {
|
|
4359
4167
|
abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`);
|
|
4360
4168
|
};
|
|
@@ -4368,9 +4176,7 @@ function dbg(text) {
|
|
|
4368
4176
|
var ENV = {
|
|
4369
4177
|
};
|
|
4370
4178
|
|
|
4371
|
-
var getExecutableName = () =>
|
|
4372
|
-
return thisProgram || './this.program';
|
|
4373
|
-
};
|
|
4179
|
+
var getExecutableName = () => thisProgram || './this.program';
|
|
4374
4180
|
var getEnvStrings = () => {
|
|
4375
4181
|
if (!getEnvStrings.strings) {
|
|
4376
4182
|
// Default values.
|
|
@@ -4405,12 +4211,11 @@ function dbg(text) {
|
|
|
4405
4211
|
var stringToAscii = (str, buffer) => {
|
|
4406
4212
|
for (var i = 0; i < str.length; ++i) {
|
|
4407
4213
|
assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff));
|
|
4408
|
-
HEAP8[
|
|
4214
|
+
HEAP8[buffer++] = str.charCodeAt(i);
|
|
4409
4215
|
}
|
|
4410
4216
|
// Null-terminate the string
|
|
4411
|
-
HEAP8[
|
|
4217
|
+
HEAP8[buffer] = 0;
|
|
4412
4218
|
};
|
|
4413
|
-
|
|
4414
4219
|
var _environ_get = (__environ, environ_buf) => {
|
|
4415
4220
|
var bufSize = 0;
|
|
4416
4221
|
getEnvStrings().forEach((string, i) => {
|
|
@@ -4422,7 +4227,6 @@ function dbg(text) {
|
|
|
4422
4227
|
return 0;
|
|
4423
4228
|
};
|
|
4424
4229
|
|
|
4425
|
-
|
|
4426
4230
|
var _environ_sizes_get = (penviron_count, penviron_buf_size) => {
|
|
4427
4231
|
var strings = getEnvStrings();
|
|
4428
4232
|
HEAPU32[((penviron_count)>>2)] = strings.length;
|
|
@@ -4459,7 +4263,7 @@ function dbg(text) {
|
|
|
4459
4263
|
FS.isLink(stream.mode) ? 7 :
|
|
4460
4264
|
4;
|
|
4461
4265
|
}
|
|
4462
|
-
HEAP8[
|
|
4266
|
+
HEAP8[pbuf] = type;
|
|
4463
4267
|
HEAP16[(((pbuf)+(2))>>1)] = flags;
|
|
4464
4268
|
(tempI64 = [rightsBase>>>0,(tempDouble = rightsBase,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((pbuf)+(8))>>2)] = tempI64[0],HEAP32[(((pbuf)+(12))>>2)] = tempI64[1]);
|
|
4465
4269
|
(tempI64 = [rightsInheriting>>>0,(tempDouble = rightsInheriting,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((pbuf)+(16))>>2)] = tempI64[0],HEAP32[(((pbuf)+(20))>>2)] = tempI64[1]);
|
|
@@ -4481,7 +4285,7 @@ function dbg(text) {
|
|
|
4481
4285
|
if (curr < 0) return -1;
|
|
4482
4286
|
ret += curr;
|
|
4483
4287
|
if (curr < len) break; // nothing more to read
|
|
4484
|
-
if (typeof offset
|
|
4288
|
+
if (typeof offset != 'undefined') {
|
|
4485
4289
|
offset += curr;
|
|
4486
4290
|
}
|
|
4487
4291
|
}
|
|
@@ -4503,7 +4307,7 @@ function dbg(text) {
|
|
|
4503
4307
|
|
|
4504
4308
|
|
|
4505
4309
|
function _fd_seek(fd,offset_low, offset_high,whence,newOffset) {
|
|
4506
|
-
var offset = convertI32PairToI53Checked(offset_low, offset_high)
|
|
4310
|
+
var offset = convertI32PairToI53Checked(offset_low, offset_high);
|
|
4507
4311
|
|
|
4508
4312
|
|
|
4509
4313
|
try {
|
|
@@ -4545,7 +4349,11 @@ function dbg(text) {
|
|
|
4545
4349
|
var curr = FS.write(stream, HEAP8, ptr, len, offset);
|
|
4546
4350
|
if (curr < 0) return -1;
|
|
4547
4351
|
ret += curr;
|
|
4548
|
-
if (
|
|
4352
|
+
if (curr < len) {
|
|
4353
|
+
// No more space to write.
|
|
4354
|
+
break;
|
|
4355
|
+
}
|
|
4356
|
+
if (typeof offset != 'undefined') {
|
|
4549
4357
|
offset += curr;
|
|
4550
4358
|
}
|
|
4551
4359
|
}
|
|
@@ -4677,7 +4485,6 @@ function dbg(text) {
|
|
|
4677
4485
|
|
|
4678
4486
|
var runtimeKeepaliveCounter = 0;
|
|
4679
4487
|
var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
|
|
4680
|
-
|
|
4681
4488
|
var _proc_exit = (code) => {
|
|
4682
4489
|
EXITSTATUS = code;
|
|
4683
4490
|
if (!keepRuntimeAlive()) {
|
|
@@ -4687,6 +4494,7 @@ function dbg(text) {
|
|
|
4687
4494
|
quit_(code, new ExitStatus(code));
|
|
4688
4495
|
};
|
|
4689
4496
|
|
|
4497
|
+
|
|
4690
4498
|
/** @param {boolean|number=} implicit */
|
|
4691
4499
|
var exitJS = (status, implicit) => {
|
|
4692
4500
|
EXITSTATUS = status;
|
|
@@ -4806,7 +4614,7 @@ function dbg(text) {
|
|
|
4806
4614
|
];
|
|
4807
4615
|
// Write the overall length of the type section followed by the body
|
|
4808
4616
|
uleb128Encode(typeSectionBody.length, bytes);
|
|
4809
|
-
bytes.push
|
|
4617
|
+
bytes.push(...typeSectionBody);
|
|
4810
4618
|
|
|
4811
4619
|
// The rest of the module is static
|
|
4812
4620
|
bytes.push(
|
|
@@ -4828,14 +4636,17 @@ function dbg(text) {
|
|
|
4828
4636
|
|
|
4829
4637
|
var wasmTableMirror = [];
|
|
4830
4638
|
|
|
4639
|
+
/** @type {WebAssembly.Table} */
|
|
4831
4640
|
var wasmTable;
|
|
4832
4641
|
var getWasmTableEntry = (funcPtr) => {
|
|
4833
4642
|
var func = wasmTableMirror[funcPtr];
|
|
4834
4643
|
if (!func) {
|
|
4835
4644
|
if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;
|
|
4645
|
+
/** @suppress {checkTypes} */
|
|
4836
4646
|
wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
|
|
4837
4647
|
}
|
|
4838
|
-
|
|
4648
|
+
/** @suppress {checkTypes} */
|
|
4649
|
+
assert(wasmTable.get(funcPtr) == func, 'JavaScript-side Wasm function table mirror is out of date!');
|
|
4839
4650
|
return func;
|
|
4840
4651
|
};
|
|
4841
4652
|
|
|
@@ -4872,6 +4683,7 @@ function dbg(text) {
|
|
|
4872
4683
|
}
|
|
4873
4684
|
// Grow the table
|
|
4874
4685
|
try {
|
|
4686
|
+
/** @suppress {checkTypes} */
|
|
4875
4687
|
wasmTable.grow(1);
|
|
4876
4688
|
} catch (err) {
|
|
4877
4689
|
if (!(err instanceof RangeError)) {
|
|
@@ -4885,10 +4697,12 @@ function dbg(text) {
|
|
|
4885
4697
|
|
|
4886
4698
|
|
|
4887
4699
|
var setWasmTableEntry = (idx, func) => {
|
|
4700
|
+
/** @suppress {checkTypes} */
|
|
4888
4701
|
wasmTable.set(idx, func);
|
|
4889
|
-
// With ABORT_ON_WASM_EXCEPTIONS wasmTable.get is
|
|
4702
|
+
// With ABORT_ON_WASM_EXCEPTIONS wasmTable.get is overridden to return wrapped
|
|
4890
4703
|
// functions so we need to call it here to retrieve the potential wrapper correctly
|
|
4891
4704
|
// instead of just storing 'func' directly into wasmTableMirror
|
|
4705
|
+
/** @suppress {checkTypes} */
|
|
4892
4706
|
wasmTableMirror[idx] = wasmTable.get(idx);
|
|
4893
4707
|
};
|
|
4894
4708
|
|
|
@@ -4936,6 +4750,8 @@ function dbg(text) {
|
|
|
4936
4750
|
};
|
|
4937
4751
|
|
|
4938
4752
|
|
|
4753
|
+
|
|
4754
|
+
var stackAlloc = (sz) => __emscripten_stack_alloc(sz);
|
|
4939
4755
|
var stringToUTF8OnStack = (str) => {
|
|
4940
4756
|
var size = lengthBytesUTF8(str) + 1;
|
|
4941
4757
|
var ret = stackAlloc(size);
|
|
@@ -4944,6 +4760,9 @@ function dbg(text) {
|
|
|
4944
4760
|
};
|
|
4945
4761
|
|
|
4946
4762
|
|
|
4763
|
+
|
|
4764
|
+
|
|
4765
|
+
|
|
4947
4766
|
/**
|
|
4948
4767
|
* @param {string|null=} returnType
|
|
4949
4768
|
* @param {Array=} argTypes
|
|
@@ -4956,7 +4775,6 @@ function dbg(text) {
|
|
|
4956
4775
|
'string': (str) => {
|
|
4957
4776
|
var ret = 0;
|
|
4958
4777
|
if (str !== null && str !== undefined && str !== 0) { // null string
|
|
4959
|
-
// at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
|
|
4960
4778
|
ret = stringToUTF8OnStack(str);
|
|
4961
4779
|
}
|
|
4962
4780
|
return ret;
|
|
@@ -4970,7 +4788,6 @@ function dbg(text) {
|
|
|
4970
4788
|
|
|
4971
4789
|
function convertReturnValue(ret) {
|
|
4972
4790
|
if (returnType === 'string') {
|
|
4973
|
-
|
|
4974
4791
|
return UTF8ToString(ret);
|
|
4975
4792
|
}
|
|
4976
4793
|
if (returnType === 'boolean') return Boolean(ret);
|
|
@@ -4992,7 +4809,7 @@ function dbg(text) {
|
|
|
4992
4809
|
}
|
|
4993
4810
|
}
|
|
4994
4811
|
}
|
|
4995
|
-
var ret = func
|
|
4812
|
+
var ret = func(...cArgs);
|
|
4996
4813
|
function onDone(ret) {
|
|
4997
4814
|
if (stack !== 0) stackRestore(stack);
|
|
4998
4815
|
return convertReturnValue(ret);
|
|
@@ -5010,11 +4827,11 @@ function dbg(text) {
|
|
|
5010
4827
|
* @param {Object=} opts
|
|
5011
4828
|
*/
|
|
5012
4829
|
var cwrap = (ident, returnType, argTypes, opts) => {
|
|
5013
|
-
return
|
|
5014
|
-
return ccall(ident, returnType, argTypes, arguments, opts);
|
|
5015
|
-
}
|
|
4830
|
+
return (...args) => ccall(ident, returnType, argTypes, args, opts);
|
|
5016
4831
|
};
|
|
5017
4832
|
|
|
4833
|
+
var getTempRet0 = (val) => __emscripten_tempret_get();
|
|
4834
|
+
|
|
5018
4835
|
|
|
5019
4836
|
|
|
5020
4837
|
|
|
@@ -5067,7 +4884,7 @@ function dbg(text) {
|
|
|
5067
4884
|
var AsciiToString = (ptr) => {
|
|
5068
4885
|
var str = '';
|
|
5069
4886
|
while (1) {
|
|
5070
|
-
var ch = HEAPU8[
|
|
4887
|
+
var ch = HEAPU8[ptr++];
|
|
5071
4888
|
if (!ch) return str;
|
|
5072
4889
|
str += String.fromCharCode(ch);
|
|
5073
4890
|
}
|
|
@@ -5147,53 +4964,10 @@ function dbg(text) {
|
|
|
5147
4964
|
}
|
|
5148
4965
|
|
|
5149
4966
|
|
|
5150
|
-
var FSNode = /** @constructor */ function(parent, name, mode, rdev) {
|
|
5151
|
-
if (!parent) {
|
|
5152
|
-
parent = this; // root node sets parent to itself
|
|
5153
|
-
}
|
|
5154
|
-
this.parent = parent;
|
|
5155
|
-
this.mount = parent.mount;
|
|
5156
|
-
this.mounted = null;
|
|
5157
|
-
this.id = FS.nextInode++;
|
|
5158
|
-
this.name = name;
|
|
5159
|
-
this.mode = mode;
|
|
5160
|
-
this.node_ops = {};
|
|
5161
|
-
this.stream_ops = {};
|
|
5162
|
-
this.rdev = rdev;
|
|
5163
|
-
};
|
|
5164
|
-
var readMode = 292/*292*/ | 73/*73*/;
|
|
5165
|
-
var writeMode = 146/*146*/;
|
|
5166
|
-
Object.defineProperties(FSNode.prototype, {
|
|
5167
|
-
read: {
|
|
5168
|
-
get: /** @this{FSNode} */function() {
|
|
5169
|
-
return (this.mode & readMode) === readMode;
|
|
5170
|
-
},
|
|
5171
|
-
set: /** @this{FSNode} */function(val) {
|
|
5172
|
-
val ? this.mode |= readMode : this.mode &= ~readMode;
|
|
5173
|
-
}
|
|
5174
|
-
},
|
|
5175
|
-
write: {
|
|
5176
|
-
get: /** @this{FSNode} */function() {
|
|
5177
|
-
return (this.mode & writeMode) === writeMode;
|
|
5178
|
-
},
|
|
5179
|
-
set: /** @this{FSNode} */function(val) {
|
|
5180
|
-
val ? this.mode |= writeMode : this.mode &= ~writeMode;
|
|
5181
|
-
}
|
|
5182
|
-
},
|
|
5183
|
-
isFolder: {
|
|
5184
|
-
get: /** @this{FSNode} */function() {
|
|
5185
|
-
return FS.isDir(this.mode);
|
|
5186
|
-
}
|
|
5187
|
-
},
|
|
5188
|
-
isDevice: {
|
|
5189
|
-
get: /** @this{FSNode} */function() {
|
|
5190
|
-
return FS.isChrdev(this.mode);
|
|
5191
|
-
}
|
|
5192
|
-
}
|
|
5193
|
-
});
|
|
5194
|
-
FS.FSNode = FSNode;
|
|
5195
4967
|
FS.createPreloadedFile = FS_createPreloadedFile;
|
|
5196
|
-
FS.staticInit()
|
|
4968
|
+
FS.staticInit();
|
|
4969
|
+
// Set module methods based on EXPORTED_RUNTIME_METHODS
|
|
4970
|
+
;
|
|
5197
4971
|
adapters_support();;
|
|
5198
4972
|
function checkIncomingModuleAPI() {
|
|
5199
4973
|
ignoredModuleProp('fetchSettings');
|
|
@@ -5238,6 +5012,8 @@ var wasmImports = {
|
|
|
5238
5012
|
/** @export */
|
|
5239
5013
|
_emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic,
|
|
5240
5014
|
/** @export */
|
|
5015
|
+
_emscripten_memcpy_js: __emscripten_memcpy_js,
|
|
5016
|
+
/** @export */
|
|
5241
5017
|
_localtime_js: __localtime_js,
|
|
5242
5018
|
/** @export */
|
|
5243
5019
|
_mmap_js: __mmap_js,
|
|
@@ -5252,8 +5028,6 @@ var wasmImports = {
|
|
|
5252
5028
|
/** @export */
|
|
5253
5029
|
emscripten_get_now: _emscripten_get_now,
|
|
5254
5030
|
/** @export */
|
|
5255
|
-
emscripten_memcpy_js: _emscripten_memcpy_js,
|
|
5256
|
-
/** @export */
|
|
5257
5031
|
emscripten_resize_heap: _emscripten_resize_heap,
|
|
5258
5032
|
/** @export */
|
|
5259
5033
|
environ_get: _environ_get,
|
|
@@ -5337,301 +5111,301 @@ var wasmImports = {
|
|
|
5337
5111
|
vpppip_async: _vpppip_async
|
|
5338
5112
|
};
|
|
5339
5113
|
var wasmExports = createWasm();
|
|
5340
|
-
var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors');
|
|
5341
|
-
var _sqlite3_status64 = Module['_sqlite3_status64'] = createExportWrapper('sqlite3_status64');
|
|
5342
|
-
var _sqlite3_status = Module['_sqlite3_status'] = createExportWrapper('sqlite3_status');
|
|
5343
|
-
var _sqlite3_db_status = Module['_sqlite3_db_status'] = createExportWrapper('sqlite3_db_status');
|
|
5344
|
-
var _sqlite3_msize = Module['_sqlite3_msize'] = createExportWrapper('sqlite3_msize');
|
|
5345
|
-
var _sqlite3_vfs_find = Module['_sqlite3_vfs_find'] = createExportWrapper('sqlite3_vfs_find');
|
|
5346
|
-
var _sqlite3_vfs_register = Module['_sqlite3_vfs_register'] = createExportWrapper('sqlite3_vfs_register');
|
|
5347
|
-
var _sqlite3_vfs_unregister = Module['_sqlite3_vfs_unregister'] = createExportWrapper('sqlite3_vfs_unregister');
|
|
5348
|
-
var _sqlite3_release_memory = Module['_sqlite3_release_memory'] = createExportWrapper('sqlite3_release_memory');
|
|
5349
|
-
var _sqlite3_soft_heap_limit64 = Module['_sqlite3_soft_heap_limit64'] = createExportWrapper('sqlite3_soft_heap_limit64');
|
|
5350
|
-
var _sqlite3_memory_used = Module['_sqlite3_memory_used'] = createExportWrapper('sqlite3_memory_used');
|
|
5351
|
-
var _sqlite3_hard_heap_limit64 = Module['_sqlite3_hard_heap_limit64'] = createExportWrapper('sqlite3_hard_heap_limit64');
|
|
5352
|
-
var _sqlite3_memory_highwater = Module['_sqlite3_memory_highwater'] = createExportWrapper('sqlite3_memory_highwater');
|
|
5353
|
-
var _sqlite3_malloc = Module['_sqlite3_malloc'] = createExportWrapper('sqlite3_malloc');
|
|
5354
|
-
var _sqlite3_malloc64 = Module['_sqlite3_malloc64'] = createExportWrapper('sqlite3_malloc64');
|
|
5355
|
-
var _sqlite3_free = Module['_sqlite3_free'] = createExportWrapper('sqlite3_free');
|
|
5356
|
-
var _sqlite3_realloc = Module['_sqlite3_realloc'] = createExportWrapper('sqlite3_realloc');
|
|
5357
|
-
var _sqlite3_realloc64 = Module['_sqlite3_realloc64'] = createExportWrapper('sqlite3_realloc64');
|
|
5358
|
-
var _sqlite3_str_vappendf = Module['_sqlite3_str_vappendf'] = createExportWrapper('sqlite3_str_vappendf');
|
|
5359
|
-
var _sqlite3_str_append = Module['_sqlite3_str_append'] = createExportWrapper('sqlite3_str_append');
|
|
5360
|
-
var _sqlite3_str_appendchar = Module['_sqlite3_str_appendchar'] = createExportWrapper('sqlite3_str_appendchar');
|
|
5361
|
-
var _sqlite3_str_appendall = Module['_sqlite3_str_appendall'] = createExportWrapper('sqlite3_str_appendall');
|
|
5362
|
-
var _sqlite3_str_appendf = Module['_sqlite3_str_appendf'] = createExportWrapper('sqlite3_str_appendf');
|
|
5363
|
-
var _sqlite3_str_finish = Module['_sqlite3_str_finish'] = createExportWrapper('sqlite3_str_finish');
|
|
5364
|
-
var _sqlite3_str_errcode = Module['_sqlite3_str_errcode'] = createExportWrapper('sqlite3_str_errcode');
|
|
5365
|
-
var _sqlite3_str_length = Module['_sqlite3_str_length'] = createExportWrapper('sqlite3_str_length');
|
|
5366
|
-
var _sqlite3_str_value = Module['_sqlite3_str_value'] = createExportWrapper('sqlite3_str_value');
|
|
5367
|
-
var _sqlite3_str_reset = Module['_sqlite3_str_reset'] = createExportWrapper('sqlite3_str_reset');
|
|
5368
|
-
var _sqlite3_str_new = Module['_sqlite3_str_new'] = createExportWrapper('sqlite3_str_new');
|
|
5369
|
-
var _sqlite3_vmprintf = Module['_sqlite3_vmprintf'] = createExportWrapper('sqlite3_vmprintf');
|
|
5370
|
-
var _sqlite3_mprintf = Module['_sqlite3_mprintf'] = createExportWrapper('sqlite3_mprintf');
|
|
5371
|
-
var _sqlite3_vsnprintf = Module['_sqlite3_vsnprintf'] = createExportWrapper('sqlite3_vsnprintf');
|
|
5372
|
-
var _sqlite3_snprintf = Module['_sqlite3_snprintf'] = createExportWrapper('sqlite3_snprintf');
|
|
5373
|
-
var _sqlite3_log = Module['_sqlite3_log'] = createExportWrapper('sqlite3_log');
|
|
5374
|
-
var _sqlite3_randomness = Module['_sqlite3_randomness'] = createExportWrapper('sqlite3_randomness');
|
|
5375
|
-
var _sqlite3_stricmp = Module['_sqlite3_stricmp'] = createExportWrapper('sqlite3_stricmp');
|
|
5376
|
-
var _sqlite3_strnicmp = Module['_sqlite3_strnicmp'] = createExportWrapper('sqlite3_strnicmp');
|
|
5377
|
-
var _sqlite3_os_init = Module['_sqlite3_os_init'] = createExportWrapper('sqlite3_os_init');
|
|
5378
|
-
var _sqlite3_os_end = Module['_sqlite3_os_end'] = createExportWrapper('sqlite3_os_end');
|
|
5379
|
-
var _sqlite3_serialize = Module['_sqlite3_serialize'] = createExportWrapper('sqlite3_serialize');
|
|
5380
|
-
var _sqlite3_prepare_v2 = Module['_sqlite3_prepare_v2'] = createExportWrapper('sqlite3_prepare_v2');
|
|
5381
|
-
var _sqlite3_step = Module['_sqlite3_step'] = createExportWrapper('sqlite3_step');
|
|
5382
|
-
var _sqlite3_column_int64 = Module['_sqlite3_column_int64'] = createExportWrapper('sqlite3_column_int64');
|
|
5383
|
-
var _sqlite3_reset = Module['_sqlite3_reset'] = createExportWrapper('sqlite3_reset');
|
|
5384
|
-
var _sqlite3_exec = Module['_sqlite3_exec'] = createExportWrapper('sqlite3_exec');
|
|
5385
|
-
var _sqlite3_column_int = Module['_sqlite3_column_int'] = createExportWrapper('sqlite3_column_int');
|
|
5386
|
-
var _sqlite3_finalize = Module['_sqlite3_finalize'] = createExportWrapper('sqlite3_finalize');
|
|
5387
|
-
var _sqlite3_deserialize = Module['_sqlite3_deserialize'] = createExportWrapper('sqlite3_deserialize');
|
|
5388
|
-
var _sqlite3_database_file_object = Module['_sqlite3_database_file_object'] = createExportWrapper('sqlite3_database_file_object');
|
|
5389
|
-
var _sqlite3_backup_init = Module['_sqlite3_backup_init'] = createExportWrapper('sqlite3_backup_init');
|
|
5390
|
-
var _sqlite3_backup_step = Module['_sqlite3_backup_step'] = createExportWrapper('sqlite3_backup_step');
|
|
5391
|
-
var _sqlite3_backup_finish = Module['_sqlite3_backup_finish'] = createExportWrapper('sqlite3_backup_finish');
|
|
5392
|
-
var _sqlite3_backup_remaining = Module['_sqlite3_backup_remaining'] = createExportWrapper('sqlite3_backup_remaining');
|
|
5393
|
-
var _sqlite3_backup_pagecount = Module['_sqlite3_backup_pagecount'] = createExportWrapper('sqlite3_backup_pagecount');
|
|
5394
|
-
var _sqlite3_clear_bindings = Module['_sqlite3_clear_bindings'] = createExportWrapper('sqlite3_clear_bindings');
|
|
5395
|
-
var _sqlite3_value_blob = Module['_sqlite3_value_blob'] = createExportWrapper('sqlite3_value_blob');
|
|
5396
|
-
var _sqlite3_value_text = Module['_sqlite3_value_text'] = createExportWrapper('sqlite3_value_text');
|
|
5397
|
-
var _sqlite3_value_bytes = Module['_sqlite3_value_bytes'] = createExportWrapper('sqlite3_value_bytes');
|
|
5398
|
-
var _sqlite3_value_bytes16 = Module['_sqlite3_value_bytes16'] = createExportWrapper('sqlite3_value_bytes16');
|
|
5399
|
-
var _sqlite3_value_double = Module['_sqlite3_value_double'] = createExportWrapper('sqlite3_value_double');
|
|
5400
|
-
var _sqlite3_value_int = Module['_sqlite3_value_int'] = createExportWrapper('sqlite3_value_int');
|
|
5401
|
-
var _sqlite3_value_int64 = Module['_sqlite3_value_int64'] = createExportWrapper('sqlite3_value_int64');
|
|
5402
|
-
var _sqlite3_value_subtype = Module['_sqlite3_value_subtype'] = createExportWrapper('sqlite3_value_subtype');
|
|
5403
|
-
var _sqlite3_value_pointer = Module['_sqlite3_value_pointer'] = createExportWrapper('sqlite3_value_pointer');
|
|
5404
|
-
var _sqlite3_value_text16 = Module['_sqlite3_value_text16'] = createExportWrapper('sqlite3_value_text16');
|
|
5405
|
-
var _sqlite3_value_text16be = Module['_sqlite3_value_text16be'] = createExportWrapper('sqlite3_value_text16be');
|
|
5406
|
-
var _sqlite3_value_text16le = Module['_sqlite3_value_text16le'] = createExportWrapper('sqlite3_value_text16le');
|
|
5407
|
-
var _sqlite3_value_type = Module['_sqlite3_value_type'] = createExportWrapper('sqlite3_value_type');
|
|
5408
|
-
var _sqlite3_value_encoding = Module['_sqlite3_value_encoding'] = createExportWrapper('sqlite3_value_encoding');
|
|
5409
|
-
var _sqlite3_value_nochange = Module['_sqlite3_value_nochange'] = createExportWrapper('sqlite3_value_nochange');
|
|
5410
|
-
var _sqlite3_value_frombind = Module['_sqlite3_value_frombind'] = createExportWrapper('sqlite3_value_frombind');
|
|
5411
|
-
var _sqlite3_value_dup = Module['_sqlite3_value_dup'] = createExportWrapper('sqlite3_value_dup');
|
|
5412
|
-
var _sqlite3_value_free = Module['_sqlite3_value_free'] = createExportWrapper('sqlite3_value_free');
|
|
5413
|
-
var _sqlite3_result_blob = Module['_sqlite3_result_blob'] = createExportWrapper('sqlite3_result_blob');
|
|
5414
|
-
var _sqlite3_result_blob64 = Module['_sqlite3_result_blob64'] = createExportWrapper('sqlite3_result_blob64');
|
|
5415
|
-
var _sqlite3_result_double = Module['_sqlite3_result_double'] = createExportWrapper('sqlite3_result_double');
|
|
5416
|
-
var _sqlite3_result_error = Module['_sqlite3_result_error'] = createExportWrapper('sqlite3_result_error');
|
|
5417
|
-
var _sqlite3_result_error16 = Module['_sqlite3_result_error16'] = createExportWrapper('sqlite3_result_error16');
|
|
5418
|
-
var _sqlite3_result_int = Module['_sqlite3_result_int'] = createExportWrapper('sqlite3_result_int');
|
|
5419
|
-
var _sqlite3_result_int64 = Module['_sqlite3_result_int64'] = createExportWrapper('sqlite3_result_int64');
|
|
5420
|
-
var _sqlite3_result_null = Module['_sqlite3_result_null'] = createExportWrapper('sqlite3_result_null');
|
|
5421
|
-
var _sqlite3_result_pointer = Module['_sqlite3_result_pointer'] = createExportWrapper('sqlite3_result_pointer');
|
|
5422
|
-
var _sqlite3_result_subtype = Module['_sqlite3_result_subtype'] = createExportWrapper('sqlite3_result_subtype');
|
|
5423
|
-
var _sqlite3_result_text = Module['_sqlite3_result_text'] = createExportWrapper('sqlite3_result_text');
|
|
5424
|
-
var _sqlite3_result_text64 = Module['_sqlite3_result_text64'] = createExportWrapper('sqlite3_result_text64');
|
|
5425
|
-
var _sqlite3_result_text16 = Module['_sqlite3_result_text16'] = createExportWrapper('sqlite3_result_text16');
|
|
5426
|
-
var _sqlite3_result_text16be = Module['_sqlite3_result_text16be'] = createExportWrapper('sqlite3_result_text16be');
|
|
5427
|
-
var _sqlite3_result_text16le = Module['_sqlite3_result_text16le'] = createExportWrapper('sqlite3_result_text16le');
|
|
5428
|
-
var _sqlite3_result_value = Module['_sqlite3_result_value'] = createExportWrapper('sqlite3_result_value');
|
|
5429
|
-
var _sqlite3_result_error_toobig = Module['_sqlite3_result_error_toobig'] = createExportWrapper('sqlite3_result_error_toobig');
|
|
5430
|
-
var _sqlite3_result_zeroblob = Module['_sqlite3_result_zeroblob'] = createExportWrapper('sqlite3_result_zeroblob');
|
|
5431
|
-
var _sqlite3_result_zeroblob64 = Module['_sqlite3_result_zeroblob64'] = createExportWrapper('sqlite3_result_zeroblob64');
|
|
5432
|
-
var _sqlite3_result_error_code = Module['_sqlite3_result_error_code'] = createExportWrapper('sqlite3_result_error_code');
|
|
5433
|
-
var _sqlite3_result_error_nomem = Module['_sqlite3_result_error_nomem'] = createExportWrapper('sqlite3_result_error_nomem');
|
|
5434
|
-
var _sqlite3_user_data = Module['_sqlite3_user_data'] = createExportWrapper('sqlite3_user_data');
|
|
5435
|
-
var _sqlite3_context_db_handle = Module['_sqlite3_context_db_handle'] = createExportWrapper('sqlite3_context_db_handle');
|
|
5436
|
-
var _sqlite3_vtab_nochange = Module['_sqlite3_vtab_nochange'] = createExportWrapper('sqlite3_vtab_nochange');
|
|
5437
|
-
var _sqlite3_vtab_in_first = Module['_sqlite3_vtab_in_first'] = createExportWrapper('sqlite3_vtab_in_first');
|
|
5438
|
-
var _sqlite3_vtab_in_next = Module['_sqlite3_vtab_in_next'] = createExportWrapper('sqlite3_vtab_in_next');
|
|
5439
|
-
var _sqlite3_aggregate_context = Module['_sqlite3_aggregate_context'] = createExportWrapper('sqlite3_aggregate_context');
|
|
5440
|
-
var _sqlite3_get_auxdata = Module['_sqlite3_get_auxdata'] = createExportWrapper('sqlite3_get_auxdata');
|
|
5441
|
-
var _sqlite3_set_auxdata = Module['_sqlite3_set_auxdata'] = createExportWrapper('sqlite3_set_auxdata');
|
|
5442
|
-
var _sqlite3_column_count = Module['_sqlite3_column_count'] = createExportWrapper('sqlite3_column_count');
|
|
5443
|
-
var _sqlite3_data_count = Module['_sqlite3_data_count'] = createExportWrapper('sqlite3_data_count');
|
|
5444
|
-
var _sqlite3_column_blob = Module['_sqlite3_column_blob'] = createExportWrapper('sqlite3_column_blob');
|
|
5445
|
-
var _sqlite3_column_bytes = Module['_sqlite3_column_bytes'] = createExportWrapper('sqlite3_column_bytes');
|
|
5446
|
-
var _sqlite3_column_bytes16 = Module['_sqlite3_column_bytes16'] = createExportWrapper('sqlite3_column_bytes16');
|
|
5447
|
-
var _sqlite3_column_double = Module['_sqlite3_column_double'] = createExportWrapper('sqlite3_column_double');
|
|
5448
|
-
var _sqlite3_column_text = Module['_sqlite3_column_text'] = createExportWrapper('sqlite3_column_text');
|
|
5449
|
-
var _sqlite3_column_value = Module['_sqlite3_column_value'] = createExportWrapper('sqlite3_column_value');
|
|
5450
|
-
var _sqlite3_column_text16 = Module['_sqlite3_column_text16'] = createExportWrapper('sqlite3_column_text16');
|
|
5451
|
-
var _sqlite3_column_type = Module['_sqlite3_column_type'] = createExportWrapper('sqlite3_column_type');
|
|
5452
|
-
var _sqlite3_column_name = Module['_sqlite3_column_name'] = createExportWrapper('sqlite3_column_name');
|
|
5453
|
-
var _sqlite3_column_name16 = Module['_sqlite3_column_name16'] = createExportWrapper('sqlite3_column_name16');
|
|
5454
|
-
var _sqlite3_bind_blob = Module['_sqlite3_bind_blob'] = createExportWrapper('sqlite3_bind_blob');
|
|
5455
|
-
var _sqlite3_bind_blob64 = Module['_sqlite3_bind_blob64'] = createExportWrapper('sqlite3_bind_blob64');
|
|
5456
|
-
var _sqlite3_bind_double = Module['_sqlite3_bind_double'] = createExportWrapper('sqlite3_bind_double');
|
|
5457
|
-
var _sqlite3_bind_int = Module['_sqlite3_bind_int'] = createExportWrapper('sqlite3_bind_int');
|
|
5458
|
-
var _sqlite3_bind_int64 = Module['_sqlite3_bind_int64'] = createExportWrapper('sqlite3_bind_int64');
|
|
5459
|
-
var _sqlite3_bind_null = Module['_sqlite3_bind_null'] = createExportWrapper('sqlite3_bind_null');
|
|
5460
|
-
var _sqlite3_bind_pointer = Module['_sqlite3_bind_pointer'] = createExportWrapper('sqlite3_bind_pointer');
|
|
5461
|
-
var _sqlite3_bind_text = Module['_sqlite3_bind_text'] = createExportWrapper('sqlite3_bind_text');
|
|
5462
|
-
var _sqlite3_bind_text64 = Module['_sqlite3_bind_text64'] = createExportWrapper('sqlite3_bind_text64');
|
|
5463
|
-
var _sqlite3_bind_text16 = Module['_sqlite3_bind_text16'] = createExportWrapper('sqlite3_bind_text16');
|
|
5464
|
-
var _sqlite3_bind_value = Module['_sqlite3_bind_value'] = createExportWrapper('sqlite3_bind_value');
|
|
5465
|
-
var _sqlite3_bind_zeroblob = Module['_sqlite3_bind_zeroblob'] = createExportWrapper('sqlite3_bind_zeroblob');
|
|
5466
|
-
var _sqlite3_bind_zeroblob64 = Module['_sqlite3_bind_zeroblob64'] = createExportWrapper('sqlite3_bind_zeroblob64');
|
|
5467
|
-
var _sqlite3_bind_parameter_count = Module['_sqlite3_bind_parameter_count'] = createExportWrapper('sqlite3_bind_parameter_count');
|
|
5468
|
-
var _sqlite3_bind_parameter_name = Module['_sqlite3_bind_parameter_name'] = createExportWrapper('sqlite3_bind_parameter_name');
|
|
5469
|
-
var _sqlite3_bind_parameter_index = Module['_sqlite3_bind_parameter_index'] = createExportWrapper('sqlite3_bind_parameter_index');
|
|
5470
|
-
var _sqlite3_db_handle = Module['_sqlite3_db_handle'] = createExportWrapper('sqlite3_db_handle');
|
|
5471
|
-
var _sqlite3_stmt_readonly = Module['_sqlite3_stmt_readonly'] = createExportWrapper('sqlite3_stmt_readonly');
|
|
5472
|
-
var _sqlite3_stmt_isexplain = Module['_sqlite3_stmt_isexplain'] = createExportWrapper('sqlite3_stmt_isexplain');
|
|
5473
|
-
var _sqlite3_stmt_explain = Module['_sqlite3_stmt_explain'] = createExportWrapper('sqlite3_stmt_explain');
|
|
5474
|
-
var _sqlite3_stmt_busy = Module['_sqlite3_stmt_busy'] = createExportWrapper('sqlite3_stmt_busy');
|
|
5475
|
-
var _sqlite3_next_stmt = Module['_sqlite3_next_stmt'] = createExportWrapper('sqlite3_next_stmt');
|
|
5476
|
-
var _sqlite3_stmt_status = Module['_sqlite3_stmt_status'] = createExportWrapper('sqlite3_stmt_status');
|
|
5477
|
-
var _sqlite3_sql = Module['_sqlite3_sql'] = createExportWrapper('sqlite3_sql');
|
|
5478
|
-
var _sqlite3_expanded_sql = Module['_sqlite3_expanded_sql'] = createExportWrapper('sqlite3_expanded_sql');
|
|
5479
|
-
var _sqlite3_value_numeric_type = Module['_sqlite3_value_numeric_type'] = createExportWrapper('sqlite3_value_numeric_type');
|
|
5480
|
-
var _sqlite3_blob_open = Module['_sqlite3_blob_open'] = createExportWrapper('sqlite3_blob_open');
|
|
5481
|
-
var _sqlite3_blob_close = Module['_sqlite3_blob_close'] = createExportWrapper('sqlite3_blob_close');
|
|
5482
|
-
var _sqlite3_blob_read = Module['_sqlite3_blob_read'] = createExportWrapper('sqlite3_blob_read');
|
|
5483
|
-
var _sqlite3_blob_write = Module['_sqlite3_blob_write'] = createExportWrapper('sqlite3_blob_write');
|
|
5484
|
-
var _sqlite3_blob_bytes = Module['_sqlite3_blob_bytes'] = createExportWrapper('sqlite3_blob_bytes');
|
|
5485
|
-
var _sqlite3_blob_reopen = Module['_sqlite3_blob_reopen'] = createExportWrapper('sqlite3_blob_reopen');
|
|
5486
|
-
var _sqlite3_set_authorizer = Module['_sqlite3_set_authorizer'] = createExportWrapper('sqlite3_set_authorizer');
|
|
5487
|
-
var _sqlite3_strglob = Module['_sqlite3_strglob'] = createExportWrapper('sqlite3_strglob');
|
|
5488
|
-
var _sqlite3_strlike = Module['_sqlite3_strlike'] = createExportWrapper('sqlite3_strlike');
|
|
5489
|
-
var _sqlite3_errmsg = Module['_sqlite3_errmsg'] = createExportWrapper('sqlite3_errmsg');
|
|
5490
|
-
var _sqlite3_auto_extension = Module['_sqlite3_auto_extension'] = createExportWrapper('sqlite3_auto_extension');
|
|
5491
|
-
var _sqlite3_cancel_auto_extension = Module['_sqlite3_cancel_auto_extension'] = createExportWrapper('sqlite3_cancel_auto_extension');
|
|
5492
|
-
var _sqlite3_reset_auto_extension = Module['_sqlite3_reset_auto_extension'] = createExportWrapper('sqlite3_reset_auto_extension');
|
|
5493
|
-
var _sqlite3_prepare = Module['_sqlite3_prepare'] = createExportWrapper('sqlite3_prepare');
|
|
5494
|
-
var _sqlite3_prepare_v3 = Module['_sqlite3_prepare_v3'] = createExportWrapper('sqlite3_prepare_v3');
|
|
5495
|
-
var _sqlite3_prepare16 = Module['_sqlite3_prepare16'] = createExportWrapper('sqlite3_prepare16');
|
|
5496
|
-
var _sqlite3_prepare16_v2 = Module['_sqlite3_prepare16_v2'] = createExportWrapper('sqlite3_prepare16_v2');
|
|
5497
|
-
var _sqlite3_prepare16_v3 = Module['_sqlite3_prepare16_v3'] = createExportWrapper('sqlite3_prepare16_v3');
|
|
5498
|
-
var _sqlite3_get_table = Module['_sqlite3_get_table'] = createExportWrapper('sqlite3_get_table');
|
|
5499
|
-
var _sqlite3_free_table = Module['_sqlite3_free_table'] = createExportWrapper('sqlite3_free_table');
|
|
5500
|
-
var _sqlite3_create_module = Module['_sqlite3_create_module'] = createExportWrapper('sqlite3_create_module');
|
|
5501
|
-
var _sqlite3_create_module_v2 = Module['_sqlite3_create_module_v2'] = createExportWrapper('sqlite3_create_module_v2');
|
|
5502
|
-
var _sqlite3_drop_modules = Module['_sqlite3_drop_modules'] = createExportWrapper('sqlite3_drop_modules');
|
|
5503
|
-
var _sqlite3_declare_vtab = Module['_sqlite3_declare_vtab'] = createExportWrapper('sqlite3_declare_vtab');
|
|
5504
|
-
var _sqlite3_vtab_on_conflict = Module['_sqlite3_vtab_on_conflict'] = createExportWrapper('sqlite3_vtab_on_conflict');
|
|
5505
|
-
var _sqlite3_vtab_config = Module['_sqlite3_vtab_config'] = createExportWrapper('sqlite3_vtab_config');
|
|
5506
|
-
var _sqlite3_vtab_collation = Module['_sqlite3_vtab_collation'] = createExportWrapper('sqlite3_vtab_collation');
|
|
5507
|
-
var _sqlite3_vtab_in = Module['_sqlite3_vtab_in'] = createExportWrapper('sqlite3_vtab_in');
|
|
5508
|
-
var _sqlite3_vtab_rhs_value = Module['_sqlite3_vtab_rhs_value'] = createExportWrapper('sqlite3_vtab_rhs_value');
|
|
5509
|
-
var _sqlite3_vtab_distinct = Module['_sqlite3_vtab_distinct'] = createExportWrapper('sqlite3_vtab_distinct');
|
|
5510
|
-
var _sqlite3_keyword_name = Module['_sqlite3_keyword_name'] = createExportWrapper('sqlite3_keyword_name');
|
|
5511
|
-
var _sqlite3_keyword_count = Module['_sqlite3_keyword_count'] = createExportWrapper('sqlite3_keyword_count');
|
|
5512
|
-
var _sqlite3_keyword_check = Module['_sqlite3_keyword_check'] = createExportWrapper('sqlite3_keyword_check');
|
|
5513
|
-
var _sqlite3_complete = Module['_sqlite3_complete'] = createExportWrapper('sqlite3_complete');
|
|
5514
|
-
var _sqlite3_complete16 = Module['_sqlite3_complete16'] = createExportWrapper('sqlite3_complete16');
|
|
5515
|
-
var _sqlite3_libversion = Module['_sqlite3_libversion'] = createExportWrapper('sqlite3_libversion');
|
|
5516
|
-
var _sqlite3_libversion_number = Module['_sqlite3_libversion_number'] = createExportWrapper('sqlite3_libversion_number');
|
|
5517
|
-
var _sqlite3_threadsafe = Module['_sqlite3_threadsafe'] = createExportWrapper('sqlite3_threadsafe');
|
|
5518
|
-
var _sqlite3_initialize = Module['_sqlite3_initialize'] = createExportWrapper('sqlite3_initialize');
|
|
5519
|
-
var _sqlite3_shutdown = Module['_sqlite3_shutdown'] = createExportWrapper('sqlite3_shutdown');
|
|
5520
|
-
var _sqlite3_config = Module['_sqlite3_config'] = createExportWrapper('sqlite3_config');
|
|
5521
|
-
var _sqlite3_db_mutex = Module['_sqlite3_db_mutex'] = createExportWrapper('sqlite3_db_mutex');
|
|
5522
|
-
var _sqlite3_db_release_memory = Module['_sqlite3_db_release_memory'] = createExportWrapper('sqlite3_db_release_memory');
|
|
5523
|
-
var _sqlite3_db_cacheflush = Module['_sqlite3_db_cacheflush'] = createExportWrapper('sqlite3_db_cacheflush');
|
|
5524
|
-
var _sqlite3_db_config = Module['_sqlite3_db_config'] = createExportWrapper('sqlite3_db_config');
|
|
5525
|
-
var _sqlite3_last_insert_rowid = Module['_sqlite3_last_insert_rowid'] = createExportWrapper('sqlite3_last_insert_rowid');
|
|
5526
|
-
var _sqlite3_set_last_insert_rowid = Module['_sqlite3_set_last_insert_rowid'] = createExportWrapper('sqlite3_set_last_insert_rowid');
|
|
5527
|
-
var _sqlite3_changes64 = Module['_sqlite3_changes64'] = createExportWrapper('sqlite3_changes64');
|
|
5528
|
-
var _sqlite3_changes = Module['_sqlite3_changes'] = createExportWrapper('sqlite3_changes');
|
|
5529
|
-
var _sqlite3_total_changes64 = Module['_sqlite3_total_changes64'] = createExportWrapper('sqlite3_total_changes64');
|
|
5530
|
-
var _sqlite3_total_changes = Module['_sqlite3_total_changes'] = createExportWrapper('sqlite3_total_changes');
|
|
5531
|
-
var _sqlite3_txn_state = Module['_sqlite3_txn_state'] = createExportWrapper('sqlite3_txn_state');
|
|
5532
|
-
var _sqlite3_close = Module['_sqlite3_close'] = createExportWrapper('sqlite3_close');
|
|
5533
|
-
var _sqlite3_close_v2 = Module['_sqlite3_close_v2'] = createExportWrapper('sqlite3_close_v2');
|
|
5534
|
-
var _sqlite3_busy_handler = Module['_sqlite3_busy_handler'] = createExportWrapper('sqlite3_busy_handler');
|
|
5535
|
-
var _sqlite3_progress_handler = Module['_sqlite3_progress_handler'] = createExportWrapper('sqlite3_progress_handler');
|
|
5536
|
-
var _sqlite3_busy_timeout = Module['_sqlite3_busy_timeout'] = createExportWrapper('sqlite3_busy_timeout');
|
|
5537
|
-
var _sqlite3_interrupt = Module['_sqlite3_interrupt'] = createExportWrapper('sqlite3_interrupt');
|
|
5538
|
-
var _sqlite3_is_interrupted = Module['_sqlite3_is_interrupted'] = createExportWrapper('sqlite3_is_interrupted');
|
|
5539
|
-
var _sqlite3_create_function = Module['_sqlite3_create_function'] = createExportWrapper('sqlite3_create_function');
|
|
5540
|
-
var _sqlite3_create_function_v2 = Module['_sqlite3_create_function_v2'] = createExportWrapper('sqlite3_create_function_v2');
|
|
5541
|
-
var _sqlite3_create_window_function = Module['_sqlite3_create_window_function'] = createExportWrapper('sqlite3_create_window_function');
|
|
5542
|
-
var _sqlite3_create_function16 = Module['_sqlite3_create_function16'] = createExportWrapper('sqlite3_create_function16');
|
|
5543
|
-
var _sqlite3_overload_function = Module['_sqlite3_overload_function'] = createExportWrapper('sqlite3_overload_function');
|
|
5544
|
-
var _sqlite3_trace_v2 = Module['_sqlite3_trace_v2'] = createExportWrapper('sqlite3_trace_v2');
|
|
5545
|
-
var _sqlite3_commit_hook = Module['_sqlite3_commit_hook'] = createExportWrapper('sqlite3_commit_hook');
|
|
5546
|
-
var _sqlite3_update_hook = Module['_sqlite3_update_hook'] = createExportWrapper('sqlite3_update_hook');
|
|
5547
|
-
var _sqlite3_rollback_hook = Module['_sqlite3_rollback_hook'] = createExportWrapper('sqlite3_rollback_hook');
|
|
5548
|
-
var _sqlite3_autovacuum_pages = Module['_sqlite3_autovacuum_pages'] = createExportWrapper('sqlite3_autovacuum_pages');
|
|
5549
|
-
var _sqlite3_wal_autocheckpoint = Module['_sqlite3_wal_autocheckpoint'] = createExportWrapper('sqlite3_wal_autocheckpoint');
|
|
5550
|
-
var _sqlite3_wal_hook = Module['_sqlite3_wal_hook'] = createExportWrapper('sqlite3_wal_hook');
|
|
5551
|
-
var _sqlite3_wal_checkpoint_v2 = Module['_sqlite3_wal_checkpoint_v2'] = createExportWrapper('sqlite3_wal_checkpoint_v2');
|
|
5552
|
-
var _sqlite3_wal_checkpoint = Module['_sqlite3_wal_checkpoint'] = createExportWrapper('sqlite3_wal_checkpoint');
|
|
5553
|
-
var _sqlite3_error_offset = Module['_sqlite3_error_offset'] = createExportWrapper('sqlite3_error_offset');
|
|
5554
|
-
var _sqlite3_errmsg16 = Module['_sqlite3_errmsg16'] = createExportWrapper('sqlite3_errmsg16');
|
|
5555
|
-
var _sqlite3_errcode = Module['_sqlite3_errcode'] = createExportWrapper('sqlite3_errcode');
|
|
5556
|
-
var _sqlite3_extended_errcode = Module['_sqlite3_extended_errcode'] = createExportWrapper('sqlite3_extended_errcode');
|
|
5557
|
-
var _sqlite3_system_errno = Module['_sqlite3_system_errno'] = createExportWrapper('sqlite3_system_errno');
|
|
5558
|
-
var _sqlite3_errstr = Module['_sqlite3_errstr'] = createExportWrapper('sqlite3_errstr');
|
|
5559
|
-
var _sqlite3_limit = Module['_sqlite3_limit'] = createExportWrapper('sqlite3_limit');
|
|
5560
|
-
var _sqlite3_open = Module['_sqlite3_open'] = createExportWrapper('sqlite3_open');
|
|
5561
|
-
var _sqlite3_open_v2 = Module['_sqlite3_open_v2'] = createExportWrapper('sqlite3_open_v2');
|
|
5562
|
-
var _sqlite3_open16 = Module['_sqlite3_open16'] = createExportWrapper('sqlite3_open16');
|
|
5563
|
-
var _sqlite3_create_collation = Module['_sqlite3_create_collation'] = createExportWrapper('sqlite3_create_collation');
|
|
5564
|
-
var _sqlite3_create_collation_v2 = Module['_sqlite3_create_collation_v2'] = createExportWrapper('sqlite3_create_collation_v2');
|
|
5565
|
-
var _sqlite3_create_collation16 = Module['_sqlite3_create_collation16'] = createExportWrapper('sqlite3_create_collation16');
|
|
5566
|
-
var _sqlite3_collation_needed = Module['_sqlite3_collation_needed'] = createExportWrapper('sqlite3_collation_needed');
|
|
5567
|
-
var _sqlite3_collation_needed16 = Module['_sqlite3_collation_needed16'] = createExportWrapper('sqlite3_collation_needed16');
|
|
5568
|
-
var _sqlite3_get_clientdata = Module['_sqlite3_get_clientdata'] = createExportWrapper('sqlite3_get_clientdata');
|
|
5569
|
-
var _sqlite3_set_clientdata = Module['_sqlite3_set_clientdata'] = createExportWrapper('sqlite3_set_clientdata');
|
|
5570
|
-
var _sqlite3_get_autocommit = Module['_sqlite3_get_autocommit'] = createExportWrapper('sqlite3_get_autocommit');
|
|
5571
|
-
var _sqlite3_table_column_metadata = Module['_sqlite3_table_column_metadata'] = createExportWrapper('sqlite3_table_column_metadata');
|
|
5572
|
-
var _sqlite3_sleep = Module['_sqlite3_sleep'] = createExportWrapper('sqlite3_sleep');
|
|
5573
|
-
var _sqlite3_extended_result_codes = Module['_sqlite3_extended_result_codes'] = createExportWrapper('sqlite3_extended_result_codes');
|
|
5574
|
-
var _sqlite3_file_control = Module['_sqlite3_file_control'] = createExportWrapper('sqlite3_file_control');
|
|
5575
|
-
var _sqlite3_test_control = Module['_sqlite3_test_control'] = createExportWrapper('sqlite3_test_control');
|
|
5576
|
-
var _sqlite3_create_filename = Module['_sqlite3_create_filename'] = createExportWrapper('sqlite3_create_filename');
|
|
5577
|
-
var _sqlite3_free_filename = Module['_sqlite3_free_filename'] = createExportWrapper('sqlite3_free_filename');
|
|
5578
|
-
var _sqlite3_uri_parameter = Module['_sqlite3_uri_parameter'] = createExportWrapper('sqlite3_uri_parameter');
|
|
5579
|
-
var _sqlite3_uri_key = Module['_sqlite3_uri_key'] = createExportWrapper('sqlite3_uri_key');
|
|
5580
|
-
var _sqlite3_uri_boolean = Module['_sqlite3_uri_boolean'] = createExportWrapper('sqlite3_uri_boolean');
|
|
5581
|
-
var _sqlite3_uri_int64 = Module['_sqlite3_uri_int64'] = createExportWrapper('sqlite3_uri_int64');
|
|
5582
|
-
var _sqlite3_filename_database = Module['_sqlite3_filename_database'] = createExportWrapper('sqlite3_filename_database');
|
|
5583
|
-
var _sqlite3_filename_journal = Module['_sqlite3_filename_journal'] = createExportWrapper('sqlite3_filename_journal');
|
|
5584
|
-
var _sqlite3_filename_wal = Module['_sqlite3_filename_wal'] = createExportWrapper('sqlite3_filename_wal');
|
|
5585
|
-
var _sqlite3_db_name = Module['_sqlite3_db_name'] = createExportWrapper('sqlite3_db_name');
|
|
5586
|
-
var _sqlite3_db_filename = Module['_sqlite3_db_filename'] = createExportWrapper('sqlite3_db_filename');
|
|
5587
|
-
var _sqlite3_db_readonly = Module['_sqlite3_db_readonly'] = createExportWrapper('sqlite3_db_readonly');
|
|
5588
|
-
var _sqlite3_compileoption_used = Module['_sqlite3_compileoption_used'] = createExportWrapper('sqlite3_compileoption_used');
|
|
5589
|
-
var _sqlite3_compileoption_get = Module['_sqlite3_compileoption_get'] = createExportWrapper('sqlite3_compileoption_get');
|
|
5590
|
-
var _sqlite3session_create = Module['_sqlite3session_create'] = createExportWrapper('sqlite3session_create');
|
|
5591
|
-
var _sqlite3session_delete = Module['_sqlite3session_delete'] = createExportWrapper('sqlite3session_delete');
|
|
5592
|
-
var _sqlite3session_attach = Module['_sqlite3session_attach'] = createExportWrapper('sqlite3session_attach');
|
|
5593
|
-
var _sqlite3session_changeset = Module['_sqlite3session_changeset'] = createExportWrapper('sqlite3session_changeset');
|
|
5594
|
-
var _sqlite3session_enable = Module['_sqlite3session_enable'] = createExportWrapper('sqlite3session_enable');
|
|
5595
|
-
var _sqlite3changeset_start = Module['_sqlite3changeset_start'] = createExportWrapper('sqlite3changeset_start');
|
|
5596
|
-
var _sqlite3changeset_finalize = Module['_sqlite3changeset_finalize'] = createExportWrapper('sqlite3changeset_finalize');
|
|
5597
|
-
var _sqlite3changeset_invert = Module['_sqlite3changeset_invert'] = createExportWrapper('sqlite3changeset_invert');
|
|
5598
|
-
var _sqlite3changeset_apply = Module['_sqlite3changeset_apply'] = createExportWrapper('sqlite3changeset_apply');
|
|
5599
|
-
var _sqlite3_sourceid = Module['_sqlite3_sourceid'] = createExportWrapper('sqlite3_sourceid');
|
|
5600
|
-
var
|
|
5601
|
-
var _malloc = Module['_malloc'] = createExportWrapper('malloc');
|
|
5602
|
-
var _free = Module['_free'] = createExportWrapper('free');
|
|
5603
|
-
var _RegisterExtensionFunctions = Module['_RegisterExtensionFunctions'] = createExportWrapper('RegisterExtensionFunctions');
|
|
5604
|
-
var _getSqliteFree = Module['_getSqliteFree'] = createExportWrapper('getSqliteFree');
|
|
5605
|
-
var _main = Module['_main'] = createExportWrapper('main');
|
|
5606
|
-
var _libauthorizer_set_authorizer = Module['_libauthorizer_set_authorizer'] = createExportWrapper('libauthorizer_set_authorizer');
|
|
5607
|
-
var _libfunction_create_function = Module['_libfunction_create_function'] = createExportWrapper('libfunction_create_function');
|
|
5608
|
-
var
|
|
5609
|
-
var
|
|
5610
|
-
var
|
|
5611
|
-
var
|
|
5612
|
-
var
|
|
5613
|
-
var
|
|
5614
|
-
var
|
|
5114
|
+
var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0);
|
|
5115
|
+
var _sqlite3_status64 = Module['_sqlite3_status64'] = createExportWrapper('sqlite3_status64', 4);
|
|
5116
|
+
var _sqlite3_status = Module['_sqlite3_status'] = createExportWrapper('sqlite3_status', 4);
|
|
5117
|
+
var _sqlite3_db_status = Module['_sqlite3_db_status'] = createExportWrapper('sqlite3_db_status', 5);
|
|
5118
|
+
var _sqlite3_msize = Module['_sqlite3_msize'] = createExportWrapper('sqlite3_msize', 1);
|
|
5119
|
+
var _sqlite3_vfs_find = Module['_sqlite3_vfs_find'] = createExportWrapper('sqlite3_vfs_find', 1);
|
|
5120
|
+
var _sqlite3_vfs_register = Module['_sqlite3_vfs_register'] = createExportWrapper('sqlite3_vfs_register', 2);
|
|
5121
|
+
var _sqlite3_vfs_unregister = Module['_sqlite3_vfs_unregister'] = createExportWrapper('sqlite3_vfs_unregister', 1);
|
|
5122
|
+
var _sqlite3_release_memory = Module['_sqlite3_release_memory'] = createExportWrapper('sqlite3_release_memory', 1);
|
|
5123
|
+
var _sqlite3_soft_heap_limit64 = Module['_sqlite3_soft_heap_limit64'] = createExportWrapper('sqlite3_soft_heap_limit64', 2);
|
|
5124
|
+
var _sqlite3_memory_used = Module['_sqlite3_memory_used'] = createExportWrapper('sqlite3_memory_used', 0);
|
|
5125
|
+
var _sqlite3_hard_heap_limit64 = Module['_sqlite3_hard_heap_limit64'] = createExportWrapper('sqlite3_hard_heap_limit64', 2);
|
|
5126
|
+
var _sqlite3_memory_highwater = Module['_sqlite3_memory_highwater'] = createExportWrapper('sqlite3_memory_highwater', 1);
|
|
5127
|
+
var _sqlite3_malloc = Module['_sqlite3_malloc'] = createExportWrapper('sqlite3_malloc', 1);
|
|
5128
|
+
var _sqlite3_malloc64 = Module['_sqlite3_malloc64'] = createExportWrapper('sqlite3_malloc64', 2);
|
|
5129
|
+
var _sqlite3_free = Module['_sqlite3_free'] = createExportWrapper('sqlite3_free', 1);
|
|
5130
|
+
var _sqlite3_realloc = Module['_sqlite3_realloc'] = createExportWrapper('sqlite3_realloc', 2);
|
|
5131
|
+
var _sqlite3_realloc64 = Module['_sqlite3_realloc64'] = createExportWrapper('sqlite3_realloc64', 3);
|
|
5132
|
+
var _sqlite3_str_vappendf = Module['_sqlite3_str_vappendf'] = createExportWrapper('sqlite3_str_vappendf', 3);
|
|
5133
|
+
var _sqlite3_str_append = Module['_sqlite3_str_append'] = createExportWrapper('sqlite3_str_append', 3);
|
|
5134
|
+
var _sqlite3_str_appendchar = Module['_sqlite3_str_appendchar'] = createExportWrapper('sqlite3_str_appendchar', 3);
|
|
5135
|
+
var _sqlite3_str_appendall = Module['_sqlite3_str_appendall'] = createExportWrapper('sqlite3_str_appendall', 2);
|
|
5136
|
+
var _sqlite3_str_appendf = Module['_sqlite3_str_appendf'] = createExportWrapper('sqlite3_str_appendf', 3);
|
|
5137
|
+
var _sqlite3_str_finish = Module['_sqlite3_str_finish'] = createExportWrapper('sqlite3_str_finish', 1);
|
|
5138
|
+
var _sqlite3_str_errcode = Module['_sqlite3_str_errcode'] = createExportWrapper('sqlite3_str_errcode', 1);
|
|
5139
|
+
var _sqlite3_str_length = Module['_sqlite3_str_length'] = createExportWrapper('sqlite3_str_length', 1);
|
|
5140
|
+
var _sqlite3_str_value = Module['_sqlite3_str_value'] = createExportWrapper('sqlite3_str_value', 1);
|
|
5141
|
+
var _sqlite3_str_reset = Module['_sqlite3_str_reset'] = createExportWrapper('sqlite3_str_reset', 1);
|
|
5142
|
+
var _sqlite3_str_new = Module['_sqlite3_str_new'] = createExportWrapper('sqlite3_str_new', 1);
|
|
5143
|
+
var _sqlite3_vmprintf = Module['_sqlite3_vmprintf'] = createExportWrapper('sqlite3_vmprintf', 2);
|
|
5144
|
+
var _sqlite3_mprintf = Module['_sqlite3_mprintf'] = createExportWrapper('sqlite3_mprintf', 2);
|
|
5145
|
+
var _sqlite3_vsnprintf = Module['_sqlite3_vsnprintf'] = createExportWrapper('sqlite3_vsnprintf', 4);
|
|
5146
|
+
var _sqlite3_snprintf = Module['_sqlite3_snprintf'] = createExportWrapper('sqlite3_snprintf', 4);
|
|
5147
|
+
var _sqlite3_log = Module['_sqlite3_log'] = createExportWrapper('sqlite3_log', 3);
|
|
5148
|
+
var _sqlite3_randomness = Module['_sqlite3_randomness'] = createExportWrapper('sqlite3_randomness', 2);
|
|
5149
|
+
var _sqlite3_stricmp = Module['_sqlite3_stricmp'] = createExportWrapper('sqlite3_stricmp', 2);
|
|
5150
|
+
var _sqlite3_strnicmp = Module['_sqlite3_strnicmp'] = createExportWrapper('sqlite3_strnicmp', 3);
|
|
5151
|
+
var _sqlite3_os_init = Module['_sqlite3_os_init'] = createExportWrapper('sqlite3_os_init', 0);
|
|
5152
|
+
var _sqlite3_os_end = Module['_sqlite3_os_end'] = createExportWrapper('sqlite3_os_end', 0);
|
|
5153
|
+
var _sqlite3_serialize = Module['_sqlite3_serialize'] = createExportWrapper('sqlite3_serialize', 4);
|
|
5154
|
+
var _sqlite3_prepare_v2 = Module['_sqlite3_prepare_v2'] = createExportWrapper('sqlite3_prepare_v2', 5);
|
|
5155
|
+
var _sqlite3_step = Module['_sqlite3_step'] = createExportWrapper('sqlite3_step', 1);
|
|
5156
|
+
var _sqlite3_column_int64 = Module['_sqlite3_column_int64'] = createExportWrapper('sqlite3_column_int64', 2);
|
|
5157
|
+
var _sqlite3_reset = Module['_sqlite3_reset'] = createExportWrapper('sqlite3_reset', 1);
|
|
5158
|
+
var _sqlite3_exec = Module['_sqlite3_exec'] = createExportWrapper('sqlite3_exec', 5);
|
|
5159
|
+
var _sqlite3_column_int = Module['_sqlite3_column_int'] = createExportWrapper('sqlite3_column_int', 2);
|
|
5160
|
+
var _sqlite3_finalize = Module['_sqlite3_finalize'] = createExportWrapper('sqlite3_finalize', 1);
|
|
5161
|
+
var _sqlite3_deserialize = Module['_sqlite3_deserialize'] = createExportWrapper('sqlite3_deserialize', 8);
|
|
5162
|
+
var _sqlite3_database_file_object = Module['_sqlite3_database_file_object'] = createExportWrapper('sqlite3_database_file_object', 1);
|
|
5163
|
+
var _sqlite3_backup_init = Module['_sqlite3_backup_init'] = createExportWrapper('sqlite3_backup_init', 4);
|
|
5164
|
+
var _sqlite3_backup_step = Module['_sqlite3_backup_step'] = createExportWrapper('sqlite3_backup_step', 2);
|
|
5165
|
+
var _sqlite3_backup_finish = Module['_sqlite3_backup_finish'] = createExportWrapper('sqlite3_backup_finish', 1);
|
|
5166
|
+
var _sqlite3_backup_remaining = Module['_sqlite3_backup_remaining'] = createExportWrapper('sqlite3_backup_remaining', 1);
|
|
5167
|
+
var _sqlite3_backup_pagecount = Module['_sqlite3_backup_pagecount'] = createExportWrapper('sqlite3_backup_pagecount', 1);
|
|
5168
|
+
var _sqlite3_clear_bindings = Module['_sqlite3_clear_bindings'] = createExportWrapper('sqlite3_clear_bindings', 1);
|
|
5169
|
+
var _sqlite3_value_blob = Module['_sqlite3_value_blob'] = createExportWrapper('sqlite3_value_blob', 1);
|
|
5170
|
+
var _sqlite3_value_text = Module['_sqlite3_value_text'] = createExportWrapper('sqlite3_value_text', 1);
|
|
5171
|
+
var _sqlite3_value_bytes = Module['_sqlite3_value_bytes'] = createExportWrapper('sqlite3_value_bytes', 1);
|
|
5172
|
+
var _sqlite3_value_bytes16 = Module['_sqlite3_value_bytes16'] = createExportWrapper('sqlite3_value_bytes16', 1);
|
|
5173
|
+
var _sqlite3_value_double = Module['_sqlite3_value_double'] = createExportWrapper('sqlite3_value_double', 1);
|
|
5174
|
+
var _sqlite3_value_int = Module['_sqlite3_value_int'] = createExportWrapper('sqlite3_value_int', 1);
|
|
5175
|
+
var _sqlite3_value_int64 = Module['_sqlite3_value_int64'] = createExportWrapper('sqlite3_value_int64', 1);
|
|
5176
|
+
var _sqlite3_value_subtype = Module['_sqlite3_value_subtype'] = createExportWrapper('sqlite3_value_subtype', 1);
|
|
5177
|
+
var _sqlite3_value_pointer = Module['_sqlite3_value_pointer'] = createExportWrapper('sqlite3_value_pointer', 2);
|
|
5178
|
+
var _sqlite3_value_text16 = Module['_sqlite3_value_text16'] = createExportWrapper('sqlite3_value_text16', 1);
|
|
5179
|
+
var _sqlite3_value_text16be = Module['_sqlite3_value_text16be'] = createExportWrapper('sqlite3_value_text16be', 1);
|
|
5180
|
+
var _sqlite3_value_text16le = Module['_sqlite3_value_text16le'] = createExportWrapper('sqlite3_value_text16le', 1);
|
|
5181
|
+
var _sqlite3_value_type = Module['_sqlite3_value_type'] = createExportWrapper('sqlite3_value_type', 1);
|
|
5182
|
+
var _sqlite3_value_encoding = Module['_sqlite3_value_encoding'] = createExportWrapper('sqlite3_value_encoding', 1);
|
|
5183
|
+
var _sqlite3_value_nochange = Module['_sqlite3_value_nochange'] = createExportWrapper('sqlite3_value_nochange', 1);
|
|
5184
|
+
var _sqlite3_value_frombind = Module['_sqlite3_value_frombind'] = createExportWrapper('sqlite3_value_frombind', 1);
|
|
5185
|
+
var _sqlite3_value_dup = Module['_sqlite3_value_dup'] = createExportWrapper('sqlite3_value_dup', 1);
|
|
5186
|
+
var _sqlite3_value_free = Module['_sqlite3_value_free'] = createExportWrapper('sqlite3_value_free', 1);
|
|
5187
|
+
var _sqlite3_result_blob = Module['_sqlite3_result_blob'] = createExportWrapper('sqlite3_result_blob', 4);
|
|
5188
|
+
var _sqlite3_result_blob64 = Module['_sqlite3_result_blob64'] = createExportWrapper('sqlite3_result_blob64', 5);
|
|
5189
|
+
var _sqlite3_result_double = Module['_sqlite3_result_double'] = createExportWrapper('sqlite3_result_double', 2);
|
|
5190
|
+
var _sqlite3_result_error = Module['_sqlite3_result_error'] = createExportWrapper('sqlite3_result_error', 3);
|
|
5191
|
+
var _sqlite3_result_error16 = Module['_sqlite3_result_error16'] = createExportWrapper('sqlite3_result_error16', 3);
|
|
5192
|
+
var _sqlite3_result_int = Module['_sqlite3_result_int'] = createExportWrapper('sqlite3_result_int', 2);
|
|
5193
|
+
var _sqlite3_result_int64 = Module['_sqlite3_result_int64'] = createExportWrapper('sqlite3_result_int64', 3);
|
|
5194
|
+
var _sqlite3_result_null = Module['_sqlite3_result_null'] = createExportWrapper('sqlite3_result_null', 1);
|
|
5195
|
+
var _sqlite3_result_pointer = Module['_sqlite3_result_pointer'] = createExportWrapper('sqlite3_result_pointer', 4);
|
|
5196
|
+
var _sqlite3_result_subtype = Module['_sqlite3_result_subtype'] = createExportWrapper('sqlite3_result_subtype', 2);
|
|
5197
|
+
var _sqlite3_result_text = Module['_sqlite3_result_text'] = createExportWrapper('sqlite3_result_text', 4);
|
|
5198
|
+
var _sqlite3_result_text64 = Module['_sqlite3_result_text64'] = createExportWrapper('sqlite3_result_text64', 6);
|
|
5199
|
+
var _sqlite3_result_text16 = Module['_sqlite3_result_text16'] = createExportWrapper('sqlite3_result_text16', 4);
|
|
5200
|
+
var _sqlite3_result_text16be = Module['_sqlite3_result_text16be'] = createExportWrapper('sqlite3_result_text16be', 4);
|
|
5201
|
+
var _sqlite3_result_text16le = Module['_sqlite3_result_text16le'] = createExportWrapper('sqlite3_result_text16le', 4);
|
|
5202
|
+
var _sqlite3_result_value = Module['_sqlite3_result_value'] = createExportWrapper('sqlite3_result_value', 2);
|
|
5203
|
+
var _sqlite3_result_error_toobig = Module['_sqlite3_result_error_toobig'] = createExportWrapper('sqlite3_result_error_toobig', 1);
|
|
5204
|
+
var _sqlite3_result_zeroblob = Module['_sqlite3_result_zeroblob'] = createExportWrapper('sqlite3_result_zeroblob', 2);
|
|
5205
|
+
var _sqlite3_result_zeroblob64 = Module['_sqlite3_result_zeroblob64'] = createExportWrapper('sqlite3_result_zeroblob64', 3);
|
|
5206
|
+
var _sqlite3_result_error_code = Module['_sqlite3_result_error_code'] = createExportWrapper('sqlite3_result_error_code', 2);
|
|
5207
|
+
var _sqlite3_result_error_nomem = Module['_sqlite3_result_error_nomem'] = createExportWrapper('sqlite3_result_error_nomem', 1);
|
|
5208
|
+
var _sqlite3_user_data = Module['_sqlite3_user_data'] = createExportWrapper('sqlite3_user_data', 1);
|
|
5209
|
+
var _sqlite3_context_db_handle = Module['_sqlite3_context_db_handle'] = createExportWrapper('sqlite3_context_db_handle', 1);
|
|
5210
|
+
var _sqlite3_vtab_nochange = Module['_sqlite3_vtab_nochange'] = createExportWrapper('sqlite3_vtab_nochange', 1);
|
|
5211
|
+
var _sqlite3_vtab_in_first = Module['_sqlite3_vtab_in_first'] = createExportWrapper('sqlite3_vtab_in_first', 2);
|
|
5212
|
+
var _sqlite3_vtab_in_next = Module['_sqlite3_vtab_in_next'] = createExportWrapper('sqlite3_vtab_in_next', 2);
|
|
5213
|
+
var _sqlite3_aggregate_context = Module['_sqlite3_aggregate_context'] = createExportWrapper('sqlite3_aggregate_context', 2);
|
|
5214
|
+
var _sqlite3_get_auxdata = Module['_sqlite3_get_auxdata'] = createExportWrapper('sqlite3_get_auxdata', 2);
|
|
5215
|
+
var _sqlite3_set_auxdata = Module['_sqlite3_set_auxdata'] = createExportWrapper('sqlite3_set_auxdata', 4);
|
|
5216
|
+
var _sqlite3_column_count = Module['_sqlite3_column_count'] = createExportWrapper('sqlite3_column_count', 1);
|
|
5217
|
+
var _sqlite3_data_count = Module['_sqlite3_data_count'] = createExportWrapper('sqlite3_data_count', 1);
|
|
5218
|
+
var _sqlite3_column_blob = Module['_sqlite3_column_blob'] = createExportWrapper('sqlite3_column_blob', 2);
|
|
5219
|
+
var _sqlite3_column_bytes = Module['_sqlite3_column_bytes'] = createExportWrapper('sqlite3_column_bytes', 2);
|
|
5220
|
+
var _sqlite3_column_bytes16 = Module['_sqlite3_column_bytes16'] = createExportWrapper('sqlite3_column_bytes16', 2);
|
|
5221
|
+
var _sqlite3_column_double = Module['_sqlite3_column_double'] = createExportWrapper('sqlite3_column_double', 2);
|
|
5222
|
+
var _sqlite3_column_text = Module['_sqlite3_column_text'] = createExportWrapper('sqlite3_column_text', 2);
|
|
5223
|
+
var _sqlite3_column_value = Module['_sqlite3_column_value'] = createExportWrapper('sqlite3_column_value', 2);
|
|
5224
|
+
var _sqlite3_column_text16 = Module['_sqlite3_column_text16'] = createExportWrapper('sqlite3_column_text16', 2);
|
|
5225
|
+
var _sqlite3_column_type = Module['_sqlite3_column_type'] = createExportWrapper('sqlite3_column_type', 2);
|
|
5226
|
+
var _sqlite3_column_name = Module['_sqlite3_column_name'] = createExportWrapper('sqlite3_column_name', 2);
|
|
5227
|
+
var _sqlite3_column_name16 = Module['_sqlite3_column_name16'] = createExportWrapper('sqlite3_column_name16', 2);
|
|
5228
|
+
var _sqlite3_bind_blob = Module['_sqlite3_bind_blob'] = createExportWrapper('sqlite3_bind_blob', 5);
|
|
5229
|
+
var _sqlite3_bind_blob64 = Module['_sqlite3_bind_blob64'] = createExportWrapper('sqlite3_bind_blob64', 6);
|
|
5230
|
+
var _sqlite3_bind_double = Module['_sqlite3_bind_double'] = createExportWrapper('sqlite3_bind_double', 3);
|
|
5231
|
+
var _sqlite3_bind_int = Module['_sqlite3_bind_int'] = createExportWrapper('sqlite3_bind_int', 3);
|
|
5232
|
+
var _sqlite3_bind_int64 = Module['_sqlite3_bind_int64'] = createExportWrapper('sqlite3_bind_int64', 4);
|
|
5233
|
+
var _sqlite3_bind_null = Module['_sqlite3_bind_null'] = createExportWrapper('sqlite3_bind_null', 2);
|
|
5234
|
+
var _sqlite3_bind_pointer = Module['_sqlite3_bind_pointer'] = createExportWrapper('sqlite3_bind_pointer', 5);
|
|
5235
|
+
var _sqlite3_bind_text = Module['_sqlite3_bind_text'] = createExportWrapper('sqlite3_bind_text', 5);
|
|
5236
|
+
var _sqlite3_bind_text64 = Module['_sqlite3_bind_text64'] = createExportWrapper('sqlite3_bind_text64', 7);
|
|
5237
|
+
var _sqlite3_bind_text16 = Module['_sqlite3_bind_text16'] = createExportWrapper('sqlite3_bind_text16', 5);
|
|
5238
|
+
var _sqlite3_bind_value = Module['_sqlite3_bind_value'] = createExportWrapper('sqlite3_bind_value', 3);
|
|
5239
|
+
var _sqlite3_bind_zeroblob = Module['_sqlite3_bind_zeroblob'] = createExportWrapper('sqlite3_bind_zeroblob', 3);
|
|
5240
|
+
var _sqlite3_bind_zeroblob64 = Module['_sqlite3_bind_zeroblob64'] = createExportWrapper('sqlite3_bind_zeroblob64', 4);
|
|
5241
|
+
var _sqlite3_bind_parameter_count = Module['_sqlite3_bind_parameter_count'] = createExportWrapper('sqlite3_bind_parameter_count', 1);
|
|
5242
|
+
var _sqlite3_bind_parameter_name = Module['_sqlite3_bind_parameter_name'] = createExportWrapper('sqlite3_bind_parameter_name', 2);
|
|
5243
|
+
var _sqlite3_bind_parameter_index = Module['_sqlite3_bind_parameter_index'] = createExportWrapper('sqlite3_bind_parameter_index', 2);
|
|
5244
|
+
var _sqlite3_db_handle = Module['_sqlite3_db_handle'] = createExportWrapper('sqlite3_db_handle', 1);
|
|
5245
|
+
var _sqlite3_stmt_readonly = Module['_sqlite3_stmt_readonly'] = createExportWrapper('sqlite3_stmt_readonly', 1);
|
|
5246
|
+
var _sqlite3_stmt_isexplain = Module['_sqlite3_stmt_isexplain'] = createExportWrapper('sqlite3_stmt_isexplain', 1);
|
|
5247
|
+
var _sqlite3_stmt_explain = Module['_sqlite3_stmt_explain'] = createExportWrapper('sqlite3_stmt_explain', 2);
|
|
5248
|
+
var _sqlite3_stmt_busy = Module['_sqlite3_stmt_busy'] = createExportWrapper('sqlite3_stmt_busy', 1);
|
|
5249
|
+
var _sqlite3_next_stmt = Module['_sqlite3_next_stmt'] = createExportWrapper('sqlite3_next_stmt', 2);
|
|
5250
|
+
var _sqlite3_stmt_status = Module['_sqlite3_stmt_status'] = createExportWrapper('sqlite3_stmt_status', 3);
|
|
5251
|
+
var _sqlite3_sql = Module['_sqlite3_sql'] = createExportWrapper('sqlite3_sql', 1);
|
|
5252
|
+
var _sqlite3_expanded_sql = Module['_sqlite3_expanded_sql'] = createExportWrapper('sqlite3_expanded_sql', 1);
|
|
5253
|
+
var _sqlite3_value_numeric_type = Module['_sqlite3_value_numeric_type'] = createExportWrapper('sqlite3_value_numeric_type', 1);
|
|
5254
|
+
var _sqlite3_blob_open = Module['_sqlite3_blob_open'] = createExportWrapper('sqlite3_blob_open', 8);
|
|
5255
|
+
var _sqlite3_blob_close = Module['_sqlite3_blob_close'] = createExportWrapper('sqlite3_blob_close', 1);
|
|
5256
|
+
var _sqlite3_blob_read = Module['_sqlite3_blob_read'] = createExportWrapper('sqlite3_blob_read', 4);
|
|
5257
|
+
var _sqlite3_blob_write = Module['_sqlite3_blob_write'] = createExportWrapper('sqlite3_blob_write', 4);
|
|
5258
|
+
var _sqlite3_blob_bytes = Module['_sqlite3_blob_bytes'] = createExportWrapper('sqlite3_blob_bytes', 1);
|
|
5259
|
+
var _sqlite3_blob_reopen = Module['_sqlite3_blob_reopen'] = createExportWrapper('sqlite3_blob_reopen', 3);
|
|
5260
|
+
var _sqlite3_set_authorizer = Module['_sqlite3_set_authorizer'] = createExportWrapper('sqlite3_set_authorizer', 3);
|
|
5261
|
+
var _sqlite3_strglob = Module['_sqlite3_strglob'] = createExportWrapper('sqlite3_strglob', 2);
|
|
5262
|
+
var _sqlite3_strlike = Module['_sqlite3_strlike'] = createExportWrapper('sqlite3_strlike', 3);
|
|
5263
|
+
var _sqlite3_errmsg = Module['_sqlite3_errmsg'] = createExportWrapper('sqlite3_errmsg', 1);
|
|
5264
|
+
var _sqlite3_auto_extension = Module['_sqlite3_auto_extension'] = createExportWrapper('sqlite3_auto_extension', 1);
|
|
5265
|
+
var _sqlite3_cancel_auto_extension = Module['_sqlite3_cancel_auto_extension'] = createExportWrapper('sqlite3_cancel_auto_extension', 1);
|
|
5266
|
+
var _sqlite3_reset_auto_extension = Module['_sqlite3_reset_auto_extension'] = createExportWrapper('sqlite3_reset_auto_extension', 0);
|
|
5267
|
+
var _sqlite3_prepare = Module['_sqlite3_prepare'] = createExportWrapper('sqlite3_prepare', 5);
|
|
5268
|
+
var _sqlite3_prepare_v3 = Module['_sqlite3_prepare_v3'] = createExportWrapper('sqlite3_prepare_v3', 6);
|
|
5269
|
+
var _sqlite3_prepare16 = Module['_sqlite3_prepare16'] = createExportWrapper('sqlite3_prepare16', 5);
|
|
5270
|
+
var _sqlite3_prepare16_v2 = Module['_sqlite3_prepare16_v2'] = createExportWrapper('sqlite3_prepare16_v2', 5);
|
|
5271
|
+
var _sqlite3_prepare16_v3 = Module['_sqlite3_prepare16_v3'] = createExportWrapper('sqlite3_prepare16_v3', 6);
|
|
5272
|
+
var _sqlite3_get_table = Module['_sqlite3_get_table'] = createExportWrapper('sqlite3_get_table', 6);
|
|
5273
|
+
var _sqlite3_free_table = Module['_sqlite3_free_table'] = createExportWrapper('sqlite3_free_table', 1);
|
|
5274
|
+
var _sqlite3_create_module = Module['_sqlite3_create_module'] = createExportWrapper('sqlite3_create_module', 4);
|
|
5275
|
+
var _sqlite3_create_module_v2 = Module['_sqlite3_create_module_v2'] = createExportWrapper('sqlite3_create_module_v2', 5);
|
|
5276
|
+
var _sqlite3_drop_modules = Module['_sqlite3_drop_modules'] = createExportWrapper('sqlite3_drop_modules', 2);
|
|
5277
|
+
var _sqlite3_declare_vtab = Module['_sqlite3_declare_vtab'] = createExportWrapper('sqlite3_declare_vtab', 2);
|
|
5278
|
+
var _sqlite3_vtab_on_conflict = Module['_sqlite3_vtab_on_conflict'] = createExportWrapper('sqlite3_vtab_on_conflict', 1);
|
|
5279
|
+
var _sqlite3_vtab_config = Module['_sqlite3_vtab_config'] = createExportWrapper('sqlite3_vtab_config', 3);
|
|
5280
|
+
var _sqlite3_vtab_collation = Module['_sqlite3_vtab_collation'] = createExportWrapper('sqlite3_vtab_collation', 2);
|
|
5281
|
+
var _sqlite3_vtab_in = Module['_sqlite3_vtab_in'] = createExportWrapper('sqlite3_vtab_in', 3);
|
|
5282
|
+
var _sqlite3_vtab_rhs_value = Module['_sqlite3_vtab_rhs_value'] = createExportWrapper('sqlite3_vtab_rhs_value', 3);
|
|
5283
|
+
var _sqlite3_vtab_distinct = Module['_sqlite3_vtab_distinct'] = createExportWrapper('sqlite3_vtab_distinct', 1);
|
|
5284
|
+
var _sqlite3_keyword_name = Module['_sqlite3_keyword_name'] = createExportWrapper('sqlite3_keyword_name', 3);
|
|
5285
|
+
var _sqlite3_keyword_count = Module['_sqlite3_keyword_count'] = createExportWrapper('sqlite3_keyword_count', 0);
|
|
5286
|
+
var _sqlite3_keyword_check = Module['_sqlite3_keyword_check'] = createExportWrapper('sqlite3_keyword_check', 2);
|
|
5287
|
+
var _sqlite3_complete = Module['_sqlite3_complete'] = createExportWrapper('sqlite3_complete', 1);
|
|
5288
|
+
var _sqlite3_complete16 = Module['_sqlite3_complete16'] = createExportWrapper('sqlite3_complete16', 1);
|
|
5289
|
+
var _sqlite3_libversion = Module['_sqlite3_libversion'] = createExportWrapper('sqlite3_libversion', 0);
|
|
5290
|
+
var _sqlite3_libversion_number = Module['_sqlite3_libversion_number'] = createExportWrapper('sqlite3_libversion_number', 0);
|
|
5291
|
+
var _sqlite3_threadsafe = Module['_sqlite3_threadsafe'] = createExportWrapper('sqlite3_threadsafe', 0);
|
|
5292
|
+
var _sqlite3_initialize = Module['_sqlite3_initialize'] = createExportWrapper('sqlite3_initialize', 0);
|
|
5293
|
+
var _sqlite3_shutdown = Module['_sqlite3_shutdown'] = createExportWrapper('sqlite3_shutdown', 0);
|
|
5294
|
+
var _sqlite3_config = Module['_sqlite3_config'] = createExportWrapper('sqlite3_config', 2);
|
|
5295
|
+
var _sqlite3_db_mutex = Module['_sqlite3_db_mutex'] = createExportWrapper('sqlite3_db_mutex', 1);
|
|
5296
|
+
var _sqlite3_db_release_memory = Module['_sqlite3_db_release_memory'] = createExportWrapper('sqlite3_db_release_memory', 1);
|
|
5297
|
+
var _sqlite3_db_cacheflush = Module['_sqlite3_db_cacheflush'] = createExportWrapper('sqlite3_db_cacheflush', 1);
|
|
5298
|
+
var _sqlite3_db_config = Module['_sqlite3_db_config'] = createExportWrapper('sqlite3_db_config', 3);
|
|
5299
|
+
var _sqlite3_last_insert_rowid = Module['_sqlite3_last_insert_rowid'] = createExportWrapper('sqlite3_last_insert_rowid', 1);
|
|
5300
|
+
var _sqlite3_set_last_insert_rowid = Module['_sqlite3_set_last_insert_rowid'] = createExportWrapper('sqlite3_set_last_insert_rowid', 3);
|
|
5301
|
+
var _sqlite3_changes64 = Module['_sqlite3_changes64'] = createExportWrapper('sqlite3_changes64', 1);
|
|
5302
|
+
var _sqlite3_changes = Module['_sqlite3_changes'] = createExportWrapper('sqlite3_changes', 1);
|
|
5303
|
+
var _sqlite3_total_changes64 = Module['_sqlite3_total_changes64'] = createExportWrapper('sqlite3_total_changes64', 1);
|
|
5304
|
+
var _sqlite3_total_changes = Module['_sqlite3_total_changes'] = createExportWrapper('sqlite3_total_changes', 1);
|
|
5305
|
+
var _sqlite3_txn_state = Module['_sqlite3_txn_state'] = createExportWrapper('sqlite3_txn_state', 2);
|
|
5306
|
+
var _sqlite3_close = Module['_sqlite3_close'] = createExportWrapper('sqlite3_close', 1);
|
|
5307
|
+
var _sqlite3_close_v2 = Module['_sqlite3_close_v2'] = createExportWrapper('sqlite3_close_v2', 1);
|
|
5308
|
+
var _sqlite3_busy_handler = Module['_sqlite3_busy_handler'] = createExportWrapper('sqlite3_busy_handler', 3);
|
|
5309
|
+
var _sqlite3_progress_handler = Module['_sqlite3_progress_handler'] = createExportWrapper('sqlite3_progress_handler', 4);
|
|
5310
|
+
var _sqlite3_busy_timeout = Module['_sqlite3_busy_timeout'] = createExportWrapper('sqlite3_busy_timeout', 2);
|
|
5311
|
+
var _sqlite3_interrupt = Module['_sqlite3_interrupt'] = createExportWrapper('sqlite3_interrupt', 1);
|
|
5312
|
+
var _sqlite3_is_interrupted = Module['_sqlite3_is_interrupted'] = createExportWrapper('sqlite3_is_interrupted', 1);
|
|
5313
|
+
var _sqlite3_create_function = Module['_sqlite3_create_function'] = createExportWrapper('sqlite3_create_function', 8);
|
|
5314
|
+
var _sqlite3_create_function_v2 = Module['_sqlite3_create_function_v2'] = createExportWrapper('sqlite3_create_function_v2', 9);
|
|
5315
|
+
var _sqlite3_create_window_function = Module['_sqlite3_create_window_function'] = createExportWrapper('sqlite3_create_window_function', 10);
|
|
5316
|
+
var _sqlite3_create_function16 = Module['_sqlite3_create_function16'] = createExportWrapper('sqlite3_create_function16', 8);
|
|
5317
|
+
var _sqlite3_overload_function = Module['_sqlite3_overload_function'] = createExportWrapper('sqlite3_overload_function', 3);
|
|
5318
|
+
var _sqlite3_trace_v2 = Module['_sqlite3_trace_v2'] = createExportWrapper('sqlite3_trace_v2', 4);
|
|
5319
|
+
var _sqlite3_commit_hook = Module['_sqlite3_commit_hook'] = createExportWrapper('sqlite3_commit_hook', 3);
|
|
5320
|
+
var _sqlite3_update_hook = Module['_sqlite3_update_hook'] = createExportWrapper('sqlite3_update_hook', 3);
|
|
5321
|
+
var _sqlite3_rollback_hook = Module['_sqlite3_rollback_hook'] = createExportWrapper('sqlite3_rollback_hook', 3);
|
|
5322
|
+
var _sqlite3_autovacuum_pages = Module['_sqlite3_autovacuum_pages'] = createExportWrapper('sqlite3_autovacuum_pages', 4);
|
|
5323
|
+
var _sqlite3_wal_autocheckpoint = Module['_sqlite3_wal_autocheckpoint'] = createExportWrapper('sqlite3_wal_autocheckpoint', 2);
|
|
5324
|
+
var _sqlite3_wal_hook = Module['_sqlite3_wal_hook'] = createExportWrapper('sqlite3_wal_hook', 3);
|
|
5325
|
+
var _sqlite3_wal_checkpoint_v2 = Module['_sqlite3_wal_checkpoint_v2'] = createExportWrapper('sqlite3_wal_checkpoint_v2', 5);
|
|
5326
|
+
var _sqlite3_wal_checkpoint = Module['_sqlite3_wal_checkpoint'] = createExportWrapper('sqlite3_wal_checkpoint', 2);
|
|
5327
|
+
var _sqlite3_error_offset = Module['_sqlite3_error_offset'] = createExportWrapper('sqlite3_error_offset', 1);
|
|
5328
|
+
var _sqlite3_errmsg16 = Module['_sqlite3_errmsg16'] = createExportWrapper('sqlite3_errmsg16', 1);
|
|
5329
|
+
var _sqlite3_errcode = Module['_sqlite3_errcode'] = createExportWrapper('sqlite3_errcode', 1);
|
|
5330
|
+
var _sqlite3_extended_errcode = Module['_sqlite3_extended_errcode'] = createExportWrapper('sqlite3_extended_errcode', 1);
|
|
5331
|
+
var _sqlite3_system_errno = Module['_sqlite3_system_errno'] = createExportWrapper('sqlite3_system_errno', 1);
|
|
5332
|
+
var _sqlite3_errstr = Module['_sqlite3_errstr'] = createExportWrapper('sqlite3_errstr', 1);
|
|
5333
|
+
var _sqlite3_limit = Module['_sqlite3_limit'] = createExportWrapper('sqlite3_limit', 3);
|
|
5334
|
+
var _sqlite3_open = Module['_sqlite3_open'] = createExportWrapper('sqlite3_open', 2);
|
|
5335
|
+
var _sqlite3_open_v2 = Module['_sqlite3_open_v2'] = createExportWrapper('sqlite3_open_v2', 4);
|
|
5336
|
+
var _sqlite3_open16 = Module['_sqlite3_open16'] = createExportWrapper('sqlite3_open16', 2);
|
|
5337
|
+
var _sqlite3_create_collation = Module['_sqlite3_create_collation'] = createExportWrapper('sqlite3_create_collation', 5);
|
|
5338
|
+
var _sqlite3_create_collation_v2 = Module['_sqlite3_create_collation_v2'] = createExportWrapper('sqlite3_create_collation_v2', 6);
|
|
5339
|
+
var _sqlite3_create_collation16 = Module['_sqlite3_create_collation16'] = createExportWrapper('sqlite3_create_collation16', 5);
|
|
5340
|
+
var _sqlite3_collation_needed = Module['_sqlite3_collation_needed'] = createExportWrapper('sqlite3_collation_needed', 3);
|
|
5341
|
+
var _sqlite3_collation_needed16 = Module['_sqlite3_collation_needed16'] = createExportWrapper('sqlite3_collation_needed16', 3);
|
|
5342
|
+
var _sqlite3_get_clientdata = Module['_sqlite3_get_clientdata'] = createExportWrapper('sqlite3_get_clientdata', 2);
|
|
5343
|
+
var _sqlite3_set_clientdata = Module['_sqlite3_set_clientdata'] = createExportWrapper('sqlite3_set_clientdata', 4);
|
|
5344
|
+
var _sqlite3_get_autocommit = Module['_sqlite3_get_autocommit'] = createExportWrapper('sqlite3_get_autocommit', 1);
|
|
5345
|
+
var _sqlite3_table_column_metadata = Module['_sqlite3_table_column_metadata'] = createExportWrapper('sqlite3_table_column_metadata', 9);
|
|
5346
|
+
var _sqlite3_sleep = Module['_sqlite3_sleep'] = createExportWrapper('sqlite3_sleep', 1);
|
|
5347
|
+
var _sqlite3_extended_result_codes = Module['_sqlite3_extended_result_codes'] = createExportWrapper('sqlite3_extended_result_codes', 2);
|
|
5348
|
+
var _sqlite3_file_control = Module['_sqlite3_file_control'] = createExportWrapper('sqlite3_file_control', 4);
|
|
5349
|
+
var _sqlite3_test_control = Module['_sqlite3_test_control'] = createExportWrapper('sqlite3_test_control', 2);
|
|
5350
|
+
var _sqlite3_create_filename = Module['_sqlite3_create_filename'] = createExportWrapper('sqlite3_create_filename', 5);
|
|
5351
|
+
var _sqlite3_free_filename = Module['_sqlite3_free_filename'] = createExportWrapper('sqlite3_free_filename', 1);
|
|
5352
|
+
var _sqlite3_uri_parameter = Module['_sqlite3_uri_parameter'] = createExportWrapper('sqlite3_uri_parameter', 2);
|
|
5353
|
+
var _sqlite3_uri_key = Module['_sqlite3_uri_key'] = createExportWrapper('sqlite3_uri_key', 2);
|
|
5354
|
+
var _sqlite3_uri_boolean = Module['_sqlite3_uri_boolean'] = createExportWrapper('sqlite3_uri_boolean', 3);
|
|
5355
|
+
var _sqlite3_uri_int64 = Module['_sqlite3_uri_int64'] = createExportWrapper('sqlite3_uri_int64', 4);
|
|
5356
|
+
var _sqlite3_filename_database = Module['_sqlite3_filename_database'] = createExportWrapper('sqlite3_filename_database', 1);
|
|
5357
|
+
var _sqlite3_filename_journal = Module['_sqlite3_filename_journal'] = createExportWrapper('sqlite3_filename_journal', 1);
|
|
5358
|
+
var _sqlite3_filename_wal = Module['_sqlite3_filename_wal'] = createExportWrapper('sqlite3_filename_wal', 1);
|
|
5359
|
+
var _sqlite3_db_name = Module['_sqlite3_db_name'] = createExportWrapper('sqlite3_db_name', 2);
|
|
5360
|
+
var _sqlite3_db_filename = Module['_sqlite3_db_filename'] = createExportWrapper('sqlite3_db_filename', 2);
|
|
5361
|
+
var _sqlite3_db_readonly = Module['_sqlite3_db_readonly'] = createExportWrapper('sqlite3_db_readonly', 2);
|
|
5362
|
+
var _sqlite3_compileoption_used = Module['_sqlite3_compileoption_used'] = createExportWrapper('sqlite3_compileoption_used', 1);
|
|
5363
|
+
var _sqlite3_compileoption_get = Module['_sqlite3_compileoption_get'] = createExportWrapper('sqlite3_compileoption_get', 1);
|
|
5364
|
+
var _sqlite3session_create = Module['_sqlite3session_create'] = createExportWrapper('sqlite3session_create', 3);
|
|
5365
|
+
var _sqlite3session_delete = Module['_sqlite3session_delete'] = createExportWrapper('sqlite3session_delete', 1);
|
|
5366
|
+
var _sqlite3session_attach = Module['_sqlite3session_attach'] = createExportWrapper('sqlite3session_attach', 2);
|
|
5367
|
+
var _sqlite3session_changeset = Module['_sqlite3session_changeset'] = createExportWrapper('sqlite3session_changeset', 3);
|
|
5368
|
+
var _sqlite3session_enable = Module['_sqlite3session_enable'] = createExportWrapper('sqlite3session_enable', 2);
|
|
5369
|
+
var _sqlite3changeset_start = Module['_sqlite3changeset_start'] = createExportWrapper('sqlite3changeset_start', 3);
|
|
5370
|
+
var _sqlite3changeset_finalize = Module['_sqlite3changeset_finalize'] = createExportWrapper('sqlite3changeset_finalize', 1);
|
|
5371
|
+
var _sqlite3changeset_invert = Module['_sqlite3changeset_invert'] = createExportWrapper('sqlite3changeset_invert', 4);
|
|
5372
|
+
var _sqlite3changeset_apply = Module['_sqlite3changeset_apply'] = createExportWrapper('sqlite3changeset_apply', 6);
|
|
5373
|
+
var _sqlite3_sourceid = Module['_sqlite3_sourceid'] = createExportWrapper('sqlite3_sourceid', 0);
|
|
5374
|
+
var _strerror = createExportWrapper('strerror', 1);
|
|
5375
|
+
var _malloc = Module['_malloc'] = createExportWrapper('malloc', 1);
|
|
5376
|
+
var _free = Module['_free'] = createExportWrapper('free', 1);
|
|
5377
|
+
var _RegisterExtensionFunctions = Module['_RegisterExtensionFunctions'] = createExportWrapper('RegisterExtensionFunctions', 1);
|
|
5378
|
+
var _getSqliteFree = Module['_getSqliteFree'] = createExportWrapper('getSqliteFree', 0);
|
|
5379
|
+
var _main = Module['_main'] = createExportWrapper('main', 2);
|
|
5380
|
+
var _libauthorizer_set_authorizer = Module['_libauthorizer_set_authorizer'] = createExportWrapper('libauthorizer_set_authorizer', 3);
|
|
5381
|
+
var _libfunction_create_function = Module['_libfunction_create_function'] = createExportWrapper('libfunction_create_function', 8);
|
|
5382
|
+
var _libhook_commit_hook = Module['_libhook_commit_hook'] = createExportWrapper('libhook_commit_hook', 3);
|
|
5383
|
+
var _libhook_update_hook = Module['_libhook_update_hook'] = createExportWrapper('libhook_update_hook', 3);
|
|
5384
|
+
var _libprogress_progress_handler = Module['_libprogress_progress_handler'] = createExportWrapper('libprogress_progress_handler', 4);
|
|
5385
|
+
var _libvfs_vfs_register = Module['_libvfs_vfs_register'] = createExportWrapper('libvfs_vfs_register', 6);
|
|
5386
|
+
var _fflush = createExportWrapper('fflush', 1);
|
|
5387
|
+
var _emscripten_builtin_memalign = createExportWrapper('emscripten_builtin_memalign', 2);
|
|
5388
|
+
var __emscripten_tempret_set = createExportWrapper('_emscripten_tempret_set', 1);
|
|
5389
|
+
var __emscripten_tempret_get = createExportWrapper('_emscripten_tempret_get', 0);
|
|
5615
5390
|
var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])();
|
|
5616
5391
|
var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])();
|
|
5617
5392
|
var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])();
|
|
5618
5393
|
var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])();
|
|
5619
|
-
var
|
|
5620
|
-
var
|
|
5621
|
-
var stackAlloc = createExportWrapper('stackAlloc');
|
|
5394
|
+
var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0);
|
|
5395
|
+
var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0);
|
|
5622
5396
|
var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])();
|
|
5623
|
-
var dynCall_jiji = Module['dynCall_jiji'] = createExportWrapper('dynCall_jiji');
|
|
5624
|
-
var dynCall_vijii = Module['dynCall_vijii'] = createExportWrapper('dynCall_vijii');
|
|
5625
|
-
var dynCall_iiiij = Module['dynCall_iiiij'] = createExportWrapper('dynCall_iiiij');
|
|
5626
|
-
var dynCall_viiiiijj = Module['dynCall_viiiiijj'] = createExportWrapper('dynCall_viiiiijj');
|
|
5627
|
-
var dynCall_viji = Module['dynCall_viji'] = createExportWrapper('dynCall_viji');
|
|
5628
|
-
var dynCall_viiiij = Module['dynCall_viiiij'] = createExportWrapper('dynCall_viiiij');
|
|
5629
|
-
var dynCall_iij = Module['dynCall_iij'] = createExportWrapper('dynCall_iij');
|
|
5630
|
-
var dynCall_iijii = Module['dynCall_iijii'] = createExportWrapper('dynCall_iijii');
|
|
5631
|
-
var dynCall_iiji = Module['dynCall_iiji'] = createExportWrapper('dynCall_iiji');
|
|
5632
|
-
var dynCall_iiiiiij = Module['dynCall_iiiiiij'] = createExportWrapper('dynCall_iiiiiij');
|
|
5633
|
-
var dynCall_ji = Module['dynCall_ji'] = createExportWrapper('dynCall_ji');
|
|
5634
|
-
var _sqlite3_version = Module['_sqlite3_version'] =
|
|
5397
|
+
var dynCall_jiji = Module['dynCall_jiji'] = createExportWrapper('dynCall_jiji', 5);
|
|
5398
|
+
var dynCall_vijii = Module['dynCall_vijii'] = createExportWrapper('dynCall_vijii', 6);
|
|
5399
|
+
var dynCall_iiiij = Module['dynCall_iiiij'] = createExportWrapper('dynCall_iiiij', 6);
|
|
5400
|
+
var dynCall_viiiiijj = Module['dynCall_viiiiijj'] = createExportWrapper('dynCall_viiiiijj', 10);
|
|
5401
|
+
var dynCall_viji = Module['dynCall_viji'] = createExportWrapper('dynCall_viji', 5);
|
|
5402
|
+
var dynCall_viiiij = Module['dynCall_viiiij'] = createExportWrapper('dynCall_viiiij', 7);
|
|
5403
|
+
var dynCall_iij = Module['dynCall_iij'] = createExportWrapper('dynCall_iij', 4);
|
|
5404
|
+
var dynCall_iijii = Module['dynCall_iijii'] = createExportWrapper('dynCall_iijii', 6);
|
|
5405
|
+
var dynCall_iiji = Module['dynCall_iiji'] = createExportWrapper('dynCall_iiji', 5);
|
|
5406
|
+
var dynCall_iiiiiij = Module['dynCall_iiiiiij'] = createExportWrapper('dynCall_iiiiiij', 8);
|
|
5407
|
+
var dynCall_ji = Module['dynCall_ji'] = createExportWrapper('dynCall_ji', 2);
|
|
5408
|
+
var _sqlite3_version = Module['_sqlite3_version'] = 113480;
|
|
5635
5409
|
|
|
5636
5410
|
// include: postamble.js
|
|
5637
5411
|
// === Auto-generated postamble setup entry stuff ===
|
|
@@ -5662,22 +5436,17 @@ var missingLibrarySymbols = [
|
|
|
5662
5436
|
'readI53FromU64',
|
|
5663
5437
|
'convertI32PairToI53',
|
|
5664
5438
|
'convertU32PairToI53',
|
|
5439
|
+
'setTempRet0',
|
|
5665
5440
|
'growMemory',
|
|
5666
|
-
'arraySum',
|
|
5667
|
-
'addDays',
|
|
5668
5441
|
'inetPton4',
|
|
5669
5442
|
'inetNtop4',
|
|
5670
5443
|
'inetPton6',
|
|
5671
5444
|
'inetNtop6',
|
|
5672
5445
|
'readSockaddr',
|
|
5673
5446
|
'writeSockaddr',
|
|
5674
|
-
'getHostByName',
|
|
5675
|
-
'getCallstack',
|
|
5676
5447
|
'emscriptenLog',
|
|
5677
|
-
'convertPCtoSourceLocation',
|
|
5678
5448
|
'readEmAsmArgs',
|
|
5679
5449
|
'jstoi_q',
|
|
5680
|
-
'jstoi_s',
|
|
5681
5450
|
'listenOnce',
|
|
5682
5451
|
'autoResumeAudioContext',
|
|
5683
5452
|
'dynCallLegacy',
|
|
@@ -5688,7 +5457,6 @@ var missingLibrarySymbols = [
|
|
|
5688
5457
|
'callUserCallback',
|
|
5689
5458
|
'maybeExit',
|
|
5690
5459
|
'asmjsMangle',
|
|
5691
|
-
'handleAllocatorInit',
|
|
5692
5460
|
'HandleAllocator',
|
|
5693
5461
|
'getNativeTypeSize',
|
|
5694
5462
|
'STACK_SIZE',
|
|
@@ -5703,10 +5471,10 @@ var missingLibrarySymbols = [
|
|
|
5703
5471
|
'formatString',
|
|
5704
5472
|
'lengthBytesUTF16',
|
|
5705
5473
|
'lengthBytesUTF32',
|
|
5474
|
+
'stringToNewUTF8',
|
|
5706
5475
|
'registerKeyEventCallback',
|
|
5707
5476
|
'maybeCStringToJsString',
|
|
5708
5477
|
'findEventTarget',
|
|
5709
|
-
'findCanvasEventTarget',
|
|
5710
5478
|
'getBoundingClientRect',
|
|
5711
5479
|
'fillMouseEventData',
|
|
5712
5480
|
'registerMouseEventCallback',
|
|
@@ -5739,7 +5507,6 @@ var missingLibrarySymbols = [
|
|
|
5739
5507
|
'registerTouchEventCallback',
|
|
5740
5508
|
'fillGamepadEventData',
|
|
5741
5509
|
'registerGamepadEventCallback',
|
|
5742
|
-
'disableGamepadApiIfItThrows',
|
|
5743
5510
|
'registerBeforeUnloadEventCallback',
|
|
5744
5511
|
'fillBatteryEventData',
|
|
5745
5512
|
'battery',
|
|
@@ -5747,15 +5514,18 @@ var missingLibrarySymbols = [
|
|
|
5747
5514
|
'setCanvasElementSize',
|
|
5748
5515
|
'getCanvasElementSize',
|
|
5749
5516
|
'jsStackTrace',
|
|
5750
|
-
'
|
|
5517
|
+
'getCallstack',
|
|
5518
|
+
'convertPCtoSourceLocation',
|
|
5751
5519
|
'checkWasiClock',
|
|
5752
5520
|
'wasiRightsToMuslOFlags',
|
|
5753
5521
|
'wasiOFlagsToMuslOFlags',
|
|
5754
|
-
'createDyncallWrapper',
|
|
5755
5522
|
'safeSetTimeout',
|
|
5756
5523
|
'setImmediateWrapped',
|
|
5524
|
+
'safeRequestAnimationFrame',
|
|
5757
5525
|
'clearImmediateWrapped',
|
|
5758
5526
|
'polyfillSetImmediate',
|
|
5527
|
+
'registerPostMainLoop',
|
|
5528
|
+
'registerPreMainLoop',
|
|
5759
5529
|
'getPromise',
|
|
5760
5530
|
'makePromise',
|
|
5761
5531
|
'idsToPromises',
|
|
@@ -5763,23 +5533,26 @@ var missingLibrarySymbols = [
|
|
|
5763
5533
|
'ExceptionInfo',
|
|
5764
5534
|
'findMatchingCatch',
|
|
5765
5535
|
'Browser_asyncPrepareDataCounter',
|
|
5766
|
-
'
|
|
5536
|
+
'arraySum',
|
|
5537
|
+
'addDays',
|
|
5767
5538
|
'getSocketFromFD',
|
|
5768
5539
|
'getSocketAddress',
|
|
5769
5540
|
'FS_unlink',
|
|
5770
5541
|
'FS_mkdirTree',
|
|
5771
5542
|
'_setNetworkCallback',
|
|
5772
5543
|
'heapObjectForWebGLType',
|
|
5773
|
-
'
|
|
5544
|
+
'toTypedArrayIndex',
|
|
5774
5545
|
'webgl_enable_ANGLE_instanced_arrays',
|
|
5775
5546
|
'webgl_enable_OES_vertex_array_object',
|
|
5776
5547
|
'webgl_enable_WEBGL_draw_buffers',
|
|
5777
5548
|
'webgl_enable_WEBGL_multi_draw',
|
|
5549
|
+
'webgl_enable_EXT_polygon_offset_clamp',
|
|
5550
|
+
'webgl_enable_EXT_clip_control',
|
|
5551
|
+
'webgl_enable_WEBGL_polygon_mode',
|
|
5778
5552
|
'emscriptenWebGLGet',
|
|
5779
5553
|
'computeUnpackAlignedImageSize',
|
|
5780
5554
|
'colorChannelsInGlTextureFormat',
|
|
5781
5555
|
'emscriptenWebGLGetTexPixelData',
|
|
5782
|
-
'__glGenObject',
|
|
5783
5556
|
'emscriptenWebGLGetUniform',
|
|
5784
5557
|
'webglGetUniformLocation',
|
|
5785
5558
|
'webglPrepareUniformLocationsBeforeFirstUse',
|
|
@@ -5789,14 +5562,14 @@ var missingLibrarySymbols = [
|
|
|
5789
5562
|
'writeGLArray',
|
|
5790
5563
|
'registerWebGlEventCallback',
|
|
5791
5564
|
'runAndAbortIfError',
|
|
5792
|
-
'SDL_unicode',
|
|
5793
|
-
'SDL_ttfContext',
|
|
5794
|
-
'SDL_audio',
|
|
5795
5565
|
'ALLOC_NORMAL',
|
|
5796
5566
|
'ALLOC_STACK',
|
|
5797
5567
|
'allocate',
|
|
5798
5568
|
'writeStringToMemory',
|
|
5799
5569
|
'writeAsciiToMemory',
|
|
5570
|
+
'setErrNo',
|
|
5571
|
+
'demangle',
|
|
5572
|
+
'stackTrace',
|
|
5800
5573
|
];
|
|
5801
5574
|
missingLibrarySymbols.forEach(missingLibrarySymbol)
|
|
5802
5575
|
|
|
@@ -5809,50 +5582,34 @@ var unexportedSymbols = [
|
|
|
5809
5582
|
'addOnPostRun',
|
|
5810
5583
|
'addRunDependency',
|
|
5811
5584
|
'removeRunDependency',
|
|
5812
|
-
'FS_createFolder',
|
|
5813
|
-
'FS_createPath',
|
|
5814
|
-
'FS_createLazyFile',
|
|
5815
|
-
'FS_createLink',
|
|
5816
|
-
'FS_createDevice',
|
|
5817
|
-
'FS_readFile',
|
|
5818
5585
|
'out',
|
|
5819
5586
|
'err',
|
|
5820
5587
|
'callMain',
|
|
5821
5588
|
'abort',
|
|
5822
5589
|
'wasmMemory',
|
|
5823
5590
|
'wasmExports',
|
|
5824
|
-
'stackAlloc',
|
|
5825
|
-
'stackSave',
|
|
5826
|
-
'stackRestore',
|
|
5827
|
-
'setTempRet0',
|
|
5828
5591
|
'writeStackCookie',
|
|
5829
5592
|
'checkStackCookie',
|
|
5830
5593
|
'readI53FromI64',
|
|
5831
5594
|
'convertI32PairToI53Checked',
|
|
5595
|
+
'stackSave',
|
|
5596
|
+
'stackRestore',
|
|
5597
|
+
'stackAlloc',
|
|
5832
5598
|
'ptrToString',
|
|
5833
5599
|
'zeroMemory',
|
|
5834
5600
|
'exitJS',
|
|
5835
5601
|
'getHeapMax',
|
|
5836
5602
|
'abortOnCannotGrowMemory',
|
|
5837
5603
|
'ENV',
|
|
5838
|
-
'MONTH_DAYS_REGULAR',
|
|
5839
|
-
'MONTH_DAYS_LEAP',
|
|
5840
|
-
'MONTH_DAYS_REGULAR_CUMULATIVE',
|
|
5841
|
-
'MONTH_DAYS_LEAP_CUMULATIVE',
|
|
5842
|
-
'isLeapYear',
|
|
5843
|
-
'ydayFromDate',
|
|
5844
5604
|
'ERRNO_CODES',
|
|
5845
|
-
'
|
|
5846
|
-
'setErrNo',
|
|
5605
|
+
'strError',
|
|
5847
5606
|
'DNS',
|
|
5848
5607
|
'Protocols',
|
|
5849
5608
|
'Sockets',
|
|
5850
|
-
'initRandomFill',
|
|
5851
|
-
'randomFill',
|
|
5852
5609
|
'timers',
|
|
5853
5610
|
'warnOnce',
|
|
5854
|
-
'UNWIND_CACHE',
|
|
5855
5611
|
'readEmAsmArgsArray',
|
|
5612
|
+
'jstoi_s',
|
|
5856
5613
|
'getExecutableName',
|
|
5857
5614
|
'handleException',
|
|
5858
5615
|
'keepRuntimeAlive',
|
|
@@ -5878,24 +5635,32 @@ var unexportedSymbols = [
|
|
|
5878
5635
|
'stringToUTF8Array',
|
|
5879
5636
|
'stringToAscii',
|
|
5880
5637
|
'UTF16Decoder',
|
|
5881
|
-
'stringToNewUTF8',
|
|
5882
5638
|
'stringToUTF8OnStack',
|
|
5883
5639
|
'JSEvents',
|
|
5884
5640
|
'specialHTMLTargets',
|
|
5641
|
+
'findCanvasEventTarget',
|
|
5885
5642
|
'currentFullscreenStrategy',
|
|
5886
5643
|
'restoreOldWindowedStyle',
|
|
5887
|
-
'
|
|
5888
|
-
'demangleAll',
|
|
5644
|
+
'UNWIND_CACHE',
|
|
5889
5645
|
'ExitStatus',
|
|
5890
5646
|
'getEnvStrings',
|
|
5891
5647
|
'doReadv',
|
|
5892
5648
|
'doWritev',
|
|
5649
|
+
'initRandomFill',
|
|
5650
|
+
'randomFill',
|
|
5893
5651
|
'promiseMap',
|
|
5894
5652
|
'uncaughtExceptionCount',
|
|
5895
5653
|
'exceptionLast',
|
|
5896
5654
|
'exceptionCaught',
|
|
5897
5655
|
'Browser',
|
|
5656
|
+
'getPreloadedImageData__data',
|
|
5898
5657
|
'wget',
|
|
5658
|
+
'MONTH_DAYS_REGULAR',
|
|
5659
|
+
'MONTH_DAYS_LEAP',
|
|
5660
|
+
'MONTH_DAYS_REGULAR_CUMULATIVE',
|
|
5661
|
+
'MONTH_DAYS_LEAP_CUMULATIVE',
|
|
5662
|
+
'isLeapYear',
|
|
5663
|
+
'ydayFromDate',
|
|
5899
5664
|
'SYSCALLS',
|
|
5900
5665
|
'preloadPlugins',
|
|
5901
5666
|
'FS_createPreloadedFile',
|
|
@@ -5903,8 +5668,12 @@ var unexportedSymbols = [
|
|
|
5903
5668
|
'FS_getMode',
|
|
5904
5669
|
'FS_stdin_getChar_buffer',
|
|
5905
5670
|
'FS_stdin_getChar',
|
|
5671
|
+
'FS_createPath',
|
|
5672
|
+
'FS_createDevice',
|
|
5673
|
+
'FS_readFile',
|
|
5906
5674
|
'FS',
|
|
5907
5675
|
'FS_createDataFile',
|
|
5676
|
+
'FS_createLazyFile',
|
|
5908
5677
|
'MEMFS',
|
|
5909
5678
|
'TTY',
|
|
5910
5679
|
'PIPEFS',
|
|
@@ -5913,7 +5682,6 @@ var unexportedSymbols = [
|
|
|
5913
5682
|
'miniTempWebGLFloatBuffers',
|
|
5914
5683
|
'miniTempWebGLIntBuffers',
|
|
5915
5684
|
'GL',
|
|
5916
|
-
'emscripten_webgl_power_preferences',
|
|
5917
5685
|
'AL',
|
|
5918
5686
|
'GLUT',
|
|
5919
5687
|
'EGL',
|
|
@@ -5923,6 +5691,8 @@ var unexportedSymbols = [
|
|
|
5923
5691
|
'SDL_gfx',
|
|
5924
5692
|
'allocateUTF8',
|
|
5925
5693
|
'allocateUTF8OnStack',
|
|
5694
|
+
'print',
|
|
5695
|
+
'printErr',
|
|
5926
5696
|
'adapters_support',
|
|
5927
5697
|
];
|
|
5928
5698
|
unexportedSymbols.forEach(unexportedRuntimeSymbol);
|
|
@@ -5974,7 +5744,7 @@ function run() {
|
|
|
5974
5744
|
return;
|
|
5975
5745
|
}
|
|
5976
5746
|
|
|
5977
|
-
|
|
5747
|
+
stackCheckInit();
|
|
5978
5748
|
|
|
5979
5749
|
preRun();
|
|
5980
5750
|
|
|
@@ -5997,7 +5767,7 @@ function run() {
|
|
|
5997
5767
|
preMain();
|
|
5998
5768
|
|
|
5999
5769
|
readyPromiseResolve(Module);
|
|
6000
|
-
|
|
5770
|
+
Module['onRuntimeInitialized']?.();
|
|
6001
5771
|
|
|
6002
5772
|
if (shouldRunNow) callMain();
|
|
6003
5773
|
|
|
@@ -6006,10 +5776,8 @@ function run() {
|
|
|
6006
5776
|
|
|
6007
5777
|
if (Module['setStatus']) {
|
|
6008
5778
|
Module['setStatus']('Running...');
|
|
6009
|
-
setTimeout(
|
|
6010
|
-
setTimeout(
|
|
6011
|
-
Module['setStatus']('');
|
|
6012
|
-
}, 1);
|
|
5779
|
+
setTimeout(() => {
|
|
5780
|
+
setTimeout(() => Module['setStatus'](''), 1);
|
|
6013
5781
|
doRun();
|
|
6014
5782
|
}, 1);
|
|
6015
5783
|
} else
|
|
@@ -6040,7 +5808,7 @@ function checkUnflushedContent() {
|
|
|
6040
5808
|
try { // it doesn't matter if it fails
|
|
6041
5809
|
_fflush(0);
|
|
6042
5810
|
// also flush in the JS FS layer
|
|
6043
|
-
['stdout', 'stderr'].forEach(
|
|
5811
|
+
['stdout', 'stderr'].forEach((name) => {
|
|
6044
5812
|
var info = FS.analyzePath('/dev/' + name);
|
|
6045
5813
|
if (!info) return;
|
|
6046
5814
|
var stream = info.object;
|
|
@@ -6072,9 +5840,9 @@ if (Module['noInitialRun']) shouldRunNow = false;
|
|
|
6072
5840
|
|
|
6073
5841
|
run();
|
|
6074
5842
|
|
|
6075
|
-
|
|
6076
5843
|
// end include: postamble.js
|
|
6077
|
-
|
|
5844
|
+
|
|
5845
|
+
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libauthorizer.js
|
|
6078
5846
|
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
6079
5847
|
// This file should be included in the build with --post-js.
|
|
6080
5848
|
|
|
@@ -6104,9 +5872,9 @@ run();
|
|
|
6104
5872
|
}
|
|
6105
5873
|
return result;
|
|
6106
5874
|
};
|
|
6107
|
-
})()
|
|
6108
|
-
|
|
6109
|
-
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.
|
|
5875
|
+
})();// end include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libauthorizer.js
|
|
5876
|
+
|
|
5877
|
+
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libfunction.js
|
|
6110
5878
|
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
6111
5879
|
// This file should be included in the build with --post-js.
|
|
6112
5880
|
|
|
@@ -6161,9 +5929,9 @@ run();
|
|
|
6161
5929
|
}
|
|
6162
5930
|
return result;
|
|
6163
5931
|
};
|
|
6164
|
-
})()
|
|
6165
|
-
|
|
6166
|
-
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.
|
|
5932
|
+
})();// end include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libfunction.js
|
|
5933
|
+
|
|
5934
|
+
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libhook.js
|
|
6167
5935
|
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
6168
5936
|
// This file should be included in the build with --post-js.
|
|
6169
5937
|
|
|
@@ -6193,8 +5961,36 @@ run();
|
|
|
6193
5961
|
}
|
|
6194
5962
|
};
|
|
6195
5963
|
})();
|
|
6196
|
-
|
|
6197
|
-
|
|
5964
|
+
|
|
5965
|
+
(function() {
|
|
5966
|
+
const AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;
|
|
5967
|
+
let pAsyncFlags = 0;
|
|
5968
|
+
|
|
5969
|
+
Module['commit_hook'] = function(db, xCommitHook) {
|
|
5970
|
+
if (pAsyncFlags) {
|
|
5971
|
+
Module['deleteCallback'](pAsyncFlags);
|
|
5972
|
+
Module['_sqlite3_free'](pAsyncFlags);
|
|
5973
|
+
pAsyncFlags = 0;
|
|
5974
|
+
}
|
|
5975
|
+
|
|
5976
|
+
pAsyncFlags = Module['_sqlite3_malloc'](4);
|
|
5977
|
+
setValue(pAsyncFlags, xCommitHook instanceof AsyncFunction ? 1 : 0, 'i32');
|
|
5978
|
+
|
|
5979
|
+
ccall(
|
|
5980
|
+
'libhook_commit_hook',
|
|
5981
|
+
'void',
|
|
5982
|
+
['number', 'number', 'number'],
|
|
5983
|
+
[db, xCommitHook ? 1 : 0, pAsyncFlags]);
|
|
5984
|
+
if (xCommitHook) {
|
|
5985
|
+
Module['setCallback'](pAsyncFlags, (_) => {
|
|
5986
|
+
return xCommitHook();
|
|
5987
|
+
});
|
|
5988
|
+
}
|
|
5989
|
+
};
|
|
5990
|
+
})();
|
|
5991
|
+
// end include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libhook.js
|
|
5992
|
+
|
|
5993
|
+
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libprogress.js
|
|
6198
5994
|
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
6199
5995
|
// This file should be included in the build with --post-js.
|
|
6200
5996
|
|
|
@@ -6221,9 +6017,9 @@ run();
|
|
|
6221
6017
|
Module['setCallback'](pAsyncFlags, _ => xProgress(pApp));
|
|
6222
6018
|
}
|
|
6223
6019
|
};
|
|
6224
|
-
})()
|
|
6225
|
-
|
|
6226
|
-
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.
|
|
6020
|
+
})();// end include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libprogress.js
|
|
6021
|
+
|
|
6022
|
+
// include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libvfs.js
|
|
6227
6023
|
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
6228
6024
|
// This file should be included in the build with --post-js.
|
|
6229
6025
|
|
|
@@ -6302,13 +6098,38 @@ run();
|
|
|
6302
6098
|
Module['_sqlite3_free'](vfsReturn);
|
|
6303
6099
|
}
|
|
6304
6100
|
};
|
|
6305
|
-
})()
|
|
6306
|
-
|
|
6101
|
+
})();// end include: /private/tmp/nix-build-wa-sqlite-livestore-3.47.0.drv-0/wa-sqlite-livestore/src/libvfs.js
|
|
6102
|
+
|
|
6103
|
+
// include: postamble_modularize.js
|
|
6104
|
+
// In MODULARIZE mode we wrap the generated code in a factory function
|
|
6105
|
+
// and return either the Module itself, or a promise of the module.
|
|
6106
|
+
//
|
|
6107
|
+
// We assign to the `moduleRtn` global here and configure closure to see
|
|
6108
|
+
// this as and extern so it won't get minified.
|
|
6109
|
+
|
|
6110
|
+
moduleRtn = readyPromise;
|
|
6111
|
+
|
|
6112
|
+
// Assertion for attempting to access module properties on the incoming
|
|
6113
|
+
// moduleArg. In the past we used this object as the prototype of the module
|
|
6114
|
+
// and assigned properties to it, but now we return a distinct object. This
|
|
6115
|
+
// keeps the instance private until it is ready (i.e the promise has been
|
|
6116
|
+
// resolved).
|
|
6117
|
+
for (const prop of Object.keys(Module)) {
|
|
6118
|
+
if (!(prop in moduleArg)) {
|
|
6119
|
+
Object.defineProperty(moduleArg, prop, {
|
|
6120
|
+
configurable: true,
|
|
6121
|
+
get() {
|
|
6122
|
+
abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)
|
|
6123
|
+
}
|
|
6124
|
+
});
|
|
6125
|
+
}
|
|
6126
|
+
}
|
|
6127
|
+
// end include: postamble_modularize.js
|
|
6128
|
+
|
|
6307
6129
|
|
|
6308
6130
|
|
|
6309
|
-
return
|
|
6131
|
+
return moduleRtn;
|
|
6310
6132
|
}
|
|
6311
6133
|
);
|
|
6312
6134
|
})();
|
|
6313
|
-
;
|
|
6314
|
-
export default Module;
|
|
6135
|
+
export default Module;
|