@milaboratories/pframes-rs-node 1.0.105 → 1.0.108
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/export/addon-def.ts +6 -9
- package/export/export.ts +3 -3
- package/export/wrapper.ts +79 -42
- package/export_dist/export/addon-def.d.ts +6 -12
- package/export_dist/export/addon-def.d.ts.map +1 -1
- package/export_dist/export/export.d.ts +1 -1
- package/export_dist/export/wrapper.d.ts +9 -9
- package/export_dist/export/wrapper.d.ts.map +1 -1
- package/export_dist/export.cjs.map +1 -1
- package/export_dist/export.js.map +1 -1
- package/export_dist/wrapper.cjs +65 -27
- package/export_dist/wrapper.cjs.map +1 -1
- package/export_dist/wrapper.js +65 -27
- package/export_dist/wrapper.js.map +1 -1
- package/package.json +8 -8
package/export_dist/wrapper.js
CHANGED
|
@@ -9,17 +9,20 @@ async function pprofDump() {
|
|
|
9
9
|
return await AddonSymbol.pprofDump();
|
|
10
10
|
}
|
|
11
11
|
catch (err) {
|
|
12
|
-
|
|
12
|
+
const error = new PFrameError(`PFrame pprofDump failed`);
|
|
13
|
+
error.cause = ensureError(err);
|
|
14
|
+
throw error;
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
class PFrame {
|
|
16
18
|
#frame;
|
|
17
|
-
#id
|
|
19
|
+
#id;
|
|
18
20
|
get id() {
|
|
19
21
|
return this.#id;
|
|
20
22
|
}
|
|
21
23
|
#logger;
|
|
22
24
|
constructor(options) {
|
|
25
|
+
this.#id = options.frameId;
|
|
23
26
|
this.#logger = options.logger ?? (() => { });
|
|
24
27
|
dump([`${this.id}`, `${this.id}.json`], {
|
|
25
28
|
timeStamp: Date.now(),
|
|
@@ -30,10 +33,12 @@ class PFrame {
|
|
|
30
33
|
this.#logger('info', `PFrame ${this.id} created`);
|
|
31
34
|
}
|
|
32
35
|
catch (err) {
|
|
33
|
-
|
|
36
|
+
const error = new PFrameError(`PFrame creation failed`);
|
|
37
|
+
error.cause = new Error(`PFrame ${this.id} creation failed, ` +
|
|
34
38
|
`logger: ${this.#logger?.toString()}, ` +
|
|
35
39
|
`error:\n` +
|
|
36
40
|
`${ensureError(err)}`);
|
|
41
|
+
throw error;
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
addColumnSpec(columnId, columnSpec) {
|
|
@@ -53,11 +58,13 @@ class PFrame {
|
|
|
53
58
|
return AddonSymbol.pFrameAddColumnSpec(this.#frame, columnId, columnSpec);
|
|
54
59
|
}
|
|
55
60
|
catch (err) {
|
|
56
|
-
|
|
61
|
+
const error = new PFrameError(`PFrame addColumnSpec request failed`);
|
|
62
|
+
error.cause = new Error(`PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +
|
|
57
63
|
`columnId: ${JSON.stringify(columnId)}, ` +
|
|
58
64
|
`columnSpec: ${JSON.stringify(columnSpec)}, ` +
|
|
59
65
|
`error:\n` +
|
|
60
66
|
`${ensureError(err)}`);
|
|
67
|
+
throw error;
|
|
61
68
|
}
|
|
62
69
|
}
|
|
63
70
|
setDataSource(dataSource) {
|
|
@@ -105,10 +112,12 @@ class PFrame {
|
|
|
105
112
|
return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);
|
|
106
113
|
}
|
|
107
114
|
catch (err) {
|
|
108
|
-
|
|
115
|
+
const error = new PFrameError(`PFrame setDataSource request failed`);
|
|
116
|
+
error.cause = new Error(`PFrame ${this.id} setDataSource request ${requestId} failed, ` +
|
|
109
117
|
`dataSource: ${dataSource.toString()}, ` +
|
|
110
118
|
`error:\n` +
|
|
111
119
|
`${ensureError(err)}`);
|
|
120
|
+
throw error;
|
|
112
121
|
}
|
|
113
122
|
}
|
|
114
123
|
setColumnData(columnId, dataInfo, ops) {
|
|
@@ -129,11 +138,13 @@ class PFrame {
|
|
|
129
138
|
return AddonSymbol.pFrameSetColumnData(this.#frame, columnId, dataInfo, ops?.signal);
|
|
130
139
|
}
|
|
131
140
|
catch (err) {
|
|
132
|
-
|
|
141
|
+
const error = new PFrameError(`PFrame setColumnData request failed`);
|
|
142
|
+
error.cause = new Error(`PFrame ${this.id} setColumnData request ${requestId} failed, ` +
|
|
133
143
|
`columnId: ${JSON.stringify(columnId)}, ` +
|
|
134
144
|
`dataInfo: ${JSON.stringify(dataInfo)}, ` +
|
|
135
145
|
`error:\n` +
|
|
136
146
|
`${ensureError(err)}`);
|
|
147
|
+
throw error;
|
|
137
148
|
}
|
|
138
149
|
}
|
|
139
150
|
dispose() {
|
|
@@ -147,9 +158,11 @@ class PFrame {
|
|
|
147
158
|
this.#logger('info', `PFrame ${this.id} disposed`);
|
|
148
159
|
}
|
|
149
160
|
catch (err) {
|
|
150
|
-
|
|
161
|
+
const error = new PFrameError(`PFrame dispose request failed`);
|
|
162
|
+
error.cause = new Error(`PFrame ${this.id} dispose request ${requestId} failed, ` +
|
|
151
163
|
`error:\n` +
|
|
152
164
|
`${ensureError(err)}`);
|
|
165
|
+
throw error;
|
|
153
166
|
}
|
|
154
167
|
}
|
|
155
168
|
[Symbol.dispose]() {
|
|
@@ -167,10 +180,12 @@ class PFrame {
|
|
|
167
180
|
return await AddonSymbol.pFrameFindColumns(this.#frame, request);
|
|
168
181
|
}
|
|
169
182
|
catch (err) {
|
|
170
|
-
|
|
183
|
+
const error = new PFrameError(`PFrame findColumns request failed`);
|
|
184
|
+
error.cause = new Error(`PFrame ${this.id} findColumns request ${requestId} failed, ` +
|
|
171
185
|
`request: ${JSON.stringify(request)}, ` +
|
|
172
186
|
`error:\n` +
|
|
173
187
|
`${ensureError(err)}`);
|
|
188
|
+
throw error;
|
|
174
189
|
}
|
|
175
190
|
finally {
|
|
176
191
|
this.#logger('info', `PFrame ${this.id} findColumns request ${requestId} took ${timer.elapsed()}`);
|
|
@@ -188,10 +203,12 @@ class PFrame {
|
|
|
188
203
|
return await AddonSymbol.pFrameDeleteColumn(this.#frame, request);
|
|
189
204
|
}
|
|
190
205
|
catch (err) {
|
|
191
|
-
|
|
206
|
+
const error = new PFrameError(`PFrame deleteColumn request failed`);
|
|
207
|
+
error.cause = new Error(`PFrame ${this.id} deleteColumn request ${requestId} failed, ` +
|
|
192
208
|
`request: ${JSON.stringify(request)}, ` +
|
|
193
209
|
`error:\n` +
|
|
194
210
|
`${ensureError(err)}`);
|
|
211
|
+
throw error;
|
|
195
212
|
}
|
|
196
213
|
finally {
|
|
197
214
|
this.#logger('info', `PFrame ${this.id} deleteColumn request ${requestId} took ${timer.elapsed()}`);
|
|
@@ -210,10 +227,12 @@ class PFrame {
|
|
|
210
227
|
return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);
|
|
211
228
|
}
|
|
212
229
|
catch (err) {
|
|
213
|
-
|
|
230
|
+
const error = new PFrameError(`PFrame getColumnSpec request failed`);
|
|
231
|
+
error.cause = new Error(`PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +
|
|
214
232
|
`columnId: ${JSON.stringify(columnId)}, ` +
|
|
215
233
|
`error:\n` +
|
|
216
234
|
`${ensureError(err)}`);
|
|
235
|
+
throw error;
|
|
217
236
|
}
|
|
218
237
|
}
|
|
219
238
|
async listColumns() {
|
|
@@ -226,13 +245,14 @@ class PFrame {
|
|
|
226
245
|
return await AddonSymbol.pFrameListColumns(this.#frame);
|
|
227
246
|
}
|
|
228
247
|
catch (err) {
|
|
229
|
-
|
|
248
|
+
const error = new PFrameError(`PFrame listColumns request failed`);
|
|
249
|
+
error.cause = new Error(`PFrame ${this.id} listColumns request ${requestId} failed, ` +
|
|
230
250
|
`error:\n` +
|
|
231
251
|
`${ensureError(err)}`);
|
|
252
|
+
throw error;
|
|
232
253
|
}
|
|
233
254
|
}
|
|
234
|
-
createTable(request) {
|
|
235
|
-
const requestId = ulid();
|
|
255
|
+
createTable(requestId, request) {
|
|
236
256
|
const dumpData = {
|
|
237
257
|
timeStamp: Date.now(),
|
|
238
258
|
requestType: 'createTable',
|
|
@@ -246,10 +266,12 @@ class PFrame {
|
|
|
246
266
|
return new PTable(this, requestId, boxed, this.#logger);
|
|
247
267
|
}
|
|
248
268
|
catch (err) {
|
|
249
|
-
|
|
269
|
+
const error = new PFrameError(`PFrame createTable request failed`);
|
|
270
|
+
error.cause = new Error(`PFrame ${this.id} createTable request ${requestId} failed, ` +
|
|
250
271
|
`request: ${JSON.stringify(request)}, ` +
|
|
251
272
|
`error:\n` +
|
|
252
273
|
`${ensureError(err)}`);
|
|
274
|
+
throw error;
|
|
253
275
|
}
|
|
254
276
|
finally {
|
|
255
277
|
this.#logger('info', `PFrame ${this.id} createTable request ${requestId} took ${timer.elapsed()}`);
|
|
@@ -272,10 +294,12 @@ class PFrame {
|
|
|
272
294
|
if (isAbortError(err)) {
|
|
273
295
|
throw new AbortError(`PFrame ${this.id} getUniqueValues request ${requestId} cancelled`);
|
|
274
296
|
}
|
|
275
|
-
|
|
297
|
+
const error = new PFrameError(`PFrame getUniqueValues request failed`);
|
|
298
|
+
error.cause = new Error(`PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +
|
|
276
299
|
`request: ${JSON.stringify(request)}, ` +
|
|
277
300
|
`error:\n` +
|
|
278
301
|
`${ensureError(err)}`);
|
|
302
|
+
throw error;
|
|
279
303
|
}
|
|
280
304
|
finally {
|
|
281
305
|
this.#logger('info', `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${timer.elapsed()}`);
|
|
@@ -307,9 +331,11 @@ class PTable {
|
|
|
307
331
|
return AddonSymbol.pTableGetSpec(this.#table);
|
|
308
332
|
}
|
|
309
333
|
catch (err) {
|
|
310
|
-
|
|
334
|
+
const error = new PFrameError(`PTable getSpec request failed`);
|
|
335
|
+
error.cause = new Error(`PTable ${this.id} getSpec request ${requestId} failed, ` +
|
|
311
336
|
`error:\n` +
|
|
312
337
|
`${ensureError(err)}`);
|
|
338
|
+
throw error;
|
|
313
339
|
}
|
|
314
340
|
}
|
|
315
341
|
getColumnIndices(columnIds) {
|
|
@@ -325,10 +351,12 @@ class PTable {
|
|
|
325
351
|
return AddonSymbol.pTableGetColumnIndices(this.#table, columnIds);
|
|
326
352
|
}
|
|
327
353
|
catch (err) {
|
|
328
|
-
|
|
354
|
+
const error = new PFrameError(`PTable getColumnIndices request failed`);
|
|
355
|
+
error.cause = new Error(`PTable ${this.id} getColumnIndices request ${requestId} failed, ` +
|
|
329
356
|
`columnIds: ${JSON.stringify(columnIds)}, ` +
|
|
330
357
|
`error:\n` +
|
|
331
358
|
`${ensureError(err)}`);
|
|
359
|
+
throw error;
|
|
332
360
|
}
|
|
333
361
|
}
|
|
334
362
|
async getFootprint(ops) {
|
|
@@ -345,9 +373,11 @@ class PTable {
|
|
|
345
373
|
if (!isAbortError(err)) {
|
|
346
374
|
throw new AbortError(`PTable ${this.id} getFootprint request ${requestId} cancelled`);
|
|
347
375
|
}
|
|
348
|
-
|
|
376
|
+
const error = new PFrameError(`PTable getFootprint request failed`);
|
|
377
|
+
error.cause = new Error(`PTable ${this.id} getFootprint request ${requestId} failed, ` +
|
|
349
378
|
`error:\n` +
|
|
350
379
|
`${ensureError(err)}`);
|
|
380
|
+
throw error;
|
|
351
381
|
}
|
|
352
382
|
}
|
|
353
383
|
async getShape(ops) {
|
|
@@ -366,9 +396,11 @@ class PTable {
|
|
|
366
396
|
if (isAbortError(err)) {
|
|
367
397
|
throw new AbortError(`PTable ${this.id} getShape request ${requestId} cancelled`);
|
|
368
398
|
}
|
|
369
|
-
|
|
399
|
+
const error = new PFrameError(`PTable getShape request failed`);
|
|
400
|
+
error.cause = new Error(`PTable ${this.id} getShape request ${requestId} failed, ` +
|
|
370
401
|
`error:\n` +
|
|
371
402
|
`${ensureError(err)}`);
|
|
403
|
+
throw error;
|
|
372
404
|
}
|
|
373
405
|
finally {
|
|
374
406
|
this.#logger('info', `PTable ${this.id} getShape request ${requestId} finished, took ${timer.elapsed()}`);
|
|
@@ -397,18 +429,19 @@ class PTable {
|
|
|
397
429
|
if (isAbortError(err)) {
|
|
398
430
|
throw new AbortError(`PTable ${this.id} getData request ${requestId} cancelled`);
|
|
399
431
|
}
|
|
400
|
-
|
|
432
|
+
const error = new PFrameError(`PTable getData request failed`);
|
|
433
|
+
error.cause = new Error(`PTable ${this.id} getData request ${requestId} failed, ` +
|
|
401
434
|
`columnIndices: ${JSON.stringify(columnIndices)}, ` +
|
|
402
435
|
`range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +
|
|
403
436
|
`error:\n` +
|
|
404
437
|
`${ensureError(err)}`);
|
|
438
|
+
throw error;
|
|
405
439
|
}
|
|
406
440
|
finally {
|
|
407
441
|
this.#logger('info', `PTable ${this.id} getData request ${requestId} finished, took ${timer.elapsed()} (${rowCount} rows)`);
|
|
408
442
|
}
|
|
409
443
|
}
|
|
410
|
-
filter(request) {
|
|
411
|
-
const requestId = ulid();
|
|
444
|
+
filter(requestId, request) {
|
|
412
445
|
const dumpData = {
|
|
413
446
|
timeStamp: Date.now(),
|
|
414
447
|
table: this.id,
|
|
@@ -425,17 +458,18 @@ class PTable {
|
|
|
425
458
|
return new PTable(this.#frame, requestId, boxed, this.#logger);
|
|
426
459
|
}
|
|
427
460
|
catch (err) {
|
|
428
|
-
|
|
461
|
+
const error = new PFrameError(`PTable filter request failed`);
|
|
462
|
+
error.cause = new Error(`PTable ${this.id} filter request ${requestId} failed, ` +
|
|
429
463
|
`request: ${JSON.stringify(request)}, ` +
|
|
430
464
|
`error:\n` +
|
|
431
465
|
`${ensureError(err)}`);
|
|
466
|
+
throw error;
|
|
432
467
|
}
|
|
433
468
|
finally {
|
|
434
469
|
this.#logger('info', `PTable ${this.id} filter request ${requestId} took ${timer.elapsed()}`);
|
|
435
470
|
}
|
|
436
471
|
}
|
|
437
|
-
sort(request) {
|
|
438
|
-
const requestId = ulid();
|
|
472
|
+
sort(requestId, request) {
|
|
439
473
|
const dumpData = {
|
|
440
474
|
timeStamp: Date.now(),
|
|
441
475
|
table: this.id,
|
|
@@ -450,10 +484,12 @@ class PTable {
|
|
|
450
484
|
return new PTable(this.#frame, requestId, boxed, this.#logger);
|
|
451
485
|
}
|
|
452
486
|
catch (err) {
|
|
453
|
-
|
|
487
|
+
const error = new PFrameError(`PTable sort request failed`);
|
|
488
|
+
error.cause = new Error(`PTable ${this.id} sort request ${requestId} failed, ` +
|
|
454
489
|
`request: ${JSON.stringify(request)}, ` +
|
|
455
490
|
`error:\n` +
|
|
456
491
|
`${ensureError(err)}`);
|
|
492
|
+
throw error;
|
|
457
493
|
}
|
|
458
494
|
finally {
|
|
459
495
|
this.#logger('info', `PTable ${this.id} sort request ${requestId} took ${timer.elapsed()}`);
|
|
@@ -470,9 +506,11 @@ class PTable {
|
|
|
470
506
|
this.#logger('info', `PTable ${this.id} disposed`);
|
|
471
507
|
}
|
|
472
508
|
catch (err) {
|
|
473
|
-
|
|
509
|
+
const error = new PFrameError(`PTable dispose request failed`);
|
|
510
|
+
error.cause = new Error(`PTable ${this.id} dispose request ${requestId} failed, ` +
|
|
474
511
|
`error:\n` +
|
|
475
512
|
`${ensureError(err)}`);
|
|
513
|
+
throw error;
|
|
476
514
|
}
|
|
477
515
|
}
|
|
478
516
|
[Symbol.dispose]() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sources":["../../export/wrapper.ts"],"sourcesContent":["import { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PerfTimer } from '@milaboratories/helpers';\nimport type {\n FrameId,\n TableId,\n NodeFrameSymbol,\n NodeTableSymbol\n} from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport async function pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame pprofDump failed, ` + `error:\\n` + `${ensureError(err)}`\n );\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV12 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: FrameId = ulid() as FrameId;\n\n get id(): FrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptions) {\n this.#logger = options.logger ?? (() => {});\n\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.#logger\n );\n\n try {\n this.#frame = AddonSymbol.pFrameCreate(options.spillPath, options.logger);\n this.#logger('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n addColumnSpec(columnId: PObjectId, columnSpec: PColumnSpec): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'addColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId),\n columnSpec\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.spec`],\n {\n ...columnSpec\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pFrameAddColumnSpec(this.#frame, columnId, columnSpec);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const timer = PerfTimer.start();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${timer.elapsed()} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n },\n parquetServer: dataSource.parquetServer\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: PFrameInternal.DataInfo<PFrameInternal.PFrameBlobId>,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<void> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId: hashColumnId(columnId),\n dataInfo\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.datainfo`],\n {\n ...dataInfo\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return AddonSymbol.pFrameSetColumnData(\n this.#frame,\n columnId,\n dataInfo,\n ops?.signal\n );\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n dispose(): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pFrameDispose(this.#frame);\n this.#logger('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n [Symbol.dispose](): void {\n this.dispose();\n }\n\n async findColumns(\n request: PFrameInternal.FindColumnsRequest\n ): Promise<PFrameInternal.FindColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'findColumns',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameFindColumns(this.#frame, request);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async deleteColumn(\n request: PFrameInternal.DeleteColumnFromColumnsRequest\n ): Promise<PFrameInternal.DeleteColumnFromColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'deleteColumn',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameDeleteColumn(this.#frame, request);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getColumnSpec(columnId: PObjectId): Promise<PColumnSpec> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId)\n }\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n createTable(request: PFrameInternal.CreateTableRequestV4): PTable {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(request)\n };\n dump([`${this.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pFrameCreateTable(\n this.#frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.#frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV7 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#logger('info', `PTable ${this.id} created`);\n }\n\n getSpec(): PTableColumnSpec[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getSpec'\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetSpec(this.#table);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n getColumnIndices(columnIds: PTableColumnId[]): number[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnIndices',\n requestData: {\n columnIds: columnIds.map(hashTableColumnId)\n }\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.#table, columnIds);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n async getFootprint(ops?: { signal?: AbortSignal }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (!isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.#table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${timer.elapsed()} (${rowCount} rows)`\n );\n }\n }\n\n filter(request: PTableRecordFilter[]): PTable {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableFilter(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PTable {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableSort(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n dispose() {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#logger('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":[],"mappings":";;;;;;AAsCO,eAAe,SAAS,GAAA;AAC7B,IAAA,IAAI;AACF,QAAA,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE;IACtC;IAAE,OAAO,GAAY,EAAE;AACrB,QAAA,MAAM,IAAI,WAAW,CACnB,CAAA,yBAAA,CAA2B,GAAG,CAAA,QAAA,CAAU,GAAG,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACjE;IACH;AACF;MAEa,MAAM,CAAA;AACR,IAAA,MAAM;IAEN,GAAG,GAAY,IAAI,EAAa;AAEzC,IAAA,IAAI,EAAE,GAAA;QACJ,OAAO,IAAI,CAAC,GAAG;IACjB;AAES,IAAA,OAAO;AAEhB,IAAA,WAAA,CAAY,OAAqC,EAAA;AAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,MAAK,EAAE,CAAC,CAAC;AAE3C,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,KAAA,CAAO,CAAC,EACjC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;QACnD;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,MAAM,IAAI,WAAW,CACnB,UAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,CAAoB;AACnC,gBAAA,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,aAAa,CAAC,QAAmB,EAAE,UAAuB,EAAA;AACxD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE;AACX,gBAAA,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAChC;AACD;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,IAAA,CAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,GAAG;AACJ,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC3E;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;AACzC,gBAAA,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,EAAA,CAAI;gBAC7C,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,aAAa,CAAC,UAA6C,EAAA;AACzD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,iBAAiB,GAAG;AACxB,YAAA,WAAW,EAAE,OACX,OAAsC,KACrB;AACjB,gBAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,gBAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,oBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,oBAAA,WAAW,EAAE,aAAa;AAC1B,oBAAA,WAAW,EAAE;wBACX;AACD;AACF,iBAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,gBAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,+BAAA,EAAkC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,CAAE,CAC7E;AACD,gBAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,gBAAA,IAAI;AACF,oBAAA,OAAO,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC9C;wBAAU;oBACR,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,4BAAA,EAA+B,KAAK,CAAC,OAAO,EAAE,CAAA,EAAA,EAAK,OAAO,CAAC,MAAM,CAAA,OAAA,CAAS,CAC5F;gBACH;YACF,CAAC;AACD,YAAA,kBAAkB,EAAE,OAClB,MAAmC,KACZ;AACvB,gBAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,gBAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,oBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,oBAAA,WAAW,EAAE,oBAAoB;AACjC,oBAAA,WAAW,EAAE;wBACX;AACD;AACF,iBAAA,EACD,IAAI,CAAC,OAAO,CACb;gBAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC;AACxD,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,eAAA,EAAkB,MAAM,CAAA,CAAE,CAAC;gBACjE,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,IAAA,CAAM,EAAE,GAAG,MAAM,CAAA,CAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAE7D,gBAAA,OAAO,IAAI;YACb,CAAC;YACD,aAAa,EAAE,UAAU,CAAC;SAC3B;AAED,QAAA,IAAI;YACF,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACxE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,YAAA,EAAe,UAAU,CAAC,QAAQ,EAAE,CAAA,EAAA,CAAI;gBACxC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,aAAa,CACX,QAAmB,EACnB,QAA8D,EAC9D,GAEC,EAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE;AACX,gBAAA,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAChC;AACD;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,IAAA,CAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA,SAAA,CAAW,CAAC,EAC5D;AACE,YAAA,GAAG;AACJ,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,WAAW,CAAC,mBAAmB,CACpC,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,QAAQ,EACR,GAAG,EAAE,MAAM,CACZ;QACH;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;AACzC,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;gBACzC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,SAAA,CAAW,CAAC;QACpD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;gBACvD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;QACd,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,MAAM,WAAW,CACf,OAA0C,EAAA;AAE1C,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QAClE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,SAAA,CAAW;AAC3D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,SAAS,KAAK,CAAC,OAAO,EAAE,CAAA,CAAE,CAC7E;QACH;IACF;IAEA,MAAM,YAAY,CAChB,OAAsD,EAAA;AAEtD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QACnE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,SAAA,CAAW;AAC5D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,SAAS,KAAK,CAAC,OAAO,EAAE,CAAA,CAAE,CAC9E;QACH;IACF;IAEA,MAAM,aAAa,CAAC,QAAmB,EAAA;AACrC,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE;AACX,gBAAA,QAAQ,EAAE,YAAY,CAAC,QAAQ;AAChC;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;gBACzC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QACzD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,SAAA,CAAW;gBAC3D,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,WAAW,CAAC,OAA4C,EAAA;AACtD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,WAAW,EAAE,8BAA8B,CAAC,OAAO;SACpD;AACD,QAAA,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;QACjE,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnD,QAAQ,EACR,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CACzC,IAAI,CAAC,MAAM,EACX,SAAS,EACT,OAAO,CACR;AACD,YAAA,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACzD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,SAAA,CAAW;AAC3D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,SAAS,KAAK,CAAC,OAAO,EAAE,CAAA,CAAE,CAC7E;QACH;IACF;AAEA,IAAA,MAAM,eAAe,CACnB,OAA4B,EAC5B,GAEC,EAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,iBAAiB;AAC9B,YAAA,WAAW,EAAE,+BAA+B,CAAC,OAAO;AACrD,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,QAAA,CAAU,CACjE;AACD,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,MAAM,WAAW,CAAC,qBAAqB,CAC5C,IAAI,CAAC,MAAM,EACX,SAAS,EACT,OAAO,EACP,GAAG,EAAE,MAAM,CACZ;QACH;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,UAAA,CAAY,CACnE;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,SAAA,CAAW;AAC/D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAA,CAAE,CAC3F;QACH;IACF;AACD;AAED,MAAM,MAAM,CAAA;AACD,IAAA,MAAM;AACN,IAAA,MAAM;AAEN,IAAA,GAAG;AAEZ,IAAA,IAAI,EAAE,GAAA;QACJ,OAAO,IAAI,CAAC,GAAG;IACjB;AAES,IAAA,OAAO;AAEhB,IAAA,WAAA,CACE,KAAa,EACb,EAAU,EACV,KAAsB,EACtB,MAA6B,EAAA;AAE7B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;IACnD;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;YACF,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/C;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;gBACvD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,gBAAgB,CAAC,SAA2B,EAAA;AAC1C,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,kBAAkB;AAC/B,YAAA,WAAW,EAAE;AACX,gBAAA,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,iBAAiB;AAC3C;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;YACF,OAAO,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACnE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,0BAAA,EAA6B,SAAS,CAAA,SAAA,CAAW;AAChE,gBAAA,CAAA,WAAA,EAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA,EAAA,CAAI;gBAC3C,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,MAAM,YAAY,CAAC,GAA8B,EAAA;AAC/C,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,MAAM,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC;QACvE;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBACtB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,UAAA,CAAY,CAChE;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,SAAA,CAAW;gBAC5D,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,MAAM,QAAQ,CAAC,GAA8B,EAAA;AAC3C,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,CAAA,QAAA,CAAU,CAC1D;AACD,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC;QACnE;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,CAAA,UAAA,CAAY,CAC5D;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,CAAA,SAAA,CAAW;gBACxD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAA,CAAE,CACpF;QACH;IACF;AAEA,IAAA,MAAM,OAAO,CACX,aAAuB,EACvB,GAGC,EAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;QACnC,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE;gBACX,aAAa;AACb,gBAAA,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI;AACtB;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,QAAA,CAAU,CACzD;QACD,IAAI,QAAQ,GAAG,CAAC;AAChB,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,aAAa,CAC5C,IAAI,CAAC,MAAM,EACX,SAAS,EACT,aAAa,EACb,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,MAAM,CACZ;YACD,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;AAChC,YAAA,OAAO,MAAM;QACf;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,UAAA,CAAY,CAC3D;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;AACvD,gBAAA,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA,EAAA,CAAI;AACnD,gBAAA,CAAA,OAAA,EAAU,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA,EAAA,CAAI;gBAChE,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;YACR,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,gBAAA,EAAmB,KAAK,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAA,MAAA,CAAQ,CACtG;QACH;IACF;AAEA,IAAA,MAAM,CAAC,OAA6B,EAAA;AAClC,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;AACd,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE;AACX,gBAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;AACxC;SACF;QACD,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;QACxE,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,EAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAC1D,QAAQ,EACR,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;AACvE,YAAA,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QAChE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,gBAAA,EAAmB,SAAS,CAAA,SAAA,CAAW;AACtD,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,gBAAA,EAAmB,SAAS,SAAS,KAAK,CAAC,OAAO,EAAE,CAAA,CAAE,CACxE;QACH;IACF;AAEA,IAAA,IAAI,CAAC,OAAwB,EAAA;AAC3B,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;AACd,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;SAC7C;QACD,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;QACxE,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,EAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAC1D,QAAQ,EACR,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE;AAC/B,QAAA,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;AACrE,YAAA,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QAChE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,cAAA,EAAiB,SAAS,CAAA,SAAA,CAAW;AACpD,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,cAAA,EAAiB,SAAS,SAAS,KAAK,CAAC,OAAO,EAAE,CAAA,CAAE,CACtE;QACH;IACF;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,SAAA,CAAW,CAAC;QACpD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;gBACvD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;QACd,IAAI,CAAC,OAAO,EAAE;IAChB;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"wrapper.js","sources":["../../export/wrapper.ts"],"sourcesContent":["import { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PerfTimer } from '@milaboratories/helpers';\nimport type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport async function pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame pprofDump failed`);\n error.cause = ensureError(err);\n throw error;\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV13 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: PFrameInternal.PFrameId;\n\n get id(): PFrameInternal.PFrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptionsV2) {\n this.#id = options.frameId;\n this.#logger = options.logger ?? (() => {});\n\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.#logger\n );\n\n try {\n this.#frame = AddonSymbol.pFrameCreate(options.spillPath, options.logger);\n this.#logger('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame creation failed`);\n error.cause = new Error(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n addColumnSpec(columnId: PObjectId, columnSpec: PColumnSpec): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'addColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId),\n columnSpec\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.spec`],\n {\n ...columnSpec\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pFrameAddColumnSpec(this.#frame, columnId, columnSpec);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame addColumnSpec request failed`);\n error.cause = new Error(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const timer = PerfTimer.start();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${timer.elapsed()} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n },\n parquetServer: dataSource.parquetServer\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame setDataSource request failed`);\n error.cause = new Error(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: PFrameInternal.DataInfo<PFrameInternal.PFrameBlobId>,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<void> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId: hashColumnId(columnId),\n dataInfo\n }\n },\n this.#logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.datainfo`],\n {\n ...dataInfo\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return AddonSymbol.pFrameSetColumnData(\n this.#frame,\n columnId,\n dataInfo,\n ops?.signal\n );\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame setColumnData request failed`);\n error.cause = new Error(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n dispose(): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pFrameDispose(this.#frame);\n this.#logger('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame dispose request failed`);\n error.cause = new Error(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n [Symbol.dispose](): void {\n this.dispose();\n }\n\n async findColumns(\n request: PFrameInternal.FindColumnsRequest\n ): Promise<PFrameInternal.FindColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'findColumns',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameFindColumns(this.#frame, request);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame findColumns request failed`);\n error.cause = new Error(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async deleteColumn(\n request: PFrameInternal.DeleteColumnFromColumnsRequest\n ): Promise<PFrameInternal.DeleteColumnFromColumnsResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'deleteColumn',\n requestData: request\n },\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n return await AddonSymbol.pFrameDeleteColumn(this.#frame, request);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame deleteColumn request failed`);\n error.cause = new Error(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getColumnSpec(columnId: PObjectId): Promise<PColumnSpec | null> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnSpec',\n requestData: {\n columnId: hashColumnId(columnId)\n }\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame getColumnSpec request failed`);\n error.cause = new Error(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame listColumns request failed`);\n error.cause = new Error(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n createTable(\n requestId: PFrameInternal.PTableId,\n request: PFrameInternal.CreateTableRequestV4\n ): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(request)\n };\n dump([`${this.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pFrameCreateTable(\n this.#frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PFrame createTable request failed`);\n error.cause = new Error(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as PFrameInternal.PTableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.#frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PFrame getUniqueValues request failed`);\n error.cause = new Error(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV8 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#logger('info', `PTable ${this.id} created`);\n }\n\n getSpec(): PTableColumnSpec[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getSpec'\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetSpec(this.#table);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable getSpec request failed`);\n error.cause = new Error(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n getColumnIndices(columnIds: PTableColumnId[]): number[] {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getColumnIndices',\n requestData: {\n columnIds: columnIds.map(hashTableColumnId)\n }\n },\n this.#logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.#table, columnIds);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable getColumnIndices request failed`);\n error.cause = new Error(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async getFootprint(ops?: { signal?: AbortSignal }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.#logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (!isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getFootprint request failed`);\n error.cause = new Error(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.#table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getShape request failed`);\n error.cause = new Error(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${timer.elapsed()}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as PFrameInternal.PTableId;\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const timer = PerfTimer.start();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.#table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n const error = new PFrameError(`PTable getData request failed`);\n error.cause = new Error(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${timer.elapsed()} (${rowCount} rows)`\n );\n }\n }\n\n filter(\n requestId: PFrameInternal.PTableId,\n request: PTableRecordFilter[]\n ): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableFilter(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable filter request failed`);\n error.cause = new Error(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n sort(requestId: PFrameInternal.PTableId, request: PTableSorting[]): PTable {\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\n };\n dump([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#logger\n );\n\n const timer = PerfTimer.start();\n try {\n const boxed = AddonSymbol.pTableSort(this.#table, requestId, request);\n return new PTable(this.#frame, requestId, boxed, this.#logger);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable sort request failed`);\n error.cause = new Error(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n } finally {\n this.#logger(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${timer.elapsed()}`\n );\n }\n }\n\n dispose() {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'dispose'\n },\n this.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#logger('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n const error = new PFrameError(`PTable dispose request failed`);\n error.cause = new Error(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n throw error;\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/pframes-rs-node",
|
|
3
3
|
"description": "PFrames - Node.js Native Addon",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.108",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./export_dist/index.d.ts",
|
|
7
7
|
"main": "./export_dist/index.js",
|
|
@@ -18,24 +18,24 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@mapbox/node-pre-gyp": "^2.0.0",
|
|
21
|
-
"@milaboratories/pl-model-common": "1.21.
|
|
21
|
+
"@milaboratories/pl-model-common": "1.21.8",
|
|
22
22
|
"@milaboratories/helpers": "1.12.0",
|
|
23
23
|
"ulid": "^3.0.1",
|
|
24
|
-
"@milaboratories/pframes-rs-serv": "1.0.
|
|
24
|
+
"@milaboratories/pframes-rs-serv": "1.0.108"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@milaboratories/build-configs": "1.0.8",
|
|
28
|
-
"@milaboratories/pl-model-middle-layer": "1.8.
|
|
28
|
+
"@milaboratories/pl-model-middle-layer": "1.8.42",
|
|
29
29
|
"@milaboratories/ts-builder": "1.0.5",
|
|
30
30
|
"@milaboratories/ts-configs": "1.0.6",
|
|
31
31
|
"@types/node": "^22.19.1",
|
|
32
|
-
"@vitest/coverage-istanbul": "^4.0.
|
|
33
|
-
"@vitest/expect": "^4.0.
|
|
32
|
+
"@vitest/coverage-istanbul": "^4.0.13",
|
|
33
|
+
"@vitest/expect": "^4.0.13",
|
|
34
34
|
"cargo-cp-artifact": "^0.1.9",
|
|
35
35
|
"tslib": "^2.8.1",
|
|
36
36
|
"typescript": "^5.9.3",
|
|
37
37
|
"vite": "^7.2.4",
|
|
38
|
-
"vitest": "^4.0.
|
|
38
|
+
"vitest": "^4.0.13"
|
|
39
39
|
},
|
|
40
40
|
"binary": {
|
|
41
41
|
"module_name": "pframes_rs_node",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"scripts": {
|
|
60
60
|
"cargo-build": "pnpm exec cargo-cp-artifact -nc ./dist/napi-v8/pframes_rs_node.node -- cargo build --message-format=json",
|
|
61
|
-
"
|
|
61
|
+
"bump-version": "cargo run -p pframes_rs_meta --bin npm_version -r --locked",
|
|
62
62
|
"ts-build": "pnpm exec ts-builder build --target node --build-config build.node.config.js",
|
|
63
63
|
"build": "pnpm run cargo-build -r --locked && pnpm run ts-build",
|
|
64
64
|
"install": "node-pre-gyp install --update-binary --fallback-to-build=false || node -p \"process.exit(+!(require('./package.json').version === '0.0.0'))\"",
|