@motherduck/wasm-client 0.6.0 → 0.6.2
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/README.md +38 -22
- package/index.js +1 -1
- package/index_with_arrow.js +11 -11
- package/package.json +2 -2
- package/types/DuckDBInstance.d.ts +3 -0
- package/types/{api.d.ts → MDConnection.d.ts} +6 -4
- package/types/MDConnectionParams.d.ts +11 -0
- package/types/QueryTypes.d.ts +17 -5
- package/types/TaskSequencer.d.ts +1 -0
- package/types/createDuckDbConnection.d.ts +3 -0
- package/types/fetchDuckDBAssets.d.ts +17 -0
- package/types/fetchVersion.d.ts +1 -0
- package/types/genConnectionId.d.ts +1 -0
- package/types/getAsyncDuckDb.d.ts +3 -0
- package/types/getDuckDBBundlesFromDuckDBAssets.d.ts +2 -0
- package/types/getVersionSuffix.d.ts +1 -0
- package/types/index.d.ts +9 -9
- package/types/instantiateDB.d.ts +2 -0
- package/types/{duckdb/files.d.ts → readLocalFS.d.ts} +1 -5
- package/types/recursivelyPrefix.d.ts +1 -0
- package/types/registerFiles.d.ts +5 -0
- package/types/transformQueryError.d.ts +2 -0
- package/types/urlPathConcat.d.ts +1 -0
- package/types/arrow/AsyncDuckDBRecordBatchIterator.d.ts +0 -13
- package/types/arrow/DuckDBRecordBatch.d.ts +0 -14
- package/types/arrow/TypedTypeMap.d.ts +0 -2
- package/types/arrow/duckDBTypeFromArrowType.d.ts +0 -4
- package/types/arrow/duckDBValueFromArrowData.d.ts +0 -8
- package/types/createDeferred.d.ts +0 -6
- package/types/duckdb/AsyncDuckDBDataBatchIterator.d.ts +0 -3
- package/types/duckdb/DuckDBData.d.ts +0 -56
- package/types/duckdb/DuckDBDataReader.d.ts +0 -68
- package/types/duckdb/DuckDBRow.d.ts +0 -4
- package/types/duckdb/conversion/dateTimeStringConversion.d.ts +0 -12
- package/types/duckdb/conversion/displayStringForDuckDBValue.d.ts +0 -2
- package/types/duckdb/conversion/stringFromBlob.d.ts +0 -2
- package/types/duckdb/conversion/stringFromDecimal.d.ts +0 -18
- package/types/duckdb/types/DuckDBType.d.ts +0 -110
- package/types/duckdb/types/DuckDBTypes.d.ts +0 -39
- package/types/duckdb/types/index.d.ts +0 -2
- package/types/duckdb/values/DuckDBBlob.d.ts +0 -6
- package/types/duckdb/values/DuckDBDate.d.ts +0 -6
- package/types/duckdb/values/DuckDBDecimal.d.ts +0 -10
- package/types/duckdb/values/DuckDBInterval.d.ts +0 -8
- package/types/duckdb/values/DuckDBList.d.ts +0 -7
- package/types/duckdb/values/DuckDBMap.d.ts +0 -7
- package/types/duckdb/values/DuckDBMapEntry.d.ts +0 -5
- package/types/duckdb/values/DuckDBStruct.d.ts +0 -7
- package/types/duckdb/values/DuckDBStructEntry.d.ts +0 -5
- package/types/duckdb/values/DuckDBTime.d.ts +0 -6
- package/types/duckdb/values/DuckDBTimestampMicroseconds.d.ts +0 -8
- package/types/duckdb/values/DuckDBTimestampMilliseconds.d.ts +0 -6
- package/types/duckdb/values/DuckDBTimestampNanoseconds.d.ts +0 -6
- package/types/duckdb/values/DuckDBTimestampSeconds.d.ts +0 -6
- package/types/duckdb/values/DuckDBValue.d.ts +0 -2
- package/types/duckdb/values/SpecialDuckDBValue.d.ts +0 -4
- package/types/duckdb/values/index.d.ts +0 -16
- package/types/duckdb/worker_factory.d.ts +0 -15
- package/types/observability.d.ts +0 -26
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# MotherDuck
|
|
1
|
+
# MotherDuck Wasm Client
|
|
2
2
|
|
|
3
3
|
[MotherDuck](https://motherduck.com/) is a managed DuckDB-in-the-cloud service.
|
|
4
4
|
|
|
5
|
-
[DuckDB
|
|
5
|
+
[DuckDB Wasm](https://github.com/duckdb/duckdb-wasm) brings DuckDB to every browser thanks to WebAssembly.
|
|
6
6
|
|
|
7
|
-
The MotherDuck
|
|
7
|
+
The MotherDuck Wasm Client library enables using MotherDuck through DuckDB Wasm in your own browser applications.
|
|
8
8
|
|
|
9
9
|
## Examples
|
|
10
10
|
|
|
@@ -12,9 +12,9 @@ Example projects and live demos can be found [here](https://github.com/motherduc
|
|
|
12
12
|
|
|
13
13
|
## Status
|
|
14
14
|
|
|
15
|
-
Please note that the MotherDuck
|
|
15
|
+
Please note that the MotherDuck Wasm Client library is in an early stage of active development. Its structure and API may change considerably.
|
|
16
16
|
|
|
17
|
-
Our current intention is to align more closely with the DuckDB
|
|
17
|
+
Our current intention is to align more closely with the DuckDB Wasm API in the future, to make using MotherDuck with DuckDB Wasm as easy as possible.
|
|
18
18
|
|
|
19
19
|
## DuckDB Version Support
|
|
20
20
|
|
|
@@ -28,11 +28,11 @@ Our current intention is to align more closely with the DuckDB WASM API in the f
|
|
|
28
28
|
|
|
29
29
|
## Requirements
|
|
30
30
|
|
|
31
|
-
To faciliate efficient communication across worker threads, the MotherDuck
|
|
31
|
+
To faciliate efficient communication across worker threads, the MotherDuck Wasm Client library currently uses advanced browser features, including [SharedArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer).
|
|
32
32
|
|
|
33
33
|
Due to [security requirements](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements) of modern browsers, these features require applications to be [cross-origin isolated](https://developer.mozilla.org/en-US/docs/Web/API/crossOriginIsolated).
|
|
34
34
|
|
|
35
|
-
To use the MotherDuck
|
|
35
|
+
To use the MotherDuck Wasm Client library, your application must be in cross-origin isolation mode, which is enabled when it is served with the following headers:
|
|
36
36
|
|
|
37
37
|
```
|
|
38
38
|
Cross-Origin-Opener-Policy: same-origin
|
|
@@ -45,7 +45,7 @@ Note that applications in this mode are restricted in [some](https://developer.m
|
|
|
45
45
|
|
|
46
46
|
## Dependencies
|
|
47
47
|
|
|
48
|
-
The MotherDuck
|
|
48
|
+
The MotherDuck Wasm Client library depends on `apache-arrow` as a peer dependency.
|
|
49
49
|
If you use `npm` version 7 or later to install `@motherduck/wasm-client`, then `apache-arrow` will automatically be installed, if it is not already.
|
|
50
50
|
|
|
51
51
|
If you already have `apache-arrow` installed, then `@motherduck/wasm-client` will use it, as long as it is a compatible version (`^14.0.x` at the time of this writing).
|
|
@@ -63,7 +63,7 @@ import '@motherduck/wasm-client';
|
|
|
63
63
|
|
|
64
64
|
## Usage
|
|
65
65
|
|
|
66
|
-
The MotherDuck
|
|
66
|
+
The MotherDuck Wasm Client library is written in TypeScript and exposes full TypeScript type definitions. These instructions assume you are using it from TypeScript.
|
|
67
67
|
|
|
68
68
|
Once you have installed `@motherduck/wasm-client`, you can import the main class, `MDConnection`, as follows:
|
|
69
69
|
|
|
@@ -81,25 +81,25 @@ const connection = MDConnection.create({
|
|
|
81
81
|
});
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
The `mdToken` parameter is required and should be set to a valid MotherDuck
|
|
84
|
+
The `mdToken` parameter is required and should be set to a valid MotherDuck access token. You can create a MotherDuck access token in the MotherDuck UI. For more information, see [Authenticating to MotherDuck](https://motherduck.com/docs/key-tasks/authenticating-to-motherduck/#authentication-using-an-access-token).
|
|
85
85
|
|
|
86
|
-
The `create` call returns immediately, but starts the process of loading the DuckDB
|
|
86
|
+
The `create` call returns immediately, but starts the process of loading the DuckDB Wasm assets from `https://app.motherduck.com` and starting the DuckDB Wasm worker.
|
|
87
87
|
|
|
88
|
-
This initialization process happens asynchronously. Any query
|
|
88
|
+
This initialization process happens asynchronously. Any query evaluated before initialization is complete will be queued.
|
|
89
89
|
|
|
90
|
-
To determine whether initialization is complete, call the `isInitialized` method, which returns a promise resolving to `true` when DuckDB
|
|
90
|
+
To determine whether initialization is complete, call the `isInitialized` method, which returns a promise resolving to `true` when DuckDB Wasm is initialized:
|
|
91
91
|
|
|
92
92
|
```ts
|
|
93
93
|
await connection.isInitialized();
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
Multiple connections can be created. Connections share a DuckDB
|
|
96
|
+
Multiple connections can be created. Connections share a DuckDB Wasm instance, so creating subsequent connections will not repeat the initialization process.
|
|
97
97
|
|
|
98
|
-
Queries
|
|
98
|
+
Queries evaluated on different connections happen concurrently; queries evaluated on the same connection are queued sequentially.
|
|
99
99
|
|
|
100
100
|
### Evaluating Queries
|
|
101
101
|
|
|
102
|
-
To
|
|
102
|
+
To evaluate a query, call the `evaluateQuery` method on the `connection` object:
|
|
103
103
|
|
|
104
104
|
```ts
|
|
105
105
|
try {
|
|
@@ -110,7 +110,7 @@ try {
|
|
|
110
110
|
}
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
The `
|
|
113
|
+
The `evaluateQuery` method returns a [promise](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Promises) for the result. In an [async function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/async_function), you can use the `await` syntax as above. Or, you can use the `then` and/or `catch` methods:
|
|
114
114
|
|
|
115
115
|
```ts
|
|
116
116
|
connection.evaluateQuery(sql).then((result) => {
|
|
@@ -124,12 +124,28 @@ See [Results](#results) below for the structure of the result object.
|
|
|
124
124
|
|
|
125
125
|
### Prepared Statements
|
|
126
126
|
|
|
127
|
-
To
|
|
127
|
+
To create a [prepared](https://duckdb.org/docs/api/c/prepared) [statement](https://duckdb.org/docs/api/wasm/query#prepared-statements) for later evaluation, use the `prepareQuery` method:
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
const prepareResult = await this.prepareQuery('SELECT v + ? FROM generate_series(0, 10000) AS t(v);');
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
This returns an [AsyncPreparedStatement](https://shell.duckdb.org/docs/classes/index.AsyncPreparedStatement.html), which can be evaluated later using the `send` method:
|
|
134
|
+
|
|
135
|
+
```ts
|
|
136
|
+
const arrowStream = await prepareResult.send(234);
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Note: The `query` method of the AsyncPreparedStatement should not be used, because it can lead to deadlock when combined with the MotherDuck extension.
|
|
140
|
+
|
|
141
|
+
To immediately evaluate a prepared statement, call the `evaluatePreparedStatement` method:
|
|
128
142
|
|
|
129
143
|
```ts
|
|
130
144
|
const result = await connection.evaluatePreparedStatement('SELECT v + ? FROM generate_series(0, 10000) AS t(v);', [234]);
|
|
131
145
|
```
|
|
132
146
|
|
|
147
|
+
This returns a materialized result, as described in [Results](#results) below.
|
|
148
|
+
|
|
133
149
|
### Canceling Queries
|
|
134
150
|
|
|
135
151
|
To evalute a query that can be canceled, use the `enqueueQuery` and `evaluateQueuedQuery` methods:
|
|
@@ -170,7 +186,7 @@ The query result promises returned by `evaluateQuery`, `evaluatePreparedStatemen
|
|
|
170
186
|
For convenience, "safe" variants of these three method are provided that catch this error and always resolve to a value indicating success or failure. For example:
|
|
171
187
|
|
|
172
188
|
```ts
|
|
173
|
-
const result = await connection.
|
|
189
|
+
const result = await connection.safeEvaluateQuery(sql);
|
|
174
190
|
if (result.status === 'success') {
|
|
175
191
|
console.log('rows', result.rows);
|
|
176
192
|
} else {
|
|
@@ -204,7 +220,7 @@ Some DuckDB types, such as [DATE](https://duckdb.org/docs/sql/data_types/date),
|
|
|
204
220
|
These objects all implement `toString` to return a string representation. For primitive, this representation is identical to DuckDB's string conversion (e.g. using [CAST](https://duckdb.org/docs/sql/expressions/cast.html) to VARCHAR). For nested types, the representation is equivalent to the syntax used to construct these types.
|
|
205
221
|
They also have properties exposing the underlying value. For example, the object for a DuckDB TIME has a `microseconds` property (of type `bigint`). See the TypeScript type definitions for details.
|
|
206
222
|
|
|
207
|
-
Note that these result types differ from those returned by DuckDB
|
|
223
|
+
Note that these result types differ from those returned by DuckDB Wasm without the MotherDuck Wasm Client library. The MotherDuck Wasm Client library implements custom conversion logic to preserve the full range of some types.
|
|
208
224
|
|
|
209
225
|
#### Streaming Results
|
|
210
226
|
|
|
@@ -223,6 +239,6 @@ Results of remote queries are fully materialized on the client upstream of this
|
|
|
223
239
|
So the first batch will not be returned from this API until all results have been received by the client.
|
|
224
240
|
End-to-end streaming of remote query results is on our roadmap.
|
|
225
241
|
|
|
226
|
-
### DuckDB
|
|
242
|
+
### DuckDB Wasm API
|
|
227
243
|
|
|
228
|
-
To access the underlying DuckDB
|
|
244
|
+
To access the underlying DuckDB Wasm instance, use the `getAsyncDuckDb` function. Note that this function returns (a Promise to) a singleton instance of DuckDB Wasm also used by the MotherDuck Wasm Client.
|
package/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var c=class e{constructor(){}static BIGINT={name:"BIGINT"};static BIT={name:"BIT"};static BOOLEAN={name:"BOOLEAN"};static BLOB={name:"BLOB"};static DATE={name:"DATE"};static DOUBLE={name:"DOUBLE"};static default_DECIMAL={name:"DECIMAL"};static DECIMAL(t,r){return t===void 0&&r===void 0?e.default_DECIMAL:{name:"DECIMAL",width:t,scale:r}}static ENUM={name:"ENUM"};static HUGEINT={name:"HUGEINT"};static INTEGER={name:"INTEGER"};static INTERVAL={name:"INTERVAL"};static LIST(t){return{name:"LIST",valueType:t}}static MAP(t,r){return{name:"MAP",keyType:t,valueType:r}}static REAL={name:"REAL"};static SMALLINT={name:"SMALLINT"};static SQLNULL={name:"SQLNULL"};static STRUCT(t){return{name:"STRUCT",entries:t}}static STRUCT_entry(t,r){return{key:t,valueType:r}}static TIME={name:"TIME"};static TIMESTAMP={name:"TIMESTAMP"};static TIMESTAMP_S={name:"TIMESTAMP_S"};static TIMESTAMP_MS={name:"TIMESTAMP_MS"};static TIMESTAMP_NS={name:"TIMESTAMP_NS"};static TIMESTAMP_TZ={name:"TIMESTAMP_TZ"};static TINYINT={name:"TINYINT"};static UBIGINT={name:"UBIGINT"};static UINTEGER={name:"UINTEGER"};static USMALLINT={name:"USMALLINT"};static UTINYINT={name:"UTINYINT"};static UUID={name:"UUID"};static UNION(t){return{name:"UNION",alternatives:t}}static UNION_alternative(t,r){return{tag:t,valueType:r}}static VARCHAR={name:"VARCHAR"};static VARCHAR_withLength(t){return{name:"VARCHAR",length:t}}};import*as E from"apache-arrow";import*as o from"apache-arrow";var Ze=Object.create,ke=Object.defineProperty,Xe=Object.getOwnPropertyDescriptor,et=Object.getOwnPropertyNames,tt=Object.getPrototypeOf,rt=Object.prototype.hasOwnProperty,st=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nt=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of et(t))!rt.call(e,n)&&n!==r&&ke(e,n,{get:()=>t[n],enumerable:!(s=Xe(t,n))||s.enumerable});return e},at=(e,t,r)=>(r=e!=null?Ze(tt(e)):{},nt(t||!e||!e.__esModule?ke(r,"default",{value:e,enumerable:!0}):r,e)),it=st((e,t)=>{t.exports=Worker}),ot=(e=>(e[e.UNDEFINED=0]="UNDEFINED",e[e.AUTOMATIC=1]="AUTOMATIC",e[e.READ_ONLY=2]="READ_ONLY",e[e.READ_WRITE=3]="READ_WRITE",e))(ot||{}),ye=(e=>(e[e.IDENTIFIER=0]="IDENTIFIER",e[e.NUMERIC_CONSTANT=1]="NUMERIC_CONSTANT",e[e.STRING_CONSTANT=2]="STRING_CONSTANT",e[e.OPERATOR=3]="OPERATOR",e[e.KEYWORD=4]="KEYWORD",e[e.COMMENT=5]="COMMENT",e))(ye||{}),Z=(e=>(e[e.NONE=0]="NONE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARNING=3]="WARNING",e[e.ERROR=4]="ERROR",e))(Z||{}),ct=(e=>(e[e.NONE=0]="NONE",e[e.CONNECT=1]="CONNECT",e[e.DISCONNECT=2]="DISCONNECT",e[e.OPEN=3]="OPEN",e[e.QUERY=4]="QUERY",e[e.INSTANTIATE=5]="INSTANTIATE",e))(ct||{}),ut=(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",e))(ut||{}),dt=(e=>(e[e.NONE=0]="NONE",e[e.WEB_WORKER=1]="WEB_WORKER",e[e.NODE_WORKER=2]="NODE_WORKER",e[e.BINDINGS=3]="BINDINGS",e[e.ASYNC_DUCKDB=4]="ASYNC_DUCKDB",e))(dt||{});var Re=class{constructor(e=2){this.level=e}log(e){e.level>=this.level&&console.log(e)}};var lt=(e=>(e[e.SUCCESS=0]="SUCCESS",e))(lt||{}),mt=class{constructor(e,t){this._bindings=e,this._conn=t}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 t=await this._bindings.runQuery(this._conn,e),r=E.RecordBatchReader.from(t);return console.assert(r.isSync(),"Reader is not sync"),console.assert(r.isFile(),"Reader is not file"),new E.Table(r)}async send(e){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:e});let t=await this._bindings.startPendingQuery(this._conn,e);for(;t==null;)t=await this._bindings.pollPendingQuery(this._conn);let r=new Se(this._bindings,this._conn,t),s=await E.RecordBatchReader.from(r);return console.assert(s.isAsync()),console.assert(s.isStream()),s}async cancelSent(){return await this._bindings.cancelPendingQuery(this._conn)}async getTableNames(e){return await this._bindings.getTableNames(this._conn,e)}async prepare(e){let t=await this._bindings.createPrepared(this._conn,e);return new pt(this._bindings,this._conn,t)}async insertArrowTable(e,t){let r=E.tableToIPC(e,"stream");await this.insertArrowFromIPCStream(r,t)}async insertArrowFromIPCStream(e,t){await this._bindings.insertArrowFromIPCStream(this._conn,e,t)}async insertCSVFromPath(e,t){await this._bindings.insertCSVFromPath(this._conn,e,t)}async insertJSONFromPath(e,t){await this._bindings.insertJSONFromPath(this._conn,e,t)}},Se=class{constructor(e,t,r){this.db=e,this.conn=t,this.header=r,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}},pt=class{constructor(e,t,r){this.bindings=e,this.connectionId=t,this.statementId=r}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...e){let t=await this.bindings.runPrepared(this.connectionId,this.statementId,e),r=E.RecordBatchReader.from(t);return console.assert(r.isSync()),console.assert(r.isFile()),new E.Table(r)}async send(...e){let t=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),r=new Se(this.bindings,this.connectionId,t),s=await E.RecordBatchReader.from(r);return console.assert(s.isAsync()),console.assert(s.isStream()),s}},ht=(e=>(e.CANCEL_PENDING_QUERY="CANCEL_PENDING_QUERY",e.CLOSE_PREPARED="CLOSE_PREPARED",e.COLLECT_FILE_STATISTICS="COLLECT_FILE_STATISTICS",e.CONNECT="CONNECT",e.COPY_FILE_TO_BUFFER="COPY_FILE_TO_BUFFER",e.COPY_FILE_TO_PATH="COPY_FILE_TO_PATH",e.CREATE_PREPARED="CREATE_PREPARED",e.DISCONNECT="DISCONNECT",e.DROP_FILE="DROP_FILE",e.DROP_FILES="DROP_FILES",e.EXPORT_FILE_STATISTICS="EXPORT_FILE_STATISTICS",e.FETCH_QUERY_RESULTS="FETCH_QUERY_RESULTS",e.FLUSH_FILES="FLUSH_FILES",e.GET_FEATURE_FLAGS="GET_FEATURE_FLAGS",e.GET_TABLE_NAMES="GET_TABLE_NAMES",e.GET_VERSION="GET_VERSION",e.GLOB_FILE_INFOS="GLOB_FILE_INFOS",e.INSERT_ARROW_FROM_IPC_STREAM="INSERT_ARROW_FROM_IPC_STREAM",e.INSERT_CSV_FROM_PATH="IMPORT_CSV_FROM_PATH",e.INSERT_JSON_FROM_PATH="IMPORT_JSON_FROM_PATH",e.INSTANTIATE="INSTANTIATE",e.OPEN="OPEN",e.PING="PING",e.POLL_PENDING_QUERY="POLL_PENDING_QUERY",e.REGISTER_FILE_BUFFER="REGISTER_FILE_BUFFER",e.REGISTER_FILE_HANDLE="REGISTER_FILE_HANDLE",e.REGISTER_FILE_URL="REGISTER_FILE_URL",e.RESET="RESET",e.RUN_PREPARED="RUN_PREPARED",e.RUN_QUERY="RUN_QUERY",e.SEND_PREPARED="SEND_PREPARED",e.START_PENDING_QUERY="START_PENDING_QUERY",e.TOKENIZE="TOKENIZE",e))(ht||{}),Dt=(e=>(e.CONNECTION_INFO="CONNECTION_INFO",e.ERROR="ERROR",e.FEATURE_FLAGS="FEATURE_FLAGS",e.FILE_BUFFER="FILE_BUFFER",e.FILE_INFOS="FILE_INFOS",e.FILE_SIZE="FILE_SIZE",e.FILE_STATISTICS="FILE_STATISTICS",e.INSTANTIATE_PROGRESS="INSTANTIATE_PROGRESS",e.LOG="LOG",e.OK="OK",e.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",e.QUERY_PLAN="QUERY_PLAN",e.QUERY_RESULT="QUERY_RESULT",e.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",e.QUERY_RESULT_HEADER="QUERY_RESULT_HEADER",e.QUERY_RESULT_HEADER_OR_NULL="QUERY_RESULT_HEADER_OR_NULL",e.REGISTERED_FILE="REGISTERED_FILE",e.SCRIPT_TOKENS="SCRIPT_TOKENS",e.SUCCESS="SUCCESS",e.TABLE_NAMES="TABLE_NAMES",e.VERSION_STRING="VERSION_STRING",e))(Dt||{}),u=class{constructor(e,t){this.promiseResolver=()=>{},this.promiseRejecter=()=>{},this.type=e,this.data=t,this.promise=new Promise((r,s)=>{this.promiseResolver=r,this.promiseRejecter=s})}};function J(e){switch(e.typeId){case o.Type.Binary:return{sqlType:"binary"};case o.Type.Bool:return{sqlType:"bool"};case o.Type.Date:return{sqlType:"date"};case o.Type.DateDay:return{sqlType:"date32[d]"};case o.Type.DateMillisecond:return{sqlType:"date64[ms]"};case o.Type.Decimal:{let t=e;return{sqlType:"decimal",precision:t.precision,scale:t.scale}}case o.Type.Float:return{sqlType:"float"};case o.Type.Float16:return{sqlType:"float16"};case o.Type.Float32:return{sqlType:"float32"};case o.Type.Float64:return{sqlType:"float64"};case o.Type.Int:return{sqlType:"int32"};case o.Type.Int16:return{sqlType:"int16"};case o.Type.Int32:return{sqlType:"int32"};case o.Type.Int64:return{sqlType:"int64"};case o.Type.Uint16:return{sqlType:"uint16"};case o.Type.Uint32:return{sqlType:"uint32"};case o.Type.Uint64:return{sqlType:"uint64"};case o.Type.Uint8:return{sqlType:"uint8"};case o.Type.IntervalDayTime:return{sqlType:"interval[dt]"};case o.Type.IntervalYearMonth:return{sqlType:"interval[m]"};case o.Type.List:return{sqlType:"list",valueType:J(e.valueType)};case o.Type.FixedSizeBinary:return{sqlType:"fixedsizebinary",byteWidth:e.byteWidth};case o.Type.Null:return{sqlType:"null"};case o.Type.Utf8:return{sqlType:"utf8"};case o.Type.Struct:return{sqlType:"struct",fields:e.children.map(t=>re(t.name,t.type))};case o.Type.Map:{let t=e;return{sqlType:"map",keyType:J(t.keyType),valueType:J(t.valueType)}}case o.Type.Time:return{sqlType:"time[s]"};case o.Type.TimeMicrosecond:return{sqlType:"time[us]"};case o.Type.TimeMillisecond:return{sqlType:"time[ms]"};case o.Type.TimeNanosecond:return{sqlType:"time[ns]"};case o.Type.TimeSecond:return{sqlType:"time[s]"};case o.Type.Timestamp:return{sqlType:"timestamp",timezone:e.timezone||void 0};case o.Type.TimestampSecond:return{sqlType:"timestamp[s]",timezone:e.timezone||void 0};case o.Type.TimestampMicrosecond:return{sqlType:"timestamp[us]",timezone:e.timezone||void 0};case o.Type.TimestampNanosecond:return{sqlType:"timestamp[ns]",timezone:e.timezone||void 0};case o.Type.TimestampMillisecond:return{sqlType:"timestamp[ms]",timezone:e.timezone||void 0}}throw new Error("unsupported arrow type: ".concat(e.toString()))}function re(e,t){let r=J(t);return r.name=e,r}var gt=new TextEncoder,be=class{constructor(e,t=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),t!=null&&this.attach(t)}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((t,r)=>{this._workerShutdownResolver=t})}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,t=[]){if(!this._worker){console.error("cannot send a message since the worker is not set!");return}let r=this._nextMessageId++;return this._pendingRequests.set(r,e),this._worker.postMessage({messageId:r,type:e.type,data:e.data},t),await e.promise}onMessage(e){var t;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 s=this._pendingRequests.get(r.requestId);if(!s){console.warn("unassociated response: [".concat(r.requestId,", ").concat(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,(t=Object.getOwnPropertyDescriptor(n,"stack"))!=null&&t.writable&&(n.stack=r.data.stack),s.promiseRejecter(n);return}switch(s.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"){s.promiseResolver(r.data);return}break;case"INSTANTIATE":if(this._onInstantiationProgress=[],r.type=="OK"){s.promiseResolver(r.data);return}break;case"GLOB_FILE_INFOS":if(r.type=="FILE_INFOS"){s.promiseResolver(r.data);return}break;case"GET_VERSION":if(r.type=="VERSION_STRING"){s.promiseResolver(r.data);return}break;case"GET_FEATURE_FLAGS":if(r.type=="FEATURE_FLAGS"){s.promiseResolver(r.data);return}break;case"GET_TABLE_NAMES":if(r.type=="TABLE_NAMES"){s.promiseResolver(r.data);return}break;case"TOKENIZE":if(r.type=="SCRIPT_TOKENS"){s.promiseResolver(r.data);return}break;case"COPY_FILE_TO_BUFFER":if(r.type=="FILE_BUFFER"){s.promiseResolver(r.data);return}break;case"EXPORT_FILE_STATISTICS":if(r.type=="FILE_STATISTICS"){s.promiseResolver(r.data);return}break;case"CONNECT":if(r.type=="CONNECTION_INFO"){s.promiseResolver(r.data);return}break;case"RUN_PREPARED":case"RUN_QUERY":if(r.type=="QUERY_RESULT"){s.promiseResolver(r.data);return}break;case"SEND_PREPARED":if(r.type=="QUERY_RESULT_HEADER"){s.promiseResolver(r.data);return}break;case"START_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){s.promiseResolver(r.data);return}break;case"POLL_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){s.promiseResolver(r.data);return}break;case"CANCEL_PENDING_QUERY":if(this._onInstantiationProgress=[],r.type=="SUCCESS"){s.promiseResolver(r.data);return}break;case"FETCH_QUERY_RESULTS":if(r.type=="QUERY_RESULT_CHUNK"){s.promiseResolver(r.data);return}break;case"CREATE_PREPARED":if(r.type=="PREPARED_STATEMENT_ID"){s.promiseResolver(r.data);return}break}s.promiseRejecter(new Error("unexpected response type: ".concat(r.type.toString())))}onError(e){console.error(e),console.error("error in duckdb worker: ".concat(e.message)),this._pendingRequests.clear()}onClose(){if(this._workerShutdownResolver(null),this._pendingRequests.size!=0){console.warn("worker terminated with ".concat(this._pendingRequests.size," pending requests"));return}this._pendingRequests.clear()}async reset(){let e=new u("RESET",null);return await this.postTask(e)}async ping(){let e=new u("PING",null);await this.postTask(e)}async dropFile(e){let t=new u("DROP_FILE",e);return await this.postTask(t)}async dropFiles(){let e=new u("DROP_FILES",null);return await this.postTask(e)}async flushFiles(){let e=new u("FLUSH_FILES",null);return await this.postTask(e)}async instantiate(e,t=null,r=s=>{}){this._onInstantiationProgress.push(r);let s=new u("INSTANTIATE",[e,t]);return await this.postTask(s)}async getVersion(){let e=new u("GET_VERSION",null);return await this.postTask(e)}async getFeatureFlags(){let e=new u("GET_FEATURE_FLAGS",null);return await this.postTask(e)}async open(e){let t=new u("OPEN",e);await this.postTask(t)}async tokenize(e){let t=new u("TOKENIZE",e);return await this.postTask(t)}async connectInternal(){let e=new u("CONNECT",null);return await this.postTask(e)}async connect(){let e=await this.connectInternal();return new mt(this,e)}async disconnect(e){let t=new u("DISCONNECT",e);await this.postTask(t)}async runQuery(e,t){let r=new u("RUN_QUERY",[e,t]);return await this.postTask(r)}async startPendingQuery(e,t){let r=new u("START_PENDING_QUERY",[e,t]);return await this.postTask(r)}async pollPendingQuery(e){let t=new u("POLL_PENDING_QUERY",e);return await this.postTask(t)}async cancelPendingQuery(e){let t=new u("CANCEL_PENDING_QUERY",e);return await this.postTask(t)}async fetchQueryResults(e){let t=new u("FETCH_QUERY_RESULTS",e);return await this.postTask(t)}async getTableNames(e,t){let r=new u("GET_TABLE_NAMES",[e,t]);return await this.postTask(r)}async createPrepared(e,t){let r=new u("CREATE_PREPARED",[e,t]);return await this.postTask(r)}async closePrepared(e,t){let r=new u("CLOSE_PREPARED",[e,t]);await this.postTask(r)}async runPrepared(e,t,r){let s=new u("RUN_PREPARED",[e,t,r]);return await this.postTask(s)}async sendPrepared(e,t,r){let s=new u("SEND_PREPARED",[e,t,r]);return await this.postTask(s)}async globFiles(e){let t=new u("GLOB_FILE_INFOS",e);return await this.postTask(t)}async registerFileText(e,t){let r=gt.encode(t);await this.registerFileBuffer(e,r)}async registerFileURL(e,t,r,s){t===void 0&&(t=e);let n=new u("REGISTER_FILE_URL",[e,t,r,s]);await this.postTask(n)}async registerEmptyFileBuffer(e){}async registerFileBuffer(e,t){let r=new u("REGISTER_FILE_BUFFER",[e,t]);await this.postTask(r,[t.buffer])}async registerFileHandle(e,t,r,s){let n=new u("REGISTER_FILE_HANDLE",[e,t,r,s]);await this.postTask(n,[])}async collectFileStatistics(e,t){let r=new u("COLLECT_FILE_STATISTICS",[e,t]);await this.postTask(r,[])}async exportFileStatistics(e){let t=new u("EXPORT_FILE_STATISTICS",e);return await this.postTask(t,[])}async copyFileToBuffer(e){let t=new u("COPY_FILE_TO_BUFFER",e);return await this.postTask(t)}async copyFileToPath(e,t){let r=new u("COPY_FILE_TO_PATH",[e,t]);await this.postTask(r)}async insertArrowFromIPCStream(e,t,r){if(t.length==0)return;let s=new u("INSERT_ARROW_FROM_IPC_STREAM",[e,t,r]);await this.postTask(s,[t.buffer])}async insertCSVFromPath(e,t,r){if(r.columns!==void 0){let n=[];for(let a in r.columns){let i=r.columns[a];n.push(re(a,i))}r.columnsFlat=n,delete r.columns}let s=new u("IMPORT_CSV_FROM_PATH",[e,t,r]);await this.postTask(s)}async insertJSONFromPath(e,t,r){if(r.columns!==void 0){let n=[];for(let a in r.columns){let i=r.columns[a];n.push(re(a,i))}r.columnsFlat=n,delete r.columns}let s=new u("IMPORT_JSON_FROM_PATH",[e,t,r]);await this.postTask(s)}};var se={name:"@duckdb/duckdb-wasm",version:"1.11.0",description:"DuckDB powered by WebAssembly",license:"MIT",repository:{type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},keywords:["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],dependencies:{"apache-arrow":"^15.0.0"},devDependencies:{"@types/emscripten":"^1.39.10","@types/jasmine":"^5.1.4","@typescript-eslint/eslint-plugin":"^6.21.0","@typescript-eslint/parser":"^6.21.0",esbuild:"^0.20.1",eslint:"^8.56.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.34.0","fast-glob":"^3.3.2",jasmine:"^5.1.0","jasmine-core":"^5.1.2","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.11.0",karma:"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-coverage":"^2.2.1","karma-firefox-launcher":"^2.1.3","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.1.0","karma-sourcemap-loader":"^0.4.0","karma-spec-reporter":"^0.0.36","make-dir":"^4.0.0",nyc:"^15.1.0",prettier:"^3.2.5",puppeteer:"^21.7.0",rimraf:"^5.0.5",s3rver:"^3.7.1",typedoc:"^0.25.7",typescript:"^5.3.3","wasm-feature-detect":"^1.6.1","web-worker":"^1.2.0"},scripts:{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly",docs:"typedoc",report:"node ./coverage.mjs","test:node":"node --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node ../../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/tests-*","!dist/duckdb-browser-mvp.worker.js.map","!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"}}},Br=se.name,Ar=se.version,ne=se.version.split("."),Or=ne[0],Fr=ne[1],Lr=ne[2];var Cr=at(it());function Tt(){let e=new TextDecoder;return t=>(typeof SharedArrayBuffer<"u"&&t.buffer instanceof SharedArrayBuffer&&(t=new Uint8Array(t)),e.decode(t))}var Mr=Tt(),ae=(e=>(e[e.BUFFER=0]="BUFFER",e[e.NODE_FS=1]="NODE_FS",e[e.BROWSER_FILEREADER=2]="BROWSER_FILEREADER",e[e.BROWSER_FSACCESS=3]="BROWSER_FSACCESS",e[e.HTTP=4]="HTTP",e[e.S3=5]="S3",e))(ae||{});var _=class{singleValue(){let{columnCount:t,rowCount:r}=this;if(t===0)throw Error("no column data");if(r===0)throw Error("no rows");if(t>1)throw Error("more than one column");if(r>1)throw Error("more than one row");return this.value(0,0)}columnNames(){let{columnCount:t}=this,r=[];for(let s=0;s<t;s++)r.push(this.columnName(s));return r}deduplicatedColumnNames(){let{columnCount:t}=this,r=[],s={};for(let n=0;n<t;n++){let a=this.columnName(n),i=(s[a]||0)+1;s[a]=i,i>1?r.push(`${a}:${i-1}`):r.push(a)}return r}toRows(){let{rowCount:t,columnCount:r}=this,s=this.deduplicatedColumnNames(),n=[];for(let a=0;a<t;a++){let i={};for(let l=0;l<r;l++)i[s[l]]=this.value(l,a);n.push(i)}return n}};import{DateUnit as Ie,IntervalUnit as ie,Precision as oe,TimeUnit as R,Type as m,UnionMode as _e}from"apache-arrow";function I(e){switch(e.typeId){case m.Null:return c.SQLNULL;case m.Int:{let{isSigned:t,bitWidth:r}=e;if(t)switch(r){case 8:return c.TINYINT;case 16:return c.SMALLINT;case 32:return c.INTEGER;case 64:return c.BIGINT;default:throw Error(`unexpected integer bit width: ${r}`)}else switch(r){case 8:return c.UTINYINT;case 16:return c.USMALLINT;case 32:return c.UINTEGER;case 64:return c.UBIGINT;default:throw Error(`unexpected integer bit width: ${r}`)}}case m.Float:{let{precision:t}=e;switch(t){case oe.HALF:throw Error("DuckDB does not support half-precision floats");case oe.SINGLE:return c.REAL;case oe.DOUBLE:return c.DOUBLE;default:throw Error(`unexpected precision: ${t}`)}}case m.Binary:return c.BLOB;case m.Utf8:return c.VARCHAR;case m.Bool:return c.BOOLEAN;case m.Decimal:{let{precision:t,scale:r}=e;return(t==null||t===18)&&(r==null||r===3)?c.DECIMAL():c.DECIMAL(t,r)}case m.Date:{let{unit:t}=e;switch(t){case Ie.DAY:return c.DATE;case Ie.MILLISECOND:throw Error("DuckDB does not support millisecond-unit dates");default:throw Error(`unexpected date unit: ${t}`)}}case m.Time:{let{unit:t}=e;switch(t){case R.SECOND:throw Error("DuckDB does not support second-unit times");case R.MILLISECOND:throw Error("DuckDB does not support millisecond-unit times");case R.MICROSECOND:return c.TIME;case R.NANOSECOND:throw Error("DuckDB does not support nanosecond-unit times");default:throw Error(`unexpected time unit: ${t}`)}}case m.Timestamp:{let{unit:t,timezone:r}=e;switch(t){case R.SECOND:if(r)throw Error("DuckDB does not support second-unit timestamps with timezone");return c.TIMESTAMP_S;case R.MILLISECOND:if(r)throw Error("DuckDB does not support millisecond-unit timestamps with timezone");return c.TIMESTAMP_MS;case R.MICROSECOND:return r?c.TIMESTAMP_TZ:c.TIMESTAMP;case R.NANOSECOND:if(r)throw Error("DuckDB does not support nanosecond-unit timestamps with timezone");return c.TIMESTAMP_NS;default:throw Error(`unexpected time unit: ${t}`)}}case m.Interval:{let{unit:t}=e;switch(t){case ie.YEAR_MONTH:throw Error("DuckDB does not support year-month intervals");case ie.DAY_TIME:throw Error("DuckDB does not support day-time intervals");case ie.MONTH_DAY_NANO:return c.INTERVAL;default:throw Error(`unexpected interval unit: ${t}`)}}case m.List:{let{valueType:t}=e;return c.LIST(I(t))}case m.Struct:{let{children:t}=e,r=t.map(s=>({key:s.name,valueType:I(s.type)}));return c.STRUCT(r)}case m.Union:{let{mode:t}=e;switch(t){case _e.Dense:throw Error("DuckDB does not support dense unions");case _e.Sparse:{let r=e.children.map(s=>({tag:s.name,valueType:I(s.type)}));return c.UNION(r)}default:throw Error(`unexpected union mode: ${t}`)}}case m.FixedSizeBinary:throw Error("DuckDB does not support fixed-size binary");case m.FixedSizeList:throw Error("DuckDB does not support fixed-size lists");case m.Map:{let{keyType:t,valueType:r}=e;return c.MAP(I(t),I(r))}case m.Dictionary:return c.ENUM;default:throw Error(`unexpected type id: ${e.typeId}`)}}import{DateUnit as Ce,IntervalUnit as he,Precision as De,TimeUnit as b,Type as p,UnionMode as Me}from"apache-arrow";function fe(e){let t="";for(let r of e)r<=31||r===34||r===39||r>=127?t+=`\\x${r.toString(16).toUpperCase().padStart(2,"0")}`:t+=String.fromCharCode(r);return t}var d=class{toString(){return this.toDuckDBString()}};var O=class extends d{constructor(r){super();this.bytes=r}toDuckDBString(){return fe(this.bytes)}};var ue=BigInt(1e6),Et=BigInt(1e3),kt=BigInt(1e3),we=BigInt(60),Ne=BigInt(60),X=BigInt(864e8),yt=BigInt("-9223372036854775807"),Rt=BigInt("9223372036854775807");function St(e,t,r){let s=String(Math.abs(e)).padStart(4,"0"),n=String(t).padStart(2,"0"),a=String(r).padStart(2,"0");return`${s}-${n}-${a}${e<0?" (BC)":""}`}function de(e){let t=Math.abs(e),r=e<0?-1:1,s=Math.floor(t/146097),n=r*s*400,a=t%146097,i=r*a*864e5,l=new Date(i),h=n+l.getUTCFullYear();h<0&&h--;let T=l.getUTCMonth()+1,A=l.getUTCDate();return St(h,T,A)}function bt(e,t,r,s){let n=String(e).padStart(2,"0"),a=String(t).padStart(2,"0"),i=String(r).padStart(2,"0"),l=String(s).padStart(6,"0").replace(/0+$/,"");return`${n}:${a}:${i}${l.length>0?`.${l}`:""}`}function Be(e){let t=e%ue,r=e/ue,s=r%we,n=r/we,a=n%Ne,i=n/Ne;return bt(i,a,s,t)}function le(e){let t=e<0?e+X:e;return Be(t)}function It(e){let t=e<0,r=t?-e:e,s=Be(r);return t?`-${s}`:s}function _t(e,t,r){let s=de(Number(e)),n=le(t),a=r?` ${r}`:"";return`${s} ${n}${a}`}function F(e,t){if(e===yt)return"-infinity";if(e===Rt)return"infinity";let r=e/X,s=e%X;return s<0&&(r--,s+=X),_t(r,s,t)}function Ae(e,t){return F(e*ue,t)}function Oe(e,t){return F(e*Et,t)}function Fe(e,t){return F(e/kt,t)}function ce(e,t){return`${e} ${t}${e!==1?"s":""}`}function Le(e,t,r){let s=[];if(e!==0){let n=e<0?-1:1,a=Math.abs(e),i=Math.floor(a/12),l=n*i,h=n*(a-i*12);l!==0&&s.push(ce(l,"year")),h!==0&&s.push(ce(h,"month"))}return t!==0&&s.push(ce(t,"day")),r!==BigInt(0)&&s.push(It(r)),s.length>0?s.join(" "):"00:00:00"}var L=class extends d{constructor(r){super();this.days=r}toDuckDBString(){return de(this.days)}};function ft(e){return new Intl.NumberFormat(e,{useGrouping:!1}).formatToParts(.1).find(r=>r.type==="decimal")?.value??"."}var me={};function wt(e){let t=JSON.stringify(e);if(t in me)return me[t];let r=ft(e);return me[t]=r,r}function Nt(e,t){if(e){let{minimumFractionDigits:r,maximumFractionDigits:s,...n}=e.options??{};return t.toLocaleString(e?.locales,n)}return String(t)}function Bt(e,t,r){let s=String(t).padStart(r,"0");if(!e)return s;let n=e?.options?.minimumFractionDigits??0,a=e?.options?.maximumFractionDigits??20;return s.padEnd(n,"0").slice(0,a)}function pe(e,t,r){if(t>0){let s=BigInt(10)**BigInt(t),n=e<0?-e:e,a=e<0?"-":"",i=n/s,l=Nt(r,i),h=n%s,T=Bt(r,h,t),A=r?wt(r.locales):".";return`${a}${l}${A}${T}`}return r?e.toLocaleString(r?.locales,r?.options):String(e)}var C=class extends d{constructor(r,s){super();this.scaledValue=r,this.scale=s}toDuckDBString(){return pe(this.scaledValue,this.scale)}toLocaleString(r,s){return pe(this.scaledValue,this.scale,{locales:r,options:s})}};var M=class extends d{constructor(r,s,n){super();this.months=r,this.days=s,this.microseconds=n}toDuckDBString(){return Le(this.months,this.days,this.microseconds)}};function S(e){return e==null?"NULL":typeof e=="string"?`'${e.replace("'","''")}'`:String(e)}var P=class extends d{constructor(r){super();this.values=r}toDuckDBString(){return`[${this.values.map(S).join(", ")}]`}};var v=class extends d{constructor(r){super();this.entries=r}toDuckDBString(){return`{${this.entries.map(({key:s,value:n})=>`${S(s)}: ${S(n)}`).join(", ")}}`}};var U=class extends d{constructor(r){super();this.entries=r}toDuckDBString(){return`{${this.entries.map(({key:s,value:n})=>`${S(s)}: ${S(n)}`).join(", ")}}`}};var x=class extends d{constructor(r){super();this.microseconds=r}toDuckDBString(){return le(this.microseconds)}};var Q=class extends d{constructor(r,s){super();this.microseconds=r,this.timezone=s}toDuckDBString(){return F(this.microseconds,this.timezone)}};var q=class extends d{constructor(r){super();this.milliseconds=r}toDuckDBString(){return Oe(this.milliseconds)}};var j=class extends d{constructor(r){super();this.nanoseconds=r}toDuckDBString(){return Fe(this.nanoseconds)}};var V=class extends d{constructor(r){super();this.seconds=r}toDuckDBString(){return Ae(this.seconds)}};var At=new TextDecoder;function Ot(e,t,r){return e.getValid(t)?r(e,t):null}function D(e){return(t,r)=>Ot(t,r,e)}function Ft(e,t,r,s){return Array.from({length:r-t}).map((n,a)=>s(e,t+a))}function Pe(e){return new BigInt64Array(e.values.buffer,e.values.byteOffset,e.values.length/2)}function G(e,t){return Pe(e)[t]}function Lt(e,t){let r=Pe(e),s=r[t*2];return(r[t*2+1]<<BigInt(64))+(s&BigInt.asUintN(64,BigInt(-1)))}function ve(e,t){let{values:r,valueOffsets:s}=e,n=s[t],a=s[t+1];return r.subarray(n,a)}function Ct(e,t){return null}function Mt(e,t){return e.values[t]}var k=D(Mt);function Pt(e,t){return new O(ve(e,t))}var vt=D(Pt);function Ut(e,t){return At.decode(ve(e,t))}var xt=D(Ut);function Qt(e,t){let r=e.offset+t;return(e.values[r>>3]&1<<r%8)!==0}var qt=D(Qt);function jt(e,t){return new C(Lt(e,t),e.type.scale)}var Vt=D(jt);function Gt(e,t){return new L(e.values[t])}var Wt=D(Gt);function Yt(e,t){return new x(e.values[t])}var $t=D(Yt);function Ht(e,t){return new V(G(e,t))}var zt=D(Ht);function Kt(e,t){return new q(G(e,t))}var Jt=D(Kt);function Zt(e,t){return new Q(G(e,t),e.type.timezone)}var Xt=D(Zt);function er(e,t){return new j(G(e,t))}var tr=D(er);function rr(e,t){return new M(e.values[t*4],e.values[t*4+1],G(e,t*2+1)/BigInt(1e3))}var sr=D(rr);function nr(e,t){let{children:r,valueOffsets:s}=e,n=s[t],a=s[t+1];return new P(pr(r[0],n,a))}var ar=D(nr);function ir(e,t){let r=[],{children:s,type:n}=e,a=n.children;for(let i=0;i<s.length;i++){let l=s[i],h=a[i].name,T=f(l,t);r.push({key:h,value:T})}return new U(r)}var or=D(ir);function cr(e,t){let{children:r,typeIds:s}=e,n=s[t],a=e.type.typeIdToChildIndex[n],i=r[a];return f(i,t)}function ur(e,t){let r=[],{children:s,valueOffsets:n}=e,a=n[t],i=n[t+1],[l,h]=s[0].children;for(let T=a;T<i;T++)r.push({key:f(l,T),value:f(h,T)});return new v(r)}var dr=D(ur);function lr(e,t){return e.dictionary&&e.dictionary.length>0?e.dictionary.get(e.values[t]):e.values[t]}var mr=D(lr);function Ue(e){switch(e.typeId){case p.Null:return Ct;case p.Int:{let{isSigned:t,bitWidth:r}=e;if(t)switch(r){case 8:return k;case 16:return k;case 32:return k;case 64:return k;default:throw Error(`unexpected integer bit width: ${r}`)}else switch(r){case 8:return k;case 16:return k;case 32:return k;case 64:return k;default:throw Error(`unexpected integer bit width: ${r}`)}}case p.Float:{let{precision:t}=e;switch(t){case De.HALF:throw Error("DuckDB does not support half-precision floats");case De.SINGLE:return k;case De.DOUBLE:return k;default:throw Error(`unexpected precision: ${t}`)}}case p.Binary:return vt;case p.Utf8:return xt;case p.Bool:return qt;case p.Decimal:return Vt;case p.Date:{let{unit:t}=e;switch(t){case Ce.DAY:return Wt;case Ce.MILLISECOND:throw Error("DuckDB does not support millisecond-unit dates");default:throw Error(`unexpected date unit: ${t}`)}}case p.Time:{let{unit:t}=e;switch(t){case b.SECOND:throw Error("DuckDB does not support second-unit times");case b.MILLISECOND:throw Error("DuckDB does not support millisecond-unit times");case b.MICROSECOND:return $t;case b.NANOSECOND:throw Error("DuckDB does not support nanosecond-unit times");default:throw Error(`unexpected time unit: ${t}`)}}case p.Timestamp:{let{unit:t,timezone:r}=e;switch(t){case b.SECOND:if(r)throw Error("DuckDB does not support second-unit timestamps with time zone");return zt;case b.MILLISECOND:if(r)throw Error("DuckDB does not support millisecond-unit timestamps with time zone");return Jt;case b.MICROSECOND:return Xt;case b.NANOSECOND:if(r)throw Error("DuckDB does not support nanosecond-unit timestamps with time zone");return tr;default:throw Error(`unexpected time unit: ${t}`)}}case p.Interval:{let{unit:t}=e;switch(t){case he.YEAR_MONTH:throw Error("DuckDB does not support year-month intervals");case he.DAY_TIME:throw Error("DuckDB does not support day-time intervals");case he.MONTH_DAY_NANO:return sr;default:throw Error(`unexpected interval unit: ${t}`)}}case p.List:return ar;case p.Struct:return or;case p.Union:{let{mode:t}=e;switch(t){case Me.Dense:throw Error("DuckDB does not support dense unions");case Me.Sparse:return cr;default:throw Error(`unexpected union mode: ${t}`)}}case p.FixedSizeBinary:throw Error("DuckDB does not support fixed-size binary");case p.FixedSizeList:throw Error("DuckDB does not support fixed-size lists");case p.Map:return dr;case p.Dictionary:return mr;default:throw Error(`unexpected type id: ${e.typeId}`)}}function f(e,t){return Ue(e.type)(e,t)}function pr(e,t,r){let s=Ue(e.type);return Ft(e,t,r,s)}var ee=class extends _{constructor(r){super();this.recordBatch=r}get columnCount(){return this.recordBatch.schema.fields.length}get rowCount(){return this.recordBatch.data.length}columnName(r){return this.recordBatch.schema.fields[r].name}columnType(r){let s=this.recordBatch.schema.fields[r];return I(s.type)}value(r,s){let n=this.recordBatch.data.children[r];return f(n,s)}};var ge=Object.freeze({done:!0,value:void 0}),w=class{constructor(t){this.recordBatchIterator=t}async next(){let{done:t,value:r}=await this.recordBatchIterator.next();return r?{done:!!t,value:new ee(r)}:ge}async return(t){return this.recordBatchIterator.return&&await this.recordBatchIterator.return(),t?{done:!0,value:t}:ge}async throw(t){return this.recordBatchIterator.throw&&await this.recordBatchIterator.throw(t),ge}[Symbol.asyncIterator](){return this}};var N=class extends _{constructor(r){super();this.iteratorDone=!1;this.totalRowsRead=0;this.batches=[];this.batchSizeRuns=[];this.iterator=r}get columnCount(){return this.batches.length===0?0:this.batches[0].columnCount}get rowCount(){return this.totalRowsRead}columnName(r){if(this.batches.length===0)throw Error("no column data");return this.batches[0].columnName(r)}columnType(r){if(this.batches.length===0)throw Error("no column data");return this.batches[0].columnType(r)}value(r,s){if(this.totalRowsRead===0)throw Error("no data");let n=0,a=s;for(let i of this.batchSizeRuns){if(a<i.rowCount){n+=Math.floor(a/i.batchSize);let l=a%i.batchSize;return this.batches[n].value(r,l)}n+=i.batchCount,a-=i.rowCount}throw Error(`Row index ${s} requested, but only ${this.totalRowsRead} row have been read so far.`)}get done(){return this.iteratorDone}async readAll(){return this.read()}async readUntil(r){return this.read(r)}async read(r){for(;!(this.iteratorDone||r!==void 0&&this.totalRowsRead>=r);){let{value:s,done:n}=await this.iterator.next();s&&(this.updateBatchSizeRuns(s),this.batches.push(s),this.totalRowsRead+=s.rowCount),n&&(this.iteratorDone=n)}}updateBatchSizeRuns(r){if(this.batchSizeRuns.length>0){let s=this.batchSizeRuns[this.batchSizeRuns.length-1];if(s.batchSize===r.rowCount){s.batchCount+=1,s.rowCount+=s.batchSize;return}}this.batchSizeRuns.push({batchCount:1,batchSize:r.rowCount,rowCount:r.rowCount})}};var B=class{constructor(t,r,s){this.connection=null;this.deferredConnection=t,this.query=r,this.args=s}async run(){let t=performance.now(),r=await this.sendQuery(),s=new w(r),n=new N(s);await n.readAll();let a=performance.now();return{type:"materialized",startTimeMs:t,endTimeMs:a,data:n}}async cancel(){return(this.connection||await this.getConnection()).cancelSent()}async getConnection(){return this.connection=await this.deferredConnection,this.connection}async sendQuery(){let t=this.connection||await this.getConnection();return this.args&&this.args?.length>0?(await t.prepare(this.query)).send(...this.args):t.send(this.query)}};var W=class{constructor(t,r,s){this.connection=null;this.deferredConnection=t,this.query=r,this.args=s}async run(){let t=await this.sendQuery(),r=new w(t),s=new N(r);return{type:"streaming",arrowStream:t,dataStream:r,dataReader:s}}async cancel(){return(this.connection||await this.getConnection()).cancelSent()}async getConnection(){return this.connection=await this.deferredConnection,this.connection}async sendQuery(){let t=this.connection||await this.getConnection();return this.args&&this.args?.length>0?(await t.prepare(this.query)).send(this.args):t.send(this.query)}};function xe(){throw new Error("should never be called")}function Qe(){let e=xe,t=xe;return{promise:new Promise((s,n)=>{e=s,t=n}),resolve:e,reject:t}}var te=class{constructor(t){this.nextTaskId=1;this.queuedTaskIds=[];this.queuedTasksById={};this.processingQueue=!1;this.logSink=t}incompleteTaskCount(){let t=0;for(let r of this.queuedTaskIds){let s=this.queuedTasksById[r];s&&(s.state===0||s.state===1)&&t++}return t}enqueueTask(t){let r=this.createTaskId();return this.logDebug(`enqueueTask: creating task id = ${r}`),this.addQueuedTask({id:r,task:t,state:0,deferred:Qe(),cancelled:!1}),this.scheduleProcessQueueIfNeeded(),r}async cancelTask(t,r){this.logDebug(`cancelTask(${t}): called`);let s=this.queuedTasksById[t];if(!s)throw new Error(`Task with id ${t} not found`);switch(s.state){case 0:return s.cancelled?this.logDebug(`cancelTask(${t}): cancelling pending task (already cancelled)`):(this.logDebug(`cancelTask(${t}): cancelling pending task`),s.cancelled=!0,s.deferred.reject(new Error(r??"pending task cancelled")),this.scheduleProcessQueueIfNeeded()),!0;case 1:return this.logDebug(`cancelTask(${t}): cancelling running task`),s.cancelled=!0,s.task.cancel();case 2:return this.logDebug(`cancelTask(${t}): can't cancel resolved task`),!1;case 3:return this.logDebug(`cancelTask(${t}): can't cancel rejected task`),!1;default:throw s.state,new Error("unreachable")}}taskResult(t){this.logDebug(`taskResults(${t}): called`);let r=this.queuedTasksById[t];if(!r)throw new Error(`Task with id ${t} not found`);return r.deferred.promise}logDebug(t){this.logSink&&this.logSink.debug(t)}logWarn(t){this.logSink&&this.logSink.warn(t)}createTaskId(){return`t${this.nextTaskId++}`}addQueuedTask(t){this.queuedTaskIds.push(t.id),this.queuedTasksById[t.id]=t}scheduleProcessQueueIfNeeded(){this.processingQueue?this.logDebug("scheduleProcessQueueIfNeeded: processQueue already scheduled"):(this.logDebug("scheduleProcessQueueIfNeeded: scheduling processQueue"),this.processingQueue=!0,setTimeout(()=>{this.processQueue(),this.processingQueue=!1},0))}processQueue(){this.logDebug("processQueue: processing started");let t;do t=this.processFirstQueuedTask();while(t);this.logDebug("processQueue: processing completed")}processFirstQueuedTask(){if(this.queuedTaskIds.length===0)return this.logDebug("processFirstQueuedTask: queue empty"),!1;let t=this.queuedTaskIds[0];this.logDebug(`processFirstQueuedTask: processing task ${t}`);let r=this.queuedTasksById[t];if(!r)return this.logWarn(`processFirstQueuedTask: task ${t} not found in map`),this.queuedTaskIds.shift(),!0;switch(r.state){case 0:return r.cancelled?(this.logDebug(`processFirstQueuedTask: removing cancelled pending task ${t} from queue`),this.queuedTaskIds.shift(),delete this.queuedTasksById[r.id],!0):(this.logDebug(`processFirstQueuedTask: running pending task ${t}`),r.state=1,r.task.run().then(s=>{this.logDebug(`processFirstQueuedTask: task ${t} resolved`),r.state=2,r.deferred.resolve(s)}).catch(s=>{this.logDebug(`processFirstQueuedTask: task ${t} rejected`),r.state=3,r.deferred.reject(s)}).finally(()=>{this.scheduleProcessQueueIfNeeded()}),!1);case 1:return this.logDebug(`processFirstQueuedTask: task ${t} at front of queue is already running`),!1;case 2:case 3:return this.logDebug(`processFirstQueuedTask: task ${t} at front of queue is completed, removing from queue`),this.queuedTaskIds.shift(),delete this.queuedTasksById[r.id],!0;default:throw r.state,new Error("unreachable")}}};var Te="CatalogChangeEvent",Y=null;async function Ge(e){let r=await(await $(e)).connect();return e.skipWelcomePack||await r.query("PRAGMA MD_USE_DEFAULT"),r}async function $(e){return Y||(Y=gr(e),Y)}function hr(e){return e?e.endsWith("/")?e:`${e}/`:"https://app.motherduck.com/"}async function Dr(e,t){let r=We(t),s=`${e}${r}${r.length>0?"/":""}`,n=`${s}duckdb-assets.json`,i=await(await fetch(n)).json();return i.coi&&(i.coi.mainModule=s+i.coi.mainModule,i.coi.mainWorker=s+i.coi.mainWorker,i.coi.pthreadWorker=s+i.coi.pthreadWorker),i.mvp&&(i.mvp.mainModule=s+i.mvp.mainModule,i.mvp.mainWorker=s+i.mvp.mainWorker),i.eh&&(i.eh.mainModule=s+i.eh.mainModule,i.eh.mainWorker=s+i.eh.mainWorker),i}function qe(e,t){return URL.createObjectURL(new Blob([`importScripts("${t}");`],{type:"text/javascript"}))}async function gr(e){let t=await Rr(),r=hr(e.duckDBAssetsURLPrefix),s=e.version||await kr(r),n=await Dr(r,s),a=e.useDuckDBWasmCOI?n.coi:n.eh;if(!a)throw new Error("Could not find DuckDB WASM asset URLs in duckdb-assets.json");let i=/^https?:\/\//.test(r),l=i?qe(r,a.mainWorker):a.mainWorker,h=i&&a.pthreadWorker?qe(r,a.pthreadWorker):a.pthreadWorker,T=new Worker(l);T.addEventListener("message",g=>{g?.data?.type==="MD_EVENT"&&(g.data.name===Te?document.dispatchEvent(new CustomEvent(Te,{detail:g.data})):console.error("Received unknown event",g.data))}),t||T.addEventListener("message",g=>{if(g&&g.data&&g.data.type==="Initialize"){let K=new Worker(g.data.workerUrl);URL.revokeObjectURL(g.data.workerUrl),K.postMessage(g.data,[g.data.port])}});let A=e.enableDebugLogging?Z.INFO:Z.WARNING,Ke=new Re(A),H=new be(Ke,T);await H.instantiate(a.mainModule,h),i&&(URL.revokeObjectURL(l),h&&URL.revokeObjectURL(h));let y=await H.connect();await yr(y,r,s),await y.query("LOAD icu;");let z=new URL(e.mdServerURL||"https://api.motherduck.com");await y.query(`SET motherduck_host='${z.hostname}';`),z.port&&await y.query(`SET motherduck_port='${z.port}';`),z.protocol==="http:"&&await y.query("SET motherduck_use_tls=false;"),await y.query(`SET motherduck_token='${e.mdToken}';`);let Ee=!1;for(let g=0;g<6e3;++g){if(await Tr(y)){Ee=!0;break}await new Promise(K=>setTimeout(K,10))}if(!Ee)throw new Error("Could not initialize worker after 1 minute.");let Je=e.enableDebugLogging?"debug":"error";return await y.query(`SET motherduck_log_level='${Je}';`),Y=H,H}async function Tr(e){return(await e.query("from MD_IS_NETWORK_READY();")).toArray()[0].Success}var Er="0.10-plus",je="app.motherduck.com",Ve="app.staging.motherduck.com";async function kr(e){let t=e.startsWith(`https://${je}`),r=e.startsWith(`https://${Ve}`);return t||r?(await(await fetch(`${e}duckdb_version_range/${Er}/manifest`)).json())[r?Ve:je]:(await(await fetch(`${e}version`)).json()).version}function We(e){return!e||e.startsWith("DEV-")?"":e}async function yr(e,t,r){let s=We(r),n=t==="/"?`${window.origin}${s.length>0?"/":""}`:t;await e.query([`SET custom_extension_repository="${n}${s}${s.length>0?"/":""}duckdb-wasm";`,"LOAD motherduck;","RESET custom_extension_repository;"].join(""))}async function Rr(){return new Promise(e=>{let t=URL.createObjectURL(new Blob(["self.postMessage({ canCreateWorker: !!self.Worker });"],{type:"application/javascript"})),r=new Worker(t);URL.revokeObjectURL(t),r.addEventListener("message",s);function s(n){r.removeEventListener("message",s),r.terminate(),e(n.data.canCreateWorker)}})}function Ye(e){let t=/^[^{]*({.*})/.exec(e);if(t){let r=t[1];try{let s=JSON.parse(r);if(s.message)return s.message}catch{return e}}return e}function Sr(e){return typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"}function $e(e){if(Sr(e))return e.message;try{return JSON.stringify(e)}catch{return String(e)}}var br=0;function Ir(){return`MDConnection_${br++}`}var He=class e{static{this.idMap={}}constructor(t,r,s){this.params=t,this.deferredDdbConnection=r,this.id=s,this.sequencer=new te(t.logSink)}static create(t){let r=Ir(),s=Ge(t),n=new e(t,s,r);return this.idMap[r]=n,n}async isInitialized(){return await this.deferredDdbConnection,!0}static getById(t){return this.idMap[t]}async tokenize(t){return(await this.deferredDdbConnection).bindings.tokenize(t)}incompleteQueryCount(){return this.sequencer.incompleteTaskCount()}enqueueQuery(t,r){return this.sequencer.enqueueTask(new B(this.deferredDdbConnection,t,r))}async safeEvaluateQuery(t){try{return{status:"success",result:await this.evaluateQuery(t)}}catch(r){return{status:"error",err:r}}}async safeEvaluatePreparedStatement(t,...r){try{return{status:"success",result:await this.evaluatePreparedStatement(t,r)}}catch(s){return{status:"error",err:s}}}async safeEvaluateStreamingQuery(t){try{return{status:"success",result:await this.evaluateStreamingQuery(t)}}catch(r){return{status:"error",err:r}}}async safeEvaluateStreamingPreparedStatement(t,r){try{return{status:"success",result:await this.evaluateStreamingPreparedStatement(t,r)}}catch(s){return{status:"error",err:s}}}async safeEvaluateQueuedQuery(t){try{return{status:"success",result:await this.evaluateQueuedQuery(t)}}catch(r){return{status:"error",err:r}}}async evaluateQuery(t){return this.evaluateExclusive(new B(this.deferredDdbConnection,t))}async evaluatePreparedStatement(t,r){return this.evaluateExclusive(new B(this.deferredDdbConnection,t,r))}async evaluateStreamingQuery(t){return this.evaluateExclusive(new W(this.deferredDdbConnection,t,void 0))}async evaluateStreamingPreparedStatement(t,r){return this.evaluateExclusive(new W(this.deferredDdbConnection,t,r))}async evaluateExclusive(t){let r=this.sequencer.enqueueTask(t);return this.sequencer.taskResult(r).catch(ze)}async evaluateQueuedQuery(t){return this.sequencer.taskResult(t).catch(ze)}async cancelQuery(t,r){return this.sequencer.cancelTask(t,r)}async close(){return(await this.deferredDdbConnection).close()}};function ze(e){throw new Error(Ye($e(e)))}async function va(e,t){let r=await $(e);for(let s=0;s<t.length;++s){let n=t.item(s);await r.dropFile(n.name),await r.registerFileHandle(n.name,n,ae.BROWSER_FILEREADER,!1)}}async function Ua(e){return(await $(e)).globFiles("*")}export{Te as CATALOG_CHANGE_EVENT,O as DuckDBBlob,_ as DuckDBData,N as DuckDBDataReader,L as DuckDBDate,C as DuckDBDecimal,M as DuckDBInterval,P as DuckDBList,v as DuckDBMap,U as DuckDBStruct,x as DuckDBTime,Q as DuckDBTimestampMicroseconds,q as DuckDBTimestampMilliseconds,j as DuckDBTimestampNanoseconds,V as DuckDBTimestampSeconds,c as DuckDBTypes,He as MDConnection,d as SpecialDuckDBValue,ye as TokenType,$ as getAsyncDuckDb,Ua as readLocalFS,va as registerFiles};
|
|
1
|
+
var vu=Object.create;var As=Object.defineProperty;var bu=Object.getOwnPropertyDescriptor;var wu=Object.getOwnPropertyNames;var Nu=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var a=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Ou=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of wu(r))!ku.call(e,n)&&n!==t&&As(e,n,{get:()=>r[n],enumerable:!(s=bu(r,n))||s.enumerable});return e};var Du=(e,r,t)=>(t=e!=null?vu(Nu(e)):{},Ou(r||!e||!e.__esModule?As(t,"default",{value:e,enumerable:!0}):t,e));var f=a((st,bn)=>{"use strict";var Le=function(e){return e&&e.Math===Math&&e};bn.exports=Le(typeof globalThis=="object"&&globalThis)||Le(typeof window=="object"&&window)||Le(typeof self=="object"&&self)||Le(typeof global=="object"&&global)||Le(typeof st=="object"&&st)||function(){return this}()||Function("return this")()});var N=a((DI,wn)=>{"use strict";wn.exports=function(e){try{return!!e()}catch{return!0}}});var F=a((PI,Nn)=>{"use strict";var Al=N();Nn.exports=!Al(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Fe=a((AI,kn)=>{"use strict";var Cl=N();kn.exports=!Cl(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var k=a((CI,On)=>{"use strict";var Ll=Fe(),sr=Function.prototype.call;On.exports=Ll?sr.bind(sr):function(){return sr.apply(sr,arguments)}});var Cn=a(An=>{"use strict";var Dn={}.propertyIsEnumerable,Pn=Object.getOwnPropertyDescriptor,Fl=Pn&&!Dn.call({1:2},1);An.f=Fl?function(r){var t=Pn(this,r);return!!t&&t.enumerable}:Dn});var nt=a((FI,Ln)=>{"use strict";Ln.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var v=a((MI,qn)=>{"use strict";var Fn=Fe(),Mn=Function.prototype,it=Mn.call,Ml=Fn&&Mn.bind.bind(it,it);qn.exports=Fn?Ml:function(e){return function(){return it.apply(e,arguments)}}});var Me=a((qI,Bn)=>{"use strict";var Un=v(),ql=Un({}.toString),Ul=Un("".slice);Bn.exports=function(e){return Ul(ql(e),8,-1)}});var jn=a((UI,xn)=>{"use strict";var Bl=v(),xl=N(),jl=Me(),at=Object,Gl=Bl("".split);xn.exports=xl(function(){return!at("z").propertyIsEnumerable(0)})?function(e){return jl(e)==="String"?Gl(e,""):at(e)}:at});var qe=a((BI,Gn)=>{"use strict";Gn.exports=function(e){return e==null}});var nr=a((xI,Qn)=>{"use strict";var Ql=qe(),Wl=TypeError;Qn.exports=function(e){if(Ql(e))throw new Wl("Can't call method on "+e);return e}});var ir=a((jI,Wn)=>{"use strict";var Yl=jn(),Hl=nr();Wn.exports=function(e){return Yl(Hl(e))}});var g=a((GI,Yn)=>{"use strict";var ot=typeof document=="object"&&document.all;Yn.exports=typeof ot>"u"&&ot!==void 0?function(e){return typeof e=="function"||e===ot}:function(e){return typeof e=="function"}});var M=a((QI,Hn)=>{"use strict";var Kl=g();Hn.exports=function(e){return typeof e=="object"?e!==null:Kl(e)}});var W=a((WI,Kn)=>{"use strict";var ct=f(),$l=g(),Vl=function(e){return $l(e)?e:void 0};Kn.exports=function(e,r){return arguments.length<2?Vl(ct[e]):ct[e]&&ct[e][r]}});var ar=a((YI,$n)=>{"use strict";var zl=v();$n.exports=zl({}.isPrototypeOf)});var Ue=a((HI,Vn)=>{"use strict";Vn.exports=typeof navigator<"u"&&String(navigator.userAgent)||""});var dt=a((KI,ri)=>{"use strict";var ei=f(),ut=Ue(),zn=ei.process,Jn=ei.Deno,Zn=zn&&zn.versions||Jn&&Jn.version,Xn=Zn&&Zn.v8,O,or;Xn&&(O=Xn.split("."),or=O[0]>0&&O[0]<4?1:+(O[0]+O[1]));!or&&ut&&(O=ut.match(/Edge\/(\d+)/),(!O||O[1]>=74)&&(O=ut.match(/Chrome\/(\d+)/),O&&(or=+O[1])));ri.exports=or});var lt=a(($I,si)=>{"use strict";var ti=dt(),Jl=N(),Zl=f(),Xl=Zl.String;si.exports=!!Object.getOwnPropertySymbols&&!Jl(function(){var e=Symbol("symbol detection");return!Xl(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ti&&ti<41})});var pt=a((VI,ni)=>{"use strict";var ep=lt();ni.exports=ep&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Et=a((zI,ii)=>{"use strict";var rp=W(),tp=g(),sp=ar(),np=pt(),ip=Object;ii.exports=np?function(e){return typeof e=="symbol"}:function(e){var r=rp("Symbol");return tp(r)&&sp(r.prototype,ip(e))}});var Be=a((JI,ai)=>{"use strict";var ap=String;ai.exports=function(e){try{return ap(e)}catch{return"Object"}}});var U=a((ZI,oi)=>{"use strict";var op=g(),cp=Be(),up=TypeError;oi.exports=function(e){if(op(e))return e;throw new up(cp(e)+" is not a function")}});var cr=a((XI,ci)=>{"use strict";var dp=U(),lp=qe();ci.exports=function(e,r){var t=e[r];return lp(t)?void 0:dp(t)}});var di=a((ey,ui)=>{"use strict";var mt=k(),ht=g(),Tt=M(),pp=TypeError;ui.exports=function(e,r){var t,s;if(r==="string"&&ht(t=e.toString)&&!Tt(s=mt(t,e))||ht(t=e.valueOf)&&!Tt(s=mt(t,e))||r!=="string"&&ht(t=e.toString)&&!Tt(s=mt(t,e)))return s;throw new pp("Can't convert object to primitive value")}});var ne=a((ry,li)=>{"use strict";li.exports=!1});var ur=a((ty,Ei)=>{"use strict";var pi=f(),Ep=Object.defineProperty;Ei.exports=function(e,r){try{Ep(pi,e,{value:r,configurable:!0,writable:!0})}catch{pi[e]=r}return r}});var dr=a((sy,Ti)=>{"use strict";var mp=ne(),hp=f(),Tp=ur(),mi="__core-js_shared__",hi=Ti.exports=hp[mi]||Tp(mi,{});(hi.versions||(hi.versions=[])).push({version:"3.37.1",mode:mp?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var ft=a((ny,Ri)=>{"use strict";var fi=dr();Ri.exports=function(e,r){return fi[e]||(fi[e]=r||{})}});var gi=a((iy,_i)=>{"use strict";var fp=nr(),Rp=Object;_i.exports=function(e){return Rp(fp(e))}});var q=a((ay,Ii)=>{"use strict";var _p=v(),gp=gi(),Ip=_p({}.hasOwnProperty);Ii.exports=Object.hasOwn||function(r,t){return Ip(gp(r),t)}});var Rt=a((oy,yi)=>{"use strict";var yp=v(),Sp=0,vp=Math.random(),bp=yp(1 .toString);yi.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+bp(++Sp+vp,36)}});var D=a((cy,vi)=>{"use strict";var wp=f(),Np=ft(),Si=q(),kp=Rt(),Op=lt(),Dp=pt(),ie=wp.Symbol,_t=Np("wks"),Pp=Dp?ie.for||ie:ie&&ie.withoutSetter||kp;vi.exports=function(e){return Si(_t,e)||(_t[e]=Op&&Si(ie,e)?ie[e]:Pp("Symbol."+e)),_t[e]}});var ki=a((uy,Ni)=>{"use strict";var Ap=k(),bi=M(),wi=Et(),Cp=cr(),Lp=di(),Fp=D(),Mp=TypeError,qp=Fp("toPrimitive");Ni.exports=function(e,r){if(!bi(e)||wi(e))return e;var t=Cp(e,qp),s;if(t){if(r===void 0&&(r="default"),s=Ap(t,e,r),!bi(s)||wi(s))return s;throw new Mp("Can't convert object to primitive value")}return r===void 0&&(r="number"),Lp(e,r)}});var gt=a((dy,Oi)=>{"use strict";var Up=ki(),Bp=Et();Oi.exports=function(e){var r=Up(e,"string");return Bp(r)?r:r+""}});var yt=a((ly,Pi)=>{"use strict";var xp=f(),Di=M(),It=xp.document,jp=Di(It)&&Di(It.createElement);Pi.exports=function(e){return jp?It.createElement(e):{}}});var St=a((py,Ai)=>{"use strict";var Gp=F(),Qp=N(),Wp=yt();Ai.exports=!Gp&&!Qp(function(){return Object.defineProperty(Wp("div"),"a",{get:function(){return 7}}).a!==7})});var vt=a(Li=>{"use strict";var Yp=F(),Hp=k(),Kp=Cn(),$p=nt(),Vp=ir(),zp=gt(),Jp=q(),Zp=St(),Ci=Object.getOwnPropertyDescriptor;Li.f=Yp?Ci:function(r,t){if(r=Vp(r),t=zp(t),Zp)try{return Ci(r,t)}catch{}if(Jp(r,t))return $p(!Hp(Kp.f,r,t),r[t])}});var Mi=a((my,Fi)=>{"use strict";var Xp=F(),eE=N();Fi.exports=Xp&&eE(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Y=a((hy,qi)=>{"use strict";var rE=M(),tE=String,sE=TypeError;qi.exports=function(e){if(rE(e))return e;throw new sE(tE(e)+" is not an object")}});var ae=a(Bi=>{"use strict";var nE=F(),iE=St(),aE=Mi(),lr=Y(),Ui=gt(),oE=TypeError,bt=Object.defineProperty,cE=Object.getOwnPropertyDescriptor,wt="enumerable",Nt="configurable",kt="writable";Bi.f=nE?aE?function(r,t,s){if(lr(r),t=Ui(t),lr(s),typeof r=="function"&&t==="prototype"&&"value"in s&&kt in s&&!s[kt]){var n=cE(r,t);n&&n[kt]&&(r[t]=s.value,s={configurable:Nt in s?s[Nt]:n[Nt],enumerable:wt in s?s[wt]:n[wt],writable:!1})}return bt(r,t,s)}:bt:function(r,t,s){if(lr(r),t=Ui(t),lr(s),iE)try{return bt(r,t,s)}catch{}if("get"in s||"set"in s)throw new oE("Accessors not supported");return"value"in s&&(r[t]=s.value),r}});var Ot=a((fy,xi)=>{"use strict";var uE=F(),dE=ae(),lE=nt();xi.exports=uE?function(e,r,t){return dE.f(e,r,lE(1,t))}:function(e,r,t){return e[r]=t,e}});var Qi=a((Ry,Gi)=>{"use strict";var Dt=F(),pE=q(),ji=Function.prototype,EE=Dt&&Object.getOwnPropertyDescriptor,Pt=pE(ji,"name"),mE=Pt&&function(){}.name==="something",hE=Pt&&(!Dt||Dt&&EE(ji,"name").configurable);Gi.exports={EXISTS:Pt,PROPER:mE,CONFIGURABLE:hE}});var pr=a((_y,Wi)=>{"use strict";var TE=v(),fE=g(),At=dr(),RE=TE(Function.toString);fE(At.inspectSource)||(At.inspectSource=function(e){return RE(e)});Wi.exports=At.inspectSource});var Ki=a((gy,Hi)=>{"use strict";var _E=f(),gE=g(),Yi=_E.WeakMap;Hi.exports=gE(Yi)&&/native code/.test(String(Yi))});var zi=a((Iy,Vi)=>{"use strict";var IE=ft(),yE=Rt(),$i=IE("keys");Vi.exports=function(e){return $i[e]||($i[e]=yE(e))}});var Ct=a((yy,Ji)=>{"use strict";Ji.exports={}});var qt=a((Sy,ea)=>{"use strict";var SE=Ki(),Xi=f(),vE=M(),bE=Ot(),Lt=q(),Ft=dr(),wE=zi(),NE=Ct(),Zi="Object already initialized",Mt=Xi.TypeError,kE=Xi.WeakMap,Er,xe,mr,OE=function(e){return mr(e)?xe(e):Er(e,{})},DE=function(e){return function(r){var t;if(!vE(r)||(t=xe(r)).type!==e)throw new Mt("Incompatible receiver, "+e+" required");return t}};SE||Ft.state?(P=Ft.state||(Ft.state=new kE),P.get=P.get,P.has=P.has,P.set=P.set,Er=function(e,r){if(P.has(e))throw new Mt(Zi);return r.facade=e,P.set(e,r),r},xe=function(e){return P.get(e)||{}},mr=function(e){return P.has(e)}):($=wE("state"),NE[$]=!0,Er=function(e,r){if(Lt(e,$))throw new Mt(Zi);return r.facade=e,bE(e,$,r),r},xe=function(e){return Lt(e,$)?e[$]:{}},mr=function(e){return Lt(e,$)});var P,$;ea.exports={set:Er,get:xe,has:mr,enforce:OE,getterFor:DE}});var xt=a((vy,sa)=>{"use strict";var Bt=v(),PE=N(),AE=g(),hr=q(),Ut=F(),CE=Qi().CONFIGURABLE,LE=pr(),ta=qt(),FE=ta.enforce,ME=ta.get,ra=String,Tr=Object.defineProperty,qE=Bt("".slice),UE=Bt("".replace),BE=Bt([].join),xE=Ut&&!PE(function(){return Tr(function(){},"length",{value:8}).length!==8}),jE=String(String).split("String"),GE=sa.exports=function(e,r,t){qE(ra(r),0,7)==="Symbol("&&(r="["+UE(ra(r),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),t&&t.getter&&(r="get "+r),t&&t.setter&&(r="set "+r),(!hr(e,"name")||CE&&e.name!==r)&&(Ut?Tr(e,"name",{value:r,configurable:!0}):e.name=r),xE&&t&&hr(t,"arity")&&e.length!==t.arity&&Tr(e,"length",{value:t.arity});try{t&&hr(t,"constructor")&&t.constructor?Ut&&Tr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var s=FE(e);return hr(s,"source")||(s.source=BE(jE,typeof r=="string"?r:"")),e};Function.prototype.toString=GE(function(){return AE(this)&&ME(this).source||LE(this)},"toString")});var fr=a((by,na)=>{"use strict";var QE=g(),WE=ae(),YE=xt(),HE=ur();na.exports=function(e,r,t,s){s||(s={});var n=s.enumerable,i=s.name!==void 0?s.name:r;if(QE(t)&&YE(t,i,s),s.global)n?e[r]=t:HE(r,t);else{try{s.unsafe?e[r]&&(n=!0):delete e[r]}catch{}n?e[r]=t:WE.f(e,r,{value:t,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}});var aa=a((wy,ia)=>{"use strict";var KE=Math.ceil,$E=Math.floor;ia.exports=Math.trunc||function(r){var t=+r;return(t>0?$E:KE)(t)}});var jt=a((Ny,oa)=>{"use strict";var VE=aa();oa.exports=function(e){var r=+e;return r!==r||r===0?0:VE(r)}});var ua=a((ky,ca)=>{"use strict";var zE=jt(),JE=Math.max,ZE=Math.min;ca.exports=function(e,r){var t=zE(e);return t<0?JE(t+r,0):ZE(t,r)}});var la=a((Oy,da)=>{"use strict";var XE=jt(),em=Math.min;da.exports=function(e){var r=XE(e);return r>0?em(r,9007199254740991):0}});var Gt=a((Dy,pa)=>{"use strict";var rm=la();pa.exports=function(e){return rm(e.length)}});var ha=a((Py,ma)=>{"use strict";var tm=ir(),sm=ua(),nm=Gt(),Ea=function(e){return function(r,t,s){var n=tm(r),i=nm(n);if(i===0)return!e&&-1;var o=sm(s,i),u;if(e&&t!==t){for(;i>o;)if(u=n[o++],u!==u)return!0}else for(;i>o;o++)if((e||o in n)&&n[o]===t)return e||o||0;return!e&&-1}};ma.exports={includes:Ea(!0),indexOf:Ea(!1)}});var Ra=a((Ay,fa)=>{"use strict";var im=v(),Qt=q(),am=ir(),om=ha().indexOf,cm=Ct(),Ta=im([].push);fa.exports=function(e,r){var t=am(e),s=0,n=[],i;for(i in t)!Qt(cm,i)&&Qt(t,i)&&Ta(n,i);for(;r.length>s;)Qt(t,i=r[s++])&&(~om(n,i)||Ta(n,i));return n}});var ga=a((Cy,_a)=>{"use strict";_a.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ya=a(Ia=>{"use strict";var um=Ra(),dm=ga(),lm=dm.concat("length","prototype");Ia.f=Object.getOwnPropertyNames||function(r){return um(r,lm)}});var va=a(Sa=>{"use strict";Sa.f=Object.getOwnPropertySymbols});var wa=a((My,ba)=>{"use strict";var pm=W(),Em=v(),mm=ya(),hm=va(),Tm=Y(),fm=Em([].concat);ba.exports=pm("Reflect","ownKeys")||function(r){var t=mm.f(Tm(r)),s=hm.f;return s?fm(t,s(r)):t}});var Oa=a((qy,ka)=>{"use strict";var Na=q(),Rm=wa(),_m=vt(),gm=ae();ka.exports=function(e,r,t){for(var s=Rm(r),n=gm.f,i=_m.f,o=0;o<s.length;o++){var u=s[o];!Na(e,u)&&!(t&&Na(t,u))&&n(e,u,i(r,u))}}});var Wt=a((Uy,Da)=>{"use strict";var Im=N(),ym=g(),Sm=/#|\.prototype\./,je=function(e,r){var t=bm[vm(e)];return t===Nm?!0:t===wm?!1:ym(r)?Im(r):!!r},vm=je.normalize=function(e){return String(e).replace(Sm,".").toLowerCase()},bm=je.data={},wm=je.NATIVE="N",Nm=je.POLYFILL="P";Da.exports=je});var H=a((By,Pa)=>{"use strict";var Rr=f(),km=vt().f,Om=Ot(),Dm=fr(),Pm=ur(),Am=Oa(),Cm=Wt();Pa.exports=function(e,r){var t=e.target,s=e.global,n=e.stat,i,o,u,d,E,h;if(s?o=Rr:n?o=Rr[t]||Pm(t,{}):o=Rr[t]&&Rr[t].prototype,o)for(u in r){if(E=r[u],e.dontCallGetSet?(h=km(o,u),d=h&&h.value):d=o[u],i=Cm(s?u:t+(n?".":"#")+u,e.forced),!i&&d!==void 0){if(typeof E==typeof d)continue;Am(E,d)}(e.sham||d&&d.sham)&&Om(E,"sham",!0),Dm(o,u,E,e)}}});var Ge=a((xy,Aa)=>{"use strict";var Lm=f(),Fm=Me();Aa.exports=Fm(Lm.process)==="process"});var La=a((jy,Ca)=>{"use strict";var Mm=v(),qm=U();Ca.exports=function(e,r,t){try{return Mm(qm(Object.getOwnPropertyDescriptor(e,r)[t]))}catch{}}});var Ma=a((Gy,Fa)=>{"use strict";var Um=M();Fa.exports=function(e){return Um(e)||e===null}});var Ua=a((Qy,qa)=>{"use strict";var Bm=Ma(),xm=String,jm=TypeError;qa.exports=function(e){if(Bm(e))return e;throw new jm("Can't set "+xm(e)+" as a prototype")}});var xa=a((Wy,Ba)=>{"use strict";var Gm=La(),Qm=M(),Wm=nr(),Ym=Ua();Ba.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e=!1,r={},t;try{t=Gm(Object.prototype,"__proto__","set"),t(r,[]),e=r instanceof Array}catch{}return function(n,i){return Wm(n),Ym(i),Qm(n)&&(e?t(n,i):n.__proto__=i),n}}():void 0)});var Qa=a((Yy,Ga)=>{"use strict";var Hm=ae().f,Km=q(),$m=D(),ja=$m("toStringTag");Ga.exports=function(e,r,t){e&&!t&&(e=e.prototype),e&&!Km(e,ja)&&Hm(e,ja,{configurable:!0,value:r})}});var Ha=a((Hy,Ya)=>{"use strict";var Wa=xt(),Vm=ae();Ya.exports=function(e,r,t){return t.get&&Wa(t.get,r,{getter:!0}),t.set&&Wa(t.set,r,{setter:!0}),Vm.f(e,r,t)}});var Va=a((Ky,$a)=>{"use strict";var zm=W(),Jm=Ha(),Zm=D(),Xm=F(),Ka=Zm("species");$a.exports=function(e){var r=zm(e);Xm&&r&&!r[Ka]&&Jm(r,Ka,{configurable:!0,get:function(){return this}})}});var Ja=a(($y,za)=>{"use strict";var eh=ar(),rh=TypeError;za.exports=function(e,r){if(eh(r,e))return e;throw new rh("Incorrect invocation")}});var eo=a((Vy,Xa)=>{"use strict";var th=D(),sh=th("toStringTag"),Za={};Za[sh]="z";Xa.exports=String(Za)==="[object z]"});var Yt=a((zy,ro)=>{"use strict";var nh=eo(),ih=g(),_r=Me(),ah=D(),oh=ah("toStringTag"),ch=Object,uh=_r(function(){return arguments}())==="Arguments",dh=function(e,r){try{return e[r]}catch{}};ro.exports=nh?_r:function(e){var r,t,s;return e===void 0?"Undefined":e===null?"Null":typeof(t=dh(r=ch(e),oh))=="string"?t:uh?_r(r):(s=_r(r))==="Object"&&ih(r.callee)?"Arguments":s}});var oo=a((Jy,ao)=>{"use strict";var lh=v(),ph=N(),to=g(),Eh=Yt(),mh=W(),hh=pr(),so=function(){},no=mh("Reflect","construct"),Ht=/^\s*(?:class|function)\b/,Th=lh(Ht.exec),fh=!Ht.test(so),Qe=function(r){if(!to(r))return!1;try{return no(so,[],r),!0}catch{return!1}},io=function(r){if(!to(r))return!1;switch(Eh(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return fh||!!Th(Ht,hh(r))}catch{return!0}};io.sham=!0;ao.exports=!no||ph(function(){var e;return Qe(Qe.call)||!Qe(Object)||!Qe(function(){e=!0})||e})?io:Qe});var uo=a((Zy,co)=>{"use strict";var Rh=oo(),_h=Be(),gh=TypeError;co.exports=function(e){if(Rh(e))return e;throw new gh(_h(e)+" is not a constructor")}});var Eo=a((Xy,po)=>{"use strict";var lo=Y(),Ih=uo(),yh=qe(),Sh=D(),vh=Sh("species");po.exports=function(e,r){var t=lo(e).constructor,s;return t===void 0||yh(s=lo(t)[vh])?r:Ih(s)}});var Ro=a((eS,fo)=>{"use strict";var bh=Fe(),To=Function.prototype,mo=To.apply,ho=To.call;fo.exports=typeof Reflect=="object"&&Reflect.apply||(bh?ho.bind(mo):function(){return ho.apply(mo,arguments)})});var go=a((rS,_o)=>{"use strict";var wh=Me(),Nh=v();_o.exports=function(e){if(wh(e)==="Function")return Nh(e)}});var gr=a((tS,yo)=>{"use strict";var Io=go(),kh=U(),Oh=Fe(),Dh=Io(Io.bind);yo.exports=function(e,r){return kh(e),r===void 0?e:Oh?Dh(e,r):function(){return e.apply(r,arguments)}}});var vo=a((sS,So)=>{"use strict";var Ph=W();So.exports=Ph("document","documentElement")});var wo=a((nS,bo)=>{"use strict";var Ah=v();bo.exports=Ah([].slice)});var ko=a((iS,No)=>{"use strict";var Ch=TypeError;No.exports=function(e,r){if(e<r)throw new Ch("Not enough arguments");return e}});var Kt=a((aS,Oo)=>{"use strict";var Lh=Ue();Oo.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Lh)});var ts=a((oS,Uo)=>{"use strict";var b=f(),Fh=Ro(),Mh=gr(),Do=g(),qh=q(),qo=N(),Po=vo(),Uh=wo(),Ao=yt(),Bh=ko(),xh=Kt(),jh=Ge(),Xt=b.setImmediate,es=b.clearImmediate,Gh=b.process,$t=b.Dispatch,Qh=b.Function,Co=b.MessageChannel,Wh=b.String,Vt=0,We={},Lo="onreadystatechange",Ye,V,zt,Jt;qo(function(){Ye=b.location});var rs=function(e){if(qh(We,e)){var r=We[e];delete We[e],r()}},Zt=function(e){return function(){rs(e)}},Fo=function(e){rs(e.data)},Mo=function(e){b.postMessage(Wh(e),Ye.protocol+"//"+Ye.host)};(!Xt||!es)&&(Xt=function(r){Bh(arguments.length,1);var t=Do(r)?r:Qh(r),s=Uh(arguments,1);return We[++Vt]=function(){Fh(t,void 0,s)},V(Vt),Vt},es=function(r){delete We[r]},jh?V=function(e){Gh.nextTick(Zt(e))}:$t&&$t.now?V=function(e){$t.now(Zt(e))}:Co&&!xh?(zt=new Co,Jt=zt.port2,zt.port1.onmessage=Fo,V=Mh(Jt.postMessage,Jt)):b.addEventListener&&Do(b.postMessage)&&!b.importScripts&&Ye&&Ye.protocol!=="file:"&&!qo(Mo)?(V=Mo,b.addEventListener("message",Fo,!1)):Lo in Ao("script")?V=function(e){Po.appendChild(Ao("script"))[Lo]=function(){Po.removeChild(this),rs(e)}}:V=function(e){setTimeout(Zt(e),0)});Uo.exports={set:Xt,clear:es}});var jo=a((cS,xo)=>{"use strict";var Bo=f(),Yh=F(),Hh=Object.getOwnPropertyDescriptor;xo.exports=function(e){if(!Yh)return Bo[e];var r=Hh(Bo,e);return r&&r.value}});var ss=a((uS,Qo)=>{"use strict";var Go=function(){this.head=null,this.tail=null};Go.prototype={add:function(e){var r={item:e,next:null},t=this.tail;t?t.next=r:this.head=r,this.tail=r},get:function(){var e=this.head;if(e){var r=this.head=e.next;return r===null&&(this.tail=null),e.item}}};Qo.exports=Go});var Yo=a((dS,Wo)=>{"use strict";var Kh=Ue();Wo.exports=/ipad|iphone|ipod/i.test(Kh)&&typeof Pebble<"u"});var Ko=a((lS,Ho)=>{"use strict";var $h=Ue();Ho.exports=/web0s(?!.*chrome)/i.test($h)});var ec=a((pS,Xo)=>{"use strict";var ce=f(),Vh=jo(),$o=gr(),ns=ts().set,zh=ss(),Jh=Kt(),Zh=Yo(),Xh=Ko(),is=Ge(),Vo=ce.MutationObserver||ce.WebKitMutationObserver,zo=ce.document,Jo=ce.process,Ir=ce.Promise,cs=Vh("queueMicrotask"),oe,as,os,yr,Zo;cs||(He=new zh,Ke=function(){var e,r;for(is&&(e=Jo.domain)&&e.exit();r=He.get();)try{r()}catch(t){throw He.head&&oe(),t}e&&e.enter()},!Jh&&!is&&!Xh&&Vo&&zo?(as=!0,os=zo.createTextNode(""),new Vo(Ke).observe(os,{characterData:!0}),oe=function(){os.data=as=!as}):!Zh&&Ir&&Ir.resolve?(yr=Ir.resolve(void 0),yr.constructor=Ir,Zo=$o(yr.then,yr),oe=function(){Zo(Ke)}):is?oe=function(){Jo.nextTick(Ke)}:(ns=$o(ns,ce),oe=function(){ns(Ke)}),cs=function(e){He.head||oe(),He.add(e)});var He,Ke;Xo.exports=cs});var tc=a((ES,rc)=>{"use strict";rc.exports=function(e,r){try{arguments.length===1?console.error(e):console.error(e,r)}catch{}}});var Sr=a((mS,sc)=>{"use strict";sc.exports=function(e){try{return{error:!1,value:e()}}catch(r){return{error:!0,value:r}}}});var ue=a((hS,nc)=>{"use strict";var eT=f();nc.exports=eT.Promise});var us=a((TS,ic)=>{"use strict";ic.exports=typeof Deno=="object"&&Deno&&typeof Deno.version=="object"});var oc=a((fS,ac)=>{"use strict";var rT=us(),tT=Ge();ac.exports=!rT&&!tT&&typeof window=="object"&&typeof document=="object"});var de=a((RS,dc)=>{"use strict";var sT=f(),$e=ue(),nT=g(),iT=Wt(),aT=pr(),oT=D(),cT=oc(),uT=us(),dT=ne(),ds=dt(),cc=$e&&$e.prototype,lT=oT("species"),ls=!1,uc=nT(sT.PromiseRejectionEvent),pT=iT("Promise",function(){var e=aT($e),r=e!==String($e);if(!r&&ds===66||dT&&!(cc.catch&&cc.finally))return!0;if(!ds||ds<51||!/native code/.test(e)){var t=new $e(function(i){i(1)}),s=function(i){i(function(){},function(){})},n=t.constructor={};if(n[lT]=s,ls=t.then(function(){})instanceof s,!ls)return!0}return!r&&(cT||uT)&&!uc});dc.exports={CONSTRUCTOR:pT,REJECTION_EVENT:uc,SUBCLASSING:ls}});var z=a((_S,pc)=>{"use strict";var lc=U(),ET=TypeError,mT=function(e){var r,t;this.promise=new e(function(s,n){if(r!==void 0||t!==void 0)throw new ET("Bad Promise constructor");r=s,t=n}),this.resolve=lc(r),this.reject=lc(t)};pc.exports.f=function(e){return new mT(e)}});var Pc=a(()=>{"use strict";var hT=H(),TT=ne(),Nr=Ge(),K=f(),me=k(),Ec=fr(),mc=xa(),fT=Qa(),RT=Va(),_T=U(),wr=g(),gT=M(),IT=Ja(),yT=Eo(),_c=ts().set,Ts=ec(),ST=tc(),vT=Sr(),bT=ss(),gc=qt(),kr=ue(),fs=de(),Ic=z(),Or="Promise",yc=fs.CONSTRUCTOR,wT=fs.REJECTION_EVENT,NT=fs.SUBCLASSING,ps=gc.getterFor(Or),kT=gc.set,le=kr&&kr.prototype,J=kr,vr=le,Sc=K.TypeError,Es=K.document,Rs=K.process,ms=Ic.f,OT=ms,DT=!!(Es&&Es.createEvent&&K.dispatchEvent),vc="unhandledrejection",PT="rejectionhandled",hc=0,bc=1,AT=2,_s=1,wc=2,br,Tc,CT,fc,Nc=function(e){var r;return gT(e)&&wr(r=e.then)?r:!1},kc=function(e,r){var t=r.value,s=r.state===bc,n=s?e.ok:e.fail,i=e.resolve,o=e.reject,u=e.domain,d,E,h;try{n?(s||(r.rejection===wc&&FT(r),r.rejection=_s),n===!0?d=t:(u&&u.enter(),d=n(t),u&&(u.exit(),h=!0)),d===e.promise?o(new Sc("Promise-chain cycle")):(E=Nc(d))?me(E,d,i,o):i(d)):o(t)}catch(T){u&&!h&&u.exit(),o(T)}},Oc=function(e,r){e.notified||(e.notified=!0,Ts(function(){for(var t=e.reactions,s;s=t.get();)kc(s,e);e.notified=!1,r&&!e.rejection&<(e)}))},Dc=function(e,r,t){var s,n;DT?(s=Es.createEvent("Event"),s.promise=r,s.reason=t,s.initEvent(e,!1,!0),K.dispatchEvent(s)):s={promise:r,reason:t},!wT&&(n=K["on"+e])?n(s):e===vc&&ST("Unhandled promise rejection",t)},LT=function(e){me(_c,K,function(){var r=e.facade,t=e.value,s=Rc(e),n;if(s&&(n=vT(function(){Nr?Rs.emit("unhandledRejection",t,r):Dc(vc,r,t)}),e.rejection=Nr||Rc(e)?wc:_s,n.error))throw n.value})},Rc=function(e){return e.rejection!==_s&&!e.parent},FT=function(e){me(_c,K,function(){var r=e.facade;Nr?Rs.emit("rejectionHandled",r):Dc(PT,r,e.value)})},pe=function(e,r,t){return function(s){e(r,s,t)}},Ee=function(e,r,t){e.done||(e.done=!0,t&&(e=t),e.value=r,e.state=AT,Oc(e,!0))},hs=function(e,r,t){if(!e.done){e.done=!0,t&&(e=t);try{if(e.facade===r)throw new Sc("Promise can't be resolved itself");var s=Nc(r);s?Ts(function(){var n={done:!1};try{me(s,r,pe(hs,n,e),pe(Ee,n,e))}catch(i){Ee(n,i,e)}}):(e.value=r,e.state=bc,Oc(e,!1))}catch(n){Ee({done:!1},n,e)}}};if(yc&&(J=function(r){IT(this,vr),_T(r),me(br,this);var t=ps(this);try{r(pe(hs,t),pe(Ee,t))}catch(s){Ee(t,s)}},vr=J.prototype,br=function(r){kT(this,{type:Or,done:!1,notified:!1,parent:!1,reactions:new bT,rejection:!1,state:hc,value:void 0})},br.prototype=Ec(vr,"then",function(r,t){var s=ps(this),n=ms(yT(this,J));return s.parent=!0,n.ok=wr(r)?r:!0,n.fail=wr(t)&&t,n.domain=Nr?Rs.domain:void 0,s.state===hc?s.reactions.add(n):Ts(function(){kc(n,s)}),n.promise}),Tc=function(){var e=new br,r=ps(e);this.promise=e,this.resolve=pe(hs,r),this.reject=pe(Ee,r)},Ic.f=ms=function(e){return e===J||e===CT?new Tc(e):OT(e)},!TT&&wr(kr)&&le!==Object.prototype)){fc=le.then,NT||Ec(le,"then",function(r,t){var s=this;return new J(function(n,i){me(fc,s,n,i)}).then(r,t)},{unsafe:!0});try{delete le.constructor}catch{}mc&&mc(le,vr)}hT({global:!0,constructor:!0,wrap:!0,forced:yc},{Promise:J});fT(J,Or,!1,!0);RT(Or)});var gs=a((yS,Ac)=>{"use strict";Ac.exports={}});var Lc=a((SS,Cc)=>{"use strict";var MT=D(),qT=gs(),UT=MT("iterator"),BT=Array.prototype;Cc.exports=function(e){return e!==void 0&&(qT.Array===e||BT[UT]===e)}});var Is=a((vS,Mc)=>{"use strict";var xT=Yt(),Fc=cr(),jT=qe(),GT=gs(),QT=D(),WT=QT("iterator");Mc.exports=function(e){if(!jT(e))return Fc(e,WT)||Fc(e,"@@iterator")||GT[xT(e)]}});var Uc=a((bS,qc)=>{"use strict";var YT=k(),HT=U(),KT=Y(),$T=Be(),VT=Is(),zT=TypeError;qc.exports=function(e,r){var t=arguments.length<2?VT(e):r;if(HT(t))return KT(YT(t,e));throw new zT($T(e)+" is not iterable")}});var jc=a((wS,xc)=>{"use strict";var JT=k(),Bc=Y(),ZT=cr();xc.exports=function(e,r,t){var s,n;Bc(e);try{if(s=ZT(e,"return"),!s){if(r==="throw")throw t;return t}s=JT(s,e)}catch(i){n=!0,s=i}if(r==="throw")throw t;if(n)throw s;return Bc(s),t}});var ys=a((NS,Yc)=>{"use strict";var XT=gr(),ef=k(),rf=Y(),tf=Be(),sf=Lc(),nf=Gt(),Gc=ar(),af=Uc(),of=Is(),Qc=jc(),cf=TypeError,Dr=function(e,r){this.stopped=e,this.result=r},Wc=Dr.prototype;Yc.exports=function(e,r,t){var s=t&&t.that,n=!!(t&&t.AS_ENTRIES),i=!!(t&&t.IS_RECORD),o=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),d=XT(r,s),E,h,T,S,I,Ve,Os,Ds=function(w){return E&&Qc(E,"normal",w),new Dr(!0,w)},Ps=function(w){return n?(rf(w),u?d(w[0],w[1],Ds):d(w[0],w[1])):u?d(w,Ds):d(w)};if(i)E=e.iterator;else if(o)E=e;else{if(h=of(e),!h)throw new cf(tf(e)+" is not iterable");if(sf(h)){for(T=0,S=nf(e);S>T;T++)if(I=Ps(e[T]),I&&Gc(Wc,I))return I;return new Dr(!1)}E=af(e,h)}for(Ve=i?e.next:E.next;!(Os=ef(Ve,E)).done;){try{I=Ps(Os.value)}catch(w){Qc(E,"throw",w)}if(typeof I=="object"&&I&&Gc(Wc,I))return I}return new Dr(!1)}});var zc=a((kS,Vc)=>{"use strict";var uf=D(),Kc=uf("iterator"),$c=!1;try{Hc=0,Ss={next:function(){return{done:!!Hc++}},return:function(){$c=!0}},Ss[Kc]=function(){return this},Array.from(Ss,function(){throw 2})}catch{}var Hc,Ss;Vc.exports=function(e,r){try{if(!r&&!$c)return!1}catch{return!1}var t=!1;try{var s={};s[Kc]=function(){return{next:function(){return{done:t=!0}}}},e(s)}catch{}return t}});var vs=a((OS,Jc)=>{"use strict";var df=ue(),lf=zc(),pf=de().CONSTRUCTOR;Jc.exports=pf||!lf(function(e){df.all(e).then(void 0,function(){})})});var Zc=a(()=>{"use strict";var Ef=H(),mf=k(),hf=U(),Tf=z(),ff=Sr(),Rf=ys(),_f=vs();Ef({target:"Promise",stat:!0,forced:_f},{all:function(r){var t=this,s=Tf.f(t),n=s.resolve,i=s.reject,o=ff(function(){var u=hf(t.resolve),d=[],E=0,h=1;Rf(r,function(T){var S=E++,I=!1;h++,mf(u,t,T).then(function(Ve){I||(I=!0,d[S]=Ve,--h||n(d))},i)}),--h||n(d)});return o.error&&i(o.value),s.promise}})});var eu=a(()=>{"use strict";var gf=H(),If=ne(),yf=de().CONSTRUCTOR,ws=ue(),Sf=W(),vf=g(),bf=fr(),Xc=ws&&ws.prototype;gf({target:"Promise",proto:!0,forced:yf,real:!0},{catch:function(e){return this.then(void 0,e)}});!If&&vf(ws)&&(bs=Sf("Promise").prototype.catch,Xc.catch!==bs&&bf(Xc,"catch",bs,{unsafe:!0}));var bs});var ru=a(()=>{"use strict";var wf=H(),Nf=k(),kf=U(),Of=z(),Df=Sr(),Pf=ys(),Af=vs();wf({target:"Promise",stat:!0,forced:Af},{race:function(r){var t=this,s=Of.f(t),n=s.reject,i=Df(function(){var o=kf(t.resolve);Pf(r,function(u){Nf(o,t,u).then(s.resolve,n)})});return i.error&&n(i.value),s.promise}})});var tu=a(()=>{"use strict";var Cf=H(),Lf=z(),Ff=de().CONSTRUCTOR;Cf({target:"Promise",stat:!0,forced:Ff},{reject:function(r){var t=Lf.f(this),s=t.reject;return s(r),t.promise}})});var nu=a((US,su)=>{"use strict";var Mf=Y(),qf=M(),Uf=z();su.exports=function(e,r){if(Mf(e),qf(r)&&r.constructor===e)return r;var t=Uf.f(e),s=t.resolve;return s(r),t.promise}});var ou=a(()=>{"use strict";var Bf=H(),xf=W(),iu=ne(),jf=ue(),au=de().CONSTRUCTOR,Gf=nu(),Qf=xf("Promise"),Wf=iu&&!au;Bf({target:"Promise",stat:!0,forced:iu||au},{resolve:function(r){return Gf(Wf&&this===Qf?jf:this,r)}})});var cu=a(()=>{"use strict";Pc();Zc();eu();ru();tu();ou()});var Ns=a(()=>{"use strict";var Yf=H(),Hf=z();Yf({target:"Promise",stat:!0},{withResolvers:function(){var r=Hf.f(this);return{promise:r.promise,resolve:r.resolve,reject:r.reject}}})});var du=a((YS,uu)=>{"use strict";var Kf=f();uu.exports=Kf});var Eu=a((HS,pu)=>{"use strict";cu();Ns();var $f=k(),Vf=g(),zf=du(),lu=zf.Promise,Jf=lu.withResolvers;pu.exports=function(){return $f(Jf,Vf(this)?this:lu)}});var hu=a((KS,mu)=>{"use strict";var Zf=Eu();mu.exports=Zf});var Tu=a(()=>{"use strict";Ns()});var Ru=a((zS,fu)=>{"use strict";var Xf=hu();Tu();fu.exports=Xf});var B=class{singleValue(){let{columnCount:r,rowCount:t}=this;if(r===0)throw Error("no column data");if(t===0)throw Error("no rows");if(r>1)throw Error("more than one column");if(t>1)throw Error("more than one row");return this.value(0,0)}columnNames(){let{columnCount:r}=this,t=[];for(let s=0;s<r;s++)t.push(this.columnName(s));return t}deduplicatedColumnNames(){let{columnCount:r}=this,t=[],s={};for(let n=0;n<r;n++){let i=this.columnName(n),o=(s[i]||0)+1;s[i]=o,o>1?t.push(`${i}:${o-1}`):t.push(i)}return t}toRows(){let{rowCount:r,columnCount:t}=this,s=this.deduplicatedColumnNames(),n=[];for(let i=0;i<r;i++){let o={};for(let u=0;u<t;u++)o[s[u]]=this.value(u,i);n.push(o)}return n}};var Z=class extends B{iterator;iteratorDone=!1;totalRowsRead=0;batches=[];batchSizeRuns=[];constructor(r){super(),this.iterator=r}get columnCount(){return this.batches.length===0?0:this.batches[0].columnCount}get rowCount(){return this.totalRowsRead}columnName(r){if(this.batches.length===0)throw Error("no column data");return this.batches[0].columnName(r)}columnType(r){if(this.batches.length===0)throw Error("no column data");return this.batches[0].columnType(r)}value(r,t){if(this.totalRowsRead===0)throw Error("no data");let s=0,n=t;for(let i of this.batchSizeRuns){if(n<i.rowCount){s+=Math.floor(n/i.batchSize);let o=n%i.batchSize;return this.batches[s].value(r,o)}s+=i.batchCount,n-=i.rowCount}throw Error(`Row index ${t} requested, but only ${this.totalRowsRead} row have been read so far.`)}get done(){return this.iteratorDone}async readAll(){return this.read()}async readUntil(r){return this.read(r)}async read(r){for(;!(this.iteratorDone||r!==void 0&&this.totalRowsRead>=r);){let{value:t,done:s}=await this.iterator.next();t&&(this.updateBatchSizeRuns(t),this.batches.push(t),this.totalRowsRead+=t.rowCount),s&&(this.iteratorDone=s)}}updateBatchSizeRuns(r){if(this.batchSizeRuns.length>0){let t=this.batchSizeRuns[this.batchSizeRuns.length-1];if(t.batchSize===r.rowCount){t.batchCount+=1,t.rowCount+=t.batchSize;return}}this.batchSizeRuns.push({batchCount:1,batchSize:r.rowCount,rowCount:r.rowCount})}};var Cs=class extends B{columns;values;constructor(r,t){super(),this.columns=r,this.values=t}get columnCount(){return this.columns.length}get rowCount(){return this.values.length>0?this.values[0].length:0}columnName(r){return this.columns[r].name}columnType(r){return this.columns[r].type}value(r,t){return this.values[r][t]}};var c=class e{constructor(){}static ARRAY(r,t){return{name:"ARRAY",valueType:r,length:t}}static BIGINT={name:"BIGINT"};static BIT={name:"BIT"};static BOOLEAN={name:"BOOLEAN"};static BLOB={name:"BLOB"};static DATE={name:"DATE"};static DOUBLE={name:"DOUBLE"};static default_DECIMAL={name:"DECIMAL"};static DECIMAL(r,t){return r===void 0&&t===void 0?e.default_DECIMAL:{name:"DECIMAL",width:r,scale:t}}static ENUM={name:"ENUM"};static GEOMETRY={name:"GEOMETRY"};static HUGEINT={name:"HUGEINT"};static INTEGER={name:"INTEGER"};static INTERVAL={name:"INTERVAL"};static LIST(r){return{name:"LIST",valueType:r}}static MAP(r,t){return{name:"MAP",keyType:r,valueType:t}}static REAL={name:"REAL"};static SMALLINT={name:"SMALLINT"};static SQLNULL={name:"SQLNULL"};static STRUCT(r){return{name:"STRUCT",entries:r}}static STRUCT_entry(r,t){return{key:r,valueType:t}}static TIME={name:"TIME"};static TIME_TZ={name:"TIME_TZ"};static TIMESTAMP={name:"TIMESTAMP"};static TIMESTAMP_S={name:"TIMESTAMP_S"};static TIMESTAMP_MS={name:"TIMESTAMP_MS"};static TIMESTAMP_NS={name:"TIMESTAMP_NS"};static TIMESTAMP_TZ={name:"TIMESTAMP_TZ"};static TINYINT={name:"TINYINT"};static UBIGINT={name:"UBIGINT"};static UINTEGER={name:"UINTEGER"};static USMALLINT={name:"USMALLINT"};static UTINYINT={name:"UTINYINT"};static UUID={name:"UUID"};static UNION(r){return{name:"UNION",alternatives:r}}static UNION_alternative(r,t){return{tag:r,valueType:t}}static VARCHAR={name:"VARCHAR"};static VARCHAR_withLength(r){return{name:"VARCHAR",length:r}}static WKB_BLOB={name:"WKB_BLOB"}};var Ls={BIGINT:c.BIGINT,BIT:c.BIT,BOOLEAN:c.BOOLEAN,BLOB:c.BLOB,DATE:c.DATE,DOUBLE:c.DOUBLE,ENUM:c.ENUM,GEOMETRY:c.GEOMETRY,HUGEINT:c.HUGEINT,INTEGER:c.INTEGER,INTERVAL:c.INTERVAL,FLOAT:c.REAL,SMALLINT:c.SMALLINT,SQLNULL:c.SQLNULL,TIME:c.TIME,TIMESTAMP:c.TIMESTAMP,TIMESTAMP_S:c.TIMESTAMP_S,TIMESTAMP_MS:c.TIMESTAMP_MS,TIMESTAMP_NS:c.TIMESTAMP_NS,TINYINT:c.TINYINT,UBIGINT:c.UBIGINT,UINTEGER:c.UINTEGER,USMALLINT:c.USMALLINT,UTINYINT:c.UTINYINT,UUID:c.UUID,VARCHAR:c.VARCHAR,WKB_BLOB:c.WKB_BLOB,"TIMESTAMP WITH TIME ZONE":c.TIMESTAMP_TZ,"TIME WITH TIME ZONE":c.TIME_TZ};function Pu(e){e=e.trim();let r=Au(e);if(r){if(e.startsWith("STRUCT"))return c.STRUCT(r);if(e.startsWith("MAP")){let[t,s]=r;return c.MAP(t.valueType,s.valueType)}if(e.startsWith("UNION"))return c.UNION(r.map(t=>({tag:t.key,valueType:t.valueType})))}}function Au(e){let t=/^(STRUCT|MAP|UNION)\s*\((.*)\)$/.exec(e);if(!t)return;let s=t[2];return Cu(s)}function Cu(e){let r=[],t=null,s=0,n=0;for(let i=0;i<e.length;i++){let o=e[i];if(t===null&&o!=="("&&o!==")"&&o!==","&&(t=i),o==='"'&&n++,o===","&&s===0&&n%2===0&&t!==null){let u=e.slice(t,i);r.push(Fs(u.trim())),t=null}else o==="("&&n%2===0&&s++,o===")"&&n%2===0&&s--}if(t!==null){let i=e.slice(t);r.push(Fs(i.trim()))}return r}function Fs(e){let t=/^(".*?"|\w+)\s+(.+)$/.exec(e);if(t){let s=t[1],n=he(t[2].trim());return{key:s,valueType:n}}else return{key:"",valueType:he(e)}}function Lu(e){let r=e.match(/^DECIMAL\((\d+),(\d+)\)$/);if(r)return c.DECIMAL(Number(r[1]),Number(r[2]))}function Fu(e){if(e.startsWith("ENUM"))return c.ENUM}function Mu(e){if(e.endsWith("[]")){let r=e.slice(0,-2);return c.LIST(he(r))}}function qu(e){let r=e.match(/\[(\d+)\]$/);if(r){let t=e.slice(0,-r[0].length),s=r[1];return c.ARRAY(he(t),Number(s))}}function he(e){if(e in Ls)return Ls[e];let r=Mu(e);if(r)return r;let t=qu(e);if(t)return t;let s=Lu(e);if(s)return s;let n=Fu(e);if(n)return n;let i=Pu(e);if(i)return i;throw Error(`unimplemented type match: ${e}`)}import{DateUnit as Ms,IntervalUnit as Ar,Precision as Cr,TimeUnit as x,Type as R,UnionMode as qs}from"apache-arrow";function j(e){switch(e.typeId){case R.Null:return c.SQLNULL;case R.Int:{let{isSigned:r,bitWidth:t}=e;if(r)switch(t){case 8:return c.TINYINT;case 16:return c.SMALLINT;case 32:return c.INTEGER;case 64:return c.BIGINT;default:throw Error(`unexpected integer bit width: ${t}`)}else switch(t){case 8:return c.UTINYINT;case 16:return c.USMALLINT;case 32:return c.UINTEGER;case 64:return c.UBIGINT;default:throw Error(`unexpected integer bit width: ${t}`)}}case R.Float:{let{precision:r}=e;switch(r){case Cr.HALF:throw Error("DuckDB does not support half-precision floats");case Cr.SINGLE:return c.REAL;case Cr.DOUBLE:return c.DOUBLE;default:throw Error(`unexpected precision: ${r}`)}}case R.Binary:return c.BLOB;case R.Utf8:return c.VARCHAR;case R.Bool:return c.BOOLEAN;case R.Decimal:{let{precision:r,scale:t}=e;return(r==null||r===18)&&(t==null||t===3)?c.DECIMAL():c.DECIMAL(r,t)}case R.Date:{let{unit:r}=e;switch(r){case Ms.DAY:return c.DATE;case Ms.MILLISECOND:throw Error("DuckDB does not support millisecond-unit dates");default:throw Error(`unexpected date unit: ${r}`)}}case R.Time:{let{unit:r}=e;switch(r){case x.SECOND:throw Error("DuckDB does not support second-unit times");case x.MILLISECOND:throw Error("DuckDB does not support millisecond-unit times");case x.MICROSECOND:return c.TIME;case x.NANOSECOND:throw Error("DuckDB does not support nanosecond-unit times");default:throw Error(`unexpected time unit: ${r}`)}}case R.Timestamp:{let{unit:r,timezone:t}=e;switch(r){case x.SECOND:if(t)throw Error("DuckDB does not support second-unit timestamps with timezone");return c.TIMESTAMP_S;case x.MILLISECOND:if(t)throw Error("DuckDB does not support millisecond-unit timestamps with timezone");return c.TIMESTAMP_MS;case x.MICROSECOND:return t?c.TIMESTAMP_TZ:c.TIMESTAMP;case x.NANOSECOND:if(t)throw Error("DuckDB does not support nanosecond-unit timestamps with timezone");return c.TIMESTAMP_NS;default:throw Error(`unexpected time unit: ${r}`)}}case R.Interval:{let{unit:r}=e;switch(r){case Ar.YEAR_MONTH:throw Error("DuckDB does not support year-month intervals");case Ar.DAY_TIME:throw Error("DuckDB does not support day-time intervals");case Ar.MONTH_DAY_NANO:return c.INTERVAL;default:throw Error(`unexpected interval unit: ${r}`)}}case R.List:{let{valueType:r}=e;return c.LIST(j(r))}case R.Struct:{let{children:r}=e,t=r.map(s=>({key:s.name,valueType:j(s.type)}));return c.STRUCT(t)}case R.Union:{let{mode:r}=e;switch(r){case qs.Dense:throw Error("DuckDB does not support dense unions");case qs.Sparse:{let t=e.children.map(s=>({tag:s.name,valueType:j(s.type)}));return c.UNION(t)}default:throw Error(`unexpected union mode: ${r}`)}}case R.FixedSizeBinary:throw Error("DuckDB does not support fixed-size binary");case R.FixedSizeList:{let{valueType:r,listSize:t}=e;return c.ARRAY(j(r),t)}case R.Map:{let{keyType:r,valueType:t}=e;return c.MAP(j(r),j(t))}case R.Dictionary:return c.ENUM;default:throw Error(`unexpected type id: ${e.typeId}`)}}function A(e){return e==null?"NULL":typeof e=="string"?`'${e.replace("'","''")}'`:String(e)}var m=class{toString(){return this.toDuckDBString()}};var Te=class extends m{values;constructor(r){super(),this.values=r}toDuckDBString(){return`[${this.values.map(A).join(", ")}]`}};function Us(e){let r="";for(let t of e)t<=31||t===34||t===39||t>=127?r+=`\\x${t.toString(16).toUpperCase().padStart(2,"0")}`:r+=String.fromCharCode(t);return r}var fe=class extends m{bytes;constructor(r){super(),this.bytes=r}toDuckDBString(){return Us(this.bytes)}};var Fr=BigInt(1e6),Uu=BigInt(1e3),Bu=BigInt(1e3),Bs=BigInt(60),xs=BigInt(60),ze=BigInt(864e8),xu=BigInt("-9223372036854775807"),ju=BigInt("9223372036854775807");function Gu(e,r,t){let s=String(Math.abs(e)).padStart(4,"0"),n=String(r).padStart(2,"0"),i=String(t).padStart(2,"0");return`${s}-${n}-${i}${e<0?" (BC)":""}`}function Mr(e){let r=Math.abs(e),t=e<0?-1:1,s=Math.floor(r/146097),n=t*s*400,i=r%146097,o=t*i*864e5,u=new Date(o),d=n+u.getUTCFullYear();d<0&&d--;let E=u.getUTCMonth()+1,h=u.getUTCDate();return Gu(d,E,h)}function Qu(e,r,t,s){let n=String(e).padStart(2,"0"),i=String(r).padStart(2,"0"),o=String(t).padStart(2,"0"),u=String(s).padStart(6,"0").replace(/0+$/,"");return`${n}:${i}:${o}${u.length>0?`.${u}`:""}`}function js(e){let r=e%Fr,t=e/Fr,s=t%Bs,n=t/Bs,i=n%xs,o=n/xs;return Qu(o,i,s,r)}function qr(e){let r=e<0?e+ze:e;return js(r)}function Wu(e){let r=e<0,t=r?-e:e,s=js(t);return r?`-${s}`:s}function Yu(e,r,t){let s=Mr(Number(e)),n=qr(r),i=t?` ${t}`:"";return`${s} ${n}${i}`}function Re(e,r){if(e===xu)return"-infinity";if(e===ju)return"infinity";let t=e/ze,s=e%ze;return s<0&&(t--,s+=ze),Yu(t,s,r)}function Gs(e,r){return Re(e*Fr,r)}function Qs(e,r){return Re(e*Uu,r)}function Ws(e,r){return Re(e/Bu,r)}function Lr(e,r){return`${e} ${r}${e!==1?"s":""}`}function Ys(e,r,t){let s=[];if(e!==0){let n=e<0?-1:1,i=Math.abs(e),o=Math.floor(i/12),u=n*o,d=n*(i-o*12);u!==0&&s.push(Lr(u,"year")),d!==0&&s.push(Lr(d,"month"))}return r!==0&&s.push(Lr(r,"day")),t!==BigInt(0)&&s.push(Wu(t)),s.length>0?s.join(" "):"00:00:00"}var _e=class extends m{days;constructor(r){super(),this.days=r}toDuckDBString(){return Mr(this.days)}};function Hu(e){return new Intl.NumberFormat(e,{useGrouping:!1}).formatToParts(.1).find(t=>t.type==="decimal")?.value??"."}var Ur={};function Ku(e){let r=JSON.stringify(e);if(r in Ur)return Ur[r];let t=Hu(e);return Ur[r]=t,t}function $u(e,r){if(e){let{minimumFractionDigits:t,maximumFractionDigits:s,...n}=e.options??{};return r.toLocaleString(e?.locales,n)}return String(r)}function Vu(e,r,t){let s=String(r).padStart(t,"0");if(!e)return s;let n=e?.options?.minimumFractionDigits??0,i=e?.options?.maximumFractionDigits??20;return s.padEnd(n,"0").slice(0,i)}function Br(e,r,t){if(r>0){let s=BigInt(10)**BigInt(r),n=e<0?-e:e,i=e<0?"-":"",o=n/s,u=$u(t,o),d=n%s,E=Vu(t,d,r),h=t?Ku(t.locales):".";return`${i}${u}${h}${E}`}return t?e.toLocaleString(t?.locales,t?.options):String(e)}var ge=class extends m{scaledValue;scale;constructor(r,t){super(),this.scaledValue=r,this.scale=t}toDuckDBString(){return Br(this.scaledValue,this.scale)}toLocaleString(r,t){return Br(this.scaledValue,this.scale,{locales:r,options:t})}};var Ie=class extends m{months;days;microseconds;constructor(r,t,s){super(),this.months=r,this.days=t,this.microseconds=s}toDuckDBString(){return Ys(this.months,this.days,this.microseconds)}};var ye=class extends m{values;constructor(r){super(),this.values=r}toDuckDBString(){return`[${this.values.map(A).join(", ")}]`}};var Se=class extends m{entries;constructor(r){super(),this.entries=r}toDuckDBString(){return`{${this.entries.map(({key:t,value:s})=>`${A(t)}: ${A(s)}`).join(", ")}}`}};var ve=class extends m{entries;constructor(r){super(),this.entries=r}toDuckDBString(){return`{${this.entries.map(({key:t,value:s})=>`${A(t)}: ${A(s)}`).join(", ")}}`}};var be=class extends m{microseconds;constructor(r){super(),this.microseconds=r}toDuckDBString(){return qr(this.microseconds)}};var we=class extends m{microseconds;timezone;constructor(r,t){super(),this.microseconds=r,this.timezone=t}toDuckDBString(){return Re(this.microseconds,this.timezone)}};var Ne=class extends m{milliseconds;constructor(r){super(),this.milliseconds=r}toDuckDBString(){return Qs(this.milliseconds)}};var ke=class extends m{nanoseconds;constructor(r){super(),this.nanoseconds=r}toDuckDBString(){return Ws(this.nanoseconds)}};var Oe=class extends m{seconds;constructor(r){super(),this.seconds=r}toDuckDBString(){return Gs(this.seconds)}};import{DateUnit as Hs,IntervalUnit as xr,Precision as jr,TimeUnit as G,Type as _,UnionMode as Ks}from"apache-arrow";var zu=new TextDecoder;function Ju(e,r,t){return e.getValid(r)?t(e,r):null}function y(e){return(r,t)=>Ju(r,t,e)}function Zu(e,r,t,s){return Array.from({length:t-r}).map((n,i)=>s(e,r+i))}function $s(e){return new BigInt64Array(e.values.buffer,e.values.byteOffset,e.values.length/2)}function Xu(e,r){return $s(e)[r]}function Je(e,r){return e.values[r]}function ed(e,r){let t=$s(e),s=t[r*2];return(t[r*2+1]<<BigInt(64))+(s&BigInt.asUintN(64,BigInt(-1)))}function Vs(e,r){let{values:t,valueOffsets:s}=e,n=s[r],i=s[r+1];return t.subarray(n,i)}function rd(e,r){return null}function td(e,r){return e.values[r]}var C=y(td);function sd(e,r){return new fe(Vs(e,r))}var nd=y(sd);function id(e,r){return zu.decode(Vs(e,r))}var ad=y(id);function od(e,r){let t=e.offset+r;return(e.values[t>>3]&1<<t%8)!==0}var cd=y(od);function ud(e,r){return new ge(ed(e,r),e.type.scale)}var dd=y(ud);function ld(e,r){return new _e(e.values[r])}var pd=y(ld);function Ed(e,r){return new be(e.values[r])}var md=y(Ed);function hd(e,r){return new Oe(Je(e,r))}var Td=y(hd);function fd(e,r){return new Ne(Je(e,r))}var Rd=y(fd);function _d(e,r){return new we(Je(e,r),e.type.timezone)}var gd=y(_d);function Id(e,r){return new ke(Je(e,r))}var yd=y(Id);function Sd(e,r){return new Ie(e.values[r*4],e.values[r*4+1],Xu(e,r*2+1)/BigInt(1e3))}var vd=y(Sd);function bd(e,r){let{children:t,valueOffsets:s}=e,n=s[r],i=s[r+1];return new ye(Js(t[0],n,i))}var wd=y(bd);function Nd(e,r){let t=[],{children:s,type:n}=e,i=n.children;for(let o=0;o<s.length;o++){let u=s[o],d=i[o].name,E=X(u,r);t.push({key:d,value:E})}return new ve(t)}var kd=y(Nd);function Od(e,r){let{children:t,typeIds:s}=e,n=s[r],i=e.type.typeIdToChildIndex[n],o=t[i];return X(o,r)}function Dd(e,r){let{children:t,type:s}=e,{listSize:n}=s,i=r*n,o=i+n;return new Te(Js(t[0],i,o))}var Pd=y(Dd);function Ad(e,r){let t=[],{children:s,valueOffsets:n}=e,i=n[r],o=n[r+1],[u,d]=s[0].children;for(let E=i;E<o;E++)t.push({key:X(u,E),value:X(d,E)});return new Se(t)}var Cd=y(Ad);function Ld(e,r){return e.dictionary&&e.dictionary.length>0?e.dictionary.get(e.values[r]):e.values[r]}var Fd=y(Ld);function zs(e){switch(e.typeId){case _.Null:return rd;case _.Int:{let{isSigned:r,bitWidth:t}=e;if(r)switch(t){case 8:return C;case 16:return C;case 32:return C;case 64:return C;default:throw Error(`unexpected integer bit width: ${t}`)}else switch(t){case 8:return C;case 16:return C;case 32:return C;case 64:return C;default:throw Error(`unexpected integer bit width: ${t}`)}}case _.Float:{let{precision:r}=e;switch(r){case jr.HALF:throw Error("DuckDB does not support half-precision floats");case jr.SINGLE:return C;case jr.DOUBLE:return C;default:throw Error(`unexpected precision: ${r}`)}}case _.Binary:return nd;case _.Utf8:return ad;case _.Bool:return cd;case _.Decimal:return dd;case _.Date:{let{unit:r}=e;switch(r){case Hs.DAY:return pd;case Hs.MILLISECOND:throw Error("DuckDB does not support millisecond-unit dates");default:throw Error(`unexpected date unit: ${r}`)}}case _.Time:{let{unit:r}=e;switch(r){case G.SECOND:throw Error("DuckDB does not support second-unit times");case G.MILLISECOND:throw Error("DuckDB does not support millisecond-unit times");case G.MICROSECOND:return md;case G.NANOSECOND:throw Error("DuckDB does not support nanosecond-unit times");default:throw Error(`unexpected time unit: ${r}`)}}case _.Timestamp:{let{unit:r,timezone:t}=e;switch(r){case G.SECOND:if(t)throw Error("DuckDB does not support second-unit timestamps with time zone");return Td;case G.MILLISECOND:if(t)throw Error("DuckDB does not support millisecond-unit timestamps with time zone");return Rd;case G.MICROSECOND:return gd;case G.NANOSECOND:if(t)throw Error("DuckDB does not support nanosecond-unit timestamps with time zone");return yd;default:throw Error(`unexpected time unit: ${r}`)}}case _.Interval:{let{unit:r}=e;switch(r){case xr.YEAR_MONTH:throw Error("DuckDB does not support year-month intervals");case xr.DAY_TIME:throw Error("DuckDB does not support day-time intervals");case xr.MONTH_DAY_NANO:return vd;default:throw Error(`unexpected interval unit: ${r}`)}}case _.List:return wd;case _.Struct:return kd;case _.Union:{let{mode:r}=e;switch(r){case Ks.Dense:throw Error("DuckDB does not support dense unions");case Ks.Sparse:return Od;default:throw Error(`unexpected union mode: ${r}`)}}case _.FixedSizeBinary:throw Error("DuckDB does not support fixed-size binary");case _.FixedSizeList:return Pd;case _.Map:return Cd;case _.Dictionary:return Fd;default:throw Error(`unexpected type id: ${e.typeId}`)}}function X(e,r){return zs(e.type)(e,r)}function Js(e,r,t){let s=zs(e.type);return Zu(e,r,t,s)}var Ze=class extends B{recordBatch;constructor(r){super(),this.recordBatch=r}get columnCount(){return this.recordBatch.schema.fields.length}get rowCount(){return this.recordBatch.data.length}columnName(r){return this.recordBatch.schema.fields[r].name}columnType(r){let t=this.recordBatch.schema.fields[r];return j(t.type)}value(r,t){let s=this.recordBatch.data.children[r];return X(s,t)}};var Gr=Object.freeze({done:!0,value:void 0}),ee=class{recordBatchIterator;constructor(r){this.recordBatchIterator=r}async next(){let{done:r,value:t}=await this.recordBatchIterator.next();return t?{done:!!r,value:new Ze(t)}:Gr}async return(r){return this.recordBatchIterator.return&&await this.recordBatchIterator.return(),r?{done:!0,value:r}:Gr}async throw(r){return this.recordBatchIterator.throw&&await this.recordBatchIterator.throw(r),Gr}[Symbol.asyncIterator](){return this}};async function Zs(){return new Promise(e=>{let r=URL.createObjectURL(new Blob(["self.postMessage({ canCreateWorker: !!self.Worker });"],{type:"application/javascript"})),t=new Worker(r);URL.revokeObjectURL(r),t.addEventListener("message",s);function s(n){t.removeEventListener("message",s),t.terminate(),e(!!n.data.canCreateWorker)}})}function De(e,r){return r.length===0?e:e.endsWith("/")?`${e}${r}`:`${e}/${r}`}function Md(e){return typeof e?.version=="string"}async function Xs(e){let t=await(await fetch(De(e.href,"version"))).json();if(!Md(t))throw new Error(`Unexpected version information: ${JSON.stringify(t)}`);let{version:s}=t;return s}function en(e,r){return De(De(e.href,r),"duckdb-wasm")}var rn="MD_EVENT";var re;(function(e){e.CATALOG_CHANGE_EVENT="CatalogChangeEvent"})(re||(re={}));var Xe=class extends CustomEvent{constructor(r,t){super(r,{detail:t})}},Pe=class extends Xe{constructor(r){super(re.CATALOG_CHANGE_EVENT,r)}};function tn(e){switch(e.data?.name){case re.CATALOG_CHANGE_EVENT:return new Pe(e.data);default:return null}}async function qd(e){return(await e.query("from MD_IS_NETWORK_READY();")).toArray()[0].Success}async function sn(e){for(let r=0;r<1e3;++r){if(await qd(e))return;await new Promise(t=>setTimeout(t,10))}throw new Error("Could not initialize worker after 10 seconds.")}async function nn(e){let{instance:r,logLevel:t,token:s}=e,n=e.extensionRepositoryUrlPrefix||new URL("https://app.motherduck.com"),i=e.apiUrl||new URL("https://api.motherduck.com"),o=e.extensionVersion??await Xs(n),u=en(n,o),d=r._worker;d&&d.addEventListener("message",S=>{if(S.data?.type!==rn)return;let I=tn(S);I?globalThis.dispatchEvent(I):console.warn(`Unrecognized MD_EVENT, name=${S.data?.name}`)}),!(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||await Zs())&&d&&d.addEventListener("message",S=>{if(S&&S.data&&S.data.type==="Initialize"){let I=new Worker(S.data.workerUrl);URL.revokeObjectURL(S.data.workerUrl),I.postMessage(S.data,[S.data.port])}});let T=await r.connect();try{await T.query(`SET custom_extension_repository="${u}";`),await T.query("LOAD motherduck;"),await T.query("RESET custom_extension_repository;"),await T.query(`SET motherduck_host='${i.hostname}';`),i.port&&await T.query(`SET motherduck_port='${i.port}';`),i.protocol==="http:"&&await T.query("SET motherduck_use_tls=false;"),await T.query(`SET motherduck_token='${s}';`),await sn(T),t&&await T.query(`SET motherduck_log_level='${t}';`)}finally{await T.close()}}var Ae;(function(e){e.NONE="none",e.ERROR="error",e.INFO="info",e.DEBUG="debug",e.TRACE="trace"})(Ae||(Ae={}));var an=null;function on(){return an}function er(e){an=e}import*as Qr from"apache-arrow";import*as el from"apache-arrow";var Ud=Object.create,cn=Object.defineProperty,Bd=Object.getOwnPropertyDescriptor,xd=Object.getOwnPropertyNames,jd=Object.getPrototypeOf,Gd=Object.prototype.hasOwnProperty,Qd=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Wd=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of xd(r))!Gd.call(e,n)&&n!==t&&cn(e,n,{get:()=>r[n],enumerable:!(s=Bd(r,n))||s.enumerable});return e},Yd=(e,r,t)=>(t=e!=null?Ud(jd(e)):{},Wd(r||!e||!e.__esModule?cn(t,"default",{value:e,enumerable:!0}):t,e)),Hd=Qd((e,r)=>{r.exports=Worker}),Kd=(e=>(e[e.UNDEFINED=0]="UNDEFINED",e[e.AUTOMATIC=1]="AUTOMATIC",e[e.READ_ONLY=2]="READ_ONLY",e[e.READ_WRITE=3]="READ_WRITE",e))(Kd||{}),un=(e=>(e[e.IDENTIFIER=0]="IDENTIFIER",e[e.NUMERIC_CONSTANT=1]="NUMERIC_CONSTANT",e[e.STRING_CONSTANT=2]="STRING_CONSTANT",e[e.OPERATOR=3]="OPERATOR",e[e.KEYWORD=4]="KEYWORD",e[e.COMMENT=5]="COMMENT",e))(un||{}),rr=(e=>(e[e.NONE=0]="NONE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARNING=3]="WARNING",e[e.ERROR=4]="ERROR",e))(rr||{}),$d=(e=>(e[e.NONE=0]="NONE",e[e.CONNECT=1]="CONNECT",e[e.DISCONNECT=2]="DISCONNECT",e[e.OPEN=3]="OPEN",e[e.QUERY=4]="QUERY",e[e.INSTANTIATE=5]="INSTANTIATE",e))($d||{}),Vd=(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",e))(Vd||{}),zd=(e=>(e[e.NONE=0]="NONE",e[e.WEB_WORKER=1]="WEB_WORKER",e[e.NODE_WORKER=2]="NODE_WORKER",e[e.BINDINGS=3]="BINDINGS",e[e.ASYNC_DUCKDB=4]="ASYNC_DUCKDB",e))(zd||{});var Jd=(e=>(e[e.SUCCESS=0]="SUCCESS",e))(Jd||{});var Zd=(e=>(e.CANCEL_PENDING_QUERY="CANCEL_PENDING_QUERY",e.CLOSE_PREPARED="CLOSE_PREPARED",e.COLLECT_FILE_STATISTICS="COLLECT_FILE_STATISTICS",e.CONNECT="CONNECT",e.COPY_FILE_TO_BUFFER="COPY_FILE_TO_BUFFER",e.COPY_FILE_TO_PATH="COPY_FILE_TO_PATH",e.CREATE_PREPARED="CREATE_PREPARED",e.DISCONNECT="DISCONNECT",e.DROP_FILE="DROP_FILE",e.DROP_FILES="DROP_FILES",e.EXPORT_FILE_STATISTICS="EXPORT_FILE_STATISTICS",e.FETCH_QUERY_RESULTS="FETCH_QUERY_RESULTS",e.FLUSH_FILES="FLUSH_FILES",e.GET_FEATURE_FLAGS="GET_FEATURE_FLAGS",e.GET_TABLE_NAMES="GET_TABLE_NAMES",e.GET_VERSION="GET_VERSION",e.GLOB_FILE_INFOS="GLOB_FILE_INFOS",e.INSERT_ARROW_FROM_IPC_STREAM="INSERT_ARROW_FROM_IPC_STREAM",e.INSERT_CSV_FROM_PATH="IMPORT_CSV_FROM_PATH",e.INSERT_JSON_FROM_PATH="IMPORT_JSON_FROM_PATH",e.INSTANTIATE="INSTANTIATE",e.OPEN="OPEN",e.PING="PING",e.POLL_PENDING_QUERY="POLL_PENDING_QUERY",e.REGISTER_FILE_BUFFER="REGISTER_FILE_BUFFER",e.REGISTER_FILE_HANDLE="REGISTER_FILE_HANDLE",e.REGISTER_FILE_URL="REGISTER_FILE_URL",e.RESET="RESET",e.RUN_PREPARED="RUN_PREPARED",e.RUN_QUERY="RUN_QUERY",e.SEND_PREPARED="SEND_PREPARED",e.START_PENDING_QUERY="START_PENDING_QUERY",e.TOKENIZE="TOKENIZE",e))(Zd||{}),Xd=(e=>(e.CONNECTION_INFO="CONNECTION_INFO",e.ERROR="ERROR",e.FEATURE_FLAGS="FEATURE_FLAGS",e.FILE_BUFFER="FILE_BUFFER",e.FILE_INFOS="FILE_INFOS",e.FILE_SIZE="FILE_SIZE",e.FILE_STATISTICS="FILE_STATISTICS",e.INSTANTIATE_PROGRESS="INSTANTIATE_PROGRESS",e.LOG="LOG",e.OK="OK",e.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",e.QUERY_PLAN="QUERY_PLAN",e.QUERY_RESULT="QUERY_RESULT",e.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",e.QUERY_RESULT_HEADER="QUERY_RESULT_HEADER",e.QUERY_RESULT_HEADER_OR_NULL="QUERY_RESULT_HEADER_OR_NULL",e.REGISTERED_FILE="REGISTERED_FILE",e.SCRIPT_TOKENS="SCRIPT_TOKENS",e.SUCCESS="SUCCESS",e.TABLE_NAMES="TABLE_NAMES",e.VERSION_STRING="VERSION_STRING",e))(Xd||{});var pg=new TextEncoder;var Wr={name:"@duckdb/duckdb-wasm",version:"1.28.1-dev234.0",description:"DuckDB powered by WebAssembly",license:"MIT",repository:{type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},keywords:["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],dependencies:{"apache-arrow":"^16.0.0"},devDependencies:{"@types/emscripten":"^1.39.10","@types/jasmine":"^5.1.4","@typescript-eslint/eslint-plugin":"^6.21.0","@typescript-eslint/parser":"^6.21.0",esbuild:"^0.20.2",eslint:"^8.57.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.34.0","fast-glob":"^3.3.2",jasmine:"^5.1.0","jasmine-core":"^5.1.2","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.11.0",karma:"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-coverage":"^2.2.1","karma-firefox-launcher":"^2.1.3","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.1.0","karma-sourcemap-loader":"^0.4.0","karma-spec-reporter":"^0.0.36","make-dir":"^4.0.0",nyc:"^15.1.0",prettier:"^3.2.5",puppeteer:"^22.8.0",rimraf:"^5.0.5",s3rver:"^3.7.1",typedoc:"^0.25.13",typescript:"^5.3.3","wasm-feature-detect":"^1.6.1","web-worker":"^1.2.0"},scripts:{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly",docs:"typedoc",report:"node ./coverage.mjs","test:node":"node --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node ../../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/tests-*","!dist/duckdb-browser-mvp.worker.js.map","!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-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":{node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",import:"./dist/duckdb-node-blocking.cjs"},types:"./dist/duckdb-node-blocking.d.ts",import:"./dist/duckdb-node-blocking.mjs",require:"./dist/duckdb-node-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"}}},Eg=Wr.name,mg=Wr.version,Yr=Wr.version.split("."),hg=Yr[0],Tg=Yr[1],fg=Yr[2];var Rg=Yd(Hd());function rl(){let e=new TextDecoder;return r=>(typeof SharedArrayBuffer<"u"&&r.buffer instanceof SharedArrayBuffer&&(r=new Uint8Array(r)),e.decode(r))}var _g=rl(),Hr=(e=>(e[e.BUFFER=0]="BUFFER",e[e.NODE_FS=1]="NODE_FS",e[e.BROWSER_FILEREADER=2]="BROWSER_FILEREADER",e[e.BROWSER_FSACCESS=3]="BROWSER_FSACCESS",e[e.HTTP=4]="HTTP",e[e.S3=5]="S3",e))(Hr||{});import*as L from"apache-arrow";import*as l from"apache-arrow";var tl=Object.create,dn=Object.defineProperty,sl=Object.getOwnPropertyDescriptor,nl=Object.getOwnPropertyNames,il=Object.getPrototypeOf,al=Object.prototype.hasOwnProperty,ol=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),cl=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of nl(r))!al.call(e,n)&&n!==t&&dn(e,n,{get:()=>r[n],enumerable:!(s=sl(r,n))||s.enumerable});return e},ul=(e,r,t)=>(t=e!=null?tl(il(e)):{},cl(r||!e||!e.__esModule?dn(t,"default",{value:e,enumerable:!0}):t,e)),dl=ol((e,r)=>{r.exports=Worker}),ll=(e=>(e[e.UNDEFINED=0]="UNDEFINED",e[e.AUTOMATIC=1]="AUTOMATIC",e[e.READ_ONLY=2]="READ_ONLY",e[e.READ_WRITE=3]="READ_WRITE",e))(ll||{}),pl=(e=>(e[e.IDENTIFIER=0]="IDENTIFIER",e[e.NUMERIC_CONSTANT=1]="NUMERIC_CONSTANT",e[e.STRING_CONSTANT=2]="STRING_CONSTANT",e[e.OPERATOR=3]="OPERATOR",e[e.KEYWORD=4]="KEYWORD",e[e.COMMENT=5]="COMMENT",e))(pl||{}),El=(e=>(e[e.NONE=0]="NONE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARNING=3]="WARNING",e[e.ERROR=4]="ERROR",e))(El||{}),ml=(e=>(e[e.NONE=0]="NONE",e[e.CONNECT=1]="CONNECT",e[e.DISCONNECT=2]="DISCONNECT",e[e.OPEN=3]="OPEN",e[e.QUERY=4]="QUERY",e[e.INSTANTIATE=5]="INSTANTIATE",e))(ml||{}),hl=(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",e))(hl||{}),Tl=(e=>(e[e.NONE=0]="NONE",e[e.WEB_WORKER=1]="WEB_WORKER",e[e.NODE_WORKER=2]="NODE_WORKER",e[e.BINDINGS=3]="BINDINGS",e[e.ASYNC_DUCKDB=4]="ASYNC_DUCKDB",e))(Tl||{});var ln=class{constructor(e=2){this.level=e}log(e){e.level>=this.level&&console.log(e)}};var fl=(e=>(e[e.SUCCESS=0]="SUCCESS",e))(fl||{}),Rl=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=L.RecordBatchReader.from(r);return console.assert(t.isSync(),"Reader is not sync"),console.assert(t.isFile(),"Reader is not file"),new L.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 pn(this._bindings,this._conn,r),s=await L.RecordBatchReader.from(t);return console.assert(s.isAsync()),console.assert(s.isStream()),s}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 _l(this._bindings,this._conn,r)}async insertArrowTable(e,r){let t=L.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)}},pn=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}},_l=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=L.RecordBatchReader.from(r);return console.assert(t.isSync()),console.assert(t.isFile()),new L.Table(t)}async send(...e){let r=await this.bindings.sendPrepared(this.connectionId,this.statementId,e),t=new pn(this.bindings,this.connectionId,r),s=await L.RecordBatchReader.from(t);return console.assert(s.isAsync()),console.assert(s.isStream()),s}},gl=(e=>(e.CANCEL_PENDING_QUERY="CANCEL_PENDING_QUERY",e.CLOSE_PREPARED="CLOSE_PREPARED",e.COLLECT_FILE_STATISTICS="COLLECT_FILE_STATISTICS",e.CONNECT="CONNECT",e.COPY_FILE_TO_BUFFER="COPY_FILE_TO_BUFFER",e.COPY_FILE_TO_PATH="COPY_FILE_TO_PATH",e.CREATE_PREPARED="CREATE_PREPARED",e.DISCONNECT="DISCONNECT",e.DROP_FILE="DROP_FILE",e.DROP_FILES="DROP_FILES",e.EXPORT_FILE_STATISTICS="EXPORT_FILE_STATISTICS",e.FETCH_QUERY_RESULTS="FETCH_QUERY_RESULTS",e.FLUSH_FILES="FLUSH_FILES",e.GET_FEATURE_FLAGS="GET_FEATURE_FLAGS",e.GET_TABLE_NAMES="GET_TABLE_NAMES",e.GET_VERSION="GET_VERSION",e.GLOB_FILE_INFOS="GLOB_FILE_INFOS",e.INSERT_ARROW_FROM_IPC_STREAM="INSERT_ARROW_FROM_IPC_STREAM",e.INSERT_CSV_FROM_PATH="IMPORT_CSV_FROM_PATH",e.INSERT_JSON_FROM_PATH="IMPORT_JSON_FROM_PATH",e.INSTANTIATE="INSTANTIATE",e.OPEN="OPEN",e.PING="PING",e.POLL_PENDING_QUERY="POLL_PENDING_QUERY",e.REGISTER_FILE_BUFFER="REGISTER_FILE_BUFFER",e.REGISTER_FILE_HANDLE="REGISTER_FILE_HANDLE",e.REGISTER_FILE_URL="REGISTER_FILE_URL",e.RESET="RESET",e.RUN_PREPARED="RUN_PREPARED",e.RUN_QUERY="RUN_QUERY",e.SEND_PREPARED="SEND_PREPARED",e.START_PENDING_QUERY="START_PENDING_QUERY",e.TOKENIZE="TOKENIZE",e))(gl||{}),Il=(e=>(e.CONNECTION_INFO="CONNECTION_INFO",e.ERROR="ERROR",e.FEATURE_FLAGS="FEATURE_FLAGS",e.FILE_BUFFER="FILE_BUFFER",e.FILE_INFOS="FILE_INFOS",e.FILE_SIZE="FILE_SIZE",e.FILE_STATISTICS="FILE_STATISTICS",e.INSTANTIATE_PROGRESS="INSTANTIATE_PROGRESS",e.LOG="LOG",e.OK="OK",e.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",e.QUERY_PLAN="QUERY_PLAN",e.QUERY_RESULT="QUERY_RESULT",e.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",e.QUERY_RESULT_HEADER="QUERY_RESULT_HEADER",e.QUERY_RESULT_HEADER_OR_NULL="QUERY_RESULT_HEADER_OR_NULL",e.REGISTERED_FILE="REGISTERED_FILE",e.SCRIPT_TOKENS="SCRIPT_TOKENS",e.SUCCESS="SUCCESS",e.TABLE_NAMES="TABLE_NAMES",e.VERSION_STRING="VERSION_STRING",e))(Il||{}),p=class{constructor(e,r){this.promiseResolver=()=>{},this.promiseRejecter=()=>{},this.type=e,this.data=r,this.promise=new Promise((t,s)=>{this.promiseResolver=t,this.promiseRejecter=s})}};function tr(e){switch(e.typeId){case l.Type.Binary:return{sqlType:"binary"};case l.Type.Bool:return{sqlType:"bool"};case l.Type.Date:return{sqlType:"date"};case l.Type.DateDay:return{sqlType:"date32[d]"};case l.Type.DateMillisecond:return{sqlType:"date64[ms]"};case l.Type.Decimal:{let r=e;return{sqlType:"decimal",precision:r.precision,scale:r.scale}}case l.Type.Float:return{sqlType:"float"};case l.Type.Float16:return{sqlType:"float16"};case l.Type.Float32:return{sqlType:"float32"};case l.Type.Float64:return{sqlType:"float64"};case l.Type.Int:return{sqlType:"int32"};case l.Type.Int16:return{sqlType:"int16"};case l.Type.Int32:return{sqlType:"int32"};case l.Type.Int64:return{sqlType:"int64"};case l.Type.Uint16:return{sqlType:"uint16"};case l.Type.Uint32:return{sqlType:"uint32"};case l.Type.Uint64:return{sqlType:"uint64"};case l.Type.Uint8:return{sqlType:"uint8"};case l.Type.IntervalDayTime:return{sqlType:"interval[dt]"};case l.Type.IntervalYearMonth:return{sqlType:"interval[m]"};case l.Type.List:return{sqlType:"list",valueType:tr(e.valueType)};case l.Type.FixedSizeBinary:return{sqlType:"fixedsizebinary",byteWidth:e.byteWidth};case l.Type.Null:return{sqlType:"null"};case l.Type.Utf8:return{sqlType:"utf8"};case l.Type.Struct:return{sqlType:"struct",fields:e.children.map(r=>Zr(r.name,r.type))};case l.Type.Map:{let r=e;return{sqlType:"map",keyType:tr(r.keyType),valueType:tr(r.valueType)}}case l.Type.Time:return{sqlType:"time[s]"};case l.Type.TimeMicrosecond:return{sqlType:"time[us]"};case l.Type.TimeMillisecond:return{sqlType:"time[ms]"};case l.Type.TimeNanosecond:return{sqlType:"time[ns]"};case l.Type.TimeSecond:return{sqlType:"time[s]"};case l.Type.Timestamp:return{sqlType:"timestamp",timezone:e.timezone||void 0};case l.Type.TimestampSecond:return{sqlType:"timestamp[s]",timezone:e.timezone||void 0};case l.Type.TimestampMicrosecond:return{sqlType:"timestamp[us]",timezone:e.timezone||void 0};case l.Type.TimestampNanosecond:return{sqlType:"timestamp[ns]",timezone:e.timezone||void 0};case l.Type.TimestampMillisecond:return{sqlType:"timestamp[ms]",timezone:e.timezone||void 0}}throw new Error("unsupported arrow type: ".concat(e.toString()))}function Zr(e,r){let t=tr(r);return t.name=e,t}var yl=new TextEncoder,En=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){var r;let t=e.data;switch(t.type){case"LOG":{this._logger.log(t.data);return}case"INSTANTIATE_PROGRESS":{for(let n of this._onInstantiationProgress)n(t.data);return}}let s=this._pendingRequests.get(t.requestId);if(!s){console.warn("unassociated response: [".concat(t.requestId,", ").concat(t.type.toString(),"]"));return}if(this._pendingRequests.delete(t.requestId),t.type=="ERROR"){let n=new Error(t.data.message);n.name=t.data.name,(r=Object.getOwnPropertyDescriptor(n,"stack"))!=null&&r.writable&&(n.stack=t.data.stack),s.promiseRejecter(n);return}switch(s.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(t.type=="OK"){s.promiseResolver(t.data);return}break;case"INSTANTIATE":if(this._onInstantiationProgress=[],t.type=="OK"){s.promiseResolver(t.data);return}break;case"GLOB_FILE_INFOS":if(t.type=="FILE_INFOS"){s.promiseResolver(t.data);return}break;case"GET_VERSION":if(t.type=="VERSION_STRING"){s.promiseResolver(t.data);return}break;case"GET_FEATURE_FLAGS":if(t.type=="FEATURE_FLAGS"){s.promiseResolver(t.data);return}break;case"GET_TABLE_NAMES":if(t.type=="TABLE_NAMES"){s.promiseResolver(t.data);return}break;case"TOKENIZE":if(t.type=="SCRIPT_TOKENS"){s.promiseResolver(t.data);return}break;case"COPY_FILE_TO_BUFFER":if(t.type=="FILE_BUFFER"){s.promiseResolver(t.data);return}break;case"EXPORT_FILE_STATISTICS":if(t.type=="FILE_STATISTICS"){s.promiseResolver(t.data);return}break;case"CONNECT":if(t.type=="CONNECTION_INFO"){s.promiseResolver(t.data);return}break;case"RUN_PREPARED":case"RUN_QUERY":if(t.type=="QUERY_RESULT"){s.promiseResolver(t.data);return}break;case"SEND_PREPARED":if(t.type=="QUERY_RESULT_HEADER"){s.promiseResolver(t.data);return}break;case"START_PENDING_QUERY":if(t.type=="QUERY_RESULT_HEADER_OR_NULL"){s.promiseResolver(t.data);return}break;case"POLL_PENDING_QUERY":if(t.type=="QUERY_RESULT_HEADER_OR_NULL"){s.promiseResolver(t.data);return}break;case"CANCEL_PENDING_QUERY":if(this._onInstantiationProgress=[],t.type=="SUCCESS"){s.promiseResolver(t.data);return}break;case"FETCH_QUERY_RESULTS":if(t.type=="QUERY_RESULT_CHUNK"){s.promiseResolver(t.data);return}break;case"CREATE_PREPARED":if(t.type=="PREPARED_STATEMENT_ID"){s.promiseResolver(t.data);return}break}s.promiseRejecter(new Error("unexpected response type: ".concat(t.type.toString())))}onError(e){console.error(e),console.error("error in duckdb worker: ".concat(e.message)),this._pendingRequests.clear()}onClose(){if(this._workerShutdownResolver(null),this._pendingRequests.size!=0){console.warn("worker terminated with ".concat(this._pendingRequests.size," pending requests"));return}this._pendingRequests.clear()}async reset(){let e=new p("RESET",null);return await this.postTask(e)}async ping(){let e=new p("PING",null);await this.postTask(e)}async dropFile(e){let r=new p("DROP_FILE",e);return await this.postTask(r)}async dropFiles(){let e=new p("DROP_FILES",null);return await this.postTask(e)}async flushFiles(){let e=new p("FLUSH_FILES",null);return await this.postTask(e)}async instantiate(e,r=null,t=s=>{}){this._onInstantiationProgress.push(t);let s=new p("INSTANTIATE",[e,r]);return await this.postTask(s)}async getVersion(){let e=new p("GET_VERSION",null);return await this.postTask(e)}async getFeatureFlags(){let e=new p("GET_FEATURE_FLAGS",null);return await this.postTask(e)}async open(e){let r=new p("OPEN",e);await this.postTask(r)}async tokenize(e){let r=new p("TOKENIZE",e);return await this.postTask(r)}async connectInternal(){let e=new p("CONNECT",null);return await this.postTask(e)}async connect(){let e=await this.connectInternal();return new Rl(this,e)}async disconnect(e){let r=new p("DISCONNECT",e);await this.postTask(r)}async runQuery(e,r){let t=new p("RUN_QUERY",[e,r]);return await this.postTask(t)}async startPendingQuery(e,r){let t=new p("START_PENDING_QUERY",[e,r]);return await this.postTask(t)}async pollPendingQuery(e){let r=new p("POLL_PENDING_QUERY",e);return await this.postTask(r)}async cancelPendingQuery(e){let r=new p("CANCEL_PENDING_QUERY",e);return await this.postTask(r)}async fetchQueryResults(e){let r=new p("FETCH_QUERY_RESULTS",e);return await this.postTask(r)}async getTableNames(e,r){let t=new p("GET_TABLE_NAMES",[e,r]);return await this.postTask(t)}async createPrepared(e,r){let t=new p("CREATE_PREPARED",[e,r]);return await this.postTask(t)}async closePrepared(e,r){let t=new p("CLOSE_PREPARED",[e,r]);await this.postTask(t)}async runPrepared(e,r,t){let s=new p("RUN_PREPARED",[e,r,t]);return await this.postTask(s)}async sendPrepared(e,r,t){let s=new p("SEND_PREPARED",[e,r,t]);return await this.postTask(s)}async globFiles(e){let r=new p("GLOB_FILE_INFOS",e);return await this.postTask(r)}async registerFileText(e,r){let t=yl.encode(r);await this.registerFileBuffer(e,t)}async registerFileURL(e,r,t,s){r===void 0&&(r=e);let n=new p("REGISTER_FILE_URL",[e,r,t,s]);await this.postTask(n)}async registerEmptyFileBuffer(e){}async registerFileBuffer(e,r){let t=new p("REGISTER_FILE_BUFFER",[e,r]);await this.postTask(t,[r.buffer])}async registerFileHandle(e,r,t,s){let n=new p("REGISTER_FILE_HANDLE",[e,r,t,s]);await this.postTask(n,[])}async collectFileStatistics(e,r){let t=new p("COLLECT_FILE_STATISTICS",[e,r]);await this.postTask(t,[])}async exportFileStatistics(e){let r=new p("EXPORT_FILE_STATISTICS",e);return await this.postTask(r,[])}async copyFileToBuffer(e){let r=new p("COPY_FILE_TO_BUFFER",e);return await this.postTask(r)}async copyFileToPath(e,r){let t=new p("COPY_FILE_TO_PATH",[e,r]);await this.postTask(t)}async insertArrowFromIPCStream(e,r,t){if(r.length==0)return;let s=new p("INSERT_ARROW_FROM_IPC_STREAM",[e,r,t]);await this.postTask(s,[r.buffer])}async insertCSVFromPath(e,r,t){if(t.columns!==void 0){let n=[];for(let i in t.columns){let o=t.columns[i];n.push(Zr(i,o))}t.columnsFlat=n,delete t.columns}let s=new p("IMPORT_CSV_FROM_PATH",[e,r,t]);await this.postTask(s)}async insertJSONFromPath(e,r,t){if(t.columns!==void 0){let n=[];for(let i in t.columns){let o=t.columns[i];n.push(Zr(i,o))}t.columnsFlat=n,delete t.columns}let s=new p("IMPORT_JSON_FROM_PATH",[e,r,t]);await this.postTask(s)}};var Sl=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])),vl=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])),bl=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])),wl=()=>(async e=>{try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch{return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])),Xr={name:"@duckdb/duckdb-wasm",version:"1.28.1-dev234.0",description:"DuckDB powered by WebAssembly",license:"MIT",repository:{type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},keywords:["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],dependencies:{"apache-arrow":"^16.0.0"},devDependencies:{"@types/emscripten":"^1.39.10","@types/jasmine":"^5.1.4","@typescript-eslint/eslint-plugin":"^6.21.0","@typescript-eslint/parser":"^6.21.0",esbuild:"^0.20.2",eslint:"^8.57.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.34.0","fast-glob":"^3.3.2",jasmine:"^5.1.0","jasmine-core":"^5.1.2","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.11.0",karma:"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-coverage":"^2.2.1","karma-firefox-launcher":"^2.1.3","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.1.0","karma-sourcemap-loader":"^0.4.0","karma-spec-reporter":"^0.0.36","make-dir":"^4.0.0",nyc:"^15.1.0",prettier:"^3.2.5",puppeteer:"^22.8.0",rimraf:"^5.0.5",s3rver:"^3.7.1",typedoc:"^0.25.13",typescript:"^5.3.3","wasm-feature-detect":"^1.6.1","web-worker":"^1.2.0"},scripts:{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly",docs:"typedoc",report:"node ./coverage.mjs","test:node":"node --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node ../../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/tests-*","!dist/duckdb-browser-mvp.worker.js.map","!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-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":{node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",import:"./dist/duckdb-node-blocking.cjs"},types:"./dist/duckdb-node-blocking.d.ts",import:"./dist/duckdb-node-blocking.mjs",require:"./dist/duckdb-node-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"}}},Ig=Xr.name,yg=Xr.version,et=Xr.version.split("."),Sg=et[0],vg=et[1],bg=et[2],Nl=()=>typeof navigator>"u";var Kr=null,$r=null,Vr=null,zr=null,Jr=null;async function kl(){return Kr==null&&(Kr=typeof BigInt64Array<"u"),$r==null&&($r=await vl()),Vr==null&&(Vr=await wl()),zr==null&&(zr=await bl()),Jr==null&&(Jr=await Sl()),{bigInt64Array:Kr,crossOriginIsolated:Nl()||globalThis.crossOriginIsolated||!1,wasmExceptions:$r,wasmSIMD:zr,wasmThreads:Vr,wasmBulkMemory:Jr}}async function mn(e){let r=await kl();if(r.wasmExceptions){if(r.wasmSIMD&&r.wasmThreads&&r.crossOriginIsolated&&e.coi)return{mainModule:e.coi.mainModule,mainWorker:e.coi.mainWorker,pthreadWorker:e.coi.pthreadWorker};if(e.eh)return{mainModule:e.eh.mainModule,mainWorker:e.eh.mainWorker,pthreadWorker:null}}return{mainModule:e.mvp.mainModule,mainWorker:e.mvp.mainWorker,pthreadWorker:null}}var wg=ul(dl());function Ol(){let e=new TextDecoder;return r=>(typeof SharedArrayBuffer<"u"&&r.buffer instanceof SharedArrayBuffer&&(r=new Uint8Array(r)),e.decode(r))}var Ng=Ol(),Dl=(e=>(e[e.BUFFER=0]="BUFFER",e[e.NODE_FS=1]="NODE_FS",e[e.BROWSER_FILEREADER=2]="BROWSER_FILEREADER",e[e.BROWSER_FSACCESS=3]="BROWSER_FSACCESS",e[e.HTTP=4]="HTTP",e[e.S3=5]="S3",e))(Dl||{});function hn(e){return URL.createObjectURL(new Blob([`importScripts("${e}");`],{type:"text/javascript"}))}function rt(e){let r=/^https?:\/\//.test(e);return r?{crossOrigin:r,url:hn(e)}:{crossOrigin:r,url:e}}function Tn(e){let r=e?.inputPrefix,t=e?.includeCOI,s=r?r.endsWith("/")?r:r+"/":"/",n={eh:{mainModule:s+"duckdb-eh.wasm",mainWorker:s+"duckdb-browser-eh.worker.js"},mvp:{mainModule:s+"duckdb-mvp.wasm",mainWorker:s+"duckdb-browser-mvp.worker.js"}};return t&&(n.coi={mainModule:s+"duckdb-coi.wasm",mainWorker:s+"duckdb-browser-coi.worker.js",pthreadWorker:s+"duckdb-browser-coi.pthread.worker.js"}),n}async function fn(e){let r=await mn(e?.bundles??Tn({includeCOI:e?.includeCOI}));if(!r.mainWorker)throw new Error("Main worker not found");let t=rt(r.mainWorker),s=r.pthreadWorker?rt(r.pthreadWorker):null,n=e?.logger??new ln(e?.logLevel),i=new Worker(t.url),o=e?.createAsyncDuckDB?e.createAsyncDuckDB(n,i):new En(n,i);return await o.instantiate(r.mainModule,s?.url,e?.progress),t.crossOrigin&&URL.revokeObjectURL(t.url),s?.crossOrigin&&URL.revokeObjectURL(s.url),o}import{Table as Wg}from"apache-arrow";function Q(e,r){return r.length===0?e:e.endsWith("/")?`${e}${r}`:`${e}/${r}`}var Pl="0.10-plus",Rn="app.motherduck.com",_n="app.staging.motherduck.com";async function gn(e){let r=e.startsWith(`https://${Rn}`),t=e.startsWith(`https://${_n}`);return r||t?(await(await fetch(Q(e,`duckdb_version_range/${Pl}/manifest`))).json())[t?_n:Rn]:(await(await fetch(Q(e,"version"))).json()).version}function In(e){return!e||e.startsWith("DEV-")?"":e}function tt(e,r){for(let t in r)typeof r[t]=="object"?tt(e,r[t]):r[t]=Q(e,r[t]);return r}async function yn(e,r){let t=In(r),s=Q(e,t),n=Q(s,"duckdb-assets.json"),o=await(await fetch(n)).json();return tt(s,o)}async function Sn(e,r,t){let{coi:s,eh:n,mvp:i}=await yn(e,r);if(!i)throw new Error("Could not find mvp in duckdb-assets.json");let o={mvp:i,eh:n};return t&&(o.coi=s),o}async function vn(e){let r=e.duckDBAssetsURLPrefix||"https://app.motherduck.com/",t=e.version||await gn(r),s=t?.startsWith("DEV-"),n=await Sn(r,t,e.useDuckDBWasmCOI),i=await fn({bundles:n,logLevel:e.enableDebugLogging?rr.INFO:rr.WARNING});s&&await i.open({allowUnsignedExtensions:!0});let o=await i.connect();return await o.query("LOAD icu;"),await o.close(),await nn({instance:i,token:e.mdToken,extensionRepositoryUrlPrefix:new URL(r==="/"?window.origin:r),extensionVersion:s?"":t,apiUrl:e.mdServerURL?new URL(e.mdServerURL):void 0,logLevel:e.enableDebugLogging?Ae.DEBUG:Ae.ERROR}),er(i),i}async function te(e){let r=on();return r||(r=vn(e),er(r),r)}var se=class{connection=null;deferredConnection;query;args;constructor(r,t,s){this.deferredConnection=r,this.query=t,this.args=s}async run(){let r=performance.now(),t=await this.sendQuery(),s=new ee(t),n=new Z(s);await n.readAll();let i=performance.now();return{type:"materialized",startTimeMs:r,endTimeMs:i,data:n}}async cancel(){return(this.connection||await this.getConnection()).cancelSent()}async getConnection(){return this.connection=await this.deferredConnection,this.connection}async sendQuery(){let r=this.connection||await this.getConnection();return this.args&&this.args?.length>0?(await r.prepare(this.query)).send(...this.args):r.send(this.query)}};var Ce=class{connection=null;deferredConnection;query;args;constructor(r,t,s){this.deferredConnection=r,this.query=t,this.args=s}async run(){let r=await this.sendQuery(),t=new ee(r),s=new Z(t);return{type:"streaming",arrowStream:r,dataStream:t,dataReader:s}}async cancel(){return(this.connection||await this.getConnection()).cancelSent()}async getConnection(){return this.connection=await this.deferredConnection,this.connection}async sendQuery(){let r=this.connection||await this.getConnection();return this.args&&this.args?.length>0?(await r.prepare(this.query)).send(this.args):r.send(this.query)}};var JS=Du(Ru());var Pr=class{nextTaskId=1;queuedTaskIds=[];queuedTasksById={};processingQueue=!1;logSink;constructor(r){this.logSink=r}incompleteTaskCount(){let r=0;for(let t of this.queuedTaskIds){let s=this.queuedTasksById[t];s&&(s.state===0||s.state===1)&&r++}return r}enqueueTask(r){let t=this.createTaskId();return this.logDebug(`enqueueTask: creating task id = ${t}`),this.addQueuedTask({id:t,task:r,state:0,deferred:Promise.withResolvers(),cancelled:!1}),this.scheduleProcessQueueIfNeeded(),t}async cancelTask(r,t){this.logDebug(`cancelTask(${r}): called`);let s=this.queuedTasksById[r];if(!s)throw new Error(`Task with id ${r} not found`);switch(s.state){case 0:return s.cancelled?this.logDebug(`cancelTask(${r}): cancelling pending task (already cancelled)`):(this.logDebug(`cancelTask(${r}): cancelling pending task`),s.cancelled=!0,s.deferred.reject(new Error(t??"pending task cancelled")),this.scheduleProcessQueueIfNeeded()),!0;case 1:return this.logDebug(`cancelTask(${r}): cancelling running task`),s.cancelled=!0,s.task.cancel();case 2:return this.logDebug(`cancelTask(${r}): can't cancel resolved task`),!1;case 3:return this.logDebug(`cancelTask(${r}): can't cancel rejected task`),!1;default:throw s.state,new Error("unreachable")}}taskResult(r){this.logDebug(`taskResults(${r}): called`);let t=this.queuedTasksById[r];if(!t)throw new Error(`Task with id ${r} not found`);return t.deferred.promise}logDebug(r){this.logSink&&this.logSink.debug(r)}logWarn(r){this.logSink&&this.logSink.warn(r)}createTaskId(){return`t${this.nextTaskId++}`}addQueuedTask(r){this.queuedTaskIds.push(r.id),this.queuedTasksById[r.id]=r}scheduleProcessQueueIfNeeded(){this.processingQueue?this.logDebug("scheduleProcessQueueIfNeeded: processQueue already scheduled"):(this.logDebug("scheduleProcessQueueIfNeeded: scheduling processQueue"),this.processingQueue=!0,setTimeout(()=>{this.processQueue(),this.processingQueue=!1},0))}processQueue(){this.logDebug("processQueue: processing started");let r;do r=this.processFirstQueuedTask();while(r);this.logDebug("processQueue: processing completed")}processFirstQueuedTask(){if(this.queuedTaskIds.length===0)return this.logDebug("processFirstQueuedTask: queue empty"),!1;let r=this.queuedTaskIds[0];this.logDebug(`processFirstQueuedTask: processing task ${r}`);let t=this.queuedTasksById[r];if(!t)return this.logWarn(`processFirstQueuedTask: task ${r} not found in map`),this.queuedTaskIds.shift(),!0;switch(t.state){case 0:return t.cancelled?(this.logDebug(`processFirstQueuedTask: removing cancelled pending task ${r} from queue`),this.queuedTaskIds.shift(),delete this.queuedTasksById[t.id],!0):(this.logDebug(`processFirstQueuedTask: running pending task ${r}`),t.state=1,t.task.run().then(s=>{this.logDebug(`processFirstQueuedTask: task ${r} resolved`),t.state=2,t.deferred.resolve(s)}).catch(s=>{this.logDebug(`processFirstQueuedTask: task ${r} rejected`),t.state=3,t.deferred.reject(s)}).finally(()=>{this.scheduleProcessQueueIfNeeded()}),!1);case 1:return this.logDebug(`processFirstQueuedTask: task ${r} at front of queue is already running`),!1;case 2:case 3:return this.logDebug(`processFirstQueuedTask: task ${r} at front of queue is completed, removing from queue`),this.queuedTaskIds.shift(),delete this.queuedTasksById[t.id],!0;default:throw t.state,new Error("unreachable")}}};async function _u(e){let t=await(await te(e)).connect();return e.skipWelcomePack||await t.query("PRAGMA MD_USE_DEFAULT"),t}var eR=0;function gu(){return`MDConnection_${eR++}`}function Iu(e){let r=/^[^{]*({.*})/.exec(e);if(r){let t=r[1];try{let s=JSON.parse(t);if(s.message)return s.message}catch{return e}}return e}function rR(e){return typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"}function yu(e){if(rR(e))return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function ks(e){throw new Error(Iu(yu(e)))}var Su=class e{params;deferredDdbConnection;sequencer;id;static idMap={};constructor(r,t,s){this.params=r,this.deferredDdbConnection=t,this.id=s,this.sequencer=new Pr(r.logSink)}static create(r){let t=gu(),s=_u(r),n=new e(r,s,t);return this.idMap[t]=n,n}async isInitialized(){return await this.deferredDdbConnection,!0}static getById(r){return this.idMap[r]}async tokenize(r){return(await this.deferredDdbConnection).bindings.tokenize(r)}incompleteQueryCount(){return this.sequencer.incompleteTaskCount()}enqueueQuery(r,t){return this.sequencer.enqueueTask(new se(this.deferredDdbConnection,r,t))}async safePrepareQuery(r){try{return{status:"success",preparedStatement:await this.prepareQuery(r)}}catch(t){return{status:"error",err:t}}}async safeEvaluateQuery(r){try{return{status:"success",result:await this.evaluateQuery(r)}}catch(t){return{status:"error",err:t}}}async safeEvaluatePreparedStatement(r,...t){try{return{status:"success",result:await this.evaluatePreparedStatement(r,t)}}catch(s){return{status:"error",err:s}}}async safeEvaluateStreamingQuery(r){try{return{status:"success",result:await this.evaluateStreamingQuery(r)}}catch(t){return{status:"error",err:t}}}async safeEvaluateStreamingPreparedStatement(r,t){try{return{status:"success",result:await this.evaluateStreamingPreparedStatement(r,t)}}catch(s){return{status:"error",err:s}}}async safeEvaluateQueuedQuery(r){try{return{status:"success",result:await this.evaluateQueuedQuery(r)}}catch(t){return{status:"error",err:t}}}async prepareQuery(r){return(await this.deferredDdbConnection).prepare(r)}async evaluateQuery(r){return this.evaluateExclusive(new se(this.deferredDdbConnection,r))}async evaluatePreparedStatement(r,t){return this.evaluateExclusive(new se(this.deferredDdbConnection,r,t))}async evaluateStreamingQuery(r){return this.evaluateExclusive(new Ce(this.deferredDdbConnection,r,void 0))}async evaluateStreamingPreparedStatement(r,t){return this.evaluateExclusive(new Ce(this.deferredDdbConnection,r,t))}async evaluateExclusive(r){let t=this.sequencer.enqueueTask(r);return this.sequencer.taskResult(t).catch(ks)}async evaluateQueuedQuery(r){return this.sequencer.taskResult(r).catch(ks)}async cancelQuery(r,t){return this.sequencer.cancelTask(r,t)}async close(){return(await this.deferredDdbConnection).close()}};async function gv(e){return(await te(e)).globFiles("*")}async function vv(e,r){let t=await te(e);for(let s=0;s<r.length;++s){let n=r.item(s);await t.dropFile(n.name),await t.registerFileHandle(n.name,n,Hr.BROWSER_FILEREADER,!1)}}export{Te as DuckDBArray,fe as DuckDBBlob,B as DuckDBData,Z as DuckDBDataReader,_e as DuckDBDate,ge as DuckDBDecimal,Ie as DuckDBInterval,ye as DuckDBList,Se as DuckDBMap,ve as DuckDBStruct,be as DuckDBTime,we as DuckDBTimestampMicroseconds,Ne as DuckDBTimestampMilliseconds,ke as DuckDBTimestampNanoseconds,Oe as DuckDBTimestampSeconds,c as DuckDBTypes,Su as MDConnection,Cs as MemoryDuckDBData,Pe as MotherDuckCatalogChangeEvent,Xe as MotherDuckEventBase,re as MotherDuckEventType,m as SpecialDuckDBValue,un as TokenType,te as getAsyncDuckDb,he as parseLogicalTypeString,gv as readLocalFS,vv as registerFiles};
|