});
}
- if(1){/* Convert Arrays and certain TypedArrays to strings for
- 'flexible-string'-type arguments */
+ {/* Convert Arrays and certain TypedArrays to strings for
+ 'flexible-string'-type arguments */
const xString = wasm.xWrap.argAdapter('string');
wasm.xWrap.argAdapter(
'flexible-string', (v)=>xString(util.flexibleString(v))
break;
case undefined:
case 'this':
+ out.returnVal = ()=>db;
break;
default:
toss3("Invalid returnValue value:",opt.returnValue);
}
- if(!out.returnVal) out.returnVal = ()=>db;
if(opt.callback || opt.resultRows){
switch((undefined===opt.rowMode)
? 'array' : opt.rowMode) {
affirmDbOpen(this);
const arg = parseExecArgs(this, arguments);
if(!arg.sql){
- return (''===arg.sql) ? this : toss3("exec() requires an SQL string.");
+ return toss3("exec() requires an SQL string.");
}
const opt = arg.opt;
const callback = opt.callback;
- const returnValue = opt.returnValue || 'this';
- const resultRows = (Array.isArray(opt.resultRows)
- ? opt.resultRows : (
- 'resultRows'===returnValue ? [] : undefined
- ));
+ const resultRows =
+ Array.isArray(opt.resultRows) ? opt.resultRows : undefined;
let stmt;
let bind = opt.bind;
let evalFirstResult = !!(arg.cbArg || opt.columnNames) /* true to evaluate the first result-returning query */;
A very few exceptions require an additional level of proxy
function or may otherwise require special attention in the WASM
- environment, and all such cases are document here. Those not
- documented otherwise are installed as 1-to-1 proxies for their
+ environment, and all such cases are documented somewhere below
+ in this file or in sqlite3-api-glue.js. capi members which are
+ not documented are installed as 1-to-1 proxies for their
C-side counterparts.
*/
const capi = Object.create(null);
+ /**
+ Holds state which are specific to the WASM-related
+ infrastructure and glue code. It is not expected that client
+ code will normally need these, but they're exposed here in case
+ it does. These APIs are _not_ to be considered an
+ official/stable part of the sqlite3 WASM API. They may change
+ as the developers' experience suggests appropriate changes.
+
+ Note that a number of members of this object are injected
+ dynamically after the api object is fully constructed, so
+ not all are documented in this file.
+ */
+ const wasm = Object.create(null);
/**
Functionally equivalent to the SQLite3Error constructor but may
/**
If v is-a Array, its join('') result is returned. If
isSQLableTypedArray(v) is true then typedArrayToString(v) is
+ returned. If it looks like a WASM pointer, wasm.cstringToJs(v) is
returned. Else v is returned as-is.
*/
const flexibleString = function(v){
if(isSQLableTypedArray(v)) return typedArrayToString(v);
else if(Array.isArray(v)) return v.join('');
+ else if(wasm.isPtr(v)) v = wasm.cstringToJs(v);
return v;
};
typedArrayPart
};
- /**
- Holds state which are specific to the WASM-related
- infrastructure and glue code. It is not expected that client
- code will normally need these, but they're exposed here in case
- it does. These APIs are _not_ to be considered an
- official/stable part of the sqlite3 WASM API. They may change
- as the developers' experience suggests appropriate changes.
-
- Note that a number of members of this object are injected
- dynamically after the api object is fully constructed, so
- not all are documented inline here.
- */
- const wasm = {
+ Object.assign(wasm, {
/**
Emscripten APIs have a deep-seated assumption that all pointers
are 32 bits. We'll remain optimistic that that won't always be
dealloc: undefined/*installed later*/
/* Many more wasm-related APIs get installed later on. */
- }/*wasm*/;
+ }/*wasm*/);
/**
wasm.alloc()'s srcTypedArray.byteLength bytes,
-C Significant\scleanups\sand\sexpansion\sof\sthe\ssqlite3.opfs\sutilities.\sAdd\soo1.DB.dbVfsName().\sAdd\sVFS\sname\sto\sworker1:open's\sarguments\sand\sresult.
-D 2022-11-01T07:49:49.018
+C Minor\sinternal\scleanups\sin\sthe\sjs\spieces.
+D 2022-11-01T11:09:34.309
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F ext/wasm/api/post-js-header.js d6ab3dfef4a06960d28a7eaa338d4e2a1a5981e9b38718168bbde8fdb2a439b8
F ext/wasm/api/pre-js.js 287e462f969342b032c03900e668099fa1471d852df7a472de5bc349161d9c04
F ext/wasm/api/sqlite3-api-cleanup.js ecdc69dbfccfe26146f04799fcfd4a6f5790d46e7e3b9b6e9b0491f92ed8ae34
-F ext/wasm/api/sqlite3-api-glue.js ebfd1d01b249c705482bfe3bdef3b1feaecf55821c46abf79b8105ec9b1c2b1a
-F ext/wasm/api/sqlite3-api-oo1.js ce8db98ab7c394fd8fb99ae135c46269a1a0162250a70e39e7975b4317a03640
+F ext/wasm/api/sqlite3-api-glue.js 9cfa26a9818532c80c2555bc98615de3b170d5db0cf4b141cc3aa83c33c8758f
+F ext/wasm/api/sqlite3-api-oo1.js e9a83489bbb4838ce0aee46eaaa9350e0e25a5b926b565e4f5ae8e840e4fbaed
F ext/wasm/api/sqlite3-api-opfs.js 59b278ed00764fc47ba88be0582ab3fc3ce725e02b6d86459464cc029b9ac356
-F ext/wasm/api/sqlite3-api-prologue.js 850581aa0c759db25c04d64b340b0c5272f253fb195377acc8d851e376710ad3
+F ext/wasm/api/sqlite3-api-prologue.js 201b9ab9d101fdefa3175b02748ef39cba43bc7abe87a69b6faac24e58cd70f0
F ext/wasm/api/sqlite3-api-worker1.js 4f920a54fb97d4ca50632d45bd7d011a55016eb5a5883725033abb450903bc6f
F ext/wasm/api/sqlite3-license-version-header.js a661182fc93fc2cf212dfd0b987f8e138a3ac98f850b1112e29b5fbdaecc87c3
F ext/wasm/api/sqlite3-opfs-async-proxy.js 2627bf8dc04c24783a55de40d8a6d18da31e81a9bb926a5b672b402f582099b5
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P d15c9a4a323b825eb80e706e12e9df95e5db458024f51e6e537940efc8234d8b
-R 095ddbe256b2c65febf55a9bc126a8d9
+P 86a341d7e061f946b39e8647ddd4743013b851b33ae9e6e755d8dbc53fba5286
+R c124f1782fbda1f872463378ecd48f84
U stephan
-Z 25b125153b5de3e07d69ba6b59e3eede
+Z b4351b5e7b55104b1aa36757ad482931
# Remove this line to create a well-formed Fossil manifest.
-86a341d7e061f946b39e8647ddd4743013b851b33ae9e6e755d8dbc53fba5286
\ No newline at end of file
+271391b4e32220ab4c32d69f579ecd2b03eb99da898955a1ef8fffc27216719d
\ No newline at end of file