@duckdb/duckdb-wasm 0.1.13-dev29.0 → 0.1.13-dev30.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.js +1 -1
- package/dist/duckdb-browser.mjs +31 -1
- package/dist/duckdb-browser.mjs.map +3 -3
- package/dist/duckdb-node.cjs +1 -1
- package/dist/duckdb-node.mjs +31 -1
- package/dist/duckdb-node.mjs.map +3 -3
- package/dist/tests-browser.js +1 -1
- package/dist/tests-node.cjs +1 -1
- package/package.json +1 -1
package/dist/duckdb-node.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var H=Object.create;var g=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var v=n=>g(n,"__esModule",{value:!0});var J=(n,e)=>{v(n);for(var r in e)g(n,r,{get:e[r],enumerable:!0})},z=(n,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of K(e))!q.call(n,s)&&s!=="default"&&g(n,s,{get:()=>e[s],enumerable:!(r=V(e,s))||r.enumerable});return n},N=n=>z(v(g(n!=null?H(Q(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);J(exports,{AsyncDuckDB:()=>G,AsyncDuckDBConnection:()=>y,AsyncDuckDBDispatcher:()=>j,AsyncPreparedStatement:()=>P,AsyncResultStreamIterator:()=>S,ConsoleLogger:()=>M,LogEvent:()=>R,LogLevel:()=>_,LogOrigin:()=>T,LogTopic:()=>m,PACKAGE_NAME:()=>A,PACKAGE_VERSION:()=>C,PACKAGE_VERSION_MAJOR:()=>ke,PACKAGE_VERSION_MINOR:()=>be,PACKAGE_VERSION_PATCH:()=>ge,StatusCode:()=>F,VoidLogger:()=>B,WorkerRequestType:()=>t,WorkerResponseType:()=>a,WorkerTask:()=>l,getJsDelivrBundles:()=>ye,getLogEventLabel:()=>Z,getLogLevelLabel:()=>$,getLogOriginLabel:()=>ee,getLogTopicLabel:()=>X,getPlatformFeatures:()=>Y,selectBundle:()=>he});var _;(function(o){o[o.NONE=0]="NONE",o[o.DEBUG=1]="DEBUG",o[o.INFO=2]="INFO",o[o.WARNING=3]="WARNING",o[o.ERROR=4]="ERROR"})(_||(_={}));var m;(function(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"})(m||(m={}));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 T;(function(o){o[o.NONE=0]="NONE",o[o.WEB_WORKER=1]="WEB_WORKER",o[o.NODE_WORKER=2]="NODE_WORKER",o[o.BINDINGS=3]="BINDINGS",o[o.ASYNC_DUCKDB=4]="ASYNC_DUCKDB"})(T||(T={}));var B=class{log(e){}},M=class{log(e){console.log(e)}};function $(n){switch(n){case 0:return"NONE";case 1:return"DEBUG";case 2:return"INFO";case 3:return"WARNING";case 4:return"ERROR";default:return"?"}}function Z(n){switch(n){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 X(n){switch(n){case 1:return"CONNECT";case 2:return"DISCONNECT";case 3:return"OPEN";case 4:return"QUERY";default:return"?"}}function ee(n){switch(n){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 y=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:T.ASYNC_DUCKDB,topic:m.QUERY,event:R.RUN,value:e});let r=await this._bindings.runQuery(this._conn,e),s=I.RecordBatchReader.from(r);return console.assert(s.isSync()),console.assert(s.isFile()),I.Table.from(s)}async send(e){this._bindings.logger.log({timestamp:new Date,level:_.INFO,origin:T.ASYNC_DUCKDB,topic:m.QUERY,event:R.RUN,value:e});let r=await this._bindings.sendQuery(this._conn,e),s=new S(this._bindings,this._conn,r),u=await I.RecordBatchReader.from(s);return console.assert(u.isAsync()),console.assert(u.isStream()),u}async prepare(e){let r=await this._bindings.createPrepared(this._conn,e);return new P(this._bindings,this._conn,r)}async insertArrowTable(e,r){let s=e.serialize("binary",!0);await this.insertArrowFromIPCStream(s,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,s){this.db=e;this.conn=r;this.header=s;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}},P=class{constructor(e,r,s){this.bindings=e,this.connectionId=r,this.statementId=s}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...e){let r=await this.bindings.runPrepared(this.connectionId,this.statementId,e),s=I.RecordBatchReader.from(r);return console.assert(s.isSync()),console.assert(s.isFile()),I.Table.from(s)}async send(...e){let r=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),s=new S(this.bindings,this.connectionId,r),u=await I.RecordBatchReader.from(s);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 a;(function(d){d.CONNECTION_INFO="CONNECTION_INFO",d.ERROR="ERROR",d.FEATURE_FLAGS="FEATURE_FLAGS",d.FILE_BUFFER="FILE_BUFFER",d.FILE_INFOS="FILE_INFOS",d.FILE_SIZE="FILE_SIZE",d.FILE_STATISTICS="FILE_STATISTICS",d.LOG="LOG",d.OK="OK",d.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",d.QUERY_PLAN="QUERY_PLAN",d.QUERY_RESULT="QUERY_RESULT",d.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",d.QUERY_START="QUERY_START",d.REGISTERED_FILE="REGISTERED_FILE",d.SCRIPT_TOKENS="SCRIPT_TOKENS",d.SUCCESS="SUCCESS",d.VERSION_STRING="VERSION_STRING"})(a||(a={}));var l=class{constructor(e,r){this.promiseResolver=()=>{};this.promiseRejecter=()=>{};this.type=e,this.data=r,this.promise=new Promise((s,u)=>{this.promiseResolver=s,this.promiseRejecter=u})}};var c=N(require("apache-arrow"));function b(n,e){switch(e.typeId){case c.Type.Binary:return{name:n,type:"binary"};case c.Type.Bool:return{name:n,type:"bool"};case c.Type.Date:return{name:n,type:"date"};case c.Type.DateDay:return{name:n,type:"date32[d]"};case c.Type.DateMillisecond:return{name:n,type:"date64[ms]"};case c.Type.Decimal:{let r=e;return{name:n,type:"decimal",precision:r.precision,scale:r.scale}}case c.Type.Float:return{name:n,type:"float"};case c.Type.Float16:return{name:n,type:"float16"};case c.Type.Float32:return{name:n,type:"float32"};case c.Type.Float64:return{name:n,type:"float64"};case c.Type.Int:return{name:n,type:"int32"};case c.Type.Int16:return{name:n,type:"int16"};case c.Type.Int32:return{name:n,type:"int32"};case c.Type.Int64:return{name:n,type:"int64"};case c.Type.Uint16:return{name:n,type:"uint16"};case c.Type.Uint32:return{name:n,type:"uint32"};case c.Type.Uint64:return{name:n,type:"uint64"};case c.Type.Uint8:return{name:n,type:"uint8"};case c.Type.IntervalDayTime:return{name:n,type:"interval[dt]"};case c.Type.IntervalYearMonth:return{name:n,type:"interval[m]"};case c.Type.List:{let r=e;return{name:n,type:"list",children:[b(r.valueField.name,r.valueField.type)]}}case c.Type.FixedSizeBinary:return{name:n,type:"fixedsizebinary",byteWidth:e.byteWidth};case c.Type.Null:return{name:n,type:"null"};case c.Type.Utf8:return{name:n,type:"utf8"};case c.Type.Struct:return{name:n,type:"struct",children:e.children.map(s=>b(s.name,s.type))};case c.Type.Time:return{name:n,type:"time[s]"};case c.Type.TimeMicrosecond:return{name:n,type:"time[us]"};case c.Type.TimeMillisecond:return{name:n,type:"time[ms]"};case c.Type.TimeNanosecond:return{name:n,type:"time[ns]"};case c.Type.TimeSecond:return{name:n,type:"time[s]"};case c.Type.Timestamp:return{name:n,type:"timestamp",timezone:e.timezone||void 0};case c.Type.TimestampSecond:return{name:n,type:"timestamp[s]",timezone:e.timezone||void 0};case c.Type.TimestampMicrosecond:return{name:n,type:"timestamp[us]",timezone:e.timezone||void 0};case c.Type.TimestampNanosecond:return{name:n,type:"timestamp[ns]",timezone:e.timezone||void 0};case c.Type.TimestampMillisecond:return{name:n,type:"timestamp[ms]",timezone:e.timezone||void 0}}throw new Error(`unsupported arrow type: ${e.toString()}`)}var re=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,s)=>{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 s=this._nextMessageId++;return this._pendingRequests.set(s,e),this._worker.postMessage({messageId:s,type:e.type,data:e.data}),await e.promise}onMessage(e){let r=e.data;r.type==a.LOG&&this._logger.log(r.data);let s=this._pendingRequests.get(r.requestId);if(!s){console.warn(`unassociated response: [${r.requestId}, ${r.type.toString()}]`);return}if(this._pendingRequests.delete(r.requestId),r.type==a.ERROR){let u=new Error(r.data.message);u.name=r.data.name,u.stack=r.data.stack,s.promiseRejecter(u);return}switch(s.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==a.OK){s.promiseResolver(r.data);return}break;case t.GLOB_FILE_INFOS:if(r.type==a.FILE_INFOS){s.promiseResolver(r.data);return}break;case t.GET_VERSION:if(r.type==a.VERSION_STRING){s.promiseResolver(r.data);return}break;case t.GET_FEATURE_FLAGS:if(r.type==a.FEATURE_FLAGS){s.promiseResolver(r.data);return}break;case t.TOKENIZE:if(r.type==a.SCRIPT_TOKENS){s.promiseResolver(r.data);return}break;case t.DROP_FILE:if(r.type==a.SUCCESS){s.promiseResolver(r.data);return}break;case t.COPY_FILE_TO_BUFFER:if(r.type==a.FILE_BUFFER){s.promiseResolver(r.data);return}break;case t.EXPORT_FILE_STATISTICS:if(r.type==a.FILE_STATISTICS){s.promiseResolver(r.data);return}break;case t.CONNECT:if(r.type==a.CONNECTION_INFO){s.promiseResolver(r.data);return}break;case t.RUN_PREPARED:case t.RUN_QUERY:if(r.type==a.QUERY_RESULT){s.promiseResolver(r.data);return}break;case t.SEND_PREPARED:case t.SEND_QUERY:if(r.type==a.QUERY_START){s.promiseResolver(r.data);return}break;case t.FETCH_QUERY_RESULTS:if(r.type==a.QUERY_RESULT_CHUNK){s.promiseResolver(r.data);return}break;case t.CREATE_PREPARED:if(r.type==a.PREPARED_STATEMENT_ID){s.promiseResolver(r.data);return}break}s.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 s=new l(t.INSTANTIATE,[e,r]);return await this.postTask(s)}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 y(this,e)}async disconnect(e){let r=new l(t.DISCONNECT,e);await this.postTask(r)}async runQuery(e,r){let s=new l(t.RUN_QUERY,[e,r]);return await this.postTask(s)}async sendQuery(e,r){let s=new l(t.SEND_QUERY,[e,r]);return await this.postTask(s)}async fetchQueryResults(e){let r=new l(t.FETCH_QUERY_RESULTS,e);return await this.postTask(r)}async createPrepared(e,r){let s=new l(t.CREATE_PREPARED,[e,r]);return await this.postTask(s)}async closePrepared(e,r){let s=new l(t.CLOSE_PREPARED,[e,r]);await this.postTask(s)}async runPrepared(e,r,s){let u=new l(t.RUN_PREPARED,[e,r,s]);return await this.postTask(u)}async sendPrepared(e,r,s){let u=new l(t.SEND_PREPARED,[e,r,s]);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 s=re.encode(r);await this.registerFileBuffer(e,s)}async registerFileURL(e,r){r===void 0&&(r=e);let s=new l(t.REGISTER_FILE_URL,[e,r]);await this.postTask(s)}async registerEmptyFileBuffer(e){let r=new l(t.REGISTER_FILE_BUFFER,[e,new Uint8Array]);await this.postTask(r)}async registerFileBuffer(e,r){let s=new l(t.REGISTER_FILE_BUFFER,[e,r]);await this.postTask(s,[r.buffer])}async registerFileHandle(e,r){let s=new l(t.REGISTER_FILE_HANDLE,[e,r]);await this.postTask(s,[])}async collectFileStatistics(e,r){let s=new l(t.COLLECT_FILE_STATISTICS,[e,r]);await this.postTask(s,[])}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 s=new l(t.COPY_FILE_TO_PATH,[e,r]);await this.postTask(s)}async insertArrowFromIPCStream(e,r,s){if(r.length==0)return;let u=new l(t.INSERT_ARROW_FROM_IPC_STREAM,[e,r,s]);await this.postTask(u,[r.buffer])}async insertCSVFromPath(e,r,s){if(s.columns!==void 0){let o=[];for(let E in s.columns){let w=s.columns[E];o.push(b(E,w))}s.columnsFlat=o,delete s.columns}let u=new l(t.INSERT_CSV_FROM_PATH,[e,r,s]);await this.postTask(u)}async insertJSONFromPath(e,r,s){if(s.columns!==void 0){let o=[];for(let E in s.columns){let w=s.columns[E];o.push(b(E,w))}s.columnsFlat=o,delete s.columns}let u=new l(t.INSERT_JSON_FROM_PATH,[e,r,s]);await this.postTask(u)}};var j=class{constructor(){this._bindings=null;this._nextMessageId=0}log(e){this.postMessage({messageId:this._nextMessageId++,requestId:0,type:a.LOG,data:e},[])}sendOK(e){this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:a.OK,data:null},[])}failWith(e,r){let s={name:r.name,message:r.message,stack:r.stack||void 0};this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:a.ERROR,data:s},[])}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:a.VERSION_STRING,data:this._bindings.getVersion()},[]);break;case t.GET_FEATURE_FLAGS:this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:a.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:a.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:a.CONNECTION_INFO,data:r.useUnsafe((s,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:a.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:a.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:a.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:a.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:a.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:a.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:a.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:a.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:a.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:a.SCRIPT_TOKENS,data:r},[]);break}}}catch(r){return this.failWith(e,r)}}};var k=N(require("wasm-feature-detect"));var te="@duckdb/duckdb-wasm",se="0.1.13-dev29.0",ne="DuckDB powered by WebAssembly",ie="MPL-2.0",oe={type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},ae={"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"},de={"@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"},ce={fsevents:"*"},le={"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"},ue=["dist","!dist/types/test"],Ee="dist/duckdb-node.cjs",pe="dist/duckdb-node.mjs",Re="dist/duckdb-node.d.ts",_e="dist/duckdb-browser.js",Te="dist/duckdb-browser.js",me={"dist/duckdb-node.cjs":"dist/duckdb-browser.js","dist/duckdb-node.mjs":"dist/duckdb-browser.mjs","dist/duckdb-node.d.ts":"dist/duckdb-browser.d.ts",fs:!1,path:!1,perf_hooks:!1,os:!1,worker_threads:!1},Ie={"./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.js","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.js","./dist/duckdb-browser-next":"./dist/duckdb-browser-next.js","./dist/duckdb-browser-next-coi":"./dist/duckdb-browser-next-coi.js","./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":"./dist/duckdb-node-next.cjs","./dist/duckdb-node-next.worker.js":"./dist/duckdb-node-next.worker.js","./dist/duckdb-node.worker.js":"./dist/duckdb-node.worker.js","./next-coi":{browser:{types:"./dist/duckdb-browser-next-coi.d.ts",script:"./dist/duckdb-browser-next-coi.js",default:"./dist/duckdb-browser-next-coi.js"}},"./next":{browser:{types:"./dist/duckdb-browser-next.d.ts",script:"./dist/duckdb-browser-next.js",default:"./dist/duckdb-browser-next.js"},node:{types:"./dist/duckdb-node-next.d.ts",require:"./dist/duckdb-node-next.cjs",default:"./dist/duckdb-node-next.cjs"}},"./blocking":{browser:{types:"./dist/duckdb-browser-blocking.d.ts",script:"./dist/duckdb-browser-blocking.js",default:"./dist/duckdb-browser-blocking.js"},node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",default:"./dist/duckdb-node-blocking.cjs"}},".":{browser:{types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",script:"./dist/duckdb-browser.js",default:"./dist/duckdb-browser.js"},node:{types:"./dist/duckdb-node.d.ts",import:"./dist/duckdb-node.mjs",require:"./dist/duckdb-node.cjs",default:"./dist/duckdb-node.cjs"}}},h={name:te,version:se,description:ne,license:ie,repository:oe,dependencies:ae,devDependencies:de,optionalDependencies:ce,scripts:le,files:ue,"main:":Ee,module:pe,types:Re,"jsdelivr:":_e,"unpkg:":Te,browser:me,exports:Ie};var A=h.name,C=h.version,f=h.version.split("."),ke=f[0],be=f[1],ge=f[2];function O(n){let e=`importScripts("${n}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}function ye(){let n=`https://cdn.jsdelivr.net/npm/${A}@${C}/dist/`;return{asyncDefault:{mainModule:`${n}duckdb.wasm`,mainWorker:O(`${n}duckdb-browser.worker.js`)},asyncNext:{mainModule:`${n}duckdb-next.wasm`,mainWorker:O(`${n}duckdb-browser-next.worker.js`)},asyncNextCOI:{mainModule:`${n}duckdb-next-coi.wasm`,mainWorker:O(`${n}duckdb-browser-next-coi.worker.js`),pthreadWorker:O(`${n}duckdb-browser-next-coi.pthread.worker.js`)}}}var L=null,D=null,U=null,W=null,x=null;function Se(){return typeof process!="undefined"&&process.release.name==="node"}async function Y(){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()),x==null&&(x=await k.bulkMemory()),{bigInt64Array:L,crossOriginIsolated:Se()||globalThis.crossOriginIsolated||!1,wasmExceptions:D,wasmSIMD:W,wasmThreads:U,wasmBulkMemory:x}}async function he(n){let e=await Y();if(e.wasmExceptions&&e.wasmSIMD){if(e.wasmThreads&&e.crossOriginIsolated&&n.asyncNextCOI)return{mainModule:n.asyncNextCOI.mainModule,mainWorker:n.asyncNextCOI.mainWorker,pthreadWorker:n.asyncNextCOI.pthreadWorker};if(n.asyncNext)return{mainModule:n.asyncNext.mainModule,mainWorker:n.asyncNext.mainWorker,pthreadWorker:null}}return{mainModule:n.asyncDefault.mainModule,mainWorker:n.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
|
+
var H=Object.create;var g=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,q=Object.prototype.hasOwnProperty;var v=n=>g(n,"__esModule",{value:!0});var J=(n,e)=>{v(n);for(var r in e)g(n,r,{get:e[r],enumerable:!0})},z=(n,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of K(e))!q.call(n,s)&&s!=="default"&&g(n,s,{get:()=>e[s],enumerable:!(r=V(e,s))||r.enumerable});return n},N=n=>z(v(g(n!=null?H(Q(n)):{},"default",n&&n.__esModule&&"default"in n?{get:()=>n.default,enumerable:!0}:{value:n,enumerable:!0})),n);J(exports,{AsyncDuckDB:()=>G,AsyncDuckDBConnection:()=>y,AsyncDuckDBDispatcher:()=>j,AsyncPreparedStatement:()=>P,AsyncResultStreamIterator:()=>S,ConsoleLogger:()=>M,LogEvent:()=>R,LogLevel:()=>_,LogOrigin:()=>T,LogTopic:()=>m,PACKAGE_NAME:()=>A,PACKAGE_VERSION:()=>C,PACKAGE_VERSION_MAJOR:()=>ke,PACKAGE_VERSION_MINOR:()=>be,PACKAGE_VERSION_PATCH:()=>ge,StatusCode:()=>F,VoidLogger:()=>B,WorkerRequestType:()=>t,WorkerResponseType:()=>a,WorkerTask:()=>l,getJsDelivrBundles:()=>ye,getLogEventLabel:()=>Z,getLogLevelLabel:()=>$,getLogOriginLabel:()=>ee,getLogTopicLabel:()=>X,getPlatformFeatures:()=>Y,selectBundle:()=>he});var _;(function(o){o[o.NONE=0]="NONE",o[o.DEBUG=1]="DEBUG",o[o.INFO=2]="INFO",o[o.WARNING=3]="WARNING",o[o.ERROR=4]="ERROR"})(_||(_={}));var m;(function(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"})(m||(m={}));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 T;(function(o){o[o.NONE=0]="NONE",o[o.WEB_WORKER=1]="WEB_WORKER",o[o.NODE_WORKER=2]="NODE_WORKER",o[o.BINDINGS=3]="BINDINGS",o[o.ASYNC_DUCKDB=4]="ASYNC_DUCKDB"})(T||(T={}));var B=class{log(e){}},M=class{log(e){console.log(e)}};function $(n){switch(n){case 0:return"NONE";case 1:return"DEBUG";case 2:return"INFO";case 3:return"WARNING";case 4:return"ERROR";default:return"?"}}function Z(n){switch(n){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 X(n){switch(n){case 1:return"CONNECT";case 2:return"DISCONNECT";case 3:return"OPEN";case 4:return"QUERY";default:return"?"}}function ee(n){switch(n){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 y=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:T.ASYNC_DUCKDB,topic:m.QUERY,event:R.RUN,value:e});let r=await this._bindings.runQuery(this._conn,e),s=I.RecordBatchReader.from(r);return console.assert(s.isSync()),console.assert(s.isFile()),I.Table.from(s)}async send(e){this._bindings.logger.log({timestamp:new Date,level:_.INFO,origin:T.ASYNC_DUCKDB,topic:m.QUERY,event:R.RUN,value:e});let r=await this._bindings.sendQuery(this._conn,e),s=new S(this._bindings,this._conn,r),u=await I.RecordBatchReader.from(s);return console.assert(u.isAsync()),console.assert(u.isStream()),u}async prepare(e){let r=await this._bindings.createPrepared(this._conn,e);return new P(this._bindings,this._conn,r)}async insertArrowTable(e,r){let s=e.serialize("binary",!0);await this.insertArrowFromIPCStream(s,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,s){this.db=e;this.conn=r;this.header=s;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}},P=class{constructor(e,r,s){this.bindings=e,this.connectionId=r,this.statementId=s}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...e){let r=await this.bindings.runPrepared(this.connectionId,this.statementId,e),s=I.RecordBatchReader.from(r);return console.assert(s.isSync()),console.assert(s.isFile()),I.Table.from(s)}async send(...e){let r=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),s=new S(this.bindings,this.connectionId,r),u=await I.RecordBatchReader.from(s);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 a;(function(d){d.CONNECTION_INFO="CONNECTION_INFO",d.ERROR="ERROR",d.FEATURE_FLAGS="FEATURE_FLAGS",d.FILE_BUFFER="FILE_BUFFER",d.FILE_INFOS="FILE_INFOS",d.FILE_SIZE="FILE_SIZE",d.FILE_STATISTICS="FILE_STATISTICS",d.LOG="LOG",d.OK="OK",d.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",d.QUERY_PLAN="QUERY_PLAN",d.QUERY_RESULT="QUERY_RESULT",d.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",d.QUERY_START="QUERY_START",d.REGISTERED_FILE="REGISTERED_FILE",d.SCRIPT_TOKENS="SCRIPT_TOKENS",d.SUCCESS="SUCCESS",d.VERSION_STRING="VERSION_STRING"})(a||(a={}));var l=class{constructor(e,r){this.promiseResolver=()=>{};this.promiseRejecter=()=>{};this.type=e,this.data=r,this.promise=new Promise((s,u)=>{this.promiseResolver=s,this.promiseRejecter=u})}};var c=N(require("apache-arrow"));function b(n,e){switch(e.typeId){case c.Type.Binary:return{name:n,type:"binary"};case c.Type.Bool:return{name:n,type:"bool"};case c.Type.Date:return{name:n,type:"date"};case c.Type.DateDay:return{name:n,type:"date32[d]"};case c.Type.DateMillisecond:return{name:n,type:"date64[ms]"};case c.Type.Decimal:{let r=e;return{name:n,type:"decimal",precision:r.precision,scale:r.scale}}case c.Type.Float:return{name:n,type:"float"};case c.Type.Float16:return{name:n,type:"float16"};case c.Type.Float32:return{name:n,type:"float32"};case c.Type.Float64:return{name:n,type:"float64"};case c.Type.Int:return{name:n,type:"int32"};case c.Type.Int16:return{name:n,type:"int16"};case c.Type.Int32:return{name:n,type:"int32"};case c.Type.Int64:return{name:n,type:"int64"};case c.Type.Uint16:return{name:n,type:"uint16"};case c.Type.Uint32:return{name:n,type:"uint32"};case c.Type.Uint64:return{name:n,type:"uint64"};case c.Type.Uint8:return{name:n,type:"uint8"};case c.Type.IntervalDayTime:return{name:n,type:"interval[dt]"};case c.Type.IntervalYearMonth:return{name:n,type:"interval[m]"};case c.Type.List:{let r=e;return{name:n,type:"list",children:[b(r.valueField.name,r.valueField.type)]}}case c.Type.FixedSizeBinary:return{name:n,type:"fixedsizebinary",byteWidth:e.byteWidth};case c.Type.Null:return{name:n,type:"null"};case c.Type.Utf8:return{name:n,type:"utf8"};case c.Type.Struct:return{name:n,type:"struct",children:e.children.map(s=>b(s.name,s.type))};case c.Type.Time:return{name:n,type:"time[s]"};case c.Type.TimeMicrosecond:return{name:n,type:"time[us]"};case c.Type.TimeMillisecond:return{name:n,type:"time[ms]"};case c.Type.TimeNanosecond:return{name:n,type:"time[ns]"};case c.Type.TimeSecond:return{name:n,type:"time[s]"};case c.Type.Timestamp:return{name:n,type:"timestamp",timezone:e.timezone||void 0};case c.Type.TimestampSecond:return{name:n,type:"timestamp[s]",timezone:e.timezone||void 0};case c.Type.TimestampMicrosecond:return{name:n,type:"timestamp[us]",timezone:e.timezone||void 0};case c.Type.TimestampNanosecond:return{name:n,type:"timestamp[ns]",timezone:e.timezone||void 0};case c.Type.TimestampMillisecond:return{name:n,type:"timestamp[ms]",timezone:e.timezone||void 0}}throw new Error(`unsupported arrow type: ${e.toString()}`)}var re=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,s)=>{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 s=this._nextMessageId++;return this._pendingRequests.set(s,e),this._worker.postMessage({messageId:s,type:e.type,data:e.data}),await e.promise}onMessage(e){let r=e.data;r.type==a.LOG&&this._logger.log(r.data);let s=this._pendingRequests.get(r.requestId);if(!s){console.warn(`unassociated response: [${r.requestId}, ${r.type.toString()}]`);return}if(this._pendingRequests.delete(r.requestId),r.type==a.ERROR){let u=new Error(r.data.message);u.name=r.data.name,u.stack=r.data.stack,s.promiseRejecter(u);return}switch(s.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==a.OK){s.promiseResolver(r.data);return}break;case t.GLOB_FILE_INFOS:if(r.type==a.FILE_INFOS){s.promiseResolver(r.data);return}break;case t.GET_VERSION:if(r.type==a.VERSION_STRING){s.promiseResolver(r.data);return}break;case t.GET_FEATURE_FLAGS:if(r.type==a.FEATURE_FLAGS){s.promiseResolver(r.data);return}break;case t.TOKENIZE:if(r.type==a.SCRIPT_TOKENS){s.promiseResolver(r.data);return}break;case t.DROP_FILE:if(r.type==a.SUCCESS){s.promiseResolver(r.data);return}break;case t.COPY_FILE_TO_BUFFER:if(r.type==a.FILE_BUFFER){s.promiseResolver(r.data);return}break;case t.EXPORT_FILE_STATISTICS:if(r.type==a.FILE_STATISTICS){s.promiseResolver(r.data);return}break;case t.CONNECT:if(r.type==a.CONNECTION_INFO){s.promiseResolver(r.data);return}break;case t.RUN_PREPARED:case t.RUN_QUERY:if(r.type==a.QUERY_RESULT){s.promiseResolver(r.data);return}break;case t.SEND_PREPARED:case t.SEND_QUERY:if(r.type==a.QUERY_START){s.promiseResolver(r.data);return}break;case t.FETCH_QUERY_RESULTS:if(r.type==a.QUERY_RESULT_CHUNK){s.promiseResolver(r.data);return}break;case t.CREATE_PREPARED:if(r.type==a.PREPARED_STATEMENT_ID){s.promiseResolver(r.data);return}break}s.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 s=new l(t.INSTANTIATE,[e,r]);return await this.postTask(s)}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 y(this,e)}async disconnect(e){let r=new l(t.DISCONNECT,e);await this.postTask(r)}async runQuery(e,r){let s=new l(t.RUN_QUERY,[e,r]);return await this.postTask(s)}async sendQuery(e,r){let s=new l(t.SEND_QUERY,[e,r]);return await this.postTask(s)}async fetchQueryResults(e){let r=new l(t.FETCH_QUERY_RESULTS,e);return await this.postTask(r)}async createPrepared(e,r){let s=new l(t.CREATE_PREPARED,[e,r]);return await this.postTask(s)}async closePrepared(e,r){let s=new l(t.CLOSE_PREPARED,[e,r]);await this.postTask(s)}async runPrepared(e,r,s){let u=new l(t.RUN_PREPARED,[e,r,s]);return await this.postTask(u)}async sendPrepared(e,r,s){let u=new l(t.SEND_PREPARED,[e,r,s]);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 s=re.encode(r);await this.registerFileBuffer(e,s)}async registerFileURL(e,r){r===void 0&&(r=e);let s=new l(t.REGISTER_FILE_URL,[e,r]);await this.postTask(s)}async registerEmptyFileBuffer(e){let r=new l(t.REGISTER_FILE_BUFFER,[e,new Uint8Array]);await this.postTask(r)}async registerFileBuffer(e,r){let s=new l(t.REGISTER_FILE_BUFFER,[e,r]);await this.postTask(s,[r.buffer])}async registerFileHandle(e,r){let s=new l(t.REGISTER_FILE_HANDLE,[e,r]);await this.postTask(s,[])}async collectFileStatistics(e,r){let s=new l(t.COLLECT_FILE_STATISTICS,[e,r]);await this.postTask(s,[])}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 s=new l(t.COPY_FILE_TO_PATH,[e,r]);await this.postTask(s)}async insertArrowFromIPCStream(e,r,s){if(r.length==0)return;let u=new l(t.INSERT_ARROW_FROM_IPC_STREAM,[e,r,s]);await this.postTask(u,[r.buffer])}async insertCSVFromPath(e,r,s){if(s.columns!==void 0){let o=[];for(let E in s.columns){let w=s.columns[E];o.push(b(E,w))}s.columnsFlat=o,delete s.columns}let u=new l(t.INSERT_CSV_FROM_PATH,[e,r,s]);await this.postTask(u)}async insertJSONFromPath(e,r,s){if(s.columns!==void 0){let o=[];for(let E in s.columns){let w=s.columns[E];o.push(b(E,w))}s.columnsFlat=o,delete s.columns}let u=new l(t.INSERT_JSON_FROM_PATH,[e,r,s]);await this.postTask(u)}};var j=class{constructor(){this._bindings=null;this._nextMessageId=0}log(e){this.postMessage({messageId:this._nextMessageId++,requestId:0,type:a.LOG,data:e},[])}sendOK(e){this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:a.OK,data:null},[])}failWith(e,r){let s={name:r.name,message:r.message,stack:r.stack||void 0};this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:a.ERROR,data:s},[])}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:a.VERSION_STRING,data:this._bindings.getVersion()},[]);break;case t.GET_FEATURE_FLAGS:this.postMessage({messageId:this._nextMessageId++,requestId:e.messageId,type:a.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:a.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:a.CONNECTION_INFO,data:r.useUnsafe((s,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:a.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:a.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:a.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:a.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:a.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:a.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:a.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:a.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:a.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:a.SCRIPT_TOKENS,data:r},[]);break}}}catch(r){return this.failWith(e,r)}}};var k=N(require("wasm-feature-detect"));var te="@duckdb/duckdb-wasm",se="0.1.13-dev30.0",ne="DuckDB powered by WebAssembly",ie="MPL-2.0",oe={type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},ae={"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"},de={"@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"},ce={fsevents:"*"},le={"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"},ue=["dist","!dist/types/test"],Ee="dist/duckdb-node.cjs",pe="dist/duckdb-node.mjs",Re="dist/duckdb-node.d.ts",_e="dist/duckdb-browser.js",Te="dist/duckdb-browser.js",me={"dist/duckdb-node.cjs":"dist/duckdb-browser.js","dist/duckdb-node.mjs":"dist/duckdb-browser.mjs","dist/duckdb-node.d.ts":"dist/duckdb-browser.d.ts",fs:!1,path:!1,perf_hooks:!1,os:!1,worker_threads:!1},Ie={"./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.js","./dist/duckdb-browser-blocking":"./dist/duckdb-browser-blocking.js","./dist/duckdb-browser-next":"./dist/duckdb-browser-next.js","./dist/duckdb-browser-next-coi":"./dist/duckdb-browser-next-coi.js","./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":"./dist/duckdb-node-next.cjs","./dist/duckdb-node-next.worker.js":"./dist/duckdb-node-next.worker.js","./dist/duckdb-node.worker.js":"./dist/duckdb-node.worker.js","./next-coi":{browser:{types:"./dist/duckdb-browser-next-coi.d.ts",script:"./dist/duckdb-browser-next-coi.js",default:"./dist/duckdb-browser-next-coi.js"}},"./next":{browser:{types:"./dist/duckdb-browser-next.d.ts",script:"./dist/duckdb-browser-next.js",default:"./dist/duckdb-browser-next.js"},node:{types:"./dist/duckdb-node-next.d.ts",require:"./dist/duckdb-node-next.cjs",default:"./dist/duckdb-node-next.cjs"}},"./blocking":{browser:{types:"./dist/duckdb-browser-blocking.d.ts",script:"./dist/duckdb-browser-blocking.js",default:"./dist/duckdb-browser-blocking.js"},node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",default:"./dist/duckdb-node-blocking.cjs"}},".":{browser:{types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",script:"./dist/duckdb-browser.js",default:"./dist/duckdb-browser.js"},node:{types:"./dist/duckdb-node.d.ts",import:"./dist/duckdb-node.mjs",require:"./dist/duckdb-node.cjs",default:"./dist/duckdb-node.cjs"}}},h={name:te,version:se,description:ne,license:ie,repository:oe,dependencies:ae,devDependencies:de,optionalDependencies:ce,scripts:le,files:ue,"main:":Ee,module:pe,types:Re,"jsdelivr:":_e,"unpkg:":Te,browser:me,exports:Ie};var A=h.name,C=h.version,f=h.version.split("."),ke=f[0],be=f[1],ge=f[2];function O(n){let e=`importScripts("${n}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}function ye(){let n=`https://cdn.jsdelivr.net/npm/${A}@${C}/dist/`;return{asyncDefault:{mainModule:`${n}duckdb.wasm`,mainWorker:O(`${n}duckdb-browser.worker.js`)},asyncNext:{mainModule:`${n}duckdb-next.wasm`,mainWorker:O(`${n}duckdb-browser-next.worker.js`)},asyncNextCOI:{mainModule:`${n}duckdb-next-coi.wasm`,mainWorker:O(`${n}duckdb-browser-next-coi.worker.js`),pthreadWorker:O(`${n}duckdb-browser-next-coi.pthread.worker.js`)}}}var L=null,D=null,U=null,W=null,x=null;function Se(){return typeof process!="undefined"&&process.release.name==="node"}async function Y(){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()),x==null&&(x=await k.bulkMemory()),{bigInt64Array:L,crossOriginIsolated:Se()||globalThis.crossOriginIsolated||!1,wasmExceptions:D,wasmSIMD:W,wasmThreads:U,wasmBulkMemory:x}}async function he(n){let e=await Y();if(e.wasmExceptions&&e.wasmSIMD){if(e.wasmThreads&&e.crossOriginIsolated&&n.asyncNextCOI)return{mainModule:n.asyncNextCOI.mainModule,mainWorker:n.asyncNextCOI.mainWorker,pthreadWorker:n.asyncNextCOI.pthreadWorker};if(n.asyncNext)return{mainModule:n.asyncNext.mainModule,mainWorker:n.asyncNext.mainWorker,pthreadWorker:null}}return{mainModule:n.asyncDefault.mainModule,mainWorker:n.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});
|
|
2
2
|
//# sourceMappingURL=duckdb-node.cjs.map
|