quiverdb 0.6.2 → 0.9.3

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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +95 -17
  3. package/libs/{linux-x64 → linux-x86_64}/libquiver.so +0 -0
  4. package/libs/{linux-x64 → linux-x86_64}/libquiver.so.0 +0 -0
  5. package/libs/linux-x86_64/libquiver_c.so +0 -0
  6. package/libs/{win32-x64 → windows-x86_64}/libquiver.dll +0 -0
  7. package/libs/windows-x86_64/libquiver_c.dll +0 -0
  8. package/mod.ts +25 -0
  9. package/package.json +17 -31
  10. package/src/composites.ts +89 -0
  11. package/src/create.ts +152 -0
  12. package/src/csv.ts +118 -0
  13. package/src/database.ts +171 -0
  14. package/src/errors.ts +21 -0
  15. package/src/ffi-helpers.ts +157 -0
  16. package/src/index.ts +17 -0
  17. package/src/introspection.ts +33 -0
  18. package/src/loader.ts +285 -0
  19. package/src/lua-runner.ts +48 -0
  20. package/src/metadata.ts +218 -0
  21. package/src/query.ts +160 -0
  22. package/src/read.ts +572 -0
  23. package/src/time-series.ts +291 -0
  24. package/src/transaction.ts +27 -0
  25. package/{dist/types.d.ts → src/types.ts} +8 -1
  26. package/dist/composites.d.ts +0 -9
  27. package/dist/composites.d.ts.map +0 -1
  28. package/dist/composites.js +0 -69
  29. package/dist/composites.js.map +0 -1
  30. package/dist/create.d.ts +0 -9
  31. package/dist/create.d.ts.map +0 -1
  32. package/dist/create.js +0 -104
  33. package/dist/create.js.map +0 -1
  34. package/dist/csv.d.ts +0 -11
  35. package/dist/csv.d.ts.map +0 -1
  36. package/dist/csv.js +0 -67
  37. package/dist/csv.js.map +0 -1
  38. package/dist/database.d.ts +0 -13
  39. package/dist/database.d.ts.map +0 -1
  40. package/dist/database.js +0 -42
  41. package/dist/database.js.map +0 -1
  42. package/dist/errors.d.ts +0 -5
  43. package/dist/errors.d.ts.map +0 -1
  44. package/dist/errors.js +0 -18
  45. package/dist/errors.js.map +0 -1
  46. package/dist/ffi-helpers.d.ts +0 -57
  47. package/dist/ffi-helpers.d.ts.map +0 -1
  48. package/dist/ffi-helpers.js +0 -136
  49. package/dist/ffi-helpers.js.map +0 -1
  50. package/dist/index.d.ts +0 -17
  51. package/dist/index.d.ts.map +0 -1
  52. package/dist/index.js +0 -13
  53. package/dist/index.js.map +0 -1
  54. package/dist/introspection.d.ts +0 -10
  55. package/dist/introspection.d.ts.map +0 -1
  56. package/dist/introspection.js +0 -27
  57. package/dist/introspection.js.map +0 -1
  58. package/dist/loader.d.ts +0 -7
  59. package/dist/loader.d.ts.map +0 -1
  60. package/dist/loader.js +0 -192
  61. package/dist/loader.js.map +0 -1
  62. package/dist/lua-runner.d.ts +0 -11
  63. package/dist/lua-runner.d.ts.map +0 -1
  64. package/dist/lua-runner.js +0 -43
  65. package/dist/lua-runner.js.map +0 -1
  66. package/dist/metadata.d.ts +0 -28
  67. package/dist/metadata.d.ts.map +0 -1
  68. package/dist/metadata.js +0 -100
  69. package/dist/metadata.js.map +0 -1
  70. package/dist/query.d.ts +0 -9
  71. package/dist/query.d.ts.map +0 -1
  72. package/dist/query.js +0 -90
  73. package/dist/query.js.map +0 -1
  74. package/dist/read.d.ts +0 -25
  75. package/dist/read.d.ts.map +0 -1
  76. package/dist/read.js +0 -220
  77. package/dist/read.js.map +0 -1
  78. package/dist/time-series.d.ts +0 -12
  79. package/dist/time-series.d.ts.map +0 -1
  80. package/dist/time-series.js +0 -155
  81. package/dist/time-series.js.map +0 -1
  82. package/dist/transaction.d.ts +0 -10
  83. package/dist/transaction.d.ts.map +0 -1
  84. package/dist/transaction.js +0 -22
  85. package/dist/transaction.js.map +0 -1
  86. package/dist/types.d.ts.map +0 -1
  87. package/dist/types.js +0 -2
  88. package/dist/types.js.map +0 -1
  89. package/libs/linux-x64/libquiver.so.0.6.2 +0 -0
  90. package/libs/linux-x64/libquiver_c.so +0 -0
  91. package/libs/linux-x64/libquiver_c.so.0 +0 -0
  92. package/libs/linux-x64/libquiver_c.so.0.6.2 +0 -0
  93. package/libs/win32-x64/libquiver_c.dll +0 -0
@@ -0,0 +1,291 @@
1
+ import { CString, type Pointer, ptr, read, toArrayBuffer } from "bun:ffi";
2
+ import { Database } from "./database.ts";
3
+ import { check } from "./errors.ts";
4
+ import {
5
+ allocNativeFloat64,
6
+ allocNativeInt64,
7
+ allocNativePtrTable,
8
+ allocNativeString,
9
+ allocNativeStringArray,
10
+ allocPtrOut,
11
+ allocUint64Out,
12
+ decodeFloat64Array,
13
+ decodeInt64Array,
14
+ decodePtrArray,
15
+ decodeStringArray,
16
+ readPtrOut,
17
+ readUint64Out,
18
+ toCString,
19
+ } from "./ffi-helpers.ts";
20
+ import { getSymbols } from "./loader.ts";
21
+ import type { Allocation } from "./types.ts";
22
+
23
+ export type TimeSeriesData = Record<string, (number | string)[]>;
24
+
25
+ const DATA_TYPE_INTEGER = 0;
26
+ const DATA_TYPE_FLOAT = 1;
27
+ const DATA_TYPE_STRING = 2;
28
+ const DATA_TYPE_DATE_TIME = 3;
29
+
30
+ Database.prototype.readTimeSeriesGroup = function (
31
+ this: Database,
32
+ collection: string,
33
+ group: string,
34
+ id: number,
35
+ ): TimeSeriesData {
36
+ const lib = getSymbols();
37
+ const collBuf = toCString(collection);
38
+ const grpBuf = toCString(group);
39
+ const outNames = allocPtrOut();
40
+ const outTypes = allocPtrOut();
41
+ const outData = allocPtrOut();
42
+ const outColCount = allocUint64Out();
43
+ const outRowCount = allocUint64Out();
44
+
45
+ check(
46
+ lib.quiver_database_read_time_series_group(
47
+ this._handle,
48
+ collBuf.buf,
49
+ grpBuf.buf,
50
+ BigInt(id),
51
+ outNames.ptr,
52
+ outTypes.ptr,
53
+ outData.ptr,
54
+ outColCount.ptr,
55
+ outRowCount.ptr,
56
+ ),
57
+ );
58
+
59
+ const colCount = readUint64Out(outColCount);
60
+ const rowCount = readUint64Out(outRowCount);
61
+ if (colCount === 0) return {};
62
+
63
+ const namesPtr = readPtrOut(outNames);
64
+ const typesPtr = readPtrOut(outTypes);
65
+ const dataPtr = readPtrOut(outData);
66
+
67
+ const colNames = decodeStringArray(namesPtr, colCount);
68
+ const typesAb = toArrayBuffer(typesPtr as Pointer, 0, colCount * 4);
69
+ const types = Array.from(new Int32Array(typesAb));
70
+ const dataPtrs = decodePtrArray(dataPtr, colCount);
71
+
72
+ const result: TimeSeriesData = {};
73
+ for (let c = 0; c < colCount; c++) {
74
+ const colName = colNames[c];
75
+ switch (types[c]) {
76
+ case DATA_TYPE_INTEGER:
77
+ result[colName] = decodeInt64Array(dataPtrs[c], rowCount);
78
+ break;
79
+ case DATA_TYPE_FLOAT:
80
+ result[colName] = decodeFloat64Array(dataPtrs[c], rowCount);
81
+ break;
82
+ case DATA_TYPE_STRING:
83
+ case DATA_TYPE_DATE_TIME:
84
+ result[colName] = decodeStringArray(dataPtrs[c], rowCount);
85
+ break;
86
+ }
87
+ }
88
+
89
+ lib.quiver_database_free_time_series_data(
90
+ namesPtr,
91
+ typesPtr,
92
+ dataPtr,
93
+ BigInt(colCount),
94
+ BigInt(rowCount),
95
+ );
96
+ return result;
97
+ };
98
+
99
+ Database.prototype.updateTimeSeriesGroup = function (
100
+ this: Database,
101
+ collection: string,
102
+ group: string,
103
+ id: number,
104
+ data: TimeSeriesData,
105
+ ): void {
106
+ const lib = getSymbols();
107
+ const collBuf = toCString(collection);
108
+ const grpBuf = toCString(group);
109
+ const entries = Object.entries(data);
110
+
111
+ if (entries.length === 0) {
112
+ check(
113
+ lib.quiver_database_update_time_series_group(
114
+ this._handle,
115
+ collBuf.buf,
116
+ grpBuf.buf,
117
+ BigInt(id),
118
+ null,
119
+ null,
120
+ null,
121
+ 0n,
122
+ 0n,
123
+ ),
124
+ );
125
+ return;
126
+ }
127
+
128
+ const columnCount = entries.length;
129
+ const rowCount = entries[0][1].length;
130
+ const keepalive: Allocation[] = [];
131
+
132
+ // Build column names as native string array
133
+ const colNames = entries.map(([name]) => name);
134
+ const { table: namesTable, keepalive: namesPtrs } = allocNativeStringArray(colNames);
135
+ keepalive.push(namesTable, ...namesPtrs);
136
+
137
+ // Build column types and data
138
+ const typesBuf = new Uint8Array(columnCount * 4);
139
+ const typesDv = new DataView(typesBuf.buffer);
140
+ const dataPtrs: (Pointer | null)[] = [];
141
+
142
+ for (let c = 0; c < columnCount; c++) {
143
+ const values = entries[c][1];
144
+
145
+ if (values.length === 0) {
146
+ typesDv.setInt32(c * 4, DATA_TYPE_STRING, true);
147
+ dataPtrs.push(null);
148
+ } else if (typeof values[0] === "string") {
149
+ typesDv.setInt32(c * 4, DATA_TYPE_STRING, true);
150
+ const { table, keepalive: strPtrs } = allocNativeStringArray(values as string[]);
151
+ keepalive.push(table, ...strPtrs);
152
+ dataPtrs.push(table.ptr);
153
+ } else if (typeof values[0] === "number") {
154
+ const allIntegers = (values as number[]).every((v) => Number.isInteger(v));
155
+ if (allIntegers) {
156
+ typesDv.setInt32(c * 4, DATA_TYPE_INTEGER, true);
157
+ const p = allocNativeInt64(values as number[]);
158
+ keepalive.push(p);
159
+ dataPtrs.push(p.ptr);
160
+ } else {
161
+ typesDv.setInt32(c * 4, DATA_TYPE_FLOAT, true);
162
+ const p = allocNativeFloat64(values as number[]);
163
+ keepalive.push(p);
164
+ dataPtrs.push(p.ptr);
165
+ }
166
+ }
167
+ }
168
+
169
+ const typesAlloc: Allocation = { ptr: ptr(typesBuf), buf: typesBuf };
170
+ keepalive.push(typesAlloc);
171
+ const dataTable = allocNativePtrTable(dataPtrs);
172
+ keepalive.push(dataTable);
173
+
174
+ check(
175
+ lib.quiver_database_update_time_series_group(
176
+ this._handle,
177
+ collBuf.buf,
178
+ grpBuf.buf,
179
+ BigInt(id),
180
+ namesTable.ptr,
181
+ typesAlloc.ptr,
182
+ dataTable.ptr,
183
+ BigInt(columnCount),
184
+ BigInt(rowCount),
185
+ ),
186
+ );
187
+ };
188
+
189
+ Database.prototype.hasTimeSeriesFiles = function (this: Database, collection: string): boolean {
190
+ const lib = getSymbols();
191
+ const collBuf = toCString(collection);
192
+ const outResult = new Uint8Array(4);
193
+ check(lib.quiver_database_has_time_series_files(this._handle, collBuf.buf, outResult));
194
+ return new DataView(outResult.buffer).getInt32(0, true) !== 0;
195
+ };
196
+
197
+ Database.prototype.listTimeSeriesFilesColumns = function (
198
+ this: Database,
199
+ collection: string,
200
+ ): string[] {
201
+ const lib = getSymbols();
202
+ const collBuf = toCString(collection);
203
+ const outColumns = allocPtrOut();
204
+ const outCount = allocUint64Out();
205
+ check(
206
+ lib.quiver_database_list_time_series_files_columns(
207
+ this._handle,
208
+ collBuf.buf,
209
+ outColumns.ptr,
210
+ outCount.ptr,
211
+ ),
212
+ );
213
+ const count = readUint64Out(outCount);
214
+ if (count === 0) return [];
215
+ const arrPtr = readPtrOut(outColumns);
216
+ const result = decodeStringArray(arrPtr, count);
217
+ lib.quiver_database_free_string_array(arrPtr, BigInt(count));
218
+ return result;
219
+ };
220
+
221
+ Database.prototype.readTimeSeriesFiles = function (
222
+ this: Database,
223
+ collection: string,
224
+ ): Record<string, string | null> {
225
+ const lib = getSymbols();
226
+ const collBuf = toCString(collection);
227
+ const outColumns = allocPtrOut();
228
+ const outPaths = allocPtrOut();
229
+ const outCount = allocUint64Out();
230
+ check(
231
+ lib.quiver_database_read_time_series_files(
232
+ this._handle,
233
+ collBuf.buf,
234
+ outColumns.ptr,
235
+ outPaths.ptr,
236
+ outCount.ptr,
237
+ ),
238
+ );
239
+ const count = readUint64Out(outCount);
240
+ if (count === 0) return {};
241
+ const colsPtr = readPtrOut(outColumns);
242
+ const pathsPtr = readPtrOut(outPaths);
243
+ const colNames = decodeStringArray(colsPtr, count);
244
+ const paths: (string | null)[] = new Array(count);
245
+ for (let i = 0; i < count; i++) {
246
+ const strPtr = read.ptr(pathsPtr as Pointer, i * 8);
247
+ paths[i] = strPtr === 0 ? null : new CString(strPtr as Pointer).toString();
248
+ }
249
+ const result: Record<string, string | null> = {};
250
+ for (let i = 0; i < count; i++) {
251
+ result[colNames[i]] = paths[i];
252
+ }
253
+ lib.quiver_database_free_time_series_files(colsPtr, pathsPtr, BigInt(count));
254
+ return result;
255
+ };
256
+
257
+ Database.prototype.updateTimeSeriesFiles = function (
258
+ this: Database,
259
+ collection: string,
260
+ data: Record<string, string | null>,
261
+ ): void {
262
+ const lib = getSymbols();
263
+ const collBuf = toCString(collection);
264
+ const entries = Object.entries(data);
265
+ if (entries.length === 0) return;
266
+ const keepalive: Allocation[] = [];
267
+
268
+ const colNames = entries.map(([name]) => name);
269
+ const { table: colsTable, keepalive: colPtrs } = allocNativeStringArray(colNames);
270
+ keepalive.push(colsTable, ...colPtrs);
271
+
272
+ const pathPtrs: (Pointer | null)[] = entries.map(([, value]) => {
273
+ if (value === null) return null;
274
+ const p = allocNativeString(value);
275
+ keepalive.push(p);
276
+ return p.ptr;
277
+ });
278
+
279
+ const pathsTable = allocNativePtrTable(pathPtrs);
280
+ keepalive.push(pathsTable);
281
+
282
+ check(
283
+ lib.quiver_database_update_time_series_files(
284
+ this._handle,
285
+ collBuf.buf,
286
+ colsTable.ptr,
287
+ pathsTable.ptr,
288
+ BigInt(entries.length),
289
+ ),
290
+ );
291
+ };
@@ -0,0 +1,27 @@
1
+ import { ptr } from "bun:ffi";
2
+ import { Database } from "./database.ts";
3
+ import { check } from "./errors.ts";
4
+ import { getSymbols } from "./loader.ts";
5
+
6
+ Database.prototype.beginTransaction = function (this: Database): void {
7
+ const lib = getSymbols();
8
+ check(lib.quiver_database_begin_transaction(this._handle));
9
+ };
10
+
11
+ Database.prototype.commit = function (this: Database): void {
12
+ const lib = getSymbols();
13
+ check(lib.quiver_database_commit(this._handle));
14
+ };
15
+
16
+ Database.prototype.rollback = function (this: Database): void {
17
+ const lib = getSymbols();
18
+ check(lib.quiver_database_rollback(this._handle));
19
+ };
20
+
21
+ Database.prototype.inTransaction = function (this: Database): boolean {
22
+ const lib = getSymbols();
23
+ const outBuf = new Uint8Array(4);
24
+ const outPtr = ptr(outBuf);
25
+ check(lib.quiver_database_in_transaction(this._handle, outPtr));
26
+ return new DataView(outBuf.buffer).getInt32(0, true) !== 0;
27
+ };
@@ -1,6 +1,13 @@
1
+ import type { Pointer } from "bun:ffi";
2
+
1
3
  export type ScalarValue = number | bigint | string | null;
2
4
  export type ArrayValue = number[] | bigint[] | string[];
3
5
  export type Value = ScalarValue | ArrayValue;
4
6
  export type ElementData = Record<string, Value | undefined>;
5
7
  export type QueryParam = number | string | null;
6
- //# sourceMappingURL=types.d.ts.map
8
+
9
+ /** Native memory allocation result. Callers MUST hold `buf` in scope to prevent GC. */
10
+ export type Allocation = {
11
+ ptr: Pointer;
12
+ buf: Uint8Array<ArrayBuffer>;
13
+ };
@@ -1,9 +0,0 @@
1
- declare module "./database.js" {
2
- interface Database {
3
- readScalarsById(collection: string, id: number): Record<string, number | string | null>;
4
- readVectorsById(collection: string, id: number): Record<string, number[] | string[]>;
5
- readSetsById(collection: string, id: number): Record<string, number[] | string[]>;
6
- }
7
- }
8
- export {};
9
- //# sourceMappingURL=composites.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"composites.d.ts","sourceRoot":"","sources":["../src/composites.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,QAAQ;QAChB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;QACxF,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACrF,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;KACnF;CACF"}
@@ -1,69 +0,0 @@
1
- import { Database } from "./database.js";
2
- Database.prototype.readScalarsById = function (collection, id) {
3
- const attributes = this.listScalarAttributes(collection);
4
- const result = {};
5
- for (const attr of attributes) {
6
- switch (attr.dataType) {
7
- case 0: // INTEGER
8
- result[attr.name] = this.readScalarIntegerById(collection, attr.name, id);
9
- break;
10
- case 1: // FLOAT
11
- result[attr.name] = this.readScalarFloatById(collection, attr.name, id);
12
- break;
13
- case 2: // STRING
14
- case 3: // DATE_TIME
15
- result[attr.name] = this.readScalarStringById(collection, attr.name, id);
16
- break;
17
- default:
18
- throw new Error(`Unknown data type ${attr.dataType} for attribute '${attr.name}'`);
19
- }
20
- }
21
- return result;
22
- };
23
- Database.prototype.readVectorsById = function (collection, id) {
24
- const groups = this.listVectorGroups(collection);
25
- const result = {};
26
- for (const group of groups) {
27
- for (const col of group.valueColumns) {
28
- switch (col.dataType) {
29
- case 0: // INTEGER
30
- result[col.name] = this.readVectorIntegersById(collection, col.name, id);
31
- break;
32
- case 1: // FLOAT
33
- result[col.name] = this.readVectorFloatsById(collection, col.name, id);
34
- break;
35
- case 2: // STRING
36
- case 3: // DATE_TIME
37
- result[col.name] = this.readVectorStringsById(collection, col.name, id);
38
- break;
39
- default:
40
- throw new Error(`Unknown data type ${col.dataType} for column '${col.name}'`);
41
- }
42
- }
43
- }
44
- return result;
45
- };
46
- Database.prototype.readSetsById = function (collection, id) {
47
- const groups = this.listSetGroups(collection);
48
- const result = {};
49
- for (const group of groups) {
50
- for (const col of group.valueColumns) {
51
- switch (col.dataType) {
52
- case 0: // INTEGER
53
- result[col.name] = this.readSetIntegersById(collection, col.name, id);
54
- break;
55
- case 1: // FLOAT
56
- result[col.name] = this.readSetFloatsById(collection, col.name, id);
57
- break;
58
- case 2: // STRING
59
- case 3: // DATE_TIME
60
- result[col.name] = this.readSetStringsById(collection, col.name, id);
61
- break;
62
- default:
63
- throw new Error(`Unknown data type ${col.dataType} for column '${col.name}'`);
64
- }
65
- }
66
- }
67
- return result;
68
- };
69
- //# sourceMappingURL=composites.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"composites.js","sourceRoot":"","sources":["../src/composites.ts"],"names":[],"mappings":"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"}
package/dist/create.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import type { ElementData } from "./types.js";
2
- declare module "./database.js" {
3
- interface Database {
4
- createElement(collection: string, data: ElementData): number;
5
- updateElement(collection: string, id: number, data: ElementData): void;
6
- deleteElement(collection: string, id: number): void;
7
- }
8
- }
9
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAS,MAAM,YAAY,CAAC;AAErD,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,QAAQ;QAChB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;QAC7D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;QACvE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;KACrD;CACF"}
package/dist/create.js DELETED
@@ -1,104 +0,0 @@
1
- import { Database } from "./database.js";
2
- import { check, QuiverError } from "./errors.js";
3
- import { allocPtrOut, readPtrOut } from "./ffi-helpers.js";
4
- import { getSymbols } from "./loader.js";
5
- function setElementArray(lib, elemPtr, name, values) {
6
- if (values.length === 0) {
7
- check(lib.quiver_element_set_array_integer(elemPtr, name, null, 0));
8
- return;
9
- }
10
- const first = values[0];
11
- if (typeof first === "bigint") {
12
- const arr = BigInt64Array.from(values, (v) => BigInt(v));
13
- check(lib.quiver_element_set_array_integer(elemPtr, name, arr, values.length));
14
- return;
15
- }
16
- if (typeof first === "number") {
17
- const allIntegers = values.every((v) => Number.isInteger(v));
18
- if (allIntegers) {
19
- const arr = BigInt64Array.from(values, (v) => BigInt(v));
20
- check(lib.quiver_element_set_array_integer(elemPtr, name, arr, values.length));
21
- }
22
- else {
23
- const arr = Float64Array.from(values);
24
- check(lib.quiver_element_set_array_float(elemPtr, name, arr, values.length));
25
- }
26
- return;
27
- }
28
- if (typeof first === "string") {
29
- check(lib.quiver_element_set_array_string(elemPtr, name, values, values.length));
30
- return;
31
- }
32
- throw new QuiverError(`Unsupported array element type for '${name}': ${typeof first}`);
33
- }
34
- function setElementField(lib, elemPtr, name, value) {
35
- if (value === null) {
36
- check(lib.quiver_element_set_null(elemPtr, name));
37
- return;
38
- }
39
- if (typeof value === "bigint") {
40
- check(lib.quiver_element_set_integer(elemPtr, name, value));
41
- return;
42
- }
43
- if (typeof value === "number") {
44
- if (Number.isInteger(value)) {
45
- check(lib.quiver_element_set_integer(elemPtr, name, value));
46
- }
47
- else {
48
- check(lib.quiver_element_set_float(elemPtr, name, value));
49
- }
50
- return;
51
- }
52
- if (typeof value === "string") {
53
- check(lib.quiver_element_set_string(elemPtr, name, value));
54
- return;
55
- }
56
- if (Array.isArray(value)) {
57
- setElementArray(lib, elemPtr, name, value);
58
- return;
59
- }
60
- throw new QuiverError(`Unsupported value type for '${name}': ${typeof value}`);
61
- }
62
- Database.prototype.createElement = function (collection, data) {
63
- const lib = getSymbols();
64
- const handle = this._handle;
65
- const outElem = allocPtrOut();
66
- check(lib.quiver_element_create(outElem));
67
- const elemPtr = readPtrOut(outElem);
68
- try {
69
- for (const [key, value] of Object.entries(data)) {
70
- if (value === undefined)
71
- continue;
72
- setElementField(lib, elemPtr, key, value);
73
- }
74
- const outId = new BigInt64Array(1);
75
- check(lib.quiver_database_create_element(handle, collection, elemPtr, outId));
76
- return Number(outId[0]);
77
- }
78
- finally {
79
- lib.quiver_element_destroy(elemPtr);
80
- }
81
- };
82
- Database.prototype.updateElement = function (collection, id, data) {
83
- const lib = getSymbols();
84
- const handle = this._handle;
85
- const outElem = allocPtrOut();
86
- check(lib.quiver_element_create(outElem));
87
- const elemPtr = readPtrOut(outElem);
88
- try {
89
- for (const [key, value] of Object.entries(data)) {
90
- if (value === undefined)
91
- continue;
92
- setElementField(lib, elemPtr, key, value);
93
- }
94
- check(lib.quiver_database_update_element(handle, collection, id, elemPtr));
95
- }
96
- finally {
97
- lib.quiver_element_destroy(elemPtr);
98
- }
99
- };
100
- Database.prototype.deleteElement = function (collection, id) {
101
- const lib = getSymbols();
102
- check(lib.quiver_database_delete_element(this._handle, collection, id));
103
- };
104
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/dist/csv.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export interface CsvOptions {
2
- dateTimeFormat?: string;
3
- enumLabels?: Record<string, Record<string, Record<string, number>>>;
4
- }
5
- declare module "./database.js" {
6
- interface Database {
7
- exportCsv(collection: string, group: string, filePath: string, options?: CsvOptions): void;
8
- importCsv(collection: string, group: string, filePath: string, options?: CsvOptions): void;
9
- }
10
- }
11
- //# sourceMappingURL=csv.d.ts.map
package/dist/csv.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACrE;AAED,OAAO,QAAQ,eAAe,CAAC;IAC7B,UAAU,QAAQ;QAChB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;QAC3F,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;KAC5F;CACF"}
package/dist/csv.js DELETED
@@ -1,67 +0,0 @@
1
- import koffi from "koffi";
2
- import { Database } from "./database.js";
3
- import { check } from "./errors.js";
4
- import { allocNativeInt64, allocNativeString, allocNativeStringArray, nativeAddress } from "./ffi-helpers.js";
5
- import { getSymbols } from "./loader.js";
6
- /**
7
- * Build the 56-byte quiver_csv_options_t struct as a Buffer.
8
- * Returns [structBuffer, keepalive] where keepalive prevents GC of native allocations.
9
- */
10
- function buildCsvOptionsBuffer(options) {
11
- const buf = Buffer.alloc(56);
12
- const keepalive = [];
13
- const dtfStr = allocNativeString(options?.dateTimeFormat ?? "");
14
- keepalive.push(dtfStr);
15
- buf.writeBigUInt64LE(nativeAddress(dtfStr), 0);
16
- if (!options?.enumLabels || Object.keys(options.enumLabels).length === 0) {
17
- return [buf, keepalive];
18
- }
19
- const groupAttrNames = [];
20
- const groupLocaleNames = [];
21
- const groupEntryCounts = [];
22
- const allLabels = [];
23
- const allValues = [];
24
- for (const [attrName, locales] of Object.entries(options.enumLabels)) {
25
- for (const [localeName, entries] of Object.entries(locales)) {
26
- groupAttrNames.push(attrName);
27
- groupLocaleNames.push(localeName);
28
- groupEntryCounts.push(Object.keys(entries).length);
29
- for (const [label, value] of Object.entries(entries)) {
30
- allLabels.push(label);
31
- allValues.push(value);
32
- }
33
- }
34
- }
35
- const groupCount = groupAttrNames.length;
36
- const { table: attrTable, keepalive: attrPtrs } = allocNativeStringArray(groupAttrNames);
37
- keepalive.push(attrTable, ...attrPtrs);
38
- const { table: localeTable, keepalive: localePtrs } = allocNativeStringArray(groupLocaleNames);
39
- keepalive.push(localeTable, ...localePtrs);
40
- const entryCounts = koffi.alloc("uint64_t", groupCount);
41
- for (let i = 0; i < groupCount; i++) {
42
- koffi.encode(entryCounts, i * 8, "uint64_t", BigInt(groupEntryCounts[i]));
43
- }
44
- keepalive.push(entryCounts);
45
- const { table: labelsTable, keepalive: labelPtrs } = allocNativeStringArray(allLabels);
46
- keepalive.push(labelsTable, ...labelPtrs);
47
- const valuesArr = allocNativeInt64(allValues);
48
- keepalive.push(valuesArr);
49
- buf.writeBigUInt64LE(nativeAddress(attrTable), 8);
50
- buf.writeBigUInt64LE(nativeAddress(localeTable), 16);
51
- buf.writeBigUInt64LE(nativeAddress(entryCounts), 24);
52
- buf.writeBigUInt64LE(nativeAddress(labelsTable), 32);
53
- buf.writeBigUInt64LE(nativeAddress(valuesArr), 40);
54
- buf.writeBigUInt64LE(BigInt(groupCount), 48);
55
- return [buf, keepalive];
56
- }
57
- Database.prototype.exportCsv = function (collection, group, filePath, options) {
58
- const lib = getSymbols();
59
- const [optsBuf, _keepalive] = buildCsvOptionsBuffer(options);
60
- check(lib.quiver_database_export_csv(this._handle, collection, group, filePath, optsBuf));
61
- };
62
- Database.prototype.importCsv = function (collection, group, filePath, options) {
63
- const lib = getSymbols();
64
- const [optsBuf, _keepalive] = buildCsvOptionsBuffer(options);
65
- check(lib.quiver_database_import_csv(this._handle, collection, group, filePath, optsBuf));
66
- };
67
- //# sourceMappingURL=csv.js.map
package/dist/csv.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../src/csv.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { NativePointer } from "./loader.js";
2
- export declare class Database {
3
- private _ptr;
4
- private _closed;
5
- private constructor();
6
- static fromSchema(dbPath: string, schemaPath: string): Database;
7
- static fromMigrations(dbPath: string, migrationsPath: string): Database;
8
- close(): void;
9
- private ensureOpen;
10
- /** @internal */
11
- get _handle(): NativePointer;
12
- }
13
- //# sourceMappingURL=database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ;IAU/D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,QAAQ;IAUvE,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,UAAU;IAMlB,gBAAgB;IAChB,IAAI,OAAO,IAAI,aAAa,CAG3B;CACF"}