@milaboratories/pframes-rs-node 1.0.63 → 1.0.66
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 +9 -24
- package/export/wrapper.ts +12 -12
- package/export_dist/addon-def.d.ts +1 -1
- package/export_dist/addon-def.d.ts.map +1 -1
- package/export_dist/addon.cjs +3 -3
- package/export_dist/addon.cjs.map +1 -1
- package/export_dist/dump.cjs +5 -20
- 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 +5 -20
- package/export_dist/dump.js.map +1 -1
- package/export_dist/wrapper.cjs.map +1 -1
- package/export_dist/wrapper.d.ts +1 -1
- package/export_dist/wrapper.d.ts.map +1 -1
- package/export_dist/wrapper.js.map +1 -1
- package/package.json +6 -6
package/export/addon-def.ts
CHANGED
package/export/dump.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { createWriteStream, promises as fs } from 'node:fs';
|
|
3
|
-
import
|
|
3
|
+
import { join } from 'node:path';
|
|
4
4
|
import { Readable } from 'node:stream';
|
|
5
5
|
import { pipeline } from 'node:stream/promises';
|
|
6
6
|
import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
7
|
-
import {
|
|
7
|
+
import type {
|
|
8
8
|
PObjectId,
|
|
9
9
|
PTableColumnId,
|
|
10
10
|
PTableRecordFilter,
|
|
@@ -12,34 +12,19 @@ import {
|
|
|
12
12
|
UniqueValuesRequest
|
|
13
13
|
} from '@milaboratories/pl-model-common';
|
|
14
14
|
|
|
15
|
-
function fileExists(path: string): Promise<boolean> {
|
|
16
|
-
return fs
|
|
17
|
-
.access(path)
|
|
18
|
-
.then(() => true)
|
|
19
|
-
.catch(() => false);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
15
|
async function ensureDirExists(fileOrDir: string): Promise<void> {
|
|
23
|
-
|
|
24
|
-
await fs.mkdir(fileOrDir, { recursive: true });
|
|
25
|
-
}
|
|
16
|
+
await fs.mkdir(fileOrDir, { recursive: true });
|
|
26
17
|
}
|
|
27
18
|
|
|
28
19
|
async function writeFile(
|
|
29
20
|
filePath: string,
|
|
30
21
|
data: string | Uint8Array
|
|
31
22
|
): Promise<void> {
|
|
32
|
-
const tempPath = `${filePath}.tmp`;
|
|
33
|
-
if (await fileExists(tempPath)) {
|
|
34
|
-
await fs.rm(tempPath, { recursive: true });
|
|
35
|
-
}
|
|
36
|
-
|
|
37
23
|
const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
await fs.rename(tempPath, filePath);
|
|
24
|
+
await pipeline(
|
|
25
|
+
Readable.from(buffer),
|
|
26
|
+
createWriteStream(filePath, { flags: 'wx' })
|
|
27
|
+
);
|
|
43
28
|
}
|
|
44
29
|
|
|
45
30
|
export function hashColumnId(columnId: PObjectId): PObjectId {
|
|
@@ -142,13 +127,13 @@ export async function dump(
|
|
|
142
127
|
if (!process.env.MI_DUMP_PFRAMES_RS) return;
|
|
143
128
|
try {
|
|
144
129
|
const relativeUri = relativePath.map((part) => encodeURIComponent(part));
|
|
145
|
-
const fileDir =
|
|
130
|
+
const fileDir = join(
|
|
146
131
|
process.env.MI_DUMP_PFRAMES_RS,
|
|
147
132
|
...relativeUri.slice(0, -1)
|
|
148
133
|
);
|
|
149
134
|
await ensureDirExists(fileDir);
|
|
150
135
|
|
|
151
|
-
const filePath =
|
|
136
|
+
const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);
|
|
152
137
|
const fileData = ArrayBuffer.isView(data)
|
|
153
138
|
? (data as Uint8Array)
|
|
154
139
|
: JSON.stringify(data, null, 2);
|
package/export/wrapper.ts
CHANGED
|
@@ -2,19 +2,19 @@ import humanizeDuration from 'humanize-duration';
|
|
|
2
2
|
import { ulid } from 'ulid';
|
|
3
3
|
import {
|
|
4
4
|
AbortError,
|
|
5
|
-
PColumnInfo,
|
|
6
|
-
PColumnSpec,
|
|
5
|
+
type PColumnInfo,
|
|
6
|
+
type PColumnSpec,
|
|
7
7
|
PFrameError,
|
|
8
|
-
PObjectId,
|
|
9
|
-
PTableColumnId,
|
|
10
|
-
PTableColumnSpec,
|
|
11
|
-
PTableRecordFilter,
|
|
12
|
-
PTableShape,
|
|
13
|
-
PTableSorting,
|
|
14
|
-
PTableVector,
|
|
15
|
-
TableRange,
|
|
16
|
-
UniqueValuesRequest,
|
|
17
|
-
UniqueValuesResponse,
|
|
8
|
+
type PObjectId,
|
|
9
|
+
type PTableColumnId,
|
|
10
|
+
type PTableColumnSpec,
|
|
11
|
+
type PTableRecordFilter,
|
|
12
|
+
type PTableShape,
|
|
13
|
+
type PTableSorting,
|
|
14
|
+
type PTableVector,
|
|
15
|
+
type TableRange,
|
|
16
|
+
type UniqueValuesRequest,
|
|
17
|
+
type UniqueValuesResponse,
|
|
18
18
|
ensureError,
|
|
19
19
|
isAbortError
|
|
20
20
|
} from '@milaboratories/pl-model-common';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
|
|
1
|
+
import type { PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
|
|
2
2
|
import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
3
3
|
export type FrameId = string & {
|
|
4
4
|
__brand: 'FrameId';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"addon-def.d.ts","sourceRoot":"","sources":["../export/addon-def.ts"],"names":[],"mappings":"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"}
|
package/export_dist/addon.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var node_module = require('node:module');
|
|
4
|
-
var
|
|
4
|
+
var node_path = require('node:path');
|
|
5
5
|
var node_url = require('node:url');
|
|
6
6
|
var gyp = require('@mapbox/node-pre-gyp');
|
|
7
7
|
|
|
8
8
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
9
|
const nodeFileUrl = (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('addon.cjs', document.baseURI).href));
|
|
10
|
-
const nodeDirname =
|
|
10
|
+
const nodeDirname = node_path.dirname(node_url.fileURLToPath(nodeFileUrl));
|
|
11
11
|
const nodeRequire = node_module.createRequire(nodeFileUrl);
|
|
12
12
|
const { find: findAddon } = gyp;
|
|
13
13
|
// Pre-gyp reads binary section from package.json and constructs a path to addon
|
|
@@ -18,7 +18,7 @@ const { find: findAddon } = gyp;
|
|
|
18
18
|
// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code
|
|
19
19
|
// And neon exports napi_register_module_v1 from #[neon::main]
|
|
20
20
|
// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76
|
|
21
|
-
const AddonSymbol = nodeRequire(findAddon(
|
|
21
|
+
const AddonSymbol = nodeRequire(findAddon(node_path.resolve(nodeDirname, '../package.json')));
|
|
22
22
|
|
|
23
23
|
exports.AddonSymbol = AddonSymbol;
|
|
24
24
|
//# sourceMappingURL=addon.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addon.cjs","sources":["../export/addon.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n"],"names":["dirname","fileURLToPath","createRequire","resolve"],"mappings":";;;;;;;;AAMA,MAAM,WAAW,GAAG,2PAAe;AACnC,MAAM,WAAW,GAAGA,
|
|
1
|
+
{"version":3,"file":"addon.cjs","sources":["../export/addon.ts"],"sourcesContent":["import { createRequire } from 'node:module';\nimport { dirname, resolve } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport gyp from '@mapbox/node-pre-gyp';\nimport type { AddonSymbol } from './addon-def';\n\nconst nodeFileUrl = import.meta.url;\nconst nodeDirname = dirname(fileURLToPath(nodeFileUrl));\nconst nodeRequire = createRequire(nodeFileUrl);\n\nconst { find: findAddon } = gyp;\n\n// Pre-gyp reads binary section from package.json and constructs a path to addon\n// https://github.com/mapbox/node-pre-gyp/blob/a541932680034f5de9e7365ef8d9a0d7a11cc1a9/lib/package.js#L35\n// Require calls dlopen under the hood\n// https://nodejs.org/api/process.html#processdlopenmodule-filename-flags\n// DLOpen then searches for napi_register_module_v1 in addon export table\n// https://github.com/search?q=repo%3Anodejs%2Fnode%20NAPI_MODULE_INITIALIZER&type=code\n// And neon exports napi_register_module_v1 from #[neon::main]\n// https://github.com/neon-bindings/neon/blob/b1728fa21e968ccde9611ac9955cf6d638be16e6/crates/neon/src/context/internal.rs#L76\nconst AddonSymbol = nodeRequire(\n findAddon(resolve(nodeDirname, '../package.json'))\n) as AddonSymbol;\n\nexport { AddonSymbol };\n"],"names":["dirname","fileURLToPath","createRequire","resolve"],"mappings":";;;;;;;;AAMA,MAAM,WAAW,GAAG,2PAAe;AACnC,MAAM,WAAW,GAAGA,iBAAO,CAACC,sBAAa,CAAC,WAAW,CAAC,CAAC;AACvD,MAAM,WAAW,GAAGC,yBAAa,CAAC,WAAW,CAAC;AAE9C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW,GAAG,WAAW,CAC7B,SAAS,CAACC,iBAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;;;;"}
|
package/export_dist/dump.cjs
CHANGED
|
@@ -2,31 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
4
|
var node_fs = require('node:fs');
|
|
5
|
-
var
|
|
5
|
+
var node_path = require('node:path');
|
|
6
6
|
var node_stream = require('node:stream');
|
|
7
7
|
var promises = require('node:stream/promises');
|
|
8
8
|
|
|
9
|
-
function fileExists(path) {
|
|
10
|
-
return node_fs.promises
|
|
11
|
-
.access(path)
|
|
12
|
-
.then(() => true)
|
|
13
|
-
.catch(() => false);
|
|
14
|
-
}
|
|
15
9
|
async function ensureDirExists(fileOrDir) {
|
|
16
|
-
|
|
17
|
-
await node_fs.promises.mkdir(fileOrDir, { recursive: true });
|
|
18
|
-
}
|
|
10
|
+
await node_fs.promises.mkdir(fileOrDir, { recursive: true });
|
|
19
11
|
}
|
|
20
12
|
async function writeFile(filePath, data) {
|
|
21
|
-
const tempPath = `${filePath}.tmp`;
|
|
22
|
-
if (await fileExists(tempPath)) {
|
|
23
|
-
await node_fs.promises.rm(tempPath, { recursive: true });
|
|
24
|
-
}
|
|
25
13
|
const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;
|
|
26
|
-
|
|
27
|
-
const destination = node_fs.createWriteStream(tempPath, { flags: 'wx' });
|
|
28
|
-
await promises.pipeline(source, destination);
|
|
29
|
-
await node_fs.promises.rename(tempPath, filePath);
|
|
14
|
+
await promises.pipeline(node_stream.Readable.from(buffer), node_fs.createWriteStream(filePath, { flags: 'wx' }));
|
|
30
15
|
}
|
|
31
16
|
function hashColumnId(columnId) {
|
|
32
17
|
return node_crypto.createHash('sha256').update(columnId).digest('hex');
|
|
@@ -110,9 +95,9 @@ async function dump(relativePath, data, logger) {
|
|
|
110
95
|
return;
|
|
111
96
|
try {
|
|
112
97
|
const relativeUri = relativePath.map((part) => encodeURIComponent(part));
|
|
113
|
-
const fileDir =
|
|
98
|
+
const fileDir = node_path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));
|
|
114
99
|
await ensureDirExists(fileDir);
|
|
115
|
-
const filePath =
|
|
100
|
+
const filePath = node_path.join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);
|
|
116
101
|
const fileData = ArrayBuffer.isView(data)
|
|
117
102
|
? data
|
|
118
103
|
: JSON.stringify(data, null, 2);
|
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
|
|
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.JoinEntryV3\n): PFrameInternal.JoinEntryV3 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV3\n): PFrameInternal.CreateTableRequestV3 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = 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":";;;;;;;;AAcA,eAAe,eAAe,CAAC,SAAiB,EAAA;AAC9C,IAAA,MAAMA,gBAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAChD;AAEA,eAAe,SAAS,CACtB,QAAgB,EAChB,IAAyB,EAAA;IAEzB,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI;IAC1E,MAAMC,iBAAQ,CACZC,oBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EACrBC,yBAAiB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7C;AACH;AAEM,SAAU,YAAY,CAAC,QAAmB,EAAA;AAC9C,IAAA,OAAOC,sBAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAc;AACzE;AAEM,SAAU,iBAAiB,CAAC,OAAuB,EAAA;AACvD,IAAA,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC7B,OAAO;AACL,YAAA,GAAG,OAAO;AACV,YAAA,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE;SAC5B;IACH;AACA,IAAA,OAAO,OAAO;AAChB;AAEM,SAAU,kBAAkB,CAChC,MAA0B,EAAA;IAE1B,OAAO;AACL,QAAA,GAAG,MAAM;AACT,QAAA,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM;KACxC;AACH;AAEM,SAAU,+BAA+B,CAC7C,OAA4B,EAAA;IAE5B,OAAO;AACL,QAAA,GAAG,OAAO;AACV,QAAA,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;KAChD;AACH;AAEM,SAAU,mBAAmB,CAAC,OAAsB,EAAA;IACxD,OAAO;AACL,QAAA,GAAG,OAAO;AACV,QAAA,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM;KACzC;AACH;AAEA,SAAS,qBAAqB,CAC5B,KAAiC,EAAA;AAEjC,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;IACvB,QAAQ,IAAI;AACV,QAAA,KAAK,QAAQ;YACX,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ;aACtC;AACH,QAAA,KAAK,cAAc;YACjB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;AACtC,gBAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;aAChC;AACH,QAAA,KAAK,cAAc;YACjB,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK;aAChC;AACH,QAAA,KAAK,OAAO;YACV,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;aACjD;AACH,QAAA,KAAK,MAAM;YACT,OAAO;AACL,gBAAA,GAAG,KAAK;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB;aACjD;AACH,QAAA,KAAK,OAAO;YACV,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB;aACrD;AACH,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAA,CAAE,CAAC;;AAE7D;AAEM,SAAU,8BAA8B,CAC5C,OAA4C,EAAA;IAE5C,OAAO;AACL,QAAA,GAAG,OAAO;AACV,QAAA,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;KAChD;AACH;AAEO,eAAe,IAAI,CACxB,YAAsB,EACtB,IAA4C,EAC5C,MAA8B,EAAA;AAE9B,IAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAAE;AACrC,IAAA,IAAI;AACF,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAGC,cAAI,CAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAC9B,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC5B;AACD,QAAA,MAAM,eAAe,CAAC,OAAO,CAAC;AAE9B,QAAA,MAAM,QAAQ,GAAGA,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,WAAW,CAAC;AACrE,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI;AACtC,cAAG;cACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACjC,QAAA,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACrC;IAAE,OAAO,KAAc,EAAE;QACvB,MAAM,GAAG,MAAM,EAAE,qCAAqC,KAAK,CAAA,CAAE,CAAC;IAChE;AACF;;;;;;;;;;"}
|
package/export_dist/dump.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';
|
|
2
|
-
import { PObjectId, PTableColumnId, PTableRecordFilter, PTableSorting, UniqueValuesRequest } from '@milaboratories/pl-model-common';
|
|
2
|
+
import type { PObjectId, PTableColumnId, PTableRecordFilter, PTableSorting, UniqueValuesRequest } from '@milaboratories/pl-model-common';
|
|
3
3
|
export declare function hashColumnId(columnId: PObjectId): PObjectId;
|
|
4
4
|
export declare function hashTableColumnId(tableId: PTableColumnId): PTableColumnId;
|
|
5
5
|
export declare function hashFilterColumnId(filter: PTableRecordFilter): PTableRecordFilter;
|
|
@@ -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,
|
|
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;AA4CD,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
|
@@ -1,30 +1,15 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { promises, createWriteStream } from 'node:fs';
|
|
3
|
-
import
|
|
3
|
+
import { join } from 'node:path';
|
|
4
4
|
import { Readable } from 'node:stream';
|
|
5
5
|
import { pipeline } from 'node:stream/promises';
|
|
6
6
|
|
|
7
|
-
function fileExists(path) {
|
|
8
|
-
return promises
|
|
9
|
-
.access(path)
|
|
10
|
-
.then(() => true)
|
|
11
|
-
.catch(() => false);
|
|
12
|
-
}
|
|
13
7
|
async function ensureDirExists(fileOrDir) {
|
|
14
|
-
|
|
15
|
-
await promises.mkdir(fileOrDir, { recursive: true });
|
|
16
|
-
}
|
|
8
|
+
await promises.mkdir(fileOrDir, { recursive: true });
|
|
17
9
|
}
|
|
18
10
|
async function writeFile(filePath, data) {
|
|
19
|
-
const tempPath = `${filePath}.tmp`;
|
|
20
|
-
if (await fileExists(tempPath)) {
|
|
21
|
-
await promises.rm(tempPath, { recursive: true });
|
|
22
|
-
}
|
|
23
11
|
const buffer = typeof data === 'string' ? Buffer.from(data, 'utf8') : data;
|
|
24
|
-
|
|
25
|
-
const destination = createWriteStream(tempPath, { flags: 'wx' });
|
|
26
|
-
await pipeline(source, destination);
|
|
27
|
-
await promises.rename(tempPath, filePath);
|
|
12
|
+
await pipeline(Readable.from(buffer), createWriteStream(filePath, { flags: 'wx' }));
|
|
28
13
|
}
|
|
29
14
|
function hashColumnId(columnId) {
|
|
30
15
|
return createHash('sha256').update(columnId).digest('hex');
|
|
@@ -108,9 +93,9 @@ async function dump(relativePath, data, logger) {
|
|
|
108
93
|
return;
|
|
109
94
|
try {
|
|
110
95
|
const relativeUri = relativePath.map((part) => encodeURIComponent(part));
|
|
111
|
-
const fileDir =
|
|
96
|
+
const fileDir = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));
|
|
112
97
|
await ensureDirExists(fileDir);
|
|
113
|
-
const filePath =
|
|
98
|
+
const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);
|
|
114
99
|
const fileData = ArrayBuffer.isView(data)
|
|
115
100
|
? data
|
|
116
101
|
: JSON.stringify(data, null, 2);
|
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
|
|
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.JoinEntryV3\n): PFrameInternal.JoinEntryV3 {\n const type = entry.type;\n switch (type) {\n case 'column':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId)\n };\n case 'slicedColumn':\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId)\n };\n case 'inlineColumn':\n return {\n ...entry,\n newId: hashColumnId(entry.newId)\n };\n case 'inner':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'full':\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId)\n };\n case 'outer':\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId)\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV3\n): PFrameInternal.CreateTableRequestV3 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId)\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: Object } | Uint8Array,\n logger?: PFrameInternal.Logger\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = 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":"wrapper.cjs","sources":["../export/wrapper.ts"],"sourcesContent":["import humanizeDuration from 'humanize-duration';\nimport { ulid } from 'ulid';\nimport {\n AbortError,\n PColumnInfo,\n PColumnSpec,\n PFrameError,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n FrameId,\n TableId,\n NodeFrameSymbol,\n NodeTableSymbol\n} from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport 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.PFrameV10 {\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.PFrameDataSource): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n }\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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 const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(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 this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.#table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#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.PFrameV10 {\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.PFrameDataSource): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n }\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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 const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(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 this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.#table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PColumnInfo, PColumnSpec, PObjectId, PTableColumnId, PTableColumnSpec, PTableRecordFilter, PTableShape, PTableSorting, PTableVector, TableRange, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
|
|
1
|
+
import { type PColumnInfo, type PColumnSpec, type PObjectId, type PTableColumnId, type PTableColumnSpec, type PTableRecordFilter, type PTableShape, type PTableSorting, type PTableVector, type TableRange, type UniqueValuesRequest, type UniqueValuesResponse } from '@milaboratories/pl-model-common';
|
|
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>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,WAAW,
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../export/wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 PColumnInfo,\n PColumnSpec,\n PFrameError,\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableShape,\n PTableSorting,\n PTableVector,\n TableRange,\n UniqueValuesRequest,\n UniqueValuesResponse,\n ensureError,\n isAbortError\n} from '@milaboratories/pl-model-common';\nimport type { PFrameInternal } from '@milaboratories/pl-model-middle-layer';\nimport type {\n FrameId,\n TableId,\n NodeFrameSymbol,\n NodeTableSymbol\n} from './addon-def';\nimport { AddonSymbol } from './addon';\nimport {\n dump,\n hashColumnId,\n hashTableColumnId,\n hashFilterColumnId,\n hashUniqueValuesRequestColumnId,\n hashSortingColumnId,\n hashCreateTableRequestColumnId\n} from './dump';\n\nexport 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.PFrameV10 {\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.PFrameDataSource): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n }\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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 const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(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 this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.#table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#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.PFrameV10 {\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.PFrameDataSource): void {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'setDataSource'\n },\n this.#logger\n );\n\n const wrappedDataSource = {\n preloadBlob: async (\n blobIds: PFrameInternal.PFrameBlobId[]\n ): Promise<void> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'preloadBlob',\n requestData: {\n blobIds\n }\n },\n this.#logger\n );\n\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob started, blobIds: ${JSON.stringify(blobIds)}`\n );\n const t0 = performance.now();\n try {\n return await dataSource.preloadBlob(blobIds);\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} preloadBlob finished, took ${humanizeDuration(Math.round(t1 - t0))} (${blobIds.length} blobs)`\n );\n }\n },\n resolveBlobContent: async (\n blobId: PFrameInternal.PFrameBlobId\n ): Promise<Uint8Array> => {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'resolveBlobContent',\n requestData: {\n blobId\n }\n },\n this.#logger\n );\n\n const blob = await dataSource.resolveBlobContent(blobId);\n this.#logger('info', `PFrame ${this.id} resolved blob ${blobId}`);\n dump([`${this.id}`, `data`, `${blobId}`], blob, this.#logger);\n\n return blob;\n }\n };\n\n try {\n return AddonSymbol.pFrameSetDataSource(this.#frame, wrappedDataSource);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} setDataSource request ${requestId} failed, ` +\n `dataSource: ${dataSource.toString()}, ` +\n `error:\\n` +\n `${ensureError(err)}`\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 const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameGetColumnSpec(this.#frame, columnId);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} getColumnSpec request ${requestId} failed, ` +\n `columnId: ${JSON.stringify(columnId)}, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} getColumnSpec request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async listColumns(): Promise<PColumnInfo[]> {\n const requestId = ulid();\n dump(\n [`${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'listColumns'\n },\n this.#logger\n );\n\n const t0 = performance.now();\n try {\n return await AddonSymbol.pFrameListColumns(this.#frame);\n } catch (err: unknown) {\n throw new PFrameError(\n `PFrame ${this.id} listColumns request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PFrame ${this.id} listColumns request ${requestId} took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n createTable(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 this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} started`\n );\n const t0 = performance.now();\n try {\n ops?.signal?.throwIfAborted();\n return await AddonSymbol.pTableGetFootprint(\n this.#table,\n ops?.withPredecessors ?? false,\n ops?.signal\n );\n } catch (err: unknown) {\n if (isAbortError(err)) {\n throw new AbortError(\n `PTable ${this.id} getFootprint request ${requestId} cancelled`\n );\n }\n throw new PFrameError(\n `PTable ${this.id} getFootprint request ${requestId} failed, ` +\n `error:\\n` +\n `${ensureError(err)}`\n );\n } finally {\n const t1 = performance.now();\n this.#logger(\n 'info',\n `PTable ${this.id} getFootprint request ${requestId} finished, took ${humanizeDuration(Math.round(t1 - t0))}`\n );\n }\n }\n\n async getShape(ops?: { signal?: AbortSignal }): Promise<PTableShape> {\n const requestId = ulid();\n dump(\n [`${this.#frame.id}`, `${this.id}`, `${requestId}.json`],\n {\n timeStamp: Date.now(),\n requestType: 'getShape'\n },\n this.#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":";;;;;;AAsCO,eAAe,SAAS,GAAA;AAC7B,IAAA,IAAI;AACF,QAAA,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE;IACtC;IAAE,OAAO,GAAY,EAAE;AACrB,QAAA,MAAM,IAAI,WAAW,CACnB,CAAA,yBAAA,CAA2B,GAAG,CAAA,QAAA,CAAU,GAAG,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACjE;IACH;AACF;MAEa,MAAM,CAAA;AACR,IAAA,MAAM;IAEN,GAAG,GAAY,IAAI,EAAa;AAEzC,IAAA,IAAI,EAAE,GAAA;QACJ,OAAO,IAAI,CAAC,GAAG;IACjB;AAES,IAAA,OAAO;AAEhB,IAAA,WAAA,CAAY,OAAqC,EAAA;AAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,MAAK,EAAE,CAAC,CAAC;AAE3C,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,KAAA,CAAO,CAAC,EACjC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;QACnD;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,MAAM,IAAI,WAAW,CACnB,UAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,CAAoB;AACnC,gBAAA,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,aAAa,CAAC,QAAmB,EAAE,UAAuB,EAAA;AACxD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE;AACX,gBAAA,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAChC;AACD;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,IAAA,CAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,GAAG;AACJ,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC3E;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;AACzC,gBAAA,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA,EAAA,CAAI;gBAC7C,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,aAAa,CAAC,UAA2C,EAAA;AACvD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,iBAAiB,GAAG;AACxB,YAAA,WAAW,EAAE,OACX,OAAsC,KACrB;AACjB,gBAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,gBAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,oBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,oBAAA,WAAW,EAAE,aAAa;AAC1B,oBAAA,WAAW,EAAE;wBACX;AACD;AACF,iBAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,gBAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,+BAAA,EAAkC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,CAAE,CAC7E;AACD,gBAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,gBAAA,IAAI;AACF,oBAAA,OAAO,MAAM,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC9C;wBAAU;AACR,oBAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,4BAAA,EAA+B,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,EAAA,EAAK,OAAO,CAAC,MAAM,CAAA,OAAA,CAAS,CAClH;gBACH;YACF,CAAC;AACD,YAAA,kBAAkB,EAAE,OAClB,MAAmC,KACZ;AACvB,gBAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,gBAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,oBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,oBAAA,WAAW,EAAE,oBAAoB;AACjC,oBAAA,WAAW,EAAE;wBACX;AACD;AACF,iBAAA,EACD,IAAI,CAAC,OAAO,CACb;gBAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC;AACxD,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,eAAA,EAAkB,MAAM,CAAA,CAAE,CAAC;gBACjE,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,IAAA,CAAM,EAAE,GAAG,MAAM,CAAA,CAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAE7D,gBAAA,OAAO,IAAI;YACb;SACD;AAED,QAAA,IAAI;YACF,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACxE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,YAAA,EAAe,UAAU,CAAC,QAAQ,EAAE,CAAA,EAAA,CAAI;gBACxC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,aAAa,CACX,QAAmB,EACnB,QAA8D,EAC9D,GAEC,EAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE;AACX,gBAAA,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAChC;AACD;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,IAAA,CAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA,SAAA,CAAW,CAAC,EAC5D;AACE,YAAA,GAAG;AACJ,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,WAAW,CAAC,mBAAmB,CACpC,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,QAAQ,EACR,GAAG,EAAE,MAAM,CACZ;QACH;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;AACzC,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;gBACzC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,SAAA,CAAW,CAAC;QACpD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;gBACvD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;QACd,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,MAAM,WAAW,CACf,OAA0C,EAAA;AAE1C,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QAClE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,SAAA,CAAW;AAC3D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,MAAA,EAAS,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CACnG;QACH;IACF;IAEA,MAAM,YAAY,CAChB,OAAsD,EAAA;AAEtD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QACnE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,SAAA,CAAW;AAC5D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,MAAA,EAAS,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CACpG;QACH;IACF;IAEA,MAAM,aAAa,CAAC,QAAmB,EAAA;AACrC,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,eAAe;AAC5B,YAAA,WAAW,EAAE;AACX,gBAAA,QAAQ,EAAE,YAAY,CAAC,QAAQ;AAChC;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACrE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,SAAA,CAAW;AAC7D,gBAAA,CAAA,UAAA,EAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA,EAAA,CAAI;gBACzC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,uBAAA,EAA0B,SAAS,CAAA,MAAA,EAAS,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CACrG;QACH;IACF;AAEA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;AACxB,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;YACF,OAAO,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QACzD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,SAAA,CAAW;gBAC3D,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,MAAA,EAAS,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CACnG;QACH;IACF;AAEA,IAAA,WAAW,CAAC,OAA4C,EAAA;AACtD,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,WAAW,EAAE,8BAA8B,CAAC,OAAO;SACpD;AACD,QAAA,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;QACjE,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnD,QAAQ,EACR,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,iBAAiB,CACzC,IAAI,CAAC,MAAM,EACX,SAAS,EACT,OAAO,CACR;AACD,YAAA,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACzD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,SAAA,CAAW;AAC3D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,qBAAA,EAAwB,SAAS,CAAA,MAAA,EAAS,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CACnG;QACH;IACF;AAEA,IAAA,MAAM,eAAe,CACnB,OAA4B,EAC5B,GAEC,EAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACnC;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,iBAAiB;AAC9B,YAAA,WAAW,EAAE,+BAA+B,CAAC,OAAO;AACrD,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,QAAA,CAAU,CACjE;AACD,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,MAAM,WAAW,CAAC,qBAAqB,CAC5C,IAAI,CAAC,MAAM,EACX,SAAS,EACT,OAAO,EACP,GAAG,EAAE,MAAM,CACZ;QACH;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,UAAA,CAAY,CACnE;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,SAAA,CAAW;AAC/D,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,gBAAA,EAAmB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CACjH;QACH;IACF;AACD;AAED,MAAM,MAAM,CAAA;AACD,IAAA,MAAM;AACN,IAAA,MAAM;AAEN,IAAA,GAAG;AAEZ,IAAA,IAAI,EAAE,GAAA;QACJ,OAAO,IAAI,CAAC,GAAG;IACjB;AAES,IAAA,OAAO;AAEhB,IAAA,WAAA,CACE,KAAa,EACb,EAAU,EACV,KAAsB,EACtB,MAA6B,EAAA;AAE7B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,EAAE;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;QACrB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,QAAA,CAAU,CAAC;IACnD;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;YACF,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/C;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;gBACvD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;AAEA,IAAA,gBAAgB,CAAC,SAA2B,EAAA;AAC1C,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,kBAAkB;AAC/B,YAAA,WAAW,EAAE;AACX,gBAAA,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,iBAAiB;AAC3C;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;YACF,OAAO,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACnE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,0BAAA,EAA6B,SAAS,CAAA,SAAA,CAAW;AAChE,gBAAA,CAAA,WAAA,EAAc,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA,EAAA,CAAI;gBAC3C,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,MAAM,YAAY,CAAC,GAGlB,EAAA;AACC,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,QAAA,CAAU,CAC9D;AACD,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,MAAM,WAAW,CAAC,kBAAkB,CACzC,IAAI,CAAC,MAAM,EACX,GAAG,EAAE,gBAAgB,IAAI,KAAK,EAC9B,GAAG,EAAE,MAAM,CACZ;QACH;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,UAAA,CAAY,CAChE;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,SAAA,CAAW;gBAC5D,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,sBAAA,EAAyB,SAAS,CAAA,gBAAA,EAAmB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAC9G;QACH;IACF;IAEA,MAAM,QAAQ,CAAC,GAA8B,EAAA;AAC3C,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,CAAA,QAAA,CAAU,CAC1D;AACD,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;AAC7B,YAAA,OAAO,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC;QACnE;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,CAAA,UAAA,CAAY,CAC5D;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,CAAA,SAAA,CAAW;gBACxD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,kBAAA,EAAqB,SAAS,CAAA,gBAAA,EAAmB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAC1G;QACH;IACF;AAEA,IAAA,MAAM,OAAO,CACX,aAAuB,EACvB,GAGC,EAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;QACnC,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,WAAW,EAAE;gBACX,aAAa;AACb,gBAAA,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI;AACtB;AACF,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,QAAA,CAAU,CACzD;QACD,IAAI,QAAQ,GAAG,CAAC;AAChB,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;AACF,YAAA,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE;YAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,aAAa,CAC5C,IAAI,CAAC,MAAM,EACX,SAAS,EACT,aAAa,EACb,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,MAAM,CACZ;YACD,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;AAChC,YAAA,OAAO,MAAM;QACf;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,UAAU,CAClB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,UAAA,CAAY,CAC3D;YACH;YACA,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;AACvD,gBAAA,CAAA,eAAA,EAAkB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA,EAAA,CAAI;AACnD,gBAAA,CAAA,OAAA,EAAU,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA,EAAA,CAAI;gBAChE,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,gBAAA,EAAmB,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,EAAA,EAAK,QAAQ,CAAA,MAAA,CAAQ,CAC5H;QACH;IACF;AAEA,IAAA,MAAM,CAAC,OAA6B,EAAA;AAClC,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;AACd,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,WAAW,EAAE;AACX,gBAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;AACxC;SACF;QACD,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;QACxE,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,EAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAC1D,QAAQ,EACR,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;AACvE,YAAA,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QAChE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,gBAAA,EAAmB,SAAS,CAAA,SAAA,CAAW;AACtD,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,gBAAA,EAAmB,SAAS,CAAA,MAAA,EAAS,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAC9F;QACH;IACF;AAEA,IAAA,IAAI,CAAC,OAAwB,EAAA;AAC3B,QAAA,MAAM,SAAS,GAAG,IAAI,EAAa;AACnC,QAAA,MAAM,QAAQ,GAAG;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;AACd,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;SAC7C;QACD,IAAI,CAAC,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;QACxE,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,CAAA,EAAG,SAAS,EAAE,EAAE,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EAC1D,QAAQ,EACR,IAAI,CAAC,OAAO,CACb;AAED,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5B,QAAA,IAAI;AACF,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;AACrE,YAAA,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QAChE;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,cAAA,EAAiB,SAAS,CAAA,SAAA,CAAW;AACpD,gBAAA,CAAA,SAAA,EAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,EAAA,CAAI;gBACvC,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;gBAAU;AACR,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,OAAO,CACV,MAAM,EACN,UAAU,IAAI,CAAC,EAAE,CAAA,cAAA,EAAiB,SAAS,CAAA,MAAA,EAAS,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAC5F;QACH;IACF;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE;QACxB,IAAI,CACF,CAAC,CAAA,EAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,SAAS,CAAA,KAAA,CAAO,CAAC,EACxD;AACE,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,EACD,IAAI,CAAC,OAAO,CACb;AAED,QAAA,IAAI;AACF,YAAA,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,SAAA,CAAW,CAAC;QACpD;QAAE,OAAO,GAAY,EAAE;YACrB,MAAM,IAAI,WAAW,CACnB,CAAA,OAAA,EAAU,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,SAAS,CAAA,SAAA,CAAW;gBACvD,CAAA,QAAA,CAAU;AACV,gBAAA,CAAA,EAAG,WAAW,CAAC,GAAG,CAAC,CAAA,CAAE,CACxB;QACH;IACF;IAEA,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;QACd,IAAI,CAAC,OAAO,EAAE;IAChB;AACD;;;;"}
|
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.66",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./export_dist/index.d.ts",
|
|
7
7
|
"main": "./export_dist/index.js",
|
|
@@ -18,22 +18,22 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@mapbox/node-pre-gyp": "^2.0.0",
|
|
21
|
-
"@milaboratories/
|
|
21
|
+
"@milaboratories/pl-model-common": "1.19.14",
|
|
22
|
+
"humanize-duration": "^3.33.0",
|
|
23
|
+
"ulid": "^3.0.1",
|
|
24
|
+
"@milaboratories/pframes-rs-serv": "1.0.66"
|
|
22
25
|
},
|
|
23
26
|
"devDependencies": {
|
|
24
27
|
"@milaboratories/build-configs": "1.0.8",
|
|
25
|
-
"@milaboratories/pl-model-
|
|
26
|
-
"@milaboratories/pl-model-middle-layer": "1.8.15",
|
|
28
|
+
"@milaboratories/pl-model-middle-layer": "1.8.16",
|
|
27
29
|
"@milaboratories/ts-builder": "1.0.5",
|
|
28
30
|
"@milaboratories/ts-configs": "1.0.6",
|
|
29
31
|
"@types/humanize-duration": "^3.27.4",
|
|
30
32
|
"@types/node": "^20.19.11",
|
|
31
33
|
"@vitest/coverage-istanbul": "^3.2.4",
|
|
32
34
|
"cargo-cp-artifact": "^0.1.9",
|
|
33
|
-
"humanize-duration": "^3.33.0",
|
|
34
35
|
"tslib": "^2.8.1",
|
|
35
36
|
"typescript": "^5.9.2",
|
|
36
|
-
"ulid": "^3.0.1",
|
|
37
37
|
"vite": "^7.1.3",
|
|
38
38
|
"vitest": "^3.2.4"
|
|
39
39
|
},
|