@milaboratories/pframes-rs-node 1.0.29 → 1.0.32
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 +2 -1
- package/export/export.ts +1 -1
- package/export/wrapper.ts +43 -36
- package/export_dist/addon-def.d.ts +1 -1
- package/export_dist/addon-def.d.ts.map +1 -1
- package/export_dist/export.d.ts +1 -1
- package/export_dist/index.js +19 -19
- package/export_dist/index.js.map +1 -1
- package/export_dist/index.mjs +203 -198
- package/export_dist/index.mjs.map +1 -1
- package/export_dist/wrapper.d.ts +2 -2
- package/export_dist/wrapper.d.ts.map +1 -1
- package/package.json +3 -3
package/export/addon-def.ts
CHANGED
package/export/export.ts
CHANGED
package/export/wrapper.ts
CHANGED
|
@@ -19,7 +19,7 @@ import type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';
|
|
|
19
19
|
import { AddonSymbol } from './addon';
|
|
20
20
|
import { dump } from './dump';
|
|
21
21
|
|
|
22
|
-
export class PFrame implements PFrameInternal.
|
|
22
|
+
export class PFrame implements PFrameInternal.PFrameV5 {
|
|
23
23
|
public readonly id: string = ulid();
|
|
24
24
|
private readonly frame: NodeFrameSymbol;
|
|
25
25
|
|
|
@@ -38,9 +38,10 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
38
38
|
|
|
39
39
|
try {
|
|
40
40
|
this.frame = AddonSymbol.pFrameCreate(spillPath, logger);
|
|
41
|
+
this.logger?.('info', `PFrame ${this.id} created`);
|
|
41
42
|
} catch (err: unknown) {
|
|
42
43
|
throw new Error(
|
|
43
|
-
`PFrame creation failed, ` +
|
|
44
|
+
`PFrame ${this.id} creation failed, ` +
|
|
44
45
|
`logger: ${logger?.toString()}, ` +
|
|
45
46
|
`error:\n` +
|
|
46
47
|
`${(err as Error).toString()}`
|
|
@@ -75,7 +76,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
75
76
|
return AddonSymbol.pFrameAddColumnSpec(this.frame, columnId, columnSpec);
|
|
76
77
|
} catch (err: unknown) {
|
|
77
78
|
throw new Error(
|
|
78
|
-
`PFrame addColumnSpec request failed, ` +
|
|
79
|
+
`PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +
|
|
79
80
|
`columnId: ${JSON.stringify(columnId)}, ` +
|
|
80
81
|
`columnSpec: ${JSON.stringify(columnSpec)}, ` +
|
|
81
82
|
`error:\n` +
|
|
@@ -119,7 +120,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
119
120
|
const t1 = performance.now();
|
|
120
121
|
this.logger?.(
|
|
121
122
|
'info',
|
|
122
|
-
`PFrame preloaded ${blobIds.length} blobs, took ${Math.round(t1 - t0)}ms`
|
|
123
|
+
`PFrame ${this.id} preloaded ${blobIds.length} blobs, took ${Math.round(t1 - t0)}ms`
|
|
123
124
|
);
|
|
124
125
|
}
|
|
125
126
|
},
|
|
@@ -150,7 +151,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
150
151
|
return AddonSymbol.pFrameSetDataSource(this.frame, wrappedDataSource);
|
|
151
152
|
} catch (err: unknown) {
|
|
152
153
|
throw new Error(
|
|
153
|
-
`PFrame setDataSource request failed, ` +
|
|
154
|
+
`PFrame ${this.id} setDataSource request ${requestId} failed, ` +
|
|
154
155
|
`dataSource: ${dataSource.toString()}, ` +
|
|
155
156
|
`error:\n` +
|
|
156
157
|
`${(err as Error).toString()}`
|
|
@@ -188,7 +189,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
188
189
|
return AddonSymbol.pFrameSetColumnData(this.frame, columnId, dataInfo);
|
|
189
190
|
} catch (err: unknown) {
|
|
190
191
|
throw new Error(
|
|
191
|
-
`PFrame setColumnData request failed, ` +
|
|
192
|
+
`PFrame ${this.id} setColumnData request ${requestId} failed, ` +
|
|
192
193
|
`columnId: ${JSON.stringify(columnId)}, ` +
|
|
193
194
|
`dataInfo: ${JSON.stringify(dataInfo)}, ` +
|
|
194
195
|
`error:\n` +
|
|
@@ -210,9 +211,10 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
210
211
|
|
|
211
212
|
try {
|
|
212
213
|
AddonSymbol.pFrameDispose(this.frame);
|
|
214
|
+
this.logger?.('info', `PFrame ${this.id} disposed`);
|
|
213
215
|
} catch (err: unknown) {
|
|
214
216
|
throw new Error(
|
|
215
|
-
`PFrame dispose request failed, ` +
|
|
217
|
+
`PFrame ${this.id} dispose request ${requestId} failed, ` +
|
|
216
218
|
`error:\n` +
|
|
217
219
|
`${(err as Error).toString()}`
|
|
218
220
|
);
|
|
@@ -242,7 +244,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
242
244
|
return await AddonSymbol.pFrameFindColumns(this.frame, request);
|
|
243
245
|
} catch (err: unknown) {
|
|
244
246
|
throw new Error(
|
|
245
|
-
`PFrame findColumns request failed, ` +
|
|
247
|
+
`PFrame ${this.id} findColumns request ${requestId} failed, ` +
|
|
246
248
|
`request: ${JSON.stringify(request)}, ` +
|
|
247
249
|
`error:\n` +
|
|
248
250
|
`${(err as Error).toString()}`
|
|
@@ -251,7 +253,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
251
253
|
const t1 = performance.now();
|
|
252
254
|
this.logger?.(
|
|
253
255
|
'info',
|
|
254
|
-
`PFrame findColumns request took ${Math.round(t1 - t0)}ms`
|
|
256
|
+
`PFrame ${this.id} findColumns request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
255
257
|
);
|
|
256
258
|
}
|
|
257
259
|
}
|
|
@@ -275,7 +277,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
275
277
|
return await AddonSymbol.pFrameDeleteColumn(this.frame, request);
|
|
276
278
|
} catch (err: unknown) {
|
|
277
279
|
throw new Error(
|
|
278
|
-
`PFrame deleteColumn request failed, ` +
|
|
280
|
+
`PFrame ${this.id} deleteColumn request ${requestId} failed, ` +
|
|
279
281
|
`request: ${JSON.stringify(request)}, ` +
|
|
280
282
|
`error:\n` +
|
|
281
283
|
`${(err as Error).toString()}`
|
|
@@ -284,7 +286,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
284
286
|
const t1 = performance.now();
|
|
285
287
|
this.logger?.(
|
|
286
288
|
'info',
|
|
287
|
-
`PFrame deleteColumn request took ${Math.round(t1 - t0)}ms`
|
|
289
|
+
`PFrame ${this.id} deleteColumn request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
288
290
|
);
|
|
289
291
|
}
|
|
290
292
|
}
|
|
@@ -308,7 +310,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
308
310
|
return await AddonSymbol.pFrameGetColumnSpec(this.frame, columnId);
|
|
309
311
|
} catch (err: unknown) {
|
|
310
312
|
throw new Error(
|
|
311
|
-
`PFrame getColumnSpec request failed, ` +
|
|
313
|
+
`PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +
|
|
312
314
|
`columnId: ${JSON.stringify(columnId)}, ` +
|
|
313
315
|
`error:\n` +
|
|
314
316
|
`${(err as Error).toString()}`
|
|
@@ -317,7 +319,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
317
319
|
const t1 = performance.now();
|
|
318
320
|
this.logger?.(
|
|
319
321
|
'info',
|
|
320
|
-
`PFrame getColumnSpec request took ${Math.round(t1 - t0)}ms`
|
|
322
|
+
`PFrame ${this.id} getColumnSpec request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
321
323
|
);
|
|
322
324
|
}
|
|
323
325
|
}
|
|
@@ -338,7 +340,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
338
340
|
return await AddonSymbol.pFrameListColumns(this.frame);
|
|
339
341
|
} catch (err: unknown) {
|
|
340
342
|
throw new Error(
|
|
341
|
-
`PFrame listColumns request failed, ` +
|
|
343
|
+
`PFrame ${this.id} listColumns request ${requestId} failed, ` +
|
|
342
344
|
`error:\n` +
|
|
343
345
|
`${(err as Error).toString()}`
|
|
344
346
|
);
|
|
@@ -346,7 +348,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
346
348
|
const t1 = performance.now();
|
|
347
349
|
this.logger?.(
|
|
348
350
|
'info',
|
|
349
|
-
`PFrame listColumns request took ${Math.round(t1 - t0)}ms`
|
|
351
|
+
`PFrame ${this.id} listColumns request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
350
352
|
);
|
|
351
353
|
}
|
|
352
354
|
}
|
|
@@ -354,7 +356,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
354
356
|
async createTable(
|
|
355
357
|
request: PFrameInternal.CreateTableRequestV2,
|
|
356
358
|
signal?: AbortSignal
|
|
357
|
-
): Promise<PFrameInternal.
|
|
359
|
+
): Promise<PFrameInternal.PTableV4> {
|
|
358
360
|
const requestId = ulid();
|
|
359
361
|
const dumpData = {
|
|
360
362
|
timeStamp: Date.now(),
|
|
@@ -379,7 +381,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
379
381
|
return new PTable(this, requestId, boxed);
|
|
380
382
|
} catch (err: unknown) {
|
|
381
383
|
throw new Error(
|
|
382
|
-
`PFrame createTable request failed, ` +
|
|
384
|
+
`PFrame ${this.id} createTable request ${requestId} failed, ` +
|
|
383
385
|
`request: ${JSON.stringify(request)}, ` +
|
|
384
386
|
`error:\n` +
|
|
385
387
|
`${(err as Error).toString()}`
|
|
@@ -388,7 +390,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
388
390
|
const t1 = performance.now();
|
|
389
391
|
this.logger?.(
|
|
390
392
|
'info',
|
|
391
|
-
`PFrame createTable request took ${Math.round(t1 - t0)}ms`
|
|
393
|
+
`PFrame ${this.id} createTable request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
392
394
|
);
|
|
393
395
|
}
|
|
394
396
|
}
|
|
@@ -418,7 +420,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
418
420
|
);
|
|
419
421
|
} catch (err: unknown) {
|
|
420
422
|
throw new Error(
|
|
421
|
-
`PFrame getUniqueValues request failed, ` +
|
|
423
|
+
`PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +
|
|
422
424
|
`request: ${JSON.stringify(request)}, ` +
|
|
423
425
|
`error:\n` +
|
|
424
426
|
`${(err as Error).toString()}`
|
|
@@ -427,18 +429,20 @@ export class PFrame implements PFrameInternal.PFrameV4 {
|
|
|
427
429
|
const t1 = performance.now();
|
|
428
430
|
this.logger?.(
|
|
429
431
|
'info',
|
|
430
|
-
`PFrame getUniqueValues request took ${Math.round(t1 - t0)}ms`
|
|
432
|
+
`PFrame ${this.id} getUniqueValues request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
431
433
|
);
|
|
432
434
|
}
|
|
433
435
|
}
|
|
434
436
|
}
|
|
435
437
|
|
|
436
|
-
class PTable implements PFrameInternal.
|
|
438
|
+
class PTable implements PFrameInternal.PTableV4 {
|
|
437
439
|
constructor(
|
|
438
440
|
private readonly frame: PFrame,
|
|
439
441
|
public readonly id: string,
|
|
440
442
|
private readonly table: NodeTableSymbol
|
|
441
|
-
) {
|
|
443
|
+
) {
|
|
444
|
+
this.frame.logger?.('info', `PTable ${this.id} created`);
|
|
445
|
+
}
|
|
442
446
|
|
|
443
447
|
getShape(): PTableShape {
|
|
444
448
|
const requestId = ulid();
|
|
@@ -455,7 +459,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
455
459
|
return AddonSymbol.pTableGetShape(this.table);
|
|
456
460
|
} catch (err: unknown) {
|
|
457
461
|
throw new Error(
|
|
458
|
-
`PTable getShape request failed, ` +
|
|
462
|
+
`PTable ${this.id} getShape request ${requestId} failed, ` +
|
|
459
463
|
`error:\n` +
|
|
460
464
|
`${(err as Error).toString()}`
|
|
461
465
|
);
|
|
@@ -477,7 +481,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
477
481
|
return AddonSymbol.pTableGetSpec(this.table);
|
|
478
482
|
} catch (err: unknown) {
|
|
479
483
|
throw new Error(
|
|
480
|
-
`PTable getSpec request failed, ` +
|
|
484
|
+
`PTable ${this.id} getSpec request ${requestId} failed, ` +
|
|
481
485
|
`error:\n` +
|
|
482
486
|
`${(err as Error).toString()}`
|
|
483
487
|
);
|
|
@@ -502,7 +506,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
502
506
|
return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);
|
|
503
507
|
} catch (err: unknown) {
|
|
504
508
|
throw new Error(
|
|
505
|
-
`PTable getColumnIndices request failed, ` +
|
|
509
|
+
`PTable ${this.id} getColumnIndices request ${requestId} failed, ` +
|
|
506
510
|
`columnIds: ${JSON.stringify(columnIds)}, ` +
|
|
507
511
|
`error:\n` +
|
|
508
512
|
`${(err as Error).toString()}`
|
|
@@ -512,7 +516,8 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
512
516
|
|
|
513
517
|
async getData(
|
|
514
518
|
columnIndices: number[],
|
|
515
|
-
range
|
|
519
|
+
range: TableRange | undefined,
|
|
520
|
+
signal?: AbortSignal
|
|
516
521
|
): Promise<PTableVector[]> {
|
|
517
522
|
const requestId = ulid();
|
|
518
523
|
dump(
|
|
@@ -534,11 +539,12 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
534
539
|
this.table,
|
|
535
540
|
requestId,
|
|
536
541
|
columnIndices,
|
|
537
|
-
range
|
|
542
|
+
range,
|
|
543
|
+
signal
|
|
538
544
|
);
|
|
539
545
|
} catch (err: unknown) {
|
|
540
546
|
throw new Error(
|
|
541
|
-
`PTable getData request failed, ` +
|
|
547
|
+
`PTable ${this.id} getData request ${requestId} failed, ` +
|
|
542
548
|
`columnIndices: ${JSON.stringify(columnIndices)}, ` +
|
|
543
549
|
`range: ${range ? JSON.stringify(range) : undefined}, ` +
|
|
544
550
|
`error:\n` +
|
|
@@ -548,7 +554,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
548
554
|
const t1 = performance.now();
|
|
549
555
|
this.frame.logger?.(
|
|
550
556
|
'info',
|
|
551
|
-
`PTable getData request took ${Math.round(t1 - t0)}ms`
|
|
557
|
+
`PTable ${this.id} getData request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
552
558
|
);
|
|
553
559
|
}
|
|
554
560
|
}
|
|
@@ -556,7 +562,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
556
562
|
async filter(
|
|
557
563
|
request: PTableRecordFilter[],
|
|
558
564
|
signal?: AbortSignal
|
|
559
|
-
): Promise<PFrameInternal.
|
|
565
|
+
): Promise<PFrameInternal.PTableV4> {
|
|
560
566
|
const requestId = ulid();
|
|
561
567
|
const dumpData = {
|
|
562
568
|
timeStamp: Date.now(),
|
|
@@ -586,7 +592,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
586
592
|
return new PTable(this.frame, requestId, boxed);
|
|
587
593
|
} catch (err: unknown) {
|
|
588
594
|
throw new Error(
|
|
589
|
-
`PTable filter request failed, ` +
|
|
595
|
+
`PTable ${this.id} filter request ${requestId} failed, ` +
|
|
590
596
|
`request: ${JSON.stringify(request)}, ` +
|
|
591
597
|
`error:\n` +
|
|
592
598
|
`${(err as Error).toString()}`
|
|
@@ -595,7 +601,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
595
601
|
const t1 = performance.now();
|
|
596
602
|
this.frame.logger?.(
|
|
597
603
|
'info',
|
|
598
|
-
`PTable filter request took ${Math.round(t1 - t0)}ms`
|
|
604
|
+
`PTable ${this.id} filter request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
599
605
|
);
|
|
600
606
|
}
|
|
601
607
|
}
|
|
@@ -603,7 +609,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
603
609
|
async sort(
|
|
604
610
|
request: PTableSorting[],
|
|
605
611
|
signal?: AbortSignal
|
|
606
|
-
): Promise<PFrameInternal.
|
|
612
|
+
): Promise<PFrameInternal.PTableV4> {
|
|
607
613
|
const requestId = ulid();
|
|
608
614
|
const dumpData = {
|
|
609
615
|
timeStamp: Date.now(),
|
|
@@ -633,7 +639,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
633
639
|
return new PTable(this.frame, requestId, boxed);
|
|
634
640
|
} catch (err: unknown) {
|
|
635
641
|
throw new Error(
|
|
636
|
-
`PTable sort request failed, ` +
|
|
642
|
+
`PTable ${this.id} sort request ${requestId} failed, ` +
|
|
637
643
|
`request: ${JSON.stringify(request)}, ` +
|
|
638
644
|
`error:\n` +
|
|
639
645
|
`${(err as Error).toString()}`
|
|
@@ -642,7 +648,7 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
642
648
|
const t1 = performance.now();
|
|
643
649
|
this.frame.logger?.(
|
|
644
650
|
'info',
|
|
645
|
-
`PTable sort request took ${Math.round(t1 - t0)}ms`
|
|
651
|
+
`PTable ${this.id} sort request ${requestId} took ${Math.round(t1 - t0)}ms`
|
|
646
652
|
);
|
|
647
653
|
}
|
|
648
654
|
}
|
|
@@ -660,9 +666,10 @@ class PTable implements PFrameInternal.PTableV3 {
|
|
|
660
666
|
|
|
661
667
|
try {
|
|
662
668
|
AddonSymbol.pTableDispose(this.table);
|
|
669
|
+
this.frame.logger?.('info', `PTable ${this.id} disposed`);
|
|
663
670
|
} catch (err: unknown) {
|
|
664
671
|
throw new Error(
|
|
665
|
-
`PTable dispose request failed, ` +
|
|
672
|
+
`PTable ${this.id} dispose request ${requestId} failed, ` +
|
|
666
673
|
`error:\n` +
|
|
667
674
|
`${(err as Error).toString()}`
|
|
668
675
|
);
|
|
@@ -22,7 +22,7 @@ interface NodeTable {
|
|
|
22
22
|
pTableGetShape: (boxed: NodeTableSymbol) => PTableShape;
|
|
23
23
|
pTableGetSpec: (boxed: NodeTableSymbol) => PTableColumnSpec[];
|
|
24
24
|
pTableGetColumnIndices: (boxed: NodeTableSymbol, columnIds: PTableColumnId[]) => number[];
|
|
25
|
-
pTableGetData: (boxed: NodeTableSymbol, id: TableId, columnIndices: number[], range?:
|
|
25
|
+
pTableGetData: (boxed: NodeTableSymbol, id: TableId, columnIndices: number[], range: TableRange | undefined, signal?: AbortSignal) => Promise<PTableVector[]>;
|
|
26
26
|
pTableFilter: (boxed: NodeTableSymbol, id: TableId, request: PTableRecordFilter[], signal?: AbortSignal) => Promise<NodeTableSymbol>;
|
|
27
27
|
pTableSort: (boxed: NodeTableSymbol, id: TableId, request: PTableSorting[], signal?: AbortSignal) => Promise<NodeTableSymbol>;
|
|
28
28
|
pTableDispose: (boxed: NodeTableSymbol) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,MAAM,WAAW,eAAgB,SAAQ,MAAM;CAAG;AAElD,MAAM,WAAW,eAAgB,SAAQ,MAAM;CAAG;AAElD,UAAU,SAAS;IACjB,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,KAC3B,eAAe,CAAC;IACrB,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,WAAW,KACpB,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,cAAc,CAAC,gBAAgB,KACxC,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,KAC5C,IAAI,CAAC;IACV,aAAa,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACjD,iBAAiB,EAAE,CACjB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,cAAc,CAAC,kBAAkB,KACvC,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACjD,kBAAkB,EAAE,CAClB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,cAAc,CAAC,8BAA8B,KACnD,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;IAC7D,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,SAAS,KAChB,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1B,iBAAiB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,iBAAiB,EAAE,CACjB,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,cAAc,CAAC,oBAAoB,EAC5C,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,qBAAqB,EAAE,CACrB,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpC;AAED,UAAU,SAAS;IACjB,cAAc,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,WAAW,CAAC;IACxD,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,gBAAgB,EAAE,CAAC;IAC9D,sBAAsB,EAAE,CACtB,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,EAAE,KACxB,MAAM,EAAE,CAAC;IACd,aAAa,EAAE,CACb,KAAK,EAAE,eAAe,EACtB,EAAE,EAAE,OAAO,EACX,aAAa,EAAE,MAAM,EAAE,EACvB,KAAK,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
|
package/export_dist/export.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
2
2
|
export type PFrame = {
|
|
3
|
-
new (spillPath: string, logger?: PFrameInternal.Logger): PFrameInternal.
|
|
3
|
+
new (spillPath: string, logger?: PFrameInternal.Logger): PFrameInternal.PFrameV5;
|
|
4
4
|
};
|
|
5
5
|
export declare const PFrame: PFrame;
|
|
6
6
|
//# sourceMappingURL=export.d.ts.map
|
package/export_dist/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";var y=Object.defineProperty;var q=(m,e,t)=>e in m?y(m,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):m[e]=t;var
|
|
2
|
-
${
|
|
3
|
-
${
|
|
4
|
-
${
|
|
5
|
-
${
|
|
6
|
-
${
|
|
7
|
-
${s.toString()}`)}finally{const s=performance.now();(
|
|
8
|
-
${s.toString()}`)}finally{const s=performance.now();(
|
|
9
|
-
${s.toString()}`)}finally{const s=performance.now();(
|
|
10
|
-
${
|
|
11
|
-
${
|
|
12
|
-
${
|
|
13
|
-
${t.toString()}`)}}getSpec(){const e=
|
|
14
|
-
${t.toString()}`)}}getColumnIndices(e){const t=
|
|
15
|
-
${r.toString()}`)}}async getData(e,t){var
|
|
16
|
-
${
|
|
17
|
-
${
|
|
18
|
-
${
|
|
19
|
-
${
|
|
1
|
+
"use strict";var y=Object.defineProperty;var q=(m,e,t)=>e in m?y(m,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):m[e]=t;var f=(m,e,t)=>q(m,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("ulid"),D=require("node:module"),h=require("node:path"),b=require("node:url"),T=require("@mapbox/node-pre-gyp"),c=require("node:fs"),p=require("node:stream");var g=typeof document<"u"?document.currentScript:null;const w=typeof document>"u"?require("url").pathToFileURL(__filename).href:g&&g.tagName.toUpperCase()==="SCRIPT"&&g.src||new URL("index.js",document.baseURI).href,P=h.dirname(b.fileURLToPath(w)),F=D.createRequire(w),{find:C}=T,u=F(C(h.resolve(P,"../package.json")));async function S(m){try{return await c.promises.access(m),!0}catch{return!1}}async function j(m){await S(m)||await c.promises.mkdir(m,{recursive:!0})}async function E(m,e){const t=`${m}.tmp`;await S(t)&&await c.promises.rm(t,{recursive:!0});const r=typeof e=="string"?Buffer.from(e,"utf8"):e,i=p.Readable.from(r),s=c.createWriteStream(t,{flags:"wx"});await p.Readable.toWeb(i).pipeTo(p.Writable.toWeb(s)),await c.promises.rename(t,m)}async function o(m,e,t){if(process.env.MI_DUMP_PFRAMES_RS)try{const r=m.map(l=>encodeURIComponent(l)),i=h.join(process.env.MI_DUMP_PFRAMES_RS,...r.slice(0,-1));await j(i);const s=h.join(process.env.MI_DUMP_PFRAMES_RS,...r),a=ArrayBuffer.isView(e)?e:JSON.stringify(e);await E(s,a)}catch(r){t==null||t("warn",`error while dumping PFrames data: ${r}`)}}let M=class{constructor(e,t){f(this,"id",n.ulid());f(this,"frame");var r;this.logger=t,o([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=u.pFrameCreate(e,t),(r=this.logger)==null||r.call(this,"info",`PFrame ${this.id} created`)}catch(i){throw new Error(`PFrame ${this.id} creation failed, logger: ${t==null?void 0:t.toString()}, error:
|
|
2
|
+
${i.toString()}`)}}addColumnSpec(e,t){const r=n.ulid();o([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"addColumnSpec",requestData:{columnId:e,columnSpec:t}},this.logger),o([`${this.id}`,"data",`${e}.spec`],{...t},this.logger);try{return u.pFrameAddColumnSpec(this.frame,e,t)}catch(i){throw new Error(`PFrame ${this.id} addColumnSpec request ${r} failed, columnId: ${JSON.stringify(e)}, columnSpec: ${JSON.stringify(t)}, error:
|
|
3
|
+
${i.toString()}`)}}setDataSource(e){const t=n.ulid();o([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"setDataSource"},this.logger);let r={preloadBlob:async i=>{var l;const s=n.ulid();o([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"preloadBlob",requestData:{blobIds:i}},this.logger);const a=performance.now();try{return e.preloadBlob(i)}finally{const d=performance.now();(l=this.logger)==null||l.call(this,"info",`PFrame ${this.id} preloaded ${i.length} blobs, took ${Math.round(d-a)}ms`)}},resolveBlobContent:async i=>{const s=n.ulid();o([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"resolveBlobContent",requestData:{blobId:i}},this.logger);const a=await e.resolveBlobContent(i);return o([`${this.id}`,"data",`${i}`],a,this.logger),a}};try{return u.pFrameSetDataSource(this.frame,r)}catch(i){throw new Error(`PFrame ${this.id} setDataSource request ${t} failed, dataSource: ${e.toString()}, error:
|
|
4
|
+
${i.toString()}`)}}setColumnData(e,t){const r=n.ulid();o([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"setColumnData",requestData:{columnId:e,dataInfo:t}},this.logger),o([`${this.id}`,"data",`${e}.datainfo`],{...t},this.logger);try{return u.pFrameSetColumnData(this.frame,e,t)}catch(i){throw new Error(`PFrame ${this.id} setColumnData request ${r} failed, columnId: ${JSON.stringify(e)}, dataInfo: ${JSON.stringify(t)}, error:
|
|
5
|
+
${i.toString()}`)}}dispose(){var t;const e=n.ulid();o([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.logger);try{u.pFrameDispose(this.frame),(t=this.logger)==null||t.call(this,"info",`PFrame ${this.id} disposed`)}catch(r){throw new Error(`PFrame ${this.id} dispose request ${e} failed, error:
|
|
6
|
+
${r.toString()}`)}}[Symbol.dispose](){this.dispose()}async findColumns(e){var i;const t=n.ulid();o([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"findColumns",requestData:e},this.logger);const r=performance.now();try{return await u.pFrameFindColumns(this.frame,e)}catch(s){throw new Error(`PFrame ${this.id} findColumns request ${t} failed, request: ${JSON.stringify(e)}, error:
|
|
7
|
+
${s.toString()}`)}finally{const s=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame ${this.id} findColumns request ${t} took ${Math.round(s-r)}ms`)}}async deleteColumn(e){var i;const t=n.ulid();o([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"deleteColumn",requestData:e},this.logger);const r=performance.now();try{return await u.pFrameDeleteColumn(this.frame,e)}catch(s){throw new Error(`PFrame ${this.id} deleteColumn request ${t} failed, request: ${JSON.stringify(e)}, error:
|
|
8
|
+
${s.toString()}`)}finally{const s=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame ${this.id} deleteColumn request ${t} took ${Math.round(s-r)}ms`)}}async getColumnSpec(e){var i;const t=n.ulid();o([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnSpec",requestData:{columnId:e}},this.logger);const r=performance.now();try{return await u.pFrameGetColumnSpec(this.frame,e)}catch(s){throw new Error(`PFrame ${this.id} getColumnSpec request ${t} failed, columnId: ${JSON.stringify(e)}, error:
|
|
9
|
+
${s.toString()}`)}finally{const s=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame ${this.id} getColumnSpec request ${t} took ${Math.round(s-r)}ms`)}}async listColumns(){var r;const e=n.ulid();o([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"listColumns"},this.logger);const t=performance.now();try{return await u.pFrameListColumns(this.frame)}catch(i){throw new Error(`PFrame ${this.id} listColumns request ${e} failed, error:
|
|
10
|
+
${i.toString()}`)}finally{const i=performance.now();(r=this.logger)==null||r.call(this,"info",`PFrame ${this.id} listColumns request ${e} took ${Math.round(i-t)}ms`)}}async createTable(e,t){var a;const r=n.ulid(),i={timeStamp:Date.now(),requestType:"createTable",requestData:e};o([`${this.id}`,`${r}.json`],i,this.logger),o([`${this.id}`,`${r}`,`${r}.json`],i,this.logger);const s=performance.now();try{const l=await u.pFrameCreateTable(this.frame,r,e,t);return new $(this,r,l)}catch(l){throw new Error(`PFrame ${this.id} createTable request ${r} failed, request: ${JSON.stringify(e)}, error:
|
|
11
|
+
${l.toString()}`)}finally{const l=performance.now();(a=this.logger)==null||a.call(this,"info",`PFrame ${this.id} createTable request ${r} took ${Math.round(l-s)}ms`)}}async getUniqueValues(e,t){var s;const r=n.ulid();o([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getUniqueValues",requestData:e},this.logger);const i=performance.now();try{return await u.pFrameGetUniqueValues(this.frame,r,e,t)}catch(a){throw new Error(`PFrame ${this.id} getUniqueValues request ${r} failed, request: ${JSON.stringify(e)}, error:
|
|
12
|
+
${a.toString()}`)}finally{const a=performance.now();(s=this.logger)==null||s.call(this,"info",`PFrame ${this.id} getUniqueValues request ${r} took ${Math.round(a-i)}ms`)}}};class ${constructor(e,t,r){var i,s;this.frame=e,this.id=t,this.table=r,(s=(i=this.frame).logger)==null||s.call(i,"info",`PTable ${this.id} created`)}getShape(){const e=n.ulid();o([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getShape"},this.frame.logger);try{return u.pTableGetShape(this.table)}catch(t){throw new Error(`PTable ${this.id} getShape request ${e} failed, error:
|
|
13
|
+
${t.toString()}`)}}getSpec(){const e=n.ulid();o([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getSpec"},this.frame.logger);try{return u.pTableGetSpec(this.table)}catch(t){throw new Error(`PTable ${this.id} getSpec request ${e} failed, error:
|
|
14
|
+
${t.toString()}`)}}getColumnIndices(e){const t=n.ulid();o([`${this.frame.id}`,`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnIndices",requestData:{columnIds:e}},this.frame.logger);try{return u.pTableGetColumnIndices(this.table,e)}catch(r){throw new Error(`PTable ${this.id} getColumnIndices request ${t} failed, columnIds: ${JSON.stringify(e)}, error:
|
|
15
|
+
${r.toString()}`)}}async getData(e,t,r){var a,l;const i=n.ulid();o([`${this.frame.id}`,`${this.id}`,`${i}.json`],{timeStamp:Date.now(),requestType:"getData",requestData:{columnIndices:e,range:t??null}},this.frame.logger);const s=performance.now();try{return await u.pTableGetData(this.table,i,e,t,r)}catch(d){throw new Error(`PTable ${this.id} getData request ${i} failed, columnIndices: ${JSON.stringify(e)}, range: ${t?JSON.stringify(t):void 0}, error:
|
|
16
|
+
${d.toString()}`)}finally{const d=performance.now();(l=(a=this.frame).logger)==null||l.call(a,"info",`PTable ${this.id} getData request ${i} took ${Math.round(d-s)}ms`)}}async filter(e,t){var a,l;const r=n.ulid(),i={timeStamp:Date.now(),table:this.id,requestType:"filter",requestData:e};o([`${this.frame.id}`,`${r}.json`],i,this.frame.logger),o([`${this.frame.id}`,`${r}`,`${r}.json`],i,this.frame.logger);const s=performance.now();try{const d=await u.pTableFilter(this.table,r,e,t);return new $(this.frame,r,d)}catch(d){throw new Error(`PTable ${this.id} filter request ${r} failed, request: ${JSON.stringify(e)}, error:
|
|
17
|
+
${d.toString()}`)}finally{const d=performance.now();(l=(a=this.frame).logger)==null||l.call(a,"info",`PTable ${this.id} filter request ${r} took ${Math.round(d-s)}ms`)}}async sort(e,t){var a,l;const r=n.ulid(),i={timeStamp:Date.now(),table:this.id,requestType:"sort",requestData:e};o([`${this.frame.id}`,`${r}.json`],i,this.frame.logger),o([`${this.frame.id}`,`${r}`,`${r}.json`],i,this.frame.logger);const s=performance.now();try{const d=await u.pTableSort(this.table,r,e,t);return new $(this.frame,r,d)}catch(d){throw new Error(`PTable ${this.id} sort request ${r} failed, request: ${JSON.stringify(e)}, error:
|
|
18
|
+
${d.toString()}`)}finally{const d=performance.now();(l=(a=this.frame).logger)==null||l.call(a,"info",`PTable ${this.id} sort request ${r} took ${Math.round(d-s)}ms`)}}dispose(){var t,r;const e=n.ulid();o([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.frame.logger);try{u.pTableDispose(this.table),(r=(t=this.frame).logger)==null||r.call(t,"info",`PTable ${this.id} disposed`)}catch(i){throw new Error(`PTable ${this.id} dispose request ${e} failed, error:
|
|
19
|
+
${i.toString()}`)}}[Symbol.dispose](){this.dispose()}}const I=M;exports.PFrame=I;
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
package/export_dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../export/addon.ts","../export/dump.ts","../export/wrapper.ts","../export/export.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\n\nasync function fileExists(path: string): Promise<boolean> {\n try {\n await fs.promises.access(path);\n return true;\n } catch {\n return false;\n }\n}\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n if (!(await fileExists(fileOrDir))) {\n await fs.promises.mkdir(fileOrDir, { recursive: true });\n }\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const tempPath = `${filePath}.tmp`;\n if (await fileExists(tempPath)) {\n await fs.promises.rm(tempPath, { recursive: true });\n }\n\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n const source = Readable.from(buffer);\n const destination = fs.createWriteStream(tempPath, { flags: 'wx' });\n await Readable.toWeb(source).pipeTo(Writable.toWeb(destination));\n\n await fs.promises.rename(tempPath, filePath);\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = path.join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await ensureDirExists(fileDir);\n\n const filePath = path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data)\n ? (data as Uint8Array)\n : JSON.stringify(data);\n await writeFile(filePath, fileData);\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n","import { ulid } from 'ulid';\nimport {\n DataInfo,\n PColumnInfo,\n PColumnSpec,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';\nimport { AddonSymbol } from './addon';\nimport { dump } from './dump';\n\nexport class PFrame implements PFrameInternal.PFrameV4 {\n public readonly id: string = ulid();\n private readonly frame: NodeFrameSymbol;\n\n constructor(\n spillPath: string,\n public readonly logger?: PFrameInternal.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(spillPath, logger);\n } catch (err: unknown) {\n throw new Error(\n `PFrame creation failed, ` +\n `logger: ${logger?.toString()}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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,\n columnSpec\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${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 Error(\n `PFrame addColumnSpec request failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSource): 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 let 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 const t0 = performance.now();\n try {\n return dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame preloaded ${blobIds.length} blobs, took ${Math.round(t1 - t0)}ms`\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 dump([`${this.id}`, `data`, `${blobId}`], blob, this.logger);\n\n return blob;\n }\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.frame, wrappedDataSource);\n } catch (err: unknown) {\n throw new Error(\n `PFrame setDataSource request failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: DataInfo<PFrameInternal.PFrameBlobId>\n ): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId,\n dataInfo\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${columnId}.datainfo`],\n {\n ...dataInfo\n },\n this.logger\n );\n\n try {\n return AddonSymbol.pFrameSetColumnData(this.frame, columnId, dataInfo);\n } catch (err: unknown) {\n throw new Error(\n `PFrame setColumnData request failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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 } catch (err: unknown) {\n throw new Error(\n `PFrame dispose request failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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 t0 = performance.now();\n try {\n return await AddonSymbol.pFrameFindColumns(this.frame, request);\n } catch (err: unknown) {\n throw new Error(\n `PFrame findColumns request failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame findColumns request took ${Math.round(t1 - t0)}ms`\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 t0 = performance.now();\n try {\n return await AddonSymbol.pFrameDeleteColumn(this.frame, request);\n } catch (err: unknown) {\n throw new Error(\n `PFrame deleteColumn request failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame deleteColumn request took ${Math.round(t1 - t0)}ms`\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\n }\n },\n this.logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.frame, columnId);\n } catch (err: unknown) {\n throw new Error(\n `PFrame getColumnSpec request failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame getColumnSpec request took ${Math.round(t1 - t0)}ms`\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 const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameListColumns(this.frame);\n } catch (err: unknown) {\n throw new Error(\n `PFrame listColumns request failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame listColumns request took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async createTable(\n request: PFrameInternal.CreateTableRequestV2,\n signal?: AbortSignal\n ): Promise<PFrameInternal.PTableV3> {\n const requestId = ulid();\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: 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 t0 = performance.now();\n try {\n const boxed = await AddonSymbol.pFrameCreateTable(\n this.frame,\n requestId,\n request,\n signal\n );\n return new PTable(this, requestId, boxed);\n } catch (err: unknown) {\n throw new Error(\n `PFrame createTable request failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame createTable request took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n signal?: AbortSignal\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: request\n },\n this.logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetUniqueValues(\n this.frame,\n requestId,\n request,\n signal\n );\n } catch (err: unknown) {\n throw new Error(\n `PFrame getUniqueValues request failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame getUniqueValues request took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV3 {\n constructor(\n private readonly frame: PFrame,\n public readonly id: string,\n private readonly table: NodeTableSymbol\n ) {}\n\n getShape(): 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.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetShape(this.table);\n } catch (err: unknown) {\n throw new Error(\n `PTable getShape request failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\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.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetSpec(this.table);\n } catch (err: unknown) {\n throw new Error(\n `PTable getSpec request failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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\n }\n },\n this.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);\n } catch (err: unknown) {\n throw new Error(\n `PTable getColumnIndices request failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n range?: TableRange\n ): Promise<PTableVector[]> {\n const requestId = ulid();\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: range ?? null\n }\n },\n this.frame.logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pTableGetData(\n this.table,\n requestId,\n columnIndices,\n range\n );\n } catch (err: unknown) {\n throw new Error(\n `PTable getData request failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${range ? JSON.stringify(range) : undefined}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable getData request took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async filter(\n request: PTableRecordFilter[],\n signal?: AbortSignal\n ): Promise<PFrameInternal.PTableV3> {\n const requestId = ulid();\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: request\n };\n dump(\n [`${this.frame.id}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n dump(\n [`${this.frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n\n const t0 = performance.now();\n try {\n const boxed = await AddonSymbol.pTableFilter(\n this.table,\n requestId,\n request,\n signal\n );\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new Error(\n `PTable filter request failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable filter request took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async sort(\n request: PTableSorting[],\n signal?: AbortSignal\n ): Promise<PFrameInternal.PTableV3> {\n const requestId = ulid();\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request\n };\n dump(\n [`${this.frame.id}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n dump(\n [`${this.frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n\n const t0 = performance.now();\n try {\n const boxed = await AddonSymbol.pTableSort(\n this.table,\n requestId,\n request,\n signal\n );\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new Error(\n `PTable sort request failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable sort request took ${Math.round(t1 - t0)}ms`\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.frame.logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.table);\n } catch (err: unknown) {\n throw new Error(\n `PTable dispose request failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n","import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame as PFrameImpl } from './wrapper';\n\nexport type PFrame = {\n new (\n spillPath: string,\n logger?: PFrameInternal.Logger\n ): PFrameInternal.PFrameV4;\n};\n\nexport const PFrame: PFrame = PFrameImpl;\n"],"names":["nodeFileUrl","_documentCurrentScript","nodeDirname","dirname","fileURLToPath","nodeRequire","createRequire","findAddon","gyp","AddonSymbol","resolve","fileExists","path","fs","ensureDirExists","fileOrDir","writeFile","filePath","data","tempPath","buffer","source","Readable","destination","Writable","dump","relativePath","logger","relativeUri","part","fileDir","fileData","error","PFrame$1","spillPath","__publicField","ulid","err","columnId","columnSpec","requestId","dataSource","wrappedDataSource","blobIds","t0","t1","_a","blobId","blob","dataInfo","request","signal","dumpData","boxed","PTable","frame","id","table","columnIds","columnIndices","range","_b","PFrame","PFrameImpl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../export/addon.ts","../export/dump.ts","../export/wrapper.ts","../export/export.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\n\nasync function fileExists(path: string): Promise<boolean> {\n try {\n await fs.promises.access(path);\n return true;\n } catch {\n return false;\n }\n}\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n if (!(await fileExists(fileOrDir))) {\n await fs.promises.mkdir(fileOrDir, { recursive: true });\n }\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const tempPath = `${filePath}.tmp`;\n if (await fileExists(tempPath)) {\n await fs.promises.rm(tempPath, { recursive: true });\n }\n\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n const source = Readable.from(buffer);\n const destination = fs.createWriteStream(tempPath, { flags: 'wx' });\n await Readable.toWeb(source).pipeTo(Writable.toWeb(destination));\n\n await fs.promises.rename(tempPath, filePath);\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = path.join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await ensureDirExists(fileDir);\n\n const filePath = path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data)\n ? (data as Uint8Array)\n : JSON.stringify(data);\n await writeFile(filePath, fileData);\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n","import { ulid } from 'ulid';\nimport {\n DataInfo,\n PColumnInfo,\n PColumnSpec,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';\nimport { AddonSymbol } from './addon';\nimport { dump } from './dump';\n\nexport class PFrame implements PFrameInternal.PFrameV5 {\n public readonly id: string = ulid();\n private readonly frame: NodeFrameSymbol;\n\n constructor(\n spillPath: string,\n public readonly logger?: PFrameInternal.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(spillPath, logger);\n this.logger?.('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${logger?.toString()}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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,\n columnSpec\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${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 Error(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSource): 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 let 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 const t0 = performance.now();\n try {\n return dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} preloaded ${blobIds.length} blobs, took ${Math.round(t1 - t0)}ms`\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 dump([`${this.id}`, `data`, `${blobId}`], blob, this.logger);\n\n return blob;\n }\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.frame, wrappedDataSource);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: DataInfo<PFrameInternal.PFrameBlobId>\n ): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId,\n dataInfo\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${columnId}.datainfo`],\n {\n ...dataInfo\n },\n this.logger\n );\n\n try {\n return AddonSymbol.pFrameSetColumnData(this.frame, columnId, dataInfo);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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 Error(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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 t0 = performance.now();\n try {\n return await AddonSymbol.pFrameFindColumns(this.frame, request);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${Math.round(t1 - t0)}ms`\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 t0 = performance.now();\n try {\n return await AddonSymbol.pFrameDeleteColumn(this.frame, request);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${Math.round(t1 - t0)}ms`\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\n }\n },\n this.logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.frame, columnId);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${Math.round(t1 - t0)}ms`\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 const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameListColumns(this.frame);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async createTable(\n request: PFrameInternal.CreateTableRequestV2,\n signal?: AbortSignal\n ): Promise<PFrameInternal.PTableV4> {\n const requestId = ulid();\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: 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 t0 = performance.now();\n try {\n const boxed = await AddonSymbol.pFrameCreateTable(\n this.frame,\n requestId,\n request,\n signal\n );\n return new PTable(this, requestId, boxed);\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n signal?: AbortSignal\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: request\n },\n this.logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetUniqueValues(\n this.frame,\n requestId,\n request,\n signal\n );\n } catch (err: unknown) {\n throw new Error(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV4 {\n constructor(\n private readonly frame: PFrame,\n public readonly id: string,\n private readonly table: NodeTableSymbol\n ) {\n this.frame.logger?.('info', `PTable ${this.id} created`);\n }\n\n getShape(): 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.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetShape(this.table);\n } catch (err: unknown) {\n throw new Error(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\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.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetSpec(this.table);\n } catch (err: unknown) {\n throw new Error(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\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\n }\n },\n this.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);\n } catch (err: unknown) {\n throw new Error(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n range: TableRange | undefined,\n signal?: AbortSignal\n ): Promise<PTableVector[]> {\n const requestId = ulid();\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: range ?? null\n }\n },\n this.frame.logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pTableGetData(\n this.table,\n requestId,\n columnIndices,\n range,\n signal\n );\n } catch (err: unknown) {\n throw new Error(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${range ? JSON.stringify(range) : undefined}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async filter(\n request: PTableRecordFilter[],\n signal?: AbortSignal\n ): Promise<PFrameInternal.PTableV4> {\n const requestId = ulid();\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: request\n };\n dump(\n [`${this.frame.id}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n dump(\n [`${this.frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n\n const t0 = performance.now();\n try {\n const boxed = await AddonSymbol.pTableFilter(\n this.table,\n requestId,\n request,\n signal\n );\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new Error(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${Math.round(t1 - t0)}ms`\n );\n }\n }\n\n async sort(\n request: PTableSorting[],\n signal?: AbortSignal\n ): Promise<PFrameInternal.PTableV4> {\n const requestId = ulid();\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request\n };\n dump(\n [`${this.frame.id}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n dump(\n [`${this.frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.frame.logger\n );\n\n const t0 = performance.now();\n try {\n const boxed = await AddonSymbol.pTableSort(\n this.table,\n requestId,\n request,\n signal\n );\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new Error(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${Math.round(t1 - t0)}ms`\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.frame.logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.table);\n this.frame.logger?.('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n throw new Error(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${(err as Error).toString()}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n","import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame as PFrameImpl } from './wrapper';\n\nexport type PFrame = {\n new (\n spillPath: string,\n logger?: PFrameInternal.Logger\n ): PFrameInternal.PFrameV5;\n};\n\nexport const PFrame: PFrame = PFrameImpl;\n"],"names":["nodeFileUrl","_documentCurrentScript","nodeDirname","dirname","fileURLToPath","nodeRequire","createRequire","findAddon","gyp","AddonSymbol","resolve","fileExists","path","fs","ensureDirExists","fileOrDir","writeFile","filePath","data","tempPath","buffer","source","Readable","destination","Writable","dump","relativePath","logger","relativeUri","part","fileDir","fileData","error","PFrame$1","spillPath","__publicField","ulid","_a","err","columnId","columnSpec","requestId","dataSource","wrappedDataSource","blobIds","t0","t1","blobId","blob","dataInfo","request","signal","dumpData","boxed","PTable","frame","id","table","_b","columnIds","columnIndices","range","PFrame","PFrameImpl"],"mappings":"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"}
|