@milaboratories/pl-middle-layer 1.37.3 → 1.37.4
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/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/dist/pool/driver.d.ts +10 -1
- package/dist/pool/driver.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/pool/driver.ts +21 -5
package/dist/pool/driver.d.ts
CHANGED
|
@@ -16,6 +16,15 @@ export interface InternalPFrameDriver extends SdkPFrameDriver {
|
|
|
16
16
|
calculateTableData(handle: PFrameHandle, request: CalculateTableDataRequest<PObjectId>, signal?: AbortSignal): Promise<CalculateTableDataResponse>;
|
|
17
17
|
/** Calculate set of unique values for a specific axis for the filtered set of records */
|
|
18
18
|
getUniqueValues(handle: PFrameHandle, request: UniqueValuesRequest, signal?: AbortSignal): Promise<UniqueValuesResponse>;
|
|
19
|
+
/**
|
|
20
|
+
* Retrieve the data from the table. To retrieve only data required, it can be
|
|
21
|
+
* sliced both horizontally ({@link columnIndices}) and vertically
|
|
22
|
+
* ({@link range}).
|
|
23
|
+
*
|
|
24
|
+
* @param columnIndices unified indices of columns to be retrieved
|
|
25
|
+
* @param range optionally limit the range of records to retrieve
|
|
26
|
+
* */
|
|
27
|
+
getData(handle: PTableHandle, columnIndices: number[], range: TableRange | undefined, signal?: AbortSignal): Promise<PTableVector[]>;
|
|
19
28
|
}
|
|
20
29
|
export declare class PFrameDriver implements InternalPFrameDriver {
|
|
21
30
|
private readonly blobDriver;
|
|
@@ -35,6 +44,6 @@ export declare class PFrameDriver implements InternalPFrameDriver {
|
|
|
35
44
|
getUniqueValues(handle: PFrameHandle, request: UniqueValuesRequest, signal?: AbortSignal): Promise<UniqueValuesResponse>;
|
|
36
45
|
getShape(handle: PTableHandle): Promise<PTableShape>;
|
|
37
46
|
getSpec(handle: PTableHandle): Promise<PTableColumnSpec[]>;
|
|
38
|
-
getData(handle: PTableHandle, columnIndices: number[], range?:
|
|
47
|
+
getData(handle: PTableHandle, columnIndices: number[], range: TableRange | undefined, signal?: AbortSignal): Promise<PTableVector[]>;
|
|
39
48
|
}
|
|
40
49
|
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/pool/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAgB,MAAM,yBAAyB,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAA2B,MAAM,4BAA4B,CAAC;AACzF,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EAEnB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,IAAI,eAAe,EAC/B,OAAO,EACP,SAAS,EAET,SAAS,EAIT,aAAa,EACb,QAAQ,EACT,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAmJ3D;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,0BAA0B;IAC1B,YAAY,CACV,GAAG,EAAE,SAAS,CAAC,kBAAkB,GAAG,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EACjF,GAAG,EAAE,aAAa,GACjB,YAAY,CAAC;IAEhB,0BAA0B;IAC1B,YAAY,CACV,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,kBAAkB,GAAG,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAC1F,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,YAAY,CAAC;IAEhB,mFAAmF;IACnF,kBAAkB,CAChB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAC7C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEvC,yFAAyF;IACzF,eAAe,CACb,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/pool/driver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/pl-middle-layer",
|
|
3
|
-
"version": "1.37.
|
|
3
|
+
"version": "1.37.4",
|
|
4
4
|
"description": "Pl Middle Layer",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.16.0"
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"keywords": [],
|
|
23
23
|
"license": "UNLICENSED",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@milaboratories/pframes-rs-node": "1.0.
|
|
25
|
+
"@milaboratories/pframes-rs-node": "1.0.31",
|
|
26
26
|
"canonicalize": "~2.1.0",
|
|
27
27
|
"denque": "^2.1.0",
|
|
28
28
|
"lru-cache": "^11.1.0",
|
|
@@ -32,22 +32,22 @@
|
|
|
32
32
|
"yaml": "^2.7.0",
|
|
33
33
|
"zod": "~3.23.8",
|
|
34
34
|
"remeda": "^2.21.2",
|
|
35
|
-
"@milaboratories/resolve-helper": "^1.1.0",
|
|
36
35
|
"@milaboratories/pl-http": "^1.1.2",
|
|
36
|
+
"@milaboratories/resolve-helper": "^1.1.0",
|
|
37
|
+
"@milaboratories/pl-drivers": "^1.5.50",
|
|
37
38
|
"@milaboratories/computable": "^2.4.7",
|
|
39
|
+
"@platforma-sdk/block-tools": "^2.5.44",
|
|
38
40
|
"@milaboratories/pl-client": "^2.9.0",
|
|
39
|
-
"@platforma-sdk/block-tools": "^2.5.43",
|
|
40
|
-
"@milaboratories/pl-drivers": "^1.5.50",
|
|
41
41
|
"@milaboratories/pl-model-common": "^1.14.0",
|
|
42
|
+
"@milaboratories/pl-model-middle-layer": "^1.7.29",
|
|
42
43
|
"@milaboratories/pl-model-backend": "^1.1.0",
|
|
43
|
-
"@milaboratories/pl-model-middle-layer": "^1.7.28",
|
|
44
44
|
"@platforma-sdk/model": "^1.30.3",
|
|
45
|
-
"@
|
|
45
|
+
"@milaboratories/ts-helpers": "^1.2.0",
|
|
46
46
|
"@milaboratories/pl-tree": "^1.6.0",
|
|
47
47
|
"@milaboratories/pl-config": "^1.4.9",
|
|
48
|
+
"@platforma-sdk/workflow-tengo": "4.2.0",
|
|
48
49
|
"@milaboratories/pl-deployments": "^2.1.2",
|
|
49
|
-
"@milaboratories/pl-errors": "^1.0.9"
|
|
50
|
-
"@milaboratories/ts-helpers": "^1.2.0"
|
|
50
|
+
"@milaboratories/pl-errors": "^1.0.9"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"semver": "^7.6.3",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"jest": "^29.7.0",
|
|
61
61
|
"@jest/globals": "^29.7.0",
|
|
62
62
|
"ts-jest": "^29.2.6",
|
|
63
|
-
"@milaboratories/
|
|
64
|
-
"@milaboratories/
|
|
63
|
+
"@milaboratories/eslint-config": "^1.0.4",
|
|
64
|
+
"@milaboratories/platforma-build-configs": "1.0.3"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"type-check": "tsc --noEmit --composite false",
|
package/src/pool/driver.ts
CHANGED
|
@@ -84,7 +84,7 @@ function migrateFilters(filters: PTableRecordFilter[]): PTableRecordFilter[] {
|
|
|
84
84
|
const bigintReplacer = (_: string, v: unknown) => (typeof v === 'bigint' ? v.toString() : v);
|
|
85
85
|
|
|
86
86
|
class PFrameHolder implements PFrameInternal.PFrameDataSource, Disposable {
|
|
87
|
-
public readonly pFrame: PFrameInternal.
|
|
87
|
+
public readonly pFrame: PFrameInternal.PFrameV5;
|
|
88
88
|
private readonly blobIdToResource = new Map<string, ResourceInfo>();
|
|
89
89
|
private readonly blobHandleComputables = new Map<
|
|
90
90
|
string,
|
|
@@ -174,7 +174,7 @@ class PFrameHolder implements PFrameInternal.PFrameDataSource, Disposable {
|
|
|
174
174
|
|
|
175
175
|
class PTableHolder implements Disposable {
|
|
176
176
|
constructor(
|
|
177
|
-
public readonly table: Promise<PFrameInternal.
|
|
177
|
+
public readonly table: Promise<PFrameInternal.PTableV4>,
|
|
178
178
|
) {}
|
|
179
179
|
|
|
180
180
|
[Symbol.dispose](): void {
|
|
@@ -219,6 +219,21 @@ export interface InternalPFrameDriver extends SdkPFrameDriver {
|
|
|
219
219
|
request: UniqueValuesRequest,
|
|
220
220
|
signal?: AbortSignal
|
|
221
221
|
): Promise<UniqueValuesResponse>;
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Retrieve the data from the table. To retrieve only data required, it can be
|
|
225
|
+
* sliced both horizontally ({@link columnIndices}) and vertically
|
|
226
|
+
* ({@link range}).
|
|
227
|
+
*
|
|
228
|
+
* @param columnIndices unified indices of columns to be retrieved
|
|
229
|
+
* @param range optionally limit the range of records to retrieve
|
|
230
|
+
* */
|
|
231
|
+
getData(
|
|
232
|
+
handle: PTableHandle,
|
|
233
|
+
columnIndices: number[],
|
|
234
|
+
range: TableRange | undefined,
|
|
235
|
+
signal?: AbortSignal,
|
|
236
|
+
): Promise<PTableVector[]>;
|
|
222
237
|
}
|
|
223
238
|
|
|
224
239
|
export class PFrameDriver implements InternalPFrameDriver {
|
|
@@ -421,7 +436,7 @@ export class PFrameDriver implements InternalPFrameDriver {
|
|
|
421
436
|
}).then(async (table) => {
|
|
422
437
|
try {
|
|
423
438
|
const spec = table.getSpec();
|
|
424
|
-
const data = await this.concurrencyLimiter.run(async () => await table.getData([...spec.keys()]));
|
|
439
|
+
const data = await this.concurrencyLimiter.run(async () => await table.getData([...spec.keys()], undefined, signal));
|
|
425
440
|
return spec.map((spec, i) => ({
|
|
426
441
|
spec: spec,
|
|
427
442
|
data: data[i],
|
|
@@ -467,10 +482,11 @@ export class PFrameDriver implements InternalPFrameDriver {
|
|
|
467
482
|
public async getData(
|
|
468
483
|
handle: PTableHandle,
|
|
469
484
|
columnIndices: number[],
|
|
470
|
-
range
|
|
485
|
+
range: TableRange | undefined,
|
|
486
|
+
signal?: AbortSignal,
|
|
471
487
|
): Promise<PTableVector[]> {
|
|
472
488
|
const pTable = await this.pTables.getByKey(handle).table;
|
|
473
|
-
return await this.concurrencyLimiter.run(async () => await pTable.getData(columnIndices, range));
|
|
489
|
+
return await this.concurrencyLimiter.run(async () => await pTable.getData(columnIndices, range, signal));
|
|
474
490
|
}
|
|
475
491
|
}
|
|
476
492
|
|