@milaboratories/pframes-rs-node 1.0.55 → 1.0.57

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.
@@ -43,7 +43,7 @@ interface NodeFrame {
43
43
  pFrameSetColumnData: (
44
44
  pFrame: NodeFrameSymbol,
45
45
  columnId: PObjectId,
46
- dataInfo: DataInfo<PFrameInternal.PFrameBlobId>,
46
+ dataInfo: PFrameInternal.DataInfo<PFrameInternal.PFrameBlobId>,
47
47
  signal: AbortSignal | undefined
48
48
  ) => Promise<void>;
49
49
  pFrameDispose: (pFrame: NodeFrameSymbol) => void;
package/export/wrapper.ts CHANGED
@@ -194,7 +194,7 @@ export class PFrame implements PFrameInternal.PFrameV9 {
194
194
 
195
195
  setColumnData(
196
196
  columnId: PObjectId,
197
- dataInfo: DataInfo<PFrameInternal.PFrameBlobId>,
197
+ dataInfo: PFrameInternal.DataInfo<PFrameInternal.PFrameBlobId>,
198
198
  ops?: {
199
199
  signal?: AbortSignal;
200
200
  }
@@ -1,4 +1,4 @@
1
- import { DataInfo, PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
1
+ import { PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
2
2
  import { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
3
3
  export type FrameId = string & {
4
4
  __brand: 'FrameId';
@@ -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>, signal: AbortSignal | undefined) => Promise<void>;
20
+ pFrameSetColumnData: (pFrame: NodeFrameSymbol, columnId: PObjectId, dataInfo: PFrameInternal.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,EAC/C,MAAM,EAAE,WAAW,GAAG,SAAS,KAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACjD,iBAAiB,EAAE,CACjB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,cAAc,CAAC,kBAAkB,KACvC,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACjD,kBAAkB,EAAE,CAClB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,cAAc,CAAC,8BAA8B,KACnD,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;IAC7D,mBAAmB,EAAE,CACnB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,SAAS,KAChB,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1B,iBAAiB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,iBAAiB,EAAE,CACjB,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,cAAc,CAAC,oBAAoB,KACzC,eAAe,CAAC;IACrB,qBAAqB,EAAE,CACrB,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,WAAW,GAAG,SAAS,KAC5B,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpC;AAED,UAAU,SAAS;IACjB,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,gBAAgB,EAAE,CAAC;IAC9D,sBAAsB,EAAE,CACtB,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,cAAc,EAAE,KACxB,MAAM,EAAE,CAAC;IACd,kBAAkB,EAAE,CAClB,KAAK,EAAE,eAAe,EACtB,gBAAgB,EAAE,OAAO,EACzB,MAAM,EAAE,WAAW,GAAG,SAAS,KAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,cAAc,EAAE,CACd,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,WAAW,GAAG,SAAS,KAC5B,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1B,aAAa,EAAE,CACb,KAAK,EAAE,eAAe,EACtB,EAAE,EAAE,OAAO,EACX,aAAa,EAAE,MAAM,EAAE,EACvB,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,WAAW,GAAG,SAAS,KAC5B,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7B,YAAY,EAAE,CACZ,KAAK,EAAE,eAAe,EACtB,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,kBAAkB,EAAE,KAC1B,eAAe,CAAC;IACrB,UAAU,EAAE,CACV,KAAK,EAAE,eAAe,EACtB,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,aAAa,EAAE,KACrB,eAAe,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,WACf,SAAQ,MAAM,EACZ,YAAY,EACZ,SAAS,EACT,SAAS;CAAG"}
1
+ {"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"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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"}
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: PFrameInternal.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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"}
@@ -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.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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"}
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: PFrameInternal.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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"}
@@ -1,4 +1,4 @@
1
- import { DataInfo, PColumnInfo, PColumnSpec, PObjectId, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
1
+ import { 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
4
  export declare class PFrame implements PFrameInternal.PFrameV9 {
@@ -9,7 +9,7 @@ export declare class PFrame implements PFrameInternal.PFrameV9 {
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>, ops?: {
12
+ setColumnData(columnId: PObjectId, dataInfo: PFrameInternal.DataInfo<PFrameInternal.PFrameBlobId>, ops?: {
13
13
  signal?: AbortSignal;
14
14
  }): Promise<void>;
15
15
  dispose(): void;
@@ -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,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"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,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,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,EAC9D,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.55",
4
+ "version": "1.0.57",
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.8.4",
21
+ "@milaboratories/pl-model-middle-layer": "1.8.7",
22
22
  "@types/humanize-duration": "^3.27.4",
23
23
  "humanize-duration": "^3.33.0",
24
24
  "ulid": "^3.0.1"