@duckdb/duckdb-wasm 1.10.0 → 1.11.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +94 -47
  2. package/dist/duckdb-browser-blocking.cjs +25 -0
  3. package/dist/duckdb-browser-blocking.cjs.map +7 -0
  4. package/dist/duckdb-browser-blocking.d.ts +1 -0
  5. package/dist/duckdb-browser-blocking.mjs +25 -0
  6. package/dist/duckdb-browser-blocking.mjs.map +7 -0
  7. package/dist/duckdb-browser-coi.pthread.worker.js +27 -0
  8. package/dist/duckdb-browser-coi.pthread.worker.js.map +7 -0
  9. package/dist/duckdb-browser-coi.worker.js +35 -0
  10. package/dist/duckdb-browser-coi.worker.js.map +7 -0
  11. package/dist/duckdb-browser-eh.worker.js +33 -0
  12. package/dist/duckdb-browser-eh.worker.js.map +7 -0
  13. package/dist/duckdb-browser-mvp.worker.js +33 -0
  14. package/dist/duckdb-browser-mvp.worker.js.map +7 -0
  15. package/dist/duckdb-browser.cjs +2 -0
  16. package/dist/duckdb-browser.cjs.map +7 -0
  17. package/dist/duckdb-browser.d.ts +1 -0
  18. package/dist/duckdb-browser.mjs +2 -0
  19. package/dist/duckdb-browser.mjs.map +7 -0
  20. package/dist/{duckdb-next-coi.wasm → duckdb-coi.wasm} +0 -0
  21. package/dist/{duckdb.wasm → duckdb-eh.wasm} +0 -0
  22. package/dist/duckdb-mvp.wasm +0 -0
  23. package/dist/duckdb-node-blocking.cjs +37 -0
  24. package/dist/duckdb-node-blocking.cjs.map +7 -0
  25. package/dist/duckdb-node-blocking.d.ts +1 -0
  26. package/dist/duckdb-node-eh.worker.cjs +37 -0
  27. package/dist/duckdb-node-eh.worker.cjs.map +7 -0
  28. package/dist/duckdb-node-mvp.worker.cjs +36 -0
  29. package/dist/duckdb-node-mvp.worker.cjs.map +7 -0
  30. package/dist/duckdb-node.cjs +2 -0
  31. package/dist/duckdb-node.cjs.map +7 -0
  32. package/dist/duckdb-node.d.ts +1 -0
  33. package/dist/img/duckdb.svg +6 -0
  34. package/dist/img/duckdb_version_badge.svg +1 -0
  35. package/dist/img/duckdb_wasm.svg +14 -0
  36. package/dist/tests-browser.js +20661 -19449
  37. package/dist/tests-browser.js.map +4 -4
  38. package/dist/tests-node.cjs +17258 -0
  39. package/dist/tests-node.cjs.map +7 -0
  40. package/dist/types/src/bindings/bindings_base.d.ts +30 -8
  41. package/dist/types/src/bindings/{bindings_browser_next.d.ts → bindings_browser_coi.d.ts} +0 -0
  42. package/dist/types/src/bindings/{bindings_browser_next_coi.d.ts → bindings_browser_eh.d.ts} +0 -0
  43. package/dist/types/src/bindings/{bindings_browser.d.ts → bindings_browser_mvp.d.ts} +0 -0
  44. package/dist/types/src/bindings/bindings_interface.d.ts +13 -5
  45. package/dist/types/src/bindings/{bindings_node_next.d.ts → bindings_node_eh.d.ts} +0 -0
  46. package/dist/types/src/bindings/{bindings_node.d.ts → bindings_node_mvp.d.ts} +0 -0
  47. package/dist/types/src/bindings/config.d.ts +43 -2
  48. package/dist/types/src/bindings/connection.d.ts +7 -7
  49. package/dist/types/src/bindings/index.d.ts +1 -1
  50. package/dist/types/src/bindings/insert_options.d.ts +3 -3
  51. package/dist/types/src/bindings/progress.d.ts +9 -0
  52. package/dist/types/src/bindings/runtime.d.ts +41 -10
  53. package/dist/types/src/bindings/runtime_browser.d.ts +5 -3
  54. package/dist/types/src/bindings/runtime_node.d.ts +2 -1
  55. package/dist/types/src/bindings/udf_function.d.ts +14 -0
  56. package/dist/types/src/bindings/udf_runtime.d.ts +3 -0
  57. package/dist/types/src/bindings/web_file.d.ts +11 -0
  58. package/dist/types/src/index.d.ts +1 -0
  59. package/dist/types/src/json_typedef.d.ts +17 -0
  60. package/dist/types/src/log.d.ts +5 -2
  61. package/dist/types/src/parallel/async_bindings.d.ts +19 -6
  62. package/dist/types/src/parallel/async_bindings_interface.d.ts +6 -3
  63. package/dist/types/src/parallel/async_connection.d.ts +4 -6
  64. package/dist/types/src/parallel/worker_dispatcher.d.ts +2 -1
  65. package/dist/types/src/parallel/worker_request.d.ts +18 -7
  66. package/dist/types/src/platform.d.ts +6 -3
  67. package/dist/types/src/targets/duckdb-browser-blocking.d.ts +12 -0
  68. package/dist/types/src/targets/{duckdb-browser-async-next-coi.pthread.worker.d.ts → duckdb-browser-coi.pthread.worker.d.ts} +0 -0
  69. package/dist/types/src/targets/{duckdb-browser-async-next-coi.worker.d.ts → duckdb-browser-coi.worker.d.ts} +0 -0
  70. package/dist/types/src/targets/{duckdb-browser-async-next.worker.d.ts → duckdb-browser-eh.worker.d.ts} +0 -0
  71. package/dist/types/src/targets/{duckdb-browser-async.worker.d.ts → duckdb-browser-mvp.worker.d.ts} +0 -0
  72. package/dist/types/src/targets/duckdb-node-blocking.d.ts +13 -0
  73. package/dist/types/src/targets/{duckdb-node-async-next.worker.d.ts → duckdb-node-eh.worker.d.ts} +0 -0
  74. package/dist/types/src/targets/{duckdb-node-async.worker.d.ts → duckdb-node-mvp.worker.d.ts} +0 -0
  75. package/dist/types/src/targets/duckdb.d.ts +8 -0
  76. package/dist/types/src/utils/index.d.ts +1 -1
  77. package/dist/types/src/utils/s3_helper.d.ts +27 -0
  78. package/dist/types/src/worker.d.ts +1 -0
  79. package/package.json +108 -44
  80. package/dist/duckdb-browser-async-next-coi.d.ts +0 -1
  81. package/dist/duckdb-browser-async-next-coi.pthread.worker.js +0 -4
  82. package/dist/duckdb-browser-async-next-coi.pthread.worker.js.map +0 -7
  83. package/dist/duckdb-browser-async-next-coi.worker.js +0 -19
  84. package/dist/duckdb-browser-async-next-coi.worker.js.map +0 -7
  85. package/dist/duckdb-browser-async-next.d.ts +0 -1
  86. package/dist/duckdb-browser-async-next.worker.js +0 -19
  87. package/dist/duckdb-browser-async-next.worker.js.map +0 -7
  88. package/dist/duckdb-browser-async.d.ts +0 -1
  89. package/dist/duckdb-browser-async.js +0 -18
  90. package/dist/duckdb-browser-async.js.map +0 -7
  91. package/dist/duckdb-browser-async.worker.js +0 -19
  92. package/dist/duckdb-browser-async.worker.js.map +0 -7
  93. package/dist/duckdb-browser-sync-next.d.ts +0 -1
  94. package/dist/duckdb-browser-sync-next.js +0 -19
  95. package/dist/duckdb-browser-sync-next.js.map +0 -7
  96. package/dist/duckdb-browser-sync.d.ts +0 -1
  97. package/dist/duckdb-browser-sync.js +0 -19
  98. package/dist/duckdb-browser-sync.js.map +0 -7
  99. package/dist/duckdb-esm.d.ts +0 -1
  100. package/dist/duckdb-esm.js +0 -2
  101. package/dist/duckdb-esm.js.map +0 -7
  102. package/dist/duckdb-next.wasm +0 -0
  103. package/dist/duckdb-node-async-next.worker.js +0 -4
  104. package/dist/duckdb-node-async-next.worker.js.map +0 -7
  105. package/dist/duckdb-node-async.d.ts +0 -1
  106. package/dist/duckdb-node-async.js +0 -2
  107. package/dist/duckdb-node-async.js.map +0 -7
  108. package/dist/duckdb-node-async.worker.js +0 -3
  109. package/dist/duckdb-node-async.worker.js.map +0 -7
  110. package/dist/duckdb-node-sync-next.d.ts +0 -1
  111. package/dist/duckdb-node-sync-next.js +0 -4
  112. package/dist/duckdb-node-sync-next.js.map +0 -7
  113. package/dist/duckdb-node-sync.d.ts +0 -1
  114. package/dist/duckdb-node-sync.js +0 -3
  115. package/dist/duckdb-node-sync.js.map +0 -7
  116. package/dist/tests-node.js +0 -152
  117. package/dist/tests-node.js.map +0 -7
  118. package/dist/types/src/bindings/insert.d.ts +0 -7
  119. package/dist/types/src/flat_arrow.d.ts +0 -14
  120. package/dist/types/src/targets/duckdb-browser-async.d.ts +0 -4
  121. package/dist/types/src/targets/duckdb-browser-sync-next.d.ts +0 -6
  122. package/dist/types/src/targets/duckdb-browser-sync.d.ts +0 -6
  123. package/dist/types/src/targets/duckdb-esm.d.ts +0 -1
  124. package/dist/types/src/targets/duckdb-node-async.d.ts +0 -4
  125. package/dist/types/src/targets/duckdb-node-sync-next.d.ts +0 -6
  126. package/dist/types/src/targets/duckdb-node-sync.d.ts +0 -6
  127. package/dist/types/src/utils/ipc_buffer.d.ts +0 -4
@@ -3,9 +3,13 @@ import { LogEntryVariant } from '../log';
3
3
  import { ScriptTokens } from '../bindings/tokens';
4
4
  import { FileStatistics } from '../bindings/file_stats';
5
5
  import { DuckDBConfig } from '../bindings/config';
6
+ import { WebFile } from '../bindings/web_file';
7
+ import { InstantiationProgress } from '../bindings/progress';
8
+ import { DuckDBDataProtocol } from '../bindings';
6
9
  export declare type ConnectionID = number;
7
10
  export declare type StatementID = number;
8
11
  export declare enum WorkerRequestType {
12
+ CANCEL_PENDING_QUERY = "CANCEL_PENDING_QUERY",
9
13
  CLOSE_PREPARED = "CLOSE_PREPARED",
10
14
  COLLECT_FILE_STATISTICS = "COLLECT_FILE_STATISTICS",
11
15
  CONNECT = "CONNECT",
@@ -19,13 +23,16 @@ export declare enum WorkerRequestType {
19
23
  FETCH_QUERY_RESULTS = "FETCH_QUERY_RESULTS",
20
24
  FLUSH_FILES = "FLUSH_FILES",
21
25
  GET_FEATURE_FLAGS = "GET_FEATURE_FLAGS",
26
+ GET_TABLE_NAMES = "GET_TABLE_NAMES",
22
27
  GET_VERSION = "GET_VERSION",
28
+ GLOB_FILE_INFOS = "GLOB_FILE_INFOS",
23
29
  INSERT_ARROW_FROM_IPC_STREAM = "INSERT_ARROW_FROM_IPC_STREAM",
24
30
  INSERT_CSV_FROM_PATH = "IMPORT_CSV_FROM_PATH",
25
31
  INSERT_JSON_FROM_PATH = "IMPORT_JSON_FROM_PATH",
26
32
  INSTANTIATE = "INSTANTIATE",
27
33
  OPEN = "OPEN",
28
34
  PING = "PING",
35
+ POLL_PENDING_QUERY = "POLL_PENDING_QUERY",
29
36
  REGISTER_FILE_BUFFER = "REGISTER_FILE_BUFFER",
30
37
  REGISTER_FILE_HANDLE = "REGISTER_FILE_HANDLE",
31
38
  REGISTER_FILE_URL = "REGISTER_FILE_URL",
@@ -33,7 +40,7 @@ export declare enum WorkerRequestType {
33
40
  RUN_PREPARED = "RUN_PREPARED",
34
41
  RUN_QUERY = "RUN_QUERY",
35
42
  SEND_PREPARED = "SEND_PREPARED",
36
- SEND_QUERY = "SEND_QUERY",
43
+ START_PENDING_QUERY = "START_PENDING_QUERY",
37
44
  TOKENIZE = "TOKENIZE"
38
45
  }
39
46
  export declare enum WorkerResponseType {
@@ -41,18 +48,22 @@ export declare enum WorkerResponseType {
41
48
  ERROR = "ERROR",
42
49
  FEATURE_FLAGS = "FEATURE_FLAGS",
43
50
  FILE_BUFFER = "FILE_BUFFER",
51
+ FILE_INFOS = "FILE_INFOS",
44
52
  FILE_SIZE = "FILE_SIZE",
45
53
  FILE_STATISTICS = "FILE_STATISTICS",
54
+ INSTANTIATE_PROGRESS = "INSTANTIATE_PROGRESS",
46
55
  LOG = "LOG",
47
56
  OK = "OK",
48
57
  PREPARED_STATEMENT_ID = "PREPARED_STATEMENT_ID",
49
58
  QUERY_PLAN = "QUERY_PLAN",
50
59
  QUERY_RESULT = "QUERY_RESULT",
51
60
  QUERY_RESULT_CHUNK = "QUERY_RESULT_CHUNK",
52
- QUERY_START = "QUERY_START",
61
+ QUERY_RESULT_HEADER = "QUERY_RESULT_HEADER",
62
+ QUERY_RESULT_HEADER_OR_NULL = "QUERY_RESULT_HEADER_OR_NULL",
53
63
  REGISTERED_FILE = "REGISTERED_FILE",
54
64
  SCRIPT_TOKENS = "SCRIPT_TOKENS",
55
65
  SUCCESS = "SUCCESS",
66
+ TABLE_NAMES = "TABLE_NAMES",
56
67
  VERSION_STRING = "VERSION_STRING"
57
68
  }
58
69
  export declare type WorkerRequest<T, P> = {
@@ -75,14 +86,14 @@ export declare class WorkerTask<T, D, P> {
75
86
  promiseRejecter: (value: any) => void;
76
87
  constructor(type: T, data: D);
77
88
  }
78
- export declare type WorkerRequestVariant = WorkerRequest<WorkerRequestType.CLOSE_PREPARED, [ConnectionID, StatementID]> | WorkerRequest<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean]> | WorkerRequest<WorkerRequestType.CONNECT, null> | WorkerRequest<WorkerRequestType.COPY_FILE_TO_BUFFER, string> | WorkerRequest<WorkerRequestType.COPY_FILE_TO_PATH, [string, string]> | WorkerRequest<WorkerRequestType.CREATE_PREPARED, [ConnectionID, string]> | WorkerRequest<WorkerRequestType.DISCONNECT, number> | WorkerRequest<WorkerRequestType.DROP_FILE, string> | WorkerRequest<WorkerRequestType.DROP_FILES, null> | WorkerRequest<WorkerRequestType.EXPORT_FILE_STATISTICS, string> | WorkerRequest<WorkerRequestType.FETCH_QUERY_RESULTS, number> | WorkerRequest<WorkerRequestType.FLUSH_FILES, null> | WorkerRequest<WorkerRequestType.GET_FEATURE_FLAGS, null> | WorkerRequest<WorkerRequestType.GET_VERSION, null> | WorkerRequest<WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [
89
+ export declare type WorkerRequestVariant = WorkerRequest<WorkerRequestType.CLOSE_PREPARED, [ConnectionID, StatementID]> | WorkerRequest<WorkerRequestType.CANCEL_PENDING_QUERY, number> | WorkerRequest<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean]> | WorkerRequest<WorkerRequestType.CONNECT, null> | WorkerRequest<WorkerRequestType.COPY_FILE_TO_BUFFER, string> | WorkerRequest<WorkerRequestType.COPY_FILE_TO_PATH, [string, string]> | WorkerRequest<WorkerRequestType.CREATE_PREPARED, [ConnectionID, string]> | WorkerRequest<WorkerRequestType.DISCONNECT, number> | WorkerRequest<WorkerRequestType.DROP_FILE, string> | WorkerRequest<WorkerRequestType.DROP_FILES, null> | WorkerRequest<WorkerRequestType.EXPORT_FILE_STATISTICS, string> | WorkerRequest<WorkerRequestType.FETCH_QUERY_RESULTS, number> | WorkerRequest<WorkerRequestType.FLUSH_FILES, null> | WorkerRequest<WorkerRequestType.GET_FEATURE_FLAGS, null> | WorkerRequest<WorkerRequestType.GET_TABLE_NAMES, [number, string]> | WorkerRequest<WorkerRequestType.GET_VERSION, null> | WorkerRequest<WorkerRequestType.GLOB_FILE_INFOS, string> | WorkerRequest<WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [
79
90
  number,
80
91
  Uint8Array,
81
92
  ArrowInsertOptions | undefined
82
- ]> | WorkerRequest<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions]> | WorkerRequest<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions]> | WorkerRequest<WorkerRequestType.INSTANTIATE, [string, string | null]> | WorkerRequest<WorkerRequestType.OPEN, DuckDBConfig> | WorkerRequest<WorkerRequestType.PING, null> | WorkerRequest<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array]> | WorkerRequest<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any]> | WorkerRequest<WorkerRequestType.REGISTER_FILE_URL, [string, string]> | WorkerRequest<WorkerRequestType.RESET, null> | WorkerRequest<WorkerRequestType.RUN_PREPARED, [number, number, any[]]> | WorkerRequest<WorkerRequestType.RUN_QUERY, [number, string]> | WorkerRequest<WorkerRequestType.SEND_PREPARED, [number, number, any[]]> | WorkerRequest<WorkerRequestType.SEND_QUERY, [number, string]> | WorkerRequest<WorkerRequestType.TOKENIZE, string>;
83
- export declare type WorkerResponseVariant = WorkerResponse<WorkerResponseType.CONNECTION_INFO, number> | WorkerResponse<WorkerResponseType.ERROR, any> | WorkerResponse<WorkerResponseType.FEATURE_FLAGS, number> | WorkerResponse<WorkerResponseType.FILE_BUFFER, Uint8Array> | WorkerResponse<WorkerResponseType.FILE_SIZE, number> | WorkerResponse<WorkerResponseType.FILE_STATISTICS, FileStatistics> | WorkerResponse<WorkerResponseType.LOG, LogEntryVariant> | WorkerResponse<WorkerResponseType.OK, null> | WorkerResponse<WorkerResponseType.PREPARED_STATEMENT_ID, number> | WorkerResponse<WorkerResponseType.QUERY_PLAN, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT_CHUNK, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_START, Uint8Array> | WorkerResponse<WorkerResponseType.SCRIPT_TOKENS, ScriptTokens> | WorkerResponse<WorkerResponseType.SUCCESS, boolean> | WorkerResponse<WorkerResponseType.VERSION_STRING, string>;
84
- export declare type WorkerTaskVariant = WorkerTask<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean], null> | WorkerTask<WorkerRequestType.CLOSE_PREPARED, [number, number], null> | WorkerTask<WorkerRequestType.CONNECT, null, ConnectionID> | WorkerTask<WorkerRequestType.COPY_FILE_TO_BUFFER, string, Uint8Array> | WorkerTask<WorkerRequestType.COPY_FILE_TO_PATH, [string, string], null> | WorkerTask<WorkerRequestType.CREATE_PREPARED, [number, string], number> | WorkerTask<WorkerRequestType.DISCONNECT, ConnectionID, null> | WorkerTask<WorkerRequestType.DROP_FILE, string, boolean> | WorkerTask<WorkerRequestType.DROP_FILES, null, null> | WorkerTask<WorkerRequestType.EXPORT_FILE_STATISTICS, string, FileStatistics> | WorkerTask<WorkerRequestType.FETCH_QUERY_RESULTS, ConnectionID, Uint8Array> | WorkerTask<WorkerRequestType.FLUSH_FILES, null, null> | WorkerTask<WorkerRequestType.GET_FEATURE_FLAGS, null, number> | WorkerTask<WorkerRequestType.GET_VERSION, null, string> | WorkerTask<WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [
93
+ ]> | WorkerRequest<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions]> | WorkerRequest<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions]> | WorkerRequest<WorkerRequestType.INSTANTIATE, [string, string | null]> | WorkerRequest<WorkerRequestType.OPEN, DuckDBConfig> | WorkerRequest<WorkerRequestType.PING, null> | WorkerRequest<WorkerRequestType.POLL_PENDING_QUERY, number> | WorkerRequest<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array]> | WorkerRequest<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any, DuckDBDataProtocol, boolean]> | WorkerRequest<WorkerRequestType.REGISTER_FILE_URL, [string, string, DuckDBDataProtocol, boolean]> | WorkerRequest<WorkerRequestType.RESET, null> | WorkerRequest<WorkerRequestType.RUN_PREPARED, [number, number, any[]]> | WorkerRequest<WorkerRequestType.RUN_QUERY, [number, string]> | WorkerRequest<WorkerRequestType.SEND_PREPARED, [number, number, any[]]> | WorkerRequest<WorkerRequestType.START_PENDING_QUERY, [number, string]> | WorkerRequest<WorkerRequestType.TOKENIZE, string>;
94
+ export declare type WorkerResponseVariant = WorkerResponse<WorkerResponseType.CONNECTION_INFO, number> | WorkerResponse<WorkerResponseType.ERROR, any> | WorkerResponse<WorkerResponseType.FEATURE_FLAGS, number> | WorkerResponse<WorkerResponseType.FILE_BUFFER, Uint8Array> | WorkerResponse<WorkerResponseType.FILE_INFOS, WebFile[]> | WorkerResponse<WorkerResponseType.FILE_SIZE, number> | WorkerResponse<WorkerResponseType.FILE_STATISTICS, FileStatistics> | WorkerResponse<WorkerResponseType.INSTANTIATE_PROGRESS, InstantiationProgress> | WorkerResponse<WorkerResponseType.LOG, LogEntryVariant> | WorkerResponse<WorkerResponseType.OK, null> | WorkerResponse<WorkerResponseType.PREPARED_STATEMENT_ID, number> | WorkerResponse<WorkerResponseType.QUERY_PLAN, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT_CHUNK, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT_HEADER, Uint8Array> | WorkerResponse<WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL, Uint8Array | null> | WorkerResponse<WorkerResponseType.SCRIPT_TOKENS, ScriptTokens> | WorkerResponse<WorkerResponseType.SUCCESS, boolean> | WorkerResponse<WorkerResponseType.TABLE_NAMES, string[]> | WorkerResponse<WorkerResponseType.VERSION_STRING, string>;
95
+ export declare type WorkerTaskVariant = WorkerTask<WorkerRequestType.COLLECT_FILE_STATISTICS, [string, boolean], null> | WorkerTask<WorkerRequestType.CLOSE_PREPARED, [number, number], null> | WorkerTask<WorkerRequestType.CONNECT, null, ConnectionID> | WorkerTask<WorkerRequestType.COPY_FILE_TO_BUFFER, string, Uint8Array> | WorkerTask<WorkerRequestType.COPY_FILE_TO_PATH, [string, string], null> | WorkerTask<WorkerRequestType.CREATE_PREPARED, [number, string], number> | WorkerTask<WorkerRequestType.DISCONNECT, ConnectionID, null> | WorkerTask<WorkerRequestType.DROP_FILE, string, null> | WorkerTask<WorkerRequestType.DROP_FILES, null, null> | WorkerTask<WorkerRequestType.EXPORT_FILE_STATISTICS, string, FileStatistics> | WorkerTask<WorkerRequestType.FETCH_QUERY_RESULTS, ConnectionID, Uint8Array> | WorkerTask<WorkerRequestType.FLUSH_FILES, null, null> | WorkerTask<WorkerRequestType.GET_FEATURE_FLAGS, null, number> | WorkerTask<WorkerRequestType.GET_TABLE_NAMES, [number, string], string[]> | WorkerTask<WorkerRequestType.GET_VERSION, null, string> | WorkerTask<WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [
85
96
  number,
86
97
  Uint8Array,
87
98
  ArrowInsertOptions | undefined
88
- ], null> | WorkerTask<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions], null> | WorkerTask<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions], null> | WorkerTask<WorkerRequestType.INSTANTIATE, [string, string | null], null> | WorkerTask<WorkerRequestType.OPEN, DuckDBConfig, null> | WorkerTask<WorkerRequestType.PING, null, null> | WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null> | WorkerTask<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any], null> | WorkerTask<WorkerRequestType.REGISTER_FILE_URL, [string, string], null> | WorkerTask<WorkerRequestType.RESET, null, null> | WorkerTask<WorkerRequestType.RUN_PREPARED, [number, number, any[]], Uint8Array> | WorkerTask<WorkerRequestType.RUN_QUERY, [ConnectionID, string], Uint8Array> | WorkerTask<WorkerRequestType.SEND_PREPARED, [number, number, any[]], Uint8Array> | WorkerTask<WorkerRequestType.SEND_QUERY, [ConnectionID, string], Uint8Array> | WorkerTask<WorkerRequestType.TOKENIZE, string, ScriptTokens>;
99
+ ], null> | WorkerTask<WorkerRequestType.INSERT_CSV_FROM_PATH, [number, string, CSVInsertOptions], null> | WorkerTask<WorkerRequestType.INSERT_JSON_FROM_PATH, [number, string, JSONInsertOptions], null> | WorkerTask<WorkerRequestType.INSTANTIATE, [string, string | null], null> | WorkerTask<WorkerRequestType.OPEN, DuckDBConfig, null> | WorkerTask<WorkerRequestType.PING, null, null> | WorkerTask<WorkerRequestType.REGISTER_FILE_BUFFER, [string, Uint8Array], null> | WorkerTask<WorkerRequestType.REGISTER_FILE_HANDLE, [string, any, DuckDBDataProtocol, boolean], null> | WorkerTask<WorkerRequestType.REGISTER_FILE_URL, [string, string, DuckDBDataProtocol, boolean], null> | WorkerTask<WorkerRequestType.GLOB_FILE_INFOS, string, WebFile[]> | WorkerTask<WorkerRequestType.RESET, null, null> | WorkerTask<WorkerRequestType.RUN_PREPARED, [number, number, any[]], Uint8Array> | WorkerTask<WorkerRequestType.RUN_QUERY, [ConnectionID, string], Uint8Array> | WorkerTask<WorkerRequestType.SEND_PREPARED, [number, number, any[]], Uint8Array> | WorkerTask<WorkerRequestType.START_PENDING_QUERY, [ConnectionID, string], Uint8Array | null> | WorkerTask<WorkerRequestType.POLL_PENDING_QUERY, ConnectionID, Uint8Array | null> | WorkerTask<WorkerRequestType.CANCEL_PENDING_QUERY, ConnectionID, boolean> | WorkerTask<WorkerRequestType.TOKENIZE, string, ScriptTokens>;
@@ -1,13 +1,16 @@
1
+ export declare const isNode: () => boolean;
2
+ export declare const isFirefox: () => boolean;
3
+ export declare const isSafari: () => boolean;
1
4
  export interface DuckDBBundles {
2
- asyncDefault: {
5
+ mvp: {
3
6
  mainModule: string;
4
7
  mainWorker: string;
5
8
  };
6
- asyncNext?: {
9
+ eh?: {
7
10
  mainModule: string;
8
11
  mainWorker: string;
9
12
  };
10
- asyncNextCOI?: {
13
+ coi?: {
11
14
  mainModule: string;
12
15
  mainWorker: string;
13
16
  pthreadWorker: string;
@@ -0,0 +1,12 @@
1
+ export * from '../bindings';
2
+ export * from '../log';
3
+ export * from '../platform';
4
+ export * from '../status';
5
+ export * from '../version';
6
+ export { DuckDBDataProtocol } from '../bindings/runtime';
7
+ export { DEFAULT_RUNTIME } from '../bindings/runtime';
8
+ export { BROWSER_RUNTIME } from '../bindings/runtime_browser';
9
+ import { Logger } from '../log';
10
+ import { DuckDBRuntime, DuckDBBindings } from '../bindings';
11
+ import { DuckDBBundles } from '../platform';
12
+ export declare function createDuckDB(bundles: DuckDBBundles, logger: Logger, runtime: DuckDBRuntime): Promise<DuckDBBindings>;
@@ -0,0 +1,13 @@
1
+ export * from '../bindings';
2
+ export * from '../log';
3
+ export * from '../platform';
4
+ export * from '../status';
5
+ export * from '../version';
6
+ export { DuckDBDataProtocol } from '../bindings/runtime';
7
+ export { DEFAULT_RUNTIME } from '../bindings/runtime';
8
+ export { NODE_RUNTIME } from '../bindings/runtime_node';
9
+ import { Logger } from '../log';
10
+ import { DuckDBRuntime } from '../bindings';
11
+ import { DuckDBNodeBindings } from '../bindings/bindings_node_base';
12
+ import { DuckDBBundles } from '../platform';
13
+ export declare function createDuckDB(bundles: DuckDBBundles, logger: Logger, runtime: DuckDBRuntime): Promise<DuckDBNodeBindings>;
@@ -0,0 +1,8 @@
1
+ export * from '../bindings/config';
2
+ export * from '../log';
3
+ export * from '../status';
4
+ export * from '../parallel';
5
+ export * from '../platform';
6
+ export * from '../version';
7
+ export * from '../worker';
8
+ export { InstantiationProgress, InstantiationProgressHandler, DuckDBDataProtocol } from '../bindings';
@@ -1,2 +1,2 @@
1
1
  export * from './binary_dump';
2
- export * from './ipc_buffer';
2
+ export * from './s3_helper';
@@ -0,0 +1,27 @@
1
+ import { S3Config } from "../bindings";
2
+ export interface S3Params {
3
+ url: string;
4
+ query: string;
5
+ host: string;
6
+ region: string;
7
+ service: string;
8
+ method: string;
9
+ accessKeyId: string;
10
+ secretAccessKey: string;
11
+ sessionToken: string;
12
+ dateNow: string;
13
+ datetimeNow: string;
14
+ }
15
+ export interface S3PayloadParams {
16
+ contentHash: string | null;
17
+ contentType: string | null;
18
+ }
19
+ export declare function getS3Params(config: S3Config | undefined, url: string, method: string): S3Params;
20
+ export declare function uriEncode(input: string, encode_slash?: boolean): string;
21
+ export declare function createS3Headers(params: S3Params, payloadParams?: S3PayloadParams | null): Map<string, string>;
22
+ export declare function addS3Headers(xhr: XMLHttpRequest, config: S3Config | undefined, url: string, method: string, contentType?: string | null, payload?: Uint8Array | null): void;
23
+ export declare function parseS3Url(url: string): {
24
+ bucket: string;
25
+ path: string;
26
+ };
27
+ export declare function getHTTPUrl(config: S3Config | undefined, url: string): string;
@@ -0,0 +1 @@
1
+ export declare function createWorker(url: string): Promise<Worker>;
package/package.json CHANGED
@@ -1,63 +1,77 @@
1
1
  {
2
2
  "name": "@duckdb/duckdb-wasm",
3
- "version": "1.10.0",
3
+ "version": "1.11.1-dev.0",
4
4
  "description": "DuckDB powered by WebAssembly",
5
5
  "license": "MPL-2.0",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/duckdb/duckdb-wasm.git"
9
9
  },
10
+ "keywords": [
11
+ "sql",
12
+ "duckdb",
13
+ "relational",
14
+ "database",
15
+ "data",
16
+ "query",
17
+ "wasm",
18
+ "analytics",
19
+ "olap",
20
+ "arrow",
21
+ "parquet",
22
+ "json",
23
+ "csv"
24
+ ],
10
25
  "dependencies": {
11
- "@apache-arrow/esnext-esm": "^6.0.0",
12
- "wasm-feature-detect": "^1.2.11"
26
+ "apache-arrow": "^9.0.0"
13
27
  },
14
28
  "devDependencies": {
15
- "@types/emscripten": "^1.39.4",
16
- "@types/jasmine": "^3.10.1",
17
- "@typescript-eslint/eslint-plugin": "^5.2.0",
18
- "@typescript-eslint/parser": "^5.2.0",
19
- "esbuild": "^0.13.10",
20
- "eslint": "^8.1.0",
21
- "eslint-plugin-jasmine": "^4.1.2",
22
- "eslint-plugin-react": "^7.26.1",
23
- "jasmine": "^3.10.0",
24
- "jasmine-core": "^3.10.1",
29
+ "@types/emscripten": "^1.39.6",
30
+ "@types/jasmine": "^4.3.0",
31
+ "@typescript-eslint/eslint-plugin": "^5.40.1",
32
+ "@typescript-eslint/parser": "^5.40.0",
33
+ "esbuild": "^0.15.12",
34
+ "eslint": "^8.26.0",
35
+ "eslint-plugin-jasmine": "^4.1.3",
36
+ "eslint-plugin-react": "^7.31.10",
37
+ "fast-glob": "^3.2.12",
38
+ "jasmine": "^4.4.0",
39
+ "jasmine-core": "^4.3.0",
25
40
  "jasmine-spec-reporter": "^7.0.0",
26
- "karma": "^6.3.6",
27
- "karma-chrome-launcher": "^3.1.0",
28
- "karma-coverage": "^2.0.3",
29
- "karma-firefox-launcher": "^2.1.1",
30
- "karma-jasmine": "^4.0.1",
31
- "karma-jasmine-html-reporter": "^1.7.0",
41
+ "js-sha256": "^0.9.0",
42
+ "karma": "^6.4.1",
43
+ "karma-chrome-launcher": "^3.1.1",
44
+ "karma-coverage": "^2.2.0",
45
+ "karma-firefox-launcher": "^2.1.2",
46
+ "karma-jasmine": "^5.1.0",
47
+ "karma-jasmine-html-reporter": "^2.0.0",
32
48
  "karma-sourcemap-loader": "^0.3.8",
33
- "karma-spec-reporter": "^0.0.32",
49
+ "karma-spec-reporter": "^0.0.34",
34
50
  "make-dir": "^3.1.0",
35
51
  "nyc": "^15.1.0",
36
- "prettier": "^2.4.1",
37
- "puppeteer": "^10.4.0",
52
+ "prettier": "^2.7.1",
53
+ "puppeteer": "^19.2.0",
38
54
  "rimraf": "^3.0.2",
39
- "typedoc": "^0.22.7",
40
- "typescript": "^4.4.4",
41
- "web-worker": "^1.1.0"
42
- },
43
- "optionalDependencies": {
44
- "fsevents": "*"
55
+ "s3rver": "^3.7.1",
56
+ "typedoc": "^0.23.20",
57
+ "typescript": "^4.8.4",
58
+ "wasm-feature-detect": "^1.2.11",
59
+ "web-worker": "^1.2.0"
45
60
  },
46
61
  "scripts": {
47
62
  "build:debug": "node bundle.mjs debug && tsc --emitDeclarationOnly",
48
63
  "build:release": "node bundle.mjs release && tsc --emitDeclarationOnly",
49
64
  "docs": "typedoc",
50
65
  "report": "node ./coverage.mjs",
51
- "test:node": "node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.js",
52
- "test:node:debug": "node --inspect-brk --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.js",
53
- "test:node:filter": "node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.js --filter=\"CSV\"",
54
- "test:node:coverage": "nyc -r json --report-dir ./coverage/node node --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.js",
66
+ "test:node": "node --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs",
67
+ "test:node:debug": "node --inspect-brk --enable-source-maps --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs",
68
+ "test:node:coverage": "nyc -r json --report-dir ./coverage/node node --experimental-wasm-eh ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs",
55
69
  "test:firefox": "karma start ./karma/tests-firefox.cjs",
56
70
  "test:chrome": "karma start ./karma/tests-chrome.cjs",
57
71
  "test:chrome:eh": "karma start ./karma/tests-chrome-eh.cjs",
58
72
  "test:chrome:coverage": "karma start ./karma/tests-chrome-coverage.cjs",
59
- "test:browsers": "karma start ./karma/tests-all.cjs",
60
- "test:debug": "karma start ./karma/tests-debug.cjs",
73
+ "test:browser": "karma start ./karma/tests-all.cjs",
74
+ "test:browser:debug": "karma start ./karma/tests-debug.cjs",
61
75
  "test": "npm run test:chrome && npm run test:node",
62
76
  "test:coverage": "npm run test:chrome:coverage && npm run test:node:coverage && npm run report",
63
77
  "lint": "eslint src test"
@@ -66,18 +80,68 @@
66
80
  "dist",
67
81
  "!dist/types/test"
68
82
  ],
69
- "main": "./dist/duckdb-node-async.js",
70
- "types": "./dist/duckdb-node-async.d.ts",
71
- "module": "./dist/duckdb-esm.js",
83
+ "main": "dist/duckdb-browser.cjs",
84
+ "module": "dist/duckdb-browser.mjs",
85
+ "types": "dist/duckdb-browser.d.ts",
86
+ "jsdelivr": "dist/duckdb-browser.cjs",
87
+ "unpkg": "dist/duckdb-browser.mjs",
88
+ "sideEffects": false,
72
89
  "browser": {
73
- "./dist/duckdb-node-async.js": "./dist/duckdb-browser-async.js",
74
- "temp-write": false,
75
- "worker_threads": false,
76
- "perf_hooks": false,
77
90
  "fs": false,
78
- "os": false,
79
91
  "path": false,
80
- "buffer": false,
81
- "crypto": false
92
+ "perf_hooks": false,
93
+ "os": false,
94
+ "worker_threads": false
95
+ },
96
+ "exports": {
97
+ "./dist/duckdb-mvp.wasm": "./dist/duckdb-mvp.wasm",
98
+ "./dist/duckdb-eh.wasm": "./dist/duckdb-eh.wasm",
99
+ "./dist/duckdb-coi.wasm": "./dist/duckdb-coi.wasm",
100
+ "./dist/duckdb-browser": "./dist/duckdb-browser.mjs",
101
+ "./dist/duckdb-browser.cjs": "./dist/duckdb-browser.cjs",
102
+ "./dist/duckdb-browser.mjs": "./dist/duckdb-browser.mjs",
103
+ "./dist/duckdb-browser-blocking": "./dist/duckdb-browser-blocking.mjs",
104
+ "./dist/duckdb-browser-blocking.mjs": "./dist/duckdb-browser-blocking.mjs",
105
+ "./dist/duckdb-browser-blocking.cjs": "./dist/duckdb-browser-blocking.cjs",
106
+ "./dist/duckdb-browser-coi.pthread.worker.js": "./dist/duckdb-browser-coi.pthread.worker.js",
107
+ "./dist/duckdb-browser-coi.worker.js": "./dist/duckdb-browser-coi.worker.js",
108
+ "./dist/duckdb-browser-eh.worker.js": "./dist/duckdb-browser-eh.worker.js",
109
+ "./dist/duckdb-browser-mvp.worker.js": "./dist/duckdb-browser-mvp.worker.js",
110
+ "./dist/duckdb-node": "./dist/duckdb-node.cjs",
111
+ "./dist/duckdb-node.cjs": "./dist/duckdb-node.cjs",
112
+ "./dist/duckdb-node-blocking": "./dist/duckdb-node-blocking.cjs",
113
+ "./dist/duckdb-node-blocking.cjs": "./dist/duckdb-node-blocking.cjs",
114
+ "./dist/duckdb-node-eh.worker.cjs": "./dist/duckdb-node-eh.worker.cjs",
115
+ "./dist/duckdb-node-mvp.worker.cjs": "./dist/duckdb-node-mvp.worker.cjs",
116
+ "./blocking": {
117
+ "browser": {
118
+ "types": "./dist/duckdb-browser-blocking.d.ts",
119
+ "import": "./dist/duckdb-browser-blocking.mjs",
120
+ "require": "./dist/duckdb-browser-blocking.cjs"
121
+ },
122
+ "node": {
123
+ "types": "./dist/duckdb-node-blocking.d.ts",
124
+ "require": "./dist/duckdb-node-blocking.cjs",
125
+ "import": "./dist/duckdb-node-blocking.cjs"
126
+ },
127
+ "types": "./dist/duckdb-browser-blocking.d.ts",
128
+ "import": "./dist/duckdb-browser-blocking.mjs",
129
+ "require": "./dist/duckdb-browser-blocking.cjs"
130
+ },
131
+ ".": {
132
+ "browser": {
133
+ "types": "./dist/duckdb-browser.d.ts",
134
+ "import": "./dist/duckdb-browser.mjs",
135
+ "require": "./dist/duckdb-browser.cjs"
136
+ },
137
+ "node": {
138
+ "types": "./dist/duckdb-node.d.ts",
139
+ "import": "./dist/duckdb-node.cjs",
140
+ "require": "./dist/duckdb-node.cjs"
141
+ },
142
+ "types": "./dist/duckdb-browser.d.ts",
143
+ "import": "./dist/duckdb-browser.mjs",
144
+ "require": "./dist/duckdb-browser.cjs"
145
+ }
82
146
  }
83
147
  }
@@ -1 +0,0 @@
1
- export * from './types/src/targets/duckdb-browser-async-next-coi';