@milaboratories/pframes-rs-node 1.0.43 → 1.0.44
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 +13 -13
- package/export/export.ts +1 -1
- package/export/wrapper.ts +46 -60
- package/export_dist/addon-def.d.ts +7 -7
- 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 +300 -311
- package/export_dist/index.mjs.map +1 -1
- package/export_dist/wrapper.d.ts +5 -3
- package/export_dist/wrapper.d.ts.map +1 -1
- package/package.json +5 -5
package/export/addon-def.ts
CHANGED
|
@@ -28,7 +28,7 @@ interface HeapProfiler {
|
|
|
28
28
|
interface NodeFrame {
|
|
29
29
|
pFrameCreate: (
|
|
30
30
|
spillPath: string,
|
|
31
|
-
logger
|
|
31
|
+
logger: PFrameInternal.Logger | undefined
|
|
32
32
|
) => NodeFrameSymbol;
|
|
33
33
|
pFrameAddColumnSpec: (
|
|
34
34
|
pFrame: NodeFrameSymbol,
|
|
@@ -61,43 +61,43 @@ interface NodeFrame {
|
|
|
61
61
|
pFrameCreateTable: (
|
|
62
62
|
pFrame: NodeFrameSymbol,
|
|
63
63
|
id: TableId,
|
|
64
|
-
request: PFrameInternal.CreateTableRequestV3
|
|
65
|
-
|
|
66
|
-
) => Promise<NodeTableSymbol>;
|
|
64
|
+
request: PFrameInternal.CreateTableRequestV3
|
|
65
|
+
) => NodeTableSymbol;
|
|
67
66
|
pFrameGetUniqueValues: (
|
|
68
67
|
pFrame: NodeFrameSymbol,
|
|
69
68
|
id: TableId,
|
|
70
69
|
request: UniqueValuesRequest,
|
|
71
|
-
signal
|
|
70
|
+
signal: AbortSignal | undefined
|
|
72
71
|
) => Promise<UniqueValuesResponse>;
|
|
73
72
|
}
|
|
74
73
|
|
|
75
74
|
interface NodeTable {
|
|
76
|
-
pTableGetShape: (boxed: NodeTableSymbol) => PTableShape;
|
|
77
75
|
pTableGetSpec: (boxed: NodeTableSymbol) => PTableColumnSpec[];
|
|
78
76
|
pTableGetColumnIndices: (
|
|
79
77
|
boxed: NodeTableSymbol,
|
|
80
78
|
columnIds: PTableColumnId[]
|
|
81
79
|
) => number[];
|
|
80
|
+
pTableGetShape: (
|
|
81
|
+
boxed: NodeTableSymbol,
|
|
82
|
+
signal: AbortSignal | undefined
|
|
83
|
+
) => Promise<PTableShape>;
|
|
82
84
|
pTableGetData: (
|
|
83
85
|
boxed: NodeTableSymbol,
|
|
84
86
|
id: TableId,
|
|
85
87
|
columnIndices: number[],
|
|
86
88
|
range: TableRange | undefined,
|
|
87
|
-
signal
|
|
89
|
+
signal: AbortSignal | undefined
|
|
88
90
|
) => Promise<PTableVector[]>;
|
|
89
91
|
pTableFilter: (
|
|
90
92
|
boxed: NodeTableSymbol,
|
|
91
93
|
id: TableId,
|
|
92
|
-
request: PTableRecordFilter[]
|
|
93
|
-
|
|
94
|
-
) => Promise<NodeTableSymbol>;
|
|
94
|
+
request: PTableRecordFilter[]
|
|
95
|
+
) => NodeTableSymbol;
|
|
95
96
|
pTableSort: (
|
|
96
97
|
boxed: NodeTableSymbol,
|
|
97
98
|
id: TableId,
|
|
98
|
-
request: PTableSorting[]
|
|
99
|
-
|
|
100
|
-
) => Promise<NodeTableSymbol>;
|
|
99
|
+
request: PTableSorting[]
|
|
100
|
+
) => NodeTableSymbol;
|
|
101
101
|
pTableDispose: (boxed: NodeTableSymbol) => void;
|
|
102
102
|
}
|
|
103
103
|
|
package/export/export.ts
CHANGED
package/export/wrapper.ts
CHANGED
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
hashCreateTableRequestColumnId
|
|
29
29
|
} from './dump';
|
|
30
30
|
|
|
31
|
-
export class PFrame implements PFrameInternal.
|
|
31
|
+
export class PFrame implements PFrameInternal.PFrameV7 {
|
|
32
32
|
public readonly id: string = ulid();
|
|
33
33
|
private readonly frame: NodeFrameSymbol;
|
|
34
34
|
|
|
@@ -367,10 +367,9 @@ export class PFrame implements PFrameInternal.PFrameV6 {
|
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
|
|
370
|
-
|
|
371
|
-
request: PFrameInternal.CreateTableRequestV3
|
|
372
|
-
|
|
373
|
-
): Promise<PFrameInternal.PTableV4> {
|
|
370
|
+
createTable(
|
|
371
|
+
request: PFrameInternal.CreateTableRequestV3
|
|
372
|
+
): PFrameInternal.PTableV5 {
|
|
374
373
|
const requestId = ulid();
|
|
375
374
|
const dumpData = {
|
|
376
375
|
timeStamp: Date.now(),
|
|
@@ -390,12 +389,10 @@ export class PFrame implements PFrameInternal.PFrameV6 {
|
|
|
390
389
|
);
|
|
391
390
|
const t0 = performance.now();
|
|
392
391
|
try {
|
|
393
|
-
|
|
394
|
-
const boxed = await AddonSymbol.pFrameCreateTable(
|
|
392
|
+
const boxed = AddonSymbol.pFrameCreateTable(
|
|
395
393
|
this.frame,
|
|
396
394
|
requestId,
|
|
397
|
-
request
|
|
398
|
-
signal
|
|
395
|
+
request
|
|
399
396
|
);
|
|
400
397
|
return new PTable(this, requestId, boxed);
|
|
401
398
|
} catch (err: unknown) {
|
|
@@ -416,7 +413,9 @@ export class PFrame implements PFrameInternal.PFrameV6 {
|
|
|
416
413
|
|
|
417
414
|
async getUniqueValues(
|
|
418
415
|
request: UniqueValuesRequest,
|
|
419
|
-
|
|
416
|
+
ops?: {
|
|
417
|
+
signal?: AbortSignal;
|
|
418
|
+
}
|
|
420
419
|
): Promise<UniqueValuesResponse> {
|
|
421
420
|
const requestId = ulid();
|
|
422
421
|
dump(
|
|
@@ -435,12 +434,12 @@ export class PFrame implements PFrameInternal.PFrameV6 {
|
|
|
435
434
|
);
|
|
436
435
|
const t0 = performance.now();
|
|
437
436
|
try {
|
|
438
|
-
signal?.throwIfAborted();
|
|
437
|
+
ops?.signal?.throwIfAborted();
|
|
439
438
|
return await AddonSymbol.pFrameGetUniqueValues(
|
|
440
439
|
this.frame,
|
|
441
440
|
requestId,
|
|
442
441
|
request,
|
|
443
|
-
signal
|
|
442
|
+
ops?.signal
|
|
444
443
|
);
|
|
445
444
|
} catch (err: unknown) {
|
|
446
445
|
throw new Error(
|
|
@@ -459,7 +458,7 @@ export class PFrame implements PFrameInternal.PFrameV6 {
|
|
|
459
458
|
}
|
|
460
459
|
}
|
|
461
460
|
|
|
462
|
-
class PTable implements PFrameInternal.
|
|
461
|
+
class PTable implements PFrameInternal.PTableV5 {
|
|
463
462
|
constructor(
|
|
464
463
|
private readonly frame: PFrame,
|
|
465
464
|
public readonly id: string,
|
|
@@ -468,70 +467,70 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
468
467
|
this.frame.logger?.('info', `PTable ${this.id} created`);
|
|
469
468
|
}
|
|
470
469
|
|
|
471
|
-
|
|
470
|
+
getSpec(): PTableColumnSpec[] {
|
|
472
471
|
const requestId = ulid();
|
|
473
472
|
dump(
|
|
474
473
|
[`${this.frame.id}`, `${this.id}`, `${requestId}.json`],
|
|
475
474
|
{
|
|
476
475
|
timeStamp: Date.now(),
|
|
477
|
-
requestType: '
|
|
476
|
+
requestType: 'getSpec'
|
|
478
477
|
},
|
|
479
478
|
this.frame.logger
|
|
480
479
|
);
|
|
481
480
|
|
|
482
481
|
try {
|
|
483
|
-
return AddonSymbol.
|
|
482
|
+
return AddonSymbol.pTableGetSpec(this.table);
|
|
484
483
|
} catch (err: unknown) {
|
|
485
484
|
throw new Error(
|
|
486
|
-
`PTable ${this.id}
|
|
485
|
+
`PTable ${this.id} getSpec request ${requestId} failed, ` +
|
|
487
486
|
`error:\n` +
|
|
488
487
|
`${(err as Error).toString()}`
|
|
489
488
|
);
|
|
490
489
|
}
|
|
491
490
|
}
|
|
492
491
|
|
|
493
|
-
|
|
492
|
+
getColumnIndices(columnIds: PTableColumnId[]): number[] {
|
|
494
493
|
const requestId = ulid();
|
|
495
494
|
dump(
|
|
496
495
|
[`${this.frame.id}`, `${this.id}`, `${requestId}.json`],
|
|
497
496
|
{
|
|
498
497
|
timeStamp: Date.now(),
|
|
499
|
-
requestType: '
|
|
498
|
+
requestType: 'getColumnIndices',
|
|
499
|
+
requestData: {
|
|
500
|
+
columnIds: columnIds.map(hashTableColumnId)
|
|
501
|
+
}
|
|
500
502
|
},
|
|
501
503
|
this.frame.logger
|
|
502
504
|
);
|
|
503
505
|
|
|
504
506
|
try {
|
|
505
|
-
return AddonSymbol.
|
|
507
|
+
return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);
|
|
506
508
|
} catch (err: unknown) {
|
|
507
509
|
throw new Error(
|
|
508
|
-
`PTable ${this.id}
|
|
510
|
+
`PTable ${this.id} getColumnIndices request ${requestId} failed, ` +
|
|
511
|
+
`columnIds: ${JSON.stringify(columnIds)}, ` +
|
|
509
512
|
`error:\n` +
|
|
510
513
|
`${(err as Error).toString()}`
|
|
511
514
|
);
|
|
512
515
|
}
|
|
513
516
|
}
|
|
514
517
|
|
|
515
|
-
|
|
518
|
+
async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {
|
|
516
519
|
const requestId = ulid();
|
|
517
520
|
dump(
|
|
518
521
|
[`${this.frame.id}`, `${this.id}`, `${requestId}.json`],
|
|
519
522
|
{
|
|
520
523
|
timeStamp: Date.now(),
|
|
521
|
-
requestType: '
|
|
522
|
-
requestData: {
|
|
523
|
-
columnIds: columnIds.map(hashTableColumnId)
|
|
524
|
-
}
|
|
524
|
+
requestType: 'getShape'
|
|
525
525
|
},
|
|
526
526
|
this.frame.logger
|
|
527
527
|
);
|
|
528
528
|
|
|
529
529
|
try {
|
|
530
|
-
return AddonSymbol.
|
|
530
|
+
return await AddonSymbol.pTableGetShape(this.table, ops?.signal);
|
|
531
531
|
} catch (err: unknown) {
|
|
532
532
|
throw new Error(
|
|
533
|
-
`PTable ${this.id}
|
|
534
|
-
`columnIds: ${JSON.stringify(columnIds)}, ` +
|
|
533
|
+
`PTable ${this.id} getShape request ${requestId} failed, ` +
|
|
535
534
|
`error:\n` +
|
|
536
535
|
`${(err as Error).toString()}`
|
|
537
536
|
);
|
|
@@ -540,8 +539,10 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
540
539
|
|
|
541
540
|
async getData(
|
|
542
541
|
columnIndices: number[],
|
|
543
|
-
|
|
544
|
-
|
|
542
|
+
ops?: {
|
|
543
|
+
range?: TableRange | undefined;
|
|
544
|
+
signal?: AbortSignal | undefined;
|
|
545
|
+
}
|
|
545
546
|
): Promise<PTableVector[]> {
|
|
546
547
|
const requestId = ulid();
|
|
547
548
|
dump(
|
|
@@ -551,7 +552,7 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
551
552
|
requestType: 'getData',
|
|
552
553
|
requestData: {
|
|
553
554
|
columnIndices,
|
|
554
|
-
range: range ?? null
|
|
555
|
+
range: ops?.range ?? null
|
|
555
556
|
}
|
|
556
557
|
},
|
|
557
558
|
this.frame.logger
|
|
@@ -561,21 +562,24 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
561
562
|
'info',
|
|
562
563
|
`PTable ${this.id} getData request ${requestId} started`
|
|
563
564
|
);
|
|
565
|
+
let rowCount = 0;
|
|
564
566
|
const t0 = performance.now();
|
|
565
567
|
try {
|
|
566
|
-
signal?.throwIfAborted();
|
|
567
|
-
|
|
568
|
+
ops?.signal?.throwIfAborted();
|
|
569
|
+
const result = await AddonSymbol.pTableGetData(
|
|
568
570
|
this.table,
|
|
569
571
|
requestId,
|
|
570
572
|
columnIndices,
|
|
571
|
-
range,
|
|
572
|
-
signal
|
|
573
|
+
ops?.range,
|
|
574
|
+
ops?.signal
|
|
573
575
|
);
|
|
576
|
+
rowCount = result[0].data.length;
|
|
577
|
+
return result;
|
|
574
578
|
} catch (err: unknown) {
|
|
575
579
|
throw new Error(
|
|
576
580
|
`PTable ${this.id} getData request ${requestId} failed, ` +
|
|
577
581
|
`columnIndices: ${JSON.stringify(columnIndices)}, ` +
|
|
578
|
-
`range: ${range ? JSON.stringify(range) : undefined}, ` +
|
|
582
|
+
`range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +
|
|
579
583
|
`error:\n` +
|
|
580
584
|
`${(err as Error).toString()}`
|
|
581
585
|
);
|
|
@@ -583,15 +587,12 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
583
587
|
const t1 = performance.now();
|
|
584
588
|
this.frame.logger?.(
|
|
585
589
|
'info',
|
|
586
|
-
`PTable ${this.id} getData request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`
|
|
590
|
+
`PTable ${this.id} getData request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))} (${rowCount} rows)`
|
|
587
591
|
);
|
|
588
592
|
}
|
|
589
593
|
}
|
|
590
594
|
|
|
591
|
-
|
|
592
|
-
request: PTableRecordFilter[],
|
|
593
|
-
signal?: AbortSignal
|
|
594
|
-
): Promise<PFrameInternal.PTableV4> {
|
|
595
|
+
filter(request: PTableRecordFilter[]): PFrameInternal.PTableV5 {
|
|
595
596
|
const requestId = ulid();
|
|
596
597
|
const dumpData = {
|
|
597
598
|
timeStamp: Date.now(),
|
|
@@ -618,13 +619,7 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
618
619
|
);
|
|
619
620
|
const t0 = performance.now();
|
|
620
621
|
try {
|
|
621
|
-
|
|
622
|
-
const boxed = await AddonSymbol.pTableFilter(
|
|
623
|
-
this.table,
|
|
624
|
-
requestId,
|
|
625
|
-
request,
|
|
626
|
-
signal
|
|
627
|
-
);
|
|
622
|
+
const boxed = AddonSymbol.pTableFilter(this.table, requestId, request);
|
|
628
623
|
return new PTable(this.frame, requestId, boxed);
|
|
629
624
|
} catch (err: unknown) {
|
|
630
625
|
throw new Error(
|
|
@@ -642,10 +637,7 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
642
637
|
}
|
|
643
638
|
}
|
|
644
639
|
|
|
645
|
-
|
|
646
|
-
request: PTableSorting[],
|
|
647
|
-
signal?: AbortSignal
|
|
648
|
-
): Promise<PFrameInternal.PTableV4> {
|
|
640
|
+
sort(request: PTableSorting[]): PFrameInternal.PTableV5 {
|
|
649
641
|
const requestId = ulid();
|
|
650
642
|
const dumpData = {
|
|
651
643
|
timeStamp: Date.now(),
|
|
@@ -670,13 +662,7 @@ class PTable implements PFrameInternal.PTableV4 {
|
|
|
670
662
|
);
|
|
671
663
|
const t0 = performance.now();
|
|
672
664
|
try {
|
|
673
|
-
|
|
674
|
-
const boxed = await AddonSymbol.pTableSort(
|
|
675
|
-
this.table,
|
|
676
|
-
requestId,
|
|
677
|
-
request,
|
|
678
|
-
signal
|
|
679
|
-
);
|
|
665
|
+
const boxed = AddonSymbol.pTableSort(this.table, requestId, request);
|
|
680
666
|
return new PTable(this.frame, requestId, boxed);
|
|
681
667
|
} catch (err: unknown) {
|
|
682
668
|
throw new Error(
|
|
@@ -9,7 +9,7 @@ interface HeapProfiler {
|
|
|
9
9
|
pprofDump: () => Promise<Uint8Array>;
|
|
10
10
|
}
|
|
11
11
|
interface NodeFrame {
|
|
12
|
-
pFrameCreate: (spillPath: string, logger
|
|
12
|
+
pFrameCreate: (spillPath: string, logger: PFrameInternal.Logger | undefined) => NodeFrameSymbol;
|
|
13
13
|
pFrameAddColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId, columnSpec: PColumnSpec) => void;
|
|
14
14
|
pFrameSetDataSource: (pFrame: NodeFrameSymbol, dataSource: PFrameInternal.PFrameDataSource) => void;
|
|
15
15
|
pFrameSetColumnData: (pFrame: NodeFrameSymbol, columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId>) => void;
|
|
@@ -18,16 +18,16 @@ interface NodeFrame {
|
|
|
18
18
|
pFrameDeleteColumn: (pFrame: NodeFrameSymbol, request: PFrameInternal.DeleteColumnFromColumnsRequest) => Promise<PFrameInternal.DeleteColumnFromColumnsResponse>;
|
|
19
19
|
pFrameGetColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId) => Promise<PColumnSpec>;
|
|
20
20
|
pFrameListColumns: (pFrame: NodeFrameSymbol) => Promise<PColumnInfo[]>;
|
|
21
|
-
pFrameCreateTable: (pFrame: NodeFrameSymbol, id: TableId, request: PFrameInternal.CreateTableRequestV3
|
|
22
|
-
pFrameGetUniqueValues: (pFrame: NodeFrameSymbol, id: TableId, request: UniqueValuesRequest, signal
|
|
21
|
+
pFrameCreateTable: (pFrame: NodeFrameSymbol, id: TableId, request: PFrameInternal.CreateTableRequestV3) => NodeTableSymbol;
|
|
22
|
+
pFrameGetUniqueValues: (pFrame: NodeFrameSymbol, id: TableId, request: UniqueValuesRequest, signal: AbortSignal | undefined) => Promise<UniqueValuesResponse>;
|
|
23
23
|
}
|
|
24
24
|
interface NodeTable {
|
|
25
|
-
pTableGetShape: (boxed: NodeTableSymbol) => PTableShape;
|
|
26
25
|
pTableGetSpec: (boxed: NodeTableSymbol) => PTableColumnSpec[];
|
|
27
26
|
pTableGetColumnIndices: (boxed: NodeTableSymbol, columnIds: PTableColumnId[]) => number[];
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
pTableGetShape: (boxed: NodeTableSymbol, signal: AbortSignal | undefined) => Promise<PTableShape>;
|
|
28
|
+
pTableGetData: (boxed: NodeTableSymbol, id: TableId, columnIndices: number[], range: TableRange | undefined, signal: AbortSignal | undefined) => Promise<PTableVector[]>;
|
|
29
|
+
pTableFilter: (boxed: NodeTableSymbol, id: TableId, request: PTableRecordFilter[]) => NodeTableSymbol;
|
|
30
|
+
pTableSort: (boxed: NodeTableSymbol, id: TableId, request: PTableSorting[]) => NodeTableSymbol;
|
|
31
31
|
pTableDispose: (boxed: NodeTableSymbol) => void;
|
|
32
32
|
}
|
|
33
33
|
export interface AddonSymbol extends Symbol, HeapProfiler, NodeFrame, NodeTable {
|
|
@@ -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,YAAY;IACpB,SAAS,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;CACtC;AAED,UAAU,SAAS;IACjB,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,MAAM,
|
|
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.PFrameV7;
|
|
4
4
|
pprofDump: () => Promise<Uint8Array>;
|
|
5
5
|
};
|
|
6
6
|
export declare const PFrame: PFrame;
|
package/export_dist/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
${
|
|
3
|
-
${
|
|
4
|
-
${
|
|
5
|
-
${
|
|
6
|
-
${r.toString()}`)}}[Symbol.dispose](){this.dispose()}async findColumns(
|
|
7
|
-
${
|
|
8
|
-
${
|
|
9
|
-
${
|
|
10
|
-
${
|
|
11
|
-
${
|
|
12
|
-
${
|
|
13
|
-
${
|
|
14
|
-
${
|
|
15
|
-
${r.toString()}`)}}async getData(
|
|
16
|
-
${
|
|
17
|
-
${
|
|
18
|
-
${
|
|
19
|
-
${
|
|
1
|
+
"use strict";var I=Object.defineProperty;var j=(i,t,e)=>t in i?I(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var S=(i,t,e)=>j(i,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("humanize-duration"),l=require("ulid"),E=require("node:module"),w=require("node:path"),M=require("node:url"),U=require("@mapbox/node-pre-gyp"),R=require("node:crypto"),p=require("node:fs"),y=require("node:stream");var D=typeof document<"u"?document.currentScript:null;const P=typeof document>"u"?require("url").pathToFileURL(__filename).href:D&&D.tagName.toUpperCase()==="SCRIPT"&&D.src||new URL("index.js",document.baseURI).href,J=w.dirname(M.fileURLToPath(P)),N=E.createRequire(P),{find:O}=U,d=N(O(w.resolve(J,"../package.json")));async function F(i){try{return await p.promises.access(i),!0}catch{return!1}}async function v(i){await F(i)||await p.promises.mkdir(i,{recursive:!0})}async function _(i,t){const e=`${i}.tmp`;await F(e)&&await p.promises.rm(e,{recursive:!0});const r=typeof t=="string"?Buffer.from(t,"utf8"):t,s=y.Readable.from(r),n=p.createWriteStream(e,{flags:"wx"});await y.Readable.toWeb(s).pipeTo(y.Writable.toWeb(n)),await p.promises.rename(e,i)}function h(i){return R.createHash("sha256").update(i).digest("hex")}function T(i){return i.type==="column"?{...i,id:h(i.id)}:i}function b(i){return{...i,column:T(i.column)}}function k(i){return{...i,columnId:h(i.columnId),filters:i.filters.map(b)}}function A(i){return{...i,column:T(i.column)}}function g(i){const t=i.type;switch(t){case"column":return{...i,columnId:h(i.columnId)};case"slicedColumn":return{...i,columnId:h(i.columnId),newId:h(i.newId)};case"inlineColumn":return{...i,newId:h(i.newId)};case"inner":return{...i,entries:i.entries.map(g)};case"full":return{...i,entries:i.entries.map(g)};case"outer":return{...i,primary:g(i.primary),secondary:i.secondary.map(g)};default:throw new Error(`Unsupported join entry type: ${t}`)}}function x(i){return{...i,src:g(i.src),filters:i.filters.map(b)}}async function a(i,t,e){if(process.env.MI_DUMP_PFRAMES_RS)try{const r=i.map(o=>encodeURIComponent(o)),s=w.join(process.env.MI_DUMP_PFRAMES_RS,...r.slice(0,-1));await v(s);const n=w.join(process.env.MI_DUMP_PFRAMES_RS,...r),u=ArrayBuffer.isView(t)?t:JSON.stringify(t,null,2);await _(n,u)}catch(r){e==null||e("warn",`error while dumping PFrames data: ${r}`)}}let B=class{constructor(t,e){S(this,"id",l.ulid());S(this,"frame");var r;this.logger=e,a([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=d.pFrameCreate(t,e),(r=this.logger)==null||r.call(this,"info",`PFrame ${this.id} created`)}catch(s){throw new Error(`PFrame ${this.id} creation failed, logger: ${e==null?void 0:e.toString()}, error:
|
|
2
|
+
${s.toString()}`)}}static async pprofDump(){return d.pprofDump()}addColumnSpec(t,e){const r=l.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"addColumnSpec",requestData:{columnId:h(t),columnSpec:e}},this.logger),a([`${this.id}`,"data",`${h(t)}.spec`],{...e},this.logger);try{return d.pFrameAddColumnSpec(this.frame,t,e)}catch(s){throw new Error(`PFrame ${this.id} addColumnSpec request ${r} failed, columnId: ${JSON.stringify(t)}, columnSpec: ${JSON.stringify(e)}, error:
|
|
3
|
+
${s.toString()}`)}}setDataSource(t){const e=l.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"setDataSource"},this.logger);let r={preloadBlob:async s=>{var o;const n=l.ulid();a([`${this.id}`,`${n}.json`],{timeStamp:Date.now(),requestType:"preloadBlob",requestData:{blobIds:s}},this.logger);const u=performance.now();try{return t.preloadBlob(s)}finally{const c=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame ${this.id} preloaded ${s.length} blobs ${JSON.stringify(s)}, took ${f(Math.round(c-u))}`)}},resolveBlobContent:async s=>{var o;const n=l.ulid();a([`${this.id}`,`${n}.json`],{timeStamp:Date.now(),requestType:"resolveBlobContent",requestData:{blobId:s}},this.logger);const u=await t.resolveBlobContent(s);return(o=this.logger)==null||o.call(this,"info",`PFrame ${this.id} resolved blob ${s}`),a([`${this.id}`,"data",`${s}`],u,this.logger),u}};try{return d.pFrameSetDataSource(this.frame,r)}catch(s){throw new Error(`PFrame ${this.id} setDataSource request ${e} failed, dataSource: ${t.toString()}, error:
|
|
4
|
+
${s.toString()}`)}}setColumnData(t,e){const r=l.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"setColumnData",requestData:{columnId:h(t),dataInfo:e}},this.logger),a([`${this.id}`,"data",`${h(t)}.datainfo`],{...e},this.logger);try{return d.pFrameSetColumnData(this.frame,t,e)}catch(s){throw new Error(`PFrame ${this.id} setColumnData request ${r} failed, columnId: ${JSON.stringify(t)}, dataInfo: ${JSON.stringify(e)}, error:
|
|
5
|
+
${s.toString()}`)}}dispose(){var e;const t=l.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.logger);try{d.pFrameDispose(this.frame),(e=this.logger)==null||e.call(this,"info",`PFrame ${this.id} disposed`)}catch(r){throw new Error(`PFrame ${this.id} dispose request ${t} failed, error:
|
|
6
|
+
${r.toString()}`)}}[Symbol.dispose](){this.dispose()}async findColumns(t){var s;const e=l.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"findColumns",requestData:t},this.logger);const r=performance.now();try{return await d.pFrameFindColumns(this.frame,t)}catch(n){throw new Error(`PFrame ${this.id} findColumns request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
7
|
+
${n.toString()}`)}finally{const n=performance.now();(s=this.logger)==null||s.call(this,"info",`PFrame ${this.id} findColumns request ${e} took ${f(Math.round(n-r))}`)}}async deleteColumn(t){var s;const e=l.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"deleteColumn",requestData:t},this.logger);const r=performance.now();try{return await d.pFrameDeleteColumn(this.frame,t)}catch(n){throw new Error(`PFrame ${this.id} deleteColumn request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
8
|
+
${n.toString()}`)}finally{const n=performance.now();(s=this.logger)==null||s.call(this,"info",`PFrame ${this.id} deleteColumn request ${e} took ${f(Math.round(n-r))}`)}}async getColumnSpec(t){var s;const e=l.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getColumnSpec",requestData:{columnId:h(t)}},this.logger);const r=performance.now();try{return await d.pFrameGetColumnSpec(this.frame,t)}catch(n){throw new Error(`PFrame ${this.id} getColumnSpec request ${e} failed, columnId: ${JSON.stringify(t)}, error:
|
|
9
|
+
${n.toString()}`)}finally{const n=performance.now();(s=this.logger)==null||s.call(this,"info",`PFrame ${this.id} getColumnSpec request ${e} took ${f(Math.round(n-r))}`)}}async listColumns(){var r;const t=l.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"listColumns"},this.logger);const e=performance.now();try{return await d.pFrameListColumns(this.frame)}catch(s){throw new Error(`PFrame ${this.id} listColumns request ${t} failed, error:
|
|
10
|
+
${s.toString()}`)}finally{const s=performance.now();(r=this.logger)==null||r.call(this,"info",`PFrame ${this.id} listColumns request ${t} took ${f(Math.round(s-e))}`)}}createTable(t){var n,u;const e=l.ulid(),r={timeStamp:Date.now(),requestType:"createTable",requestData:x(t)};a([`${this.id}`,`${e}.json`],r,this.logger),a([`${this.id}`,`${e}`,`${e}.json`],r,this.logger),(n=this.logger)==null||n.call(this,"info",`PFrame ${this.id} createTable request ${e} started`);const s=performance.now();try{const o=d.pFrameCreateTable(this.frame,e,t);return new q(this,e,o)}catch(o){throw new Error(`PFrame ${this.id} createTable request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
11
|
+
${o.toString()}`)}finally{const o=performance.now();(u=this.logger)==null||u.call(this,"info",`PFrame ${this.id} createTable request ${e} finished, took ${f(Math.round(o-s))}`)}}async getUniqueValues(t,e){var n,u,o;const r=l.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getUniqueValues",requestData:k(t)},this.logger),(n=this.logger)==null||n.call(this,"info",`PFrame ${this.id} getUniqueValues request ${r} started`);const s=performance.now();try{return(u=e==null?void 0:e.signal)==null||u.throwIfAborted(),await d.pFrameGetUniqueValues(this.frame,r,t,e==null?void 0:e.signal)}catch(c){throw new Error(`PFrame ${this.id} getUniqueValues request ${r} failed, request: ${JSON.stringify(t)}, error:
|
|
12
|
+
${c.toString()}`)}finally{const c=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame ${this.id} getUniqueValues request ${r} finished, took ${f(Math.round(c-s))}`)}}};class q{constructor(t,e,r){var s,n;this.frame=t,this.id=e,this.table=r,(n=(s=this.frame).logger)==null||n.call(s,"info",`PTable ${this.id} created`)}getSpec(){const t=l.ulid();a([`${this.frame.id}`,`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getSpec"},this.frame.logger);try{return d.pTableGetSpec(this.table)}catch(e){throw new Error(`PTable ${this.id} getSpec request ${t} failed, error:
|
|
13
|
+
${e.toString()}`)}}getColumnIndices(t){const e=l.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getColumnIndices",requestData:{columnIds:t.map(T)}},this.frame.logger);try{return d.pTableGetColumnIndices(this.table,t)}catch(r){throw new Error(`PTable ${this.id} getColumnIndices request ${e} failed, columnIds: ${JSON.stringify(t)}, error:
|
|
14
|
+
${r.toString()}`)}}async getShape(t){const e=l.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getShape"},this.frame.logger);try{return await d.pTableGetShape(this.table,t==null?void 0:t.signal)}catch(r){throw new Error(`PTable ${this.id} getShape request ${e} failed, error:
|
|
15
|
+
${r.toString()}`)}}async getData(t,e){var u,o,c,m,C;const r=l.ulid();a([`${this.frame.id}`,`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getData",requestData:{columnIndices:t,range:(e==null?void 0:e.range)??null}},this.frame.logger),(o=(u=this.frame).logger)==null||o.call(u,"info",`PTable ${this.id} getData request ${r} started`);let s=0;const n=performance.now();try{(c=e==null?void 0:e.signal)==null||c.throwIfAborted();const $=await d.pTableGetData(this.table,r,t,e==null?void 0:e.range,e==null?void 0:e.signal);return s=$[0].data.length,$}catch($){throw new Error(`PTable ${this.id} getData request ${r} failed, columnIndices: ${JSON.stringify(t)}, range: ${e!=null&&e.range?JSON.stringify(e.range):void 0}, error:
|
|
16
|
+
${$.toString()}`)}finally{const $=performance.now();(C=(m=this.frame).logger)==null||C.call(m,"info",`PTable ${this.id} getData request ${r} finished, took ${f(Math.round($-n))} (${s} rows)`)}}filter(t){var n,u,o,c;const e=l.ulid(),r={timeStamp:Date.now(),table:this.id,requestType:"filter",requestData:{filters:t.map(b)}};a([`${this.frame.id}`,`${e}.json`],r,this.frame.logger),a([`${this.frame.id}`,`${e}`,`${e}.json`],r,this.frame.logger),(u=(n=this.frame).logger)==null||u.call(n,"info",`PTable ${this.id} filter request ${e} started`);const s=performance.now();try{const m=d.pTableFilter(this.table,e,t);return new q(this.frame,e,m)}catch(m){throw new Error(`PTable ${this.id} filter request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
17
|
+
${m.toString()}`)}finally{const m=performance.now();(c=(o=this.frame).logger)==null||c.call(o,"info",`PTable ${this.id} filter request ${e} finished, took ${f(Math.round(m-s))}`)}}sort(t){var n,u,o,c;const e=l.ulid(),r={timeStamp:Date.now(),table:this.id,requestType:"sort",requestData:t.map(A)};a([`${this.frame.id}`,`${e}.json`],r,this.frame.logger),a([`${this.frame.id}`,`${e}`,`${e}.json`],r,this.frame.logger),(u=(n=this.frame).logger)==null||u.call(n,"info",`PTable ${this.id} sort request ${e} started`);const s=performance.now();try{const m=d.pTableSort(this.table,e,t);return new q(this.frame,e,m)}catch(m){throw new Error(`PTable ${this.id} sort request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
18
|
+
${m.toString()}`)}finally{const m=performance.now();(c=(o=this.frame).logger)==null||c.call(o,"info",`PTable ${this.id} sort request ${e} finished, took ${f(Math.round(m-s))}`)}}dispose(){var e,r;const t=l.ulid();a([`${this.frame.id}`,`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.frame.logger);try{d.pTableDispose(this.table),(r=(e=this.frame).logger)==null||r.call(e,"info",`PTable ${this.id} disposed`)}catch(s){throw new Error(`PTable ${this.id} dispose request ${t} failed, error:
|
|
19
|
+
${s.toString()}`)}}[Symbol.dispose](){this.dispose()}}const V=B;exports.PFrame=V;
|
|
20
20
|
//# sourceMappingURL=index.js.map
|