@milaboratories/pframes-rs-node 1.0.75 → 1.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/export/addon-def.ts +1 -1
- package/export/dump.ts +10 -4
- package/export/export.ts +2 -2
- package/export/wrapper.ts +2 -2
- package/export_dist/addon-def.d.ts +1 -1
- package/export_dist/dump.cjs +6 -0
- package/export_dist/dump.cjs.map +1 -1
- package/export_dist/dump.d.ts +1 -1
- package/export_dist/dump.d.ts.map +1 -1
- package/export_dist/dump.js +6 -0
- package/export_dist/dump.js.map +1 -1
- package/export_dist/export.cjs.map +1 -1
- package/export_dist/export.d.ts +1 -1
- package/export_dist/export.js.map +1 -1
- package/export_dist/wrapper.cjs.map +1 -1
- package/export_dist/wrapper.d.ts +2 -2
- package/export_dist/wrapper.js.map +1 -1
- package/package.json +4 -4
package/export/addon-def.ts
CHANGED
|
@@ -62,7 +62,7 @@ interface NodeFrame {
|
|
|
62
62
|
pFrameCreateTable: (
|
|
63
63
|
pFrame: NodeFrameSymbol,
|
|
64
64
|
id: TableId,
|
|
65
|
-
request: PFrameInternal.
|
|
65
|
+
request: PFrameInternal.CreateTableRequestV4
|
|
66
66
|
) => NodeTableSymbol;
|
|
67
67
|
pFrameGetUniqueValues: (
|
|
68
68
|
pFrame: NodeFrameSymbol,
|
package/export/dump.ts
CHANGED
|
@@ -68,8 +68,8 @@ export function hashSortingColumnId(sorting: PTableSorting): PTableSorting {
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
function hashJoinEntryColumnId(
|
|
71
|
-
entry: PFrameInternal.
|
|
72
|
-
): PFrameInternal.
|
|
71
|
+
entry: PFrameInternal.JoinEntryV4
|
|
72
|
+
): PFrameInternal.JoinEntryV4 {
|
|
73
73
|
const type = entry.type;
|
|
74
74
|
switch (type) {
|
|
75
75
|
case 'column':
|
|
@@ -83,6 +83,12 @@ function hashJoinEntryColumnId(
|
|
|
83
83
|
columnId: hashColumnId(entry.columnId),
|
|
84
84
|
newId: hashColumnId(entry.newId)
|
|
85
85
|
};
|
|
86
|
+
case 'artificialColumn':
|
|
87
|
+
return {
|
|
88
|
+
...entry,
|
|
89
|
+
columnId: hashColumnId(entry.columnId),
|
|
90
|
+
newId: hashColumnId(entry.newId)
|
|
91
|
+
};
|
|
86
92
|
case 'inlineColumn':
|
|
87
93
|
return {
|
|
88
94
|
...entry,
|
|
@@ -110,8 +116,8 @@ function hashJoinEntryColumnId(
|
|
|
110
116
|
}
|
|
111
117
|
|
|
112
118
|
export function hashCreateTableRequestColumnId(
|
|
113
|
-
request: PFrameInternal.
|
|
114
|
-
): PFrameInternal.
|
|
119
|
+
request: PFrameInternal.CreateTableRequestV4
|
|
120
|
+
): PFrameInternal.CreateTableRequestV4 {
|
|
115
121
|
return {
|
|
116
122
|
...request,
|
|
117
123
|
src: hashJoinEntryColumnId(request.src),
|
package/export/export.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
2
2
|
import { PFrame, pprofDump } from './wrapper';
|
|
3
3
|
|
|
4
|
-
export const PFrameFactory: PFrameInternal.
|
|
4
|
+
export const PFrameFactory: PFrameInternal.PFrameFactoryV3 = {
|
|
5
5
|
createPFrame: (
|
|
6
6
|
options: PFrameInternal.PFrameOptions
|
|
7
|
-
): PFrameInternal.
|
|
7
|
+
): PFrameInternal.PFrameV12 => {
|
|
8
8
|
return new PFrame(options);
|
|
9
9
|
},
|
|
10
10
|
pprofDump: async (): Promise<Uint8Array> => {
|
package/export/wrapper.ts
CHANGED
|
@@ -46,7 +46,7 @@ export async function pprofDump(): Promise<Uint8Array> {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export class PFrame implements PFrameInternal.
|
|
49
|
+
export class PFrame implements PFrameInternal.PFrameV12 {
|
|
50
50
|
readonly #frame: NodeFrameSymbol;
|
|
51
51
|
|
|
52
52
|
readonly #id: FrameId = ulid() as FrameId;
|
|
@@ -387,7 +387,7 @@ export class PFrame implements PFrameInternal.PFrameV11 {
|
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
389
|
|
|
390
|
-
createTable(request: PFrameInternal.
|
|
390
|
+
createTable(request: PFrameInternal.CreateTableRequestV4): PTable {
|
|
391
391
|
const requestId = ulid() as TableId;
|
|
392
392
|
const dumpData = {
|
|
393
393
|
timeStamp: Date.now(),
|
|
@@ -23,7 +23,7 @@ interface NodeFrame {
|
|
|
23
23
|
pFrameDeleteColumn: (pFrame: NodeFrameSymbol, request: PFrameInternal.DeleteColumnFromColumnsRequest) => Promise<PFrameInternal.DeleteColumnFromColumnsResponse>;
|
|
24
24
|
pFrameGetColumnSpec: (pFrame: NodeFrameSymbol, columnId: PObjectId) => Promise<PColumnSpec>;
|
|
25
25
|
pFrameListColumns: (pFrame: NodeFrameSymbol) => Promise<PColumnInfo[]>;
|
|
26
|
-
pFrameCreateTable: (pFrame: NodeFrameSymbol, id: TableId, request: PFrameInternal.
|
|
26
|
+
pFrameCreateTable: (pFrame: NodeFrameSymbol, id: TableId, request: PFrameInternal.CreateTableRequestV4) => NodeTableSymbol;
|
|
27
27
|
pFrameGetUniqueValues: (pFrame: NodeFrameSymbol, id: TableId, request: UniqueValuesRequest, signal: AbortSignal | undefined) => Promise<UniqueValuesResponse>;
|
|
28
28
|
}
|
|
29
29
|
interface NodeTable {
|
package/export_dist/dump.cjs
CHANGED
|
@@ -58,6 +58,12 @@ function hashJoinEntryColumnId(entry) {
|
|
|
58
58
|
columnId: hashColumnId(entry.columnId),
|
|
59
59
|
newId: hashColumnId(entry.newId)
|
|
60
60
|
};
|
|
61
|
+
case 'artificialColumn':
|
|
62
|
+
return {
|
|
63
|
+
...entry,
|
|
64
|
+
columnId: hashColumnId(entry.columnId),
|
|
65
|
+
newId: hashColumnId(entry.newId)
|
|
66
|
+
};
|
|
61
67
|
case 'inlineColumn':
|
|
62
68
|
return {
|
|
63
69
|
...entry,
|
package/export_dist/dump.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dump.cjs","sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { createWriteStream, promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport { Readable } from 'node:stream';\nimport { pipeline } from 'node:stream/promises';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n await fs.mkdir(fileOrDir, { recursive: true });\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n await pipeline(\n Readable.from(buffer),\n createWriteStream(filePath, { flags: 'wx' })\n );\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.
|
|
1
|
+
{"version":3,"file":"dump.cjs","sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { createWriteStream, promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport { Readable } from 'node:stream';\nimport { pipeline } from 'node:stream/promises';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n await fs.mkdir(fileOrDir, { recursive: true });\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n await pipeline(\n Readable.from(buffer),\n createWriteStream(filePath, { flags: 'wx' })\n );\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.JoinEntryV4\n): PFrameInternal.JoinEntryV4 {\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 'artificialColumn':\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.CreateTableRequestV4\n): PFrameInternal.CreateTableRequestV4 {\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 = join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await ensureDirExists(fileDir);\n\n const filePath = 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"],"names":["fs","pipeline","Readable","createWriteStream","createHash","join"],"mappings":"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"}
|
package/export_dist/dump.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare function hashTableColumnId(tableId: PTableColumnId): PTableColumn
|
|
|
5
5
|
export declare function hashFilterColumnId(filter: PTableRecordFilter): PTableRecordFilter;
|
|
6
6
|
export declare function hashUniqueValuesRequestColumnId(request: UniqueValuesRequest): UniqueValuesRequest;
|
|
7
7
|
export declare function hashSortingColumnId(sorting: PTableSorting): PTableSorting;
|
|
8
|
-
export declare function hashCreateTableRequestColumnId(request: PFrameInternal.
|
|
8
|
+
export declare function hashCreateTableRequestColumnId(request: PFrameInternal.CreateTableRequestV4): PFrameInternal.CreateTableRequestV4;
|
|
9
9
|
export declare function dump(relativePath: string[], data: {
|
|
10
10
|
[key: string]: Object;
|
|
11
11
|
} | Uint8Array, logger?: PFrameInternal.Logger): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../export/dump.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAiBzC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAE3D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAQzE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,kBAAkB,CAKpB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAMrB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAKzE;
|
|
1
|
+
{"version":3,"file":"dump.d.ts","sourceRoot":"","sources":["../export/dump.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAiBzC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAE3D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,CAQzE;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,kBAAkB,CAKpB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAMrB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAKzE;AAkDD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,cAAc,CAAC,oBAAoB,GAC3C,cAAc,CAAC,oBAAoB,CAMrC;AAED,wBAAsB,IAAI,CACxB,YAAY,EAAE,MAAM,EAAE,EACtB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,UAAU,EAC5C,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
package/export_dist/dump.js
CHANGED
|
@@ -56,6 +56,12 @@ function hashJoinEntryColumnId(entry) {
|
|
|
56
56
|
columnId: hashColumnId(entry.columnId),
|
|
57
57
|
newId: hashColumnId(entry.newId)
|
|
58
58
|
};
|
|
59
|
+
case 'artificialColumn':
|
|
60
|
+
return {
|
|
61
|
+
...entry,
|
|
62
|
+
columnId: hashColumnId(entry.columnId),
|
|
63
|
+
newId: hashColumnId(entry.newId)
|
|
64
|
+
};
|
|
59
65
|
case 'inlineColumn':
|
|
60
66
|
return {
|
|
61
67
|
...entry,
|
package/export_dist/dump.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dump.js","sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { createWriteStream, promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport { Readable } from 'node:stream';\nimport { pipeline } from 'node:stream/promises';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n await fs.mkdir(fileOrDir, { recursive: true });\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n await pipeline(\n Readable.from(buffer),\n createWriteStream(filePath, { flags: 'wx' })\n );\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.
|
|
1
|
+
{"version":3,"file":"dump.js","sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport { createWriteStream, promises as fs } from 'node:fs';\nimport { join } from 'node:path';\nimport { Readable } from 'node:stream';\nimport { pipeline } from 'node:stream/promises';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n PObjectId,\n PTableColumnId,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest\n} from '@milaboratories/pl-model-common';\n\nasync function ensureDirExists(fileOrDir: string): Promise<void> {\n await fs.mkdir(fileOrDir, { recursive: true });\n}\n\nasync function writeFile(\n filePath: string,\n data: string | Uint8Array\n): Promise<void> {\n const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;\n await pipeline(\n Readable.from(buffer),\n createWriteStream(filePath, { flags: 'wx' })\n );\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.JoinEntryV4\n): PFrameInternal.JoinEntryV4 {\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 'artificialColumn':\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.CreateTableRequestV4\n): PFrameInternal.CreateTableRequestV4 {\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 = join(\n process.env.MI_DUMP_PFRAMES_RS,\n ...relativeUri.slice(0, -1)\n );\n await ensureDirExists(fileDir);\n\n const filePath = 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"],"names":["fs"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.cjs","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.
|
|
1
|
+
{"version":3,"file":"export.cjs","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV3 = {\n createPFrame: (\n options: PFrameInternal.PFrameOptions\n ): PFrameInternal.PFrameV12 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n }\n};\n"],"names":["PFrame","pprofDump"],"mappings":";;;;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CACZ,OAAqC,KACT;AAC5B,QAAA,OAAO,IAAIA,cAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAMC,iBAAS,EAAE;IAC1B;;;;;"}
|
package/export_dist/export.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.
|
|
1
|
+
{"version":3,"file":"export.js","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport { PFrame, pprofDump } from './wrapper';\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV3 = {\n createPFrame: (\n options: PFrameInternal.PFrameOptions\n ): PFrameInternal.PFrameV12 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n }\n};\n"],"names":[],"mappings":";;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CACZ,OAAqC,KACT;AAC5B,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAM,SAAS,EAAE;IAC1B;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.cjs","sources":["../export/wrapper.ts"],"sourcesContent":["import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type 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 async function 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)}`\n );\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV11 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: FrameId = ulid() as FrameId;\n\n get id(): FrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptions) {\n this.#logger = options.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(options.spillPath, options.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: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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)}`\n );\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): 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 parquetServer: dataSource.parquetServer\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)}`\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)}`\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)}`\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)}`\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)}`\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 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)}`\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 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)}`\n );\n }\n }\n\n createTable(request: PFrameInternal.CreateTableRequestV3): PTable {\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, this.#logger);\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)}`\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)}`\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.PTableV7 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#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.#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)}`\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.#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)}`\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.#logger\n );\n\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)}`\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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#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)}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":["AddonSymbol","PFrameError","ensureError","ulid","dump","hashColumnId","hashCreateTableRequestColumnId","hashUniqueValuesRequestColumnId","isAbortError","AbortError","hashTableColumnId","hashFilterColumnId","hashSortingColumnId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrapper.cjs","sources":["../export/wrapper.ts"],"sourcesContent":["import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type 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 async function 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)}`\n );\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV12 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: FrameId = ulid() as FrameId;\n\n get id(): FrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptions) {\n this.#logger = options.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(options.spillPath, options.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: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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)}`\n );\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): 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 parquetServer: dataSource.parquetServer\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)}`\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)}`\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)}`\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)}`\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)}`\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 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)}`\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 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)}`\n );\n }\n }\n\n createTable(request: PFrameInternal.CreateTableRequestV4): PTable {\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, this.#logger);\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)}`\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)}`\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.PTableV7 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#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.#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)}`\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.#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)}`\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.#logger\n );\n\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)}`\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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#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)}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":["AddonSymbol","PFrameError","ensureError","ulid","dump","hashColumnId","hashCreateTableRequestColumnId","hashUniqueValuesRequestColumnId","isAbortError","AbortError","hashTableColumnId","hashFilterColumnId","hashSortingColumnId"],"mappings":"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"}
|
package/export_dist/wrapper.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type PColumnInfo, type PColumnSpec, type PObjectId, type PTableColumnId
|
|
|
2
2
|
import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
3
3
|
import type { FrameId, NodeTableSymbol } from './addon-def';
|
|
4
4
|
export declare function pprofDump(): Promise<Uint8Array>;
|
|
5
|
-
export declare class PFrame implements PFrameInternal.
|
|
5
|
+
export declare class PFrame implements PFrameInternal.PFrameV12 {
|
|
6
6
|
#private;
|
|
7
7
|
get id(): FrameId;
|
|
8
8
|
constructor(options: PFrameInternal.PFrameOptions);
|
|
@@ -17,7 +17,7 @@ export declare class PFrame implements PFrameInternal.PFrameV11 {
|
|
|
17
17
|
deleteColumn(request: PFrameInternal.DeleteColumnFromColumnsRequest): Promise<PFrameInternal.DeleteColumnFromColumnsResponse>;
|
|
18
18
|
getColumnSpec(columnId: PObjectId): Promise<PColumnSpec>;
|
|
19
19
|
listColumns(): Promise<PColumnInfo[]>;
|
|
20
|
-
createTable(request: PFrameInternal.
|
|
20
|
+
createTable(request: PFrameInternal.CreateTableRequestV4): PTable;
|
|
21
21
|
getUniqueValues(request: UniqueValuesRequest, ops?: {
|
|
22
22
|
signal?: AbortSignal;
|
|
23
23
|
}): Promise<UniqueValuesResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sources":["../export/wrapper.ts"],"sourcesContent":["import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type 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 async function 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)}`\n );\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV11 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: FrameId = ulid() as FrameId;\n\n get id(): FrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptions) {\n this.#logger = options.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(options.spillPath, options.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: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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)}`\n );\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): 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 parquetServer: dataSource.parquetServer\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)}`\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)}`\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)}`\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)}`\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)}`\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 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)}`\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 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)}`\n );\n }\n }\n\n createTable(request: PFrameInternal.CreateTableRequestV3): PTable {\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, this.#logger);\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)}`\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)}`\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.PTableV7 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#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.#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)}`\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.#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)}`\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.#logger\n );\n\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)}`\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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#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)}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrapper.js","sources":["../export/wrapper.ts"],"sourcesContent":["import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n type PColumnInfo,\n type PColumnSpec,\n PFrameError,\n type PObjectId,\n type PTableColumnId,\n type PTableColumnSpec,\n type PTableRecordFilter,\n type PTableShape,\n type PTableSorting,\n type PTableVector,\n type TableRange,\n type UniqueValuesRequest,\n type 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 async function 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)}`\n );\n }\n}\n\nexport class PFrame implements PFrameInternal.PFrameV12 {\n readonly #frame: NodeFrameSymbol;\n\n readonly #id: FrameId = ulid() as FrameId;\n\n get id(): FrameId {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(options: PFrameInternal.PFrameOptions) {\n this.#logger = options.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(options.spillPath, options.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: ${this.#logger?.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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)}`\n );\n }\n }\n\n setDataSource(dataSource: PFrameInternal.PFrameDataSourceV2): 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 parquetServer: dataSource.parquetServer\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)}`\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)}`\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)}`\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)}`\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)}`\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 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)}`\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 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)}`\n );\n }\n }\n\n createTable(request: PFrameInternal.CreateTableRequestV4): PTable {\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, this.#logger);\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)}`\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)}`\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.PTableV7 {\n readonly #frame: PFrame;\n readonly #table: NodeTableSymbol;\n\n readonly #id: string;\n\n get id(): string {\n return this.#id;\n }\n\n readonly #logger: PFrameInternal.Logger;\n\n constructor(\n frame: PFrame,\n id: string,\n table: NodeTableSymbol,\n logger: PFrameInternal.Logger\n ) {\n this.#frame = frame;\n this.#table = table;\n this.#id = id;\n this.#logger = logger;\n this.#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.#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)}`\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.#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)}`\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.#logger\n );\n\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)}`\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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n this.#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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} filter request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n sort(request: PTableSorting[]): PTable {\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([`${this.#frame.id}`, `${requestId}.json`], dumpData, this.#logger);\n dump(\n [`${this.#frame.id}`, `${requestId}`, `${requestId}.json`],\n dumpData,\n this.#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, this.#logger);\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)}`\n );\n } finally {\n const t1 = performance.now();\n this.#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.#logger\n );\n\n try {\n AddonSymbol.pTableDispose(this.#table);\n this.#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)}`\n );\n }\n }\n\n [Symbol.dispose]() {\n this.dispose();\n }\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/pframes-rs-node",
|
|
3
3
|
"description": "PFrames - Node.js Native Addon",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.76",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./export_dist/index.d.ts",
|
|
7
7
|
"main": "./export_dist/index.js",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@mapbox/node-pre-gyp": "^2.0.0",
|
|
21
|
-
"@milaboratories/pl-model-common": "1.19.
|
|
21
|
+
"@milaboratories/pl-model-common": "1.19.19",
|
|
22
22
|
"humanize-duration": "^3.33.0",
|
|
23
23
|
"ulid": "^3.0.1",
|
|
24
|
-
"@milaboratories/pframes-rs-serv": "1.0.
|
|
24
|
+
"@milaboratories/pframes-rs-serv": "1.0.76"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@milaboratories/build-configs": "1.0.8",
|
|
28
|
-
"@milaboratories/pl-model-middle-layer": "1.8.
|
|
28
|
+
"@milaboratories/pl-model-middle-layer": "1.8.26",
|
|
29
29
|
"@milaboratories/ts-builder": "1.0.5",
|
|
30
30
|
"@milaboratories/ts-configs": "1.0.6",
|
|
31
31
|
"@types/humanize-duration": "^3.27.4",
|