@milaboratories/pframes-rs-node 1.0.28 → 1.0.31

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.
@@ -23,7 +23,7 @@ export interface NodeTableSymbol extends Symbol {}
23
23
 
24
24
  interface NodeFrame {
25
25
  pFrameCreate: (
26
- tempDir: string,
26
+ spillPath: string,
27
27
  logger?: PFrameInternal.Logger
28
28
  ) => NodeFrameSymbol;
29
29
  pFrameAddColumnSpec: (
@@ -79,7 +79,8 @@ interface NodeTable {
79
79
  boxed: NodeTableSymbol,
80
80
  id: TableId,
81
81
  columnIndices: number[],
82
- range?: TableRange
82
+ range: TableRange | undefined,
83
+ signal?: AbortSignal
83
84
  ) => Promise<PTableVector[]>;
84
85
  pTableFilter: (
85
86
  boxed: NodeTableSymbol,
package/export/export.ts CHANGED
@@ -3,9 +3,9 @@ import { PFrame as PFrameImpl } from './wrapper';
3
3
 
4
4
  export type PFrame = {
5
5
  new (
6
- tempDir: string,
6
+ spillPath: string,
7
7
  logger?: PFrameInternal.Logger
8
- ): PFrameInternal.PFrameV4;
8
+ ): PFrameInternal.PFrameV5;
9
9
  };
10
10
 
11
11
  export const PFrame: PFrame = PFrameImpl;
package/export/wrapper.ts CHANGED
@@ -19,12 +19,12 @@ 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.PFrameV4 {
22
+ export class PFrame implements PFrameInternal.PFrameV5 {
23
23
  public readonly id: string = ulid();
24
24
  private readonly frame: NodeFrameSymbol;
25
25
 
26
26
  constructor(
27
- tempDir: string,
27
+ spillPath: string,
28
28
  public readonly logger?: PFrameInternal.Logger
29
29
  ) {
30
30
  dump(
@@ -37,7 +37,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
37
37
  );
38
38
 
39
39
  try {
40
- this.frame = AddonSymbol.pFrameCreate(tempDir, logger);
40
+ this.frame = AddonSymbol.pFrameCreate(spillPath, logger);
41
41
  } catch (err: unknown) {
42
42
  throw new Error(
43
43
  `PFrame creation failed, ` +
@@ -354,7 +354,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
354
354
  async createTable(
355
355
  request: PFrameInternal.CreateTableRequestV2,
356
356
  signal?: AbortSignal
357
- ): Promise<PFrameInternal.PTableV3> {
357
+ ): Promise<PFrameInternal.PTableV4> {
358
358
  const requestId = ulid();
359
359
  const dumpData = {
360
360
  timeStamp: Date.now(),
@@ -433,7 +433,7 @@ export class PFrame implements PFrameInternal.PFrameV4 {
433
433
  }
434
434
  }
435
435
 
436
- class PTable implements PFrameInternal.PTableV3 {
436
+ class PTable implements PFrameInternal.PTableV4 {
437
437
  constructor(
438
438
  private readonly frame: PFrame,
439
439
  public readonly id: string,
@@ -512,7 +512,8 @@ class PTable implements PFrameInternal.PTableV3 {
512
512
 
513
513
  async getData(
514
514
  columnIndices: number[],
515
- range?: TableRange
515
+ range: TableRange | undefined,
516
+ signal?: AbortSignal
516
517
  ): Promise<PTableVector[]> {
517
518
  const requestId = ulid();
518
519
  dump(
@@ -534,7 +535,8 @@ class PTable implements PFrameInternal.PTableV3 {
534
535
  this.table,
535
536
  requestId,
536
537
  columnIndices,
537
- range
538
+ range,
539
+ signal
538
540
  );
539
541
  } catch (err: unknown) {
540
542
  throw new Error(
@@ -556,7 +558,7 @@ class PTable implements PFrameInternal.PTableV3 {
556
558
  async filter(
557
559
  request: PTableRecordFilter[],
558
560
  signal?: AbortSignal
559
- ): Promise<PFrameInternal.PTableV3> {
561
+ ): Promise<PFrameInternal.PTableV4> {
560
562
  const requestId = ulid();
561
563
  const dumpData = {
562
564
  timeStamp: Date.now(),
@@ -603,7 +605,7 @@ class PTable implements PFrameInternal.PTableV3 {
603
605
  async sort(
604
606
  request: PTableSorting[],
605
607
  signal?: AbortSignal
606
- ): Promise<PFrameInternal.PTableV3> {
608
+ ): Promise<PFrameInternal.PTableV4> {
607
609
  const requestId = ulid();
608
610
  const dumpData = {
609
611
  timeStamp: Date.now(),
@@ -6,7 +6,7 @@ export interface NodeFrameSymbol extends Symbol {
6
6
  export interface NodeTableSymbol extends Symbol {
7
7
  }
8
8
  interface NodeFrame {
9
- pFrameCreate: (tempDir: string, logger?: PFrameInternal.Logger) => NodeFrameSymbol;
9
+ pFrameCreate: (spillPath: string, logger?: PFrameInternal.Logger) => NodeFrameSymbol;
10
10
  pFrameAddColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId, columnSpec: PColumnSpec) => void;
11
11
  pFrameSetDataSource: (pFrame: NodeFrameSymbol, dataSource: PFrameInternal.PFrameDataSource) => void;
12
12
  pFrameSetColumnData: (pFrame: NodeFrameSymbol, columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId>) => void;
@@ -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?: TableRange) => Promise<PTableVector[]>;
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":"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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 (tempDir: string, logger?: PFrameInternal.Logger): PFrameInternal.PFrameV4;
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
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../export/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAG5E,MAAM,MAAM,MAAM,GAAG;IACnB,KACE,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,GAC7B,cAAc,CAAC,QAAQ,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAAmB,CAAC"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../export/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAG5E,MAAM,MAAM,MAAM,GAAG;IACnB,KACE,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,GAC7B,cAAc,CAAC,QAAQ,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAAmB,CAAC"}
@@ -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 p=(m,e,t)=>q(m,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("ulid"),D=require("node:module"),h=require("node:path"),b=require("node:url"),T=require("@mapbox/node-pre-gyp"),d=require("node:fs"),g=require("node:stream");var $=typeof document<"u"?document.currentScript:null;const w=typeof document>"u"?require("url").pathToFileURL(__filename).href:$&&$.tagName.toUpperCase()==="SCRIPT"&&$.src||new URL("index.js",document.baseURI).href,F=h.dirname(b.fileURLToPath(w)),P=D.createRequire(w),{find:C}=T,l=P(C(h.resolve(F,"../package.json")));async function S(m){try{return await d.promises.access(m),!0}catch{return!1}}async function j(m){await S(m)||await d.promises.mkdir(m,{recursive:!0})}async function E(m,e){const t=`${m}.tmp`;await S(t)&&await d.promises.rm(t,{recursive:!0});const r=typeof e=="string"?Buffer.from(e,"utf8"):e,o=g.Readable.from(r),s=d.createWriteStream(t,{flags:"wx"});await g.Readable.toWeb(o).pipeTo(g.Writable.toWeb(s)),await d.promises.rename(t,m)}async function a(m,e,t){if(process.env.MI_DUMP_PFRAMES_RS)try{const r=m.map(n=>encodeURIComponent(n)),o=h.join(process.env.MI_DUMP_PFRAMES_RS,...r.slice(0,-1));await j(o);const s=h.join(process.env.MI_DUMP_PFRAMES_RS,...r),i=ArrayBuffer.isView(e)?e:JSON.stringify(e);await E(s,i)}catch(r){t==null||t("warn",`error while dumping PFrames data: ${r}`)}}let M=class{constructor(e,t){p(this,"id",u.ulid());p(this,"frame");this.logger=t,a([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=l.pFrameCreate(e,t)}catch(r){throw new Error(`PFrame creation failed, logger: ${t==null?void 0:t.toString()}, error:
2
- ${r.toString()}`)}}addColumnSpec(e,t){const r=u.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"addColumnSpec",requestData:{columnId:e,columnSpec:t}},this.logger),a([`${this.id}`,"data",`${e}.spec`],{...t},this.logger);try{return l.pFrameAddColumnSpec(this.frame,e,t)}catch(o){throw new Error(`PFrame addColumnSpec request failed, columnId: ${JSON.stringify(e)}, columnSpec: ${JSON.stringify(t)}, error:
3
- ${o.toString()}`)}}setDataSource(e){const t=u.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"setDataSource"},this.logger);let r={preloadBlob:async o=>{var n;const s=u.ulid();a([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"preloadBlob",requestData:{blobIds:o}},this.logger);const i=performance.now();try{return e.preloadBlob(o)}finally{const c=performance.now();(n=this.logger)==null||n.call(this,"info",`PFrame preloaded ${o.length} blobs, took ${Math.round(c-i)}ms`)}},resolveBlobContent:async o=>{const s=u.ulid();a([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"resolveBlobContent",requestData:{blobId:o}},this.logger);const i=await e.resolveBlobContent(o);return a([`${this.id}`,"data",`${o}`],i,this.logger),i}};try{return l.pFrameSetDataSource(this.frame,r)}catch(o){throw new Error(`PFrame setDataSource request failed, dataSource: ${e.toString()}, error:
4
- ${o.toString()}`)}}setColumnData(e,t){const r=u.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"setColumnData",requestData:{columnId:e,dataInfo:t}},this.logger),a([`${this.id}`,"data",`${e}.datainfo`],{...t},this.logger);try{return l.pFrameSetColumnData(this.frame,e,t)}catch(o){throw new Error(`PFrame setColumnData request failed, columnId: ${JSON.stringify(e)}, dataInfo: ${JSON.stringify(t)}, error:
5
- ${o.toString()}`)}}dispose(){const e=u.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.logger);try{l.pFrameDispose(this.frame)}catch(t){throw new Error(`PFrame dispose request failed, error:
6
- ${t.toString()}`)}}[Symbol.dispose](){this.dispose()}async findColumns(e){var o;const t=u.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"findColumns",requestData:e},this.logger);const r=performance.now();try{return await l.pFrameFindColumns(this.frame,e)}catch(s){throw new Error(`PFrame findColumns request failed, request: ${JSON.stringify(e)}, error:
7
- ${s.toString()}`)}finally{const s=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame findColumns request took ${Math.round(s-r)}ms`)}}async deleteColumn(e){var o;const t=u.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"deleteColumn",requestData:e},this.logger);const r=performance.now();try{return await l.pFrameDeleteColumn(this.frame,e)}catch(s){throw new Error(`PFrame deleteColumn request failed, request: ${JSON.stringify(e)}, error:
8
- ${s.toString()}`)}finally{const s=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame deleteColumn request took ${Math.round(s-r)}ms`)}}async getColumnSpec(e){var o;const t=u.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnSpec",requestData:{columnId:e}},this.logger);const r=performance.now();try{return await l.pFrameGetColumnSpec(this.frame,e)}catch(s){throw new Error(`PFrame getColumnSpec request failed, columnId: ${JSON.stringify(e)}, error:
9
- ${s.toString()}`)}finally{const s=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame getColumnSpec request took ${Math.round(s-r)}ms`)}}async listColumns(){var r;const e=u.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"listColumns"},this.logger);const t=performance.now();try{return await l.pFrameListColumns(this.frame)}catch(o){throw new Error(`PFrame listColumns request failed, error:
10
- ${o.toString()}`)}finally{const o=performance.now();(r=this.logger)==null||r.call(this,"info",`PFrame listColumns request took ${Math.round(o-t)}ms`)}}async createTable(e,t){var i;const r=u.ulid(),o={timeStamp:Date.now(),requestType:"createTable",requestData:e};a([`${this.id}`,`${r}.json`],o,this.logger),a([`${this.id}`,`${r}`,`${r}.json`],o,this.logger);const s=performance.now();try{const n=await l.pFrameCreateTable(this.frame,r,e,t);return new f(this,r,n)}catch(n){throw new Error(`PFrame createTable request failed, request: ${JSON.stringify(e)}, error:
11
- ${n.toString()}`)}finally{const n=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame createTable request took ${Math.round(n-s)}ms`)}}async getUniqueValues(e,t){var s;const r=u.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getUniqueValues",requestData:e},this.logger);const o=performance.now();try{return await l.pFrameGetUniqueValues(this.frame,r,e,t)}catch(i){throw new Error(`PFrame getUniqueValues request failed, request: ${JSON.stringify(e)}, error:
12
- ${i.toString()}`)}finally{const i=performance.now();(s=this.logger)==null||s.call(this,"info",`PFrame getUniqueValues request took ${Math.round(i-o)}ms`)}}};class f{constructor(e,t,r){this.frame=e,this.id=t,this.table=r}getShape(){const e=u.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getShape"},this.frame.logger);try{return l.pTableGetShape(this.table)}catch(t){throw new Error(`PTable getShape request failed, error:
13
- ${t.toString()}`)}}getSpec(){const e=u.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getSpec"},this.frame.logger);try{return l.pTableGetSpec(this.table)}catch(t){throw new Error(`PTable getSpec request failed, error:
14
- ${t.toString()}`)}}getColumnIndices(e){const t=u.ulid();a([`${this.frame.id}`,`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnIndices",requestData:{columnIds:e}},this.frame.logger);try{return l.pTableGetColumnIndices(this.table,e)}catch(r){throw new Error(`PTable getColumnIndices request failed, columnIds: ${JSON.stringify(e)}, error:
15
- ${r.toString()}`)}}async getData(e,t){var s,i;const r=u.ulid();a([`${this.frame.id}`,`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getData",requestData:{columnIndices:e,range:t??null}},this.frame.logger);const o=performance.now();try{return await l.pTableGetData(this.table,r,e,t)}catch(n){throw new Error(`PTable getData request failed, columnIndices: ${JSON.stringify(e)}, range: ${t?JSON.stringify(t):void 0}, error:
16
- ${n.toString()}`)}finally{const n=performance.now();(i=(s=this.frame).logger)==null||i.call(s,"info",`PTable getData request took ${Math.round(n-o)}ms`)}}async filter(e,t){var i,n;const r=u.ulid(),o={timeStamp:Date.now(),table:this.id,requestType:"filter",requestData:e};a([`${this.frame.id}`,`${r}.json`],o,this.frame.logger),a([`${this.frame.id}`,`${r}`,`${r}.json`],o,this.frame.logger);const s=performance.now();try{const c=await l.pTableFilter(this.table,r,e,t);return new f(this.frame,r,c)}catch(c){throw new Error(`PTable filter request failed, request: ${JSON.stringify(e)}, error:
17
- ${c.toString()}`)}finally{const c=performance.now();(n=(i=this.frame).logger)==null||n.call(i,"info",`PTable filter request took ${Math.round(c-s)}ms`)}}async sort(e,t){var i,n;const r=u.ulid(),o={timeStamp:Date.now(),table:this.id,requestType:"sort",requestData:e};a([`${this.frame.id}`,`${r}.json`],o,this.frame.logger),a([`${this.frame.id}`,`${r}`,`${r}.json`],o,this.frame.logger);const s=performance.now();try{const c=await l.pTableSort(this.table,r,e,t);return new f(this.frame,r,c)}catch(c){throw new Error(`PTable sort request failed, request: ${JSON.stringify(e)}, error:
18
- ${c.toString()}`)}finally{const c=performance.now();(n=(i=this.frame).logger)==null||n.call(i,"info",`PTable sort request took ${Math.round(c-s)}ms`)}}dispose(){const e=u.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.frame.logger);try{l.pTableDispose(this.table)}catch(t){throw new Error(`PTable dispose request failed, error:
1
+ "use strict";var y=Object.defineProperty;var q=(c,e,t)=>e in c?y(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var p=(c,e,t)=>q(c,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"),d=require("node:fs"),g=require("node:stream");var $=typeof document<"u"?document.currentScript:null;const w=typeof document>"u"?require("url").pathToFileURL(__filename).href:$&&$.tagName.toUpperCase()==="SCRIPT"&&$.src||new URL("index.js",document.baseURI).href,F=h.dirname(b.fileURLToPath(w)),P=D.createRequire(w),{find:C}=T,l=P(C(h.resolve(F,"../package.json")));async function S(c){try{return await d.promises.access(c),!0}catch{return!1}}async function j(c){await S(c)||await d.promises.mkdir(c,{recursive:!0})}async function E(c,e){const t=`${c}.tmp`;await S(t)&&await d.promises.rm(t,{recursive:!0});const r=typeof e=="string"?Buffer.from(e,"utf8"):e,o=g.Readable.from(r),s=d.createWriteStream(t,{flags:"wx"});await g.Readable.toWeb(o).pipeTo(g.Writable.toWeb(s)),await d.promises.rename(t,c)}async function a(c,e,t){if(process.env.MI_DUMP_PFRAMES_RS)try{const r=c.map(u=>encodeURIComponent(u)),o=h.join(process.env.MI_DUMP_PFRAMES_RS,...r.slice(0,-1));await j(o);const s=h.join(process.env.MI_DUMP_PFRAMES_RS,...r),i=ArrayBuffer.isView(e)?e:JSON.stringify(e);await E(s,i)}catch(r){t==null||t("warn",`error while dumping PFrames data: ${r}`)}}let M=class{constructor(e,t){p(this,"id",n.ulid());p(this,"frame");this.logger=t,a([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=l.pFrameCreate(e,t)}catch(r){throw new Error(`PFrame creation failed, logger: ${t==null?void 0:t.toString()}, error:
2
+ ${r.toString()}`)}}addColumnSpec(e,t){const r=n.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"addColumnSpec",requestData:{columnId:e,columnSpec:t}},this.logger),a([`${this.id}`,"data",`${e}.spec`],{...t},this.logger);try{return l.pFrameAddColumnSpec(this.frame,e,t)}catch(o){throw new Error(`PFrame addColumnSpec request failed, columnId: ${JSON.stringify(e)}, columnSpec: ${JSON.stringify(t)}, error:
3
+ ${o.toString()}`)}}setDataSource(e){const t=n.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"setDataSource"},this.logger);let r={preloadBlob:async o=>{var u;const s=n.ulid();a([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"preloadBlob",requestData:{blobIds:o}},this.logger);const i=performance.now();try{return e.preloadBlob(o)}finally{const m=performance.now();(u=this.logger)==null||u.call(this,"info",`PFrame preloaded ${o.length} blobs, took ${Math.round(m-i)}ms`)}},resolveBlobContent:async o=>{const s=n.ulid();a([`${this.id}`,`${s}.json`],{timeStamp:Date.now(),requestType:"resolveBlobContent",requestData:{blobId:o}},this.logger);const i=await e.resolveBlobContent(o);return a([`${this.id}`,"data",`${o}`],i,this.logger),i}};try{return l.pFrameSetDataSource(this.frame,r)}catch(o){throw new Error(`PFrame setDataSource request failed, dataSource: ${e.toString()}, error:
4
+ ${o.toString()}`)}}setColumnData(e,t){const r=n.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"setColumnData",requestData:{columnId:e,dataInfo:t}},this.logger),a([`${this.id}`,"data",`${e}.datainfo`],{...t},this.logger);try{return l.pFrameSetColumnData(this.frame,e,t)}catch(o){throw new Error(`PFrame setColumnData request failed, columnId: ${JSON.stringify(e)}, dataInfo: ${JSON.stringify(t)}, error:
5
+ ${o.toString()}`)}}dispose(){const e=n.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.logger);try{l.pFrameDispose(this.frame)}catch(t){throw new Error(`PFrame dispose request failed, error:
6
+ ${t.toString()}`)}}[Symbol.dispose](){this.dispose()}async findColumns(e){var o;const t=n.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"findColumns",requestData:e},this.logger);const r=performance.now();try{return await l.pFrameFindColumns(this.frame,e)}catch(s){throw new Error(`PFrame findColumns request failed, request: ${JSON.stringify(e)}, error:
7
+ ${s.toString()}`)}finally{const s=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame findColumns request took ${Math.round(s-r)}ms`)}}async deleteColumn(e){var o;const t=n.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"deleteColumn",requestData:e},this.logger);const r=performance.now();try{return await l.pFrameDeleteColumn(this.frame,e)}catch(s){throw new Error(`PFrame deleteColumn request failed, request: ${JSON.stringify(e)}, error:
8
+ ${s.toString()}`)}finally{const s=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame deleteColumn request took ${Math.round(s-r)}ms`)}}async getColumnSpec(e){var o;const t=n.ulid();a([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnSpec",requestData:{columnId:e}},this.logger);const r=performance.now();try{return await l.pFrameGetColumnSpec(this.frame,e)}catch(s){throw new Error(`PFrame getColumnSpec request failed, columnId: ${JSON.stringify(e)}, error:
9
+ ${s.toString()}`)}finally{const s=performance.now();(o=this.logger)==null||o.call(this,"info",`PFrame getColumnSpec request took ${Math.round(s-r)}ms`)}}async listColumns(){var r;const e=n.ulid();a([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"listColumns"},this.logger);const t=performance.now();try{return await l.pFrameListColumns(this.frame)}catch(o){throw new Error(`PFrame listColumns request failed, error:
10
+ ${o.toString()}`)}finally{const o=performance.now();(r=this.logger)==null||r.call(this,"info",`PFrame listColumns request took ${Math.round(o-t)}ms`)}}async createTable(e,t){var i;const r=n.ulid(),o={timeStamp:Date.now(),requestType:"createTable",requestData:e};a([`${this.id}`,`${r}.json`],o,this.logger),a([`${this.id}`,`${r}`,`${r}.json`],o,this.logger);const s=performance.now();try{const u=await l.pFrameCreateTable(this.frame,r,e,t);return new f(this,r,u)}catch(u){throw new Error(`PFrame createTable request failed, request: ${JSON.stringify(e)}, error:
11
+ ${u.toString()}`)}finally{const u=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame createTable request took ${Math.round(u-s)}ms`)}}async getUniqueValues(e,t){var s;const r=n.ulid();a([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getUniqueValues",requestData:e},this.logger);const o=performance.now();try{return await l.pFrameGetUniqueValues(this.frame,r,e,t)}catch(i){throw new Error(`PFrame getUniqueValues request failed, request: ${JSON.stringify(e)}, error:
12
+ ${i.toString()}`)}finally{const i=performance.now();(s=this.logger)==null||s.call(this,"info",`PFrame getUniqueValues request took ${Math.round(i-o)}ms`)}}};class f{constructor(e,t,r){this.frame=e,this.id=t,this.table=r}getShape(){const e=n.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getShape"},this.frame.logger);try{return l.pTableGetShape(this.table)}catch(t){throw new Error(`PTable getShape request failed, error:
13
+ ${t.toString()}`)}}getSpec(){const e=n.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getSpec"},this.frame.logger);try{return l.pTableGetSpec(this.table)}catch(t){throw new Error(`PTable getSpec request failed, error:
14
+ ${t.toString()}`)}}getColumnIndices(e){const t=n.ulid();a([`${this.frame.id}`,`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getColumnIndices",requestData:{columnIds:e}},this.frame.logger);try{return l.pTableGetColumnIndices(this.table,e)}catch(r){throw new Error(`PTable getColumnIndices request failed, columnIds: ${JSON.stringify(e)}, error:
15
+ ${r.toString()}`)}}async getData(e,t,r){var i,u;const o=n.ulid();a([`${this.frame.id}`,`${this.id}`,`${o}.json`],{timeStamp:Date.now(),requestType:"getData",requestData:{columnIndices:e,range:t??null}},this.frame.logger);const s=performance.now();try{return await l.pTableGetData(this.table,o,e,t,r)}catch(m){throw new Error(`PTable getData request failed, columnIndices: ${JSON.stringify(e)}, range: ${t?JSON.stringify(t):void 0}, error:
16
+ ${m.toString()}`)}finally{const m=performance.now();(u=(i=this.frame).logger)==null||u.call(i,"info",`PTable getData request took ${Math.round(m-s)}ms`)}}async filter(e,t){var i,u;const r=n.ulid(),o={timeStamp:Date.now(),table:this.id,requestType:"filter",requestData:e};a([`${this.frame.id}`,`${r}.json`],o,this.frame.logger),a([`${this.frame.id}`,`${r}`,`${r}.json`],o,this.frame.logger);const s=performance.now();try{const m=await l.pTableFilter(this.table,r,e,t);return new f(this.frame,r,m)}catch(m){throw new Error(`PTable filter request failed, request: ${JSON.stringify(e)}, error:
17
+ ${m.toString()}`)}finally{const m=performance.now();(u=(i=this.frame).logger)==null||u.call(i,"info",`PTable filter request took ${Math.round(m-s)}ms`)}}async sort(e,t){var i,u;const r=n.ulid(),o={timeStamp:Date.now(),table:this.id,requestType:"sort",requestData:e};a([`${this.frame.id}`,`${r}.json`],o,this.frame.logger),a([`${this.frame.id}`,`${r}`,`${r}.json`],o,this.frame.logger);const s=performance.now();try{const m=await l.pTableSort(this.table,r,e,t);return new f(this.frame,r,m)}catch(m){throw new Error(`PTable sort request failed, request: ${JSON.stringify(e)}, error:
18
+ ${m.toString()}`)}finally{const m=performance.now();(u=(i=this.frame).logger)==null||u.call(i,"info",`PTable sort request took ${Math.round(m-s)}ms`)}}dispose(){const e=n.ulid();a([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.frame.logger);try{l.pTableDispose(this.table)}catch(t){throw new Error(`PTable dispose request failed, error:
19
19
  ${t.toString()}`)}}[Symbol.dispose](){this.dispose()}}const I=M;exports.PFrame=I;
20
20
  //# sourceMappingURL=index.js.map
@@ -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 tempDir: 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(tempDir, 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 tempDir: 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","tempDir","__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 } 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.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 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.PTableV4 {\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 | 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 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.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 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.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 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.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","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,7 +1,7 @@
1
1
  var y = Object.defineProperty;
2
- var S = (c, e, t) => e in c ? y(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t;
3
- var p = (c, e, t) => S(c, typeof e != "symbol" ? e + "" : e, t);
4
- import { ulid as m } from "ulid";
2
+ var S = (u, e, t) => e in u ? y(u, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : u[e] = t;
3
+ var p = (u, e, t) => S(u, typeof e != "symbol" ? e + "" : e, t);
4
+ import { ulid as n } from "ulid";
5
5
  import { createRequire as q } from "node:module";
6
6
  import d, { dirname as D, resolve as b } from "node:path";
7
7
  import { fileURLToPath as T } from "node:url";
@@ -11,26 +11,26 @@ import { Readable as g, Writable as P } from "node:stream";
11
11
  const $ = import.meta.url, C = D(T($)), j = q($), { find: E } = F, l = j(
12
12
  E(b(C, "../package.json"))
13
13
  );
14
- async function w(c) {
14
+ async function w(u) {
15
15
  try {
16
- return await h.promises.access(c), !0;
16
+ return await h.promises.access(u), !0;
17
17
  } catch {
18
18
  return !1;
19
19
  }
20
20
  }
21
- async function M(c) {
22
- await w(c) || await h.promises.mkdir(c, { recursive: !0 });
21
+ async function M(u) {
22
+ await w(u) || await h.promises.mkdir(u, { recursive: !0 });
23
23
  }
24
- async function J(c, e) {
25
- const t = `${c}.tmp`;
24
+ async function J(u, e) {
25
+ const t = `${u}.tmp`;
26
26
  await w(t) && await h.promises.rm(t, { recursive: !0 });
27
27
  const r = typeof e == "string" ? Buffer.from(e, "utf8") : e, o = g.from(r), s = h.createWriteStream(t, { flags: "wx" });
28
- await g.toWeb(o).pipeTo(P.toWeb(s)), await h.promises.rename(t, c);
28
+ await g.toWeb(o).pipeTo(P.toWeb(s)), await h.promises.rename(t, u);
29
29
  }
30
- async function a(c, e, t) {
30
+ async function a(u, e, t) {
31
31
  if (process.env.MI_DUMP_PFRAMES_RS)
32
32
  try {
33
- const r = c.map((n) => encodeURIComponent(n)), o = d.join(
33
+ const r = u.map((m) => encodeURIComponent(m)), o = d.join(
34
34
  process.env.MI_DUMP_PFRAMES_RS,
35
35
  ...r.slice(0, -1)
36
36
  );
@@ -43,7 +43,7 @@ async function a(c, e, t) {
43
43
  }
44
44
  let N = class {
45
45
  constructor(e, t) {
46
- p(this, "id", m());
46
+ p(this, "id", n());
47
47
  p(this, "frame");
48
48
  this.logger = t, a(
49
49
  [`${this.id}`, `${this.id}.json`],
@@ -63,7 +63,7 @@ ${r.toString()}`
63
63
  }
64
64
  }
65
65
  addColumnSpec(e, t) {
66
- const r = m();
66
+ const r = n();
67
67
  a(
68
68
  [`${this.id}`, `${r}.json`],
69
69
  {
@@ -92,7 +92,7 @@ ${o.toString()}`
92
92
  }
93
93
  }
94
94
  setDataSource(e) {
95
- const t = m();
95
+ const t = n();
96
96
  a(
97
97
  [`${this.id}`, `${t}.json`],
98
98
  {
@@ -103,8 +103,8 @@ ${o.toString()}`
103
103
  );
104
104
  let r = {
105
105
  preloadBlob: async (o) => {
106
- var n;
107
- const s = m();
106
+ var m;
107
+ const s = n();
108
108
  a(
109
109
  [`${this.id}`, `${s}.json`],
110
110
  {
@@ -120,16 +120,16 @@ ${o.toString()}`
120
120
  try {
121
121
  return e.preloadBlob(o);
122
122
  } finally {
123
- const u = performance.now();
124
- (n = this.logger) == null || n.call(
123
+ const c = performance.now();
124
+ (m = this.logger) == null || m.call(
125
125
  this,
126
126
  "info",
127
- `PFrame preloaded ${o.length} blobs, took ${Math.round(u - i)}ms`
127
+ `PFrame preloaded ${o.length} blobs, took ${Math.round(c - i)}ms`
128
128
  );
129
129
  }
130
130
  },
131
131
  resolveBlobContent: async (o) => {
132
- const s = m();
132
+ const s = n();
133
133
  a(
134
134
  [`${this.id}`, `${s}.json`],
135
135
  {
@@ -155,7 +155,7 @@ ${o.toString()}`
155
155
  }
156
156
  }
157
157
  setColumnData(e, t) {
158
- const r = m();
158
+ const r = n();
159
159
  a(
160
160
  [`${this.id}`, `${r}.json`],
161
161
  {
@@ -184,7 +184,7 @@ ${o.toString()}`
184
184
  }
185
185
  }
186
186
  dispose() {
187
- const e = m();
187
+ const e = n();
188
188
  a(
189
189
  [`${this.id}`, `${e}.json`],
190
190
  {
@@ -207,7 +207,7 @@ ${t.toString()}`
207
207
  }
208
208
  async findColumns(e) {
209
209
  var o;
210
- const t = m();
210
+ const t = n();
211
211
  a(
212
212
  [`${this.id}`, `${t}.json`],
213
213
  {
@@ -236,7 +236,7 @@ ${s.toString()}`
236
236
  }
237
237
  async deleteColumn(e) {
238
238
  var o;
239
- const t = m();
239
+ const t = n();
240
240
  a(
241
241
  [`${this.id}`, `${t}.json`],
242
242
  {
@@ -265,7 +265,7 @@ ${s.toString()}`
265
265
  }
266
266
  async getColumnSpec(e) {
267
267
  var o;
268
- const t = m();
268
+ const t = n();
269
269
  a(
270
270
  [`${this.id}`, `${t}.json`],
271
271
  {
@@ -296,7 +296,7 @@ ${s.toString()}`
296
296
  }
297
297
  async listColumns() {
298
298
  var r;
299
- const e = m();
299
+ const e = n();
300
300
  a(
301
301
  [`${this.id}`, `${e}.json`],
302
302
  {
@@ -324,7 +324,7 @@ ${o.toString()}`
324
324
  }
325
325
  async createTable(e, t) {
326
326
  var i;
327
- const r = m(), o = {
327
+ const r = n(), o = {
328
328
  timeStamp: Date.now(),
329
329
  requestType: "createTable",
330
330
  requestData: e
@@ -336,30 +336,30 @@ ${o.toString()}`
336
336
  );
337
337
  const s = performance.now();
338
338
  try {
339
- const n = await l.pFrameCreateTable(
339
+ const m = await l.pFrameCreateTable(
340
340
  this.frame,
341
341
  r,
342
342
  e,
343
343
  t
344
344
  );
345
- return new f(this, r, n);
346
- } catch (n) {
345
+ return new f(this, r, m);
346
+ } catch (m) {
347
347
  throw new Error(
348
348
  `PFrame createTable request failed, request: ${JSON.stringify(e)}, error:
349
- ${n.toString()}`
349
+ ${m.toString()}`
350
350
  );
351
351
  } finally {
352
- const n = performance.now();
352
+ const m = performance.now();
353
353
  (i = this.logger) == null || i.call(
354
354
  this,
355
355
  "info",
356
- `PFrame createTable request took ${Math.round(n - s)}ms`
356
+ `PFrame createTable request took ${Math.round(m - s)}ms`
357
357
  );
358
358
  }
359
359
  }
360
360
  async getUniqueValues(e, t) {
361
361
  var s;
362
- const r = m();
362
+ const r = n();
363
363
  a(
364
364
  [`${this.id}`, `${r}.json`],
365
365
  {
@@ -397,7 +397,7 @@ class f {
397
397
  this.frame = e, this.id = t, this.table = r;
398
398
  }
399
399
  getShape() {
400
- const e = m();
400
+ const e = n();
401
401
  a(
402
402
  [`${this.frame.id}`, `${this.id}`, `${e}.json`],
403
403
  {
@@ -416,7 +416,7 @@ ${t.toString()}`
416
416
  }
417
417
  }
418
418
  getSpec() {
419
- const e = m();
419
+ const e = n();
420
420
  a(
421
421
  [`${this.frame.id}`, `${this.id}`, `${e}.json`],
422
422
  {
@@ -435,7 +435,7 @@ ${t.toString()}`
435
435
  }
436
436
  }
437
437
  getColumnIndices(e) {
438
- const t = m();
438
+ const t = n();
439
439
  a(
440
440
  [`${this.frame.id}`, `${this.id}`, `${t}.json`],
441
441
  {
@@ -456,11 +456,11 @@ ${r.toString()}`
456
456
  );
457
457
  }
458
458
  }
459
- async getData(e, t) {
460
- var s, i;
461
- const r = m();
459
+ async getData(e, t, r) {
460
+ var i, m;
461
+ const o = n();
462
462
  a(
463
- [`${this.frame.id}`, `${this.id}`, `${r}.json`],
463
+ [`${this.frame.id}`, `${this.id}`, `${o}.json`],
464
464
  {
465
465
  timeStamp: Date.now(),
466
466
  requestType: "getData",
@@ -471,31 +471,32 @@ ${r.toString()}`
471
471
  },
472
472
  this.frame.logger
473
473
  );
474
- const o = performance.now();
474
+ const s = performance.now();
475
475
  try {
476
476
  return await l.pTableGetData(
477
477
  this.table,
478
- r,
478
+ o,
479
479
  e,
480
- t
480
+ t,
481
+ r
481
482
  );
482
- } catch (n) {
483
+ } catch (c) {
483
484
  throw new Error(
484
485
  `PTable getData request failed, columnIndices: ${JSON.stringify(e)}, range: ${t ? JSON.stringify(t) : void 0}, error:
485
- ${n.toString()}`
486
+ ${c.toString()}`
486
487
  );
487
488
  } finally {
488
- const n = performance.now();
489
- (i = (s = this.frame).logger) == null || i.call(
490
- s,
489
+ const c = performance.now();
490
+ (m = (i = this.frame).logger) == null || m.call(
491
+ i,
491
492
  "info",
492
- `PTable getData request took ${Math.round(n - o)}ms`
493
+ `PTable getData request took ${Math.round(c - s)}ms`
493
494
  );
494
495
  }
495
496
  }
496
497
  async filter(e, t) {
497
- var i, n;
498
- const r = m(), o = {
498
+ var i, m;
499
+ const r = n(), o = {
499
500
  timeStamp: Date.now(),
500
501
  table: this.id,
501
502
  requestType: "filter",
@@ -512,30 +513,30 @@ ${n.toString()}`
512
513
  );
513
514
  const s = performance.now();
514
515
  try {
515
- const u = await l.pTableFilter(
516
+ const c = await l.pTableFilter(
516
517
  this.table,
517
518
  r,
518
519
  e,
519
520
  t
520
521
  );
521
- return new f(this.frame, r, u);
522
- } catch (u) {
522
+ return new f(this.frame, r, c);
523
+ } catch (c) {
523
524
  throw new Error(
524
525
  `PTable filter request failed, request: ${JSON.stringify(e)}, error:
525
- ${u.toString()}`
526
+ ${c.toString()}`
526
527
  );
527
528
  } finally {
528
- const u = performance.now();
529
- (n = (i = this.frame).logger) == null || n.call(
529
+ const c = performance.now();
530
+ (m = (i = this.frame).logger) == null || m.call(
530
531
  i,
531
532
  "info",
532
- `PTable filter request took ${Math.round(u - s)}ms`
533
+ `PTable filter request took ${Math.round(c - s)}ms`
533
534
  );
534
535
  }
535
536
  }
536
537
  async sort(e, t) {
537
- var i, n;
538
- const r = m(), o = {
538
+ var i, m;
539
+ const r = n(), o = {
539
540
  timeStamp: Date.now(),
540
541
  table: this.id,
541
542
  requestType: "sort",
@@ -552,29 +553,29 @@ ${u.toString()}`
552
553
  );
553
554
  const s = performance.now();
554
555
  try {
555
- const u = await l.pTableSort(
556
+ const c = await l.pTableSort(
556
557
  this.table,
557
558
  r,
558
559
  e,
559
560
  t
560
561
  );
561
- return new f(this.frame, r, u);
562
- } catch (u) {
562
+ return new f(this.frame, r, c);
563
+ } catch (c) {
563
564
  throw new Error(
564
565
  `PTable sort request failed, request: ${JSON.stringify(e)}, error:
565
- ${u.toString()}`
566
+ ${c.toString()}`
566
567
  );
567
568
  } finally {
568
- const u = performance.now();
569
- (n = (i = this.frame).logger) == null || n.call(
569
+ const c = performance.now();
570
+ (m = (i = this.frame).logger) == null || m.call(
570
571
  i,
571
572
  "info",
572
- `PTable sort request took ${Math.round(u - s)}ms`
573
+ `PTable sort request took ${Math.round(c - s)}ms`
573
574
  );
574
575
  }
575
576
  }
576
577
  dispose() {
577
- const e = m();
578
+ const e = n();
578
579
  a(
579
580
  [`${this.frame.id}`, `${this.id}`, `${e}.json`],
580
581
  {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","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 tempDir: 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(tempDir, 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 tempDir: string,\n logger?: PFrameInternal.Logger\n ): PFrameInternal.PFrameV4;\n};\n\nexport const PFrame: PFrame = PFrameImpl;\n"],"names":["nodeFileUrl","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","tempDir","__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.mjs","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 } 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.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 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.PTableV4 {\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 | 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 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.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 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.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 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.PFrameV5;\n};\n\nexport const PFrame: PFrame = PFrameImpl;\n"],"names":["nodeFileUrl","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,10 +1,10 @@
1
1
  import { DataInfo, PColumnInfo, PColumnSpec, PObjectId, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
2
2
  import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
3
- export declare class PFrame implements PFrameInternal.PFrameV4 {
3
+ export declare class PFrame implements PFrameInternal.PFrameV5 {
4
4
  readonly logger?: PFrameInternal.Logger | undefined;
5
5
  readonly id: string;
6
6
  private readonly frame;
7
- constructor(tempDir: string, logger?: PFrameInternal.Logger | undefined);
7
+ constructor(spillPath: string, logger?: PFrameInternal.Logger | undefined);
8
8
  addColumnSpec(columnId: PObjectId, columnSpec: PColumnSpec): void;
9
9
  setDataSource(dataSource: PFrameInternal.PFrameDataSource): void;
10
10
  setColumnData(columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId>): void;
@@ -14,7 +14,7 @@ export declare class PFrame implements PFrameInternal.PFrameV4 {
14
14
  deleteColumn(request: PFrameInternal.DeleteColumnFromColumnsRequest): Promise<PFrameInternal.DeleteColumnFromColumnsResponse>;
15
15
  getColumnSpec(columnId: PObjectId): Promise<PColumnSpec>;
16
16
  listColumns(): Promise<PColumnInfo[]>;
17
- createTable(request: PFrameInternal.CreateTableRequestV2, signal?: AbortSignal): Promise<PFrameInternal.PTableV3>;
17
+ createTable(request: PFrameInternal.CreateTableRequestV2, signal?: AbortSignal): Promise<PFrameInternal.PTableV4>;
18
18
  getUniqueValues(request: UniqueValuesRequest, signal?: AbortSignal): Promise<UniqueValuesResponse>;
19
19
  }
20
20
  //# sourceMappingURL=wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EAQT,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAK5E,qBAAa,MAAO,YAAW,cAAc,CAAC,QAAQ;aAMlC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;IALhD,SAAgB,EAAE,EAAE,MAAM,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAGtC,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,YAAA;IAuBhD,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI;IAoCjE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,gBAAgB,GAAG,IAAI;IA0EhE,aAAa,CACX,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,GAC9C,IAAI;IAoCP,OAAO,IAAI,IAAI;IAsBf,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIlB,WAAW,CACf,OAAO,EAAE,cAAc,CAAC,kBAAkB,GACzC,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC;IA+BxC,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,8BAA8B,GACrD,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC;IA+BpD,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCxD,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA6BrC,WAAW,CACf,OAAO,EAAE,cAAc,CAAC,oBAAoB,EAC5C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;IAuC7B,eAAe,CACnB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAmCjC"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EAQT,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAK5E,qBAAa,MAAO,YAAW,cAAc,CAAC,QAAQ;aAMlC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;IALhD,SAAgB,EAAE,EAAE,MAAM,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAGtC,SAAS,EAAE,MAAM,EACD,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,YAAA;IAuBhD,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI;IAoCjE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,gBAAgB,GAAG,IAAI;IA0EhE,aAAa,CACX,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,GAC9C,IAAI;IAoCP,OAAO,IAAI,IAAI;IAsBf,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIlB,WAAW,CACf,OAAO,EAAE,cAAc,CAAC,kBAAkB,GACzC,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC;IA+BxC,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,8BAA8B,GACrD,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC;IA+BpD,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCxD,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA6BrC,WAAW,CACf,OAAO,EAAE,cAAc,CAAC,oBAAoB,EAC5C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;IAuC7B,eAAe,CACnB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAmCjC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@milaboratories/pframes-rs-node",
3
3
  "description": "PFrames - Node.js Native Addon",
4
- "version": "1.0.28",
4
+ "version": "1.0.31",
5
5
  "types": "./export_dist/index.d.ts",
6
6
  "main": "./export_dist/index.js",
7
7
  "module": "./export_dist/index.mjs",
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "dependencies": {
20
20
  "@mapbox/node-pre-gyp": "^2.0.0",
21
- "@milaboratories/pl-model-middle-layer": "1.7.26",
21
+ "@milaboratories/pl-model-middle-layer": "1.7.28",
22
22
  "ulid": "^3.0.0"
23
23
  },
24
24
  "peerDependencies": {
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "@rollup/plugin-node-resolve": "^16.0.1",
29
- "@types/node": "^20.17.30",
29
+ "@types/node": "^20.17.32",
30
30
  "@vitest/coverage-istanbul": "^3.1.2",
31
31
  "cargo-cp-artifact": "^0.1.9",
32
32
  "rollup-plugin-node-externals": "^8.0.0",