@duckdb/duckdb-wasm 1.25.0 → 1.26.0
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/dist/duckdb-browser-blocking.cjs +5 -5
- package/dist/duckdb-browser-blocking.cjs.map +4 -4
- package/dist/duckdb-browser-blocking.mjs +5 -5
- package/dist/duckdb-browser-blocking.mjs.map +4 -4
- package/dist/duckdb-browser-coi.pthread.worker.js +7 -7
- package/dist/duckdb-browser-coi.pthread.worker.js.map +3 -3
- package/dist/duckdb-browser-coi.worker.js +8 -8
- package/dist/duckdb-browser-coi.worker.js.map +3 -3
- package/dist/duckdb-browser-eh.worker.js +7 -7
- package/dist/duckdb-browser-eh.worker.js.map +3 -3
- package/dist/duckdb-browser-mvp.worker.js +8 -8
- package/dist/duckdb-browser-mvp.worker.js.map +3 -3
- package/dist/duckdb-browser.cjs +1 -1
- package/dist/duckdb-browser.cjs.map +4 -4
- package/dist/duckdb-browser.mjs +1 -1
- package/dist/duckdb-browser.mjs.map +4 -4
- package/dist/duckdb-coi.wasm +0 -0
- package/dist/duckdb-eh.wasm +0 -0
- package/dist/duckdb-mvp.wasm +0 -0
- package/dist/duckdb-node-blocking.cjs +4 -4
- package/dist/duckdb-node-blocking.cjs.map +4 -4
- package/dist/duckdb-node-eh.worker.cjs +4 -4
- package/dist/duckdb-node-eh.worker.cjs.map +3 -3
- package/dist/duckdb-node-mvp.worker.cjs +3 -3
- package/dist/duckdb-node-mvp.worker.cjs.map +3 -3
- package/dist/duckdb-node.cjs +1 -1
- package/dist/duckdb-node.cjs.map +4 -4
- package/dist/img/duckdb_version_badge.svg +1 -1
- package/dist/tests-browser.js +834 -745
- package/dist/tests-browser.js.map +2 -2
- package/dist/tests-node.cjs +847 -783
- package/dist/tests-node.cjs.map +4 -4
- package/dist/types/src/bindings/config.d.ts +10 -0
- package/package.json +5 -5
package/dist/duckdb-node.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var de=Object.create;var y=Object.defineProperty;var le=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var Ee=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var K=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),me=(s,e)=>{for(var r in e)y(s,r,{get:e[r],enumerable:!0})},V=(s,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ue(e))!pe.call(s,n)&&n!==r&&y(s,n,{get:()=>e[n],enumerable:!(t=le(e,n))||t.enumerable});return s};var g=(s,e,r)=>(r=s!=null?de(Ee(s)):{},V(e||!s||!s.__esModule?y(r,"default",{value:s,enumerable:!0}):r,s)),Re=s=>V(y({},"__esModule",{value:!0}),s);var re=K((tr,ee)=>{"use strict";var ye=async s=>{try{return(await WebAssembly.instantiate(s)).instance.exports.b(BigInt(0))===BigInt(0)}catch{return!1}},ge=async()=>"compileStreaming"in WebAssembly,Se=async s=>{try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(s)}catch{return!1}},he={bigInt:()=>ye(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,126,1,126,3,2,1,0,7,5,1,1,98,0,0,10,6,1,4,0,32,0,11])),bulkMemory:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),exceptions:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),extendedConst:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,0,1,11,9,1,0,65,1,65,2,106,11,0])),memory64:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,5,3,1,4,1])),multiValue:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,0,2,127,127,3,2,1,0,10,8,1,6,0,65,0,65,0,11])),mutableGlobals:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1])),referenceTypes:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,7,1,5,0,208,112,26,11])),relaxedSimd:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,15,1,13,0,65,1,253,15,65,2,253,15,253,128,2,11])),saturatedFloatToInt:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,12,1,10,0,67,0,0,0,0,252,0,26,11])),signExtensions:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,65,0,192,26,11])),simd:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),streamingCompilation:()=>ge(),tailCall:async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,6,1,4,0,18,0,11])),threads:()=>Se(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))};ee.exports=he});var ae=K((cr,oe)=>{var Y=require("url"),Fe=require("vm"),T=require("worker_threads"),Q=Symbol.for("worker"),I=Symbol.for("events"),L=class{constructor(){Object.defineProperty(this,I,{value:new Map})}dispatchEvent(e){if(e.target=e.currentTarget=this,this["on"+e.type])try{this["on"+e.type](e)}catch(t){console.error(t)}let r=this[I].get(e.type);r!=null&&r.forEach(t=>{try{t.call(this,e)}catch(n){console.error(n)}})}addEventListener(e,r){let t=this[I].get(e);t||this[I].set(e,t=[]),t.push(r)}removeEventListener(e,r){let t=this[I].get(e);if(t){let n=t.indexOf(r);n!==-1&&t.splice(n,1)}}};function H(s,e){this.type=s,this.timeStamp=Date.now(),this.target=this.currentTarget=this.data=null}oe.exports=T.isMainThread?Ce():We();var Ue=Y.pathToFileURL(process.cwd()+"/");function Ce(){class s extends L{constructor(r,t){super();let{name:n,type:c}=t||{};r+="";let o;/^data:/.test(r)?o=r:o=Y.fileURLToPath(new Y.URL(r,Ue));let E=new T.Worker(__filename,{workerData:{mod:o,name:n,type:c}});Object.defineProperty(this,Q,{value:E}),E.on("message",_=>{let u=new H("message");u.data=_,this.dispatchEvent(u)}),E.on("error",_=>{_.type="error",this.dispatchEvent(_)}),E.on("exit",()=>{this.dispatchEvent(new H("close"))})}postMessage(r,t){this[Q].postMessage(r,t)}terminate(){this[Q].terminate()}}return s.prototype.onmessage=s.prototype.onerror=s.prototype.onclose=null,s}function We(){let{mod:s,name:e,type:r}=T.workerData,t=global.self=global,n=[];function c(){let u=n;n=null,u.forEach(R=>{t.dispatchEvent(R)})}T.parentPort.on("message",u=>{let R=new H("message");R.data=u,n==null?t.dispatchEvent(R):n.push(R)}),T.parentPort.on("error",u=>{u.type="Error",t.dispatchEvent(u)});class o extends L{postMessage(R,ce){T.parentPort.postMessage(R,ce)}close(){process.exit()}}let E=Object.getPrototypeOf(global);delete E.constructor,Object.defineProperties(o.prototype,E),E=Object.setPrototypeOf(global,new o),["postMessage","addEventListener","removeEventListener","dispatchEvent"].forEach(u=>{E[u]=E[u].bind(global)}),global.name=e;let _=/^data:/.test(s);if(r==="module")import(s).catch(u=>{if(_&&u.message==="Not supported")return console.warn("Worker(): Importing data: URLs requires Node 12.10+. Falling back to classic worker."),ne(s,e);console.error(u)}).then(c);else{try{/^data:/.test(s)?ne(s,e):require(s)}catch(u){console.error(u)}Promise.resolve().then(c)}}function ne(s,e){let{data:r}=ve(s);return Fe.runInThisContext(r,{filename:"worker.<"+(e||"data:")+">"})}function ve(s){let[e,r,t,n]=s.match(/^data: *([^;,]*)(?: *; *([^,]*))? *,(.*)$/)||[];if(!e)throw Error("Invalid Data URL.");if(t)switch(t.toLowerCase()){case"base64":n=Buffer.from(n,"base64").toString();break;default:throw Error('Unknown Data URL encoding "'+t+'"')}return{type:r,data:n}}});var Ge={};me(Ge,{AsyncDuckDB:()=>f,AsyncDuckDBConnection:()=>b,AsyncDuckDBDispatcher:()=>F,AsyncPreparedStatement:()=>S,AsyncResultStreamIterator:()=>k,ConsoleLogger:()=>P,DuckDBDataProtocol:()=>j,LogEvent:()=>$,LogLevel:()=>z,LogOrigin:()=>Z,LogTopic:()=>J,PACKAGE_NAME:()=>U,PACKAGE_VERSION:()=>C,PACKAGE_VERSION_MAJOR:()=>Ae,PACKAGE_VERSION_MINOR:()=>Le,PACKAGE_VERSION_PATCH:()=>we,StatusCode:()=>X,VoidLogger:()=>w,WorkerRequestType:()=>D,WorkerResponseType:()=>O,WorkerTask:()=>a,createWorker:()=>Me,getJsDelivrBundles:()=>Oe,getLogEventLabel:()=>Te,getLogLevelLabel:()=>_e,getLogOriginLabel:()=>ke,getLogTopicLabel:()=>be,getPlatformFeatures:()=>se,isFirefox:()=>Pe,isNode:()=>q,isSafari:()=>De,selectBundle:()=>fe});module.exports=Re(Ge);var z=(c=>(c[c.NONE=0]="NONE",c[c.DEBUG=1]="DEBUG",c[c.INFO=2]="INFO",c[c.WARNING=3]="WARNING",c[c.ERROR=4]="ERROR",c))(z||{}),J=(o=>(o[o.NONE=0]="NONE",o[o.CONNECT=1]="CONNECT",o[o.DISCONNECT=2]="DISCONNECT",o[o.OPEN=3]="OPEN",o[o.QUERY=4]="QUERY",o[o.INSTANTIATE=5]="INSTANTIATE",o))(J||{}),$=(o=>(o[o.NONE=0]="NONE",o[o.OK=1]="OK",o[o.ERROR=2]="ERROR",o[o.START=3]="START",o[o.RUN=4]="RUN",o[o.CAPTURE=5]="CAPTURE",o))($||{}),Z=(c=>(c[c.NONE=0]="NONE",c[c.WEB_WORKER=1]="WEB_WORKER",c[c.NODE_WORKER=2]="NODE_WORKER",c[c.BINDINGS=3]="BINDINGS",c[c.ASYNC_DUCKDB=4]="ASYNC_DUCKDB",c))(Z||{}),w=class{log(e){}},P=class{constructor(e=2){this.level=e}log(e){e.level>=this.level&&console.log(e)}};function _e(s){switch(s){case 0:return"NONE";case 1:return"DEBUG";case 2:return"INFO";case 3:return"WARNING";case 4:return"ERROR";default:return"?"}}function Te(s){switch(s){case 0:return"NONE";case 1:return"OK";case 2:return"ERROR";case 3:return"START";case 4:return"RUN";case 5:return"CAPTURE";default:return"?"}}function be(s){switch(s){case 1:return"CONNECT";case 2:return"DISCONNECT";case 5:return"INSTANTIATE";case 3:return"OPEN";case 4:return"QUERY";default:return"?"}}function ke(s){switch(s){case 0:return"NONE";case 1:return"WEB WORKER";case 2:return"NODE WORKER";case 3:return"DUCKDB BINDINGS";case 4:return"DUCKDB";default:return"?"}}var X=(e=>(e[e.SUCCESS=0]="SUCCESS",e))(X||{});var p=g(require("apache-arrow"));var b=class{constructor(e,r){this._bindings=e,this._conn=r}get bindings(){return this._bindings}async close(){return this._bindings.disconnect(this._conn)}useUnsafe(e){return e(this._bindings,this._conn)}async query(e){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:e});let r=await this._bindings.runQuery(this._conn,e),t=p.RecordBatchReader.from(r);return console.assert(t.isSync(),"Reader is not sync"),console.assert(t.isFile(),"Reader is not file"),new p.Table(t)}async send(e){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:e});let r=await this._bindings.startPendingQuery(this._conn,e);for(;r==null;)r=await this._bindings.pollPendingQuery(this._conn);let t=new k(this._bindings,this._conn,r),n=await p.RecordBatchReader.from(t);return console.assert(n.isAsync()),console.assert(n.isStream()),n}async cancelSent(){return await this._bindings.cancelPendingQuery(this._conn)}async getTableNames(e){return await this._bindings.getTableNames(this._conn,e)}async prepare(e){let r=await this._bindings.createPrepared(this._conn,e);return new S(this._bindings,this._conn,r)}async insertArrowTable(e,r){let t=p.tableToIPC(e,"stream");await this.insertArrowFromIPCStream(t,r)}async insertArrowFromIPCStream(e,r){await this._bindings.insertArrowFromIPCStream(this._conn,e,r)}async insertCSVFromPath(e,r){await this._bindings.insertCSVFromPath(this._conn,e,r)}async insertJSONFromPath(e,r){await this._bindings.insertJSONFromPath(this._conn,e,r)}},k=class{constructor(e,r,t){this.db=e;this.conn=r;this.header=t;this._first=!0,this._depleted=!1,this._inFlight=null}async next(){if(this._first)return this._first=!1,{done:!1,value:this.header};if(this._depleted)return{done:!0,value:null};let e;return this._inFlight!=null?(e=await this._inFlight,this._inFlight=null):e=await this.db.fetchQueryResults(this.conn),this._depleted=e.length==0,this._depleted||(this._inFlight=this.db.fetchQueryResults(this.conn)),{done:this._depleted,value:e}}[Symbol.asyncIterator](){return this}},S=class{constructor(e,r,t){this.bindings=e,this.connectionId=r,this.statementId=t}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...e){let r=await this.bindings.runPrepared(this.connectionId,this.statementId,e),t=p.RecordBatchReader.from(r);return console.assert(t.isSync()),console.assert(t.isFile()),new p.Table(t)}async send(...e){let r=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),t=new k(this.bindings,this.connectionId,r),n=await p.RecordBatchReader.from(t);return console.assert(n.isAsync()),console.assert(n.isStream()),n}};var D=(d=>(d.CANCEL_PENDING_QUERY="CANCEL_PENDING_QUERY",d.CLOSE_PREPARED="CLOSE_PREPARED",d.COLLECT_FILE_STATISTICS="COLLECT_FILE_STATISTICS",d.CONNECT="CONNECT",d.COPY_FILE_TO_BUFFER="COPY_FILE_TO_BUFFER",d.COPY_FILE_TO_PATH="COPY_FILE_TO_PATH",d.CREATE_PREPARED="CREATE_PREPARED",d.DISCONNECT="DISCONNECT",d.DROP_FILE="DROP_FILE",d.DROP_FILES="DROP_FILES",d.EXPORT_FILE_STATISTICS="EXPORT_FILE_STATISTICS",d.FETCH_QUERY_RESULTS="FETCH_QUERY_RESULTS",d.FLUSH_FILES="FLUSH_FILES",d.GET_FEATURE_FLAGS="GET_FEATURE_FLAGS",d.GET_TABLE_NAMES="GET_TABLE_NAMES",d.GET_VERSION="GET_VERSION",d.GLOB_FILE_INFOS="GLOB_FILE_INFOS",d.INSERT_ARROW_FROM_IPC_STREAM="INSERT_ARROW_FROM_IPC_STREAM",d.INSERT_CSV_FROM_PATH="IMPORT_CSV_FROM_PATH",d.INSERT_JSON_FROM_PATH="IMPORT_JSON_FROM_PATH",d.INSTANTIATE="INSTANTIATE",d.OPEN="OPEN",d.PING="PING",d.POLL_PENDING_QUERY="POLL_PENDING_QUERY",d.REGISTER_FILE_BUFFER="REGISTER_FILE_BUFFER",d.REGISTER_FILE_HANDLE="REGISTER_FILE_HANDLE",d.REGISTER_FILE_URL="REGISTER_FILE_URL",d.RESET="RESET",d.RUN_PREPARED="RUN_PREPARED",d.RUN_QUERY="RUN_QUERY",d.SEND_PREPARED="SEND_PREPARED",d.START_PENDING_QUERY="START_PENDING_QUERY",d.TOKENIZE="TOKENIZE",d))(D||{}),O=(l=>(l.CONNECTION_INFO="CONNECTION_INFO",l.ERROR="ERROR",l.FEATURE_FLAGS="FEATURE_FLAGS",l.FILE_BUFFER="FILE_BUFFER",l.FILE_INFOS="FILE_INFOS",l.FILE_SIZE="FILE_SIZE",l.FILE_STATISTICS="FILE_STATISTICS",l.INSTANTIATE_PROGRESS="INSTANTIATE_PROGRESS",l.LOG="LOG",l.OK="OK",l.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",l.QUERY_PLAN="QUERY_PLAN",l.QUERY_RESULT="QUERY_RESULT",l.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",l.QUERY_RESULT_HEADER="QUERY_RESULT_HEADER",l.QUERY_RESULT_HEADER_OR_NULL="QUERY_RESULT_HEADER_OR_NULL",l.REGISTERED_FILE="REGISTERED_FILE",l.SCRIPT_TOKENS="SCRIPT_TOKENS",l.SUCCESS="SUCCESS",l.TABLE_NAMES="TABLE_NAMES",l.VERSION_STRING="VERSION_STRING",l))(O||{}),a=class{constructor(e,r){this.promiseResolver=()=>{};this.promiseRejecter=()=>{};this.type=e,this.data=r,this.promise=new Promise((t,n)=>{this.promiseResolver=t,this.promiseRejecter=n})}};var i=g(require("apache-arrow"));function h(s){switch(s.typeId){case i.Type.Binary:return{sqlType:"binary"};case i.Type.Bool:return{sqlType:"bool"};case i.Type.Date:return{sqlType:"date"};case i.Type.DateDay:return{sqlType:"date32[d]"};case i.Type.DateMillisecond:return{sqlType:"date64[ms]"};case i.Type.Decimal:{let e=s;return{sqlType:"decimal",precision:e.precision,scale:e.scale}}case i.Type.Float:return{sqlType:"float"};case i.Type.Float16:return{sqlType:"float16"};case i.Type.Float32:return{sqlType:"float32"};case i.Type.Float64:return{sqlType:"float64"};case i.Type.Int:return{sqlType:"int32"};case i.Type.Int16:return{sqlType:"int16"};case i.Type.Int32:return{sqlType:"int32"};case i.Type.Int64:return{sqlType:"int64"};case i.Type.Uint16:return{sqlType:"uint16"};case i.Type.Uint32:return{sqlType:"uint32"};case i.Type.Uint64:return{sqlType:"uint64"};case i.Type.Uint8:return{sqlType:"uint8"};case i.Type.IntervalDayTime:return{sqlType:"interval[dt]"};case i.Type.IntervalYearMonth:return{sqlType:"interval[m]"};case i.Type.List:return{sqlType:"list",valueType:h(s.valueType)};case i.Type.FixedSizeBinary:return{sqlType:"fixedsizebinary",byteWidth:s.byteWidth};case i.Type.Null:return{sqlType:"null"};case i.Type.Utf8:return{sqlType:"utf8"};case i.Type.Struct:return{sqlType:"struct",fields:s.children.map(r=>N(r.name,r.type))};case i.Type.Map:{let e=s;return{sqlType:"map",keyType:h(e.keyType),valueType:h(e.valueType)}}case i.Type.Time:return{sqlType:"time[s]"};case i.Type.TimeMicrosecond:return{sqlType:"time[us]"};case i.Type.TimeMillisecond:return{sqlType:"time[ms]"};case i.Type.TimeNanosecond:return{sqlType:"time[ns]"};case i.Type.TimeSecond:return{sqlType:"time[s]"};case i.Type.Timestamp:return{sqlType:"timestamp",timezone:s.timezone||void 0};case i.Type.TimestampSecond:return{sqlType:"timestamp[s]",timezone:s.timezone||void 0};case i.Type.TimestampMicrosecond:return{sqlType:"timestamp[us]",timezone:s.timezone||void 0};case i.Type.TimestampNanosecond:return{sqlType:"timestamp[ns]",timezone:s.timezone||void 0};case i.Type.TimestampMillisecond:return{sqlType:"timestamp[ms]",timezone:s.timezone||void 0}}throw new Error(`unsupported arrow type: ${s.toString()}`)}function N(s,e){let r=h(e);return r.name=s,r}var Ie=new TextEncoder,f=class{constructor(e,r=null){this._onInstantiationProgress=[];this._worker=null;this._workerShutdownPromise=null;this._workerShutdownResolver=()=>{};this._nextMessageId=0;this._pendingRequests=new Map;this._logger=e,this._onMessageHandler=this.onMessage.bind(this),this._onErrorHandler=this.onError.bind(this),this._onCloseHandler=this.onClose.bind(this),r!=null&&this.attach(r)}get logger(){return this._logger}attach(e){this._worker=e,this._worker.addEventListener("message",this._onMessageHandler),this._worker.addEventListener("error",this._onErrorHandler),this._worker.addEventListener("close",this._onCloseHandler),this._workerShutdownPromise=new Promise((r,t)=>{this._workerShutdownResolver=r})}detach(){!this._worker||(this._worker.removeEventListener("message",this._onMessageHandler),this._worker.removeEventListener("error",this._onErrorHandler),this._worker.removeEventListener("close",this._onCloseHandler),this._worker=null,this._workerShutdownResolver(null),this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async terminate(){!this._worker||(this._worker.terminate(),this._worker=null,this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async postTask(e,r=[]){if(!this._worker){console.error("cannot send a message since the worker is not set!");return}let t=this._nextMessageId++;return this._pendingRequests.set(t,e),this._worker.postMessage({messageId:t,type:e.type,data:e.data},r),await e.promise}onMessage(e){let r=e.data;switch(r.type){case"LOG":{this._logger.log(r.data);return}case"INSTANTIATE_PROGRESS":{for(let n of this._onInstantiationProgress)n(r.data);return}}let t=this._pendingRequests.get(r.requestId);if(!t){console.warn(`unassociated response: [${r.requestId}, ${r.type.toString()}]`);return}if(this._pendingRequests.delete(r.requestId),r.type=="ERROR"){let n=new Error(r.data.message);n.name=r.data.name,n.stack=r.data.stack,t.promiseRejecter(n);return}switch(t.type){case"CLOSE_PREPARED":case"COLLECT_FILE_STATISTICS":case"COPY_FILE_TO_PATH":case"DISCONNECT":case"DROP_FILE":case"DROP_FILES":case"FLUSH_FILES":case"INSERT_ARROW_FROM_IPC_STREAM":case"IMPORT_CSV_FROM_PATH":case"IMPORT_JSON_FROM_PATH":case"OPEN":case"PING":case"REGISTER_FILE_BUFFER":case"REGISTER_FILE_HANDLE":case"REGISTER_FILE_URL":case"RESET":if(r.type=="OK"){t.promiseResolver(r.data);return}break;case"INSTANTIATE":if(this._onInstantiationProgress=[],r.type=="OK"){t.promiseResolver(r.data);return}break;case"GLOB_FILE_INFOS":if(r.type=="FILE_INFOS"){t.promiseResolver(r.data);return}break;case"GET_VERSION":if(r.type=="VERSION_STRING"){t.promiseResolver(r.data);return}break;case"GET_FEATURE_FLAGS":if(r.type=="FEATURE_FLAGS"){t.promiseResolver(r.data);return}break;case"GET_TABLE_NAMES":if(r.type=="TABLE_NAMES"){t.promiseResolver(r.data);return}break;case"TOKENIZE":if(r.type=="SCRIPT_TOKENS"){t.promiseResolver(r.data);return}break;case"COPY_FILE_TO_BUFFER":if(r.type=="FILE_BUFFER"){t.promiseResolver(r.data);return}break;case"EXPORT_FILE_STATISTICS":if(r.type=="FILE_STATISTICS"){t.promiseResolver(r.data);return}break;case"CONNECT":if(r.type=="CONNECTION_INFO"){t.promiseResolver(r.data);return}break;case"RUN_PREPARED":case"RUN_QUERY":if(r.type=="QUERY_RESULT"){t.promiseResolver(r.data);return}break;case"SEND_PREPARED":if(r.type=="QUERY_RESULT_HEADER"){t.promiseResolver(r.data);return}break;case"START_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){t.promiseResolver(r.data);return}break;case"POLL_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){t.promiseResolver(r.data);return}break;case"CANCEL_PENDING_QUERY":if(this._onInstantiationProgress=[],r.type=="SUCCESS"){t.promiseResolver(r.data);return}break;case"FETCH_QUERY_RESULTS":if(r.type=="QUERY_RESULT_CHUNK"){t.promiseResolver(r.data);return}break;case"CREATE_PREPARED":if(r.type=="PREPARED_STATEMENT_ID"){t.promiseResolver(r.data);return}break}t.promiseRejecter(new Error(`unexpected response type: ${r.type.toString()}`))}onError(e){console.error(e),console.error(`error in duckdb worker: ${e.message}`),this._pendingRequests.clear()}onClose(){if(this._workerShutdownResolver(null),this._pendingRequests.size!=0){console.warn(`worker terminated with ${this._pendingRequests.size} pending requests`);return}this._pendingRequests.clear()}async reset(){let e=new a("RESET",null);return await this.postTask(e)}async ping(){let e=new a("PING",null);await this.postTask(e)}async dropFile(e){let r=new a("DROP_FILE",e);return await this.postTask(r)}async dropFiles(){let e=new a("DROP_FILES",null);return await this.postTask(e)}async flushFiles(){let e=new a("FLUSH_FILES",null);return await this.postTask(e)}async instantiate(e,r=null,t=n=>{}){this._onInstantiationProgress.push(t);let n=new a("INSTANTIATE",[e,r]);return await this.postTask(n)}async getVersion(){let e=new a("GET_VERSION",null);return await this.postTask(e)}async getFeatureFlags(){let e=new a("GET_FEATURE_FLAGS",null);return await this.postTask(e)}async open(e){let r=new a("OPEN",e);await this.postTask(r)}async tokenize(e){let r=new a("TOKENIZE",e);return await this.postTask(r)}async connectInternal(){let e=new a("CONNECT",null);return await this.postTask(e)}async connect(){let e=await this.connectInternal();return new b(this,e)}async disconnect(e){let r=new a("DISCONNECT",e);await this.postTask(r)}async runQuery(e,r){let t=new a("RUN_QUERY",[e,r]);return await this.postTask(t)}async startPendingQuery(e,r){let t=new a("START_PENDING_QUERY",[e,r]);return await this.postTask(t)}async pollPendingQuery(e){let r=new a("POLL_PENDING_QUERY",e);return await this.postTask(r)}async cancelPendingQuery(e){let r=new a("CANCEL_PENDING_QUERY",e);return await this.postTask(r)}async fetchQueryResults(e){let r=new a("FETCH_QUERY_RESULTS",e);return await this.postTask(r)}async getTableNames(e,r){let t=new a("GET_TABLE_NAMES",[e,r]);return await this.postTask(t)}async createPrepared(e,r){let t=new a("CREATE_PREPARED",[e,r]);return await this.postTask(t)}async closePrepared(e,r){let t=new a("CLOSE_PREPARED",[e,r]);await this.postTask(t)}async runPrepared(e,r,t){let n=new a("RUN_PREPARED",[e,r,t]);return await this.postTask(n)}async sendPrepared(e,r,t){let n=new a("SEND_PREPARED",[e,r,t]);return await this.postTask(n)}async globFiles(e){let r=new a("GLOB_FILE_INFOS",e);return await this.postTask(r)}async registerFileText(e,r){let t=Ie.encode(r);await this.registerFileBuffer(e,t)}async registerFileURL(e,r,t,n){r===void 0&&(r=e);let c=new a("REGISTER_FILE_URL",[e,r,t,n]);await this.postTask(c)}async registerEmptyFileBuffer(e){let r=new a("REGISTER_FILE_BUFFER",[e,new Uint8Array]);await this.postTask(r)}async registerFileBuffer(e,r){let t=new a("REGISTER_FILE_BUFFER",[e,r]);await this.postTask(t,[r.buffer])}async registerFileHandle(e,r,t,n){let c=new a("REGISTER_FILE_HANDLE",[e,r,t,n]);await this.postTask(c,[])}async collectFileStatistics(e,r){let t=new a("COLLECT_FILE_STATISTICS",[e,r]);await this.postTask(t,[])}async exportFileStatistics(e){let r=new a("EXPORT_FILE_STATISTICS",e);return await this.postTask(r,[])}async copyFileToBuffer(e){let r=new a("COPY_FILE_TO_BUFFER",e);return await this.postTask(r)}async copyFileToPath(e,r){let t=new a("COPY_FILE_TO_PATH",[e,r]);await this.postTask(t)}async insertArrowFromIPCStream(e,r,t){if(r.length==0)return;let n=new a("INSERT_ARROW_FROM_IPC_STREAM",[e,r,t]);await this.postTask(n,[r.buffer])}async insertCSVFromPath(e,r,t){if(t.columns!==void 0){let c=[];for(let o in t.columns){let E=t.columns[o];c.push(N(o,E))}t.columnsFlat=c,delete t.columns}let n=new a("IMPORT_CSV_FROM_PATH",[e,r,t]);await this.postTask(n)}async insertJSONFromPath(e,r,t){if(t.columns!==void 0){let c=[];for(let o in t.columns){let E=t.columns[o];c.push(N(o,E))}t.columnsFlat=c,delete t.columns}let n=new a("IMPORT_JSON_FROM_PATH",[e,r,t]);await this.postTask(n)}};var F=class{constructor(){this._bindings=null;this._nextMessageId=0}log(e){this.postMessage({messageId:this._nextMessageId++,requestId:0,type:"LOG",data:e},[])}sendOK(e){this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"OK",data:null},[])}failWith(e,r){let t={name:r.name,message:r.message,stack:r.stack||void 0};this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"ERROR",data:t},[])}async onMessage(e){switch(e.type){case"PING":this.sendOK(e);return;case"INSTANTIATE":this._bindings!=null&&this.failWith(e,new Error("duckdb already initialized"));try{this._bindings=await this.instantiate(e.data[0],e.data[1],r=>{this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"INSTANTIATE_PROGRESS",data:r},[])}),this.sendOK(e)}catch(r){this._bindings=null,this.failWith(e,r)}return;default:break}if(!this._bindings)return this.failWith(e,new Error("duckdb is not initialized"));try{switch(e.type){case"GET_VERSION":this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"VERSION_STRING",data:this._bindings.getVersion()},[]);break;case"GET_FEATURE_FLAGS":this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FEATURE_FLAGS",data:this._bindings.getFeatureFlags()},[]);break;case"RESET":this._bindings.reset(),this.sendOK(e);break;case"OPEN":this._bindings.open(e.data),this.sendOK(e);break;case"DROP_FILE":this._bindings.dropFile(e.data),this.sendOK(e);break;case"DROP_FILES":this._bindings.dropFiles(),this.sendOK(e);break;case"FLUSH_FILES":this._bindings.flushFiles(),this.sendOK(e);break;case"CONNECT":{let r=this._bindings.connect();this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"CONNECTION_INFO",data:r.useUnsafe((t,n)=>n)},[]);break}case"DISCONNECT":this._bindings.disconnect(e.data),this.sendOK(e);break;case"CREATE_PREPARED":{let r=this._bindings.createPrepared(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"PREPARED_STATEMENT_ID",data:r},[]);break}case"CLOSE_PREPARED":{this._bindings.closePrepared(e.data[0],e.data[1]),this.sendOK(e);break}case"RUN_PREPARED":{let r=this._bindings.runPrepared(e.data[0],e.data[1],e.data[2]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT",data:r},[r.buffer]);break}case"RUN_QUERY":{let r=this._bindings.runQuery(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT",data:r},[r.buffer]);break}case"SEND_PREPARED":{let r=this._bindings.sendPrepared(e.data[0],e.data[1],e.data[2]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_HEADER",data:r},[r.buffer]);break}case"START_PENDING_QUERY":{let r=this._bindings.startPendingQuery(e.data[0],e.data[1]),t=[];r&&t.push(r.buffer),this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_HEADER_OR_NULL",data:r},t);break}case"POLL_PENDING_QUERY":{let r=this._bindings.pollPendingQuery(e.data),t=[];r&&t.push(r.buffer),this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_HEADER_OR_NULL",data:r},t);break}case"CANCEL_PENDING_QUERY":{let r=this._bindings.cancelPendingQuery(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"SUCCESS",data:r},[]);break}case"FETCH_QUERY_RESULTS":{let r=this._bindings.fetchQueryResults(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_CHUNK",data:r},[r.buffer]);break}case"GET_TABLE_NAMES":{let r=this._bindings.getTableNames(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"TABLE_NAMES",data:r},[]);break}case"GLOB_FILE_INFOS":{let r=this._bindings.globFiles(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FILE_INFOS",data:r},[]);break}case"REGISTER_FILE_URL":this._bindings.registerFileURL(e.data[0],e.data[1],e.data[2],e.data[3]),this.sendOK(e);break;case"REGISTER_FILE_BUFFER":this._bindings.registerFileBuffer(e.data[0],e.data[1]),this.sendOK(e);break;case"REGISTER_FILE_HANDLE":this._bindings.registerFileHandle(e.data[0],e.data[1],e.data[2],e.data[3]),this.sendOK(e);break;case"COPY_FILE_TO_PATH":this._bindings.copyFileToPath(e.data[0],e.data[1]),this.sendOK(e);break;case"COPY_FILE_TO_BUFFER":{let r=this._bindings.copyFileToBuffer(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FILE_BUFFER",data:r},[]);break}case"COLLECT_FILE_STATISTICS":this._bindings.collectFileStatistics(e.data[0],e.data[1]),this.sendOK(e);break;case"EXPORT_FILE_STATISTICS":{this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FILE_STATISTICS",data:this._bindings.exportFileStatistics(e.data)},[]);break}case"INSERT_ARROW_FROM_IPC_STREAM":{this._bindings.insertArrowFromIPCStream(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case"IMPORT_CSV_FROM_PATH":{this._bindings.insertCSVFromPath(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case"IMPORT_JSON_FROM_PATH":{this._bindings.insertJSONFromPath(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case"TOKENIZE":{let r=this._bindings.tokenize(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"SCRIPT_TOKENS",data:r},[]);break}}}catch(r){return this.failWith(e,r)}}};var m=g(re());var A={name:"@duckdb/duckdb-wasm",version:"1.25.0",description:"DuckDB powered by WebAssembly",license:"MIT",repository:{type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},keywords:["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],dependencies:{"apache-arrow":"^11.0.0"},devDependencies:{"@types/emscripten":"^1.39.6","@types/jasmine":"^4.3.1","@typescript-eslint/eslint-plugin":"^5.53.0","@typescript-eslint/parser":"^5.49.0",esbuild:"^0.15.12",eslint:"^8.35.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.32.2","fast-glob":"^3.2.12",jasmine:"^4.5.0","jasmine-core":"^4.3.0","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.9.0",karma:"^6.4.1","karma-chrome-launcher":"^3.1.1","karma-coverage":"^2.2.0","karma-firefox-launcher":"^2.1.2","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.0.0","karma-sourcemap-loader":"^0.3.8","karma-spec-reporter":"^0.0.36","make-dir":"^3.1.0",nyc:"^15.1.0",prettier:"^2.8.4",puppeteer:"^19.7.2",rimraf:"^4.3.0",s3rver:"^3.7.1",typedoc:"^0.23.27",typescript:"^4.8.4","wasm-feature-detect":"^1.4.0","web-worker":"^1.2.0"},scripts:{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly",docs:"typedoc",report:"node ./coverage.mjs","test:node":"node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:firefox":"karma start ./karma/tests-firefox.cjs","test:chrome":"karma start ./karma/tests-chrome.cjs","test:chrome:eh":"karma start ./karma/tests-chrome-eh.cjs","test:chrome:coverage":"karma start ./karma/tests-chrome-coverage.cjs","test:browser":"karma start ./karma/tests-all.cjs","test:browser:debug":"karma start ./karma/tests-debug.cjs",test:"npm run test:chrome && npm run test:node","test:coverage":"npm run test:chrome:coverage && npm run test:node:coverage && npm run report",lint:"eslint src test"},files:["dist","!dist/types/test"],main:"dist/duckdb-browser.cjs",module:"dist/duckdb-browser.mjs",types:"dist/duckdb-browser.d.ts",jsdelivr:"dist/duckdb-browser.cjs",unpkg:"dist/duckdb-browser.mjs",sideEffects:!1,browser:{fs:!1,path:!1,perf_hooks:!1,os:!1,worker_threads:!1},exports:{"./dist/duckdb-mvp.wasm":"./dist/duckdb-mvp.wasm","./dist/duckdb-eh.wasm":"./dist/duckdb-eh.wasm","./dist/duckdb-coi.wasm":"./dist/duckdb-coi.wasm","./dist/duckdb-browser":"./dist/duckdb-browser.mjs","./dist/duckdb-browser.cjs":"./dist/duckdb-browser.cjs","./dist/duckdb-browser.mjs":"./dist/duckdb-browser.mjs","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.mjs":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.cjs":"./dist/duckdb-browser-blocking.cjs","./dist/duckdb-browser-coi.pthread.worker.js":"./dist/duckdb-browser-coi.pthread.worker.js","./dist/duckdb-browser-coi.worker.js":"./dist/duckdb-browser-coi.worker.js","./dist/duckdb-browser-eh.worker.js":"./dist/duckdb-browser-eh.worker.js","./dist/duckdb-browser-mvp.worker.js":"./dist/duckdb-browser-mvp.worker.js","./dist/duckdb-node":"./dist/duckdb-node.cjs","./dist/duckdb-node.cjs":"./dist/duckdb-node.cjs","./dist/duckdb-node-blocking":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-blocking.cjs":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-eh.worker.cjs":"./dist/duckdb-node-eh.worker.cjs","./dist/duckdb-node-mvp.worker.cjs":"./dist/duckdb-node-mvp.worker.cjs","./blocking":{browser:{types:"./dist/duckdb-browser-blocking.d.ts",import:"./dist/duckdb-browser-blocking.mjs",require:"./dist/duckdb-browser-blocking.cjs"},node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",import:"./dist/duckdb-node-blocking.cjs"},types:"./dist/duckdb-browser-blocking.d.ts",import:"./dist/duckdb-browser-blocking.mjs",require:"./dist/duckdb-browser-blocking.cjs"},".":{browser:{types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",require:"./dist/duckdb-browser.cjs"},node:{types:"./dist/duckdb-node.d.ts",import:"./dist/duckdb-node.cjs",require:"./dist/duckdb-node.cjs"},types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",require:"./dist/duckdb-browser.cjs"}}};var U=A.name,C=A.version,W=A.version.split("."),Ae=W[0],Le=W[1],we=W[2];var q=()=>typeof navigator>"u",te=()=>q()?"node":navigator.userAgent,Pe=()=>te().includes("Firefox"),De=()=>/^((?!chrome|android).)*safari/i.test(te());function Oe(){let s=`https://cdn.jsdelivr.net/npm/${U}@${C}/dist/`;return{mvp:{mainModule:`${s}duckdb-mvp.wasm`,mainWorker:`${s}duckdb-browser-mvp.worker.js`},eh:{mainModule:`${s}duckdb-eh.wasm`,mainWorker:`${s}duckdb-browser-eh.worker.js`}}}var v=null,M=null,B=null,G=null,x=null;async function se(){return v==null&&(v=typeof BigInt64Array<"u"),M==null&&(M=await m.exceptions()),B==null&&(B=await m.threads()),G==null&&(G=await m.simd()),x==null&&(x=await m.bulkMemory()),{bigInt64Array:v,crossOriginIsolated:q()||globalThis.crossOriginIsolated||!1,wasmExceptions:M,wasmSIMD:G,wasmThreads:B,wasmBulkMemory:x}}async function fe(s){let e=await se();if(e.wasmExceptions){if(e.wasmSIMD&&e.wasmThreads&&e.crossOriginIsolated&&s.coi)return{mainModule:s.coi.mainModule,mainWorker:s.coi.mainWorker,pthreadWorker:s.coi.pthreadWorker};if(s.eh)return{mainModule:s.eh.mainModule,mainWorker:s.eh.mainWorker,pthreadWorker:null}}return{mainModule:s.mvp.mainModule,mainWorker:s.mvp.mainWorker,pthreadWorker:null}}var ie=g(ae());async function Me(s){let e=new Request(s),r=await fetch(e),t=URL.createObjectURL(await r.blob());return new ie.default(t)}function Be(){let s=new TextDecoder;return e=>(typeof SharedArrayBuffer<"u"&&e.buffer instanceof SharedArrayBuffer&&(e=new Uint8Array(e)),s.decode(e))}var lr=Be();var j=(o=>(o[o.BUFFER=0]="BUFFER",o[o.NODE_FS=1]="NODE_FS",o[o.BROWSER_FILEREADER=2]="BROWSER_FILEREADER",o[o.BROWSER_FSACCESS=3]="BROWSER_FSACCESS",o[o.HTTP=4]="HTTP",o[o.S3=5]="S3",o))(j||{});0&&(module.exports={AsyncDuckDB,AsyncDuckDBConnection,AsyncDuckDBDispatcher,AsyncPreparedStatement,AsyncResultStreamIterator,ConsoleLogger,DuckDBDataProtocol,LogEvent,LogLevel,LogOrigin,LogTopic,PACKAGE_NAME,PACKAGE_VERSION,PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_PATCH,StatusCode,VoidLogger,WorkerRequestType,WorkerResponseType,WorkerTask,createWorker,getJsDelivrBundles,getLogEventLabel,getLogLevelLabel,getLogOriginLabel,getLogTopicLabel,getPlatformFeatures,isFirefox,isNode,isSafari,selectBundle});
|
|
1
|
+
"use strict";var le=Object.create;var I=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var Ee=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,me=Object.prototype.hasOwnProperty;var Te=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Re=(s,e)=>{for(var r in e)I(s,r,{get:e[r],enumerable:!0})},j=(s,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ee(e))!me.call(s,n)&&n!==r&&I(s,n,{get:()=>e[n],enumerable:!(t=ue(e,n))||t.enumerable});return s};var A=(s,e,r)=>(r=s!=null?le(pe(s)):{},j(e||!s||!s.__esModule?I(r,"default",{value:s,enumerable:!0}):r,s)),_e=s=>j(I({},"__esModule",{value:!0}),s);var ie=Te((ir,ae)=>{var Q=require("url"),fe=require("vm"),R=require("worker_threads"),q=Symbol.for("worker"),k=Symbol.for("events"),N=class{constructor(){Object.defineProperty(this,k,{value:new Map})}dispatchEvent(e){if(e.target=e.currentTarget=this,this["on"+e.type])try{this["on"+e.type](e)}catch(t){console.error(t)}let r=this[k].get(e.type);r!=null&&r.forEach(t=>{try{t.call(this,e)}catch(n){console.error(n)}})}addEventListener(e,r){let t=this[k].get(e);t||this[k].set(e,t=[]),t.push(r)}removeEventListener(e,r){let t=this[k].get(e);if(t){let n=t.indexOf(r);n!==-1&&t.splice(n,1)}}};function Y(s,e){this.type=s,this.timeStamp=Date.now(),this.target=this.currentTarget=this.data=null}ae.exports=R.isMainThread?Ue():Ce();var Fe=Q.pathToFileURL(process.cwd()+"/");function Ue(){class s extends N{constructor(r,t){super();let{name:n,type:c}=t||{};r+="";let o;/^data:/.test(r)?o=r:o=Q.fileURLToPath(new Q.URL(r,Fe));let E=new R.Worker(__filename,{workerData:{mod:o,name:n,type:c}});Object.defineProperty(this,q,{value:E}),E.on("message",T=>{let u=new Y("message");u.data=T,this.dispatchEvent(u)}),E.on("error",T=>{T.type="error",this.dispatchEvent(T)}),E.on("exit",()=>{this.dispatchEvent(new Y("close"))})}postMessage(r,t){this[q].postMessage(r,t)}terminate(){this[q].terminate()}}return s.prototype.onmessage=s.prototype.onerror=s.prototype.onclose=null,s}function Ce(){let{mod:s,name:e,type:r}=R.workerData,t=global.self=global,n=[];function c(){let u=n;n=null,u.forEach(m=>{t.dispatchEvent(m)})}R.parentPort.on("message",u=>{let m=new Y("message");m.data=u,n==null?t.dispatchEvent(m):n.push(m)}),R.parentPort.on("error",u=>{u.type="Error",t.dispatchEvent(u)});class o extends N{postMessage(m,de){R.parentPort.postMessage(m,de)}close(){process.exit()}}let E=Object.getPrototypeOf(global);delete E.constructor,Object.defineProperties(o.prototype,E),E=Object.setPrototypeOf(global,new o),["postMessage","addEventListener","removeEventListener","dispatchEvent"].forEach(u=>{E[u]=E[u].bind(global)}),global.name=e;let T=/^data:/.test(s);if(r==="module")import(s).catch(u=>{if(T&&u.message==="Not supported")return console.warn("Worker(): Importing data: URLs requires Node 12.10+. Falling back to classic worker."),oe(s,e);console.error(u)}).then(c);else{try{/^data:/.test(s)?oe(s,e):require(s)}catch(u){console.error(u)}Promise.resolve().then(c)}}function oe(s,e){let{data:r}=We(s);return fe.runInThisContext(r,{filename:"worker.<"+(e||"data:")+">"})}function We(s){let[e,r,t,n]=s.match(/^data: *([^;,]*)(?: *; *([^,]*))? *,(.*)$/)||[];if(!e)throw Error("Invalid Data URL.");if(t)switch(t.toLowerCase()){case"base64":n=Buffer.from(n,"base64").toString();break;default:throw Error('Unknown Data URL encoding "'+t+'"')}return{type:r,data:n}}});var Be={};Re(Be,{AsyncDuckDB:()=>O,AsyncDuckDBConnection:()=>_,AsyncDuckDBDispatcher:()=>f,AsyncPreparedStatement:()=>y,AsyncResultStreamIterator:()=>b,ConsoleLogger:()=>L,DuckDBAccessMode:()=>K,DuckDBDataProtocol:()=>H,LogEvent:()=>J,LogLevel:()=>V,LogOrigin:()=>$,LogTopic:()=>z,PACKAGE_NAME:()=>F,PACKAGE_VERSION:()=>U,PACKAGE_VERSION_MAJOR:()=>Ne,PACKAGE_VERSION_MINOR:()=>Ae,PACKAGE_VERSION_PATCH:()=>we,StatusCode:()=>Z,VoidLogger:()=>w,WorkerRequestType:()=>P,WorkerResponseType:()=>D,WorkerTask:()=>a,createWorker:()=>ve,getJsDelivrBundles:()=>De,getLogEventLabel:()=>ke,getLogLevelLabel:()=>be,getLogOriginLabel:()=>ye,getLogTopicLabel:()=>Ie,getPlatformFeatures:()=>ne,isFirefox:()=>Le,isNode:()=>x,isSafari:()=>Pe,selectBundle:()=>Oe});module.exports=_e(Be);var K=(n=>(n[n.UNDEFINED=0]="UNDEFINED",n[n.AUTOMATIC=1]="AUTOMATIC",n[n.READ_ONLY=2]="READ_ONLY",n[n.READ_WRITE=3]="READ_WRITE",n))(K||{});var V=(c=>(c[c.NONE=0]="NONE",c[c.DEBUG=1]="DEBUG",c[c.INFO=2]="INFO",c[c.WARNING=3]="WARNING",c[c.ERROR=4]="ERROR",c))(V||{}),z=(o=>(o[o.NONE=0]="NONE",o[o.CONNECT=1]="CONNECT",o[o.DISCONNECT=2]="DISCONNECT",o[o.OPEN=3]="OPEN",o[o.QUERY=4]="QUERY",o[o.INSTANTIATE=5]="INSTANTIATE",o))(z||{}),J=(o=>(o[o.NONE=0]="NONE",o[o.OK=1]="OK",o[o.ERROR=2]="ERROR",o[o.START=3]="START",o[o.RUN=4]="RUN",o[o.CAPTURE=5]="CAPTURE",o))(J||{}),$=(c=>(c[c.NONE=0]="NONE",c[c.WEB_WORKER=1]="WEB_WORKER",c[c.NODE_WORKER=2]="NODE_WORKER",c[c.BINDINGS=3]="BINDINGS",c[c.ASYNC_DUCKDB=4]="ASYNC_DUCKDB",c))($||{}),w=class{log(e){}},L=class{constructor(e=2){this.level=e}log(e){e.level>=this.level&&console.log(e)}};function be(s){switch(s){case 0:return"NONE";case 1:return"DEBUG";case 2:return"INFO";case 3:return"WARNING";case 4:return"ERROR";default:return"?"}}function ke(s){switch(s){case 0:return"NONE";case 1:return"OK";case 2:return"ERROR";case 3:return"START";case 4:return"RUN";case 5:return"CAPTURE";default:return"?"}}function Ie(s){switch(s){case 1:return"CONNECT";case 2:return"DISCONNECT";case 5:return"INSTANTIATE";case 3:return"OPEN";case 4:return"QUERY";default:return"?"}}function ye(s){switch(s){case 0:return"NONE";case 1:return"WEB WORKER";case 2:return"NODE WORKER";case 3:return"DUCKDB BINDINGS";case 4:return"DUCKDB";default:return"?"}}var Z=(e=>(e[e.SUCCESS=0]="SUCCESS",e))(Z||{});var p=A(require("apache-arrow"));var _=class{constructor(e,r){this._bindings=e,this._conn=r}get bindings(){return this._bindings}async close(){return this._bindings.disconnect(this._conn)}useUnsafe(e){return e(this._bindings,this._conn)}async query(e){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:e});let r=await this._bindings.runQuery(this._conn,e),t=p.RecordBatchReader.from(r);return console.assert(t.isSync(),"Reader is not sync"),console.assert(t.isFile(),"Reader is not file"),new p.Table(t)}async send(e){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:e});let r=await this._bindings.startPendingQuery(this._conn,e);for(;r==null;)r=await this._bindings.pollPendingQuery(this._conn);let t=new b(this._bindings,this._conn,r),n=await p.RecordBatchReader.from(t);return console.assert(n.isAsync()),console.assert(n.isStream()),n}async cancelSent(){return await this._bindings.cancelPendingQuery(this._conn)}async getTableNames(e){return await this._bindings.getTableNames(this._conn,e)}async prepare(e){let r=await this._bindings.createPrepared(this._conn,e);return new y(this._bindings,this._conn,r)}async insertArrowTable(e,r){let t=p.tableToIPC(e,"stream");await this.insertArrowFromIPCStream(t,r)}async insertArrowFromIPCStream(e,r){await this._bindings.insertArrowFromIPCStream(this._conn,e,r)}async insertCSVFromPath(e,r){await this._bindings.insertCSVFromPath(this._conn,e,r)}async insertJSONFromPath(e,r){await this._bindings.insertJSONFromPath(this._conn,e,r)}},b=class{constructor(e,r,t){this.db=e;this.conn=r;this.header=t;this._first=!0,this._depleted=!1,this._inFlight=null}async next(){if(this._first)return this._first=!1,{done:!1,value:this.header};if(this._depleted)return{done:!0,value:null};let e;return this._inFlight!=null?(e=await this._inFlight,this._inFlight=null):e=await this.db.fetchQueryResults(this.conn),this._depleted=e.length==0,this._depleted||(this._inFlight=this.db.fetchQueryResults(this.conn)),{done:this._depleted,value:e}}[Symbol.asyncIterator](){return this}},y=class{constructor(e,r,t){this.bindings=e,this.connectionId=r,this.statementId=t}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...e){let r=await this.bindings.runPrepared(this.connectionId,this.statementId,e),t=p.RecordBatchReader.from(r);return console.assert(t.isSync()),console.assert(t.isFile()),new p.Table(t)}async send(...e){let r=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),t=new b(this.bindings,this.connectionId,r),n=await p.RecordBatchReader.from(t);return console.assert(n.isAsync()),console.assert(n.isStream()),n}};var P=(d=>(d.CANCEL_PENDING_QUERY="CANCEL_PENDING_QUERY",d.CLOSE_PREPARED="CLOSE_PREPARED",d.COLLECT_FILE_STATISTICS="COLLECT_FILE_STATISTICS",d.CONNECT="CONNECT",d.COPY_FILE_TO_BUFFER="COPY_FILE_TO_BUFFER",d.COPY_FILE_TO_PATH="COPY_FILE_TO_PATH",d.CREATE_PREPARED="CREATE_PREPARED",d.DISCONNECT="DISCONNECT",d.DROP_FILE="DROP_FILE",d.DROP_FILES="DROP_FILES",d.EXPORT_FILE_STATISTICS="EXPORT_FILE_STATISTICS",d.FETCH_QUERY_RESULTS="FETCH_QUERY_RESULTS",d.FLUSH_FILES="FLUSH_FILES",d.GET_FEATURE_FLAGS="GET_FEATURE_FLAGS",d.GET_TABLE_NAMES="GET_TABLE_NAMES",d.GET_VERSION="GET_VERSION",d.GLOB_FILE_INFOS="GLOB_FILE_INFOS",d.INSERT_ARROW_FROM_IPC_STREAM="INSERT_ARROW_FROM_IPC_STREAM",d.INSERT_CSV_FROM_PATH="IMPORT_CSV_FROM_PATH",d.INSERT_JSON_FROM_PATH="IMPORT_JSON_FROM_PATH",d.INSTANTIATE="INSTANTIATE",d.OPEN="OPEN",d.PING="PING",d.POLL_PENDING_QUERY="POLL_PENDING_QUERY",d.REGISTER_FILE_BUFFER="REGISTER_FILE_BUFFER",d.REGISTER_FILE_HANDLE="REGISTER_FILE_HANDLE",d.REGISTER_FILE_URL="REGISTER_FILE_URL",d.RESET="RESET",d.RUN_PREPARED="RUN_PREPARED",d.RUN_QUERY="RUN_QUERY",d.SEND_PREPARED="SEND_PREPARED",d.START_PENDING_QUERY="START_PENDING_QUERY",d.TOKENIZE="TOKENIZE",d))(P||{}),D=(l=>(l.CONNECTION_INFO="CONNECTION_INFO",l.ERROR="ERROR",l.FEATURE_FLAGS="FEATURE_FLAGS",l.FILE_BUFFER="FILE_BUFFER",l.FILE_INFOS="FILE_INFOS",l.FILE_SIZE="FILE_SIZE",l.FILE_STATISTICS="FILE_STATISTICS",l.INSTANTIATE_PROGRESS="INSTANTIATE_PROGRESS",l.LOG="LOG",l.OK="OK",l.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",l.QUERY_PLAN="QUERY_PLAN",l.QUERY_RESULT="QUERY_RESULT",l.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",l.QUERY_RESULT_HEADER="QUERY_RESULT_HEADER",l.QUERY_RESULT_HEADER_OR_NULL="QUERY_RESULT_HEADER_OR_NULL",l.REGISTERED_FILE="REGISTERED_FILE",l.SCRIPT_TOKENS="SCRIPT_TOKENS",l.SUCCESS="SUCCESS",l.TABLE_NAMES="TABLE_NAMES",l.VERSION_STRING="VERSION_STRING",l))(D||{}),a=class{constructor(e,r){this.promiseResolver=()=>{};this.promiseRejecter=()=>{};this.type=e,this.data=r,this.promise=new Promise((t,n)=>{this.promiseResolver=t,this.promiseRejecter=n})}};var i=A(require("apache-arrow"));function g(s){switch(s.typeId){case i.Type.Binary:return{sqlType:"binary"};case i.Type.Bool:return{sqlType:"bool"};case i.Type.Date:return{sqlType:"date"};case i.Type.DateDay:return{sqlType:"date32[d]"};case i.Type.DateMillisecond:return{sqlType:"date64[ms]"};case i.Type.Decimal:{let e=s;return{sqlType:"decimal",precision:e.precision,scale:e.scale}}case i.Type.Float:return{sqlType:"float"};case i.Type.Float16:return{sqlType:"float16"};case i.Type.Float32:return{sqlType:"float32"};case i.Type.Float64:return{sqlType:"float64"};case i.Type.Int:return{sqlType:"int32"};case i.Type.Int16:return{sqlType:"int16"};case i.Type.Int32:return{sqlType:"int32"};case i.Type.Int64:return{sqlType:"int64"};case i.Type.Uint16:return{sqlType:"uint16"};case i.Type.Uint32:return{sqlType:"uint32"};case i.Type.Uint64:return{sqlType:"uint64"};case i.Type.Uint8:return{sqlType:"uint8"};case i.Type.IntervalDayTime:return{sqlType:"interval[dt]"};case i.Type.IntervalYearMonth:return{sqlType:"interval[m]"};case i.Type.List:return{sqlType:"list",valueType:g(s.valueType)};case i.Type.FixedSizeBinary:return{sqlType:"fixedsizebinary",byteWidth:s.byteWidth};case i.Type.Null:return{sqlType:"null"};case i.Type.Utf8:return{sqlType:"utf8"};case i.Type.Struct:return{sqlType:"struct",fields:s.children.map(r=>S(r.name,r.type))};case i.Type.Map:{let e=s;return{sqlType:"map",keyType:g(e.keyType),valueType:g(e.valueType)}}case i.Type.Time:return{sqlType:"time[s]"};case i.Type.TimeMicrosecond:return{sqlType:"time[us]"};case i.Type.TimeMillisecond:return{sqlType:"time[ms]"};case i.Type.TimeNanosecond:return{sqlType:"time[ns]"};case i.Type.TimeSecond:return{sqlType:"time[s]"};case i.Type.Timestamp:return{sqlType:"timestamp",timezone:s.timezone||void 0};case i.Type.TimestampSecond:return{sqlType:"timestamp[s]",timezone:s.timezone||void 0};case i.Type.TimestampMicrosecond:return{sqlType:"timestamp[us]",timezone:s.timezone||void 0};case i.Type.TimestampNanosecond:return{sqlType:"timestamp[ns]",timezone:s.timezone||void 0};case i.Type.TimestampMillisecond:return{sqlType:"timestamp[ms]",timezone:s.timezone||void 0}}throw new Error(`unsupported arrow type: ${s.toString()}`)}function S(s,e){let r=g(e);return r.name=s,r}var ge=new TextEncoder,O=class{constructor(e,r=null){this._onInstantiationProgress=[];this._worker=null;this._workerShutdownPromise=null;this._workerShutdownResolver=()=>{};this._nextMessageId=0;this._pendingRequests=new Map;this._logger=e,this._onMessageHandler=this.onMessage.bind(this),this._onErrorHandler=this.onError.bind(this),this._onCloseHandler=this.onClose.bind(this),r!=null&&this.attach(r)}get logger(){return this._logger}attach(e){this._worker=e,this._worker.addEventListener("message",this._onMessageHandler),this._worker.addEventListener("error",this._onErrorHandler),this._worker.addEventListener("close",this._onCloseHandler),this._workerShutdownPromise=new Promise((r,t)=>{this._workerShutdownResolver=r})}detach(){!this._worker||(this._worker.removeEventListener("message",this._onMessageHandler),this._worker.removeEventListener("error",this._onErrorHandler),this._worker.removeEventListener("close",this._onCloseHandler),this._worker=null,this._workerShutdownResolver(null),this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async terminate(){!this._worker||(this._worker.terminate(),this._worker=null,this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async postTask(e,r=[]){if(!this._worker){console.error("cannot send a message since the worker is not set!");return}let t=this._nextMessageId++;return this._pendingRequests.set(t,e),this._worker.postMessage({messageId:t,type:e.type,data:e.data},r),await e.promise}onMessage(e){let r=e.data;switch(r.type){case"LOG":{this._logger.log(r.data);return}case"INSTANTIATE_PROGRESS":{for(let n of this._onInstantiationProgress)n(r.data);return}}let t=this._pendingRequests.get(r.requestId);if(!t){console.warn(`unassociated response: [${r.requestId}, ${r.type.toString()}]`);return}if(this._pendingRequests.delete(r.requestId),r.type=="ERROR"){let n=new Error(r.data.message);n.name=r.data.name,n.stack=r.data.stack,t.promiseRejecter(n);return}switch(t.type){case"CLOSE_PREPARED":case"COLLECT_FILE_STATISTICS":case"COPY_FILE_TO_PATH":case"DISCONNECT":case"DROP_FILE":case"DROP_FILES":case"FLUSH_FILES":case"INSERT_ARROW_FROM_IPC_STREAM":case"IMPORT_CSV_FROM_PATH":case"IMPORT_JSON_FROM_PATH":case"OPEN":case"PING":case"REGISTER_FILE_BUFFER":case"REGISTER_FILE_HANDLE":case"REGISTER_FILE_URL":case"RESET":if(r.type=="OK"){t.promiseResolver(r.data);return}break;case"INSTANTIATE":if(this._onInstantiationProgress=[],r.type=="OK"){t.promiseResolver(r.data);return}break;case"GLOB_FILE_INFOS":if(r.type=="FILE_INFOS"){t.promiseResolver(r.data);return}break;case"GET_VERSION":if(r.type=="VERSION_STRING"){t.promiseResolver(r.data);return}break;case"GET_FEATURE_FLAGS":if(r.type=="FEATURE_FLAGS"){t.promiseResolver(r.data);return}break;case"GET_TABLE_NAMES":if(r.type=="TABLE_NAMES"){t.promiseResolver(r.data);return}break;case"TOKENIZE":if(r.type=="SCRIPT_TOKENS"){t.promiseResolver(r.data);return}break;case"COPY_FILE_TO_BUFFER":if(r.type=="FILE_BUFFER"){t.promiseResolver(r.data);return}break;case"EXPORT_FILE_STATISTICS":if(r.type=="FILE_STATISTICS"){t.promiseResolver(r.data);return}break;case"CONNECT":if(r.type=="CONNECTION_INFO"){t.promiseResolver(r.data);return}break;case"RUN_PREPARED":case"RUN_QUERY":if(r.type=="QUERY_RESULT"){t.promiseResolver(r.data);return}break;case"SEND_PREPARED":if(r.type=="QUERY_RESULT_HEADER"){t.promiseResolver(r.data);return}break;case"START_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){t.promiseResolver(r.data);return}break;case"POLL_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){t.promiseResolver(r.data);return}break;case"CANCEL_PENDING_QUERY":if(this._onInstantiationProgress=[],r.type=="SUCCESS"){t.promiseResolver(r.data);return}break;case"FETCH_QUERY_RESULTS":if(r.type=="QUERY_RESULT_CHUNK"){t.promiseResolver(r.data);return}break;case"CREATE_PREPARED":if(r.type=="PREPARED_STATEMENT_ID"){t.promiseResolver(r.data);return}break}t.promiseRejecter(new Error(`unexpected response type: ${r.type.toString()}`))}onError(e){console.error(e),console.error(`error in duckdb worker: ${e.message}`),this._pendingRequests.clear()}onClose(){if(this._workerShutdownResolver(null),this._pendingRequests.size!=0){console.warn(`worker terminated with ${this._pendingRequests.size} pending requests`);return}this._pendingRequests.clear()}async reset(){let e=new a("RESET",null);return await this.postTask(e)}async ping(){let e=new a("PING",null);await this.postTask(e)}async dropFile(e){let r=new a("DROP_FILE",e);return await this.postTask(r)}async dropFiles(){let e=new a("DROP_FILES",null);return await this.postTask(e)}async flushFiles(){let e=new a("FLUSH_FILES",null);return await this.postTask(e)}async instantiate(e,r=null,t=n=>{}){this._onInstantiationProgress.push(t);let n=new a("INSTANTIATE",[e,r]);return await this.postTask(n)}async getVersion(){let e=new a("GET_VERSION",null);return await this.postTask(e)}async getFeatureFlags(){let e=new a("GET_FEATURE_FLAGS",null);return await this.postTask(e)}async open(e){let r=new a("OPEN",e);await this.postTask(r)}async tokenize(e){let r=new a("TOKENIZE",e);return await this.postTask(r)}async connectInternal(){let e=new a("CONNECT",null);return await this.postTask(e)}async connect(){let e=await this.connectInternal();return new _(this,e)}async disconnect(e){let r=new a("DISCONNECT",e);await this.postTask(r)}async runQuery(e,r){let t=new a("RUN_QUERY",[e,r]);return await this.postTask(t)}async startPendingQuery(e,r){let t=new a("START_PENDING_QUERY",[e,r]);return await this.postTask(t)}async pollPendingQuery(e){let r=new a("POLL_PENDING_QUERY",e);return await this.postTask(r)}async cancelPendingQuery(e){let r=new a("CANCEL_PENDING_QUERY",e);return await this.postTask(r)}async fetchQueryResults(e){let r=new a("FETCH_QUERY_RESULTS",e);return await this.postTask(r)}async getTableNames(e,r){let t=new a("GET_TABLE_NAMES",[e,r]);return await this.postTask(t)}async createPrepared(e,r){let t=new a("CREATE_PREPARED",[e,r]);return await this.postTask(t)}async closePrepared(e,r){let t=new a("CLOSE_PREPARED",[e,r]);await this.postTask(t)}async runPrepared(e,r,t){let n=new a("RUN_PREPARED",[e,r,t]);return await this.postTask(n)}async sendPrepared(e,r,t){let n=new a("SEND_PREPARED",[e,r,t]);return await this.postTask(n)}async globFiles(e){let r=new a("GLOB_FILE_INFOS",e);return await this.postTask(r)}async registerFileText(e,r){let t=ge.encode(r);await this.registerFileBuffer(e,t)}async registerFileURL(e,r,t,n){r===void 0&&(r=e);let c=new a("REGISTER_FILE_URL",[e,r,t,n]);await this.postTask(c)}async registerEmptyFileBuffer(e){let r=new a("REGISTER_FILE_BUFFER",[e,new Uint8Array]);await this.postTask(r)}async registerFileBuffer(e,r){let t=new a("REGISTER_FILE_BUFFER",[e,r]);await this.postTask(t,[r.buffer])}async registerFileHandle(e,r,t,n){let c=new a("REGISTER_FILE_HANDLE",[e,r,t,n]);await this.postTask(c,[])}async collectFileStatistics(e,r){let t=new a("COLLECT_FILE_STATISTICS",[e,r]);await this.postTask(t,[])}async exportFileStatistics(e){let r=new a("EXPORT_FILE_STATISTICS",e);return await this.postTask(r,[])}async copyFileToBuffer(e){let r=new a("COPY_FILE_TO_BUFFER",e);return await this.postTask(r)}async copyFileToPath(e,r){let t=new a("COPY_FILE_TO_PATH",[e,r]);await this.postTask(t)}async insertArrowFromIPCStream(e,r,t){if(r.length==0)return;let n=new a("INSERT_ARROW_FROM_IPC_STREAM",[e,r,t]);await this.postTask(n,[r.buffer])}async insertCSVFromPath(e,r,t){if(t.columns!==void 0){let c=[];for(let o in t.columns){let E=t.columns[o];c.push(S(o,E))}t.columnsFlat=c,delete t.columns}let n=new a("IMPORT_CSV_FROM_PATH",[e,r,t]);await this.postTask(n)}async insertJSONFromPath(e,r,t){if(t.columns!==void 0){let c=[];for(let o in t.columns){let E=t.columns[o];c.push(S(o,E))}t.columnsFlat=c,delete t.columns}let n=new a("IMPORT_JSON_FROM_PATH",[e,r,t]);await this.postTask(n)}};var f=class{constructor(){this._bindings=null;this._nextMessageId=0}log(e){this.postMessage({messageId:this._nextMessageId++,requestId:0,type:"LOG",data:e},[])}sendOK(e){this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"OK",data:null},[])}failWith(e,r){let t={name:r.name,message:r.message,stack:r.stack||void 0};this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"ERROR",data:t},[])}async onMessage(e){switch(e.type){case"PING":this.sendOK(e);return;case"INSTANTIATE":this._bindings!=null&&this.failWith(e,new Error("duckdb already initialized"));try{this._bindings=await this.instantiate(e.data[0],e.data[1],r=>{this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"INSTANTIATE_PROGRESS",data:r},[])}),this.sendOK(e)}catch(r){this._bindings=null,this.failWith(e,r)}return;default:break}if(!this._bindings)return this.failWith(e,new Error("duckdb is not initialized"));try{switch(e.type){case"GET_VERSION":this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"VERSION_STRING",data:this._bindings.getVersion()},[]);break;case"GET_FEATURE_FLAGS":this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FEATURE_FLAGS",data:this._bindings.getFeatureFlags()},[]);break;case"RESET":this._bindings.reset(),this.sendOK(e);break;case"OPEN":this._bindings.open(e.data),this.sendOK(e);break;case"DROP_FILE":this._bindings.dropFile(e.data),this.sendOK(e);break;case"DROP_FILES":this._bindings.dropFiles(),this.sendOK(e);break;case"FLUSH_FILES":this._bindings.flushFiles(),this.sendOK(e);break;case"CONNECT":{let r=this._bindings.connect();this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"CONNECTION_INFO",data:r.useUnsafe((t,n)=>n)},[]);break}case"DISCONNECT":this._bindings.disconnect(e.data),this.sendOK(e);break;case"CREATE_PREPARED":{let r=this._bindings.createPrepared(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"PREPARED_STATEMENT_ID",data:r},[]);break}case"CLOSE_PREPARED":{this._bindings.closePrepared(e.data[0],e.data[1]),this.sendOK(e);break}case"RUN_PREPARED":{let r=this._bindings.runPrepared(e.data[0],e.data[1],e.data[2]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT",data:r},[r.buffer]);break}case"RUN_QUERY":{let r=this._bindings.runQuery(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT",data:r},[r.buffer]);break}case"SEND_PREPARED":{let r=this._bindings.sendPrepared(e.data[0],e.data[1],e.data[2]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_HEADER",data:r},[r.buffer]);break}case"START_PENDING_QUERY":{let r=this._bindings.startPendingQuery(e.data[0],e.data[1]),t=[];r&&t.push(r.buffer),this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_HEADER_OR_NULL",data:r},t);break}case"POLL_PENDING_QUERY":{let r=this._bindings.pollPendingQuery(e.data),t=[];r&&t.push(r.buffer),this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_HEADER_OR_NULL",data:r},t);break}case"CANCEL_PENDING_QUERY":{let r=this._bindings.cancelPendingQuery(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"SUCCESS",data:r},[]);break}case"FETCH_QUERY_RESULTS":{let r=this._bindings.fetchQueryResults(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"QUERY_RESULT_CHUNK",data:r},[r.buffer]);break}case"GET_TABLE_NAMES":{let r=this._bindings.getTableNames(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"TABLE_NAMES",data:r},[]);break}case"GLOB_FILE_INFOS":{let r=this._bindings.globFiles(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FILE_INFOS",data:r},[]);break}case"REGISTER_FILE_URL":this._bindings.registerFileURL(e.data[0],e.data[1],e.data[2],e.data[3]),this.sendOK(e);break;case"REGISTER_FILE_BUFFER":this._bindings.registerFileBuffer(e.data[0],e.data[1]),this.sendOK(e);break;case"REGISTER_FILE_HANDLE":this._bindings.registerFileHandle(e.data[0],e.data[1],e.data[2],e.data[3]),this.sendOK(e);break;case"COPY_FILE_TO_PATH":this._bindings.copyFileToPath(e.data[0],e.data[1]),this.sendOK(e);break;case"COPY_FILE_TO_BUFFER":{let r=this._bindings.copyFileToBuffer(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FILE_BUFFER",data:r},[]);break}case"COLLECT_FILE_STATISTICS":this._bindings.collectFileStatistics(e.data[0],e.data[1]),this.sendOK(e);break;case"EXPORT_FILE_STATISTICS":{this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"FILE_STATISTICS",data:this._bindings.exportFileStatistics(e.data)},[]);break}case"INSERT_ARROW_FROM_IPC_STREAM":{this._bindings.insertArrowFromIPCStream(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case"IMPORT_CSV_FROM_PATH":{this._bindings.insertCSVFromPath(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case"IMPORT_JSON_FROM_PATH":{this._bindings.insertJSONFromPath(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case"TOKENIZE":{let r=this._bindings.tokenize(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:"SCRIPT_TOKENS",data:r},[]);break}}}catch(r){return this.failWith(e,r)}}};var X=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),ee=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11]));var re=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]));var te=()=>(async s=>{try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(s)}catch{return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));var h={name:"@duckdb/duckdb-wasm",version:"1.26.0",description:"DuckDB powered by WebAssembly",license:"MIT",repository:{type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},keywords:["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],dependencies:{"apache-arrow":"^11.0.0"},devDependencies:{"@types/emscripten":"^1.39.6","@types/jasmine":"^4.3.1","@typescript-eslint/eslint-plugin":"^5.53.0","@typescript-eslint/parser":"^5.49.0",esbuild:"^0.15.12",eslint:"^8.35.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.32.2","fast-glob":"^3.2.12",jasmine:"^4.5.0","jasmine-core":"^5.0.0","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.9.0",karma:"^6.4.2","karma-chrome-launcher":"^3.1.1","karma-coverage":"^2.2.0","karma-firefox-launcher":"^2.1.2","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.0.0","karma-sourcemap-loader":"^0.3.8","karma-spec-reporter":"^0.0.36","make-dir":"^3.1.0",nyc:"^15.1.0",prettier:"^2.8.4",puppeteer:"^19.10.0",rimraf:"^4.3.0",s3rver:"^3.7.1",typedoc:"^0.23.27",typescript:"^4.8.4","wasm-feature-detect":"^1.5.1","web-worker":"^1.2.0"},scripts:{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly",docs:"typedoc",report:"node ./coverage.mjs","test:node":"node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:firefox":"karma start ./karma/tests-firefox.cjs","test:chrome":"karma start ./karma/tests-chrome.cjs","test:chrome:eh":"karma start ./karma/tests-chrome-eh.cjs","test:chrome:coverage":"karma start ./karma/tests-chrome-coverage.cjs","test:browser":"karma start ./karma/tests-all.cjs","test:browser:debug":"karma start ./karma/tests-debug.cjs",test:"npm run test:chrome && npm run test:node","test:coverage":"npm run test:chrome:coverage && npm run test:node:coverage && npm run report",lint:"eslint src test"},files:["dist","!dist/types/test"],main:"dist/duckdb-browser.cjs",module:"dist/duckdb-browser.mjs",types:"dist/duckdb-browser.d.ts",jsdelivr:"dist/duckdb-browser.cjs",unpkg:"dist/duckdb-browser.mjs",sideEffects:!1,browser:{fs:!1,path:!1,perf_hooks:!1,os:!1,worker_threads:!1},exports:{"./dist/duckdb-mvp.wasm":"./dist/duckdb-mvp.wasm","./dist/duckdb-eh.wasm":"./dist/duckdb-eh.wasm","./dist/duckdb-coi.wasm":"./dist/duckdb-coi.wasm","./dist/duckdb-browser":"./dist/duckdb-browser.mjs","./dist/duckdb-browser.cjs":"./dist/duckdb-browser.cjs","./dist/duckdb-browser.mjs":"./dist/duckdb-browser.mjs","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.mjs":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-blocking.cjs":"./dist/duckdb-browser-blocking.cjs","./dist/duckdb-browser-coi.pthread.worker.js":"./dist/duckdb-browser-coi.pthread.worker.js","./dist/duckdb-browser-coi.worker.js":"./dist/duckdb-browser-coi.worker.js","./dist/duckdb-browser-eh.worker.js":"./dist/duckdb-browser-eh.worker.js","./dist/duckdb-browser-mvp.worker.js":"./dist/duckdb-browser-mvp.worker.js","./dist/duckdb-node":"./dist/duckdb-node.cjs","./dist/duckdb-node.cjs":"./dist/duckdb-node.cjs","./dist/duckdb-node-blocking":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-blocking.cjs":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-eh.worker.cjs":"./dist/duckdb-node-eh.worker.cjs","./dist/duckdb-node-mvp.worker.cjs":"./dist/duckdb-node-mvp.worker.cjs","./blocking":{browser:{types:"./dist/duckdb-browser-blocking.d.ts",import:"./dist/duckdb-browser-blocking.mjs",require:"./dist/duckdb-browser-blocking.cjs"},node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",import:"./dist/duckdb-node-blocking.cjs"},types:"./dist/duckdb-browser-blocking.d.ts",import:"./dist/duckdb-browser-blocking.mjs",require:"./dist/duckdb-browser-blocking.cjs"},".":{browser:{types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",require:"./dist/duckdb-browser.cjs"},node:{types:"./dist/duckdb-node.d.ts",import:"./dist/duckdb-node.cjs",require:"./dist/duckdb-node.cjs"},types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",require:"./dist/duckdb-browser.cjs"}}};var F=h.name,U=h.version,C=h.version.split("."),Ne=C[0],Ae=C[1],we=C[2];var x=()=>typeof navigator>"u",se=()=>x()?"node":navigator.userAgent,Le=()=>se().includes("Firefox"),Pe=()=>/^((?!chrome|android).)*safari/i.test(se());function De(){let s=`https://cdn.jsdelivr.net/npm/${F}@${U}/dist/`;return{mvp:{mainModule:`${s}duckdb-mvp.wasm`,mainWorker:`${s}duckdb-browser-mvp.worker.js`},eh:{mainModule:`${s}duckdb-eh.wasm`,mainWorker:`${s}duckdb-browser-eh.worker.js`}}}var W=null,v=null,M=null,B=null,G=null;async function ne(){return W==null&&(W=typeof BigInt64Array<"u"),v==null&&(v=await ee()),M==null&&(M=await te()),B==null&&(B=await re()),G==null&&(G=await X()),{bigInt64Array:W,crossOriginIsolated:x()||globalThis.crossOriginIsolated||!1,wasmExceptions:v,wasmSIMD:B,wasmThreads:M,wasmBulkMemory:G}}async function Oe(s){let e=await ne();if(e.wasmExceptions){if(e.wasmSIMD&&e.wasmThreads&&e.crossOriginIsolated&&s.coi)return{mainModule:s.coi.mainModule,mainWorker:s.coi.mainWorker,pthreadWorker:s.coi.pthreadWorker};if(s.eh)return{mainModule:s.eh.mainModule,mainWorker:s.eh.mainWorker,pthreadWorker:null}}return{mainModule:s.mvp.mainModule,mainWorker:s.mvp.mainWorker,pthreadWorker:null}}var ce=A(ie());async function ve(s){let e=new Request(s),r=await fetch(e),t=URL.createObjectURL(await r.blob());return new ce.default(t)}function Me(){let s=new TextDecoder;return e=>(typeof SharedArrayBuffer<"u"&&e.buffer instanceof SharedArrayBuffer&&(e=new Uint8Array(e)),s.decode(e))}var dr=Me();var H=(o=>(o[o.BUFFER=0]="BUFFER",o[o.NODE_FS=1]="NODE_FS",o[o.BROWSER_FILEREADER=2]="BROWSER_FILEREADER",o[o.BROWSER_FSACCESS=3]="BROWSER_FSACCESS",o[o.HTTP=4]="HTTP",o[o.S3=5]="S3",o))(H||{});0&&(module.exports={AsyncDuckDB,AsyncDuckDBConnection,AsyncDuckDBDispatcher,AsyncPreparedStatement,AsyncResultStreamIterator,ConsoleLogger,DuckDBAccessMode,DuckDBDataProtocol,LogEvent,LogLevel,LogOrigin,LogTopic,PACKAGE_NAME,PACKAGE_VERSION,PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_PATCH,StatusCode,VoidLogger,WorkerRequestType,WorkerResponseType,WorkerTask,createWorker,getJsDelivrBundles,getLogEventLabel,getLogLevelLabel,getLogOriginLabel,getLogTopicLabel,getPlatformFeatures,isFirefox,isNode,isSafari,selectBundle});
|
|
2
2
|
//# sourceMappingURL=duckdb-node.cjs.map
|