@milaboratories/pframes-rs-node 1.1.18 → 1.1.25

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.
@@ -1,187 +1,162 @@
1
- import { createHash } from 'node:crypto';
2
- import { promises } from 'node:fs';
3
- import { join } from 'node:path';
4
-
1
+ import { join } from "node:path";
2
+ import { createHash } from "node:crypto";
3
+ import { promises } from "node:fs";
4
+ //#region export/dump.ts
5
5
  function hashColumnId(columnId) {
6
- return createHash("sha256").update(columnId).digest("hex");
6
+ return createHash("sha256").update(columnId).digest("hex");
7
7
  }
8
8
  function hashTableColumnId(tableId) {
9
- if (tableId.type === "column") {
10
- return {
11
- ...tableId,
12
- id: hashColumnId(tableId.id),
13
- };
14
- }
15
- return tableId;
9
+ if (tableId.type === "column") return {
10
+ ...tableId,
11
+ id: hashColumnId(tableId.id)
12
+ };
13
+ return tableId;
16
14
  }
17
15
  function hashFilterColumnId(filter) {
18
- return {
19
- ...filter,
20
- column: hashTableColumnId(filter.column),
21
- };
16
+ return {
17
+ ...filter,
18
+ column: hashTableColumnId(filter.column)
19
+ };
22
20
  }
23
21
  function hashUniqueValuesRequestColumnId(request) {
24
- return {
25
- ...request,
26
- columnId: hashColumnId(request.columnId),
27
- filters: request.filters.map(hashFilterColumnId),
28
- };
22
+ return {
23
+ ...request,
24
+ columnId: hashColumnId(request.columnId),
25
+ filters: request.filters.map(hashFilterColumnId)
26
+ };
29
27
  }
30
28
  function hashSortingColumnId(sorting) {
31
- return {
32
- ...sorting,
33
- column: hashTableColumnId(sorting.column),
34
- };
29
+ return {
30
+ ...sorting,
31
+ column: hashTableColumnId(sorting.column)
32
+ };
35
33
  }
36
34
  function hashJoinEntryColumnId(entry) {
37
- const type = entry.type;
38
- switch (type) {
39
- case "column":
40
- return {
41
- ...entry,
42
- columnId: hashColumnId(entry.columnId),
43
- };
44
- case "slicedColumn":
45
- return {
46
- ...entry,
47
- columnId: hashColumnId(entry.columnId),
48
- newId: hashColumnId(entry.newId),
49
- };
50
- case "artificialColumn":
51
- return {
52
- ...entry,
53
- columnId: hashColumnId(entry.columnId),
54
- newId: hashColumnId(entry.newId),
55
- };
56
- case "inlineColumn":
57
- return {
58
- ...entry,
59
- newId: hashColumnId(entry.newId),
60
- };
61
- case "inner":
62
- return {
63
- ...entry,
64
- entries: entry.entries.map(hashJoinEntryColumnId),
65
- };
66
- case "full":
67
- return {
68
- ...entry,
69
- entries: entry.entries.map(hashJoinEntryColumnId),
70
- };
71
- case "outer":
72
- return {
73
- ...entry,
74
- primary: hashJoinEntryColumnId(entry.primary),
75
- secondary: entry.secondary.map(hashJoinEntryColumnId),
76
- };
77
- default:
78
- throw new Error(`Unsupported join entry type: ${type}`);
79
- }
35
+ const type = entry.type;
36
+ switch (type) {
37
+ case "column": return {
38
+ ...entry,
39
+ columnId: hashColumnId(entry.columnId)
40
+ };
41
+ case "slicedColumn": return {
42
+ ...entry,
43
+ columnId: hashColumnId(entry.columnId),
44
+ newId: hashColumnId(entry.newId)
45
+ };
46
+ case "artificialColumn": return {
47
+ ...entry,
48
+ columnId: hashColumnId(entry.columnId),
49
+ newId: hashColumnId(entry.newId)
50
+ };
51
+ case "inlineColumn": return {
52
+ ...entry,
53
+ newId: hashColumnId(entry.newId)
54
+ };
55
+ case "inner": return {
56
+ ...entry,
57
+ entries: entry.entries.map(hashJoinEntryColumnId)
58
+ };
59
+ case "full": return {
60
+ ...entry,
61
+ entries: entry.entries.map(hashJoinEntryColumnId)
62
+ };
63
+ case "outer": return {
64
+ ...entry,
65
+ primary: hashJoinEntryColumnId(entry.primary),
66
+ secondary: entry.secondary.map(hashJoinEntryColumnId)
67
+ };
68
+ default: throw new Error(`Unsupported join entry type: ${type}`);
69
+ }
80
70
  }
81
71
  function hashCreateTableRequestColumnId(request) {
82
- return {
83
- ...request,
84
- src: hashJoinEntryColumnId(request.src),
85
- filters: request.filters.map(hashFilterColumnId),
86
- };
72
+ return {
73
+ ...request,
74
+ src: hashJoinEntryColumnId(request.src),
75
+ filters: request.filters.map(hashFilterColumnId)
76
+ };
87
77
  }
88
78
  function hashTableColumnSpec(spec) {
89
- if (spec.type === "column") {
90
- return {
91
- ...spec,
92
- id: hashColumnId(spec.id),
93
- };
94
- }
95
- return spec;
79
+ if (spec.type === "column") return {
80
+ ...spec,
81
+ id: hashColumnId(spec.id)
82
+ };
83
+ return spec;
96
84
  }
97
85
  function hashDataQuery(query) {
98
- switch (query.type) {
99
- case "column":
100
- return {
101
- ...query,
102
- column: hashColumnId(query.column),
103
- };
104
- case "inlineColumn":
105
- return {
106
- ...query,
107
- spec: {
108
- ...query.spec,
109
- id: hashColumnId(query.spec.id),
110
- },
111
- };
112
- case "sparseToDenseColumn":
113
- return {
114
- ...query,
115
- column: hashColumnId(query.column),
116
- ...(query.specOverride
117
- ? {
118
- specOverride: {
119
- ...query.specOverride,
120
- id: hashColumnId(query.specOverride.id),
121
- },
122
- }
123
- : {}),
124
- };
125
- case "innerJoin":
126
- case "fullJoin":
127
- return {
128
- ...query,
129
- entries: query.entries.map((e) => ({
130
- ...e,
131
- entry: hashDataQuery(e.entry),
132
- })),
133
- };
134
- case "outerJoin":
135
- return {
136
- ...query,
137
- primary: {
138
- ...query.primary,
139
- entry: hashDataQuery(query.primary.entry),
140
- },
141
- secondary: query.secondary.map((e) => ({
142
- ...e,
143
- entry: hashDataQuery(e.entry),
144
- })),
145
- };
146
- case "sliceAxes":
147
- return {
148
- ...query,
149
- input: hashDataQuery(query.input),
150
- };
151
- case "sort":
152
- return {
153
- ...query,
154
- input: hashDataQuery(query.input),
155
- };
156
- case "filter":
157
- return {
158
- ...query,
159
- input: hashDataQuery(query.input),
160
- };
161
- }
86
+ switch (query.type) {
87
+ case "column": return {
88
+ ...query,
89
+ column: hashColumnId(query.column)
90
+ };
91
+ case "inlineColumn": return {
92
+ ...query,
93
+ spec: {
94
+ ...query.spec,
95
+ id: hashColumnId(query.spec.id)
96
+ }
97
+ };
98
+ case "sparseToDenseColumn": return {
99
+ ...query,
100
+ column: hashColumnId(query.column),
101
+ ...query.specOverride ? { specOverride: {
102
+ ...query.specOverride,
103
+ id: hashColumnId(query.specOverride.id)
104
+ } } : {}
105
+ };
106
+ case "innerJoin":
107
+ case "fullJoin": return {
108
+ ...query,
109
+ entries: query.entries.map((e) => ({
110
+ ...e,
111
+ entry: hashDataQuery(e.entry)
112
+ }))
113
+ };
114
+ case "outerJoin": return {
115
+ ...query,
116
+ primary: {
117
+ ...query.primary,
118
+ entry: hashDataQuery(query.primary.entry)
119
+ },
120
+ secondary: query.secondary.map((e) => ({
121
+ ...e,
122
+ entry: hashDataQuery(e.entry)
123
+ }))
124
+ };
125
+ case "sliceAxes": return {
126
+ ...query,
127
+ input: hashDataQuery(query.input)
128
+ };
129
+ case "sort": return {
130
+ ...query,
131
+ input: hashDataQuery(query.input)
132
+ };
133
+ case "filter": return {
134
+ ...query,
135
+ input: hashDataQuery(query.input)
136
+ };
137
+ }
162
138
  }
163
139
  function hashCreateTableV2RequestColumnId(request) {
164
- return {
165
- ...request,
166
- tableSpec: request.tableSpec.map(hashTableColumnSpec),
167
- dataQuery: hashDataQuery(request.dataQuery),
168
- };
140
+ return {
141
+ ...request,
142
+ tableSpec: request.tableSpec.map(hashTableColumnSpec),
143
+ dataQuery: hashDataQuery(request.dataQuery)
144
+ };
169
145
  }
170
146
  async function dump(relativePath, data, logger) {
171
- if (!process.env.MI_DUMP_PFRAMES_RS)
172
- return;
173
- try {
174
- const relativeUri = relativePath.map((part) => encodeURIComponent(part));
175
- const fileDir = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));
176
- await promises.mkdir(fileDir, { recursive: true });
177
- const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);
178
- const fileData = ArrayBuffer.isView(data) ? data : JSON.stringify(data, null, 2);
179
- await promises.writeFile(filePath, fileData, { flag: "wx" });
180
- }
181
- catch (error) {
182
- logger?.("warn", `error while dumping PFrames data: ${error}`);
183
- }
147
+ if (!process.env.MI_DUMP_PFRAMES_RS) return;
148
+ try {
149
+ const relativeUri = relativePath.map((part) => encodeURIComponent(part));
150
+ const fileDir = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri.slice(0, -1));
151
+ await promises.mkdir(fileDir, { recursive: true });
152
+ const filePath = join(process.env.MI_DUMP_PFRAMES_RS, ...relativeUri);
153
+ const fileData = ArrayBuffer.isView(data) ? data : JSON.stringify(data, null, 2);
154
+ await promises.writeFile(filePath, fileData, { flag: "wx" });
155
+ } catch (error) {
156
+ logger?.("warn", `error while dumping PFrames data: ${error}`);
157
+ }
184
158
  }
185
-
159
+ //#endregion
186
160
  export { dump, hashColumnId, hashCreateTableRequestColumnId, hashCreateTableV2RequestColumnId, hashFilterColumnId, hashSortingColumnId, hashTableColumnId, hashUniqueValuesRequestColumnId };
187
- //# sourceMappingURL=dump.js.map
161
+
162
+ //# sourceMappingURL=dump.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dump.js","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"],"names":["fs"],"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 \"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,15 +1,14 @@
1
- 'use strict';
2
-
3
- var wrapper = require('./wrapper.cjs');
4
-
1
+ const require_wrapper = require("./wrapper.cjs");
2
+ //#region export/export.ts
5
3
  const PFrameFactory = {
6
- createPFrame: (options) => {
7
- return new wrapper.PFrame(options);
8
- },
9
- pprofDump: async () => {
10
- return await wrapper.pprofDump();
11
- },
4
+ createPFrame: (options) => {
5
+ return new require_wrapper.PFrame(options);
6
+ },
7
+ pprofDump: async () => {
8
+ return await require_wrapper.pprofDump();
9
+ }
12
10
  };
13
-
11
+ //#endregion
14
12
  exports.PFrameFactory = PFrameFactory;
15
- //# sourceMappingURL=export.cjs.map
13
+
14
+ //# sourceMappingURL=export.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.cjs","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { PFrame, pprofDump } from \"./wrapper\";\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (options: PFrameInternal.PFrameOptionsV2): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n },\n};\n"],"names":["PFrame","pprofDump"],"mappings":";;;;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CAAC,OAAuC,KAA8B;AAClF,QAAA,OAAO,IAAIA,cAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAMC,iBAAS,EAAE;IAC1B,CAAC;;;;;"}
1
+ {"version":3,"file":"export.cjs","names":["PFrame","pprofDump"],"sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { PFrame, pprofDump } from \"./wrapper\";\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (options: PFrameInternal.PFrameOptionsV2): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n },\n};\n"],"mappings":";;AAGA,MAAa,gBAAgD;CAC3D,eAAe,YAAsE;AACnF,SAAO,IAAIA,gBAAAA,OAAO,QAAQ;;CAE5B,WAAW,YAAiC;AAC1C,SAAO,MAAMC,gBAAAA,WAAW;;CAE3B"}
@@ -1,3 +1,7 @@
1
- import type { PFrameInternal } from "@milaboratories/pl-model-middle-layer";
2
- export declare const PFrameFactory: PFrameInternal.PFrameFactoryV4;
1
+ import { PFrameInternal } from "@milaboratories/pl-model-middle-layer";
2
+
3
+ //#region export/export.d.ts
4
+ declare const PFrameFactory: PFrameInternal.PFrameFactoryV4;
5
+ //#endregion
6
+ export { PFrameFactory };
3
7
  //# sourceMappingURL=export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../export/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAG5E,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,eAO1C,CAAC"}
1
+ {"version":3,"file":"export.d.ts","names":[],"sources":["../export/export.ts"],"mappings":";;;cAGa,aAAA,EAAe,cAAA,CAAe,eAAA"}
@@ -1,13 +1,14 @@
1
- import { pprofDump, PFrame } from './wrapper.js';
2
-
1
+ import { PFrame, pprofDump } from "./wrapper.js";
2
+ //#region export/export.ts
3
3
  const PFrameFactory = {
4
- createPFrame: (options) => {
5
- return new PFrame(options);
6
- },
7
- pprofDump: async () => {
8
- return await pprofDump();
9
- },
4
+ createPFrame: (options) => {
5
+ return new PFrame(options);
6
+ },
7
+ pprofDump: async () => {
8
+ return await pprofDump();
9
+ }
10
10
  };
11
-
11
+ //#endregion
12
12
  export { PFrameFactory };
13
- //# sourceMappingURL=export.js.map
13
+
14
+ //# sourceMappingURL=export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { PFrame, pprofDump } from \"./wrapper\";\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (options: PFrameInternal.PFrameOptionsV2): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n },\n};\n"],"names":[],"mappings":";;AAGO,MAAM,aAAa,GAAmC;AAC3D,IAAA,YAAY,EAAE,CAAC,OAAuC,KAA8B;AAClF,QAAA,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,SAAS,EAAE,YAAgC;QACzC,OAAO,MAAM,SAAS,EAAE;IAC1B,CAAC;;;;;"}
1
+ {"version":3,"file":"export.js","names":[],"sources":["../export/export.ts"],"sourcesContent":["import type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { PFrame, pprofDump } from \"./wrapper\";\n\nexport const PFrameFactory: PFrameInternal.PFrameFactoryV4 = {\n createPFrame: (options: PFrameInternal.PFrameOptionsV2): PFrameInternal.PFrameV13 => {\n return new PFrame(options);\n },\n pprofDump: async (): Promise<Uint8Array> => {\n return await pprofDump();\n },\n};\n"],"mappings":";;AAGA,MAAa,gBAAgD;CAC3D,eAAe,YAAsE;AACnF,SAAO,IAAI,OAAO,QAAQ;;CAE5B,WAAW,YAAiC;AAC1C,SAAO,MAAM,WAAW;;CAE3B"}
@@ -1,13 +1,11 @@
1
- 'use strict';
2
-
3
- var _export = require('./export.cjs');
4
- var pframesRsServ = require('@milaboratories/pframes-rs-serv');
5
-
6
-
7
-
8
- exports.PFrameFactory = _export.PFrameFactory;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("./_virtual/_rolldown/runtime.cjs");
3
+ const require_export = require("./export.cjs");
4
+ let _milaboratories_pframes_rs_serv = require("@milaboratories/pframes-rs-serv");
9
5
  Object.defineProperty(exports, "HttpHelpers", {
10
6
  enumerable: true,
11
- get: function () { return pframesRsServ.HttpHelpers; }
7
+ get: function() {
8
+ return _milaboratories_pframes_rs_serv.HttpHelpers;
9
+ }
12
10
  });
13
- //# sourceMappingURL=index.cjs.map
11
+ exports.PFrameFactory = require_export.PFrameFactory;
@@ -1,3 +1,3 @@
1
- export { PFrameFactory } from "./export";
2
- export { HttpHelpers } from "@milaboratories/pframes-rs-serv";
3
- //# sourceMappingURL=index.d.ts.map
1
+ import { PFrameFactory } from "./export.js";
2
+ import { HttpHelpers } from "@milaboratories/pframes-rs-serv";
3
+ export { HttpHelpers, PFrameFactory };
@@ -1,3 +1,3 @@
1
- export { PFrameFactory } from './export.js';
2
- export { HttpHelpers } from '@milaboratories/pframes-rs-serv';
3
- //# sourceMappingURL=index.js.map
1
+ import { PFrameFactory } from "./export.js";
2
+ import { HttpHelpers } from "@milaboratories/pframes-rs-serv";
3
+ export { HttpHelpers, PFrameFactory };