@milaboratories/pframes-rs-node 1.0.24 → 1.0.26

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.
@@ -1,4 +1,5 @@
1
1
  import {
2
+ DataInfo,
2
3
  PColumnInfo,
3
4
  PColumnSpec,
4
5
  PObjectId,
@@ -32,7 +33,7 @@ interface NodeFrame {
32
33
  pFrameSetColumnData: (
33
34
  pFrame: NodeFrameSymbol,
34
35
  columnId: PObjectId,
35
- dataInfo: PFrameInternal.DataInfo
36
+ dataInfo: DataInfo<PFrameInternal.PFrameBlobId>
36
37
  ) => void;
37
38
  pFrameDispose: (pFrame: NodeFrameSymbol) => void;
38
39
  pFrameFindColumns: (
@@ -50,7 +51,7 @@ interface NodeFrame {
50
51
  pFrameListColumns: (pFrame: NodeFrameSymbol) => Promise<PColumnInfo[]>;
51
52
  pFrameCreateTable: (
52
53
  pFrame: NodeFrameSymbol,
53
- request: PFrameInternal.CreateTableRequest,
54
+ request: PFrameInternal.CreateTableRequestV2,
54
55
  signal?: AbortSignal
55
56
  ) => Promise<NodeTableSymbol>;
56
57
  pFrameGetUniqueValues: (
package/export/dump.ts CHANGED
@@ -42,13 +42,14 @@ export async function dump(
42
42
  ): Promise<void> {
43
43
  if (!process.env.MI_DUMP_PFRAMES_RS) return;
44
44
  try {
45
+ const relativeUri = relativePath.map((part) => encodeURIComponent(part));
45
46
  const fileDir = path.join(
46
47
  process.env.MI_DUMP_PFRAMES_RS,
47
- ...relativePath.slice(0, -1)
48
+ ...relativeUri.slice(0, -1)
48
49
  );
49
50
  await ensureDirExists(fileDir);
50
51
 
51
- const filePath = path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativePath);
52
+ const filePath = path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);
52
53
  const fileData = ArrayBuffer.isView(data)
53
54
  ? (data as Uint8Array)
54
55
  : JSON.stringify(data);
package/export/export.ts CHANGED
@@ -2,7 +2,7 @@ import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
2
2
  import { PFrame as PFrameImpl } from './wrapper';
3
3
 
4
4
  export type PFrame = {
5
- new (logger?: PFrameInternal.Logger): PFrameInternal.PFrameV3;
5
+ new (logger?: PFrameInternal.Logger): PFrameInternal.PFrameV4;
6
6
  };
7
7
 
8
8
  export const PFrame: PFrame = PFrameImpl;
package/export/wrapper.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ulid } from 'ulid';
2
2
  import {
3
+ DataInfo,
3
4
  PColumnInfo,
4
5
  PColumnSpec,
5
6
  PObjectId,
@@ -18,7 +19,7 @@ import type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';
18
19
  import { AddonSymbol } from './addon';
19
20
  import { dump } from './dump';
20
21
 
21
- export class PFrame implements PFrameInternal.PFrameV3 {
22
+ export class PFrame implements PFrameInternal.PFrameV4 {
22
23
  public readonly id: string = ulid();
23
24
  private readonly frame: NodeFrameSymbol;
24
25
 
@@ -154,7 +155,10 @@ export class PFrame implements PFrameInternal.PFrameV3 {
154
155
  }
155
156
  }
156
157
 
157
- setColumnData(columnId: PObjectId, dataInfo: PFrameInternal.DataInfo): void {
158
+ setColumnData(
159
+ columnId: PObjectId,
160
+ dataInfo: DataInfo<PFrameInternal.PFrameBlobId>
161
+ ): void {
158
162
  const requestId = ulid();
159
163
  dump(
160
164
  [`${this.id}`, `${requestId}.json`],
@@ -345,7 +349,7 @@ export class PFrame implements PFrameInternal.PFrameV3 {
345
349
  }
346
350
 
347
351
  async createTable(
348
- request: PFrameInternal.CreateTableRequest,
352
+ request: PFrameInternal.CreateTableRequestV2,
349
353
  signal?: AbortSignal
350
354
  ): Promise<PFrameInternal.PTableV3> {
351
355
  const requestId = ulid();
@@ -1,4 +1,4 @@
1
- import { PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
1
+ import { DataInfo, PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
2
2
  import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
3
3
  export interface NodeFrameSymbol extends Symbol {
4
4
  }
@@ -8,13 +8,13 @@ interface NodeFrame {
8
8
  pFrameCreate: (logger?: PFrameInternal.Logger) => NodeFrameSymbol;
9
9
  pFrameAddColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId, columnSpec: PColumnSpec) => void;
10
10
  pFrameSetDataSource: (pFrame: NodeFrameSymbol, dataSource: PFrameInternal.PFrameDataSource) => void;
11
- pFrameSetColumnData: (pFrame: NodeFrameSymbol, columnId: PObjectId, dataInfo: PFrameInternal.DataInfo) => void;
11
+ pFrameSetColumnData: (pFrame: NodeFrameSymbol, columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId>) => void;
12
12
  pFrameDispose: (pFrame: NodeFrameSymbol) => void;
13
13
  pFrameFindColumns: (pFrame: NodeFrameSymbol, request: PFrameInternal.FindColumnsRequest) => Promise<PFrameInternal.FindColumnsResponse>;
14
14
  pFrameDeleteColumn: (pFrame: NodeFrameSymbol, request: PFrameInternal.DeleteColumnFromColumnsRequest) => Promise<PFrameInternal.DeleteColumnFromColumnsResponse>;
15
15
  pFrameGetColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId) => Promise<PColumnSpec>;
16
16
  pFrameListColumns: (pFrame: NodeFrameSymbol) => Promise<PColumnInfo[]>;
17
- pFrameCreateTable: (pFrame: NodeFrameSymbol, request: PFrameInternal.CreateTableRequest, signal?: AbortSignal) => Promise<NodeTableSymbol>;
17
+ pFrameCreateTable: (pFrame: NodeFrameSymbol, request: PFrameInternal.CreateTableRequestV2, signal?: AbortSignal) => Promise<NodeTableSymbol>;
18
18
  pFrameGetUniqueValues: (pFrame: NodeFrameSymbol, request: UniqueValuesRequest, signal?: AbortSignal) => Promise<UniqueValuesResponse>;
19
19
  }
20
20
  interface NodeTable {
@@ -1 +1 @@
1
- {"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../export/dump.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAkC5E,wBAAsB,IAAI,CACxB,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,UAAU,EAC5C,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../export/dump.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAkC5E,wBAAsB,IAAI,CACxB,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,UAAU,EAC5C,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -1,6 +1,6 @@
1
1
  import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
2
2
  export type PFrame = {
3
- new (logger?: PFrameInternal.Logger): PFrameInternal.PFrameV3;
3
+ new (logger?: PFrameInternal.Logger): PFrameInternal.PFrameV4;
4
4
  };
5
5
  export declare const PFrame: PFrame;
6
6
  //# sourceMappingURL=export.d.ts.map
@@ -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 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(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=h.join(process.env.MI_DUMP_PFRAMES_RS,...m.slice(0,-1));await j(r);const o=h.join(process.env.MI_DUMP_PFRAMES_RS,...m),s=ArrayBuffer.isView(e)?e:JSON.stringify(e);await E(o,s)}catch(r){t==null||t("warn",`error while dumping PFrames data: ${r}`)}}let M=class{constructor(e){p(this,"id",n.ulid());p(this,"frame");this.logger=e,a([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=l.pFrameCreate(e)}catch(t){throw new Error(`PFrame creation failed, logger: ${e==null?void 0:e.toString()}, error:
2
- ${t.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 c=performance.now();(u=this.logger)==null||u.call(this,"info",`PFrame preloaded ${o.length} blobs, took ${Math.round(c-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,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,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){var s,i;const r=n.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,e,t)}catch(u){throw new Error(`PTable getData request failed, columnIndices: ${JSON.stringify(e)}, range: ${t?JSON.stringify(t):void 0}, error:
16
- ${u.toString()}`)}finally{const u=performance.now();(i=(s=this.frame).logger)==null||i.call(s,"info",`PTable getData request took ${Math.round(u-o)}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 c=await l.pTableFilter(this.table,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();(u=(i=this.frame).logger)==null||u.call(i,"info",`PTable filter request took ${Math.round(c-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 c=await l.pTableSort(this.table,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();(u=(i=this.frame).logger)==null||u.call(i,"info",`PTable sort request took ${Math.round(c-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
- ${t.toString()}`)}}[Symbol.dispose](){this.dispose()}}const N=M;exports.PFrame=N;
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){p(this,"id",u.ulid());p(this,"frame");this.logger=e,a([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=l.pFrameCreate(e)}catch(t){throw new Error(`PFrame creation failed, logger: ${e==null?void 0:e.toString()}, error:
2
+ ${t.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,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,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,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,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,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:
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 fileDir = path.join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativePath.slice(0, -1)\n );\n await ensureDirExists(fileDir);\n\n const filePath = path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativePath);\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 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.PFrameV3 {\n public readonly id: string = ulid();\n private readonly frame: NodeFrameSymbol;\n\n constructor(public readonly logger?: PFrameInternal.Logger) {\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(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(columnId: PObjectId, dataInfo: PFrameInternal.DataInfo): 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.CreateTableRequest,\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 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 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(this.table, columnIndices, range);\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(this.table, request, signal);\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(this.table, request, signal);\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 (logger?: PFrameInternal.Logger): PFrameInternal.PFrameV3;\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","fileDir","fileData","error","PFrame$1","__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.PFrameV4 {\n public readonly id: string = ulid();\n private readonly frame: NodeFrameSymbol;\n\n constructor(public readonly logger?: PFrameInternal.Logger) {\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(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 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 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(this.table, columnIndices, range);\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(this.table, request, signal);\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(this.table, request, signal);\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 (logger?: PFrameInternal.Logger): 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","__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
2
  var S = (c, e, t) => e in c ? y(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t;
3
3
  var p = (c, e, t) => S(c, typeof e != "symbol" ? e + "" : e, t);
4
- import { ulid as n } from "ulid";
4
+ import { ulid as m } 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";
@@ -30,20 +30,20 @@ async function J(c, e) {
30
30
  async function a(c, e, t) {
31
31
  if (process.env.MI_DUMP_PFRAMES_RS)
32
32
  try {
33
- const r = d.join(
33
+ const r = c.map((n) => encodeURIComponent(n)), o = d.join(
34
34
  process.env.MI_DUMP_PFRAMES_RS,
35
- ...c.slice(0, -1)
35
+ ...r.slice(0, -1)
36
36
  );
37
- await M(r);
38
- const o = d.join(process.env.MI_DUMP_PFRAMES_RS, ...c), s = ArrayBuffer.isView(e) ? e : JSON.stringify(e);
39
- await J(o, s);
37
+ await M(o);
38
+ const s = d.join(process.env.MI_DUMP_PFRAMES_RS, ...r), i = ArrayBuffer.isView(e) ? e : JSON.stringify(e);
39
+ await J(s, i);
40
40
  } catch (r) {
41
41
  t == null || t("warn", `error while dumping PFrames data: ${r}`);
42
42
  }
43
43
  }
44
44
  let N = class {
45
45
  constructor(e) {
46
- p(this, "id", n());
46
+ p(this, "id", m());
47
47
  p(this, "frame");
48
48
  this.logger = e, a(
49
49
  [`${this.id}`, `${this.id}.json`],
@@ -63,7 +63,7 @@ ${t.toString()}`
63
63
  }
64
64
  }
65
65
  addColumnSpec(e, t) {
66
- const r = n();
66
+ const r = m();
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 = n();
95
+ const t = m();
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 m;
107
- const s = n();
106
+ var n;
107
+ const s = m();
108
108
  a(
109
109
  [`${this.id}`, `${s}.json`],
110
110
  {
@@ -121,7 +121,7 @@ ${o.toString()}`
121
121
  return e.preloadBlob(o);
122
122
  } finally {
123
123
  const u = performance.now();
124
- (m = this.logger) == null || m.call(
124
+ (n = this.logger) == null || n.call(
125
125
  this,
126
126
  "info",
127
127
  `PFrame preloaded ${o.length} blobs, took ${Math.round(u - i)}ms`
@@ -129,7 +129,7 @@ ${o.toString()}`
129
129
  }
130
130
  },
131
131
  resolveBlobContent: async (o) => {
132
- const s = n();
132
+ const s = m();
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 = n();
158
+ const r = m();
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 = n();
187
+ const e = m();
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 = n();
210
+ const t = m();
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 = n();
239
+ const t = m();
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 = n();
268
+ const t = m();
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 = n();
299
+ const e = m();
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 = n(), o = {
327
+ const r = m(), o = {
328
328
  timeStamp: Date.now(),
329
329
  requestType: "createTable",
330
330
  requestData: e
@@ -336,29 +336,29 @@ ${o.toString()}`
336
336
  );
337
337
  const s = performance.now();
338
338
  try {
339
- const m = await l.pFrameCreateTable(
339
+ const n = await l.pFrameCreateTable(
340
340
  this.frame,
341
341
  e,
342
342
  t
343
343
  );
344
- return new f(this, r, m);
345
- } catch (m) {
344
+ return new f(this, r, n);
345
+ } catch (n) {
346
346
  throw new Error(
347
347
  `PFrame createTable request failed, request: ${JSON.stringify(e)}, error:
348
- ${m.toString()}`
348
+ ${n.toString()}`
349
349
  );
350
350
  } finally {
351
- const m = performance.now();
351
+ const n = performance.now();
352
352
  (i = this.logger) == null || i.call(
353
353
  this,
354
354
  "info",
355
- `PFrame createTable request took ${Math.round(m - s)}ms`
355
+ `PFrame createTable request took ${Math.round(n - s)}ms`
356
356
  );
357
357
  }
358
358
  }
359
359
  async getUniqueValues(e, t) {
360
360
  var s;
361
- const r = n();
361
+ const r = m();
362
362
  a(
363
363
  [`${this.id}`, `${r}.json`],
364
364
  {
@@ -395,7 +395,7 @@ class f {
395
395
  this.frame = e, this.id = t, this.table = r;
396
396
  }
397
397
  getShape() {
398
- const e = n();
398
+ const e = m();
399
399
  a(
400
400
  [`${this.frame.id}`, `${this.id}`, `${e}.json`],
401
401
  {
@@ -414,7 +414,7 @@ ${t.toString()}`
414
414
  }
415
415
  }
416
416
  getSpec() {
417
- const e = n();
417
+ const e = m();
418
418
  a(
419
419
  [`${this.frame.id}`, `${this.id}`, `${e}.json`],
420
420
  {
@@ -433,7 +433,7 @@ ${t.toString()}`
433
433
  }
434
434
  }
435
435
  getColumnIndices(e) {
436
- const t = n();
436
+ const t = m();
437
437
  a(
438
438
  [`${this.frame.id}`, `${this.id}`, `${t}.json`],
439
439
  {
@@ -456,7 +456,7 @@ ${r.toString()}`
456
456
  }
457
457
  async getData(e, t) {
458
458
  var s, i;
459
- const r = n();
459
+ const r = m();
460
460
  a(
461
461
  [`${this.frame.id}`, `${this.id}`, `${r}.json`],
462
462
  {
@@ -472,23 +472,23 @@ ${r.toString()}`
472
472
  const o = performance.now();
473
473
  try {
474
474
  return await l.pTableGetData(this.table, e, t);
475
- } catch (m) {
475
+ } catch (n) {
476
476
  throw new Error(
477
477
  `PTable getData request failed, columnIndices: ${JSON.stringify(e)}, range: ${t ? JSON.stringify(t) : void 0}, error:
478
- ${m.toString()}`
478
+ ${n.toString()}`
479
479
  );
480
480
  } finally {
481
- const m = performance.now();
481
+ const n = performance.now();
482
482
  (i = (s = this.frame).logger) == null || i.call(
483
483
  s,
484
484
  "info",
485
- `PTable getData request took ${Math.round(m - o)}ms`
485
+ `PTable getData request took ${Math.round(n - o)}ms`
486
486
  );
487
487
  }
488
488
  }
489
489
  async filter(e, t) {
490
- var i, m;
491
- const r = n(), o = {
490
+ var i, n;
491
+ const r = m(), o = {
492
492
  timeStamp: Date.now(),
493
493
  table: this.id,
494
494
  requestType: "filter",
@@ -514,7 +514,7 @@ ${u.toString()}`
514
514
  );
515
515
  } finally {
516
516
  const u = performance.now();
517
- (m = (i = this.frame).logger) == null || m.call(
517
+ (n = (i = this.frame).logger) == null || n.call(
518
518
  i,
519
519
  "info",
520
520
  `PTable filter request took ${Math.round(u - s)}ms`
@@ -522,8 +522,8 @@ ${u.toString()}`
522
522
  }
523
523
  }
524
524
  async sort(e, t) {
525
- var i, m;
526
- const r = n(), o = {
525
+ var i, n;
526
+ const r = m(), o = {
527
527
  timeStamp: Date.now(),
528
528
  table: this.id,
529
529
  requestType: "sort",
@@ -549,7 +549,7 @@ ${u.toString()}`
549
549
  );
550
550
  } finally {
551
551
  const u = performance.now();
552
- (m = (i = this.frame).logger) == null || m.call(
552
+ (n = (i = this.frame).logger) == null || n.call(
553
553
  i,
554
554
  "info",
555
555
  `PTable sort request took ${Math.round(u - s)}ms`
@@ -557,7 +557,7 @@ ${u.toString()}`
557
557
  }
558
558
  }
559
559
  dispose() {
560
- const e = n();
560
+ const e = m();
561
561
  a(
562
562
  [`${this.frame.id}`, `${this.id}`, `${e}.json`],
563
563
  {
@@ -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 fileDir = path.join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativePath.slice(0, -1)\n );\n await ensureDirExists(fileDir);\n\n const filePath = path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativePath);\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 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.PFrameV3 {\n public readonly id: string = ulid();\n private readonly frame: NodeFrameSymbol;\n\n constructor(public readonly logger?: PFrameInternal.Logger) {\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(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(columnId: PObjectId, dataInfo: PFrameInternal.DataInfo): 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.CreateTableRequest,\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 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 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(this.table, columnIndices, range);\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(this.table, request, signal);\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(this.table, request, signal);\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 (logger?: PFrameInternal.Logger): PFrameInternal.PFrameV3;\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","fileDir","fileData","error","PFrame$1","__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":";;;;;;;;;;AAMA,MAAMA,IAAc,YAAY,KAC1BC,IAAcC,EAAQC,EAAcH,CAAW,CAAC,GAChDI,IAAcC,EAAcL,CAAW,GAEvC,EAAE,MAAMM,EAAA,IAAcC,GAUtBC,IAAcJ;AAAA,EAClBE,EAAUG,EAAQR,GAAa,iBAAiB,CAAC;AACnD;ACjBA,eAAeS,EAAWC,GAAgC;AACpD,MAAA;AACI,iBAAAC,EAAG,SAAS,OAAOD,CAAI,GACtB;AAAA,EAAA,QACD;AACC,WAAA;AAAA,EAAA;AAEX;AAEA,eAAeE,EAAgBC,GAAkC;AAC/D,EAAM,MAAMJ,EAAWI,CAAS,KAC9B,MAAMF,EAAG,SAAS,MAAME,GAAW,EAAE,WAAW,IAAM;AAE1D;AAEA,eAAeC,EACbC,GACAC,GACe;AACT,QAAAC,IAAW,GAAGF,CAAQ;AACxB,EAAA,MAAMN,EAAWQ,CAAQ,KAC3B,MAAMN,EAAG,SAAS,GAAGM,GAAU,EAAE,WAAW,IAAM;AAG9C,QAAAC,IAAS,OAAOF,KAAS,WAAW,OAAO,KAAKA,GAAM,MAAM,IAAIA,GAChEG,IAASC,EAAS,KAAKF,CAAM,GAC7BG,IAAcV,EAAG,kBAAkBM,GAAU,EAAE,OAAO,MAAM;AAC5D,QAAAG,EAAS,MAAMD,CAAM,EAAE,OAAOG,EAAS,MAAMD,CAAW,CAAC,GAE/D,MAAMV,EAAG,SAAS,OAAOM,GAAUF,CAAQ;AAC7C;AAEsB,eAAAQ,EACpBC,GACAR,GACAS,GACe;AACX,MAAC,QAAQ,IAAI;AACb,QAAA;AACF,YAAMC,IAAUhB,EAAK;AAAA,QACnB,QAAQ,IAAI;AAAA,QACZ,GAAGc,EAAa,MAAM,GAAG,EAAE;AAAA,MAC7B;AACA,YAAMZ,EAAgBc,CAAO;AAE7B,YAAMX,IAAWL,EAAK,KAAK,QAAQ,IAAI,oBAAoB,GAAGc,CAAY,GACpEG,IAAW,YAAY,OAAOX,CAAI,IACnCA,IACD,KAAK,UAAUA,CAAI;AACjB,YAAAF,EAAUC,GAAUY,CAAQ;AAAA,aAC3BC,GAAgB;AACd,MAAAH,KAAA,QAAAA,EAAA,QAAQ,qCAAqCG,CAAK;AAAA,IAAE;AAEjE;ACtCO,IAAAC,IAAA,MAAgD;AAAA,EAIrD,YAA4BJ,GAAgC;AAH5C,IAAAK,EAAA,YAAaC,EAAK;AACjB,IAAAD,EAAA;AAEW,SAAA,SAAAL,GAC1BF;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,OAAO;AAAA,MAChC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,MACf;AAAA,MACA,KAAK;AAAA,IACP;AAEI,QAAA;AACG,WAAA,QAAQhB,EAAY,aAAakB,CAAM;AAAA,aACrCO,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,mCACaP,KAAA,gBAAAA,EAAQ,UAAU;AAAA,EAEzBO,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,cAAcC,GAAqBC,GAA+B;AAChE,UAAMC,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAa;AAAA,UACX,UAAAF;AAAA,UACA,YAAAC;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,KAAK;AAAA,IACP,GAEAX;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,QAAQ,GAAGU,CAAQ,OAAO;AAAA,MACzC;AAAA,QACE,GAAGC;AAAA,MACL;AAAA,MACA,KAAK;AAAA,IACP;AAEI,QAAA;AACF,aAAO3B,EAAY,oBAAoB,KAAK,OAAO0B,GAAUC,CAAU;AAAA,aAChEF,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,kDACe,KAAK,UAAUC,CAAQ,CAAC,iBACtB,KAAK,UAAUC,CAAU,CAAC;AAAA,EAErCF,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,cAAcI,GAAmD;AAC/D,UAAMD,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,MACf;AAAA,MACA,KAAK;AAAA,IACP;AAEA,QAAIE,IAAoB;AAAA,MACtB,aAAa,OACXC,MACkB;;AAClB,cAAMH,IAAYJ,EAAK;AACvB,QAAAR;AAAA,UACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,UAClC;AAAA,YACE,WAAW,KAAK,IAAI;AAAA,YACpB,aAAa;AAAA,YACb,aAAa;AAAA,cACX,SAAAG;AAAA,YAAA;AAAA,UAEJ;AAAA,UACA,KAAK;AAAA,QACP;AAEM,cAAAC,IAAK,YAAY,IAAI;AACvB,YAAA;AACK,iBAAAH,EAAW,YAAYE,CAAO;AAAA,QAAA,UACrC;AACM,gBAAAE,IAAK,YAAY,IAAI;AACtB,WAAAC,IAAA,KAAA,WAAA,QAAAA,EAAA;AAAA;AAAA,YACH;AAAA,YACA,oBAAoBH,EAAQ,MAAM,gBAAgB,KAAK,MAAME,IAAKD,CAAE,CAAC;AAAA;AAAA,QACvE;AAAA,MAEJ;AAAA,MACA,oBAAoB,OAClBG,MACwB;AACxB,cAAMP,IAAYJ,EAAK;AACvB,QAAAR;AAAA,UACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,UAClC;AAAA,YACE,WAAW,KAAK,IAAI;AAAA,YACpB,aAAa;AAAA,YACb,aAAa;AAAA,cACX,QAAAO;AAAA,YAAA;AAAA,UAEJ;AAAA,UACA,KAAK;AAAA,QACP;AAEA,cAAMC,IAAO,MAAMP,EAAW,mBAAmBM,CAAM;AACvD,eAAAnB,EAAK,CAAC,GAAG,KAAK,EAAE,IAAI,QAAQ,GAAGmB,CAAM,EAAE,GAAGC,GAAM,KAAK,MAAM,GAEpDA;AAAA,MAAA;AAAA,IAEX;AAEI,QAAA;AACF,aAAOpC,EAAY,oBAAoB,KAAK,OAAO8B,CAAiB;AAAA,aAC7DL,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,oDACiBI,EAAW,UAAU;AAAA,EAEhCJ,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,cAAcC,GAAqBW,GAAyC;AAC1E,UAAMT,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAa;AAAA,UACX,UAAAF;AAAA,UACA,UAAAW;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,KAAK;AAAA,IACP,GAEArB;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,QAAQ,GAAGU,CAAQ,WAAW;AAAA,MAC7C;AAAA,QACE,GAAGW;AAAA,MACL;AAAA,MACA,KAAK;AAAA,IACP;AAEI,QAAA;AACF,aAAOrC,EAAY,oBAAoB,KAAK,OAAO0B,GAAUW,CAAQ;AAAA,aAC9DZ,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,kDACe,KAAK,UAAUC,CAAQ,CAAC,eACxB,KAAK,UAAUW,CAAQ,CAAC;AAAA,EAEjCZ,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,UAAgB;AACd,UAAMG,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,MACf;AAAA,MACA,KAAK;AAAA,IACP;AAEI,QAAA;AACU,MAAA5B,EAAA,cAAc,KAAK,KAAK;AAAA,aAC7ByB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR;AAAA,EAEMA,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,CAAC,OAAO,OAAO,IAAU;AACvB,SAAK,QAAQ;AAAA,EAAA;AAAA,EAGf,MAAM,YACJa,GAC6C;;AAC7C,UAAMV,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAaU;AAAA,MACf;AAAA,MACA,KAAK;AAAA,IACP;AAEM,UAAAN,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,aAAO,MAAMhC,EAAY,kBAAkB,KAAK,OAAOsC,CAAO;AAAA,aACvDb,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,+CACc,KAAK,UAAUa,CAAO,CAAC;AAAA,EAE/Bb,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AACtB,OAAAC,IAAA,KAAA,WAAA,QAAAA,EAAA;AAAA;AAAA,QACH;AAAA,QACA,mCAAmC,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IACxD;AAAA,EACF;AAAA,EAGF,MAAM,aACJM,GACyD;;AACzD,UAAMV,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAaU;AAAA,MACf;AAAA,MACA,KAAK;AAAA,IACP;AAEM,UAAAN,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,aAAO,MAAMhC,EAAY,mBAAmB,KAAK,OAAOsC,CAAO;AAAA,aACxDb,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,gDACc,KAAK,UAAUa,CAAO,CAAC;AAAA,EAE/Bb,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AACtB,OAAAC,IAAA,KAAA,WAAA,QAAAA,EAAA;AAAA;AAAA,QACH;AAAA,QACA,oCAAoC,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IACzD;AAAA,EACF;AAAA,EAGF,MAAM,cAAcN,GAA2C;;AAC7D,UAAME,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAa;AAAA,UACX,UAAAF;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,KAAK;AAAA,IACP;AAEM,UAAAM,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,aAAO,MAAMhC,EAAY,oBAAoB,KAAK,OAAO0B,CAAQ;AAAA,aAC1DD,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,kDACe,KAAK,UAAUC,CAAQ,CAAC;AAAA,EAEjCD,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AACtB,OAAAC,IAAA,KAAA,WAAA,QAAAA,EAAA;AAAA;AAAA,QACH;AAAA,QACA,qCAAqC,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IAC1D;AAAA,EACF;AAAA,EAGF,MAAM,cAAsC;;AAC1C,UAAMJ,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,MACf;AAAA,MACA,KAAK;AAAA,IACP;AAEM,UAAAI,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,aAAO,MAAMhC,EAAY,kBAAkB,KAAK,KAAK;AAAA,aAC9CyB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR;AAAA,EAEMA,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AACtB,OAAAC,IAAA,KAAA,WAAA,QAAAA,EAAA;AAAA;AAAA,QACH;AAAA,QACA,mCAAmC,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IACxD;AAAA,EACF;AAAA,EAGF,MAAM,YACJM,GACAC,GACkC;;AAClC,UAAMX,IAAYJ,EAAK,GACjBgB,IAAW;AAAA,MACf,WAAW,KAAK,IAAI;AAAA,MACpB,aAAa;AAAA,MACb,aAAaF;AAAA,IACf;AACK,IAAAtB,EAAA,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO,GAAGY,GAAU,KAAK,MAAM,GAC/DxB;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,IAAI,GAAGA,CAAS,OAAO;AAAA,MAClDY;AAAA,MACA,KAAK;AAAA,IACP;AAEM,UAAAR,IAAK,YAAY,IAAI;AACvB,QAAA;AACI,YAAAS,IAAQ,MAAMzC,EAAY;AAAA,QAC9B,KAAK;AAAA,QACLsC;AAAA,QACAC;AAAA,MACF;AACA,aAAO,IAAIG,EAAO,MAAMd,GAAWa,CAAK;AAAA,aACjChB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,+CACc,KAAK,UAAUa,CAAO,CAAC;AAAA,EAE/Bb,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AACtB,OAAAC,IAAA,KAAA,WAAA,QAAAA,EAAA;AAAA;AAAA,QACH;AAAA,QACA,mCAAmC,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IACxD;AAAA,EACF;AAAA,EAGF,MAAM,gBACJM,GACAC,GAC+B;;AAC/B,UAAMX,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MAClC;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAaU;AAAA,MACf;AAAA,MACA,KAAK;AAAA,IACP;AAEM,UAAAN,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,aAAO,MAAMhC,EAAY;AAAA,QACvB,KAAK;AAAA,QACLsC;AAAA,QACAC;AAAA,MACF;AAAA,aACOd,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,mDACc,KAAK,UAAUa,CAAO,CAAC;AAAA,EAE/Bb,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AACtB,OAAAC,IAAA,KAAA,WAAA,QAAAA,EAAA;AAAA;AAAA,QACH;AAAA,QACA,uCAAuC,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IAC5D;AAAA,EACF;AAEJ;AAEA,MAAMU,EAA0C;AAAA,EAC9C,YACmBC,GACDC,GACCC,GACjB;AAHiB,SAAA,QAAAF,GACD,KAAA,KAAAC,GACC,KAAA,QAAAC;AAAA,EAAA;AAAA,EAGnB,WAAwB;AACtB,UAAMjB,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MACtD;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,MACf;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AAEI,QAAA;AACK,aAAA5B,EAAY,eAAe,KAAK,KAAK;AAAA,aACrCyB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR;AAAA,EAEMA,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,UAA8B;AAC5B,UAAMG,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MACtD;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,MACf;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AAEI,QAAA;AACK,aAAA5B,EAAY,cAAc,KAAK,KAAK;AAAA,aACpCyB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR;AAAA,EAEMA,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,iBAAiBqB,GAAuC;AACtD,UAAMlB,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MACtD;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAa;AAAA,UACX,WAAAkB;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AAEI,QAAA;AACF,aAAO9C,EAAY,uBAAuB,KAAK,OAAO8C,CAAS;AAAA,aACxDrB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,sDACgB,KAAK,UAAUqB,CAAS,CAAC;AAAA,EAEnCrB,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,MAAM,QACJsB,GACAC,GACyB;;AACzB,UAAMpB,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MACtD;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,QACb,aAAa;AAAA,UACX,eAAAmB;AAAA,UACA,OAAOC,KAAS;AAAA,QAAA;AAAA,MAEpB;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AAEM,UAAAhB,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,aAAO,MAAMhC,EAAY,cAAc,KAAK,OAAO+C,GAAeC,CAAK;AAAA,aAChEvB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,iDACoB,KAAK,UAAUsB,CAAa,CAAC,YACrCC,IAAQ,KAAK,UAAUA,CAAK,IAAI,MAAS;AAAA,EAE/CvB,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AAC3B,OAAAgB,KAAAf,IAAA,KAAK,OAAM,WAAX,QAAAe,EAAA;AAAA,QAAAf;AAAA,QACE;AAAA,QACA,+BAA+B,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IACpD;AAAA,EACF;AAAA,EAGF,MAAM,OACJM,GACAC,GACkC;;AAClC,UAAMX,IAAYJ,EAAK,GACjBgB,IAAW;AAAA,MACf,WAAW,KAAK,IAAI;AAAA,MACpB,OAAO,KAAK;AAAA,MACZ,aAAa;AAAA,MACb,aAAaF;AAAA,IACf;AACA,IAAAtB;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MACxCY;AAAA,MACA,KAAK,MAAM;AAAA,IACb,GACAxB;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAGY,CAAS,IAAI,GAAGA,CAAS,OAAO;AAAA,MACxDY;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AAEM,UAAAR,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,YAAMS,IAAQ,MAAMzC,EAAY,aAAa,KAAK,OAAOsC,GAASC,CAAM;AACxE,aAAO,IAAIG,EAAO,KAAK,OAAOd,GAAWa,CAAK;AAAA,aACvChB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,0CACc,KAAK,UAAUa,CAAO,CAAC;AAAA,EAE/Bb,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AAC3B,OAAAgB,KAAAf,IAAA,KAAK,OAAM,WAAX,QAAAe,EAAA;AAAA,QAAAf;AAAA,QACE;AAAA,QACA,8BAA8B,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IACnD;AAAA,EACF;AAAA,EAGF,MAAM,KACJM,GACAC,GACkC;;AAClC,UAAMX,IAAYJ,EAAK,GACjBgB,IAAW;AAAA,MACf,WAAW,KAAK,IAAI;AAAA,MACpB,OAAO,KAAK;AAAA,MACZ,aAAa;AAAA,MACb,aAAaF;AAAA,IACf;AACA,IAAAtB;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MACxCY;AAAA,MACA,KAAK,MAAM;AAAA,IACb,GACAxB;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAGY,CAAS,IAAI,GAAGA,CAAS,OAAO;AAAA,MACxDY;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AAEM,UAAAR,IAAK,YAAY,IAAI;AACvB,QAAA;AACF,YAAMS,IAAQ,MAAMzC,EAAY,WAAW,KAAK,OAAOsC,GAASC,CAAM;AACtE,aAAO,IAAIG,EAAO,KAAK,OAAOd,GAAWa,CAAK;AAAA,aACvChB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR,wCACc,KAAK,UAAUa,CAAO,CAAC;AAAA,EAE/Bb,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA,UACA;AACM,YAAAQ,IAAK,YAAY,IAAI;AAC3B,OAAAgB,KAAAf,IAAA,KAAK,OAAM,WAAX,QAAAe,EAAA;AAAA,QAAAf;AAAA,QACE;AAAA,QACA,4BAA4B,KAAK,MAAMD,IAAKD,CAAE,CAAC;AAAA;AAAA,IACjD;AAAA,EACF;AAAA,EAGF,UAAU;AACR,UAAMJ,IAAYJ,EAAK;AACvB,IAAAR;AAAA,MACE,CAAC,GAAG,KAAK,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAGY,CAAS,OAAO;AAAA,MACtD;AAAA,QACE,WAAW,KAAK,IAAI;AAAA,QACpB,aAAa;AAAA,MACf;AAAA,MACA,KAAK,MAAM;AAAA,IACb;AAEI,QAAA;AACU,MAAA5B,EAAA,cAAc,KAAK,KAAK;AAAA,aAC7ByB,GAAc;AACrB,YAAM,IAAI;AAAA,QACR;AAAA,EAEMA,EAAc,UAAU;AAAA,MAChC;AAAA,IAAA;AAAA,EACF;AAAA,EAGF,CAAC,OAAO,OAAO,IAAI;AACjB,SAAK,QAAQ;AAAA,EAAA;AAEjB;ACnoBO,MAAMyB,IAAiBC;"}
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(public readonly logger?: PFrameInternal.Logger) {\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(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 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 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(this.table, columnIndices, range);\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(this.table, request, signal);\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(this.table, request, signal);\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 (logger?: PFrameInternal.Logger): 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","__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,20 +1,20 @@
1
- import { PColumnInfo, PColumnSpec, PObjectId, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
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.PFrameV3 {
3
+ export declare class PFrame implements PFrameInternal.PFrameV4 {
4
4
  readonly logger?: PFrameInternal.Logger | undefined;
5
5
  readonly id: string;
6
6
  private readonly frame;
7
7
  constructor(logger?: PFrameInternal.Logger | undefined);
8
8
  addColumnSpec(columnId: PObjectId, columnSpec: PColumnSpec): void;
9
9
  setDataSource(dataSource: PFrameInternal.PFrameDataSource): void;
10
- setColumnData(columnId: PObjectId, dataInfo: PFrameInternal.DataInfo): void;
10
+ setColumnData(columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId>): void;
11
11
  dispose(): void;
12
12
  [Symbol.dispose](): void;
13
13
  findColumns(request: PFrameInternal.FindColumnsRequest): Promise<PFrameInternal.FindColumnsResponse>;
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.CreateTableRequest, signal?: AbortSignal): Promise<PFrameInternal.PTableV3>;
17
+ createTable(request: PFrameInternal.CreateTableRequestV2, signal?: AbortSignal): Promise<PFrameInternal.PTableV3>;
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,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;aAIxB,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;IAH1D,SAAgB,EAAE,EAAE,MAAM,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAEZ,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,YAAA;IAsB1D,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI;IAoCjE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,gBAAgB,GAAG,IAAI;IA0EhE,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,GAAG,IAAI;IAoC3E,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,kBAAkB,EAC1C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;IAsC7B,eAAe,CACnB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAkCjC"}
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;aAIxB,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;IAH1D,SAAgB,EAAE,EAAE,MAAM,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAEZ,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,YAAA;IAsB1D,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;IAsC7B,eAAe,CACnB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAkCjC"}
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.24",
4
+ "version": "1.0.26",
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.11",
21
+ "@milaboratories/pl-model-middle-layer": "1.7.19",
22
22
  "ulid": "^3.0.0"
23
23
  },
24
24
  "peerDependencies": {
@@ -26,13 +26,13 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "@rollup/plugin-node-resolve": "^16.0.1",
29
- "@types/node": "^20.17.28",
30
- "@vitest/coverage-istanbul": "^3.0.9",
29
+ "@types/node": "^20.17.30",
30
+ "@vitest/coverage-istanbul": "^3.1.1",
31
31
  "cargo-cp-artifact": "^0.1.9",
32
32
  "rollup-plugin-node-externals": "^8.0.0",
33
33
  "typescript": "^5.8.2",
34
34
  "vite-plugin-dts": "^4.5.3",
35
- "vitest": "^3.0.9"
35
+ "vitest": "^3.1.1"
36
36
  },
37
37
  "binary": {
38
38
  "module_name": "pframes_rs_node",