@milaboratories/pframes-rs-node 1.0.53 → 1.0.55
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/export.ts +1 -1
- package/export/wrapper.ts +13 -4
- package/export_dist/addon-def.d.ts +1 -1
- package/export_dist/addon-def.d.ts.map +1 -1
- package/export_dist/export.d.ts +1 -1
- package/export_dist/index.js +21 -21
- package/export_dist/index.js.map +1 -1
- package/export_dist/index.mjs +59 -53
- package/export_dist/index.mjs.map +1 -1
- package/export_dist/wrapper.d.ts +4 -2
- package/export_dist/wrapper.d.ts.map +1 -1
- package/package.json +3 -3
package/export/addon-def.ts
CHANGED
|
@@ -43,8 +43,9 @@ interface NodeFrame {
|
|
|
43
43
|
pFrameSetColumnData: (
|
|
44
44
|
pFrame: NodeFrameSymbol,
|
|
45
45
|
columnId: PObjectId,
|
|
46
|
-
dataInfo: DataInfo<PFrameInternal.PFrameBlobId
|
|
47
|
-
|
|
46
|
+
dataInfo: DataInfo<PFrameInternal.PFrameBlobId>,
|
|
47
|
+
signal: AbortSignal | undefined
|
|
48
|
+
) => Promise<void>;
|
|
48
49
|
pFrameDispose: (pFrame: NodeFrameSymbol) => void;
|
|
49
50
|
pFrameFindColumns: (
|
|
50
51
|
pFrame: NodeFrameSymbol,
|
package/export/export.ts
CHANGED
package/export/wrapper.ts
CHANGED
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
hashCreateTableRequestColumnId
|
|
38
38
|
} from './dump';
|
|
39
39
|
|
|
40
|
-
export class PFrame implements PFrameInternal.
|
|
40
|
+
export class PFrame implements PFrameInternal.PFrameV9 {
|
|
41
41
|
public readonly id: FrameId = ulid() as FrameId;
|
|
42
42
|
private readonly frame: NodeFrameSymbol;
|
|
43
43
|
|
|
@@ -194,8 +194,11 @@ export class PFrame implements PFrameInternal.PFrameV8 {
|
|
|
194
194
|
|
|
195
195
|
setColumnData(
|
|
196
196
|
columnId: PObjectId,
|
|
197
|
-
dataInfo: DataInfo<PFrameInternal.PFrameBlobId
|
|
198
|
-
|
|
197
|
+
dataInfo: DataInfo<PFrameInternal.PFrameBlobId>,
|
|
198
|
+
ops?: {
|
|
199
|
+
signal?: AbortSignal;
|
|
200
|
+
}
|
|
201
|
+
): Promise<void> {
|
|
199
202
|
const requestId = ulid();
|
|
200
203
|
dump(
|
|
201
204
|
[`${this.id}`, `${requestId}.json`],
|
|
@@ -219,7 +222,13 @@ export class PFrame implements PFrameInternal.PFrameV8 {
|
|
|
219
222
|
);
|
|
220
223
|
|
|
221
224
|
try {
|
|
222
|
-
|
|
225
|
+
ops?.signal?.throwIfAborted();
|
|
226
|
+
return AddonSymbol.pFrameSetColumnData(
|
|
227
|
+
this.frame,
|
|
228
|
+
columnId,
|
|
229
|
+
dataInfo,
|
|
230
|
+
ops?.signal
|
|
231
|
+
);
|
|
223
232
|
} catch (err: unknown) {
|
|
224
233
|
throw new PFrameError(
|
|
225
234
|
`PFrame ${this.id} setColumnData request ${requestId} failed, ` +
|
|
@@ -17,7 +17,7 @@ interface NodeFrame {
|
|
|
17
17
|
pFrameCreate: (spillPath: string, logger: PFrameInternal.Logger | undefined) => NodeFrameSymbol;
|
|
18
18
|
pFrameAddColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId, columnSpec: PColumnSpec) => void;
|
|
19
19
|
pFrameSetDataSource: (pFrame: NodeFrameSymbol, dataSource: PFrameInternal.PFrameDataSource) => void;
|
|
20
|
-
pFrameSetColumnData: (pFrame: NodeFrameSymbol, columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId
|
|
20
|
+
pFrameSetColumnData: (pFrame: NodeFrameSymbol, columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId>, signal: AbortSignal | undefined) => Promise<void>;
|
|
21
21
|
pFrameDispose: (pFrame: NodeFrameSymbol) => void;
|
|
22
22
|
pFrameFindColumns: (pFrame: NodeFrameSymbol, request: PFrameInternal.FindColumnsRequest) => Promise<PFrameInternal.FindColumnsResponse>;
|
|
23
23
|
pFrameDeleteColumn: (pFrame: NodeFrameSymbol, request: PFrameInternal.DeleteColumnFromColumnsRequest) => Promise<PFrameInternal.DeleteColumnFromColumnsResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD,MAAM,WAAW,eAAgB,SAAQ,MAAM;CAAG;AAElD,MAAM,WAAW,eAAgB,SAAQ,MAAM;CAAG;AAElD,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;CACtC;AAED,UAAU,SAAS;IACjB,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,KACtC,eAAe,CAAC;IACrB,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,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
|
package/export_dist/export.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
2
2
|
export type PFrame = {
|
|
3
|
-
new (spillPath: string, logger?: PFrameInternal.Logger): PFrameInternal.
|
|
3
|
+
new (spillPath: string, logger?: PFrameInternal.Logger): PFrameInternal.PFrameV9;
|
|
4
4
|
pprofDump: () => Promise<Uint8Array>;
|
|
5
5
|
};
|
|
6
6
|
export declare const PFrame: PFrame;
|
package/export_dist/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
"use strict";var I=Object.defineProperty;var j=(
|
|
2
|
-
${
|
|
3
|
-
${
|
|
4
|
-
${
|
|
5
|
-
${
|
|
6
|
-
${
|
|
7
|
-
${
|
|
8
|
-
${
|
|
9
|
-
${
|
|
10
|
-
${
|
|
11
|
-
${
|
|
12
|
-
${
|
|
13
|
-
${
|
|
14
|
-
${
|
|
15
|
-
${
|
|
16
|
-
${
|
|
17
|
-
${
|
|
18
|
-
${
|
|
19
|
-
${
|
|
20
|
-
${
|
|
21
|
-
${
|
|
1
|
+
"use strict";var I=Object.defineProperty;var j=(a,r,e)=>r in a?I(a,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[r]=e;var P=(a,r,e)=>j(a,typeof r!="symbol"?r+"":r,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("humanize-duration"),m=require("ulid"),s=require("@milaboratories/pl-model-common"),M=require("node:module"),q=require("node:path"),A=require("node:url"),U=require("@mapbox/node-pre-gyp"),R=require("node:crypto"),p=require("node:fs"),S=require("node:stream");var F=typeof document<"u"?document.currentScript:null;const E=typeof document>"u"?require("url").pathToFileURL(__filename).href:F&&F.tagName.toUpperCase()==="SCRIPT"&&F.src||new URL("index.js",document.baseURI).href,J=q.dirname(A.fileURLToPath(E)),N=M.createRequire(E),{find:O}=U,d=N(O(q.resolve(J,"../package.json")));async function C(a){try{return await p.promises.access(a),!0}catch{return!1}}async function k(a){await C(a)||await p.promises.mkdir(a,{recursive:!0})}async function v(a,r){const e=`${a}.tmp`;await C(e)&&await p.promises.rm(e,{recursive:!0});const t=typeof r=="string"?Buffer.from(r,"utf8"):r,i=S.Readable.from(t),n=p.createWriteStream(e,{flags:"wx"});await S.Readable.toWeb(i).pipeTo(S.Writable.toWeb(n)),await p.promises.rename(e,a)}function $(a){return R.createHash("sha256").update(a).digest("hex")}function b(a){return a.type==="column"?{...a,id:$(a.id)}:a}function D(a){return{...a,column:b(a.column)}}function _(a){return{...a,columnId:$(a.columnId),filters:a.filters.map(D)}}function B(a){return{...a,column:b(a.column)}}function w(a){const r=a.type;switch(r){case"column":return{...a,columnId:$(a.columnId)};case"slicedColumn":return{...a,columnId:$(a.columnId),newId:$(a.newId)};case"inlineColumn":return{...a,newId:$(a.newId)};case"inner":return{...a,entries:a.entries.map(w)};case"full":return{...a,entries:a.entries.map(w)};case"outer":return{...a,primary:w(a.primary),secondary:a.secondary.map(w)};default:throw new Error(`Unsupported join entry type: ${r}`)}}function V(a){return{...a,src:w(a.src),filters:a.filters.map(D)}}async function l(a,r,e){if(process.env.MI_DUMP_PFRAMES_RS)try{const t=a.map(u=>encodeURIComponent(u)),i=q.join(process.env.MI_DUMP_PFRAMES_RS,...t.slice(0,-1));await k(i);const n=q.join(process.env.MI_DUMP_PFRAMES_RS,...t),o=ArrayBuffer.isView(r)?r:JSON.stringify(r,null,2);await v(n,o)}catch(t){e==null||e("warn",`error while dumping PFrames data: ${t}`)}}let x=class{constructor(r,e){P(this,"id",m.ulid());P(this,"frame");var t;this.logger=e,l([`${this.id}`,`${this.id}.json`],{timeStamp:Date.now(),requestType:"create"},this.logger);try{this.frame=d.pFrameCreate(r,e),(t=this.logger)==null||t.call(this,"info",`PFrame ${this.id} created`)}catch(i){throw new s.PFrameError(`PFrame ${this.id} creation failed, logger: ${e==null?void 0:e.toString()}, error:
|
|
2
|
+
${s.ensureError(i).message}`)}}static async pprofDump(){try{return await d.pprofDump()}catch(r){throw new s.PFrameError(`PFrame pprofDump failed, error:
|
|
3
|
+
${s.ensureError(r).message}`)}}addColumnSpec(r,e){const t=m.ulid();l([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"addColumnSpec",requestData:{columnId:$(r),columnSpec:e}},this.logger),l([`${this.id}`,"data",`${$(r)}.spec`],{...e},this.logger);try{return d.pFrameAddColumnSpec(this.frame,r,e)}catch(i){throw new s.PFrameError(`PFrame ${this.id} addColumnSpec request ${t} failed, columnId: ${JSON.stringify(r)}, columnSpec: ${JSON.stringify(e)}, error:
|
|
4
|
+
${s.ensureError(i).message}`)}}setDataSource(r){const e=m.ulid();l([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"setDataSource"},this.logger);const t={preloadBlob:async i=>{var u,h;const n=m.ulid();l([`${this.id}`,`${n}.json`],{timeStamp:Date.now(),requestType:"preloadBlob",requestData:{blobIds:i}},this.logger),(u=this.logger)==null||u.call(this,"info",`PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(i)}`);const o=performance.now();try{return await r.preloadBlob(i)}finally{const c=performance.now();(h=this.logger)==null||h.call(this,"info",`PFrame ${this.id} preloadBlob finished, took ${f(Math.round(c-o))} (${i.length} blobs)`)}},resolveBlobContent:async i=>{var u;const n=m.ulid();l([`${this.id}`,`${n}.json`],{timeStamp:Date.now(),requestType:"resolveBlobContent",requestData:{blobId:i}},this.logger);const o=await r.resolveBlobContent(i);return(u=this.logger)==null||u.call(this,"info",`PFrame ${this.id} resolved blob ${i}`),l([`${this.id}`,"data",`${i}`],o,this.logger),o}};try{return d.pFrameSetDataSource(this.frame,t)}catch(i){throw new s.PFrameError(`PFrame ${this.id} setDataSource request ${e} failed, dataSource: ${r.toString()}, error:
|
|
5
|
+
${s.ensureError(i).message}`)}}setColumnData(r,e,t){var n;const i=m.ulid();l([`${this.id}`,`${i}.json`],{timeStamp:Date.now(),requestType:"setColumnData",requestData:{columnId:$(r),dataInfo:e}},this.logger),l([`${this.id}`,"data",`${$(r)}.datainfo`],{...e},this.logger);try{return(n=t==null?void 0:t.signal)==null||n.throwIfAborted(),d.pFrameSetColumnData(this.frame,r,e,t==null?void 0:t.signal)}catch(o){throw new s.PFrameError(`PFrame ${this.id} setColumnData request ${i} failed, columnId: ${JSON.stringify(r)}, dataInfo: ${JSON.stringify(e)}, error:
|
|
6
|
+
${s.ensureError(o).message}`)}}dispose(){var e;const r=m.ulid();l([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.logger);try{d.pFrameDispose(this.frame),(e=this.logger)==null||e.call(this,"info",`PFrame ${this.id} disposed`)}catch(t){throw new s.PFrameError(`PFrame ${this.id} dispose request ${r} failed, error:
|
|
7
|
+
${s.ensureError(t).message}`)}}[Symbol.dispose](){this.dispose()}async findColumns(r){var i;const e=m.ulid();l([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"findColumns",requestData:r},this.logger);const t=performance.now();try{return await d.pFrameFindColumns(this.frame,r)}catch(n){throw new s.PFrameError(`PFrame ${this.id} findColumns request ${e} failed, request: ${JSON.stringify(r)}, error:
|
|
8
|
+
${s.ensureError(n).message}`)}finally{const n=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame ${this.id} findColumns request ${e} took ${f(Math.round(n-t))}`)}}async deleteColumn(r){var i;const e=m.ulid();l([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"deleteColumn",requestData:r},this.logger);const t=performance.now();try{return await d.pFrameDeleteColumn(this.frame,r)}catch(n){throw new s.PFrameError(`PFrame ${this.id} deleteColumn request ${e} failed, request: ${JSON.stringify(r)}, error:
|
|
9
|
+
${s.ensureError(n).message}`)}finally{const n=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame ${this.id} deleteColumn request ${e} took ${f(Math.round(n-t))}`)}}async getColumnSpec(r){var i;const e=m.ulid();l([`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getColumnSpec",requestData:{columnId:$(r)}},this.logger);const t=performance.now();try{return await d.pFrameGetColumnSpec(this.frame,r)}catch(n){throw new s.PFrameError(`PFrame ${this.id} getColumnSpec request ${e} failed, columnId: ${JSON.stringify(r)}, error:
|
|
10
|
+
${s.ensureError(n).message}`)}finally{const n=performance.now();(i=this.logger)==null||i.call(this,"info",`PFrame ${this.id} getColumnSpec request ${e} took ${f(Math.round(n-t))}`)}}async listColumns(){var t;const r=m.ulid();l([`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"listColumns"},this.logger);const e=performance.now();try{return await d.pFrameListColumns(this.frame)}catch(i){throw new s.PFrameError(`PFrame ${this.id} listColumns request ${r} failed, error:
|
|
11
|
+
${s.ensureError(i).message}`)}finally{const i=performance.now();(t=this.logger)==null||t.call(this,"info",`PFrame ${this.id} listColumns request ${r} took ${f(Math.round(i-e))}`)}}createTable(r){var n;const e=m.ulid(),t={timeStamp:Date.now(),requestType:"createTable",requestData:V(r)};l([`${this.id}`,`${e}.json`],t,this.logger),l([`${this.id}`,`${e}`,`${e}.json`],t,this.logger);const i=performance.now();try{const o=d.pFrameCreateTable(this.frame,e,r);return new y(this,e,o)}catch(o){throw new s.PFrameError(`PFrame ${this.id} createTable request ${e} failed, request: ${JSON.stringify(r)}, error:
|
|
12
|
+
${s.ensureError(o).message}`)}finally{const o=performance.now();(n=this.logger)==null||n.call(this,"info",`PFrame ${this.id} createTable request ${e} took ${f(Math.round(o-i))}`)}}async getUniqueValues(r,e){var n,o,u;const t=m.ulid();l([`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getUniqueValues",requestData:_(r)},this.logger),(n=this.logger)==null||n.call(this,"info",`PFrame ${this.id} getUniqueValues request ${t} started`);const i=performance.now();try{return(o=e==null?void 0:e.signal)==null||o.throwIfAborted(),await d.pFrameGetUniqueValues(this.frame,t,r,e==null?void 0:e.signal)}catch(h){throw s.isAbortError(h)?new s.AbortError(`PFrame ${this.id} getUniqueValues request ${t} cancelled`):new s.PFrameError(`PFrame ${this.id} getUniqueValues request ${t} failed, request: ${JSON.stringify(r)}, error:
|
|
13
|
+
${s.ensureError(h).message}`)}finally{const h=performance.now();(u=this.logger)==null||u.call(this,"info",`PFrame ${this.id} getUniqueValues request ${t} finished, took ${f(Math.round(h-i))}`)}}};class y{constructor(r,e,t){var i,n;this.frame=r,this.id=e,this.table=t,(n=(i=this.frame).logger)==null||n.call(i,"info",`PTable ${this.id} created`)}getSpec(){const r=m.ulid();l([`${this.frame.id}`,`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"getSpec"},this.frame.logger);try{return d.pTableGetSpec(this.table)}catch(e){throw new s.PFrameError(`PTable ${this.id} getSpec request ${r} failed, error:
|
|
14
|
+
${s.ensureError(e).message}`)}}getColumnIndices(r){const e=m.ulid();l([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getColumnIndices",requestData:{columnIds:r.map(b)}},this.frame.logger);try{return d.pTableGetColumnIndices(this.table,r)}catch(t){throw new s.PFrameError(`PTable ${this.id} getColumnIndices request ${e} failed, columnIds: ${JSON.stringify(r)}, error:
|
|
15
|
+
${s.ensureError(t).message}`)}}async getFootprint(r){var i,n,o,u,h;const e=m.ulid();l([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getFootprint"},this.frame.logger),(n=(i=this.frame).logger)==null||n.call(i,"info",`PTable ${this.id} getFootprint request ${e} started`);const t=performance.now();try{return(o=r==null?void 0:r.signal)==null||o.throwIfAborted(),await d.pTableGetFootprint(this.table,(r==null?void 0:r.withPredecessors)??!1,r==null?void 0:r.signal)}catch(c){throw s.isAbortError(c)?new s.AbortError(`PTable ${this.id} getFootprint request ${e} cancelled`):new s.PFrameError(`PTable ${this.id} getFootprint request ${e} failed, error:
|
|
16
|
+
${s.ensureError(c).message}`)}finally{const c=performance.now();(h=(u=this.frame).logger)==null||h.call(u,"info",`PTable ${this.id} getFootprint request ${e} finished, took ${f(Math.round(c-t))}`)}}async getShape(r){var i,n,o,u,h;const e=m.ulid();l([`${this.frame.id}`,`${this.id}`,`${e}.json`],{timeStamp:Date.now(),requestType:"getShape"},this.frame.logger),(n=(i=this.frame).logger)==null||n.call(i,"info",`PTable ${this.id} getShape request ${e} started`);const t=performance.now();try{return(o=r==null?void 0:r.signal)==null||o.throwIfAborted(),await d.pTableGetShape(this.table,r==null?void 0:r.signal)}catch(c){throw s.isAbortError(c)?new s.AbortError(`PTable ${this.id} getShape request ${e} cancelled`):new s.PFrameError(`PTable ${this.id} getShape request ${e} failed, error:
|
|
17
|
+
${s.ensureError(c).message}`)}finally{const c=performance.now();(h=(u=this.frame).logger)==null||h.call(u,"info",`PTable ${this.id} getShape request ${e} finished, took ${f(Math.round(c-t))}`)}}async getData(r,e){var o,u,h,c,T;const t=m.ulid();l([`${this.frame.id}`,`${this.id}`,`${t}.json`],{timeStamp:Date.now(),requestType:"getData",requestData:{columnIndices:r,range:(e==null?void 0:e.range)??null}},this.frame.logger),(u=(o=this.frame).logger)==null||u.call(o,"info",`PTable ${this.id} getData request ${t} started`);let i=0;const n=performance.now();try{(h=e==null?void 0:e.signal)==null||h.throwIfAborted();const g=await d.pTableGetData(this.table,t,r,e==null?void 0:e.range,e==null?void 0:e.signal);return i=g[0].data.length,g}catch(g){throw s.isAbortError(g)?new s.AbortError(`PTable ${this.id} getData request ${t} cancelled`):new s.PFrameError(`PTable ${this.id} getData request ${t} failed, columnIndices: ${JSON.stringify(r)}, range: ${e!=null&&e.range?JSON.stringify(e.range):void 0}, error:
|
|
18
|
+
${s.ensureError(g).message}`)}finally{const g=performance.now();(T=(c=this.frame).logger)==null||T.call(c,"info",`PTable ${this.id} getData request ${t} finished, took ${f(Math.round(g-n))} (${i} rows)`)}}filter(r){var n,o;const e=m.ulid(),t={timeStamp:Date.now(),table:this.id,requestType:"filter",requestData:{filters:r.map(D)}};l([`${this.frame.id}`,`${e}.json`],t,this.frame.logger),l([`${this.frame.id}`,`${e}`,`${e}.json`],t,this.frame.logger);const i=performance.now();try{const u=d.pTableFilter(this.table,e,r);return new y(this.frame,e,u)}catch(u){throw new s.PFrameError(`PTable ${this.id} filter request ${e} failed, request: ${JSON.stringify(r)}, error:
|
|
19
|
+
${s.ensureError(u).message}`)}finally{const u=performance.now();(o=(n=this.frame).logger)==null||o.call(n,"info",`PTable ${this.id} filter request ${e} took ${f(Math.round(u-i))}`)}}sort(r){var n,o;const e=m.ulid(),t={timeStamp:Date.now(),table:this.id,requestType:"sort",requestData:r.map(B)};l([`${this.frame.id}`,`${e}.json`],t,this.frame.logger),l([`${this.frame.id}`,`${e}`,`${e}.json`],t,this.frame.logger);const i=performance.now();try{const u=d.pTableSort(this.table,e,r);return new y(this.frame,e,u)}catch(u){throw new s.PFrameError(`PTable ${this.id} sort request ${e} failed, request: ${JSON.stringify(r)}, error:
|
|
20
|
+
${s.ensureError(u).message}`)}finally{const u=performance.now();(o=(n=this.frame).logger)==null||o.call(n,"info",`PTable ${this.id} sort request ${e} took ${f(Math.round(u-i))}`)}}dispose(){var e,t;const r=m.ulid();l([`${this.frame.id}`,`${this.id}`,`${r}.json`],{timeStamp:Date.now(),requestType:"dispose"},this.frame.logger);try{d.pTableDispose(this.table),(t=(e=this.frame).logger)==null||t.call(e,"info",`PTable ${this.id} disposed`)}catch(i){throw new s.PFrameError(`PTable ${this.id} dispose request ${r} failed, error:
|
|
21
|
+
${s.ensureError(i).message}`)}}[Symbol.dispose](){this.dispose()}}const G=x;exports.PFrame=G;
|
|
22
22
|
//# 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 { createHash } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\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 function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV3\n): PFrameInternal.JoinEntryV3 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV3\n): PFrameInternal.CreateTableRequestV3 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\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, null, 2);\n await writeFile(filePath, fileData);\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n","import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n DataInfo,\n PColumnInfo,\n PColumnSpec,\n PFrameError,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n FrameId,\n TableId,\n NodeFrameSymbol,\n NodeTableSymbol\n} from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport class PFrame implements PFrameInternal.PFrameV8 {\n public readonly id: FrameId = ulid() as FrameId;\n private readonly frame: NodeFrameSymbol;\n\n static async pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame pprofDump failed, ` + `error:\\n` + `${ensureError(err).message}`\n );\n }\n }\n\n constructor(\n spillPath: string,\n public readonly logger?: PFrameInternal.Logger\n ) {\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.logger\n );\n\n try {\n this.frame = AddonSymbol.pFrameCreate(spillPath, logger);\n this.logger?.('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: hashColumnId(columnId),\n columnSpec\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(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 PFrameError(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 const 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 this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\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 this.logger?.('info', `PFrame ${this.id} resolved blob ${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 PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: hashColumnId(columnId),\n dataInfo\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(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 PFrameError(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 this.logger?.('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 PFrameError(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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: hashColumnId(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 PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(\n request: PFrameInternal.CreateTableRequestV3\n ): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(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 = AddonSymbol.pFrameCreateTable(\n this.frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.logger\n );\n\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV6 {\n constructor(\n private readonly frame: PFrame,\n public readonly id: string,\n private readonly table: NodeTableSymbol\n ) {\n this.frame.logger?.('info', `PTable ${this.id} created`);\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 PFrameError(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: columnIds.map(hashTableColumnId)\n }\n },\n this.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n async getFootprint(ops?: {\n withPredecessors?: boolean;\n signal?: AbortSignal;\n }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<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 this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))} (${rowCount} rows)`\n );\n }\n }\n\n filter(request: PTableRecordFilter[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\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 = AddonSymbol.pTableFilter(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\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 = AddonSymbol.pTableSort(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 this.frame.logger?.('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n","import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame as PFrameImpl } from './wrapper';\n\nexport type PFrame = {\n new (\n spillPath: string,\n logger?: PFrameInternal.Logger\n ): PFrameInternal.PFrameV8;\n\n pprofDump: () => Promise<Uint8Array>;\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","hashColumnId","columnId","createHash","hashTableColumnId","tableId","hashFilterColumnId","filter","hashUniqueValuesRequestColumnId","request","hashSortingColumnId","sorting","hashJoinEntryColumnId","entry","type","hashCreateTableRequestColumnId","dump","relativePath","logger","relativeUri","part","fileDir","fileData","error","PFrame$1","spillPath","__publicField","ulid","_a","err","PFrameError","ensureError","columnSpec","requestId","dataSource","wrappedDataSource","blobIds","t0","t1","_b","humanizeDuration","blobId","blob","dataInfo","dumpData","boxed","PTable","ops","isAbortError","AbortError","_c","frame","id","table","columnIds","_e","_d","columnIndices","rowCount","result","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 { createHash } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\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 function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV3\n): PFrameInternal.JoinEntryV3 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV3\n): PFrameInternal.CreateTableRequestV3 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\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, null, 2);\n await writeFile(filePath, fileData);\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n","import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n DataInfo,\n PColumnInfo,\n PColumnSpec,\n PFrameError,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n FrameId,\n TableId,\n NodeFrameSymbol,\n NodeTableSymbol\n} from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport class PFrame implements PFrameInternal.PFrameV9 {\n public readonly id: FrameId = ulid() as FrameId;\n private readonly frame: NodeFrameSymbol;\n\n static async pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame pprofDump failed, ` + `error:\\n` + `${ensureError(err).message}`\n );\n }\n }\n\n constructor(\n spillPath: string,\n public readonly logger?: PFrameInternal.Logger\n ) {\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.logger\n );\n\n try {\n this.frame = AddonSymbol.pFrameCreate(spillPath, logger);\n this.logger?.('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: hashColumnId(columnId),\n columnSpec\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(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 PFrameError(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 const 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 this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\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 this.logger?.('info', `PFrame ${this.id} resolved blob ${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 PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: DataInfo<PFrameInternal.PFrameBlobId>,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<void> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId: hashColumnId(columnId),\n dataInfo\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.datainfo`],\n {\n ...dataInfo\n },\n this.logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return AddonSymbol.pFrameSetColumnData(\n this.frame,\n columnId,\n dataInfo,\n ops?.signal\n );\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 this.logger?.('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 PFrameError(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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: hashColumnId(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 PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(\n request: PFrameInternal.CreateTableRequestV3\n ): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(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 = AddonSymbol.pFrameCreateTable(\n this.frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.logger\n );\n\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV6 {\n constructor(\n private readonly frame: PFrame,\n public readonly id: string,\n private readonly table: NodeTableSymbol\n ) {\n this.frame.logger?.('info', `PTable ${this.id} created`);\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 PFrameError(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: columnIds.map(hashTableColumnId)\n }\n },\n this.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n async getFootprint(ops?: {\n withPredecessors?: boolean;\n signal?: AbortSignal;\n }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<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 this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))} (${rowCount} rows)`\n );\n }\n }\n\n filter(request: PTableRecordFilter[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\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 = AddonSymbol.pTableFilter(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\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 = AddonSymbol.pTableSort(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 this.frame.logger?.('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n","import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame as PFrameImpl } from './wrapper';\n\nexport type PFrame = {\n new (\n spillPath: string,\n logger?: PFrameInternal.Logger\n ): PFrameInternal.PFrameV9;\n\n pprofDump: () => Promise<Uint8Array>;\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","hashColumnId","columnId","createHash","hashTableColumnId","tableId","hashFilterColumnId","filter","hashUniqueValuesRequestColumnId","request","hashSortingColumnId","sorting","hashJoinEntryColumnId","entry","type","hashCreateTableRequestColumnId","dump","relativePath","logger","relativeUri","part","fileDir","fileData","error","PFrame$1","spillPath","__publicField","ulid","_a","err","PFrameError","ensureError","columnSpec","requestId","dataSource","wrappedDataSource","blobIds","t0","t1","_b","humanizeDuration","blobId","blob","dataInfo","ops","dumpData","boxed","PTable","isAbortError","AbortError","_c","frame","id","table","columnIds","_e","_d","columnIndices","rowCount","result","PFrame","PFrameImpl"],"mappings":"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"}
|
package/export_dist/index.mjs
CHANGED
|
@@ -107,13 +107,13 @@ function z(a) {
|
|
|
107
107
|
async function m(a, t, e) {
|
|
108
108
|
if (process.env.MI_DUMP_PFRAMES_RS)
|
|
109
109
|
try {
|
|
110
|
-
const r = a.map((
|
|
110
|
+
const r = a.map((o) => encodeURIComponent(o)), i = C.join(
|
|
111
111
|
process.env.MI_DUMP_PFRAMES_RS,
|
|
112
112
|
...r.slice(0, -1)
|
|
113
113
|
);
|
|
114
114
|
await G(i);
|
|
115
|
-
const s = C.join(process.env.MI_DUMP_PFRAMES_RS, ...r),
|
|
116
|
-
await _(s,
|
|
115
|
+
const s = C.join(process.env.MI_DUMP_PFRAMES_RS, ...r), n = ArrayBuffer.isView(t) ? t : JSON.stringify(t, null, 2);
|
|
116
|
+
await _(s, n);
|
|
117
117
|
} catch (r) {
|
|
118
118
|
e == null || e("warn", `error while dumping PFrames data: ${r}`);
|
|
119
119
|
}
|
|
@@ -191,7 +191,7 @@ ${u(i).message}`
|
|
|
191
191
|
);
|
|
192
192
|
const r = {
|
|
193
193
|
preloadBlob: async (i) => {
|
|
194
|
-
var
|
|
194
|
+
var o, d;
|
|
195
195
|
const s = l();
|
|
196
196
|
m(
|
|
197
197
|
[`${this.id}`, `${s}.json`],
|
|
@@ -203,12 +203,12 @@ ${u(i).message}`
|
|
|
203
203
|
}
|
|
204
204
|
},
|
|
205
205
|
this.logger
|
|
206
|
-
), (
|
|
206
|
+
), (o = this.logger) == null || o.call(
|
|
207
207
|
this,
|
|
208
208
|
"info",
|
|
209
209
|
`PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(i)}`
|
|
210
210
|
);
|
|
211
|
-
const
|
|
211
|
+
const n = performance.now();
|
|
212
212
|
try {
|
|
213
213
|
return await t.preloadBlob(i);
|
|
214
214
|
} finally {
|
|
@@ -216,12 +216,12 @@ ${u(i).message}`
|
|
|
216
216
|
(d = this.logger) == null || d.call(
|
|
217
217
|
this,
|
|
218
218
|
"info",
|
|
219
|
-
`PFrame ${this.id} preloadBlob finished, took ${$(Math.round(f -
|
|
219
|
+
`PFrame ${this.id} preloadBlob finished, took ${$(Math.round(f - n))} (${i.length} blobs)`
|
|
220
220
|
);
|
|
221
221
|
}
|
|
222
222
|
},
|
|
223
223
|
resolveBlobContent: async (i) => {
|
|
224
|
-
var
|
|
224
|
+
var o;
|
|
225
225
|
const s = l();
|
|
226
226
|
m(
|
|
227
227
|
[`${this.id}`, `${s}.json`],
|
|
@@ -234,8 +234,8 @@ ${u(i).message}`
|
|
|
234
234
|
},
|
|
235
235
|
this.logger
|
|
236
236
|
);
|
|
237
|
-
const
|
|
238
|
-
return (
|
|
237
|
+
const n = await t.resolveBlobContent(i);
|
|
238
|
+
return (o = this.logger) == null || o.call(this, "info", `PFrame ${this.id} resolved blob ${i}`), m([`${this.id}`, "data", `${i}`], n, this.logger), n;
|
|
239
239
|
}
|
|
240
240
|
};
|
|
241
241
|
try {
|
|
@@ -247,10 +247,11 @@ ${u(i).message}`
|
|
|
247
247
|
);
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
-
setColumnData(t, e) {
|
|
251
|
-
|
|
250
|
+
setColumnData(t, e, r) {
|
|
251
|
+
var s;
|
|
252
|
+
const i = l();
|
|
252
253
|
m(
|
|
253
|
-
[`${this.id}`, `${
|
|
254
|
+
[`${this.id}`, `${i}.json`],
|
|
254
255
|
{
|
|
255
256
|
timeStamp: Date.now(),
|
|
256
257
|
requestType: "setColumnData",
|
|
@@ -268,11 +269,16 @@ ${u(i).message}`
|
|
|
268
269
|
this.logger
|
|
269
270
|
);
|
|
270
271
|
try {
|
|
271
|
-
return
|
|
272
|
-
|
|
272
|
+
return (s = r == null ? void 0 : r.signal) == null || s.throwIfAborted(), c.pFrameSetColumnData(
|
|
273
|
+
this.frame,
|
|
274
|
+
t,
|
|
275
|
+
e,
|
|
276
|
+
r == null ? void 0 : r.signal
|
|
277
|
+
);
|
|
278
|
+
} catch (n) {
|
|
273
279
|
throw new h(
|
|
274
|
-
`PFrame ${this.id} setColumnData request ${
|
|
275
|
-
${u(
|
|
280
|
+
`PFrame ${this.id} setColumnData request ${i} failed, columnId: ${JSON.stringify(t)}, dataInfo: ${JSON.stringify(e)}, error:
|
|
281
|
+
${u(n).message}`
|
|
276
282
|
);
|
|
277
283
|
}
|
|
278
284
|
}
|
|
@@ -430,28 +436,28 @@ ${u(i).message}`
|
|
|
430
436
|
);
|
|
431
437
|
const i = performance.now();
|
|
432
438
|
try {
|
|
433
|
-
const
|
|
439
|
+
const n = c.pFrameCreateTable(
|
|
434
440
|
this.frame,
|
|
435
441
|
e,
|
|
436
442
|
t
|
|
437
443
|
);
|
|
438
|
-
return new D(this, e,
|
|
439
|
-
} catch (
|
|
444
|
+
return new D(this, e, n);
|
|
445
|
+
} catch (n) {
|
|
440
446
|
throw new h(
|
|
441
447
|
`PFrame ${this.id} createTable request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
442
|
-
${u(
|
|
448
|
+
${u(n).message}`
|
|
443
449
|
);
|
|
444
450
|
} finally {
|
|
445
|
-
const
|
|
451
|
+
const n = performance.now();
|
|
446
452
|
(s = this.logger) == null || s.call(
|
|
447
453
|
this,
|
|
448
454
|
"info",
|
|
449
|
-
`PFrame ${this.id} createTable request ${e} took ${$(Math.round(
|
|
455
|
+
`PFrame ${this.id} createTable request ${e} took ${$(Math.round(n - i))}`
|
|
450
456
|
);
|
|
451
457
|
}
|
|
452
458
|
}
|
|
453
459
|
async getUniqueValues(t, e) {
|
|
454
|
-
var s,
|
|
460
|
+
var s, n, o;
|
|
455
461
|
const r = l();
|
|
456
462
|
m(
|
|
457
463
|
[`${this.id}`, `${r}.json`],
|
|
@@ -468,7 +474,7 @@ ${u(o).message}`
|
|
|
468
474
|
);
|
|
469
475
|
const i = performance.now();
|
|
470
476
|
try {
|
|
471
|
-
return (
|
|
477
|
+
return (n = e == null ? void 0 : e.signal) == null || n.throwIfAborted(), await c.pFrameGetUniqueValues(
|
|
472
478
|
this.frame,
|
|
473
479
|
r,
|
|
474
480
|
t,
|
|
@@ -483,7 +489,7 @@ ${u(d).message}`
|
|
|
483
489
|
);
|
|
484
490
|
} finally {
|
|
485
491
|
const d = performance.now();
|
|
486
|
-
(
|
|
492
|
+
(o = this.logger) == null || o.call(
|
|
487
493
|
this,
|
|
488
494
|
"info",
|
|
489
495
|
`PFrame ${this.id} getUniqueValues request ${r} finished, took ${$(Math.round(d - i))}`
|
|
@@ -538,7 +544,7 @@ ${u(r).message}`
|
|
|
538
544
|
}
|
|
539
545
|
}
|
|
540
546
|
async getFootprint(t) {
|
|
541
|
-
var i, s,
|
|
547
|
+
var i, s, n, o, d;
|
|
542
548
|
const e = l();
|
|
543
549
|
m(
|
|
544
550
|
[`${this.frame.id}`, `${this.id}`, `${e}.json`],
|
|
@@ -554,7 +560,7 @@ ${u(r).message}`
|
|
|
554
560
|
);
|
|
555
561
|
const r = performance.now();
|
|
556
562
|
try {
|
|
557
|
-
return (
|
|
563
|
+
return (n = t == null ? void 0 : t.signal) == null || n.throwIfAborted(), await c.pTableGetFootprint(
|
|
558
564
|
this.table,
|
|
559
565
|
(t == null ? void 0 : t.withPredecessors) ?? !1,
|
|
560
566
|
t == null ? void 0 : t.signal
|
|
@@ -568,15 +574,15 @@ ${u(f).message}`
|
|
|
568
574
|
);
|
|
569
575
|
} finally {
|
|
570
576
|
const f = performance.now();
|
|
571
|
-
(d = (
|
|
572
|
-
|
|
577
|
+
(d = (o = this.frame).logger) == null || d.call(
|
|
578
|
+
o,
|
|
573
579
|
"info",
|
|
574
580
|
`PTable ${this.id} getFootprint request ${e} finished, took ${$(Math.round(f - r))}`
|
|
575
581
|
);
|
|
576
582
|
}
|
|
577
583
|
}
|
|
578
584
|
async getShape(t) {
|
|
579
|
-
var i, s,
|
|
585
|
+
var i, s, n, o, d;
|
|
580
586
|
const e = l();
|
|
581
587
|
m(
|
|
582
588
|
[`${this.frame.id}`, `${this.id}`, `${e}.json`],
|
|
@@ -592,7 +598,7 @@ ${u(f).message}`
|
|
|
592
598
|
);
|
|
593
599
|
const r = performance.now();
|
|
594
600
|
try {
|
|
595
|
-
return (
|
|
601
|
+
return (n = t == null ? void 0 : t.signal) == null || n.throwIfAborted(), await c.pTableGetShape(this.table, t == null ? void 0 : t.signal);
|
|
596
602
|
} catch (f) {
|
|
597
603
|
throw y(f) ? new S(
|
|
598
604
|
`PTable ${this.id} getShape request ${e} cancelled`
|
|
@@ -602,15 +608,15 @@ ${u(f).message}`
|
|
|
602
608
|
);
|
|
603
609
|
} finally {
|
|
604
610
|
const f = performance.now();
|
|
605
|
-
(d = (
|
|
606
|
-
|
|
611
|
+
(d = (o = this.frame).logger) == null || d.call(
|
|
612
|
+
o,
|
|
607
613
|
"info",
|
|
608
614
|
`PTable ${this.id} getShape request ${e} finished, took ${$(Math.round(f - r))}`
|
|
609
615
|
);
|
|
610
616
|
}
|
|
611
617
|
}
|
|
612
618
|
async getData(t, e) {
|
|
613
|
-
var
|
|
619
|
+
var n, o, d, f, F;
|
|
614
620
|
const r = l();
|
|
615
621
|
m(
|
|
616
622
|
[`${this.frame.id}`, `${this.id}`, `${r}.json`],
|
|
@@ -623,8 +629,8 @@ ${u(f).message}`
|
|
|
623
629
|
}
|
|
624
630
|
},
|
|
625
631
|
this.frame.logger
|
|
626
|
-
), (
|
|
627
|
-
|
|
632
|
+
), (o = (n = this.frame).logger) == null || o.call(
|
|
633
|
+
n,
|
|
628
634
|
"info",
|
|
629
635
|
`PTable ${this.id} getData request ${r} started`
|
|
630
636
|
);
|
|
@@ -657,7 +663,7 @@ ${u(w).message}`
|
|
|
657
663
|
}
|
|
658
664
|
}
|
|
659
665
|
filter(t) {
|
|
660
|
-
var s,
|
|
666
|
+
var s, n;
|
|
661
667
|
const e = l(), r = {
|
|
662
668
|
timeStamp: Date.now(),
|
|
663
669
|
table: this.id,
|
|
@@ -677,24 +683,24 @@ ${u(w).message}`
|
|
|
677
683
|
);
|
|
678
684
|
const i = performance.now();
|
|
679
685
|
try {
|
|
680
|
-
const
|
|
681
|
-
return new D(this.frame, e,
|
|
682
|
-
} catch (
|
|
686
|
+
const o = c.pTableFilter(this.table, e, t);
|
|
687
|
+
return new D(this.frame, e, o);
|
|
688
|
+
} catch (o) {
|
|
683
689
|
throw new h(
|
|
684
690
|
`PTable ${this.id} filter request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
685
|
-
${u(
|
|
691
|
+
${u(o).message}`
|
|
686
692
|
);
|
|
687
693
|
} finally {
|
|
688
|
-
const
|
|
689
|
-
(
|
|
694
|
+
const o = performance.now();
|
|
695
|
+
(n = (s = this.frame).logger) == null || n.call(
|
|
690
696
|
s,
|
|
691
697
|
"info",
|
|
692
|
-
`PTable ${this.id} filter request ${e} took ${$(Math.round(
|
|
698
|
+
`PTable ${this.id} filter request ${e} took ${$(Math.round(o - i))}`
|
|
693
699
|
);
|
|
694
700
|
}
|
|
695
701
|
}
|
|
696
702
|
sort(t) {
|
|
697
|
-
var s,
|
|
703
|
+
var s, n;
|
|
698
704
|
const e = l(), r = {
|
|
699
705
|
timeStamp: Date.now(),
|
|
700
706
|
table: this.id,
|
|
@@ -712,19 +718,19 @@ ${u(n).message}`
|
|
|
712
718
|
);
|
|
713
719
|
const i = performance.now();
|
|
714
720
|
try {
|
|
715
|
-
const
|
|
716
|
-
return new D(this.frame, e,
|
|
717
|
-
} catch (
|
|
721
|
+
const o = c.pTableSort(this.table, e, t);
|
|
722
|
+
return new D(this.frame, e, o);
|
|
723
|
+
} catch (o) {
|
|
718
724
|
throw new h(
|
|
719
725
|
`PTable ${this.id} sort request ${e} failed, request: ${JSON.stringify(t)}, error:
|
|
720
|
-
${u(
|
|
726
|
+
${u(o).message}`
|
|
721
727
|
);
|
|
722
728
|
} finally {
|
|
723
|
-
const
|
|
724
|
-
(
|
|
729
|
+
const o = performance.now();
|
|
730
|
+
(n = (s = this.frame).logger) == null || n.call(
|
|
725
731
|
s,
|
|
726
732
|
"info",
|
|
727
|
-
`PTable ${this.id} sort request ${e} took ${$(Math.round(
|
|
733
|
+
`PTable ${this.id} sort request ${e} took ${$(Math.round(o - i))}`
|
|
728
734
|
);
|
|
729
735
|
}
|
|
730
736
|
}
|
|
@@ -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 { createHash } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\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 function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV3\n): PFrameInternal.JoinEntryV3 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV3\n): PFrameInternal.CreateTableRequestV3 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\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, null, 2);\n await writeFile(filePath, fileData);\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n","import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n DataInfo,\n PColumnInfo,\n PColumnSpec,\n PFrameError,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n FrameId,\n TableId,\n NodeFrameSymbol,\n NodeTableSymbol\n} from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport class PFrame implements PFrameInternal.PFrameV8 {\n public readonly id: FrameId = ulid() as FrameId;\n private readonly frame: NodeFrameSymbol;\n\n static async pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame pprofDump failed, ` + `error:\\n` + `${ensureError(err).message}`\n );\n }\n }\n\n constructor(\n spillPath: string,\n public readonly logger?: PFrameInternal.Logger\n ) {\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.logger\n );\n\n try {\n this.frame = AddonSymbol.pFrameCreate(spillPath, logger);\n this.logger?.('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: hashColumnId(columnId),\n columnSpec\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(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 PFrameError(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 const 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 this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\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 this.logger?.('info', `PFrame ${this.id} resolved blob ${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 PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: hashColumnId(columnId),\n dataInfo\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(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 PFrameError(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 this.logger?.('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 PFrameError(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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: hashColumnId(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 PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(\n request: PFrameInternal.CreateTableRequestV3\n ): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(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 = AddonSymbol.pFrameCreateTable(\n this.frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.logger\n );\n\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV6 {\n constructor(\n private readonly frame: PFrame,\n public readonly id: string,\n private readonly table: NodeTableSymbol\n ) {\n this.frame.logger?.('info', `PTable ${this.id} created`);\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 PFrameError(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: columnIds.map(hashTableColumnId)\n }\n },\n this.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n async getFootprint(ops?: {\n withPredecessors?: boolean;\n signal?: AbortSignal;\n }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<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 this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))} (${rowCount} rows)`\n );\n }\n }\n\n filter(request: PTableRecordFilter[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\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 = AddonSymbol.pTableFilter(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\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 = AddonSymbol.pTableSort(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 this.frame.logger?.('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n","import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame as PFrameImpl } from './wrapper';\n\nexport type PFrame = {\n new (\n spillPath: string,\n logger?: PFrameInternal.Logger\n ): PFrameInternal.PFrameV8;\n\n pprofDump: () => Promise<Uint8Array>;\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","hashColumnId","columnId","createHash","hashTableColumnId","tableId","hashFilterColumnId","filter","hashUniqueValuesRequestColumnId","request","hashSortingColumnId","sorting","hashJoinEntryColumnId","entry","type","hashCreateTableRequestColumnId","dump","relativePath","logger","relativeUri","part","fileDir","fileData","error","PFrame$1","spillPath","__publicField","ulid","_a","err","PFrameError","ensureError","columnSpec","requestId","dataSource","wrappedDataSource","blobIds","t0","t1","_b","humanizeDuration","blobId","blob","dataInfo","dumpData","boxed","PTable","ops","isAbortError","AbortError","_c","frame","id","table","columnIds","_e","_d","columnIndices","rowCount","result","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 { createHash } from 'node:crypto';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { Readable, Writable } from 'node:stream';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\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 function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash('sha256').update(columnId).digest('hex') as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === 'column') {\n return {\n ...tableId,\n id: hashColumnId(tableId.id)\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(\n filter: PTableRecordFilter\n): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column)\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(\n request: UniqueValuesRequest\n): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column)\n };\n}\n\nfunction hashJoinEntryColumnId(\n entry: PFrameInternal.JoinEntryV3\n): PFrameInternal.JoinEntryV3 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV3\n): PFrameInternal.CreateTableRequestV3 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\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, null, 2);\n await writeFile(filePath, fileData);\n } catch (error: unknown) {\n logger?.('warn', `error while dumping PFrames data: ${error}`);\n }\n}\n","import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n DataInfo,\n PColumnInfo,\n PColumnSpec,\n PFrameError,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n FrameId,\n TableId,\n NodeFrameSymbol,\n NodeTableSymbol\n} from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport class PFrame implements PFrameInternal.PFrameV9 {\n public readonly id: FrameId = ulid() as FrameId;\n private readonly frame: NodeFrameSymbol;\n\n static async pprofDump(): Promise<Uint8Array> {\n try {\n return await AddonSymbol.pprofDump();\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame pprofDump failed, ` + `error:\\n` + `${ensureError(err).message}`\n );\n }\n }\n\n constructor(\n spillPath: string,\n public readonly logger?: PFrameInternal.Logger\n ) {\n dump(\n [`${this.id}`, `${this.id}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'create'\n },\n this.logger\n );\n\n try {\n this.frame = AddonSymbol.pFrameCreate(spillPath, logger);\n this.logger?.('info', `PFrame ${this.id} created`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} creation failed, ` +\n `logger: ${logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: hashColumnId(columnId),\n columnSpec\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(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 PFrameError(\n `PFrame ${this.id} addColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `columnSpec: ${JSON.stringify(columnSpec)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 const 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 this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\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 this.logger?.('info', `PFrame ${this.id} resolved blob ${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 PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n setColumnData(\n columnId: PObjectId,\n dataInfo: DataInfo<PFrameInternal.PFrameBlobId>,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<void> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setColumnData',\n requestData: {\n columnId: hashColumnId(columnId),\n dataInfo\n }\n },\n this.logger\n );\n\n dump(\n [`${this.id}`, `data`, `${hashColumnId(columnId)}.datainfo`],\n {\n ...dataInfo\n },\n this.logger\n );\n\n try {\n ops?.signal?.throwIfAborted();\n return AddonSymbol.pFrameSetColumnData(\n this.frame,\n columnId,\n dataInfo,\n ops?.signal\n );\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setColumnData request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `dataInfo: ${JSON.stringify(dataInfo)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 this.logger?.('info', `PFrame ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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 PFrameError(\n `PFrame ${this.id} findColumns request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} findColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} deleteColumn request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} deleteColumn request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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: hashColumnId(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 PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(\n request: PFrameInternal.CreateTableRequestV3\n ): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n requestType: 'createTable',\n requestData: hashCreateTableRequestColumnId(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 = AddonSymbol.pFrameCreateTable(\n this.frame,\n requestId,\n request\n );\n return new PTable(this, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} createTable request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} createTable request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getUniqueValues(\n request: UniqueValuesRequest,\n ops?: {\n signal?: AbortSignal;\n }\n ): Promise<UniqueValuesResponse> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getUniqueValues',\n requestData: hashUniqueValuesRequestColumnId(request)\n },\n this.logger\n );\n\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pFrameGetUniqueValues(\n this.frame,\n requestId,\n request,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PFrame ${this.id} getUniqueValues request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PFrame ${this.id} getUniqueValues request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.logger?.(\n 'info',\n `PFrame ${this.id} getUniqueValues request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n}\n\nclass PTable implements PFrameInternal.PTableV6 {\n constructor(\n private readonly frame: PFrame,\n public readonly id: string,\n private readonly table: NodeTableSymbol\n ) {\n this.frame.logger?.('info', `PTable ${this.id} created`);\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 PFrameError(\n `PTable ${this.id} getSpec request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\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: columnIds.map(hashTableColumnId)\n }\n },\n this.frame.logger\n );\n\n try {\n return AddonSymbol.pTableGetColumnIndices(this.table, columnIds);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} getColumnIndices request ${requestId} failed, ` +\n `columnIds: ${JSON.stringify(columnIds)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n async getFootprint(ops?: {\n withPredecessors?: boolean;\n signal?: AbortSignal;\n }): Promise<number> {\n const requestId = ulid();\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getFootprint'\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<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 this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetShape(this.table, ops?.signal);\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getShape request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getShape request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getShape request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getData(\n columnIndices: number[],\n ops?: {\n range?: TableRange | undefined;\n signal?: AbortSignal | undefined;\n }\n ): Promise<PTableVector[]> {\n const requestId = ulid() as TableId;\n dump(\n [`${this.frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getData',\n requestData: {\n columnIndices,\n range: ops?.range ?? null\n }\n },\n this.frame.logger\n );\n\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} started`\n );\n let rowCount = 0;\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n const result = await AddonSymbol.pTableGetData(\n this.table,\n requestId,\n columnIndices,\n ops?.range,\n ops?.signal\n );\n rowCount = result[0].data.length;\n return result;\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getData request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getData request ${requestId} failed, ` +\n `columnIndices: ${JSON.stringify(columnIndices)}, ` +\n `range: ${ops?.range ? JSON.stringify(ops.range) : undefined}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} getData request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))} (${rowCount} rows)`\n );\n }\n }\n\n filter(request: PTableRecordFilter[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'filter',\n requestData: {\n filters: request.map(hashFilterColumnId)\n }\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 = AddonSymbol.pTableFilter(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} filter request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PFrameInternal.PTableV6 {\n const requestId = ulid() as TableId;\n const dumpData = {\n timeStamp: Date.now(),\n table: this.id,\n requestType: 'sort',\n requestData: request.map(hashSortingColumnId)\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 = AddonSymbol.pTableSort(this.table, requestId, request);\n return new PTable(this.frame, requestId, boxed);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} sort request ${requestId} failed, ` +\n `request: ${JSON.stringify(request)}, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n } finally {\n const t1 = performance.now();\n this.frame.logger?.(\n 'info',\n `PTable ${this.id} sort request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\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 this.frame.logger?.('info', `PTable ${this.id} disposed`);\n } catch (err: unknown) {\n throw new PFrameError(\n `PTable ${this.id} dispose request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err).message}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n","import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame as PFrameImpl } from './wrapper';\n\nexport type PFrame = {\n new (\n spillPath: string,\n logger?: PFrameInternal.Logger\n ): PFrameInternal.PFrameV9;\n\n pprofDump: () => Promise<Uint8Array>;\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","hashColumnId","columnId","createHash","hashTableColumnId","tableId","hashFilterColumnId","filter","hashUniqueValuesRequestColumnId","request","hashSortingColumnId","sorting","hashJoinEntryColumnId","entry","type","hashCreateTableRequestColumnId","dump","relativePath","logger","relativeUri","part","fileDir","fileData","error","PFrame$1","spillPath","__publicField","ulid","_a","err","PFrameError","ensureError","columnSpec","requestId","dataSource","wrappedDataSource","blobIds","t0","t1","_b","humanizeDuration","blobId","blob","dataInfo","ops","dumpData","boxed","PTable","isAbortError","AbortError","_c","frame","id","table","columnIds","_e","_d","columnIndices","rowCount","result","PFrame","PFrameImpl"],"mappings":"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"}
|
package/export_dist/wrapper.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataInfo, PColumnInfo, PColumnSpec, PObjectId, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
|
|
2
2
|
import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
3
3
|
import { FrameId } from './addon-def';
|
|
4
|
-
export declare class PFrame implements PFrameInternal.
|
|
4
|
+
export declare class PFrame implements PFrameInternal.PFrameV9 {
|
|
5
5
|
readonly logger?: PFrameInternal.Logger | undefined;
|
|
6
6
|
readonly id: FrameId;
|
|
7
7
|
private readonly frame;
|
|
@@ -9,7 +9,9 @@ export declare class PFrame implements PFrameInternal.PFrameV8 {
|
|
|
9
9
|
constructor(spillPath: string, logger?: PFrameInternal.Logger | undefined);
|
|
10
10
|
addColumnSpec(columnId: PObjectId, columnSpec: PColumnSpec): void;
|
|
11
11
|
setDataSource(dataSource: PFrameInternal.PFrameDataSource): void;
|
|
12
|
-
setColumnData(columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId
|
|
12
|
+
setColumnData(columnId: PObjectId, dataInfo: DataInfo<PFrameInternal.PFrameBlobId>, ops?: {
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}): Promise<void>;
|
|
13
15
|
dispose(): void;
|
|
14
16
|
[Symbol.dispose](): void;
|
|
15
17
|
findColumns(request: PFrameInternal.FindColumnsRequest): Promise<PFrameInternal.FindColumnsResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EACR,WAAW,EACX,WAAW,EAEX,SAAS,EAQT,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EACV,OAAO,EAIR,MAAM,aAAa,CAAC;AAYrB,qBAAa,MAAO,YAAW,cAAc,CAAC,QAAQ;aAgBlC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;IAfhD,SAAgB,EAAE,EAAE,OAAO,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;WAE3B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;gBAW3C,SAAS,EAAE,MAAM,EACD,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,YAAA;IAwBhD,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI;IAoCjE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,gBAAgB,GAAG,IAAI;IA+EhE,aAAa,CACX,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,QAAQ,EACR,WAAW,EACX,WAAW,EAEX,SAAS,EAQT,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EACV,OAAO,EAIR,MAAM,aAAa,CAAC;AAYrB,qBAAa,MAAO,YAAW,cAAc,CAAC,QAAQ;aAgBlC,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM;IAfhD,SAAgB,EAAE,EAAE,OAAO,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;WAE3B,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;gBAW3C,SAAS,EAAE,MAAM,EACD,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,YAAA;IAwBhD,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,IAAI;IAoCjE,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,gBAAgB,GAAG,IAAI;IA+EhE,aAAa,CACX,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,EAC/C,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,IAAI,CAAC;IA0ChB,OAAO,IAAI,IAAI;IAuBf,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;IA6B3C,WAAW,CACT,OAAO,EAAE,cAAc,CAAC,oBAAoB,GAC3C,cAAc,CAAC,QAAQ;IAsCpB,eAAe,CACnB,OAAO,EAAE,mBAAmB,EAC5B,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,oBAAoB,CAAC;CA6CjC"}
|
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.55",
|
|
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.
|
|
21
|
+
"@milaboratories/pl-model-middle-layer": "1.8.4",
|
|
22
22
|
"@types/humanize-duration": "^3.27.4",
|
|
23
23
|
"humanize-duration": "^3.33.0",
|
|
24
24
|
"ulid": "^3.0.1"
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
31
|
-
"@types/node": "^20.19.
|
|
31
|
+
"@types/node": "^20.19.9",
|
|
32
32
|
"@vitest/coverage-istanbul": "^3.2.4",
|
|
33
33
|
"cargo-cp-artifact": "^0.1.9",
|
|
34
34
|
"rollup-plugin-node-externals": "^8.0.1",
|