@milaboratories/pframes-rs-node 1.1.27 → 1.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/export/dump.ts CHANGED
@@ -163,6 +163,18 @@ function hashDataQuery(query: DataQuery): DataQuery {
163
163
  entry: hashDataQuery(e.entry),
164
164
  })),
165
165
  };
166
+ case "linkerJoin":
167
+ return {
168
+ ...query,
169
+ linker: {
170
+ ...query.linker,
171
+ column: hashColumnId(query.linker.column),
172
+ },
173
+ secondary: query.secondary.map((e) => ({
174
+ ...e,
175
+ entry: hashDataQuery(e.entry),
176
+ })),
177
+ };
166
178
  case "sliceAxes":
167
179
  return {
168
180
  ...query,
@@ -123,6 +123,17 @@ function hashDataQuery(query) {
123
123
  entry: hashDataQuery(e.entry)
124
124
  }))
125
125
  };
126
+ case "linkerJoin": return {
127
+ ...query,
128
+ linker: {
129
+ ...query.linker,
130
+ column: hashColumnId(query.linker.column)
131
+ },
132
+ secondary: query.secondary.map((e) => ({
133
+ ...e,
134
+ entry: hashDataQuery(e.entry)
135
+ }))
136
+ };
126
137
  case "sliceAxes": return {
127
138
  ...query,
128
139
  input: hashDataQuery(query.input)
@@ -1 +1 @@
1
- {"version":3,"file":"dump.cjs","names":["fs"],"sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { promises as fs } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport type {\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest,\n DataQuery,\n} from \"@milaboratories/pl-model-common\";\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash(\"sha256\").update(columnId).digest(\"hex\") as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === \"column\") {\n return {\n ...tableId,\n id: hashColumnId(tableId.id),\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(filter: PTableRecordFilter): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column),\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(request: UniqueValuesRequest): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column),\n };\n}\n\nfunction hashJoinEntryColumnId(entry: PFrameInternal.JoinEntryV4): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case \"column\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n };\n case \"slicedColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"artificialColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"inlineColumn\":\n return {\n ...entry,\n newId: hashColumnId(entry.newId),\n };\n case \"inner\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"full\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"outer\":\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId),\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4,\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nfunction hashTableColumnSpec(spec: PTableColumnSpec): PTableColumnSpec {\n if (spec.type === \"column\") {\n return {\n ...spec,\n id: hashColumnId(spec.id),\n };\n }\n return spec;\n}\n\nfunction hashDataQuery(query: DataQuery): DataQuery {\n switch (query.type) {\n case \"column\":\n return {\n ...query,\n column: hashColumnId(query.column),\n };\n case \"inlineColumn\":\n return {\n ...query,\n spec: {\n ...query.spec,\n id: hashColumnId(query.spec.id),\n },\n };\n case \"sparseToDenseColumn\":\n return {\n ...query,\n column: hashColumnId(query.column),\n ...(query.specOverride\n ? {\n specOverride: {\n ...query.specOverride,\n id: hashColumnId(query.specOverride.id),\n },\n }\n : {}),\n };\n case \"innerJoin\":\n case \"fullJoin\":\n return {\n ...query,\n entries: query.entries.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"outerJoin\":\n return {\n ...query,\n primary: {\n ...query.primary,\n entry: hashDataQuery(query.primary.entry),\n },\n secondary: query.secondary.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"sliceAxes\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"sort\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"filter\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n }\n}\n\nexport function hashCreateTableV2RequestColumnId(request: {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n}): {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n} {\n return {\n ...request,\n tableSpec: request.tableSpec.map(hashTableColumnSpec),\n dataQuery: hashDataQuery(request.dataQuery),\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: string | number | boolean | object } | Uint8Array,\n logger?: PFrameInternal.Logger,\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data) ? data : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: \"wx\" });\n } catch (error: unknown) {\n logger?.(\"warn\", `error while dumping PFrames data: ${error}`);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dump.cjs","names":["fs"],"sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { promises as fs } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport type {\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest,\n DataQuery,\n} from \"@milaboratories/pl-model-common\";\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash(\"sha256\").update(columnId).digest(\"hex\") as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === \"column\") {\n return {\n ...tableId,\n id: hashColumnId(tableId.id),\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(filter: PTableRecordFilter): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column),\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(request: UniqueValuesRequest): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column),\n };\n}\n\nfunction hashJoinEntryColumnId(entry: PFrameInternal.JoinEntryV4): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case \"column\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n };\n case \"slicedColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"artificialColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"inlineColumn\":\n return {\n ...entry,\n newId: hashColumnId(entry.newId),\n };\n case \"inner\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"full\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"outer\":\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId),\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4,\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nfunction hashTableColumnSpec(spec: PTableColumnSpec): PTableColumnSpec {\n if (spec.type === \"column\") {\n return {\n ...spec,\n id: hashColumnId(spec.id),\n };\n }\n return spec;\n}\n\nfunction hashDataQuery(query: DataQuery): DataQuery {\n switch (query.type) {\n case \"column\":\n return {\n ...query,\n column: hashColumnId(query.column),\n };\n case \"inlineColumn\":\n return {\n ...query,\n spec: {\n ...query.spec,\n id: hashColumnId(query.spec.id),\n },\n };\n case \"sparseToDenseColumn\":\n return {\n ...query,\n column: hashColumnId(query.column),\n ...(query.specOverride\n ? {\n specOverride: {\n ...query.specOverride,\n id: hashColumnId(query.specOverride.id),\n },\n }\n : {}),\n };\n case \"innerJoin\":\n case \"fullJoin\":\n return {\n ...query,\n entries: query.entries.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"outerJoin\":\n return {\n ...query,\n primary: {\n ...query.primary,\n entry: hashDataQuery(query.primary.entry),\n },\n secondary: query.secondary.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"linkerJoin\":\n return {\n ...query,\n linker: {\n ...query.linker,\n column: hashColumnId(query.linker.column),\n },\n secondary: query.secondary.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"sliceAxes\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"sort\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"filter\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n }\n}\n\nexport function hashCreateTableV2RequestColumnId(request: {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n}): {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n} {\n return {\n ...request,\n tableSpec: request.tableSpec.map(hashTableColumnSpec),\n dataQuery: hashDataQuery(request.dataQuery),\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: string | number | boolean | object } | Uint8Array,\n logger?: PFrameInternal.Logger,\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data) ? data : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: \"wx\" });\n } catch (error: unknown) {\n logger?.(\"warn\", `error while dumping PFrames data: ${error}`);\n }\n}\n"],"mappings":"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"}
@@ -122,6 +122,17 @@ function hashDataQuery(query) {
122
122
  entry: hashDataQuery(e.entry)
123
123
  }))
124
124
  };
125
+ case "linkerJoin": return {
126
+ ...query,
127
+ linker: {
128
+ ...query.linker,
129
+ column: hashColumnId(query.linker.column)
130
+ },
131
+ secondary: query.secondary.map((e) => ({
132
+ ...e,
133
+ entry: hashDataQuery(e.entry)
134
+ }))
135
+ };
125
136
  case "sliceAxes": return {
126
137
  ...query,
127
138
  input: hashDataQuery(query.input)
@@ -1 +1 @@
1
- {"version":3,"file":"dump.js","names":["fs"],"sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { promises as fs } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport type {\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest,\n DataQuery,\n} from \"@milaboratories/pl-model-common\";\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash(\"sha256\").update(columnId).digest(\"hex\") as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === \"column\") {\n return {\n ...tableId,\n id: hashColumnId(tableId.id),\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(filter: PTableRecordFilter): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column),\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(request: UniqueValuesRequest): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column),\n };\n}\n\nfunction hashJoinEntryColumnId(entry: PFrameInternal.JoinEntryV4): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case \"column\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n };\n case \"slicedColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"artificialColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"inlineColumn\":\n return {\n ...entry,\n newId: hashColumnId(entry.newId),\n };\n case \"inner\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"full\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"outer\":\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId),\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4,\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nfunction hashTableColumnSpec(spec: PTableColumnSpec): PTableColumnSpec {\n if (spec.type === \"column\") {\n return {\n ...spec,\n id: hashColumnId(spec.id),\n };\n }\n return spec;\n}\n\nfunction hashDataQuery(query: DataQuery): DataQuery {\n switch (query.type) {\n case \"column\":\n return {\n ...query,\n column: hashColumnId(query.column),\n };\n case \"inlineColumn\":\n return {\n ...query,\n spec: {\n ...query.spec,\n id: hashColumnId(query.spec.id),\n },\n };\n case \"sparseToDenseColumn\":\n return {\n ...query,\n column: hashColumnId(query.column),\n ...(query.specOverride\n ? {\n specOverride: {\n ...query.specOverride,\n id: hashColumnId(query.specOverride.id),\n },\n }\n : {}),\n };\n case \"innerJoin\":\n case \"fullJoin\":\n return {\n ...query,\n entries: query.entries.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"outerJoin\":\n return {\n ...query,\n primary: {\n ...query.primary,\n entry: hashDataQuery(query.primary.entry),\n },\n secondary: query.secondary.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"sliceAxes\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"sort\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"filter\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n }\n}\n\nexport function hashCreateTableV2RequestColumnId(request: {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n}): {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n} {\n return {\n ...request,\n tableSpec: request.tableSpec.map(hashTableColumnSpec),\n dataQuery: hashDataQuery(request.dataQuery),\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: string | number | boolean | object } | Uint8Array,\n logger?: PFrameInternal.Logger,\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data) ? data : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: \"wx\" });\n } catch (error: unknown) {\n logger?.(\"warn\", `error while dumping PFrames data: ${error}`);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dump.js","names":["fs"],"sources":["../export/dump.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { promises as fs } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport type {\n PObjectId,\n PTableColumnId,\n PTableColumnSpec,\n PTableRecordFilter,\n PTableSorting,\n UniqueValuesRequest,\n DataQuery,\n} from \"@milaboratories/pl-model-common\";\n\nexport function hashColumnId(columnId: PObjectId): PObjectId {\n return createHash(\"sha256\").update(columnId).digest(\"hex\") as PObjectId;\n}\n\nexport function hashTableColumnId(tableId: PTableColumnId): PTableColumnId {\n if (tableId.type === \"column\") {\n return {\n ...tableId,\n id: hashColumnId(tableId.id),\n };\n }\n return tableId;\n}\n\nexport function hashFilterColumnId(filter: PTableRecordFilter): PTableRecordFilter {\n return {\n ...filter,\n column: hashTableColumnId(filter.column),\n };\n}\n\nexport function hashUniqueValuesRequestColumnId(request: UniqueValuesRequest): UniqueValuesRequest {\n return {\n ...request,\n columnId: hashColumnId(request.columnId),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nexport function hashSortingColumnId(sorting: PTableSorting): PTableSorting {\n return {\n ...sorting,\n column: hashTableColumnId(sorting.column),\n };\n}\n\nfunction hashJoinEntryColumnId(entry: PFrameInternal.JoinEntryV4): PFrameInternal.JoinEntryV4 {\n const type = entry.type;\n switch (type) {\n case \"column\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n };\n case \"slicedColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"artificialColumn\":\n return {\n ...entry,\n columnId: hashColumnId(entry.columnId),\n newId: hashColumnId(entry.newId),\n };\n case \"inlineColumn\":\n return {\n ...entry,\n newId: hashColumnId(entry.newId),\n };\n case \"inner\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"full\":\n return {\n ...entry,\n entries: entry.entries.map(hashJoinEntryColumnId),\n };\n case \"outer\":\n return {\n ...entry,\n primary: hashJoinEntryColumnId(entry.primary),\n secondary: entry.secondary.map(hashJoinEntryColumnId),\n };\n default:\n throw new Error(`Unsupported join entry type: ${type}`);\n }\n}\n\nexport function hashCreateTableRequestColumnId(\n request: PFrameInternal.CreateTableRequestV4,\n): PFrameInternal.CreateTableRequestV4 {\n return {\n ...request,\n src: hashJoinEntryColumnId(request.src),\n filters: request.filters.map(hashFilterColumnId),\n };\n}\n\nfunction hashTableColumnSpec(spec: PTableColumnSpec): PTableColumnSpec {\n if (spec.type === \"column\") {\n return {\n ...spec,\n id: hashColumnId(spec.id),\n };\n }\n return spec;\n}\n\nfunction hashDataQuery(query: DataQuery): DataQuery {\n switch (query.type) {\n case \"column\":\n return {\n ...query,\n column: hashColumnId(query.column),\n };\n case \"inlineColumn\":\n return {\n ...query,\n spec: {\n ...query.spec,\n id: hashColumnId(query.spec.id),\n },\n };\n case \"sparseToDenseColumn\":\n return {\n ...query,\n column: hashColumnId(query.column),\n ...(query.specOverride\n ? {\n specOverride: {\n ...query.specOverride,\n id: hashColumnId(query.specOverride.id),\n },\n }\n : {}),\n };\n case \"innerJoin\":\n case \"fullJoin\":\n return {\n ...query,\n entries: query.entries.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"outerJoin\":\n return {\n ...query,\n primary: {\n ...query.primary,\n entry: hashDataQuery(query.primary.entry),\n },\n secondary: query.secondary.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"linkerJoin\":\n return {\n ...query,\n linker: {\n ...query.linker,\n column: hashColumnId(query.linker.column),\n },\n secondary: query.secondary.map((e) => ({\n ...e,\n entry: hashDataQuery(e.entry),\n })),\n };\n case \"sliceAxes\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"sort\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n case \"filter\":\n return {\n ...query,\n input: hashDataQuery(query.input),\n };\n }\n}\n\nexport function hashCreateTableV2RequestColumnId(request: {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n}): {\n tableSpec: PTableColumnSpec[];\n dataQuery: DataQuery;\n} {\n return {\n ...request,\n tableSpec: request.tableSpec.map(hashTableColumnSpec),\n dataQuery: hashDataQuery(request.dataQuery),\n };\n}\n\nexport async function dump(\n relativePath: string[],\n data: { [key: string]: string | number | boolean | object } | Uint8Array,\n logger?: PFrameInternal.Logger,\n): Promise<void> {\n if (!process.env.MI_DUMP_PFRAMES_RS) return;\n try {\n const relativeUri = relativePath.map((part) => encodeURIComponent(part));\n const fileDir = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));\n await fs.mkdir(fileDir, { recursive: true });\n\n const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);\n const fileData = ArrayBuffer.isView(data) ? data : JSON.stringify(data, null, 2);\n await fs.writeFile(filePath, fileData, { flag: \"wx\" });\n } catch (error: unknown) {\n logger?.(\"warn\", `error while dumping PFrames data: ${error}`);\n }\n}\n"],"mappings":";;;;AAcA,SAAgB,aAAa,UAAgC;AAC3D,QAAO,WAAW,SAAS,CAAC,OAAO,SAAS,CAAC,OAAO,MAAM;;AAG5D,SAAgB,kBAAkB,SAAyC;AACzE,KAAI,QAAQ,SAAS,SACnB,QAAO;EACL,GAAG;EACH,IAAI,aAAa,QAAQ,GAAG;EAC7B;AAEH,QAAO;;AAGT,SAAgB,mBAAmB,QAAgD;AACjF,QAAO;EACL,GAAG;EACH,QAAQ,kBAAkB,OAAO,OAAO;EACzC;;AAGH,SAAgB,gCAAgC,SAAmD;AACjG,QAAO;EACL,GAAG;EACH,UAAU,aAAa,QAAQ,SAAS;EACxC,SAAS,QAAQ,QAAQ,IAAI,mBAAmB;EACjD;;AAGH,SAAgB,oBAAoB,SAAuC;AACzE,QAAO;EACL,GAAG;EACH,QAAQ,kBAAkB,QAAQ,OAAO;EAC1C;;AAGH,SAAS,sBAAsB,OAA+D;CAC5F,MAAM,OAAO,MAAM;AACnB,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;GACL,GAAG;GACH,UAAU,aAAa,MAAM,SAAS;GACvC;EACH,KAAK,eACH,QAAO;GACL,GAAG;GACH,UAAU,aAAa,MAAM,SAAS;GACtC,OAAO,aAAa,MAAM,MAAM;GACjC;EACH,KAAK,mBACH,QAAO;GACL,GAAG;GACH,UAAU,aAAa,MAAM,SAAS;GACtC,OAAO,aAAa,MAAM,MAAM;GACjC;EACH,KAAK,eACH,QAAO;GACL,GAAG;GACH,OAAO,aAAa,MAAM,MAAM;GACjC;EACH,KAAK,QACH,QAAO;GACL,GAAG;GACH,SAAS,MAAM,QAAQ,IAAI,sBAAsB;GAClD;EACH,KAAK,OACH,QAAO;GACL,GAAG;GACH,SAAS,MAAM,QAAQ,IAAI,sBAAsB;GAClD;EACH,KAAK,QACH,QAAO;GACL,GAAG;GACH,SAAS,sBAAsB,MAAM,QAAQ;GAC7C,WAAW,MAAM,UAAU,IAAI,sBAAsB;GACtD;EACH,QACE,OAAM,IAAI,MAAM,gCAAgC,OAAO;;;AAI7D,SAAgB,+BACd,SACqC;AACrC,QAAO;EACL,GAAG;EACH,KAAK,sBAAsB,QAAQ,IAAI;EACvC,SAAS,QAAQ,QAAQ,IAAI,mBAAmB;EACjD;;AAGH,SAAS,oBAAoB,MAA0C;AACrE,KAAI,KAAK,SAAS,SAChB,QAAO;EACL,GAAG;EACH,IAAI,aAAa,KAAK,GAAG;EAC1B;AAEH,QAAO;;AAGT,SAAS,cAAc,OAA6B;AAClD,SAAQ,MAAM,MAAd;EACE,KAAK,SACH,QAAO;GACL,GAAG;GACH,QAAQ,aAAa,MAAM,OAAO;GACnC;EACH,KAAK,eACH,QAAO;GACL,GAAG;GACH,MAAM;IACJ,GAAG,MAAM;IACT,IAAI,aAAa,MAAM,KAAK,GAAG;IAChC;GACF;EACH,KAAK,sBACH,QAAO;GACL,GAAG;GACH,QAAQ,aAAa,MAAM,OAAO;GAClC,GAAI,MAAM,eACN,EACE,cAAc;IACZ,GAAG,MAAM;IACT,IAAI,aAAa,MAAM,aAAa,GAAG;IACxC,EACF,GACD,EAAE;GACP;EACH,KAAK;EACL,KAAK,WACH,QAAO;GACL,GAAG;GACH,SAAS,MAAM,QAAQ,KAAK,OAAO;IACjC,GAAG;IACH,OAAO,cAAc,EAAE,MAAM;IAC9B,EAAE;GACJ;EACH,KAAK,YACH,QAAO;GACL,GAAG;GACH,SAAS;IACP,GAAG,MAAM;IACT,OAAO,cAAc,MAAM,QAAQ,MAAM;IAC1C;GACD,WAAW,MAAM,UAAU,KAAK,OAAO;IACrC,GAAG;IACH,OAAO,cAAc,EAAE,MAAM;IAC9B,EAAE;GACJ;EACH,KAAK,aACH,QAAO;GACL,GAAG;GACH,QAAQ;IACN,GAAG,MAAM;IACT,QAAQ,aAAa,MAAM,OAAO,OAAO;IAC1C;GACD,WAAW,MAAM,UAAU,KAAK,OAAO;IACrC,GAAG;IACH,OAAO,cAAc,EAAE,MAAM;IAC9B,EAAE;GACJ;EACH,KAAK,YACH,QAAO;GACL,GAAG;GACH,OAAO,cAAc,MAAM,MAAM;GAClC;EACH,KAAK,OACH,QAAO;GACL,GAAG;GACH,OAAO,cAAc,MAAM,MAAM;GAClC;EACH,KAAK,SACH,QAAO;GACL,GAAG;GACH,OAAO,cAAc,MAAM,MAAM;GAClC;;;AAIP,SAAgB,iCAAiC,SAM/C;AACA,QAAO;EACL,GAAG;EACH,WAAW,QAAQ,UAAU,IAAI,oBAAoB;EACrD,WAAW,cAAc,QAAQ,UAAU;EAC5C;;AAGH,eAAsB,KACpB,cACA,MACA,QACe;AACf,KAAI,CAAC,QAAQ,IAAI,mBAAoB;AACrC,KAAI;EACF,MAAM,cAAc,aAAa,KAAK,SAAS,mBAAmB,KAAK,CAAC;EACxE,MAAM,UAAU,KAAK,QAAQ,IAAI,oBAAoB,GAAG,YAAY,MAAM,GAAG,GAAG,CAAC;AACjF,QAAMA,SAAG,MAAM,SAAS,EAAE,WAAW,MAAM,CAAC;EAE5C,MAAM,WAAW,KAAK,QAAQ,IAAI,oBAAoB,GAAG,YAAY;EACrE,MAAM,WAAW,YAAY,OAAO,KAAK,GAAG,OAAO,KAAK,UAAU,MAAM,MAAM,EAAE;AAChF,QAAMA,SAAG,UAAU,UAAU,UAAU,EAAE,MAAM,MAAM,CAAC;UAC/C,OAAgB;AACvB,WAAS,QAAQ,qCAAqC,QAAQ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pframes-rs-node",
3
- "version": "1.1.27",
3
+ "version": "1.1.29",
4
4
  "description": "PFrames - Node.js Native Addon",
5
5
  "homepage": "https://github.com/milaboratory/pframes-rs#readme",
6
6
  "license": "UNLICENSED",
@@ -37,31 +37,31 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@mapbox/node-pre-gyp": "2.0.3",
40
- "@milaboratories/helpers": "1.13.5",
41
- "@milaboratories/pl-model-common": "1.32.1",
40
+ "@milaboratories/helpers": "1.14.1",
41
+ "@milaboratories/pl-model-common": "1.36.0",
42
42
  "ulid": "3.0.2",
43
- "@milaboratories/pframes-rs-serv": "1.1.27"
43
+ "@milaboratories/pframes-rs-serv": "1.1.29"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@milaboratories/build-configs": "2.0.0",
47
- "@milaboratories/pl-model-middle-layer": "1.18.0",
47
+ "@milaboratories/pl-model-middle-layer": "1.18.5",
48
48
  "@milaboratories/ts-builder": "1.3.2",
49
- "@milaboratories/ts-configs": "1.2.1",
49
+ "@milaboratories/ts-configs": "1.2.3",
50
50
  "@types/node": "22.19.13",
51
- "@vitest/coverage-istanbul": "4.0.18",
52
- "@vitest/expect": "4.0.18",
53
- "cargo-cp-artifact": "0.1.9",
51
+ "@vitest/coverage-istanbul": "4.1.5",
52
+ "@vitest/expect": "4.1.5",
54
53
  "rimraf": "6.1.3",
54
+ "shx": "0.4.0",
55
55
  "tslib": "2.8.1",
56
- "typescript": "6.0.2",
57
- "vitest": "4.0.18"
56
+ "typescript": "6.0.3",
57
+ "vitest": "4.1.5"
58
58
  },
59
59
  "scripts": {
60
60
  "bump-version": "cargo run -p pframes_rs_meta --bin npm_version -r --locked",
61
61
  "install": "node-pre-gyp install --update-binary --fallback-to-build=false || node -p \"process.exit(+!(require('./package.json').version === '0.0.0'))\"",
62
62
  "pack": "pnpm exec node-pre-gyp package && pnpm exec node-pre-gyp reveal staged_tarball --silent",
63
63
  "build": "pnpm run build:rust && pnpm run build:ts",
64
- "build:rust": "pnpm exec cargo-cp-artifact -nc ./dist/napi-v8/pframes_rs_node.node -- cargo build --message-format=json",
64
+ "build:rust": "shx mkdir -p dist/napi-v8 && cargo build -p pframes_rs_node",
65
65
  "build:ts": "ts-builder build --target node --build-config build.node.config.js",
66
66
  "postbuild:ts": "pnpm exec rimraf package.tgz && pnpm pack --out package.tgz",
67
67
  "pretest": "pnpm run build",