@milaboratories/pframes-rs-node 1.0.43 → 1.0.45

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.
@@ -28,7 +28,7 @@ interface HeapProfiler {
28
28
  interface NodeFrame {
29
29
  pFrameCreate: (
30
30
  spillPath: string,
31
- logger?: PFrameInternal.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
- signal?: AbortSignal
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?: AbortSignal
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?: AbortSignal
89
+ signal: AbortSignal | undefined
88
90
  ) => Promise<PTableVector[]>;
89
91
  pTableFilter: (
90
92
  boxed: NodeTableSymbol,
91
93
  id: TableId,
92
- request: PTableRecordFilter[],
93
- signal?: AbortSignal
94
- ) => Promise<NodeTableSymbol>;
94
+ request: PTableRecordFilter[]
95
+ ) => NodeTableSymbol;
95
96
  pTableSort: (
96
97
  boxed: NodeTableSymbol,
97
98
  id: TableId,
98
- request: PTableSorting[],
99
- signal?: AbortSignal
100
- ) => Promise<NodeTableSymbol>;
99
+ request: PTableSorting[]
100
+ ) => NodeTableSymbol;
101
101
  pTableDispose: (boxed: NodeTableSymbol) => void;
102
102
  }
103
103
 
package/export/export.ts CHANGED
@@ -5,7 +5,7 @@ export type PFrame = {
5
5
  new (
6
6
  spillPath: string,
7
7
  logger?: PFrameInternal.Logger
8
- ): PFrameInternal.PFrameV6;
8
+ ): PFrameInternal.PFrameV7;
9
9
 
10
10
  pprofDump: () => Promise<Uint8Array>;
11
11
  };
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.PFrameV6 {
31
+ export class PFrame implements PFrameInternal.PFrameV7 {
32
32
  public readonly id: string = ulid();
33
33
  private readonly frame: NodeFrameSymbol;
34
34
 
@@ -109,7 +109,7 @@ export class PFrame implements PFrameInternal.PFrameV6 {
109
109
  this.logger
110
110
  );
111
111
 
112
- let wrappedDataSource = {
112
+ const wrappedDataSource = {
113
113
  preloadBlob: async (
114
114
  blobIds: PFrameInternal.PFrameBlobId[]
115
115
  ): Promise<void> => {
@@ -128,7 +128,7 @@ export class PFrame implements PFrameInternal.PFrameV6 {
128
128
 
129
129
  const t0 = performance.now();
130
130
  try {
131
- return dataSource.preloadBlob(blobIds);
131
+ return await dataSource.preloadBlob(blobIds);
132
132
  } finally {
133
133
  const t1 = performance.now();
134
134
  this.logger?.(
@@ -367,10 +367,9 @@ export class PFrame implements PFrameInternal.PFrameV6 {
367
367
  }
368
368
  }
369
369
 
370
- async createTable(
371
- request: PFrameInternal.CreateTableRequestV3,
372
- signal?: AbortSignal
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
- signal?.throwIfAborted();
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
- signal?: AbortSignal
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.PTableV4 {
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
- getShape(): PTableShape {
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: 'getShape'
476
+ requestType: 'getSpec'
478
477
  },
479
478
  this.frame.logger
480
479
  );
481
480
 
482
481
  try {
483
- return AddonSymbol.pTableGetShape(this.table);
482
+ return AddonSymbol.pTableGetSpec(this.table);
484
483
  } catch (err: unknown) {
485
484
  throw new Error(
486
- `PTable ${this.id} getShape request ${requestId} failed, ` +
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
- getSpec(): PTableColumnSpec[] {
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: 'getSpec'
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.pTableGetSpec(this.table);
507
+ return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);
506
508
  } catch (err: unknown) {
507
509
  throw new Error(
508
- `PTable ${this.id} getSpec request ${requestId} failed, ` +
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
- getColumnIndices(columnIds: PTableColumnId[]): number[] {
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: 'getColumnIndices',
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.pTableGetColumnIndices(this.table, columnIds);
530
+ return await AddonSymbol.pTableGetShape(this.table, ops?.signal);
531
531
  } catch (err: unknown) {
532
532
  throw new Error(
533
- `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +
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
- range: TableRange | undefined,
544
- signal?: AbortSignal
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
- return await AddonSymbol.pTableGetData(
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
- async filter(
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
- signal?.throwIfAborted();
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
- async sort(
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
- signal?.throwIfAborted();
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?: PFrameInternal.Logger) => NodeFrameSymbol;
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, signal?: AbortSignal) => Promise<NodeTableSymbol>;
22
- pFrameGetUniqueValues: (pFrame: NodeFrameSymbol, id: TableId, request: UniqueValuesRequest, signal?: AbortSignal) => Promise<UniqueValuesResponse>;
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
- pTableGetData: (boxed: NodeTableSymbol, id: TableId, columnIndices: number[], range: TableRange | undefined, signal?: AbortSignal) => Promise<PTableVector[]>;
29
- pTableFilter: (boxed: NodeTableSymbol, id: TableId, request: PTableRecordFilter[], signal?: AbortSignal) => Promise<NodeTableSymbol>;
30
- pTableSort: (boxed: NodeTableSymbol, id: TableId, request: PTableSorting[], signal?: AbortSignal) => Promise<NodeTableSymbol>;
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":"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"}
1
+ {"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
@@ -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.PFrameV6;
3
+ new (spillPath: string, logger?: PFrameInternal.Logger): PFrameInternal.PFrameV7;
4
4
  pprofDump: () => Promise<Uint8Array>;
5
5
  };
6
6
  export declare const PFrame: PFrame;
@@ -1,20 +1,20 @@
1
- "use strict";var F=Object.defineProperty;var I=(o,e,t)=>e in o?F(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var S=(o,e,t)=>I(o,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("humanize-duration"),d=require("ulid"),j=require("node:module"),w=require("node:path"),E=require("node:url"),M=require("@mapbox/node-pre-gyp"),U=require("node:crypto"),g=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,R=w.dirname(E.fileURLToPath(P)),J=j.createRequire(P),{find:N}=M,c=J(N(w.resolve(R,"../package.json")));async function C(o){try{return await g.promises.access(o),!0}catch{return!1}}async function O(o){await C(o)||await g.promises.mkdir(o,{recursive:!0})}async function v(o,e){const t=`${o}.tmp`;await C(t)&&await g.promises.rm(t,{recursive:!0});const r=typeof e=="string"?Buffer.from(e,"utf8"):e,i=y.Readable.from(r),s=g.createWriteStream(t,{flags:"wx"});await y.Readable.toWeb(i).pipeTo(y.Writable.toWeb(s)),await g.promises.rename(t,o)}function m(o){return U.createHash("sha256").update(o).digest("hex")}function b(o){return o.type==="column"?{...o,id:m(o.id)}:o}function T(o){return{...o,column:b(o.column)}}function _(o){return{...o,columnId:m(o.columnId),filters:o.filters.map(T)}}function k(o){return{...o,column:b(o.column)}}function p(o){const e=o.type;switch(e){case"column":return{...o,columnId:m(o.columnId)};case"slicedColumn":return{...o,columnId:m(o.columnId),newId:m(o.newId)};case"inlineColumn":return{...o,newId:m(o.newId)};case"inner":return{...o,entries:o.entries.map(p)};case"full":return{...o,entries:o.entries.map(p)};case"outer":return{...o,primary:p(o.primary),secondary:o.secondary.map(p)};default:throw new Error(`Unsupported join entry type: ${e}`)}}function A(o){return{...o,src:p(o.src),filters:o.filters.map(T)}}async function n(o,e,t){if(process.env.MI_DUMP_PFRAMES_RS)try{const r=o.map(a=>encodeURIComponent(a)),i=w.join(process.env.MI_DUMP_PFRAMES_RS,...r.slice(0,-1));await O(i);const s=w.join(process.env.MI_DUMP_PFRAMES_RS,...r),u=ArrayBuffer.isView(e)?e:JSON.stringify(e,null,2);await v(s,u)}catch(r){t==null||t("warn",`error while dumping PFrames data: ${r}`)}}let x=class{constructor(e,t){S(this,"id",d.ulid());S(this,"frame");var r;this.logger=t,n([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=c.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()}`)}}static async pprofDump(){return c.pprofDump()}addColumnSpec(e,t){const r=d.ulid();n([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"addColumnSpec",requestData:{columnId:m(e),columnSpec:t}},this.logger),n([`${this.id}`,"data",`${m(e)}.spec`],{...t},this.logger);try{return c.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=d.ulid();n([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"setDataSource"},this.logger);let r={preloadBlob:async i=>{var a;const s=d.ulid();n([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"preloadBlob",requestData:{blobIds:i}},this.logger);const u=performance.now();try{return e.preloadBlob(i)}finally{const h=performance.now();(a=this.logger)==null||a.call(this,"info",`PFrame ${this.id} preloaded ${i.length} blobs ${JSON.stringify(i)}, took ${f(Math.round(h-u))}`)}},resolveBlobContent:async i=>{var a;const s=d.ulid();n([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"resolveBlobContent",requestData:{blobId:i}},this.logger);const u=await e.resolveBlobContent(i);return(a=this.logger)==null||a.call(this,"info",`PFrame ${this.id} resolved blob ${i}`),n([`${this.id}`,"data",`${i}`],u,this.logger),u}};try{return c.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=d.ulid();n([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"setColumnData",requestData:{columnId:m(e),dataInfo:t}},this.logger),n([`${this.id}`,"data",`${m(e)}.datainfo`],{...t},this.logger);try{return c.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=d.ulid();n([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.logger);try{c.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=d.ulid();n([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"findColumns",requestData:e},this.logger);const r=performance.now();try{return await c.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 ${f(Math.round(s-r))}`)}}async deleteColumn(e){var i;const t=d.ulid();n([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"deleteColumn",requestData:e},this.logger);const r=performance.now();try{return await c.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 ${f(Math.round(s-r))}`)}}async getColumnSpec(e){var i;const t=d.ulid();n([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnSpec",requestData:{columnId:m(e)}},this.logger);const r=performance.now();try{return await c.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 ${f(Math.round(s-r))}`)}}async listColumns(){var r;const e=d.ulid();n([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"listColumns"},this.logger);const t=performance.now();try{return await c.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 ${f(Math.round(i-t))}`)}}async createTable(e,t){var u,a;const r=d.ulid(),i={timeStamp:Date.now(),requestType:"createTable",requestData:A(e)};n([`${this.id}`,`${r}.json`],i,this.logger),n([`${this.id}`,`${r}`,`${r}.json`],i,this.logger),(u=this.logger)==null||u.call(this,"info",`PFrame ${this.id} createTable request ${r} started`);const s=performance.now();try{t==null||t.throwIfAborted();const h=await c.pFrameCreateTable(this.frame,r,e,t);return new q(this,r,h)}catch(h){throw new Error(`PFrame ${this.id} createTable request ${r} failed, request: ${JSON.stringify(e)}, error:
11
- ${h.toString()}`)}finally{const h=performance.now();(a=this.logger)==null||a.call(this,"info",`PFrame ${this.id} createTable request ${r} finished, took ${f(Math.round(h-s))}`)}}async getUniqueValues(e,t){var s,u;const r=d.ulid();n([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getUniqueValues",requestData:_(e)},this.logger),(s=this.logger)==null||s.call(this,"info",`PFrame ${this.id} getUniqueValues request ${r} started`);const i=performance.now();try{return t==null||t.throwIfAborted(),await c.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();(u=this.logger)==null||u.call(this,"info",`PFrame ${this.id} getUniqueValues request ${r} finished, took ${f(Math.round(a-i))}`)}}};class q{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=d.ulid();n([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getShape"},this.frame.logger);try{return c.pTableGetShape(this.table)}catch(t){throw new Error(`PTable ${this.id} getShape request ${e} failed, error:
13
- ${t.toString()}`)}}getSpec(){const e=d.ulid();n([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getSpec"},this.frame.logger);try{return c.pTableGetSpec(this.table)}catch(t){throw new Error(`PTable ${this.id} getSpec request ${e} failed, error:
14
- ${t.toString()}`)}}getColumnIndices(e){const t=d.ulid();n([`${this.frame.id}`,`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnIndices",requestData:{columnIds:e.map(b)}},this.frame.logger);try{return c.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 u,a,h,$;const i=d.ulid();n([`${this.frame.id}`,`${this.id}`,`${i}.json`],{timeStamp:Date.now(),requestType:"getData",requestData:{columnIndices:e,range:t??null}},this.frame.logger),(a=(u=this.frame).logger)==null||a.call(u,"info",`PTable ${this.id} getData request ${i} started`);const s=performance.now();try{return r==null||r.throwIfAborted(),await c.pTableGetData(this.table,i,e,t,r)}catch(l){throw new Error(`PTable ${this.id} getData request ${i} failed, columnIndices: ${JSON.stringify(e)}, range: ${t?JSON.stringify(t):void 0}, error:
16
- ${l.toString()}`)}finally{const l=performance.now();($=(h=this.frame).logger)==null||$.call(h,"info",`PTable ${this.id} getData request ${i} finished, took ${f(Math.round(l-s))}`)}}async filter(e,t){var u,a,h,$;const r=d.ulid(),i={timeStamp:Date.now(),table:this.id,requestType:"filter",requestData:{filters:e.map(T)}};n([`${this.frame.id}`,`${r}.json`],i,this.frame.logger),n([`${this.frame.id}`,`${r}`,`${r}.json`],i,this.frame.logger),(a=(u=this.frame).logger)==null||a.call(u,"info",`PTable ${this.id} filter request ${r} started`);const s=performance.now();try{t==null||t.throwIfAborted();const l=await c.pTableFilter(this.table,r,e,t);return new q(this.frame,r,l)}catch(l){throw new Error(`PTable ${this.id} filter request ${r} failed, request: ${JSON.stringify(e)}, error:
17
- ${l.toString()}`)}finally{const l=performance.now();($=(h=this.frame).logger)==null||$.call(h,"info",`PTable ${this.id} filter request ${r} finished, took ${f(Math.round(l-s))}`)}}async sort(e,t){var u,a,h,$;const r=d.ulid(),i={timeStamp:Date.now(),table:this.id,requestType:"sort",requestData:e.map(k)};n([`${this.frame.id}`,`${r}.json`],i,this.frame.logger),n([`${this.frame.id}`,`${r}`,`${r}.json`],i,this.frame.logger),(a=(u=this.frame).logger)==null||a.call(u,"info",`PTable ${this.id} sort request ${r} started`);const s=performance.now();try{t==null||t.throwIfAborted();const l=await c.pTableSort(this.table,r,e,t);return new q(this.frame,r,l)}catch(l){throw new Error(`PTable ${this.id} sort request ${r} failed, request: ${JSON.stringify(e)}, error:
18
- ${l.toString()}`)}finally{const l=performance.now();($=(h=this.frame).logger)==null||$.call(h,"info",`PTable ${this.id} sort request ${r} finished, took ${f(Math.round(l-s))}`)}}dispose(){var t,r;const e=d.ulid();n([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.frame.logger);try{c.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 B=x;exports.PFrame=B;
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);const 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 await 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