aboutsummaryrefslogtreecommitdiff
path: root/ext/wasm/api/sqlite3-api-prologue.js
diff options
context:
space:
mode:
authorstephan <stephan@noemail.net>2022-11-30 05:27:36 +0000
committerstephan <stephan@noemail.net>2022-11-30 05:27:36 +0000
commitad4f7828153e6b80c0fceabb1a9ece702172b836 (patch)
treeea2ebea5c2bdb36a24e59026181f066bf31c7b7b /ext/wasm/api/sqlite3-api-prologue.js
parentd0945f4638f342daf4c84ab5a03449137435dd36 (diff)
downloadsqlite-ad4f7828153e6b80c0fceabb1a9ece702172b836.tar.gz
sqlite-ad4f7828153e6b80c0fceabb1a9ece702172b836.zip
Refactor a significant chunk of the OPFS sqlite3_vfs init code into sqlite3.VfsHelper, and internal-use-only API encapsulating code relevant to creating new VFSes in JS. Intended to assist in pending experimentation with an alternative OPFS VFS.
FossilOrigin-Name: e25d7b080a807e35b32cb885ea75b384130e5c6e936dfef783c5b45d9bfe77d8
Diffstat (limited to 'ext/wasm/api/sqlite3-api-prologue.js')
-rw-r--r--ext/wasm/api/sqlite3-api-prologue.js17
1 files changed, 15 insertions, 2 deletions
diff --git a/ext/wasm/api/sqlite3-api-prologue.js b/ext/wasm/api/sqlite3-api-prologue.js
index 726f47e18..6d3958196 100644
--- a/ext/wasm/api/sqlite3-api-prologue.js
+++ b/ext/wasm/api/sqlite3-api-prologue.js
@@ -612,8 +612,11 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
isBindableTypedArray,
isInt32, isSQLableTypedArray, isTypedArray,
typedArrayToString,
- isUIThread: ()=>'undefined'===typeof WorkerGlobalScope,
+ isUIThread: ()=>(self.window===self && !!self.document),
+ // is this true for ESM?: 'undefined'===typeof WorkerGlobalScope
isSharedTypedArray,
+ toss: function(...args){throw new Error(args.join(' '))},
+ toss3,
typedArrayPart
};
@@ -1460,7 +1463,17 @@ self.sqlite3ApiBootstrap = function sqlite3ApiBootstrap(
//let p = lip.shift();
//while(lip.length) p = p.then(lip.shift());
//return p.then(()=>sqlite3);
- return Promise.all(lip).then(()=>sqlite3);
+ return Promise.all(lip).then(()=>{
+ if(!sqlite3.__isUnderTest){
+ /* Delete references to internal-only APIs which are used by
+ some initializers. Retain them when running in test mode
+ so that we can add tests for them. */
+ delete sqlite3.util;
+ delete sqlite3.VfsHelper;
+ delete sqlite3.StructBinder;
+ }
+ return sqlite3;
+ });
},
/**
scriptInfo ideally gets injected into this object by the