@milaboratories/pl-model-common 1.35.0 → 1.36.0

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.
Files changed (57) hide show
  1. package/dist/dialog/index.d.ts +34 -0
  2. package/dist/dialog/index.d.ts.map +1 -0
  3. package/dist/drivers/index.d.ts +1 -1
  4. package/dist/drivers/pframe/data_types.cjs +1 -0
  5. package/dist/drivers/pframe/data_types.cjs.map +1 -1
  6. package/dist/drivers/pframe/data_types.d.ts +27 -1
  7. package/dist/drivers/pframe/data_types.d.ts.map +1 -1
  8. package/dist/drivers/pframe/data_types.js +1 -1
  9. package/dist/drivers/pframe/data_types.js.map +1 -1
  10. package/dist/drivers/pframe/driver.cjs.map +1 -1
  11. package/dist/drivers/pframe/driver.d.ts +6 -1
  12. package/dist/drivers/pframe/driver.d.ts.map +1 -1
  13. package/dist/drivers/pframe/driver.js.map +1 -1
  14. package/dist/drivers/pframe/index.d.ts +1 -1
  15. package/dist/index.cjs +10 -3
  16. package/dist/index.d.ts +6 -5
  17. package/dist/index.js +5 -5
  18. package/dist/services/index.cjs +1 -1
  19. package/dist/services/index.d.ts +3 -3
  20. package/dist/services/index.js +1 -1
  21. package/dist/services/{service_injector_factory.js → node_service_handlers.cjs} +6 -5
  22. package/dist/services/node_service_handlers.cjs.map +1 -0
  23. package/dist/services/node_service_handlers.d.ts +8 -0
  24. package/dist/services/node_service_handlers.d.ts.map +1 -0
  25. package/dist/services/{service_injector_factory.cjs → node_service_handlers.js} +6 -5
  26. package/dist/services/node_service_handlers.js.map +1 -0
  27. package/dist/services/service_declarations.cjs +48 -2
  28. package/dist/services/service_declarations.cjs.map +1 -1
  29. package/dist/services/service_declarations.d.ts +2 -0
  30. package/dist/services/service_declarations.d.ts.map +1 -1
  31. package/dist/services/service_declarations.js +48 -2
  32. package/dist/services/service_declarations.js.map +1 -1
  33. package/dist/services/service_injectors.cjs +29 -25
  34. package/dist/services/service_injectors.cjs.map +1 -1
  35. package/dist/services/service_injectors.d.ts +21 -10
  36. package/dist/services/service_injectors.d.ts.map +1 -1
  37. package/dist/services/service_injectors.js +29 -26
  38. package/dist/services/service_injectors.js.map +1 -1
  39. package/dist/services/service_types.cjs +26 -2
  40. package/dist/services/service_types.cjs.map +1 -1
  41. package/dist/services/service_types.d.ts +6 -4
  42. package/dist/services/service_types.d.ts.map +1 -1
  43. package/dist/services/service_types.js +22 -3
  44. package/dist/services/service_types.js.map +1 -1
  45. package/package.json +3 -3
  46. package/src/dialog/index.ts +33 -0
  47. package/src/drivers/pframe/data_types.ts +30 -1
  48. package/src/drivers/pframe/driver.ts +17 -2
  49. package/src/index.ts +1 -0
  50. package/src/services/{service_injector_factory.ts → node_service_handlers.ts} +13 -6
  51. package/src/services/service_declarations.ts +60 -3
  52. package/src/services/service_injectors.ts +50 -34
  53. package/src/services/service_types.ts +38 -4
  54. package/dist/services/service_injector_factory.cjs.map +0 -1
  55. package/dist/services/service_injector_factory.d.ts +0 -8
  56. package/dist/services/service_injector_factory.d.ts.map +0 -1
  57. package/dist/services/service_injector_factory.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ //#region src/dialog/index.d.ts
2
+ /**
3
+ * File filter passed to the native save dialog. Matches Electron's
4
+ * `FileFilter` shape so desktop runtimes can forward it verbatim.
5
+ */
6
+ interface FileFilter {
7
+ name: string;
8
+ extensions: string[];
9
+ }
10
+ /**
11
+ * Options accepted by `Dialog.showSaveDialog`. The UI supplies only a
12
+ * default file name; the main-process handler decides the default
13
+ * directory (e.g. `~/Downloads`).
14
+ */
15
+ interface ShowSaveDialogOptions {
16
+ defaultFileName?: string;
17
+ filters?: FileFilter[];
18
+ title?: string;
19
+ }
20
+ /** Result of `Dialog.showSaveDialog`. */
21
+ interface ShowSaveDialogResult {
22
+ canceled: boolean;
23
+ path?: string;
24
+ }
25
+ /**
26
+ * UI-facing save-dialog service. Implemented by desktop runtimes that
27
+ * can open a native file picker; absent in web/preview environments.
28
+ */
29
+ interface DialogService {
30
+ showSaveDialog(options: ShowSaveDialogOptions): Promise<ShowSaveDialogResult>;
31
+ }
32
+ //#endregion
33
+ export { DialogService, FileFilter, ShowSaveDialogOptions, ShowSaveDialogResult };
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/dialog/index.ts"],"mappings":";;AAIA;;;UAAiB,UAAA;EACf,IAAA;EACA,UAAA;AAAA;;;;;;UAQe,qBAAA;EACf,eAAA;EACA,OAAA,GAAU,UAAA;EACV,KAAA;AAAA;;UAIe,oBAAA;EACf,QAAA;EACA,IAAA;AAAA;;;;;UAOe,aAAA;EACf,cAAA,CAAe,OAAA,EAAS,qBAAA,GAAwB,OAAA,CAAQ,oBAAA;AAAA"}
@@ -18,7 +18,7 @@ import { AxisQualification, BuildQueryInput, ColumnAxesWithQualifications, Delet
18
18
  import { DiscoveredPColumn, DiscoveredPColumnId, createDiscoveredPColumn, createDiscoveredPColumnId, isDiscoveredPColumn, parseDiscoveredPColumnId, stringifyDiscoveredPColumnId } from "./pframe/spec/discovered_column.js";
19
19
  import { SUniversalPColumnId, UniversalPColumnId, parseColumnId, stringifyColumnId } from "./pframe/spec/ids.js";
20
20
  import { FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, RootFilterSpec } from "./pframe/filter_spec.js";
21
- import { PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, isPTableNA, pTableValue, pTableValueBranded } from "./pframe/data_types.js";
21
+ import { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./pframe/data_types.js";
22
22
  import { FindColumnsRequest, FindColumnsResponse } from "./pframe/find_columns.js";
23
23
  import { PTable } from "./pframe/table.js";
24
24
  import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./pframe/table_calculate.js";
@@ -47,6 +47,7 @@ function pTableValueBranded(column, row, options) {
47
47
  //#endregion
48
48
  exports.PTableNA = PTableNA;
49
49
  exports.isPTableNA = isPTableNA;
50
+ exports.isValueNA = isValueNA;
50
51
  exports.pTableValue = pTableValue;
51
52
  exports.pTableValueBranded = pTableValueBranded;
52
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"data_types.cjs","names":["ValueType"],"sources":["../../../src/drivers/pframe/data_types.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport { ValueType } from \"./spec/spec\";\n\nexport type PVectorDataInt = Int32Array;\nexport type PVectorDataLong = BigInt64Array;\nexport type PVectorDataFloat = Float32Array;\nexport type PVectorDataDouble = Float64Array;\nexport type PVectorDataString = (null | string)[];\nexport type PVectorDataBytes = (null | Uint8Array)[];\nexport type PVectorDataTyped<DataType extends ValueType> = DataType extends typeof ValueType.Int\n ? PVectorDataInt\n : DataType extends typeof ValueType.Long\n ? PVectorDataLong\n : DataType extends typeof ValueType.Float\n ? PVectorDataFloat\n : DataType extends typeof ValueType.Double\n ? PVectorDataDouble\n : DataType extends typeof ValueType.String\n ? PVectorDataString\n : DataType extends typeof ValueType.Bytes\n ? PVectorDataBytes\n : never;\nexport type PVectorData = PVectorDataTyped<ValueType>;\n\nexport type PTableVectorTyped<DataType extends ValueType> = {\n /** Stored data type */\n readonly type: DataType;\n\n /** Values for present positions */\n readonly data: PVectorDataTyped<DataType>;\n\n /**\n * Encoded bit array marking some elements of this vector as NA,\n * call {@link bitSet} to read the data.\n * In old desktop versions NA values are encoded as magic values in data array.\n * */\n readonly isNA?: Uint8Array;\n\n /** @deprecated Always empty. Kept for backwards compatibility with old blocks. */\n readonly absent?: Uint8Array;\n};\n/** Table column data */\nexport type PTableVector = PTableVectorTyped<ValueType>;\n\nfunction isBitSet(bitVector: Uint8Array, offset: number): boolean {\n const chunkIndex = Math.floor(offset / 8);\n const mask = 1 << (7 - (offset % 8));\n return (bitVector[chunkIndex] & mask) > 0;\n}\n\nfunction isValueNA(vector: PTableVector, row: number): boolean {\n if (vector.isNA) return isBitSet(vector.isNA, row);\n\n // Check for legacy magic values to support old desktop versions\n const valueType = vector.type;\n const value = vector.data[row];\n switch (valueType) {\n case ValueType.Int:\n return (value as PVectorDataInt[number]) === -2147483648;\n case ValueType.Long:\n return (value as PVectorDataLong[number]) === -9007199254740991n;\n case ValueType.Float:\n return Number.isNaN(value as PVectorDataFloat[number]);\n case ValueType.Double:\n return Number.isNaN(value as PVectorDataDouble[number]);\n case ValueType.String:\n return (value as PVectorDataString[number]) === null;\n case ValueType.Bytes:\n return (value as PVectorDataBytes[number]) === null;\n default:\n throw Error(`unsupported data type: ${valueType satisfies never}`);\n }\n}\n\nexport const PTableNA = null;\nexport type PTableNA = typeof PTableNA;\n\n/** Type guard for NA value */\nexport function isPTableNA(value: unknown): value is PTableNA {\n return value === PTableNA;\n}\n\nexport type ValueTypeSupported = Exclude<ValueType, typeof ValueType.Bytes>;\n\nexport type PTableValueInt = number;\nexport type PTableValueLong = number;\nexport type PTableValueFloat = number;\nexport type PTableValueDouble = number;\nexport type PTableValueString = string;\nexport type PTableValueData<DataType extends ValueTypeSupported> =\n DataType extends typeof ValueType.Int\n ? PTableValueInt\n : DataType extends typeof ValueType.Long\n ? PTableValueLong\n : DataType extends typeof ValueType.Float\n ? PTableValueFloat\n : DataType extends typeof ValueType.Double\n ? PTableValueDouble\n : DataType extends typeof ValueType.String\n ? PTableValueString\n : never;\nexport type PTableValueDataBranded<DataType extends ValueTypeSupported> = Branded<\n PTableValueData<DataType>,\n DataType\n>;\nexport type PTableValue<NA = PTableNA, DataType extends ValueTypeSupported = ValueTypeSupported> =\n | NA\n | PTableValueData<DataType>;\nexport type PTableValueBranded<\n NA = PTableNA,\n DataType extends ValueTypeSupported = ValueTypeSupported,\n> = NA | PTableValueDataBranded<DataType>;\n\nexport type PTableValueAxis<DataType extends ValueTypeSupported = ValueTypeSupported> =\n PTableValueData<DataType>;\n\nfunction pTableValueImpl<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n const valueType = column.type;\n if (valueType === ValueType.Bytes) {\n throw Error(\"Bytes not yet supported\");\n }\n\n if (\n options &&\n \"dataType\" in options &&\n options.dataType !== undefined &&\n options.dataType !== valueType\n ) {\n throw Error(`expected column of type ${options.dataType}, got ${valueType}`);\n }\n\n if (isValueNA(column, row)) {\n return options?.na !== undefined ? options.na : PTableNA;\n }\n\n const value = column.data[row]!;\n switch (valueType) {\n case ValueType.Int:\n return value as PVectorDataInt[number];\n case ValueType.Long:\n return Number(value as PVectorDataLong[number]);\n case ValueType.Float:\n return value as PVectorDataFloat[number];\n case ValueType.Double:\n return value as PVectorDataDouble[number];\n case ValueType.String:\n return (value as PVectorDataString[number])!;\n }\n}\n\n/** Read PTableValue from PTable column at specified row */\nexport function pTableValue<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValue<PTableNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValue<FillNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValue<FillNA, DataType>;\nexport function pTableValue<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\nexport function pTableValueBranded<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValueBranded<PTableNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValueBranded<FillNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValueBranded<FillNA, DataType>;\nexport function pTableValueBranded<\n FillNA = PTableNA,\n DataType extends ValueType = ValueTypeSupported,\n>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\n/** Used in requests to partially retrieve table's data */\nexport type TableRange = {\n /** Index of the first record to retrieve */\n readonly offset: number;\n\n /** Block length */\n readonly length: number;\n};\n\n/** Unified information about table shape */\nexport type PTableShape = {\n /** Number of unified table columns, including all axes and PColumn values */\n columns: number;\n\n /** Number of rows */\n rows: number;\n};\n"],"mappings":";;AA4CA,SAAS,SAAS,WAAuB,QAAyB;CAChE,MAAM,aAAa,KAAK,MAAM,SAAS,EAAE;CACzC,MAAM,OAAO,KAAM,IAAK,SAAS;AACjC,SAAQ,UAAU,cAAc,QAAQ;;AAG1C,SAAS,UAAU,QAAsB,KAAsB;AAC7D,KAAI,OAAO,KAAM,QAAO,SAAS,OAAO,MAAM,IAAI;CAGlD,MAAM,YAAY,OAAO;CACzB,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAKA,aAAAA,UAAU,IACb,QAAQ,UAAqC;EAC/C,KAAKA,aAAAA,UAAU,KACb,QAAQ,UAAsC,CAAC;EACjD,KAAKA,aAAAA,UAAU,MACb,QAAO,OAAO,MAAM,MAAkC;EACxD,KAAKA,aAAAA,UAAU,OACb,QAAO,OAAO,MAAM,MAAmC;EACzD,KAAKA,aAAAA,UAAU,OACb,QAAQ,UAAwC;EAClD,KAAKA,aAAAA,UAAU,MACb,QAAQ,UAAuC;EACjD,QACE,OAAM,MAAM,0BAA0B,YAA4B;;;AAIxE,MAAa,WAAW;;AAIxB,SAAgB,WAAW,OAAmC;AAC5D,QAAO,UAAA;;AAqCT,SAAS,gBACP,QACA,KACA,SAIA;CACA,MAAM,YAAY,OAAO;AACzB,KAAI,cAAcA,aAAAA,UAAU,MAC1B,OAAM,MAAM,0BAA0B;AAGxC,KACE,WACA,cAAc,WACd,QAAQ,aAAa,KAAA,KACrB,QAAQ,aAAa,UAErB,OAAM,MAAM,2BAA2B,QAAQ,SAAS,QAAQ,YAAY;AAG9E,KAAI,UAAU,QAAQ,IAAI,CACxB,QAAO,SAAS,OAAO,KAAA,IAAY,QAAQ,KAAA;CAG7C,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAKA,aAAAA,UAAU,IACb,QAAO;EACT,KAAKA,aAAAA,UAAU,KACb,QAAO,OAAO,MAAiC;EACjD,KAAKA,aAAAA,UAAU,MACb,QAAO;EACT,KAAKA,aAAAA,UAAU,OACb,QAAO;EACT,KAAKA,aAAAA,UAAU,OACb,QAAQ;;;AAwBd,SAAgB,YACd,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ;;AAsB9C,SAAgB,mBAId,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ"}
1
+ {"version":3,"file":"data_types.cjs","names":["ValueType"],"sources":["../../../src/drivers/pframe/data_types.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport { ValueType } from \"./spec/spec\";\n\nexport type PVectorDataInt = Int32Array;\nexport type PVectorDataLong = BigInt64Array;\nexport type PVectorDataFloat = Float32Array;\nexport type PVectorDataDouble = Float64Array;\nexport type PVectorDataString = (null | string)[];\nexport type PVectorDataBytes = (null | Uint8Array)[];\nexport type PVectorDataTyped<DataType extends ValueType> = DataType extends typeof ValueType.Int\n ? PVectorDataInt\n : DataType extends typeof ValueType.Long\n ? PVectorDataLong\n : DataType extends typeof ValueType.Float\n ? PVectorDataFloat\n : DataType extends typeof ValueType.Double\n ? PVectorDataDouble\n : DataType extends typeof ValueType.String\n ? PVectorDataString\n : DataType extends typeof ValueType.Bytes\n ? PVectorDataBytes\n : never;\nexport type PVectorData = PVectorDataTyped<ValueType>;\n\nexport type PTableVectorTyped<DataType extends ValueType> = {\n /** Stored data type */\n readonly type: DataType;\n\n /** Values for present positions */\n readonly data: PVectorDataTyped<DataType>;\n\n /**\n * Encoded bit array marking some elements of this vector as NA,\n * call {@link bitSet} to read the data.\n * In old desktop versions NA values are encoded as magic values in data array.\n * */\n readonly isNA?: Uint8Array;\n\n /** @deprecated Always empty. Kept for backwards compatibility with old blocks. */\n readonly absent?: Uint8Array;\n};\n/** Table column data */\nexport type PTableVector = PTableVectorTyped<ValueType>;\n\nfunction isBitSet(bitVector: Uint8Array, offset: number): boolean {\n const chunkIndex = Math.floor(offset / 8);\n const mask = 1 << (7 - (offset % 8));\n return (bitVector[chunkIndex] & mask) > 0;\n}\n\nexport function isValueNA(vector: PTableVector, row: number): boolean {\n if (vector.isNA) return isBitSet(vector.isNA, row);\n\n // Check for legacy magic values to support old desktop versions\n const valueType = vector.type;\n const value = vector.data[row];\n switch (valueType) {\n case ValueType.Int:\n return (value as PVectorDataInt[number]) === -2147483648;\n case ValueType.Long:\n return (value as PVectorDataLong[number]) === -9007199254740991n;\n case ValueType.Float:\n return Number.isNaN(value as PVectorDataFloat[number]);\n case ValueType.Double:\n return Number.isNaN(value as PVectorDataDouble[number]);\n case ValueType.String:\n return (value as PVectorDataString[number]) === null;\n case ValueType.Bytes:\n return (value as PVectorDataBytes[number]) === null;\n default:\n throw Error(`unsupported data type: ${valueType satisfies never}`);\n }\n}\n\nexport const PTableNA = null;\nexport type PTableNA = typeof PTableNA;\n\n/** Type guard for NA value */\nexport function isPTableNA(value: unknown): value is PTableNA {\n return value === PTableNA;\n}\n\nexport type ValueTypeSupported = Exclude<ValueType, typeof ValueType.Bytes>;\n\nexport type PTableValueInt = number;\nexport type PTableValueLong = number;\nexport type PTableValueFloat = number;\nexport type PTableValueDouble = number;\nexport type PTableValueString = string;\nexport type PTableValueData<DataType extends ValueTypeSupported> =\n DataType extends typeof ValueType.Int\n ? PTableValueInt\n : DataType extends typeof ValueType.Long\n ? PTableValueLong\n : DataType extends typeof ValueType.Float\n ? PTableValueFloat\n : DataType extends typeof ValueType.Double\n ? PTableValueDouble\n : DataType extends typeof ValueType.String\n ? PTableValueString\n : never;\nexport type PTableValueDataBranded<DataType extends ValueTypeSupported> = Branded<\n PTableValueData<DataType>,\n DataType\n>;\nexport type PTableValue<NA = PTableNA, DataType extends ValueTypeSupported = ValueTypeSupported> =\n | NA\n | PTableValueData<DataType>;\nexport type PTableValueBranded<\n NA = PTableNA,\n DataType extends ValueTypeSupported = ValueTypeSupported,\n> = NA | PTableValueDataBranded<DataType>;\n\nexport type PTableValueAxis<DataType extends ValueTypeSupported = ValueTypeSupported> =\n PTableValueData<DataType>;\n\nfunction pTableValueImpl<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n const valueType = column.type;\n if (valueType === ValueType.Bytes) {\n throw Error(\"Bytes not yet supported\");\n }\n\n if (\n options &&\n \"dataType\" in options &&\n options.dataType !== undefined &&\n options.dataType !== valueType\n ) {\n throw Error(`expected column of type ${options.dataType}, got ${valueType}`);\n }\n\n if (isValueNA(column, row)) {\n return options?.na !== undefined ? options.na : PTableNA;\n }\n\n const value = column.data[row]!;\n switch (valueType) {\n case ValueType.Int:\n return value as PVectorDataInt[number];\n case ValueType.Long:\n return Number(value as PVectorDataLong[number]);\n case ValueType.Float:\n return value as PVectorDataFloat[number];\n case ValueType.Double:\n return value as PVectorDataDouble[number];\n case ValueType.String:\n return (value as PVectorDataString[number])!;\n }\n}\n\n/** Read PTableValue from PTable column at specified row */\nexport function pTableValue<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValue<PTableNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValue<FillNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValue<FillNA, DataType>;\nexport function pTableValue<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\nexport function pTableValueBranded<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValueBranded<PTableNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValueBranded<FillNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValueBranded<FillNA, DataType>;\nexport function pTableValueBranded<\n FillNA = PTableNA,\n DataType extends ValueType = ValueTypeSupported,\n>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\n/** Used in requests to partially retrieve table's data */\nexport type TableRange = {\n /** Index of the first record to retrieve */\n readonly offset: number;\n\n /** Block length */\n readonly length: number;\n};\n\n/** Unified information about table shape */\nexport type PTableShape = {\n /** Number of unified table columns, including all axes and PColumn values */\n columns: number;\n\n /** Number of rows */\n rows: number;\n};\n\n/** Supported formats for PTable file download. */\nexport type PTableDownloadFormat = \"csv\" | \"tsv\";\n\n/** Compression applied to the written file. */\nexport type PTableDownloadCompression = \"none\" | \"gzip\";\n\n/** Options for downloading PTable data to a file. */\nexport interface WritePTableToFsOptions {\n path: string;\n format: PTableDownloadFormat;\n columnIndices: number[];\n range?: TableRange;\n chunkSize?: number;\n includeHeader?: boolean;\n bom?: boolean;\n compression?: {\n type: \"gzip\";\n level?: number;\n };\n signal?: AbortSignal;\n}\n\n/** Result of a PTable file download. */\nexport interface WritePTableToFsResult {\n path: string;\n rowsWritten: number;\n bytesWritten: number;\n}\n"],"mappings":";;AA4CA,SAAS,SAAS,WAAuB,QAAyB;CAChE,MAAM,aAAa,KAAK,MAAM,SAAS,EAAE;CACzC,MAAM,OAAO,KAAM,IAAK,SAAS;AACjC,SAAQ,UAAU,cAAc,QAAQ;;AAG1C,SAAgB,UAAU,QAAsB,KAAsB;AACpE,KAAI,OAAO,KAAM,QAAO,SAAS,OAAO,MAAM,IAAI;CAGlD,MAAM,YAAY,OAAO;CACzB,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAKA,aAAAA,UAAU,IACb,QAAQ,UAAqC;EAC/C,KAAKA,aAAAA,UAAU,KACb,QAAQ,UAAsC,CAAC;EACjD,KAAKA,aAAAA,UAAU,MACb,QAAO,OAAO,MAAM,MAAkC;EACxD,KAAKA,aAAAA,UAAU,OACb,QAAO,OAAO,MAAM,MAAmC;EACzD,KAAKA,aAAAA,UAAU,OACb,QAAQ,UAAwC;EAClD,KAAKA,aAAAA,UAAU,MACb,QAAQ,UAAuC;EACjD,QACE,OAAM,MAAM,0BAA0B,YAA4B;;;AAIxE,MAAa,WAAW;;AAIxB,SAAgB,WAAW,OAAmC;AAC5D,QAAO,UAAA;;AAqCT,SAAS,gBACP,QACA,KACA,SAIA;CACA,MAAM,YAAY,OAAO;AACzB,KAAI,cAAcA,aAAAA,UAAU,MAC1B,OAAM,MAAM,0BAA0B;AAGxC,KACE,WACA,cAAc,WACd,QAAQ,aAAa,KAAA,KACrB,QAAQ,aAAa,UAErB,OAAM,MAAM,2BAA2B,QAAQ,SAAS,QAAQ,YAAY;AAG9E,KAAI,UAAU,QAAQ,IAAI,CACxB,QAAO,SAAS,OAAO,KAAA,IAAY,QAAQ,KAAA;CAG7C,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAKA,aAAAA,UAAU,IACb,QAAO;EACT,KAAKA,aAAAA,UAAU,KACb,QAAO,OAAO,MAAiC;EACjD,KAAKA,aAAAA,UAAU,MACb,QAAO;EACT,KAAKA,aAAAA,UAAU,OACb,QAAO;EACT,KAAKA,aAAAA,UAAU,OACb,QAAQ;;;AAwBd,SAAgB,YACd,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ;;AAsB9C,SAAgB,mBAId,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ"}
@@ -23,6 +23,7 @@ type PTableVectorTyped<DataType extends ValueType> = {
23
23
  };
24
24
  /** Table column data */
25
25
  type PTableVector = PTableVectorTyped<ValueType>;
26
+ declare function isValueNA(vector: PTableVector, row: number): boolean;
26
27
  declare const PTableNA: null;
27
28
  type PTableNA = typeof PTableNA;
28
29
  /** Type guard for NA value */
@@ -65,6 +66,31 @@ type PTableShape = {
65
66
  /** Number of unified table columns, including all axes and PColumn values */columns: number; /** Number of rows */
66
67
  rows: number;
67
68
  };
69
+ /** Supported formats for PTable file download. */
70
+ type PTableDownloadFormat = "csv" | "tsv";
71
+ /** Compression applied to the written file. */
72
+ type PTableDownloadCompression = "none" | "gzip";
73
+ /** Options for downloading PTable data to a file. */
74
+ interface WritePTableToFsOptions {
75
+ path: string;
76
+ format: PTableDownloadFormat;
77
+ columnIndices: number[];
78
+ range?: TableRange;
79
+ chunkSize?: number;
80
+ includeHeader?: boolean;
81
+ bom?: boolean;
82
+ compression?: {
83
+ type: "gzip";
84
+ level?: number;
85
+ };
86
+ signal?: AbortSignal;
87
+ }
88
+ /** Result of a PTable file download. */
89
+ interface WritePTableToFsResult {
90
+ path: string;
91
+ rowsWritten: number;
92
+ bytesWritten: number;
93
+ }
68
94
  //#endregion
69
- export { PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, isPTableNA, pTableValue, pTableValueBranded };
95
+ export { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded };
70
96
  //# sourceMappingURL=data_types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data_types.d.ts","names":[],"sources":["../../../src/drivers/pframe/data_types.ts"],"mappings":";;;;KAGY,cAAA,GAAiB,UAAA;AAAA,KACjB,eAAA,GAAkB,aAAA;AAAA,KAClB,gBAAA,GAAmB,YAAA;AAAA,KACnB,iBAAA,GAAoB,YAAA;AAAA,KACpB,iBAAA;AAAA,KACA,gBAAA,WAA2B,UAAA;AAAA,KAC3B,gBAAA,kBAAkC,SAAA,IAAa,QAAA,gBAAwB,SAAA,CAAU,GAAA,GACzF,cAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,IAAA,GAChC,eAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,KAAA,GAChC,gBAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,MAAA,GAChC,iBAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,MAAA,GAChC,iBAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,KAAA,GAChC,gBAAA;AAAA,KAEF,WAAA,GAAc,gBAAA,CAAiB,SAAA;AAAA,KAE/B,iBAAA,kBAAmC,SAAA;kCAEpC,IAAA,EAAM,QAAA,EAtB0B;EAAA,SAyBhC,IAAA,EAAM,gBAAA,CAAiB,QAAA;EAxBN;;;;AAC5B;EAD4B,SA+BjB,IAAA,GAAO,UAAA;WAGP,MAAA,GAAS,UAAA;AAAA;AAhCpB;AAAA,KAmCY,YAAA,GAAe,iBAAA,CAAkB,SAAA;AAAA,cAgChC,QAAA;AAAA,KACD,QAAA,UAAkB,QAAA;;iBAGd,UAAA,CAAW,KAAA,YAAiB,KAAA,IAAS,QAAA;AAAA,KAIzC,kBAAA,GAAqB,OAAA,CAAQ,SAAA,SAAkB,SAAA,CAAU,KAAA;AAAA,KAEzD,cAAA;AAAA,KACA,eAAA;AAAA,KACA,gBAAA;AAAA,KACA,iBAAA;AAAA,KACA,iBAAA;AAAA,KACA,eAAA,kBAAiC,kBAAA,IAC3C,QAAA,gBAAwB,SAAA,CAAU,GAAA,GAC9B,cAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,IAAA,GAChC,eAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,KAAA,GAChC,gBAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,MAAA,GAChC,iBAAA,GACA,QAAA,gBAAwB,SAAA,CAAU,MAAA,GAChC,iBAAA;AAAA,KAEF,sBAAA,kBAAwC,kBAAA,IAAsB,OAAA,CACxE,eAAA,CAAgB,QAAA,GAChB,QAAA;AAAA,KAEU,WAAA,MAAiB,QAAA,mBAA2B,kBAAA,GAAqB,kBAAA,IACzE,EAAA,GACA,eAAA,CAAgB,QAAA;AAAA,KACR,kBAAA,MACL,QAAA,mBACY,kBAAA,GAAqB,kBAAA,IACpC,EAAA,GAAK,sBAAA,CAAuB,QAAA;AAAA,KAEpB,eAAA,kBAAiC,kBAAA,GAAqB,kBAAA,IAChE,eAAA,CAAgB,QAAA;;iBA4CF,WAAA,kBAA6B,SAAA,CAAA,CAC3C,MAAA,EAAQ,iBAAA,CAAkB,QAAA,GAC1B,GAAA,WACC,QAAA,SAAiB,kBAAA,GAAqB,WAAA,CAAY,QAAA,EAAU,QAAA;AAAA,iBAC/C,WAAA,0BAAqC,SAAA,CAAA,CACnD,MAAA,EAAQ,iBAAA,CAAkB,QAAA,GAC1B,GAAA,UACA,OAAA;EACE,EAAA,EAAI,MAAA;AAAA,IAEL,QAAA,SAAiB,kBAAA,GAAqB,WAAA,CAAY,MAAA,EAAQ,QAAA;AAAA,iBAC7C,WAAA,0BAAqC,kBAAA,CAAA,CACnD,MAAA,EAAQ,iBAAA,CAAkB,SAAA,GAC1B,GAAA,UACA,OAAA;EACE,EAAA,EAAI,MAAA;EACJ,QAAA,EAAU,QAAA;AAAA,IAEX,WAAA,CAAY,MAAA,EAAQ,QAAA;AAAA,iBAYP,kBAAA,kBAAoC,SAAA,CAAA,CAClD,MAAA,EAAQ,iBAAA,CAAkB,QAAA,GAC1B,GAAA,WACC,QAAA,SAAiB,kBAAA,GAAqB,kBAAA,CAAmB,QAAA,EAAU,QAAA;AAAA,iBACtD,kBAAA,0BAA4C,SAAA,CAAA,CAC1D,MAAA,EAAQ,iBAAA,CAAkB,QAAA,GAC1B,GAAA,UACA,OAAA;EACE,EAAA,EAAI,MAAA;AAAA,IAEL,QAAA,SAAiB,kBAAA,GAAqB,kBAAA,CAAmB,MAAA,EAAQ,QAAA;AAAA,iBACpD,kBAAA,0BAA4C,kBAAA,CAAA,CAC1D,MAAA,EAAQ,iBAAA,CAAkB,SAAA,GAC1B,GAAA,UACA,OAAA;EACE,EAAA,EAAI,MAAA;EACJ,QAAA,EAAU,QAAA;AAAA,IAEX,kBAAA,CAAmB,MAAA,EAAQ,QAAA;;KAgBlB,UAAA;EArN+C,qDAuNhD,MAAA,UAvNkF;EAAA,SA0NlF,MAAA;AAAA;;KAIC,WAAA;EA3NN,6EA6NJ,OAAA,UA5N4B;EA+N5B,IAAA;AAAA"}
1
+ {"version":3,"file":"data_types.d.ts","names":[],"sources":["../../../src/drivers/pframe/data_types.ts"],"mappings":"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"}
@@ -45,6 +45,6 @@ function pTableValueBranded(column, row, options) {
45
45
  return pTableValueImpl(column, row, options);
46
46
  }
47
47
  //#endregion
48
- export { PTableNA, isPTableNA, pTableValue, pTableValueBranded };
48
+ export { PTableNA, isPTableNA, isValueNA, pTableValue, pTableValueBranded };
49
49
 
50
50
  //# sourceMappingURL=data_types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data_types.js","names":[],"sources":["../../../src/drivers/pframe/data_types.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport { ValueType } from \"./spec/spec\";\n\nexport type PVectorDataInt = Int32Array;\nexport type PVectorDataLong = BigInt64Array;\nexport type PVectorDataFloat = Float32Array;\nexport type PVectorDataDouble = Float64Array;\nexport type PVectorDataString = (null | string)[];\nexport type PVectorDataBytes = (null | Uint8Array)[];\nexport type PVectorDataTyped<DataType extends ValueType> = DataType extends typeof ValueType.Int\n ? PVectorDataInt\n : DataType extends typeof ValueType.Long\n ? PVectorDataLong\n : DataType extends typeof ValueType.Float\n ? PVectorDataFloat\n : DataType extends typeof ValueType.Double\n ? PVectorDataDouble\n : DataType extends typeof ValueType.String\n ? PVectorDataString\n : DataType extends typeof ValueType.Bytes\n ? PVectorDataBytes\n : never;\nexport type PVectorData = PVectorDataTyped<ValueType>;\n\nexport type PTableVectorTyped<DataType extends ValueType> = {\n /** Stored data type */\n readonly type: DataType;\n\n /** Values for present positions */\n readonly data: PVectorDataTyped<DataType>;\n\n /**\n * Encoded bit array marking some elements of this vector as NA,\n * call {@link bitSet} to read the data.\n * In old desktop versions NA values are encoded as magic values in data array.\n * */\n readonly isNA?: Uint8Array;\n\n /** @deprecated Always empty. Kept for backwards compatibility with old blocks. */\n readonly absent?: Uint8Array;\n};\n/** Table column data */\nexport type PTableVector = PTableVectorTyped<ValueType>;\n\nfunction isBitSet(bitVector: Uint8Array, offset: number): boolean {\n const chunkIndex = Math.floor(offset / 8);\n const mask = 1 << (7 - (offset % 8));\n return (bitVector[chunkIndex] & mask) > 0;\n}\n\nfunction isValueNA(vector: PTableVector, row: number): boolean {\n if (vector.isNA) return isBitSet(vector.isNA, row);\n\n // Check for legacy magic values to support old desktop versions\n const valueType = vector.type;\n const value = vector.data[row];\n switch (valueType) {\n case ValueType.Int:\n return (value as PVectorDataInt[number]) === -2147483648;\n case ValueType.Long:\n return (value as PVectorDataLong[number]) === -9007199254740991n;\n case ValueType.Float:\n return Number.isNaN(value as PVectorDataFloat[number]);\n case ValueType.Double:\n return Number.isNaN(value as PVectorDataDouble[number]);\n case ValueType.String:\n return (value as PVectorDataString[number]) === null;\n case ValueType.Bytes:\n return (value as PVectorDataBytes[number]) === null;\n default:\n throw Error(`unsupported data type: ${valueType satisfies never}`);\n }\n}\n\nexport const PTableNA = null;\nexport type PTableNA = typeof PTableNA;\n\n/** Type guard for NA value */\nexport function isPTableNA(value: unknown): value is PTableNA {\n return value === PTableNA;\n}\n\nexport type ValueTypeSupported = Exclude<ValueType, typeof ValueType.Bytes>;\n\nexport type PTableValueInt = number;\nexport type PTableValueLong = number;\nexport type PTableValueFloat = number;\nexport type PTableValueDouble = number;\nexport type PTableValueString = string;\nexport type PTableValueData<DataType extends ValueTypeSupported> =\n DataType extends typeof ValueType.Int\n ? PTableValueInt\n : DataType extends typeof ValueType.Long\n ? PTableValueLong\n : DataType extends typeof ValueType.Float\n ? PTableValueFloat\n : DataType extends typeof ValueType.Double\n ? PTableValueDouble\n : DataType extends typeof ValueType.String\n ? PTableValueString\n : never;\nexport type PTableValueDataBranded<DataType extends ValueTypeSupported> = Branded<\n PTableValueData<DataType>,\n DataType\n>;\nexport type PTableValue<NA = PTableNA, DataType extends ValueTypeSupported = ValueTypeSupported> =\n | NA\n | PTableValueData<DataType>;\nexport type PTableValueBranded<\n NA = PTableNA,\n DataType extends ValueTypeSupported = ValueTypeSupported,\n> = NA | PTableValueDataBranded<DataType>;\n\nexport type PTableValueAxis<DataType extends ValueTypeSupported = ValueTypeSupported> =\n PTableValueData<DataType>;\n\nfunction pTableValueImpl<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n const valueType = column.type;\n if (valueType === ValueType.Bytes) {\n throw Error(\"Bytes not yet supported\");\n }\n\n if (\n options &&\n \"dataType\" in options &&\n options.dataType !== undefined &&\n options.dataType !== valueType\n ) {\n throw Error(`expected column of type ${options.dataType}, got ${valueType}`);\n }\n\n if (isValueNA(column, row)) {\n return options?.na !== undefined ? options.na : PTableNA;\n }\n\n const value = column.data[row]!;\n switch (valueType) {\n case ValueType.Int:\n return value as PVectorDataInt[number];\n case ValueType.Long:\n return Number(value as PVectorDataLong[number]);\n case ValueType.Float:\n return value as PVectorDataFloat[number];\n case ValueType.Double:\n return value as PVectorDataDouble[number];\n case ValueType.String:\n return (value as PVectorDataString[number])!;\n }\n}\n\n/** Read PTableValue from PTable column at specified row */\nexport function pTableValue<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValue<PTableNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValue<FillNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValue<FillNA, DataType>;\nexport function pTableValue<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\nexport function pTableValueBranded<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValueBranded<PTableNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValueBranded<FillNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValueBranded<FillNA, DataType>;\nexport function pTableValueBranded<\n FillNA = PTableNA,\n DataType extends ValueType = ValueTypeSupported,\n>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\n/** Used in requests to partially retrieve table's data */\nexport type TableRange = {\n /** Index of the first record to retrieve */\n readonly offset: number;\n\n /** Block length */\n readonly length: number;\n};\n\n/** Unified information about table shape */\nexport type PTableShape = {\n /** Number of unified table columns, including all axes and PColumn values */\n columns: number;\n\n /** Number of rows */\n rows: number;\n};\n"],"mappings":";;AA4CA,SAAS,SAAS,WAAuB,QAAyB;CAChE,MAAM,aAAa,KAAK,MAAM,SAAS,EAAE;CACzC,MAAM,OAAO,KAAM,IAAK,SAAS;AACjC,SAAQ,UAAU,cAAc,QAAQ;;AAG1C,SAAS,UAAU,QAAsB,KAAsB;AAC7D,KAAI,OAAO,KAAM,QAAO,SAAS,OAAO,MAAM,IAAI;CAGlD,MAAM,YAAY,OAAO;CACzB,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAK,UAAU,IACb,QAAQ,UAAqC;EAC/C,KAAK,UAAU,KACb,QAAQ,UAAsC,CAAC;EACjD,KAAK,UAAU,MACb,QAAO,OAAO,MAAM,MAAkC;EACxD,KAAK,UAAU,OACb,QAAO,OAAO,MAAM,MAAmC;EACzD,KAAK,UAAU,OACb,QAAQ,UAAwC;EAClD,KAAK,UAAU,MACb,QAAQ,UAAuC;EACjD,QACE,OAAM,MAAM,0BAA0B,YAA4B;;;AAIxE,MAAa,WAAW;;AAIxB,SAAgB,WAAW,OAAmC;AAC5D,QAAO,UAAA;;AAqCT,SAAS,gBACP,QACA,KACA,SAIA;CACA,MAAM,YAAY,OAAO;AACzB,KAAI,cAAc,UAAU,MAC1B,OAAM,MAAM,0BAA0B;AAGxC,KACE,WACA,cAAc,WACd,QAAQ,aAAa,KAAA,KACrB,QAAQ,aAAa,UAErB,OAAM,MAAM,2BAA2B,QAAQ,SAAS,QAAQ,YAAY;AAG9E,KAAI,UAAU,QAAQ,IAAI,CACxB,QAAO,SAAS,OAAO,KAAA,IAAY,QAAQ,KAAA;CAG7C,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAK,UAAU,IACb,QAAO;EACT,KAAK,UAAU,KACb,QAAO,OAAO,MAAiC;EACjD,KAAK,UAAU,MACb,QAAO;EACT,KAAK,UAAU,OACb,QAAO;EACT,KAAK,UAAU,OACb,QAAQ;;;AAwBd,SAAgB,YACd,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ;;AAsB9C,SAAgB,mBAId,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ"}
1
+ {"version":3,"file":"data_types.js","names":[],"sources":["../../../src/drivers/pframe/data_types.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport { ValueType } from \"./spec/spec\";\n\nexport type PVectorDataInt = Int32Array;\nexport type PVectorDataLong = BigInt64Array;\nexport type PVectorDataFloat = Float32Array;\nexport type PVectorDataDouble = Float64Array;\nexport type PVectorDataString = (null | string)[];\nexport type PVectorDataBytes = (null | Uint8Array)[];\nexport type PVectorDataTyped<DataType extends ValueType> = DataType extends typeof ValueType.Int\n ? PVectorDataInt\n : DataType extends typeof ValueType.Long\n ? PVectorDataLong\n : DataType extends typeof ValueType.Float\n ? PVectorDataFloat\n : DataType extends typeof ValueType.Double\n ? PVectorDataDouble\n : DataType extends typeof ValueType.String\n ? PVectorDataString\n : DataType extends typeof ValueType.Bytes\n ? PVectorDataBytes\n : never;\nexport type PVectorData = PVectorDataTyped<ValueType>;\n\nexport type PTableVectorTyped<DataType extends ValueType> = {\n /** Stored data type */\n readonly type: DataType;\n\n /** Values for present positions */\n readonly data: PVectorDataTyped<DataType>;\n\n /**\n * Encoded bit array marking some elements of this vector as NA,\n * call {@link bitSet} to read the data.\n * In old desktop versions NA values are encoded as magic values in data array.\n * */\n readonly isNA?: Uint8Array;\n\n /** @deprecated Always empty. Kept for backwards compatibility with old blocks. */\n readonly absent?: Uint8Array;\n};\n/** Table column data */\nexport type PTableVector = PTableVectorTyped<ValueType>;\n\nfunction isBitSet(bitVector: Uint8Array, offset: number): boolean {\n const chunkIndex = Math.floor(offset / 8);\n const mask = 1 << (7 - (offset % 8));\n return (bitVector[chunkIndex] & mask) > 0;\n}\n\nexport function isValueNA(vector: PTableVector, row: number): boolean {\n if (vector.isNA) return isBitSet(vector.isNA, row);\n\n // Check for legacy magic values to support old desktop versions\n const valueType = vector.type;\n const value = vector.data[row];\n switch (valueType) {\n case ValueType.Int:\n return (value as PVectorDataInt[number]) === -2147483648;\n case ValueType.Long:\n return (value as PVectorDataLong[number]) === -9007199254740991n;\n case ValueType.Float:\n return Number.isNaN(value as PVectorDataFloat[number]);\n case ValueType.Double:\n return Number.isNaN(value as PVectorDataDouble[number]);\n case ValueType.String:\n return (value as PVectorDataString[number]) === null;\n case ValueType.Bytes:\n return (value as PVectorDataBytes[number]) === null;\n default:\n throw Error(`unsupported data type: ${valueType satisfies never}`);\n }\n}\n\nexport const PTableNA = null;\nexport type PTableNA = typeof PTableNA;\n\n/** Type guard for NA value */\nexport function isPTableNA(value: unknown): value is PTableNA {\n return value === PTableNA;\n}\n\nexport type ValueTypeSupported = Exclude<ValueType, typeof ValueType.Bytes>;\n\nexport type PTableValueInt = number;\nexport type PTableValueLong = number;\nexport type PTableValueFloat = number;\nexport type PTableValueDouble = number;\nexport type PTableValueString = string;\nexport type PTableValueData<DataType extends ValueTypeSupported> =\n DataType extends typeof ValueType.Int\n ? PTableValueInt\n : DataType extends typeof ValueType.Long\n ? PTableValueLong\n : DataType extends typeof ValueType.Float\n ? PTableValueFloat\n : DataType extends typeof ValueType.Double\n ? PTableValueDouble\n : DataType extends typeof ValueType.String\n ? PTableValueString\n : never;\nexport type PTableValueDataBranded<DataType extends ValueTypeSupported> = Branded<\n PTableValueData<DataType>,\n DataType\n>;\nexport type PTableValue<NA = PTableNA, DataType extends ValueTypeSupported = ValueTypeSupported> =\n | NA\n | PTableValueData<DataType>;\nexport type PTableValueBranded<\n NA = PTableNA,\n DataType extends ValueTypeSupported = ValueTypeSupported,\n> = NA | PTableValueDataBranded<DataType>;\n\nexport type PTableValueAxis<DataType extends ValueTypeSupported = ValueTypeSupported> =\n PTableValueData<DataType>;\n\nfunction pTableValueImpl<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n const valueType = column.type;\n if (valueType === ValueType.Bytes) {\n throw Error(\"Bytes not yet supported\");\n }\n\n if (\n options &&\n \"dataType\" in options &&\n options.dataType !== undefined &&\n options.dataType !== valueType\n ) {\n throw Error(`expected column of type ${options.dataType}, got ${valueType}`);\n }\n\n if (isValueNA(column, row)) {\n return options?.na !== undefined ? options.na : PTableNA;\n }\n\n const value = column.data[row]!;\n switch (valueType) {\n case ValueType.Int:\n return value as PVectorDataInt[number];\n case ValueType.Long:\n return Number(value as PVectorDataLong[number]);\n case ValueType.Float:\n return value as PVectorDataFloat[number];\n case ValueType.Double:\n return value as PVectorDataDouble[number];\n case ValueType.String:\n return (value as PVectorDataString[number])!;\n }\n}\n\n/** Read PTableValue from PTable column at specified row */\nexport function pTableValue<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValue<PTableNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValue<FillNA, DataType> : never;\nexport function pTableValue<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValue<FillNA, DataType>;\nexport function pTableValue<FillNA = PTableNA, DataType extends ValueType = ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\nexport function pTableValueBranded<DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n): DataType extends ValueTypeSupported ? PTableValueBranded<PTableNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueType>(\n column: PTableVectorTyped<DataType>,\n row: number,\n options: {\n na: FillNA;\n },\n): DataType extends ValueTypeSupported ? PTableValueBranded<FillNA, DataType> : never;\nexport function pTableValueBranded<FillNA, DataType extends ValueTypeSupported>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options: {\n na: FillNA;\n dataType: DataType;\n },\n): PTableValueBranded<FillNA, DataType>;\nexport function pTableValueBranded<\n FillNA = PTableNA,\n DataType extends ValueType = ValueTypeSupported,\n>(\n column: PTableVectorTyped<ValueType>,\n row: number,\n options?: {\n na?: FillNA;\n dataType?: DataType;\n },\n) {\n return pTableValueImpl(column, row, options);\n}\n\n/** Used in requests to partially retrieve table's data */\nexport type TableRange = {\n /** Index of the first record to retrieve */\n readonly offset: number;\n\n /** Block length */\n readonly length: number;\n};\n\n/** Unified information about table shape */\nexport type PTableShape = {\n /** Number of unified table columns, including all axes and PColumn values */\n columns: number;\n\n /** Number of rows */\n rows: number;\n};\n\n/** Supported formats for PTable file download. */\nexport type PTableDownloadFormat = \"csv\" | \"tsv\";\n\n/** Compression applied to the written file. */\nexport type PTableDownloadCompression = \"none\" | \"gzip\";\n\n/** Options for downloading PTable data to a file. */\nexport interface WritePTableToFsOptions {\n path: string;\n format: PTableDownloadFormat;\n columnIndices: number[];\n range?: TableRange;\n chunkSize?: number;\n includeHeader?: boolean;\n bom?: boolean;\n compression?: {\n type: \"gzip\";\n level?: number;\n };\n signal?: AbortSignal;\n}\n\n/** Result of a PTable file download. */\nexport interface WritePTableToFsResult {\n path: string;\n rowsWritten: number;\n bytesWritten: number;\n}\n"],"mappings":";;AA4CA,SAAS,SAAS,WAAuB,QAAyB;CAChE,MAAM,aAAa,KAAK,MAAM,SAAS,EAAE;CACzC,MAAM,OAAO,KAAM,IAAK,SAAS;AACjC,SAAQ,UAAU,cAAc,QAAQ;;AAG1C,SAAgB,UAAU,QAAsB,KAAsB;AACpE,KAAI,OAAO,KAAM,QAAO,SAAS,OAAO,MAAM,IAAI;CAGlD,MAAM,YAAY,OAAO;CACzB,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAK,UAAU,IACb,QAAQ,UAAqC;EAC/C,KAAK,UAAU,KACb,QAAQ,UAAsC,CAAC;EACjD,KAAK,UAAU,MACb,QAAO,OAAO,MAAM,MAAkC;EACxD,KAAK,UAAU,OACb,QAAO,OAAO,MAAM,MAAmC;EACzD,KAAK,UAAU,OACb,QAAQ,UAAwC;EAClD,KAAK,UAAU,MACb,QAAQ,UAAuC;EACjD,QACE,OAAM,MAAM,0BAA0B,YAA4B;;;AAIxE,MAAa,WAAW;;AAIxB,SAAgB,WAAW,OAAmC;AAC5D,QAAO,UAAA;;AAqCT,SAAS,gBACP,QACA,KACA,SAIA;CACA,MAAM,YAAY,OAAO;AACzB,KAAI,cAAc,UAAU,MAC1B,OAAM,MAAM,0BAA0B;AAGxC,KACE,WACA,cAAc,WACd,QAAQ,aAAa,KAAA,KACrB,QAAQ,aAAa,UAErB,OAAM,MAAM,2BAA2B,QAAQ,SAAS,QAAQ,YAAY;AAG9E,KAAI,UAAU,QAAQ,IAAI,CACxB,QAAO,SAAS,OAAO,KAAA,IAAY,QAAQ,KAAA;CAG7C,MAAM,QAAQ,OAAO,KAAK;AAC1B,SAAQ,WAAR;EACE,KAAK,UAAU,IACb,QAAO;EACT,KAAK,UAAU,KACb,QAAO,OAAO,MAAiC;EACjD,KAAK,UAAU,MACb,QAAO;EACT,KAAK,UAAU,OACb,QAAO;EACT,KAAK,UAAU,OACb,QAAQ;;;AAwBd,SAAgB,YACd,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ;;AAsB9C,SAAgB,mBAId,QACA,KACA,SAIA;AACA,QAAO,gBAAgB,QAAQ,KAAK,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"driver.cjs","names":[],"sources":["../../../src/drivers/pframe/driver.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport type { PTable } from \"./table\";\nimport type { PFrame, PFrameDef } from \"./pframe\";\nimport type { PColumn } from \"./spec/spec\";\nimport type { PColumnValues, DataInfo } from \"./data_info\";\nimport type { PTableDef, PTableDefV2 } from \"./table_calculate\";\nimport type { AddParameterToAllMethods } from \"./type_util\";\nimport type { PTableShape, PTableVector, TableRange } from \"./data_types\";\nimport type { FindColumnsRequest, FindColumnsResponse } from \"./find_columns\";\nimport type { PObjectId } from \"../../pool\";\nimport type { PColumnIdAndSpec, PColumnSpec } from \"./spec/spec\";\nimport type { CalculateTableDataRequest, CalculateTableDataResponse } from \"./table_calculate\";\nimport type { UniqueValuesRequest, UniqueValuesResponse } from \"./unique_values\";\nimport type { PTableColumnSpec } from \"./table_common\";\n\n/** PFrame handle */\nexport type PFrameHandle = Branded<string, \"PFrame\">;\n\n/** PFrame handle */\nexport type PTableHandle = Branded<string, \"PTable\">;\n\n/** Model-side PFrame service — creates frames/tables from column definitions. */\nexport interface PFrameModelDriver<Col = PColumn<string | PColumnValues | DataInfo<string>>> {\n createPFrame(def: PFrameDef<Col>): PFrameHandle;\n createPTable(def: PTableDef<Col>): PTableHandle;\n createPTableV2(def: PTableDefV2<Col>): PTableHandle;\n}\n\n/** Allows to access main data layer features of platforma */\nexport interface PFrameDriver {\n //\n // PFrame methods\n //\n\n /**\n * Finds columns given filtering criteria on column name, annotations etc.\n * and a set of axes ids to find only columns with compatible specs.\n * */\n findColumns(handle: PFrameHandle, request: FindColumnsRequest): Promise<FindColumnsResponse>;\n\n /** Retrieve single column spec */\n getColumnSpec(handle: PFrameHandle, columnId: PObjectId): Promise<PColumnSpec | null>;\n\n /** Retrieve information about all columns currently added to the PFrame */\n listColumns(handle: PFrameHandle): Promise<PColumnIdAndSpec[]>;\n\n /** Calculates data for the table and returns complete data representation of it */\n calculateTableData(\n handle: PFrameHandle,\n request: CalculateTableDataRequest<PObjectId>,\n range?: TableRange,\n ): Promise<CalculateTableDataResponse>;\n\n /** Calculate set of unique values for a specific axis for the filtered set of records */\n getUniqueValues(\n handle: PFrameHandle,\n request: UniqueValuesRequest,\n ): Promise<UniqueValuesResponse>;\n\n //\n // PTable methods\n //\n\n /** Unified table shape */\n getShape(handle: PTableHandle): Promise<PTableShape>;\n\n /**\n * Returns ordered array of table axes specs (primary key \"columns\" in SQL\n * terms) and data column specs (regular \"columns\" in SQL terms).\n *\n * Data for a specific table column can be retrieved using unified indexing\n * corresponding to elements in this array.\n *\n * Axes are always listed first.\n * */\n getSpec(handle: PTableHandle): Promise<PTableColumnSpec[]>;\n\n /**\n * Retrieve the data from the table. To retrieve only data required, it can be\n * sliced both horizontally ({@link columnIndices}) and vertically\n * ({@link range}).\n *\n * @param columnIndices unified indices of columns to be retrieved\n * @param range optionally limit the range of records to retrieve\n * */\n getData(\n handle: PTableHandle,\n columnIndices: number[],\n range?: TableRange,\n ): Promise<PTableVector[]>;\n}\n\n//\n// The following keeps the PFrame driver from above to be in sync with\n// PFrame and PTable interfaces.\n//\n\ntype ExpectedPFrameDriverTypeF = AddParameterToAllMethods<PFrame, [handle: PFrameHandle]>;\ntype ExpectedPFrameDriverTypeT = AddParameterToAllMethods<PTable, [handle: PTableHandle]>;\ntype ExpectedPFrameDriverType = ExpectedPFrameDriverTypeF & ExpectedPFrameDriverTypeT;\n\ntype TypeEqualityGuard<A, B> = Exclude<A, B> | Exclude<B, A>;\nfunction assert<_T extends never>() {}\n\nassert<TypeEqualityGuard<PFrameDriver, ExpectedPFrameDriverType>>();\n"],"mappings":";AAsGA,SAAS,SAA2B;AAEpC,QAAmE"}
1
+ {"version":3,"file":"driver.cjs","names":[],"sources":["../../../src/drivers/pframe/driver.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport type { PTable } from \"./table\";\nimport type { PFrame, PFrameDef } from \"./pframe\";\nimport type { PColumn } from \"./spec/spec\";\nimport type { PColumnValues, DataInfo } from \"./data_info\";\nimport type { PTableDef, PTableDefV2 } from \"./table_calculate\";\nimport type { AddParameterToAllMethods } from \"./type_util\";\nimport type {\n WritePTableToFsOptions,\n WritePTableToFsResult,\n PTableShape,\n PTableVector,\n TableRange,\n} from \"./data_types\";\nimport type { FindColumnsRequest, FindColumnsResponse } from \"./find_columns\";\nimport type { PObjectId } from \"../../pool\";\nimport type { PColumnIdAndSpec, PColumnSpec } from \"./spec/spec\";\nimport type { CalculateTableDataRequest, CalculateTableDataResponse } from \"./table_calculate\";\nimport type { UniqueValuesRequest, UniqueValuesResponse } from \"./unique_values\";\nimport type { PTableColumnSpec } from \"./table_common\";\n\n/** PFrame handle */\nexport type PFrameHandle = Branded<string, \"PFrame\">;\n\n/** PFrame handle */\nexport type PTableHandle = Branded<string, \"PTable\">;\n\n/** Model-side PFrame service — creates frames/tables from column definitions. */\nexport interface PFrameModelDriver<Col = PColumn<string | PColumnValues | DataInfo<string>>> {\n createPFrame(def: PFrameDef<Col>): PFrameHandle;\n createPTable(def: PTableDef<Col>): PTableHandle;\n createPTableV2(def: PTableDefV2<Col>): PTableHandle;\n}\n\n/** Allows to access main data layer features of platforma */\nexport interface PFrameDriver {\n //\n // PFrame methods\n //\n\n /**\n * Finds columns given filtering criteria on column name, annotations etc.\n * and a set of axes ids to find only columns with compatible specs.\n * */\n findColumns(handle: PFrameHandle, request: FindColumnsRequest): Promise<FindColumnsResponse>;\n\n /** Retrieve single column spec */\n getColumnSpec(handle: PFrameHandle, columnId: PObjectId): Promise<PColumnSpec | null>;\n\n /** Retrieve information about all columns currently added to the PFrame */\n listColumns(handle: PFrameHandle): Promise<PColumnIdAndSpec[]>;\n\n /** Calculates data for the table and returns complete data representation of it */\n calculateTableData(\n handle: PFrameHandle,\n request: CalculateTableDataRequest<PObjectId>,\n range?: TableRange,\n ): Promise<CalculateTableDataResponse>;\n\n /** Calculate set of unique values for a specific axis for the filtered set of records */\n getUniqueValues(\n handle: PFrameHandle,\n request: UniqueValuesRequest,\n ): Promise<UniqueValuesResponse>;\n\n //\n // PTable methods\n //\n\n /** Unified table shape */\n getShape(handle: PTableHandle): Promise<PTableShape>;\n\n /**\n * Returns ordered array of table axes specs (primary key \"columns\" in SQL\n * terms) and data column specs (regular \"columns\" in SQL terms).\n *\n * Data for a specific table column can be retrieved using unified indexing\n * corresponding to elements in this array.\n *\n * Axes are always listed first.\n * */\n getSpec(handle: PTableHandle): Promise<PTableColumnSpec[]>;\n\n /**\n * Retrieve the data from the table. To retrieve only data required, it can be\n * sliced both horizontally ({@link columnIndices}) and vertically\n * ({@link range}).\n *\n * @param columnIndices unified indices of columns to be retrieved\n * @param range optionally limit the range of records to retrieve\n * */\n getData(\n handle: PTableHandle,\n columnIndices: number[],\n range?: TableRange,\n ): Promise<PTableVector[]>;\n\n /**\n * Stream the table to a file at the given path. Caller is responsible\n * for producing the destination path (e.g. via the `Dialog` service).\n */\n writePTableToFs(\n handle: PTableHandle,\n options: WritePTableToFsOptions,\n ): Promise<WritePTableToFsResult>;\n}\n\n//\n// The following keeps the PFrame driver from above to be in sync with\n// PFrame and PTable interfaces.\n//\n\ntype ExpectedPFrameDriverTypeF = AddParameterToAllMethods<PFrame, [handle: PFrameHandle]>;\ntype ExpectedPFrameDriverTypeT = AddParameterToAllMethods<PTable, [handle: PTableHandle]>;\ntype ExpectedPFrameDriverType = ExpectedPFrameDriverTypeF & ExpectedPFrameDriverTypeT;\n\ntype TypeEqualityGuard<A, B> = Exclude<A, B> | Exclude<B, A>;\nfunction assert<_T extends never>() {}\n\nassert<TypeEqualityGuard<Omit<PFrameDriver, \"writePTableToFs\">, ExpectedPFrameDriverType>>();\n"],"mappings":";AAqHA,SAAS,SAA2B;AAEpC,QAA4F"}
@@ -2,7 +2,7 @@ import { Branded } from "../../branding.js";
2
2
  import { PColumn, PColumnIdAndSpec, PColumnSpec } from "./spec/spec.js";
3
3
  import { DataInfo, PColumnValues } from "./data_info.js";
4
4
  import { PTableColumnSpec } from "./table_common.js";
5
- import { PTableShape, PTableVector, TableRange } from "./data_types.js";
5
+ import { PTableShape, PTableVector, TableRange, WritePTableToFsOptions, WritePTableToFsResult } from "./data_types.js";
6
6
  import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
7
7
  import { CalculateTableDataRequest, CalculateTableDataResponse, PTableDef, PTableDefV2 } from "./table_calculate.js";
8
8
  import { UniqueValuesRequest, UniqueValuesResponse } from "./unique_values.js";
@@ -56,6 +56,11 @@ interface PFrameDriver {
56
56
  * @param range optionally limit the range of records to retrieve
57
57
  * */
58
58
  getData(handle: PTableHandle, columnIndices: number[], range?: TableRange): Promise<PTableVector[]>;
59
+ /**
60
+ * Stream the table to a file at the given path. Caller is responsible
61
+ * for producing the destination path (e.g. via the `Dialog` service).
62
+ */
63
+ writePTableToFs(handle: PTableHandle, options: WritePTableToFsOptions): Promise<WritePTableToFsResult>;
59
64
  }
60
65
  //#endregion
61
66
  export { PFrameDriver, PFrameHandle, PFrameModelDriver, PTableHandle };
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","names":[],"sources":["../../../src/drivers/pframe/driver.ts"],"mappings":";;;;;;;;;;;;;KAgBY,YAAA,GAAe,OAAA;;KAGf,YAAA,GAAe,OAAA;;UAGV,iBAAA,OAAwB,OAAA,UAAiB,aAAA,GAAgB,QAAA;EACxE,YAAA,CAAa,GAAA,EAAK,SAAA,CAAU,GAAA,IAAO,YAAA;EACnC,YAAA,CAAa,GAAA,EAAK,SAAA,CAAU,GAAA,IAAO,YAAA;EACnC,cAAA,CAAe,GAAA,EAAK,WAAA,CAAY,GAAA,IAAO,YAAA;AAAA;;UAIxB,YAAA;EAPiB;;;;EAgBhC,WAAA,CAAY,MAAA,EAAQ,YAAA,EAAc,OAAA,EAAS,kBAAA,GAAqB,OAAA,CAAQ,mBAAA;EAf5C;EAkB5B,aAAA,CAAc,MAAA,EAAQ,YAAA,EAAc,QAAA,EAAU,SAAA,GAAY,OAAA,CAAQ,WAAA;EAlB/B;EAqBnC,WAAA,CAAY,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,gBAAA;EApBzB;EAuBlB,kBAAA,CACE,MAAA,EAAQ,YAAA,EACR,OAAA,EAAS,yBAAA,CAA0B,SAAA,GACnC,KAAA,GAAQ,UAAA,GACP,OAAA,CAAQ,0BAAA;EA1BqB;EA6BhC,eAAA,CACE,MAAA,EAAQ,YAAA,EACR,OAAA,EAAS,mBAAA,GACR,OAAA,CAAQ,oBAAA;EAhC4B;EAuCvC,QAAA,CAAS,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,WAAA;EAvCW;;;;;;;;;EAkDnD,OAAA,CAAQ,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,gBAAA;EAnDvC;;;;;;;;EA6DA,OAAA,CACE,MAAA,EAAQ,YAAA,EACR,aAAA,YACA,KAAA,GAAQ,UAAA,GACP,OAAA,CAAQ,YAAA;AAAA"}
1
+ {"version":3,"file":"driver.d.ts","names":[],"sources":["../../../src/drivers/pframe/driver.ts"],"mappings":";;;;;;;;;;;;;KAsBY,YAAA,GAAe,OAAA;;KAGf,YAAA,GAAe,OAAA;;UAGV,iBAAA,OAAwB,OAAA,UAAiB,aAAA,GAAgB,QAAA;EACxE,YAAA,CAAa,GAAA,EAAK,SAAA,CAAU,GAAA,IAAO,YAAA;EACnC,YAAA,CAAa,GAAA,EAAK,SAAA,CAAU,GAAA,IAAO,YAAA;EACnC,cAAA,CAAe,GAAA,EAAK,WAAA,CAAY,GAAA,IAAO,YAAA;AAAA;;UAIxB,YAAA;EAPiB;;;;EAgBhC,WAAA,CAAY,MAAA,EAAQ,YAAA,EAAc,OAAA,EAAS,kBAAA,GAAqB,OAAA,CAAQ,mBAAA;EAf5C;EAkB5B,aAAA,CAAc,MAAA,EAAQ,YAAA,EAAc,QAAA,EAAU,SAAA,GAAY,OAAA,CAAQ,WAAA;EAlB/B;EAqBnC,WAAA,CAAY,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,gBAAA;EApBzB;EAuBlB,kBAAA,CACE,MAAA,EAAQ,YAAA,EACR,OAAA,EAAS,yBAAA,CAA0B,SAAA,GACnC,KAAA,GAAQ,UAAA,GACP,OAAA,CAAQ,0BAAA;EA1BqB;EA6BhC,eAAA,CACE,MAAA,EAAQ,YAAA,EACR,OAAA,EAAS,mBAAA,GACR,OAAA,CAAQ,oBAAA;EAhC4B;EAuCvC,QAAA,CAAS,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,WAAA;EAvCW;;;;;;;;;EAkDnD,OAAA,CAAQ,MAAA,EAAQ,YAAA,GAAe,OAAA,CAAQ,gBAAA;EAnDvC;;;;;;;;EA6DA,OAAA,CACE,MAAA,EAAQ,YAAA,EACR,aAAA,YACA,KAAA,GAAQ,UAAA,GACP,OAAA,CAAQ,YAAA;EAhE4B;;;AAIzC;EAkEE,eAAA,CACE,MAAA,EAAQ,YAAA,EACR,OAAA,EAAS,sBAAA,GACR,OAAA,CAAQ,qBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","names":[],"sources":["../../../src/drivers/pframe/driver.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport type { PTable } from \"./table\";\nimport type { PFrame, PFrameDef } from \"./pframe\";\nimport type { PColumn } from \"./spec/spec\";\nimport type { PColumnValues, DataInfo } from \"./data_info\";\nimport type { PTableDef, PTableDefV2 } from \"./table_calculate\";\nimport type { AddParameterToAllMethods } from \"./type_util\";\nimport type { PTableShape, PTableVector, TableRange } from \"./data_types\";\nimport type { FindColumnsRequest, FindColumnsResponse } from \"./find_columns\";\nimport type { PObjectId } from \"../../pool\";\nimport type { PColumnIdAndSpec, PColumnSpec } from \"./spec/spec\";\nimport type { CalculateTableDataRequest, CalculateTableDataResponse } from \"./table_calculate\";\nimport type { UniqueValuesRequest, UniqueValuesResponse } from \"./unique_values\";\nimport type { PTableColumnSpec } from \"./table_common\";\n\n/** PFrame handle */\nexport type PFrameHandle = Branded<string, \"PFrame\">;\n\n/** PFrame handle */\nexport type PTableHandle = Branded<string, \"PTable\">;\n\n/** Model-side PFrame service — creates frames/tables from column definitions. */\nexport interface PFrameModelDriver<Col = PColumn<string | PColumnValues | DataInfo<string>>> {\n createPFrame(def: PFrameDef<Col>): PFrameHandle;\n createPTable(def: PTableDef<Col>): PTableHandle;\n createPTableV2(def: PTableDefV2<Col>): PTableHandle;\n}\n\n/** Allows to access main data layer features of platforma */\nexport interface PFrameDriver {\n //\n // PFrame methods\n //\n\n /**\n * Finds columns given filtering criteria on column name, annotations etc.\n * and a set of axes ids to find only columns with compatible specs.\n * */\n findColumns(handle: PFrameHandle, request: FindColumnsRequest): Promise<FindColumnsResponse>;\n\n /** Retrieve single column spec */\n getColumnSpec(handle: PFrameHandle, columnId: PObjectId): Promise<PColumnSpec | null>;\n\n /** Retrieve information about all columns currently added to the PFrame */\n listColumns(handle: PFrameHandle): Promise<PColumnIdAndSpec[]>;\n\n /** Calculates data for the table and returns complete data representation of it */\n calculateTableData(\n handle: PFrameHandle,\n request: CalculateTableDataRequest<PObjectId>,\n range?: TableRange,\n ): Promise<CalculateTableDataResponse>;\n\n /** Calculate set of unique values for a specific axis for the filtered set of records */\n getUniqueValues(\n handle: PFrameHandle,\n request: UniqueValuesRequest,\n ): Promise<UniqueValuesResponse>;\n\n //\n // PTable methods\n //\n\n /** Unified table shape */\n getShape(handle: PTableHandle): Promise<PTableShape>;\n\n /**\n * Returns ordered array of table axes specs (primary key \"columns\" in SQL\n * terms) and data column specs (regular \"columns\" in SQL terms).\n *\n * Data for a specific table column can be retrieved using unified indexing\n * corresponding to elements in this array.\n *\n * Axes are always listed first.\n * */\n getSpec(handle: PTableHandle): Promise<PTableColumnSpec[]>;\n\n /**\n * Retrieve the data from the table. To retrieve only data required, it can be\n * sliced both horizontally ({@link columnIndices}) and vertically\n * ({@link range}).\n *\n * @param columnIndices unified indices of columns to be retrieved\n * @param range optionally limit the range of records to retrieve\n * */\n getData(\n handle: PTableHandle,\n columnIndices: number[],\n range?: TableRange,\n ): Promise<PTableVector[]>;\n}\n\n//\n// The following keeps the PFrame driver from above to be in sync with\n// PFrame and PTable interfaces.\n//\n\ntype ExpectedPFrameDriverTypeF = AddParameterToAllMethods<PFrame, [handle: PFrameHandle]>;\ntype ExpectedPFrameDriverTypeT = AddParameterToAllMethods<PTable, [handle: PTableHandle]>;\ntype ExpectedPFrameDriverType = ExpectedPFrameDriverTypeF & ExpectedPFrameDriverTypeT;\n\ntype TypeEqualityGuard<A, B> = Exclude<A, B> | Exclude<B, A>;\nfunction assert<_T extends never>() {}\n\nassert<TypeEqualityGuard<PFrameDriver, ExpectedPFrameDriverType>>();\n"],"mappings":";AAsGA,SAAS,SAA2B;AAEpC,QAAmE"}
1
+ {"version":3,"file":"driver.js","names":[],"sources":["../../../src/drivers/pframe/driver.ts"],"sourcesContent":["import type { Branded } from \"../../branding\";\nimport type { PTable } from \"./table\";\nimport type { PFrame, PFrameDef } from \"./pframe\";\nimport type { PColumn } from \"./spec/spec\";\nimport type { PColumnValues, DataInfo } from \"./data_info\";\nimport type { PTableDef, PTableDefV2 } from \"./table_calculate\";\nimport type { AddParameterToAllMethods } from \"./type_util\";\nimport type {\n WritePTableToFsOptions,\n WritePTableToFsResult,\n PTableShape,\n PTableVector,\n TableRange,\n} from \"./data_types\";\nimport type { FindColumnsRequest, FindColumnsResponse } from \"./find_columns\";\nimport type { PObjectId } from \"../../pool\";\nimport type { PColumnIdAndSpec, PColumnSpec } from \"./spec/spec\";\nimport type { CalculateTableDataRequest, CalculateTableDataResponse } from \"./table_calculate\";\nimport type { UniqueValuesRequest, UniqueValuesResponse } from \"./unique_values\";\nimport type { PTableColumnSpec } from \"./table_common\";\n\n/** PFrame handle */\nexport type PFrameHandle = Branded<string, \"PFrame\">;\n\n/** PFrame handle */\nexport type PTableHandle = Branded<string, \"PTable\">;\n\n/** Model-side PFrame service — creates frames/tables from column definitions. */\nexport interface PFrameModelDriver<Col = PColumn<string | PColumnValues | DataInfo<string>>> {\n createPFrame(def: PFrameDef<Col>): PFrameHandle;\n createPTable(def: PTableDef<Col>): PTableHandle;\n createPTableV2(def: PTableDefV2<Col>): PTableHandle;\n}\n\n/** Allows to access main data layer features of platforma */\nexport interface PFrameDriver {\n //\n // PFrame methods\n //\n\n /**\n * Finds columns given filtering criteria on column name, annotations etc.\n * and a set of axes ids to find only columns with compatible specs.\n * */\n findColumns(handle: PFrameHandle, request: FindColumnsRequest): Promise<FindColumnsResponse>;\n\n /** Retrieve single column spec */\n getColumnSpec(handle: PFrameHandle, columnId: PObjectId): Promise<PColumnSpec | null>;\n\n /** Retrieve information about all columns currently added to the PFrame */\n listColumns(handle: PFrameHandle): Promise<PColumnIdAndSpec[]>;\n\n /** Calculates data for the table and returns complete data representation of it */\n calculateTableData(\n handle: PFrameHandle,\n request: CalculateTableDataRequest<PObjectId>,\n range?: TableRange,\n ): Promise<CalculateTableDataResponse>;\n\n /** Calculate set of unique values for a specific axis for the filtered set of records */\n getUniqueValues(\n handle: PFrameHandle,\n request: UniqueValuesRequest,\n ): Promise<UniqueValuesResponse>;\n\n //\n // PTable methods\n //\n\n /** Unified table shape */\n getShape(handle: PTableHandle): Promise<PTableShape>;\n\n /**\n * Returns ordered array of table axes specs (primary key \"columns\" in SQL\n * terms) and data column specs (regular \"columns\" in SQL terms).\n *\n * Data for a specific table column can be retrieved using unified indexing\n * corresponding to elements in this array.\n *\n * Axes are always listed first.\n * */\n getSpec(handle: PTableHandle): Promise<PTableColumnSpec[]>;\n\n /**\n * Retrieve the data from the table. To retrieve only data required, it can be\n * sliced both horizontally ({@link columnIndices}) and vertically\n * ({@link range}).\n *\n * @param columnIndices unified indices of columns to be retrieved\n * @param range optionally limit the range of records to retrieve\n * */\n getData(\n handle: PTableHandle,\n columnIndices: number[],\n range?: TableRange,\n ): Promise<PTableVector[]>;\n\n /**\n * Stream the table to a file at the given path. Caller is responsible\n * for producing the destination path (e.g. via the `Dialog` service).\n */\n writePTableToFs(\n handle: PTableHandle,\n options: WritePTableToFsOptions,\n ): Promise<WritePTableToFsResult>;\n}\n\n//\n// The following keeps the PFrame driver from above to be in sync with\n// PFrame and PTable interfaces.\n//\n\ntype ExpectedPFrameDriverTypeF = AddParameterToAllMethods<PFrame, [handle: PFrameHandle]>;\ntype ExpectedPFrameDriverTypeT = AddParameterToAllMethods<PTable, [handle: PTableHandle]>;\ntype ExpectedPFrameDriverType = ExpectedPFrameDriverTypeF & ExpectedPFrameDriverTypeT;\n\ntype TypeEqualityGuard<A, B> = Exclude<A, B> | Exclude<B, A>;\nfunction assert<_T extends never>() {}\n\nassert<TypeEqualityGuard<Omit<PFrameDriver, \"writePTableToFs\">, ExpectedPFrameDriverType>>();\n"],"mappings":";AAqHA,SAAS,SAA2B;AAEpC,QAA4F"}
@@ -13,7 +13,7 @@ import { AxisQualification, BuildQueryInput, ColumnAxesWithQualifications, Delet
13
13
  import { DiscoveredPColumn, DiscoveredPColumnId, createDiscoveredPColumn, createDiscoveredPColumnId, isDiscoveredPColumn, parseDiscoveredPColumnId, stringifyDiscoveredPColumnId } from "./spec/discovered_column.js";
14
14
  import { SUniversalPColumnId, UniversalPColumnId, parseColumnId, stringifyColumnId } from "./spec/ids.js";
15
15
  import { FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, RootFilterSpec } from "./filter_spec.js";
16
- import { PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, isPTableNA, pTableValue, pTableValueBranded } from "./data_types.js";
16
+ import { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./data_types.js";
17
17
  import { FindColumnsRequest, FindColumnsResponse } from "./find_columns.js";
18
18
  import { PTable } from "./table.js";
19
19
  import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./table_calculate.js";
package/dist/index.cjs CHANGED
@@ -40,7 +40,7 @@ const require_service_types = require("./services/service_types.cjs");
40
40
  const require_service_registry = require("./services/service_registry.cjs");
41
41
  const require_service_declarations = require("./services/service_declarations.cjs");
42
42
  const require_service_capabilities = require("./services/service_capabilities.cjs");
43
- const require_service_injector_factory = require("./services/service_injector_factory.cjs");
43
+ const require_node_service_handlers = require("./services/node_service_handlers.cjs");
44
44
  const require_service_injectors = require("./services/service_injectors.cjs");
45
45
  require("./services/index.cjs");
46
46
  const require_pool_entry = require("./pool_entry.cjs");
@@ -57,6 +57,7 @@ exports.Domain = require_spec.Domain;
57
57
  exports.DomainJson = require_spec.DomainJson;
58
58
  exports.IncompatibleFlagsError = require_flag_utils.IncompatibleFlagsError;
59
59
  exports.LinkerMap = require_linker_columns.LinkerMap;
60
+ exports.MODEL_SERVICE_METHOD_MAP = require_service_injectors.MODEL_SERVICE_METHOD_MAP;
60
61
  exports.ModelServiceRegistry = require_service_registry.ModelServiceRegistry;
61
62
  exports.PAxisName = require_spec.PAxisName;
62
63
  exports.PColumnName = require_spec.PColumnName;
@@ -98,9 +99,9 @@ exports.checkBlockFlag = require_flag_utils.checkBlockFlag;
98
99
  exports.collectSpecQueryColumns = require_utils.collectSpecQueryColumns;
99
100
  exports.createDiscoveredPColumn = require_discovered_column.createDiscoveredPColumn;
100
101
  exports.createDiscoveredPColumnId = require_discovered_column.createDiscoveredPColumnId;
102
+ exports.createNodeServiceHandlers = require_node_service_handlers.createNodeServiceHandlers;
101
103
  exports.createPlRef = require_ref.createPlRef;
102
104
  exports.createPrimaryRef = require_ref.createPrimaryRef;
103
- exports.createUiServiceInjectors = require_service_injector_factory.createUiServiceInjectors;
104
105
  exports.dataInfoToEntries = require_data_info.dataInfoToEntries;
105
106
  exports.deriveNativeId = require_native_id.deriveNativeId;
106
107
  exports.deserializeError = require_errors.deserializeError;
@@ -127,6 +128,9 @@ exports.getMethodNames = require_service_capabilities.getMethodNames;
127
128
  exports.getNormalizedAxesList = require_spec.getNormalizedAxesList;
128
129
  exports.getPColumnSpecId = require_spec.getPColumnSpecId;
129
130
  exports.getPTableColumnId = require_table_common.getPTableColumnId;
131
+ exports.getServiceKind = require_service_types.getServiceKind;
132
+ exports.getServiceModelMethods = require_service_types.getServiceModelMethods;
133
+ exports.getServiceUiMethods = require_service_types.getServiceUiMethods;
130
134
  exports.getSetFromAxisTree = require_spec.getSetFromAxisTree;
131
135
  exports.getTypeFromPColumnOrAxisSpec = require_spec.getTypeFromPColumnOrAxisSpec;
132
136
  exports.hasAbortError = require_errors.hasAbortError;
@@ -148,6 +152,7 @@ exports.isKnownServiceName = require_service_capabilities.isKnownServiceName;
148
152
  exports.isLabelColumn = require_spec.isLabelColumn;
149
153
  exports.isLinkerColumn = require_spec.isLinkerColumn;
150
154
  exports.isLiveLog = require_log.isLiveLog;
155
+ exports.isMainService = require_service_types.isMainService;
151
156
  exports.isNodeService = require_service_types.isNodeService;
152
157
  exports.isPColumn = require_spec$1.isPColumn;
153
158
  exports.isPColumnResult = require_spec$1.isPColumnResult;
@@ -166,6 +171,8 @@ exports.isServiceInjectionError = require_errors.isServiceInjectionError;
166
171
  exports.isServiceInvalidIdError = require_errors.isServiceInvalidIdError;
167
172
  exports.isServiceMethodNotFoundError = require_errors.isServiceMethodNotFoundError;
168
173
  exports.isServiceNotRegisteredError = require_errors.isServiceNotRegisteredError;
174
+ exports.isValueNA = require_data_types.isValueNA;
175
+ exports.isWasmService = require_service_types.isWasmService;
169
176
  exports.legacyColumnSelectorsToPredicate = require_selectors.legacyColumnSelectorsToPredicate;
170
177
  exports.mapDataInfo = require_data_info.mapDataInfo;
171
178
  exports.mapDataInfoEntries = require_data_info.mapDataInfoEntries;
@@ -199,8 +206,8 @@ exports.readMetadataJsonOrThrow = require_spec.readMetadataJsonOrThrow;
199
206
  exports.registerServiceCapabilities = require_service_capabilities.registerServiceCapabilities;
200
207
  exports.resolveAnchors = require_anchored.resolveAnchors;
201
208
  exports.resolveAnnotationParents = require_spec.resolveAnnotationParents;
209
+ exports.resolveNodeServiceHandler = require_service_injectors.resolveNodeServiceHandler;
202
210
  exports.resolveRequiredServices = require_service_capabilities.resolveRequiredServices;
203
- exports.resolveUiInjector = require_service_injectors.resolveUiInjector;
204
211
  exports.serializeError = require_errors.serializeError;
205
212
  exports.serializeHttpAuth = require_httpAuth.serializeHttpAuth;
206
213
  exports.serializeResult = require_errors.serializeResult;
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ import { BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLink
4
4
  import { CanonicalizedJson, JsonCompatible, JsonSerializable, StringifiedJson, bigintReplacer, canonicalizeJson, parseJson, stringifyJson } from "./json.js";
5
5
  import { BlockState, BlockStateV3 } from "./block_state.js";
6
6
  import { Branded } from "./branding.js";
7
+ import { DialogService, FileFilter, ShowSaveDialogOptions, ShowSaveDialogResult } from "./dialog/index.js";
7
8
  import { DatasetInput, DatasetOption, Option, PlRef, PrimaryRef, Ref, createPlRef, createPrimaryRef, isPlRef, isPrimaryRef, plRefsEqual, withEnrichments } from "./ref.js";
8
9
  import { ResultCollection, ResultPoolEntry } from "./pool/entry.js";
9
10
  import { BlobLike, FileLike } from "./drivers/interfaces.js";
@@ -27,7 +28,7 @@ import { AxisQualification, BuildQueryInput, ColumnAxesWithQualifications, Delet
27
28
  import { DiscoveredPColumn, DiscoveredPColumnId, createDiscoveredPColumn, createDiscoveredPColumnId, isDiscoveredPColumn, parseDiscoveredPColumnId, stringifyDiscoveredPColumnId } from "./drivers/pframe/spec/discovered_column.js";
28
29
  import { SUniversalPColumnId, UniversalPColumnId, parseColumnId, stringifyColumnId } from "./drivers/pframe/spec/ids.js";
29
30
  import { FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, RootFilterSpec } from "./drivers/pframe/filter_spec.js";
30
- import { PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, isPTableNA, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
31
+ import { PTableDownloadCompression, PTableDownloadFormat, PTableNA, PTableShape, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, TableRange, ValueTypeSupported, WritePTableToFsOptions, WritePTableToFsResult, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
31
32
  import { FindColumnsRequest, FindColumnsResponse } from "./drivers/pframe/find_columns.js";
32
33
  import { PTable } from "./drivers/pframe/table.js";
33
34
  import { ArtificialColumnJoinEntry, CalculateTableDataRequest, CalculateTableDataResponse, ColumnJoinEntry, ConstantAxisFilter, FullJoin, FullPTableColumnData, InlineColumnJoinEntry, InnerJoin, JoinEntry, OuterJoin, PTableDef, PTableDefV2, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableSorting, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./drivers/pframe/table_calculate.js";
@@ -40,14 +41,14 @@ import { PSpecPredicate, executePSpecPredicate } from "./pool/query.js";
40
41
  import { PFrame, PFrameDef } from "./drivers/pframe/pframe.js";
41
42
  import { PFrameDriver, PFrameHandle, PFrameModelDriver, PTableHandle } from "./drivers/pframe/driver.js";
42
43
  import { Services } from "./services/service_declarations.js";
43
- import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, isNodeService, service, serviceFnKey } from "./services/service_types.js";
44
+ import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, getServiceKind, getServiceModelMethods, getServiceUiMethods, isMainService, isNodeService, isWasmService, service, serviceFnKey } from "./services/service_types.js";
44
45
  import { ModelServiceRegistry, UiServiceRegistry } from "./services/service_registry.js";
45
46
  import { ArrayTypeUnion, Assert, AssertKeysEqual, FilterKeysByPrefix, Is, IsSubtypeOf } from "./flags/type_utils.js";
46
47
  import { IncompatibleFlagsError, RuntimeCapabilities, SupportedRequirement, checkBlockFlag, extractAllRequirements, extractAllSupports } from "./flags/flag_utils.js";
47
48
  import { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./services/service_capabilities.js";
48
49
  import { DriverKit } from "./driver_kit.js";
49
- import { createUiServiceInjectors } from "./services/service_injector_factory.js";
50
- import { SERVICE_METHOD_MAP, UiServiceInjectorMap, buildServiceInfo, resolveUiInjector } from "./services/service_injectors.js";
50
+ import { createNodeServiceHandlers } from "./services/node_service_handlers.js";
51
+ import { MODEL_SERVICE_METHOD_MAP, NodeServiceHandlerMap, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler } from "./services/service_injectors.js";
51
52
  import { AllRequiresFeatureFlags, AllSupportsFeatureFlags, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags } from "./flags/block_flags.js";
52
53
  import { BlockCodeWithInfo, Code } from "./bmodel/code.js";
53
54
  import { BlockRenderingMode } from "./bmodel/types.js";
@@ -62,4 +63,4 @@ import { Base64Compatible, Base64Encoded, base64Decode, base64Encode } from "./b
62
63
  import { assertNever, uniqueBy } from "./util.js";
63
64
  import { BasicHttpAuth, HttpAuth, parseHttpAuth, serializeHttpAuth } from "./httpAuth.js";
64
65
  import { ResourceTypeName, ResourceTypePrefix } from "./resource_types.js";
65
- export { AAxisSelector, ADomain, AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredIdDeriver, AnchoredPColumnId, AnchoredPColumnSelector, Annotation, AnnotationJson, AnyFunction, AnyLogHandle, ArchiveFormat, ArrayTypeUnion, ArtificialColumnJoinEntry, Assert, AssertKeysEqual, AuthorMarker, AxesId, AxesSpec, AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, AxisId, AxisQualification, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, Base64Compatible, Base64Encoded, BasicHttpAuth, BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, BlobDriver, BlobHandleAndSize, BlobLike, BlobToURLDriver, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags, BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockOutputsBase, BlockRenderingMode, BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, BlockState, BlockStateV3, BlockUIURL, Branded, BuildQueryInput, CalculateTableDataRequest, CalculateTableDataResponse, CanonicalizedJson, ChunkedStreamReader, ChunkedStreamReaderOptions, Code, ColumnAxesWithQualifications, ColumnFilter, ColumnJoinEntry, ColumnValueType, CompositeLinkerMap, ConstantAxisFilter, ContentHandler, DataExprAxisRef, DataExprColumnRef, DataInfo, DataInfoEntries, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DatasetInput, DatasetOption, DefaultNavigationState, DeleteColumnRequest, DeleteColumnResponse, DiscoverColumnsConstraints, DiscoverColumnsFilterStep, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, DiscoveredPColumn, DiscoveredPColumnId, Domain, DomainJson, DriverKit, ErrorHandlerStatus, EvaluateQueryResponse, FileLike, FileRange, FilterKeysByPrefix, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilteredPColumn, FilteredPColumnId, FindColumnsRequest, FindColumnsResponse, FolderURL, FrontendDriver, FullJoin, FullPTableColumnData, GetContentOptions, HttpAuth, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ImportProgress, ImportStatus, IncompatibleFlagsError, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, InferServiceKind, InferServiceModel, InferServiceUi, InlineColumnJoinEntry, InnerJoin, Is, IsSubtypeOf, JoinEntry, JsonCompatible, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, JsonSerializable, KnownServiceName, LegacyAxisSelector, LinkerMap, ListFilesResult, ListOptionBase, LiveLogHandle, LocalBlobHandle, LocalBlobHandleAndSize, LocalImportFileHandle, LogsDriver, LsDriver, LsEntry, MatcherMap, Metadata, MetadataJson, ModelServiceFactoryMap, ModelServiceRegistry, ModelServices, MultiAxisSelector, MultiColumnSelector, NativePObjectId, NavigationState, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, Option, OuterJoin, OutputWithStatus, PAxisName, PColumn, PColumnDataEntry, PColumnIdAndSpec, PColumnInfo, PColumnKey, PColumnLazy, PColumnName, PColumnSelector, PColumnSpec, PColumnSpecId, PColumnValue, PColumnValues, PColumnValuesEntry, PDataColumnSpec, PFrame, PFrameDef, PFrameDriver, PFrameDriverError, PFrameError, PFrameHandle, PFrameModelDriver, PFrameSpecDriver, PFrameSpecDriverError, PObject, PObjectId, PObjectSpec, PSpecPredicate, PTable, PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, PTableDef, PTableDefV2, PTableHandle, PTableNA, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableShape, PTableSorting, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PUniversalColumnSpec, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntry, PoolEntryGuard, PrimaryRef, ProgressLogWithInfo, RangeBytes, ReadyLogHandle, Ref, RemoteBlobHandle, RemoteBlobHandleAndSize, RequireServices, ResolveAnchorsOptions, ResourceTypeName, ResourceTypePrefix, ResultCollection, ResultOrError, ResultPoolEntry, RootFilterSpec, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, SUniversalPColumnId, SerializedError, ServiceAlreadyRegisteredError, ServiceBrand, ServiceDispatch, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceName, ServiceNameLiterals, ServiceNotRegisteredError, ServiceRequireFlags, ServiceType, ServiceTypesLike, Services, SingleAxisSelector, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, SpecExprAxisRef, SpecExprColumnRef, SpecFrameHandle, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, StringMatcher, StringifiedJson, SupportedRequirement, TableRange, Trace, TraceEntry, UiError, UiServiceFactoryMap, UiServiceInjectorMap, UiServiceRegistry, UiServices, UniqueValuesRequest, UniqueValuesResponse, UniversalPColumnId, ValueOrError, ValueType, ValueTypeSupported, ValueWithUTag, ValueWithUTagAndAuthor, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createDiscoveredPColumn, createDiscoveredPColumnId, createPlRef, createPrimaryRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAnyLogHandle, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isDiscoveredPColumn, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isPrimaryRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseDiscoveredPColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyDiscoveredPColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
66
+ export { AAxisSelector, ADomain, AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchorAxisIdOrRefBasic, AnchorAxisRef, AnchorAxisRefByIdx, AnchorAxisRefByMatcher, AnchorAxisRefByName, AnchorDomainRef, AnchoredColumnMatchStrategy, AnchoredIdDeriver, AnchoredPColumnId, AnchoredPColumnSelector, Annotation, AnnotationJson, AnyFunction, AnyLogHandle, ArchiveFormat, ArrayTypeUnion, ArtificialColumnJoinEntry, Assert, AssertKeysEqual, AuthorMarker, AxesId, AxesSpec, AxisFilter, AxisFilterByIdx, AxisFilterByName, AxisFilterValue, AxisId, AxisQualification, AxisSpec, AxisSpecNormalized, AxisTree, AxisValueType, Base64Compatible, Base64Encoded, BasicHttpAuth, BinaryChunk, BinaryPartitionedDataInfo, BinaryPartitionedDataInfoEntries, BlobDriver, BlobHandleAndSize, BlobLike, BlobToURLDriver, BlockCodeFeatureFlags, BlockCodeKnownFeatureFlags, BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockOutputsBase, BlockRenderingMode, BlockSection, BlockSectionDelimiter, BlockSectionLink, BlockSectionLinkAppearance, BlockState, BlockStateV3, BlockUIURL, Branded, BuildQueryInput, CalculateTableDataRequest, CalculateTableDataResponse, CanonicalizedJson, ChunkedStreamReader, ChunkedStreamReaderOptions, Code, ColumnAxesWithQualifications, ColumnFilter, ColumnJoinEntry, ColumnValueType, CompositeLinkerMap, ConstantAxisFilter, ContentHandler, DataExprAxisRef, DataExprColumnRef, DataInfo, DataInfoEntries, DataQuery, DataQueryBooleanExpression, DataQueryColumn, DataQueryExpression, DataQueryFilter, DataQueryInlineColumn, DataQueryJoinEntry, DataQueryLinkerJoin, DataQueryLinkerJoinLinker, DataQueryOuterJoin, DataQuerySliceAxes, DataQuerySort, DataQuerySparseToDenseColumn, DataQuerySymmetricJoin, DatasetInput, DatasetOption, DefaultNavigationState, DeleteColumnRequest, DeleteColumnResponse, DialogService, DiscoverColumnsConstraints, DiscoverColumnsFilterStep, DiscoverColumnsLinkerStep, DiscoverColumnsMappingVariant, DiscoverColumnsRequest, DiscoverColumnsResponse, DiscoverColumnsResponseHit, DiscoverColumnsResponseQualifications, DiscoverColumnsStepInfo, DiscoveredPColumn, DiscoveredPColumnId, Domain, DomainJson, DriverKit, ErrorHandlerStatus, EvaluateQueryResponse, FileFilter, FileLike, FileRange, FilterKeysByPrefix, FilterSpec, FilterSpecLeaf, FilterSpecNode, FilterSpecOfType, FilterSpecType, FilteredPColumn, FilteredPColumnId, FindColumnsRequest, FindColumnsResponse, FolderURL, FrontendDriver, FullJoin, FullPTableColumnData, GetContentOptions, HttpAuth, ImportFileHandle, ImportFileHandleIndex, ImportFileHandleUpload, ImportProgress, ImportStatus, IncompatibleFlagsError, InferFilterSpecCommonLeaf, InferFilterSpecCommonNode, InferFilterSpecLeaf, InferFilterSpecLeafColumn, InferServiceKind, InferServiceModel, InferServiceUi, InlineColumnJoinEntry, InnerJoin, Is, IsSubtypeOf, JoinEntry, JsonCompatible, JsonDataInfo, JsonDataInfoEntries, JsonPartitionedDataInfo, JsonPartitionedDataInfoEntries, JsonSerializable, KnownServiceName, LegacyAxisSelector, LinkerMap, ListFilesResult, ListOptionBase, LiveLogHandle, LocalBlobHandle, LocalBlobHandleAndSize, LocalImportFileHandle, LogsDriver, LsDriver, LsEntry, MODEL_SERVICE_METHOD_MAP, MatcherMap, Metadata, MetadataJson, ModelServiceFactoryMap, ModelServiceRegistry, ModelServices, MultiAxisSelector, MultiColumnSelector, NativePObjectId, NavigationState, NodeServiceHandlerMap, OpenDialogFilter, OpenDialogOps, OpenMultipleFilesResponse, OpenSingleFileResponse, Option, OuterJoin, OutputWithStatus, PAxisName, PColumn, PColumnDataEntry, PColumnIdAndSpec, PColumnInfo, PColumnKey, PColumnLazy, PColumnName, PColumnSelector, PColumnSpec, PColumnSpecId, PColumnValue, PColumnValues, PColumnValuesEntry, PDataColumnSpec, PFrame, PFrameDef, PFrameDriver, PFrameDriverError, PFrameError, PFrameHandle, PFrameModelDriver, PFrameSpecDriver, PFrameSpecDriverError, PObject, PObjectId, PObjectSpec, PSpecPredicate, PTable, PTableColumnId, PTableColumnIdAxis, PTableColumnIdColumn, PTableColumnSpec, PTableColumnSpecAxis, PTableColumnSpecColumn, PTableDef, PTableDefV2, PTableDownloadCompression, PTableDownloadFormat, PTableHandle, PTableNA, PTableRecordFilter, PTableRecordSingleValueFilterV2, PTableShape, PTableSorting, PTableValue, PTableValueAxis, PTableValueBranded, PTableValueData, PTableValueDataBranded, PTableValueDouble, PTableValueFloat, PTableValueInt, PTableValueLong, PTableValueString, PTableVector, PTableVectorTyped, PUniversalColumnSpec, PVectorData, PVectorDataBytes, PVectorDataDouble, PVectorDataFloat, PVectorDataInt, PVectorDataLong, PVectorDataString, PVectorDataTyped, ParquetChunk, ParquetChunkMapping, ParquetChunkMappingAxis, ParquetChunkMappingColumn, ParquetChunkMetadata, ParquetChunkStats, ParquetPartitionedDataInfo, ParquetPartitionedDataInfoEntries, PartitionedDataInfoEntries, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntry, PoolEntryGuard, PrimaryRef, ProgressLogWithInfo, RangeBytes, ReadyLogHandle, Ref, RemoteBlobHandle, RemoteBlobHandleAndSize, RequireServices, ResolveAnchorsOptions, ResourceTypeName, ResourceTypePrefix, ResultCollection, ResultOrError, ResultPoolEntry, RootFilterSpec, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, SUniversalPColumnId, SerializedError, ServiceAlreadyRegisteredError, ServiceBrand, ServiceDispatch, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceName, ServiceNameLiterals, ServiceNotRegisteredError, ServiceRequireFlags, ServiceType, ServiceTypesLike, Services, ShowSaveDialogOptions, ShowSaveDialogResult, SingleAxisSelector, SingleValueAndPredicateV2, SingleValueEqualPredicate, SingleValueGreaterOrEqualPredicate, SingleValueGreaterPredicate, SingleValueIEqualPredicate, SingleValueInSetPredicate, SingleValueIsNAPredicate, SingleValueLessOrEqualPredicate, SingleValueLessPredicate, SingleValueMatchesPredicate, SingleValueNotPredicateV2, SingleValueOrPredicateV2, SingleValuePredicateV2, SingleValueStringContainsFuzzyPredicate, SingleValueStringContainsPredicate, SingleValueStringIContainsFuzzyPredicate, SingleValueStringIContainsPredicate, SlicedColumnJoinEntry, SpecExprAxisRef, SpecExprColumnRef, SpecFrameHandle, SpecQuery, SpecQueryBooleanExpression, SpecQueryColumn, SpecQueryExpression, SpecQueryFilter, SpecQueryInlineColumn, SpecQueryJoinEntry, SpecQueryLinkerJoin, SpecQueryLinkerJoinLinker, SpecQueryOuterJoin, SpecQuerySliceAxes, SpecQuerySort, SpecQuerySparseToDenseColumn, SpecQuerySymmetricJoin, StorageEntry, StorageHandle, StorageHandleLocal, StorageHandleRemote, StreamingApiResponse, StreamingApiResponseHandleOutdated, StreamingApiResponseOk, StringMatcher, StringifiedJson, SupportedRequirement, TableRange, Trace, TraceEntry, UiError, UiServiceFactoryMap, UiServiceRegistry, UiServices, UniqueValuesRequest, UniqueValuesResponse, UniversalPColumnId, ValueOrError, ValueType, ValueTypeSupported, ValueWithUTag, ValueWithUTagAndAuthor, WritePTableToFsOptions, WritePTableToFsResult, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createDiscoveredPColumn, createDiscoveredPColumnId, createNodeServiceHandlers, createPlRef, createPrimaryRef, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getServiceKind, getServiceModelMethods, getServiceUiMethods, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAnyLogHandle, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isDiscoveredPColumn, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isMainService, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isPrimaryRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, isValueNA, isWasmService, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseDiscoveredPColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveNodeServiceHandler, resolveRequiredServices, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyDiscoveredPColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import { dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, is
11
11
  import { AbortError, PFrameDriverError, PFrameError, PFrameSpecDriverError, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, UiError, deserializeError, deserializeResult, ensureError, hasAbortError, isAbortError, isAggregateError, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, serializeError, serializeResult, unwrapResult, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback } from "./errors.js";
12
12
  import { bigintReplacer, canonicalizeJson, parseJson, stringifyJson } from "./json.js";
13
13
  import { Annotation, AnnotationJson, Domain, DomainJson, PAxisName, PColumnName, ValueType, canonicalizeAxisId, canonicalizeAxisWithParents, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getNormalizedAxesList, getPColumnSpecId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, isAxisId, isLabelColumn, isLinkerColumn, matchAxisId, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, resolveAnnotationParents } from "./drivers/pframe/spec/spec.js";
14
- import { PTableNA, isPTableNA, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
14
+ import { PTableNA, isPTableNA, isValueNA, pTableValue, pTableValueBranded } from "./drivers/pframe/data_types.js";
15
15
  import { collectSpecQueryColumns, isBooleanExpression, mapSpecQueryColumns, sortSpecQuery, traverseQuerySpec } from "./drivers/pframe/query/utils.js";
16
16
  import { mapJoinEntry, mapPTableDef, mapPTableDefV2, sortJoinEntry, sortPTableDef } from "./drivers/pframe/table_calculate.js";
17
17
  import { getPTableColumnId } from "./drivers/pframe/table_common.js";
@@ -35,12 +35,12 @@ import { mapValueInVOE } from "./value_or_error.js";
35
35
  import { base64Decode, base64Encode } from "./base64.js";
36
36
  import { parseHttpAuth, serializeHttpAuth } from "./httpAuth.js";
37
37
  import { ResourceTypeName, ResourceTypePrefix } from "./resource_types.js";
38
- import { isNodeService, service, serviceFnKey } from "./services/service_types.js";
38
+ import { getServiceKind, getServiceModelMethods, getServiceUiMethods, isMainService, isNodeService, isWasmService, service, serviceFnKey } from "./services/service_types.js";
39
39
  import { ModelServiceRegistry, UiServiceRegistry } from "./services/service_registry.js";
40
40
  import { Services } from "./services/service_declarations.js";
41
41
  import { SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./services/service_capabilities.js";
42
- import { createUiServiceInjectors } from "./services/service_injector_factory.js";
43
- import { SERVICE_METHOD_MAP, buildServiceInfo, resolveUiInjector } from "./services/service_injectors.js";
42
+ import { createNodeServiceHandlers } from "./services/node_service_handlers.js";
43
+ import { MODEL_SERVICE_METHOD_MAP, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler } from "./services/service_injectors.js";
44
44
  import "./services/index.js";
45
45
  import { PoolEntryGuard } from "./pool_entry.js";
46
- export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, ModelServiceRegistry, PAxisName, PColumnName, PFrameDriverError, PFrameError, PFrameSpecDriverError, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntryGuard, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, Services, UiError, UiServiceRegistry, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createDiscoveredPColumn, createDiscoveredPColumnId, createPlRef, createPrimaryRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAnyLogHandle, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isDiscoveredPColumn, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isPrimaryRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseDiscoveredPColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyDiscoveredPColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
46
+ export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, MODEL_SERVICE_METHOD_MAP, ModelServiceRegistry, PAxisName, PColumnName, PFrameDriverError, PFrameError, PFrameSpecDriverError, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntryGuard, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, Services, UiError, UiServiceRegistry, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createDiscoveredPColumn, createDiscoveredPColumnId, createNodeServiceHandlers, createPlRef, createPrimaryRef, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getServiceKind, getServiceModelMethods, getServiceUiMethods, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAnyLogHandle, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isDiscoveredPColumn, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isMainService, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isPrimaryRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, isValueNA, isWasmService, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseDiscoveredPColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveNodeServiceHandler, resolveRequiredServices, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyDiscoveredPColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
@@ -2,5 +2,5 @@ require("./service_types.cjs");
2
2
  require("./service_registry.cjs");
3
3
  require("./service_declarations.cjs");
4
4
  require("./service_capabilities.cjs");
5
- require("./service_injector_factory.cjs");
5
+ require("./node_service_handlers.cjs");
6
6
  require("./service_injectors.cjs");
@@ -1,6 +1,6 @@
1
1
  import { Services } from "./service_declarations.js";
2
- import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, isNodeService, service, serviceFnKey } from "./service_types.js";
2
+ import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactoryMap, ModelServices, RequireServices, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, UiServiceFactoryMap, UiServices, getServiceKind, getServiceModelMethods, getServiceUiMethods, isMainService, isNodeService, isWasmService, service, serviceFnKey } from "./service_types.js";
3
3
  import { ModelServiceRegistry, UiServiceRegistry } from "./service_registry.js";
4
4
  import { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./service_capabilities.js";
5
- import { createUiServiceInjectors } from "./service_injector_factory.js";
6
- import { SERVICE_METHOD_MAP, UiServiceInjectorMap, buildServiceInfo, resolveUiInjector } from "./service_injectors.js";
5
+ import { createNodeServiceHandlers } from "./node_service_handlers.js";
6
+ import { MODEL_SERVICE_METHOD_MAP, NodeServiceHandlerMap, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler } from "./service_injectors.js";
@@ -2,5 +2,5 @@ import "./service_types.js";
2
2
  import "./service_registry.js";
3
3
  import "./service_declarations.js";
4
4
  import "./service_capabilities.js";
5
- import "./service_injector_factory.js";
5
+ import "./node_service_handlers.js";
6
6
  import "./service_injectors.js";
@@ -1,5 +1,5 @@
1
- //#region src/services/service_injector_factory.ts
2
- function createUiServiceInjectors(driverKit) {
1
+ //#region src/services/node_service_handlers.ts
2
+ function createNodeServiceHandlers(driverKit) {
3
3
  const { pFrameDriver } = driverKit;
4
4
  return { PFrame: {
5
5
  findColumns: (handle, request) => pFrameDriver.findColumns(handle, request),
@@ -9,10 +9,11 @@ function createUiServiceInjectors(driverKit) {
9
9
  getUniqueValues: (handle, request) => pFrameDriver.getUniqueValues(handle, request),
10
10
  getShape: (handle) => pFrameDriver.getShape(handle),
11
11
  getSpec: (handle) => pFrameDriver.getSpec(handle),
12
- getData: (handle, columnIndices, range) => pFrameDriver.getData(handle, columnIndices, range)
12
+ getData: (handle, columnIndices, range) => pFrameDriver.getData(handle, columnIndices, range),
13
+ writePTableToFs: (handle, options) => pFrameDriver.writePTableToFs(handle, options)
13
14
  } };
14
15
  }
15
16
  //#endregion
16
- export { createUiServiceInjectors };
17
+ exports.createNodeServiceHandlers = createNodeServiceHandlers;
17
18
 
18
- //# sourceMappingURL=service_injector_factory.js.map
19
+ //# sourceMappingURL=node_service_handlers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_service_handlers.cjs","names":[],"sources":["../../src/services/node_service_handlers.ts"],"sourcesContent":["/**\n * Worker-side dispatch table for `node`-kind services.\n *\n * Each entry maps a method name to a closure that calls the real driver\n * inside the worker process. Used by `callServiceMethod` in the worker\n * (see `platforma-desktop-app/packages/worker/src/workerApi.ts`) to route\n * incoming IPC calls to concrete driver methods.\n *\n * NOT used for:\n * - `wasm` services — instantiated locally on each consumer (no IPC).\n * - `main` services — dispatched in the Electron main process via its\n * own router, never reaches the worker.\n */\n\nimport type { DriverKit } from \"../driver_kit\";\nimport type { NodeServiceHandlerMap } from \"./service_injectors\";\n\nexport function createNodeServiceHandlers(driverKit: DriverKit): NodeServiceHandlerMap {\n const { pFrameDriver } = driverKit;\n return {\n PFrame: {\n findColumns: (handle, request) => pFrameDriver.findColumns(handle, request),\n getColumnSpec: (handle, columnId) => pFrameDriver.getColumnSpec(handle, columnId),\n listColumns: (handle) => pFrameDriver.listColumns(handle),\n calculateTableData: (handle, request, range) =>\n pFrameDriver.calculateTableData(handle, request, range),\n getUniqueValues: (handle, request) => pFrameDriver.getUniqueValues(handle, request),\n getShape: (handle) => pFrameDriver.getShape(handle),\n getSpec: (handle) => pFrameDriver.getSpec(handle),\n getData: (handle, columnIndices, range) => pFrameDriver.getData(handle, columnIndices, range),\n writePTableToFs: (handle, options) => pFrameDriver.writePTableToFs(handle, options),\n },\n };\n}\n"],"mappings":";AAiBA,SAAgB,0BAA0B,WAA6C;CACrF,MAAM,EAAE,iBAAiB;AACzB,QAAO,EACL,QAAQ;EACN,cAAc,QAAQ,YAAY,aAAa,YAAY,QAAQ,QAAQ;EAC3E,gBAAgB,QAAQ,aAAa,aAAa,cAAc,QAAQ,SAAS;EACjF,cAAc,WAAW,aAAa,YAAY,OAAO;EACzD,qBAAqB,QAAQ,SAAS,UACpC,aAAa,mBAAmB,QAAQ,SAAS,MAAM;EACzD,kBAAkB,QAAQ,YAAY,aAAa,gBAAgB,QAAQ,QAAQ;EACnF,WAAW,WAAW,aAAa,SAAS,OAAO;EACnD,UAAU,WAAW,aAAa,QAAQ,OAAO;EACjD,UAAU,QAAQ,eAAe,UAAU,aAAa,QAAQ,QAAQ,eAAe,MAAM;EAC7F,kBAAkB,QAAQ,YAAY,aAAa,gBAAgB,QAAQ,QAAQ;EACpF,EACF"}