diff options
author | stephan <stephan@noemail.net> | 2022-11-30 05:27:36 +0000 |
---|---|---|
committer | stephan <stephan@noemail.net> | 2022-11-30 05:27:36 +0000 |
commit | ad4f7828153e6b80c0fceabb1a9ece702172b836 (patch) | |
tree | ea2ebea5c2bdb36a24e59026181f066bf31c7b7b /ext/wasm/api/sqlite3-api-prologue.js | |
parent | d0945f4638f342daf4c84ab5a03449137435dd36 (diff) | |
download | sqlite-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.js | 17 |
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 |