Snapshot of upstream SQLite 3.46.1
[sqlcipher.git] / ext / wasm / module-symbols.html
blobc5c6bc162b891d036f079f793480c2c6438c0a65
1 <!doctype html>
2 <html lang="en-us">
3 <head>
4 <meta charset="utf-8">
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6 <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
7 <title>sqlite3 Module Symbols</title>
8 <style>
9 body {
10 font-size: 12.5pt;
11 padding-bottom: 1em;
13 </style>
14 </head>
15 <body>
16 <div class="fossil-doc" data-title="sqlite3 Module Symbols"><!-- EXTRACT_BEGIN -->
17 <!--
18 The part of this doc wrapped in div.fossil-doc gets snipped out
19 from the canonical copy in the main tree (ext/wasm/module-symbols.html)
20 and added to the wasm docs repository, where it's served from
21 fossil.
22 -->
23 <style>
24 .pseudolist {
25 column-count: auto;
26 column-width: 12rem;
27 column-gap: 1.5em;
28 width: 90%;
29 margin: auto;
31 .pseudolist.wide {
32 column-width: 21rem;
34 .pseudolist.wide2 {
35 column-width: 25rem;
37 .pseudolist > span {
38 font-family: monospace;
39 margin: 0.25em 0;
40 display: block;
42 .pseudolist.wrap-anywhere {
43 overflow-wrap: anywhere;
45 .warning { color: firebrick }
46 .error { color: firebrick; background-color: yellow}
47 .hidden, .initially-hidden {
48 position: absolute !important;
49 opacity: 0 !important;
50 pointer-events: none !important;
51 display: none !important;
53 h1::before, h2::before, h3::before, h4::before {
54 /* Remove automatic numbering */
55 content: "" !important;
56 background-color: transparent !important;
57 margin: 0 !important;
58 border: 0 !important;
59 padding: 0 !important;
61 .func-wasm {
64 .func-wasm::after {
65 content: "WASM";
66 color: saddlebrown;
67 /* ^^^^ the color must be legible in both "bright" and "dark"
68 s ite themes. */
69 font-size: 0.65em;
70 /* baseline-shift: super; */
71 vertical-align: super;
73 </style>
74 <p id='module-load-status'><strong>Loading WASM module...</strong>
75 If this takes "a long time" it may have failed and the browser's
76 dev console may contain hints as to why.
77 </p>
79 <p>
80 This page lists the SQLite3 APIs exported
81 by <code>sqlite3.wasm</code> and exposed to clients
82 by <code>sqlite3.js</code>. These lists are generated dynamically
83 by loading the JS/WASM module and introspecting it, with the following
84 caveats:
85 </p>
87 <ul>
88 <li>Some APIs are explicitly filtered out of these lists because
89 they are strictly for internal use within the JS/WASM APIs and
90 its own test code.
91 </li>
92 <li>This page runs in the main UI thread so cannot see features
93 which are only available in a Worker thread. If this page were
94 to function via a Worker, it would not be able to see
95 functionality only available in the main thread. Either way, it
96 would be missing certain APIs.
97 </li>
98 </ul>
100 <div class='initially-hidden'>
102 <p>This page exposes a global symbol named <code>sqlite3</code>
103 which can be inspected using the browser's dev tools.
104 </p>
106 <p>Jump to...</p>
107 <ul>
108 <li><a href='#sqlite3-namespace'><code>sqlite3</code> namespace</a></li>
109 <li><a href='#sqlite3-version'><code>sqlite3.version</code> object</a></li>
110 <li><a href='#sqlite3-functions'><code>sqlite3_...()</code> functions</a></li>
111 <li><a href='#sqlite3-constants'><code>SQLITE_...</code> constants</a></li>
112 <li><a href='#sqlite3.oo1'><code>sqlite3.oo1</code> namespace</a>
113 <!--ul>
114 <li><a href='#sqlite3.oo1.DB'><code>sqlite3.oo1.DB</code></a></li>
115 <li><a href='#sqlite3.oo1.Stmt'><code>sqlite3.oo1.Stmt</code></a></li>
116 </ul-->
117 </li>
118 <li><a href='#sqlite3.wasm'><code>sqlite3.wasm</code> namespace</a></li>
119 <li><a href='#sqlite3.wasm.pstack'><code>sqlite3.wasm.pstack</code> namespace</a></li>
120 <li><a href='#compile-options'>Compilation options used in this module build</a></li>
121 </ul>
123 <a id="sqlite3-namespace"></a>
124 <h1><code>sqlite3</code> Namespace</h1>
126 The <code>sqlite3</code> namespace object exposes the following...
127 </p>
128 <div id='list-namespace' class='pseudolist'></div>
130 <a id="sqlite3-version"></a>
131 <h1><code>sqlite3.version</code> Object</h1>
133 The <code>sqlite3.version</code> object exposes the following...
134 </p>
135 <div id='list-version' class='pseudolist wide wrap-anywhere'></div>
137 <a id="sqlite3-functions"></a>
138 <h1><code>sqlite3_...()</code> Function List</h1>
140 <p>The <code>sqlite3.capi</code> namespace exposes the following
141 <a href='https://sqlite.org/c3ref/funclist.html'><code>sqlite3_...()</code>
142 functions</a>...
143 </p>
144 <div id='list-functions' class='pseudolist wide'></div>
146 <code class='func-wasm'></code> = function is specific to the JS/WASM
147 bindings, not part of the C API.
148 </p>
150 <a id="sqlite3-constants"></a>
151 <h1><code>SQLITE_...</code> Constants</h1>
153 <p>The <code>sqlite3.capi</code> namespace exposes the following
154 <a href='https://sqlite.org/c3ref/constlist.html'><code>SQLITE_...</code>
155 constants</a>...
156 </p>
157 <div id='list-constants' class='pseudolist wide'></div>
159 <a id="sqlite3.oo1"></a>
160 <h1><code>sqlite3.oo1</code> Namespace</h1>
162 The <code>sqlite3.oo1</code> namespace exposes the following...
163 </p>
164 <div id='list-oo1' class='pseudolist'></div>
166 <a id="sqlite3.wasm"></a>
167 <h1><code>sqlite3.wasm</code> Namespace</h1>
169 The <code>sqlite3.wasm</code> namespace exposes the
170 following...
171 </p>
172 <div id='list-wasm' class='pseudolist'></div>
174 <a id="sqlite3.wasm.pstack"></a>
175 <h1><code>sqlite3.wasm.pstack</code> Namespace</h1>
177 The <code>sqlite3.wasm.pstack</code> namespace exposes the
178 following...
179 </p>
180 <div id='list-wasm-pstack' class='pseudolist'></div>
182 <a id="compile-options"></a>
183 <h1>Compilation Options</h1>
185 <code>SQLITE_...</code> compilation options used in this build
186 of <code>sqlite3.wasm</code>...
187 </p>
188 <div id='list-compile-options' class='pseudolist wide2'></div>
190 </div><!-- .initially-hidden -->
191 <script src="jswasm/sqlite3.js">/* This tag MUST be inside the
192 fossil-doc block so that this part can work without modification in
193 the wasm docs repo. */</script>
194 <script>(async function(){
195 const apiLinks = Object.assign(Object.create(null),{
196 sqlite3_aggregate_context: 'www:/c3ref/aggregate_context.html',
197 sqlite3_auto_extension: 'wasm:/api-c-style.md#auto-extension',
198 sqlite3_bind_blob: 'www:/c3ref/bind_blob.html',
199 sqlite3_bind_double: 'www:/c3ref/bind_blob.html',
200 sqlite3_bind_int: 'www:/c3ref/bind_blob.html',
201 sqlite3_bind_int64: 'www:/c3ref/bind_blob.html',
202 sqlite3_bind_null: 'www:/c3ref/bind_blob.html',
203 sqlite3_bind_parameter_count: 'www:/c3ref/bind_parameter_count.html',
204 sqlite3_bind_parameter_index: 'www:/c3ref/bind_parameter_index.html',
205 sqlite3_bind_pointer: 'www:/c3ref/bind_blob.html',
206 sqlite3_bind_text: 'www:/c3ref/bind_blob.html',
207 sqlite3_busy_handler: 'www:/c3ref/busy_handler.html',
208 sqlite3_busy_timeout: 'www:/c3ref/busy_timeout.html',
209 sqlite3_cancel_auto_extension: 'wasm:/api-c-style.md#auto-extension',
210 sqlite3_changes: 'www:/c3ref/changes.html',
211 sqlite3_changes64: 'www:/c3ref/changes.html',
212 sqlite3_clear_bindings: 'www:/c3ref/clear_bindings.html',
213 sqlite3_close_v2: 'www:/c3ref/close.html',
214 sqlite3_collation_needed: 'www:/c3ref/collation_needed.html',
215 sqlite3_column_blob: 'www:/c3ref/column_blob.html',
216 sqlite3_column_bytes: 'www:/c3ref/column.html',
217 sqlite3_column_count: 'www:/c3ref/column_count.html',
218 sqlite3_column_double: 'www:/c3ref/column_blob.html',
219 sqlite3_column_int: 'www:/c3ref/column_blob.html',
220 sqlite3_column_int64: 'www:/c3ref/column_blob.html',
221 sqlite3_column_name: 'www:/c3ref/column_name.html',
222 sqlite3_column_text: 'www:/c3ref/column_blob.html',
223 sqlite3_column_type: 'www:/c3ref/column_blob.html',
224 sqlite3_column_value: 'www:/c3ref/column_blob.html',
225 sqlite3_commit_hook: 'wasm:/api-c-style.md#hook-api',
226 sqlite3_compileoption_get: 'www:/c3ref/compileoption_get.html',
227 sqlite3_compileoption_used: 'www:/c3ref/compileoption_get.html',
228 sqlite3_complete: 'www:/c3ref/complete.html',
229 sqlite3_config: 'www:/c3ref/config.html',
230 sqlite3_context_db_handle: 'www:/c3ref/context_db_handle.html',
231 sqlite3_create_collation: 'www:/c3ref/create_collation.html',
232 sqlite3_create_collation_v2: 'www:/c3ref/create_collation.html',
233 sqlite3_create_function: 'wasm:/api-c-style.md#sqlite3_create_function',
234 sqlite3_create_function_v2: 'wasm:/api-c-style.md#sqlite3_create_function',
235 sqlite3_create_module: 'www:/c3ref/create_module.html',
236 sqlite3_create_module_v2: 'www:/c3ref/create_module.html',
237 sqlite3_create_window_function: 'wasm:/api-c-style.md#sqlite3_create_function',
238 sqlite3_db_config: 'wasm:/api-c-style.md#sqlite3_db_config',
239 sqlite3_data_count: 'www:/c3ref/data_count.html',
240 sqlite3_db_filename: 'www:/c3ref/db_filename.html',
241 sqlite3_db_handle: 'www:/c3ref/db_handle.html',
242 sqlite3_db_name: 'www:/c3ref/db_name.html',
243 sqlite3_db_status: 'www:/c3ref/db_status.html',
244 sqlite3_declare_vtab: 'www:/c3ref/declare_vtab.html',
245 sqlite3_deserialize: 'wasm:/api-c-style.md#sqlite3_deserialize',
246 sqlite3_drop_modules: 'www:/c3ref/drop_modules.html',
247 sqlite3_errcode: 'www:/c3ref/errcode.html',
248 sqlite3_errmsg: 'www:/c3ref/errcode.html',
249 sqlite3_error_offset: 'www:/c3ref/error_offset.html',
250 sqlite3_errstr: 'www:/c3ref/errcode.html',
251 sqlite3_exec: 'wasm:/api-c-style.md#sqlite3_exec',
252 sqlite3_expanded_sql: 'www:/c3ref/expanded_sql.html',
253 sqlite3_extended_errcode: 'www:/c3ref/errcode.html',
254 sqlite3_extended_result_codes: 'www:/c3ref/extended_result_codes.html',
255 sqlite3_file_control: 'www:/c3ref/file_control.html',
256 sqlite3_finalize: 'www:/c3ref/finalize.html',
257 sqlite3_free: 'www:/c3ref/free.html',
258 sqlite3_get_auxdata: 'www:/c3ref/get_auxdata.html',
259 sqlite3_initialize: 'www:/c3ref/initialize.html',
260 sqlite3_keyword_check: 'www:/c3ref/keyword_check.html',
261 sqlite3_keyword_count: 'www:/c3ref/keyword_check.html',
262 sqlite3_keyword_name: 'www:/c3ref/keyword_check.html',
263 sqlite3_last_insert_rowid: 'www:/c3ref/last_insert_rowid.html',
264 sqlite3_libversion: 'www:/c3ref/libversion.html',
265 sqlite3_libversion_number: 'www:/c3ref/libversion.html',
266 sqlite3_limit: 'www:/c3ref/limit.html',
267 sqlite3_malloc: 'www:/c3ref/free.html',
268 sqlite3_malloc64: 'www:/c3ref/free.html',
269 sqlite3_msize: 'www:/c3ref/free.html',
270 sqlite3_open: 'www:/c3ref/open.html',
271 sqlite3_open_v2: 'www:/c3ref/open.html',
272 sqlite3_overload_function: 'www:/c3ref/overload_function.html',
273 sqlite3_prepare_v2: 'wasm:/api-c-style.md#sqlite3_prepare_v2',
274 sqlite3_prepare_v3: 'wasm:/api-c-style.md#sqlite3_prepare_v2',
275 sqlite3_progress_handler: 'www:/c3ref/progress_handler.html',
276 sqlite3_randomness: 'wasm:/api-c-style.md#sqlite3_randomness',
277 sqlite3_realloc: 'www:/c3ref/free.html',
278 sqlite3_realloc64: 'www:/c3ref/free.html',
279 sqlite3_reset: 'www:/c3ref/reset.html',
280 sqlite3_reset_auto_extension: 'wasm:/api-c-style.md#auto-extension',
281 sqlite3_result_blob: 'www:/c3ref/result_blob.html',
282 sqlite3_result_double: 'www:/c3ref/result_blob.html',
283 sqlite3_result_error: 'www:/c3ref/result_blob.html',
284 sqlite3_result_error_code: 'www:/c3ref/result_blob.html',
285 sqlite3_result_error_nomem: 'www:/c3ref/result_blob.html',
286 sqlite3_result_error_toobig: 'www:/c3ref/result_blob.html',
287 sqlite3_result_int: 'www:/c3ref/result_blob.html',
288 sqlite3_result_int64: 'www:/c3ref/result_blob.html',
289 sqlite3_result_null: 'www:/c3ref/result_blob.html',
290 sqlite3_result_pointer: 'www:/c3ref/result_blob.html',
291 sqlite3_result_subtype: 'www:/c3ref/result_subtype.html',
292 sqlite3_result_text: 'www:/c3ref/result_blob.html',
293 sqlite3_result_zeroblob: 'www:/c3ref/result_blob.html',
294 sqlite3_result_zeroblob64: 'www:/c3ref/result_blob.html',
295 sqlite3_rollback_hook: 'wasm:/api-c-style.md#hook-api',
296 sqlite3_serialize: 'www:/c3ref/serialize.html',
297 sqlite3_set_authorizer: 'wasm:/api-c-style.md#sqlite3_set_authorizer',
298 sqlite3_set_auxdata: 'www:/c3ref/get_auxdata.html',
299 sqlite3_set_last_insert_rowid: 'www:/c3ref/set_last_insert_rowid',
300 sqlite3_shutdown: 'www:/c3ref/initialize.html',
301 sqlite3_sourceid: 'www:/c3ref/libversion.html',
302 sqlite3_sql: 'www:/c3ref/expanded_sql.html',
303 sqlite3_status: 'www:/c3ref/status.html',
304 sqlite3_status64: 'www:/c3ref/status.html',
305 sqlite3_step: 'www:/c3ref/step.html',
306 sqlite3_stmt_isexplain: 'www:/c3ref/stmt_isexplain.html',
307 sqlite3_stmt_readonly: 'www:/c3ref/stmt_readonly.html',
308 sqlite3_stmt_status: 'www:/c3ref/stmt_status.html',
309 sqlite3_strglob: 'www:/c3ref/strglob.html',
310 sqlite3_stricmp: 'www:/c3ref/stricmp.html',
311 sqlite3_strlike: 'www:/c3ref/strlike.html',
312 sqlite3_strnicmp: 'www:/c3ref/strnicmp.html',
313 sqlite3_table_column_metadata: 'www:/c3ref/table_column_metadata.html',
314 sqlite3_total_changes: 'www:/c3ref/total_changes.html',
315 sqlite3_total_changes64: 'www:/c3ref/total_changes.html',
316 sqlite3_trace_v2: 'www:/c3ref/trace_v2.html',
317 sqlite3_txn_state: 'www:/c3ref/txn_state.html',
318 sqlite3_update_hook: 'wasm:/api-c-style.md#hook-api',
319 sqlite3_uri_boolean: 'www:/c3ref/uri_boolean.html',
320 sqlite3_uri_int64: 'www:/c3ref/uri_boolean.html',
321 sqlite3_uri_key: 'www:/c3ref/uri_boolean.html',
322 sqlite3_uri_parameter: 'www:/c3ref/uri_boolean.html',
323 sqlite3_user_data: 'www:/c3ref/user_data.html',
324 sqlite3_value_blob: 'www:/c3ref/value_blob.html',
325 sqlite3_value_bytes: 'www:/c3ref/value_blob.html',
326 sqlite3_value_double: 'www:/c3ref/value_blob.html',
327 sqlite3_value_dup: 'www:/c3ref/value_dup.html',
328 sqlite3_value_free: 'www:/c3ref/value_dup.html',
329 sqlite3_value_frombind: 'www:/c3ref/value_blob.html',
330 sqlite3_value_int: 'www:/c3ref/value_blob.html',
331 sqlite3_value_int64: 'www:/c3ref/value_blob.html',
332 sqlite3_value_nochange: 'www:/c3ref/value_blob.html',
333 sqlite3_value_numeric_type: 'www:/c3ref/value_blob.html',
334 sqlite3_value_pointer: 'www:/c3ref/value_blob.html',
335 sqlite3_value_subtype: 'www:/c3ref/value_subtype.html',
336 sqlite3_value_text: 'www:/c3ref/value_blob.html',
337 sqlite3_value_type: 'www:/c3ref/value_blob.html',
338 sqlite3_vfs_find: 'www:/c3ref/vfs_find.html',
339 sqlite3_vfs_register: 'www:/c3ref/vfs_find.html',
340 sqlite3_vfs_unregister: 'www:/c3ref/vfs_find.html',
341 sqlite3_vtab_collation: 'www:/c3ref/vtab_collation.html',
342 sqlite3_vtab_config: 'www:/c3ref/vtab_config.html',
343 sqlite3_vtab_distinct: 'www:/c3ref/vtab_distinct.html',
344 sqlite3_vtab_in: 'www:/c3ref/vtab_in.html',
345 sqlite3_vtab_in_first: 'www:/c3ref/vtab_in_first.html',
346 sqlite3_vtab_in_next: 'www:/c3ref/vtab_in_next.html',
347 sqlite3_vtab_nochange: 'www:/c3ref/vtab_nochange.html',
348 sqlite3_vtab_on_conflict: 'www:/c3ref/vtab_on_conflict.html',
349 sqlite3_vtab_rhs_value: 'www:/c3ref/vtab_rhs_value.html',
351 sqlite3_column_js: 'wasm:/api-c-style.md#sqlite3_column_js',
352 sqlite3_js_aggregate_context: 'wasm:/api-c-style.md#sqlite3_js_aggregate_context',
353 sqlite3_js_db_export: 'wasm:/api-c-style.md#sqlite3_js_db_export',
354 sqlite3_js_db_uses_vfs: 'wasm:/api-c-style.md#sqlite3_js_db_uses_vfs',
355 sqlite3_js_db_vfs: 'wasm:/api-c-style.md#sqlite3_js_db_vfs',
356 sqlite3_js_kvvfs_clear: 'wasm:/api-c-style.md#sqlite3_js_kvvfs',
357 sqlite3_js_kvvfs_size: 'wasm:/api-c-style.md#sqlite3_js_kvvfs',
358 sqlite3_js_posix_create_file: 'wasm:/api-c-style.md#sqlite3_js_posix_create_file',
359 sqlite3_js_rc_str: 'wasm:/api-c-style.md#sqlite3_js_rc_str',
360 sqlite3_js_vfs_create_file: 'wasm:/api-c-style.md#sqlite3_js_vfs_create_file',
361 sqlite3_js_vfs_list: 'wasm:/api-c-style.md#sqlite3_js_vfs_list',
362 sqlite3_result_error_js: 'wasm:/api-c-style.md#sqlite3_result_error_js',
363 sqlite3_result_js: 'wasm:/api-c-style.md#sqlite3_result_js',
364 sqlite3_value_to_js: 'wasm:/api-c-style.md#sqlite3_value_to_js',
365 sqlite3_values_to_js: 'wasm:/api-c-style.md#sqlite3_values_to_js',
367 xform: (v)=>{
368 if(v){
369 return v.replace('www:','https://sqlite.org')
370 .replace('wasm:','https://sqlite.org/wasm/doc/trunk');
371 }else{
372 return undefined;
376 const eNew = (tag,parent)=>{
377 const e = document.createElement(tag);
378 if(parent) parent.appendChild(e);
379 return e;
381 const eLi = (label,parent)=>{
382 const e = eNew('span',parent);
383 e.innerText = label;
384 return e;
386 const eLink = (label,url,parent)=>{
387 const w = eNew('span',parent);
388 const e = eNew('a',w);
389 if(url){
390 e.href = url;
391 e.target = 'sqlite3-api-docs';
393 e.innerText = label;
394 return w;
396 const E = (sel)=>document.querySelector(sel);
397 const EAll = (sel)=>document.querySelectorAll(sel);
398 const eFuncs = E('#list-functions'),
399 eConst = E('#list-constants');
400 const renderConst = function(name){
401 eLi(name, eConst);
403 const renderFunc = function(name){
404 let lbl = name+'()';
405 const e = eLink(lbl, apiLinks.xform(apiLinks[name]), eFuncs);
406 if(name.indexOf('_js')>0
407 || name.indexOf('_wasm')>0){
408 e.classList.add('func-wasm');
411 const renderGeneric = function(name,value,eParent){
412 let lbl;
413 if(value instanceof Function) lbl = name+'()';
414 else{
415 switch(typeof value){
416 case 'number': case 'boolean': case 'string':
417 lbl = name+' = '+JSON.stringify(value);
418 break;
419 default:
420 lbl = name + ' ['+(typeof value)+']';
423 const e = eLi(lbl, eParent);
424 if(name.startsWith('sqlite3_wasm')){
425 e.classList.add('func-wasm');
428 const renderIt = async function(sqlite3){
429 self.sqlite3 = sqlite3;
430 console.warn("sqlite3 installed as global symbol self.sqlite3.");
431 const capi = sqlite3.capi, wasm = sqlite3.wasm;
432 const cmpIcase = (a,b)=>a.toLowerCase().localeCompare(b.toLowerCase());
433 const renderX = function(tgtElem, container, keys){
434 for(const k of keys.sort(cmpIcase)){
435 renderGeneric(k, container[k], tgtElem);
439 const excludeNamespace = ['scriptInfo','StructBinder'];
440 renderX(
441 E('#list-namespace'), sqlite3,
442 Object.keys(sqlite3)
443 .filter((v)=>excludeNamespace.indexOf(v)<0)
445 renderX(
446 E('#list-version'), sqlite3.version,
447 Object.keys(sqlite3.version)
450 /* sqlite3_...() and SQLITE_... */
451 const lists = {c: [/*constants*/], f: [/*functions*/],
452 s: [/*structs*/]};
453 /* Exclude these from the function list... */
454 const excludeCapi = [
455 // WASMFS stuff:
456 'sqlite3_wasmfs_filename_is_persistent',
457 'sqlite3_wasmfs_opfs_dir'
459 for(const [k,v] of Object.entries(capi)){
460 if(k.startsWith('SQLITE_')){
461 lists.c.push(k);
462 }else if(k.startsWith('sqlite3_')){
463 if(excludeCapi.indexOf(k)>=0) continue;
464 if(v.structInfo){
465 // assume this is a StructType-type.
466 continue;
468 lists.f.push(k);
471 lists.c.sort().forEach(renderConst);
472 lists.f.sort().forEach(renderFunc);
473 lists.c = lists.f = null;
475 renderX(E('#list-oo1'), sqlite3.oo1,
476 Object.keys(sqlite3.oo1) );
478 const excludeWasm = ['ctype'];
479 renderX(E('#list-wasm'),
480 wasm, Object.keys(wasm).filter((v)=>{
481 return !v.startsWith('sqlite3_wasm_')
482 && excludeWasm.indexOf(v)<0;
483 }));
484 const psKeys = Object.keys(wasm.pstack);
485 psKeys.push('pointer','quota','remaining');
486 renderX(E('#list-wasm-pstack'), wasm.pstack, psKeys);
488 const cou = wasm.compileOptionUsed();
489 //const cou2 = Object.create(null);
490 //Object.entries(cou).forEach((e)=>cou2['SQLITE_'+e[0]] = e[1]);
491 renderX(E('#list-compile-options'), cou, Object.keys(cou));
495 This is a module object for use with the emscripten-installed
496 sqlite3InitModule() factory function.
498 const myModule = {
499 print: (...args)=>{console.log(...args)},
500 printErr: (...args)=>{console.error(...args)},
502 Called by the Emscripten module init bits to report loading
503 progress. It gets passed an empty argument when loading is done
504 (after onRuntimeInitialized() and any this.postRun callbacks
505 have been run).
507 setStatus: function f(text){
508 if(!f.last){
509 f.last = { text: '', step: 0 };
510 f.ui = {
511 status: E('#module-load-status')
514 if(text === f.last.text) return;
515 f.last.text = text;
516 ++f.last.step;
517 if(text) {
518 f.ui.status.classList.remove('hidden');
519 f.ui.status.innerText = text;
520 }else{
521 f.ui.status.classList.add('hidden');
522 EAll('.initially-hidden').forEach((e)=>{
523 e.classList.remove('initially-hidden');
527 }/*myModule*/;
528 self.sqlite3InitModule(myModule).then(renderIt);
529 })();</script>
530 </div><!-- .fossil-doc EXTRACT_END -->
531 </body></html>