@duckdb/duckdb-wasm 1.11.0 → 1.11.1-dev.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.
Files changed (94) hide show
  1. package/README.md +81 -25
  2. package/dist/duckdb-browser-blocking.cjs +25 -0
  3. package/dist/duckdb-browser-blocking.cjs.map +7 -0
  4. package/dist/duckdb-browser-blocking.mjs +23 -31
  5. package/dist/duckdb-browser-blocking.mjs.map +4 -4
  6. package/dist/duckdb-browser-coi.pthread.worker.js +27 -0
  7. package/dist/duckdb-browser-coi.pthread.worker.js.map +7 -0
  8. package/dist/duckdb-browser-coi.worker.js +35 -0
  9. package/dist/duckdb-browser-coi.worker.js.map +7 -0
  10. package/dist/duckdb-browser-eh.worker.js +33 -0
  11. package/dist/duckdb-browser-eh.worker.js.map +7 -0
  12. package/dist/duckdb-browser-mvp.worker.js +33 -0
  13. package/dist/duckdb-browser-mvp.worker.js.map +7 -0
  14. package/dist/duckdb-browser.cjs +2 -0
  15. package/dist/duckdb-browser.cjs.map +7 -0
  16. package/dist/duckdb-browser.mjs +1 -31
  17. package/dist/duckdb-browser.mjs.map +4 -4
  18. package/dist/{duckdb-next-coi.wasm → duckdb-coi.wasm} +0 -0
  19. package/dist/{duckdb.wasm → duckdb-eh.wasm} +0 -0
  20. package/dist/duckdb-mvp.wasm +0 -0
  21. package/dist/duckdb-node-blocking.cjs +4 -4
  22. package/dist/duckdb-node-blocking.cjs.map +4 -4
  23. package/dist/duckdb-node-eh.worker.cjs +37 -0
  24. package/dist/duckdb-node-eh.worker.cjs.map +7 -0
  25. package/dist/duckdb-node-mvp.worker.cjs +36 -0
  26. package/dist/duckdb-node-mvp.worker.cjs.map +7 -0
  27. package/dist/duckdb-node.cjs +1 -1
  28. package/dist/duckdb-node.cjs.map +4 -4
  29. package/dist/img/duckdb.svg +6 -0
  30. package/dist/img/duckdb_version_badge.svg +1 -0
  31. package/dist/img/duckdb_wasm.svg +14 -0
  32. package/dist/tests-browser.js +18799 -17513
  33. package/dist/tests-browser.js.map +4 -4
  34. package/dist/tests-node.cjs +7816 -5401
  35. package/dist/tests-node.cjs.map +4 -4
  36. package/dist/types/src/bindings/bindings_base.d.ts +27 -8
  37. package/dist/types/src/bindings/{bindings_browser_next.d.ts → bindings_browser_coi.d.ts} +0 -0
  38. package/dist/types/src/bindings/{bindings_browser_next_coi.d.ts → bindings_browser_eh.d.ts} +0 -0
  39. package/dist/types/src/bindings/{bindings_browser.d.ts → bindings_browser_mvp.d.ts} +0 -0
  40. package/dist/types/src/bindings/bindings_interface.d.ts +11 -5
  41. package/dist/types/src/bindings/{bindings_node_next.d.ts → bindings_node_eh.d.ts} +0 -0
  42. package/dist/types/src/bindings/{bindings_node.d.ts → bindings_node_mvp.d.ts} +0 -0
  43. package/dist/types/src/bindings/config.d.ts +34 -7
  44. package/dist/types/src/bindings/connection.d.ts +7 -1
  45. package/dist/types/src/bindings/index.d.ts +1 -1
  46. package/dist/types/src/bindings/insert_options.d.ts +3 -3
  47. package/dist/types/src/bindings/progress.d.ts +9 -0
  48. package/dist/types/src/bindings/runtime.d.ts +36 -5
  49. package/dist/types/src/bindings/runtime_browser.d.ts +4 -2
  50. package/dist/types/src/bindings/runtime_node.d.ts +2 -1
  51. package/dist/types/src/bindings/udf_function.d.ts +14 -0
  52. package/dist/types/src/bindings/udf_runtime.d.ts +3 -0
  53. package/dist/types/src/bindings/web_file.d.ts +3 -6
  54. package/dist/types/src/index.d.ts +1 -0
  55. package/dist/types/src/json_typedef.d.ts +17 -0
  56. package/dist/types/src/log.d.ts +5 -2
  57. package/dist/types/src/parallel/async_bindings.d.ts +16 -6
  58. package/dist/types/src/parallel/async_bindings_interface.d.ts +6 -3
  59. package/dist/types/src/parallel/async_connection.d.ts +4 -0
  60. package/dist/types/src/parallel/worker_dispatcher.d.ts +2 -1
  61. package/dist/types/src/parallel/worker_request.d.ts +15 -7
  62. package/dist/types/src/platform.d.ts +6 -3
  63. package/dist/types/src/targets/duckdb-browser-blocking.d.ts +8 -2
  64. package/dist/types/src/targets/{duckdb-browser-next-coi.pthread.worker.d.ts → duckdb-browser-coi.pthread.worker.d.ts} +0 -0
  65. package/dist/types/src/targets/{duckdb-browser-next-coi.worker.d.ts → duckdb-browser-coi.worker.d.ts} +0 -0
  66. package/dist/types/src/targets/{duckdb-browser-next.worker.d.ts → duckdb-browser-eh.worker.d.ts} +0 -0
  67. package/dist/types/src/targets/{duckdb-browser.worker.d.ts → duckdb-browser-mvp.worker.d.ts} +0 -0
  68. package/dist/types/src/targets/duckdb-node-blocking.d.ts +9 -2
  69. package/dist/types/src/targets/{duckdb-node-next.worker.d.ts → duckdb-node-eh.worker.d.ts} +0 -0
  70. package/dist/types/src/targets/{duckdb-node.worker.d.ts → duckdb-node-mvp.worker.d.ts} +0 -0
  71. package/dist/types/src/targets/duckdb.d.ts +3 -0
  72. package/dist/types/src/utils/index.d.ts +1 -0
  73. package/dist/types/src/utils/s3_helper.d.ts +27 -0
  74. package/dist/types/src/worker.d.ts +1 -0
  75. package/package.json +60 -45
  76. package/dist/duckdb-browser-next-coi.d.ts +0 -1
  77. package/dist/duckdb-browser-next-coi.pthread.worker.js +0 -3
  78. package/dist/duckdb-browser-next-coi.pthread.worker.js.map +0 -7
  79. package/dist/duckdb-browser-next-coi.worker.js +0 -33
  80. package/dist/duckdb-browser-next-coi.worker.js.map +0 -7
  81. package/dist/duckdb-browser-next.d.ts +0 -1
  82. package/dist/duckdb-browser-next.worker.js +0 -33
  83. package/dist/duckdb-browser-next.worker.js.map +0 -7
  84. package/dist/duckdb-browser.worker.js +0 -33
  85. package/dist/duckdb-browser.worker.js.map +0 -7
  86. package/dist/duckdb-next.wasm +0 -0
  87. package/dist/duckdb-node-next-coi.d.ts +0 -1
  88. package/dist/duckdb-node-next.d.ts +0 -1
  89. package/dist/duckdb-node-next.worker.cjs +0 -37
  90. package/dist/duckdb-node-next.worker.cjs.map +0 -7
  91. package/dist/duckdb-node.worker.cjs +0 -36
  92. package/dist/duckdb-node.worker.cjs.map +0 -7
  93. package/dist/types/src/bindings/insert.d.ts +0 -7
  94. package/dist/types/src/flat_arrow.d.ts +0 -14
@@ -1,2 +1,2 @@
1
- var K=Object.create;var g=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var J=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var x=s=>g(s,"__esModule",{value:!0});var $=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Z=(s,e)=>{x(s);for(var r in e)g(s,r,{get:e[r],enumerable:!0})},X=(s,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of q(e))!z.call(s,n)&&n!=="default"&&g(s,n,{get:()=>e[n],enumerable:!(r=Q(e,n))||r.enumerable});return s},N=s=>X(x(g(s!=null?K(J(s)):{},"default",s&&s.__esModule&&"default"in s?{get:()=>s.default,enumerable:!0}:{value:s,enumerable:!0})),s);var V=$((sr,H)=>{"use strict";var ie=async s=>{try{return(await WebAssembly.instantiate(s)).instance.exports.b(BigInt(0))===BigInt(0)}catch{return!1}},ae=async s=>{try{return typeof MessageChannel!="undefined"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(s)}catch{return!1}},oe={bigInt:()=>ie(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])),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])),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])),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:()=>ae(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]))};H.exports=oe});Z(exports,{AsyncDuckDB:()=>G,AsyncDuckDBConnection:()=>b,AsyncDuckDBDispatcher:()=>Y,AsyncPreparedStatement:()=>A,AsyncResultStreamIterator:()=>S,ConsoleLogger:()=>M,LogEvent:()=>R,LogLevel:()=>_,LogOrigin:()=>m,LogTopic:()=>T,PACKAGE_NAME:()=>P,PACKAGE_VERSION:()=>C,PACKAGE_VERSION_MAJOR:()=>Oe,PACKAGE_VERSION_MINOR:()=>we,PACKAGE_VERSION_PATCH:()=>Ne,StatusCode:()=>F,VoidLogger:()=>B,WorkerRequestType:()=>t,WorkerResponseType:()=>o,WorkerTask:()=>l,getJsDelivrBundles:()=>Fe,getLogEventLabel:()=>re,getLogLevelLabel:()=>ee,getLogOriginLabel:()=>se,getLogTopicLabel:()=>te,getPlatformFeatures:()=>j,selectBundle:()=>Pe});var _;(function(a){a[a.NONE=0]="NONE",a[a.DEBUG=1]="DEBUG",a[a.INFO=2]="INFO",a[a.WARNING=3]="WARNING",a[a.ERROR=4]="ERROR"})(_||(_={}));var T;(function(a){a[a.NONE=0]="NONE",a[a.CONNECT=1]="CONNECT",a[a.DISCONNECT=2]="DISCONNECT",a[a.OPEN=3]="OPEN",a[a.QUERY=4]="QUERY"})(T||(T={}));var R;(function(E){E[E.NONE=0]="NONE",E[E.OK=1]="OK",E[E.ERROR=2]="ERROR",E[E.START=3]="START",E[E.RUN=4]="RUN",E[E.CAPTURE=5]="CAPTURE"})(R||(R={}));var m;(function(a){a[a.NONE=0]="NONE",a[a.WEB_WORKER=1]="WEB_WORKER",a[a.NODE_WORKER=2]="NODE_WORKER",a[a.BINDINGS=3]="BINDINGS",a[a.ASYNC_DUCKDB=4]="ASYNC_DUCKDB"})(m||(m={}));var B=class{log(e){}},M=class{log(e){console.log(e)}};function ee(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 re(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 te(s){switch(s){case 1:return"CONNECT";case 2:return"DISCONNECT";case 3:return"OPEN";case 4:return"QUERY";default:return"?"}}function se(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 F;(function(e){e[e.SUCCESS=0]="SUCCESS"})(F||(F={}));var I=N(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:_.INFO,origin:m.ASYNC_DUCKDB,topic:T.QUERY,event:R.RUN,value:e});let r=await this._bindings.runQuery(this._conn,e),n=I.RecordBatchReader.from(r);return console.assert(n.isSync()),console.assert(n.isFile()),I.Table.from(n)}async send(e){this._bindings.logger.log({timestamp:new Date,level:_.INFO,origin:m.ASYNC_DUCKDB,topic:T.QUERY,event:R.RUN,value:e});let r=await this._bindings.sendQuery(this._conn,e),n=new S(this._bindings,this._conn,r),u=await I.RecordBatchReader.from(n);return console.assert(u.isAsync()),console.assert(u.isStream()),u}async prepare(e){let r=await this._bindings.createPrepared(this._conn,e);return new A(this._bindings,this._conn,r)}async insertArrowTable(e,r){let n=e.serialize("binary",!0);await this.insertArrowFromIPCStream(n,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)}},S=class{constructor(e,r,n){this.db=e;this.conn=r;this.header=n;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}},A=class{constructor(e,r,n){this.bindings=e,this.connectionId=r,this.statementId=n}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...e){let r=await this.bindings.runPrepared(this.connectionId,this.statementId,e),n=I.RecordBatchReader.from(r);return console.assert(n.isSync()),console.assert(n.isFile()),I.Table.from(n)}async send(...e){let r=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),n=new S(this.bindings,this.connectionId,r),u=await I.RecordBatchReader.from(n);return console.assert(u.isAsync()),console.assert(u.isStream()),u}};var t;(function(i){i.CLOSE_PREPARED="CLOSE_PREPARED",i.COLLECT_FILE_STATISTICS="COLLECT_FILE_STATISTICS",i.CONNECT="CONNECT",i.COPY_FILE_TO_BUFFER="COPY_FILE_TO_BUFFER",i.COPY_FILE_TO_PATH="COPY_FILE_TO_PATH",i.CREATE_PREPARED="CREATE_PREPARED",i.DISCONNECT="DISCONNECT",i.DROP_FILE="DROP_FILE",i.DROP_FILES="DROP_FILES",i.EXPORT_FILE_STATISTICS="EXPORT_FILE_STATISTICS",i.FETCH_QUERY_RESULTS="FETCH_QUERY_RESULTS",i.FLUSH_FILES="FLUSH_FILES",i.GET_FEATURE_FLAGS="GET_FEATURE_FLAGS",i.GET_VERSION="GET_VERSION",i.GLOB_FILE_INFOS="GLOB_FILE_INFOS",i.INSERT_ARROW_FROM_IPC_STREAM="INSERT_ARROW_FROM_IPC_STREAM",i.INSERT_CSV_FROM_PATH="IMPORT_CSV_FROM_PATH",i.INSERT_JSON_FROM_PATH="IMPORT_JSON_FROM_PATH",i.INSTANTIATE="INSTANTIATE",i.OPEN="OPEN",i.PING="PING",i.REGISTER_FILE_BUFFER="REGISTER_FILE_BUFFER",i.REGISTER_FILE_HANDLE="REGISTER_FILE_HANDLE",i.REGISTER_FILE_URL="REGISTER_FILE_URL",i.RESET="RESET",i.RUN_PREPARED="RUN_PREPARED",i.RUN_QUERY="RUN_QUERY",i.SEND_PREPARED="SEND_PREPARED",i.SEND_QUERY="SEND_QUERY",i.TOKENIZE="TOKENIZE"})(t||(t={}));var o;(function(c){c.CONNECTION_INFO="CONNECTION_INFO",c.ERROR="ERROR",c.FEATURE_FLAGS="FEATURE_FLAGS",c.FILE_BUFFER="FILE_BUFFER",c.FILE_INFOS="FILE_INFOS",c.FILE_SIZE="FILE_SIZE",c.FILE_STATISTICS="FILE_STATISTICS",c.LOG="LOG",c.OK="OK",c.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",c.QUERY_PLAN="QUERY_PLAN",c.QUERY_RESULT="QUERY_RESULT",c.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",c.QUERY_START="QUERY_START",c.REGISTERED_FILE="REGISTERED_FILE",c.SCRIPT_TOKENS="SCRIPT_TOKENS",c.SUCCESS="SUCCESS",c.VERSION_STRING="VERSION_STRING"})(o||(o={}));var l=class{constructor(e,r){this.promiseResolver=()=>{};this.promiseRejecter=()=>{};this.type=e,this.data=r,this.promise=new Promise((n,u)=>{this.promiseResolver=n,this.promiseRejecter=u})}};var d=N(require("apache-arrow"));function y(s,e){switch(e.typeId){case d.Type.Binary:return{name:s,type:"binary"};case d.Type.Bool:return{name:s,type:"bool"};case d.Type.Date:return{name:s,type:"date"};case d.Type.DateDay:return{name:s,type:"date32[d]"};case d.Type.DateMillisecond:return{name:s,type:"date64[ms]"};case d.Type.Decimal:{let r=e;return{name:s,type:"decimal",precision:r.precision,scale:r.scale}}case d.Type.Float:return{name:s,type:"float"};case d.Type.Float16:return{name:s,type:"float16"};case d.Type.Float32:return{name:s,type:"float32"};case d.Type.Float64:return{name:s,type:"float64"};case d.Type.Int:return{name:s,type:"int32"};case d.Type.Int16:return{name:s,type:"int16"};case d.Type.Int32:return{name:s,type:"int32"};case d.Type.Int64:return{name:s,type:"int64"};case d.Type.Uint16:return{name:s,type:"uint16"};case d.Type.Uint32:return{name:s,type:"uint32"};case d.Type.Uint64:return{name:s,type:"uint64"};case d.Type.Uint8:return{name:s,type:"uint8"};case d.Type.IntervalDayTime:return{name:s,type:"interval[dt]"};case d.Type.IntervalYearMonth:return{name:s,type:"interval[m]"};case d.Type.List:{let r=e;return{name:s,type:"list",children:[y(r.valueField.name,r.valueField.type)]}}case d.Type.FixedSizeBinary:return{name:s,type:"fixedsizebinary",byteWidth:e.byteWidth};case d.Type.Null:return{name:s,type:"null"};case d.Type.Utf8:return{name:s,type:"utf8"};case d.Type.Struct:return{name:s,type:"struct",children:e.children.map(n=>y(n.name,n.type))};case d.Type.Time:return{name:s,type:"time[s]"};case d.Type.TimeMicrosecond:return{name:s,type:"time[us]"};case d.Type.TimeMillisecond:return{name:s,type:"time[ms]"};case d.Type.TimeNanosecond:return{name:s,type:"time[ns]"};case d.Type.TimeSecond:return{name:s,type:"time[s]"};case d.Type.Timestamp:return{name:s,type:"timestamp",timezone:e.timezone||void 0};case d.Type.TimestampSecond:return{name:s,type:"timestamp[s]",timezone:e.timezone||void 0};case d.Type.TimestampMicrosecond:return{name:s,type:"timestamp[us]",timezone:e.timezone||void 0};case d.Type.TimestampNanosecond:return{name:s,type:"timestamp[ns]",timezone:e.timezone||void 0};case d.Type.TimestampMillisecond:return{name:s,type:"timestamp[ms]",timezone:e.timezone||void 0}}throw new Error(`unsupported arrow type: ${e.toString()}`)}var ne=new TextEncoder,G=class{constructor(e,r=null){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,n)=>{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 n=this._nextMessageId++;return this._pendingRequests.set(n,e),this._worker.postMessage({messageId:n,type:e.type,data:e.data}),await e.promise}onMessage(e){let r=e.data;r.type==o.LOG&&this._logger.log(r.data);let n=this._pendingRequests.get(r.requestId);if(!n){console.warn(`unassociated response: [${r.requestId}, ${r.type.toString()}]`);return}if(this._pendingRequests.delete(r.requestId),r.type==o.ERROR){let u=new Error(r.data.message);u.name=r.data.name,u.stack=r.data.stack,n.promiseRejecter(u);return}switch(n.type){case t.CLOSE_PREPARED:case t.COLLECT_FILE_STATISTICS:case t.COPY_FILE_TO_PATH:case t.DISCONNECT:case t.DROP_FILES:case t.FLUSH_FILES:case t.INSERT_ARROW_FROM_IPC_STREAM:case t.INSERT_CSV_FROM_PATH:case t.INSERT_JSON_FROM_PATH:case t.INSTANTIATE:case t.OPEN:case t.PING:case t.REGISTER_FILE_BUFFER:case t.REGISTER_FILE_HANDLE:case t.REGISTER_FILE_URL:case t.RESET:if(r.type==o.OK){n.promiseResolver(r.data);return}break;case t.GLOB_FILE_INFOS:if(r.type==o.FILE_INFOS){n.promiseResolver(r.data);return}break;case t.GET_VERSION:if(r.type==o.VERSION_STRING){n.promiseResolver(r.data);return}break;case t.GET_FEATURE_FLAGS:if(r.type==o.FEATURE_FLAGS){n.promiseResolver(r.data);return}break;case t.TOKENIZE:if(r.type==o.SCRIPT_TOKENS){n.promiseResolver(r.data);return}break;case t.DROP_FILE:if(r.type==o.SUCCESS){n.promiseResolver(r.data);return}break;case t.COPY_FILE_TO_BUFFER:if(r.type==o.FILE_BUFFER){n.promiseResolver(r.data);return}break;case t.EXPORT_FILE_STATISTICS:if(r.type==o.FILE_STATISTICS){n.promiseResolver(r.data);return}break;case t.CONNECT:if(r.type==o.CONNECTION_INFO){n.promiseResolver(r.data);return}break;case t.RUN_PREPARED:case t.RUN_QUERY:if(r.type==o.QUERY_RESULT){n.promiseResolver(r.data);return}break;case t.SEND_PREPARED:case t.SEND_QUERY:if(r.type==o.QUERY_START){n.promiseResolver(r.data);return}break;case t.FETCH_QUERY_RESULTS:if(r.type==o.QUERY_RESULT_CHUNK){n.promiseResolver(r.data);return}break;case t.CREATE_PREPARED:if(r.type==o.PREPARED_STATEMENT_ID){n.promiseResolver(r.data);return}break}n.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 l(t.RESET,null);return await this.postTask(e)}async ping(){let e=new l(t.PING,null);await this.postTask(e)}async dropFile(e){let r=new l(t.DROP_FILE,e);return await this.postTask(r)}async dropFiles(){let e=new l(t.DROP_FILES,null);return await this.postTask(e)}async flushFiles(){let e=new l(t.FLUSH_FILES,null);return await this.postTask(e)}async instantiate(e,r=null){let n=new l(t.INSTANTIATE,[e,r]);return await this.postTask(n)}async getVersion(){let e=new l(t.GET_VERSION,null);return await this.postTask(e)}async getFeatureFlags(){let e=new l(t.GET_FEATURE_FLAGS,null);return await this.postTask(e)}async open(e){let r=new l(t.OPEN,e);await this.postTask(r)}async tokenize(e){let r=new l(t.TOKENIZE,e);return await this.postTask(r)}async connectInternal(){let e=new l(t.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 l(t.DISCONNECT,e);await this.postTask(r)}async runQuery(e,r){let n=new l(t.RUN_QUERY,[e,r]);return await this.postTask(n)}async sendQuery(e,r){let n=new l(t.SEND_QUERY,[e,r]);return await this.postTask(n)}async fetchQueryResults(e){let r=new l(t.FETCH_QUERY_RESULTS,e);return await this.postTask(r)}async createPrepared(e,r){let n=new l(t.CREATE_PREPARED,[e,r]);return await this.postTask(n)}async closePrepared(e,r){let n=new l(t.CLOSE_PREPARED,[e,r]);await this.postTask(n)}async runPrepared(e,r,n){let u=new l(t.RUN_PREPARED,[e,r,n]);return await this.postTask(u)}async sendPrepared(e,r,n){let u=new l(t.SEND_PREPARED,[e,r,n]);return await this.postTask(u)}async globFiles(e){let r=new l(t.GLOB_FILE_INFOS,e);return await this.postTask(r)}async registerFileText(e,r){let n=ne.encode(r);await this.registerFileBuffer(e,n)}async registerFileURL(e,r){r===void 0&&(r=e);let n=new l(t.REGISTER_FILE_URL,[e,r]);await this.postTask(n)}async registerEmptyFileBuffer(e){let r=new l(t.REGISTER_FILE_BUFFER,[e,new Uint8Array]);await this.postTask(r)}async registerFileBuffer(e,r){let n=new l(t.REGISTER_FILE_BUFFER,[e,r]);await this.postTask(n,[r.buffer])}async registerFileHandle(e,r){let n=new l(t.REGISTER_FILE_HANDLE,[e,r]);await this.postTask(n,[])}async collectFileStatistics(e,r){let n=new l(t.COLLECT_FILE_STATISTICS,[e,r]);await this.postTask(n,[])}async exportFileStatistics(e){let r=new l(t.EXPORT_FILE_STATISTICS,e);return await this.postTask(r,[])}async copyFileToBuffer(e){let r=new l(t.COPY_FILE_TO_BUFFER,e);return await this.postTask(r)}async copyFileToPath(e,r){let n=new l(t.COPY_FILE_TO_PATH,[e,r]);await this.postTask(n)}async insertArrowFromIPCStream(e,r,n){if(r.length==0)return;let u=new l(t.INSERT_ARROW_FROM_IPC_STREAM,[e,r,n]);await this.postTask(u,[r.buffer])}async insertCSVFromPath(e,r,n){if(n.columns!==void 0){let a=[];for(let E in n.columns){let w=n.columns[E];a.push(y(E,w))}n.columnsFlat=a,delete n.columns}let u=new l(t.INSERT_CSV_FROM_PATH,[e,r,n]);await this.postTask(u)}async insertJSONFromPath(e,r,n){if(n.columns!==void 0){let a=[];for(let E in n.columns){let w=n.columns[E];a.push(y(E,w))}n.columnsFlat=a,delete n.columns}let u=new l(t.INSERT_JSON_FROM_PATH,[e,r,n]);await this.postTask(u)}};var Y=class{constructor(){this._bindings=null;this._nextMessageId=0}log(e){this.postMessage({messageId:this._nextMessageId++,requestId:0,type:o.LOG,data:e},[])}sendOK(e){this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.OK,data:null},[])}failWith(e,r){let n={name:r.name,message:r.message,stack:r.stack||void 0};this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.ERROR,data:n},[])}async onMessage(e){switch(e.type){case t.PING:this.sendOK(e);return;case t.INSTANTIATE:this._bindings!=null&&this.failWith(e,new Error("duckdb already initialized"));try{this._bindings=await this.instantiate(e.data[0],e.data[1]),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 t.GET_VERSION:this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.VERSION_STRING,data:this._bindings.getVersion()},[]);break;case t.GET_FEATURE_FLAGS:this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.FEATURE_FLAGS,data:this._bindings.getFeatureFlags()},[]);break;case t.RESET:this._bindings.reset(),this.sendOK(e);break;case t.OPEN:this._bindings.open(e.data),this.sendOK(e);break;case t.DROP_FILE:this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.SUCCESS,data:this._bindings.dropFile(e.data)},[]);break;case t.DROP_FILES:this._bindings.dropFiles(),this.sendOK(e);break;case t.FLUSH_FILES:this._bindings.flushFiles(),this.sendOK(e);break;case t.CONNECT:{let r=this._bindings.connect();this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.CONNECTION_INFO,data:r.useUnsafe((n,u)=>u)},[]);break}case t.DISCONNECT:this._bindings.disconnect(e.data),this.sendOK(e);break;case t.CREATE_PREPARED:{let r=this._bindings.createPrepared(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.PREPARED_STATEMENT_ID,data:r},[]);break}case t.CLOSE_PREPARED:{this._bindings.closePrepared(e.data[0],e.data[1]),this.sendOK(e);break}case t.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:o.QUERY_RESULT,data:r},[r.buffer]);break}case t.RUN_QUERY:{let r=this._bindings.runQuery(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.QUERY_RESULT,data:r},[r.buffer]);break}case t.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:o.QUERY_START,data:r},[r.buffer]);break}case t.SEND_QUERY:{let r=this._bindings.sendQuery(e.data[0],e.data[1]);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.QUERY_START,data:r},[r.buffer]);break}case t.FETCH_QUERY_RESULTS:{let r=this._bindings.fetchQueryResults(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.QUERY_RESULT_CHUNK,data:r},[r.buffer]);break}case t.GLOB_FILE_INFOS:{let r=this._bindings.globFiles(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.FILE_INFOS,data:r},[]);break}case t.REGISTER_FILE_URL:this._bindings.registerFileURL(e.data[0],e.data[1]),this.sendOK(e);break;case t.REGISTER_FILE_BUFFER:this._bindings.registerFileBuffer(e.data[0],e.data[1]),this.sendOK(e);break;case t.REGISTER_FILE_HANDLE:this._bindings.registerFileHandle(e.data[0],e.data[1]),this.sendOK(e);break;case t.COPY_FILE_TO_PATH:this._bindings.copyFileToPath(e.data[0],e.data[1]),this.sendOK(e);break;case t.COPY_FILE_TO_BUFFER:{let r=this._bindings.copyFileToBuffer(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.FILE_BUFFER,data:r},[]);break}case t.COLLECT_FILE_STATISTICS:this._bindings.collectFileStatistics(e.data[0],e.data[1]),this.sendOK(e);break;case t.EXPORT_FILE_STATISTICS:{this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.FILE_STATISTICS,data:this._bindings.exportFileStatistics(e.data)},[]);break}case t.INSERT_ARROW_FROM_IPC_STREAM:{this._bindings.insertArrowFromIPCStream(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case t.INSERT_CSV_FROM_PATH:{this._bindings.insertCSVFromPath(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case t.INSERT_JSON_FROM_PATH:{this._bindings.insertJSONFromPath(e.data[0],e.data[1],e.data[2]),this.sendOK(e);break}case t.TOKENIZE:{let r=this._bindings.tokenize(e.data);this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:o.SCRIPT_TOKENS,data:r},[]);break}}}catch(r){return this.failWith(e,r)}}};var k=N(V());var ce="@duckdb/duckdb-wasm",de="1.11.0",le="DuckDB powered by WebAssembly",ue="MPL-2.0",Ee={type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},pe=["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],Re={"apache-arrow":"^6.0.1","wasm-feature-detect":"^1.2.11","fast-glob":"^3.2.7","web-worker":"^1.2.0","@types/emscripten":"^1.39.4"},_e={"@types/jasmine":"^3.10.2","@typescript-eslint/eslint-plugin":"^5.4.0","@typescript-eslint/parser":"^5.4.0",esbuild:"^0.13.14",eslint:"^8.2.0","eslint-plugin-jasmine":"^4.1.2","eslint-plugin-react":"^7.27.0",jasmine:"^3.10.0","jasmine-core":"^3.10.1","jasmine-spec-reporter":"^7.0.0",karma:"^6.3.9","karma-chrome-launcher":"^3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.2","karma-jasmine":"^4.0.1","karma-jasmine-html-reporter":"^1.7.0","karma-sourcemap-loader":"^0.3.8","karma-spec-reporter":"^0.0.32","make-dir":"^3.1.0",nyc:"^15.1.0",prettier:"^2.4.1",puppeteer:"^11.0.0",rimraf:"^3.0.2",typedoc:"^0.22.9",typescript:"^4.5.2"},me={fsevents:"*"},Te={"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"},Ie=["dist","!dist/types/test"],ke="dist/duckdb-browser.mjs",ye="dist/duckdb-browser.d.ts",ge="dist/duckdb-browser.mjs",be="dist/duckdb-browser.mjs",Se={fs:!1,path:!1,perf_hooks:!1,os:!1,worker_threads:!1},he={"./dist/duckdb.wasm":"./dist/duckdb.wasm","./dist/duckdb-next.wasm":"./dist/duckdb-next.wasm","./dist/duckdb-next-coi.wasm":"./dist/duckdb-next-coi.wasm","./dist/duckdb-browser":"./dist/duckdb-browser.mjs","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.mjs","./dist/duckdb-browser-next-coi.pthread.worker.js":"./dist/duckdb-browser-next-coi.pthread.worker.js","./dist/duckdb-browser-next-coi.worker.js":"./dist/duckdb-browser-next-coi.worker.js","./dist/duckdb-browser-next.worker.js":"./dist/duckdb-browser-next.worker.js","./dist/duckdb-browser.worker.js":"./dist/duckdb-browser.worker.js","./dist/duckdb-node":"./dist/duckdb-node.cjs","./dist/duckdb-node-blocking":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-next.worker.cjs":"./dist/duckdb-node-next.worker.cjs","./dist/duckdb-node.worker.cjs":"./dist/duckdb-node.worker.cjs","./blocking":{browser:{types:"./dist/duckdb-browser-blocking.d.ts",import:"./dist/duckdb-browser-blocking.mjs"},node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",import:"./dist/duckdb-node-blocking.cjs"}},".":{browser:{types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs"},node:{types:"./dist/duckdb-node.d.ts",require:"./dist/duckdb-node.cjs",import:"./dist/duckdb-node.cjs"}}},h={name:ce,version:de,description:le,license:ue,repository:Ee,keywords:pe,dependencies:Re,devDependencies:_e,optionalDependencies:me,scripts:Te,files:Ie,"main:":ke,types:ye,jsdelivr:ge,unpkg:be,browser:Se,exports:he};var P=h.name,C=h.version,f=h.version.split("."),Oe=f[0],we=f[1],Ne=f[2];function O(s){let e=`importScripts("${s}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}function Fe(){let s=`https://cdn.jsdelivr.net/npm/${P}@${C}/dist/`;return{asyncDefault:{mainModule:`${s}duckdb.wasm`,mainWorker:O(`${s}duckdb-browser.worker.js`)},asyncNext:{mainModule:`${s}duckdb-next.wasm`,mainWorker:O(`${s}duckdb-browser-next.worker.js`)},asyncNextCOI:{mainModule:`${s}duckdb-next-coi.wasm`,mainWorker:O(`${s}duckdb-browser-next-coi.worker.js`),pthreadWorker:O(`${s}duckdb-browser-next-coi.pthread.worker.js`)}}}var L=null,D=null,U=null,W=null,v=null;function Ae(){return typeof process!="undefined"&&process.release.name==="node"}async function j(){return L==null&&(L=typeof BigInt64Array!="undefined"),D==null&&(D=await k.exceptions()),U==null&&(U=await k.threads()),W==null&&(W=await k.simd()),v==null&&(v=await k.bulkMemory()),{bigInt64Array:L,crossOriginIsolated:Ae()||globalThis.crossOriginIsolated||!1,wasmExceptions:D,wasmSIMD:W,wasmThreads:U,wasmBulkMemory:v}}async function Pe(s){let e=await j();if(e.wasmExceptions&&e.wasmSIMD){if(e.wasmThreads&&e.crossOriginIsolated&&s.asyncNextCOI)return{mainModule:s.asyncNextCOI.mainModule,mainWorker:s.asyncNextCOI.mainWorker,pthreadWorker:s.asyncNextCOI.pthreadWorker};if(s.asyncNext)return{mainModule:s.asyncNext.mainModule,mainWorker:s.asyncNext.mainWorker,pthreadWorker:null}}return{mainModule:s.asyncDefault.mainModule,mainWorker:s.asyncDefault.mainWorker,pthreadWorker:null}}0&&(module.exports={AsyncDuckDB,AsyncDuckDBConnection,AsyncDuckDBDispatcher,AsyncPreparedStatement,AsyncResultStreamIterator,ConsoleLogger,LogEvent,LogLevel,LogOrigin,LogTopic,PACKAGE_NAME,PACKAGE_VERSION,PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_PATCH,StatusCode,VoidLogger,WorkerRequestType,WorkerResponseType,WorkerTask,getJsDelivrBundles,getLogEventLabel,getLogLevelLabel,getLogOriginLabel,getLogTopicLabel,getPlatformFeatures,selectBundle});
1
+ "use strict";var de=Object.create;var g=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)g(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&&g(s,n,{get:()=>e[n],enumerable:!(t=le(e,n))||t.enumerable});return s};var y=(s,e,r)=>(r=s!=null?de(Ee(s)):{},V(e||!s||!s.__esModule?g(r,"default",{value:s,enumerable:!0}):r,s)),_e=s=>V(g({},"__esModule",{value:!0}),s);var re=K((rr,ee)=>{"use strict";var ge=async s=>{try{return(await WebAssembly.instantiate(s)).instance.exports.b(BigInt(0))===BigInt(0)}catch{return!1}},ye=async s=>{try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(s)}catch{return!1}},Se={bigInt:()=>ge(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])),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])),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])),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:()=>ye(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=Se});var ae=K((ir,oe)=>{var Y=require("url"),fe=require("vm"),T=require("worker_threads"),Q=Symbol.for("worker"),I=Symbol.for("events"),P=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?Ue():Ce();var Fe=Y.pathToFileURL(process.cwd()+"/");function Ue(){class s extends P{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,Fe));let E=new T.Worker(__filename,{workerData:{mod:o,name:n,type:c}});Object.defineProperty(this,Q,{value:E}),E.on("message",R=>{let u=new H("message");u.data=R,this.dispatchEvent(u)}),E.on("error",R=>{R.type="error",this.dispatchEvent(R)}),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 Ce(){let{mod:s,name:e,type:r}=T.workerData,t=global.self=global,n=[];function c(){let u=n;n=null,u.forEach(_=>{t.dispatchEvent(_)})}T.parentPort.on("message",u=>{let _=new H("message");_.data=u,n==null?t.dispatchEvent(_):n.push(_)}),T.parentPort.on("error",u=>{u.type="Error",t.dispatchEvent(u)});class o extends P{postMessage(_,ce){T.parentPort.postMessage(_,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 R=/^data:/.test(s);if(r==="module")import(s).catch(u=>{if(R&&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}=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={};me(Be,{AsyncDuckDB:()=>f,AsyncDuckDBConnection:()=>b,AsyncDuckDBDispatcher:()=>F,AsyncPreparedStatement:()=>S,AsyncResultStreamIterator:()=>k,ConsoleLogger:()=>w,DuckDBDataProtocol:()=>j,LogEvent:()=>$,LogLevel:()=>z,LogOrigin:()=>Z,LogTopic:()=>J,PACKAGE_NAME:()=>U,PACKAGE_VERSION:()=>C,PACKAGE_VERSION_MAJOR:()=>Ne,PACKAGE_VERSION_MINOR:()=>Le,PACKAGE_VERSION_PATCH:()=>Pe,StatusCode:()=>X,VoidLogger:()=>A,WorkerRequestType:()=>D,WorkerResponseType:()=>O,WorkerTask:()=>a,createWorker:()=>ve,getJsDelivrBundles:()=>De,getLogEventLabel:()=>Te,getLogLevelLabel:()=>Re,getLogOriginLabel:()=>ke,getLogTopicLabel:()=>be,getPlatformFeatures:()=>se,isFirefox:()=>Ae,isNode:()=>q,isSafari:()=>we,selectBundle:()=>Oe});module.exports=_e(Be);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||{}),A=class{log(e){}},w=class{constructor(e=2){this.level=e}log(e){e.level>=this.level&&console.log(e)}};function Re(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=y(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()),console.assert(t.isFile()),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=y(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=y(re());var L={name:"@duckdb/duckdb-wasm",version:"1.11.1-dev.0",description:"DuckDB powered by WebAssembly",license:"MPL-2.0",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":"^9.0.0"},devDependencies:{"@types/emscripten":"^1.39.6","@types/jasmine":"^4.3.0","@typescript-eslint/eslint-plugin":"^5.40.1","@typescript-eslint/parser":"^5.40.0",esbuild:"^0.15.12",eslint:"^8.26.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.31.10","fast-glob":"^3.2.12",jasmine:"^4.4.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.34","make-dir":"^3.1.0",nyc:"^15.1.0",prettier:"^2.7.1",puppeteer:"^19.2.0",rimraf:"^3.0.2",s3rver:"^3.7.1",typedoc:"^0.23.20",typescript:"^4.8.4","wasm-feature-detect":"^1.2.11","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=L.name,C=L.version,W=L.version.split("."),Ne=W[0],Le=W[1],Pe=W[2];var q=()=>typeof navigator>"u",te=()=>q()?"node":navigator.userAgent,Ae=()=>te().includes("Firefox"),we=()=>/^((?!chrome|android).)*safari/i.test(te());function De(){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 Oe(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=y(ae());async function ve(s){let e=new Request(s),r=await fetch(e),t=URL.createObjectURL(await r.blob());return new ie.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 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});
2
2
  //# sourceMappingURL=duckdb-node.cjs.map