@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.
- package/export/addon-def.ts +3 -2
- package/export/dump.ts +3 -2
- package/export/export.ts +1 -1
- package/export/wrapper.ts +7 -3
- package/export_dist/addon-def.d.ts +3 -3
- package/export_dist/addon-def.d.ts.map +1 -1
- package/export_dist/dump.d.ts.map +1 -1
- package/export_dist/export.d.ts +1 -1
- package/export_dist/index.js +19 -19
- package/export_dist/index.js.map +1 -1
- package/export_dist/index.mjs +42 -42
- package/export_dist/index.mjs.map +1 -1
- package/export_dist/wrapper.d.ts +4 -4
- package/export_dist/wrapper.d.ts.map +1 -1
- package/package.json +5 -5
package/export/addon-def.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
...
|
|
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, ...
|
|
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.
|
|
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.
|
|
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(
|
|
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.
|
|
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.
|
|
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.
|
|
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":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,MAAM,WAAW,eAAgB,SAAQ,MAAM;CAAG;AAElD,MAAM,WAAW,eAAgB,SAAQ,MAAM;CAAG;AAElD,UAAU,SAAS;IACjB,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,KAAK,eAAe,CAAC;IAClE,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,WAAW,KACpB,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,cAAc,CAAC,gBAAgB,KACxC,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,cAAc,CAAC,
|
|
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,
|
|
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"}
|
package/export_dist/export.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
2
2
|
export type PFrame = {
|
|
3
|
-
new (logger?: PFrameInternal.Logger): PFrameInternal.
|
|
3
|
+
new (logger?: PFrameInternal.Logger): PFrameInternal.PFrameV4;
|
|
4
4
|
};
|
|
5
5
|
export declare const PFrame: PFrame;
|
|
6
6
|
//# sourceMappingURL=export.d.ts.map
|
package/export_dist/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";var y=Object.defineProperty;var q=(m,e,t)=>e in m?y(m,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):m[e]=t;var p=(m,e,t)=>q(m,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
${t.toString()}`)}}addColumnSpec(e,t){const r=
|
|
3
|
-
${o.toString()}`)}}setDataSource(e){const t=
|
|
4
|
-
${o.toString()}`)}}setColumnData(e,t){const r=
|
|
5
|
-
${o.toString()}`)}}dispose(){const e=
|
|
6
|
-
${t.toString()}`)}}[Symbol.dispose](){this.dispose()}async findColumns(e){var o;const t=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
11
|
-
${
|
|
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=
|
|
13
|
-
${t.toString()}`)}}getSpec(){const e=
|
|
14
|
-
${t.toString()}`)}}getColumnIndices(e){const t=
|
|
15
|
-
${r.toString()}`)}}async getData(e,t){var s,i;const r=
|
|
16
|
-
${
|
|
17
|
-
${c.toString()}`)}finally{const c=performance.now();(
|
|
18
|
-
${c.toString()}`)}finally{const c=performance.now();(
|
|
19
|
-
${t.toString()}`)}}[Symbol.dispose](){this.dispose()}}const
|
|
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
|
package/export_dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../export/addon.ts","../export/dump.ts","../export/wrapper.ts","../export/export.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\n\nasync function fileExists(path: string): Promise<boolean> {\n try {\n await fs.promises.access(path);\n return true;\n } catch {\n return false;\n }\n}\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n if (!(await fileExists(fileOrDir))) {\n await fs.promises.mkdir(fileOrDir, { recursive: true });\n }\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const tempPath = `${filePath}.tmp`;\n if (await fileExists(tempPath)) {\n await fs.promises.rm(tempPath, { recursive: true });\n }\n\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n const source = Readable.from(buffer);\n const destination = fs.createWriteStream(tempPath, { flags: 'wx' });\n await Readable.toWeb(source).pipeTo(Writable.toWeb(destination));\n\n await fs.promises.rename(tempPath, filePath);\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const 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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"}
|
package/export_dist/index.mjs
CHANGED
|
@@ -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
|
|
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
|
-
...
|
|
35
|
+
...r.slice(0, -1)
|
|
36
36
|
);
|
|
37
|
-
await M(
|
|
38
|
-
const
|
|
39
|
-
await J(
|
|
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",
|
|
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 =
|
|
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 =
|
|
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
|
|
107
|
-
const s =
|
|
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
|
-
(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
339
|
+
const n = await l.pFrameCreateTable(
|
|
340
340
|
this.frame,
|
|
341
341
|
e,
|
|
342
342
|
t
|
|
343
343
|
);
|
|
344
|
-
return new f(this, r,
|
|
345
|
-
} catch (
|
|
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
|
-
${
|
|
348
|
+
${n.toString()}`
|
|
349
349
|
);
|
|
350
350
|
} finally {
|
|
351
|
-
const
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 (
|
|
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
|
-
${
|
|
478
|
+
${n.toString()}`
|
|
479
479
|
);
|
|
480
480
|
} finally {
|
|
481
|
-
const
|
|
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(
|
|
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,
|
|
491
|
-
const r =
|
|
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
|
-
(
|
|
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,
|
|
526
|
-
const r =
|
|
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
|
-
(
|
|
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 =
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../export/addon.ts","../export/dump.ts","../export/wrapper.ts","../export/export.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n","import fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\n\nasync function fileExists(path: string): Promise<boolean> {\n try {\n await fs.promises.access(path);\n return true;\n } catch {\n return false;\n }\n}\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n if (!(await fileExists(fileOrDir))) {\n await fs.promises.mkdir(fileOrDir, { recursive: true });\n }\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const tempPath = `${filePath}.tmp`;\n if (await fileExists(tempPath)) {\n await fs.promises.rm(tempPath, { recursive: true });\n }\n\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n const source = Readable.from(buffer);\n const destination = fs.createWriteStream(tempPath, { flags: 'wx' });\n await Readable.toWeb(source).pipeTo(Writable.toWeb(destination));\n\n await fs.promises.rename(tempPath, filePath);\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = path.join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await ensureDirExists(fileDir);\n\n const filePath = path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data)\n ? (data as Uint8Array)\n : JSON.stringify(data);\n await writeFile(filePath, fileData);\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n","import { ulid } from 'ulid';\nimport {\n DataInfo,\n PColumnInfo,\n PColumnSpec,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type { NodeFrameSymbol, NodeTableSymbol } from './addon-def';\nimport { AddonSymbol } from './addon';\nimport { dump } from './dump';\n\nexport class PFrame implements PFrameInternal.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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"}
|
package/export_dist/wrapper.d.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
30
|
-
"@vitest/coverage-istanbul": "^3.
|
|
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.
|
|
35
|
+
"vitest": "^3.1.1"
|
|
36
36
|
},
|
|
37
37
|
"binary": {
|
|
38
38
|
"module_name": "pframes_rs_node",
|