@milaboratories/pf-driver 1.0.60 → 1.0.62
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/_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.cjs +59 -0
- package/dist/_virtual/_@oxc-project_runtime@0.114.0/helpers/usingCtx.js +58 -0
- package/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/data_info_helpers.cjs +20 -19
- package/dist/data_info_helpers.cjs.map +1 -1
- package/dist/data_info_helpers.d.ts +6 -2
- package/dist/data_info_helpers.js +19 -17
- package/dist/data_info_helpers.js.map +1 -1
- package/dist/driver_decl.d.ts +38 -34
- package/dist/driver_double.cjs +98 -97
- package/dist/driver_double.cjs.map +1 -1
- package/dist/driver_double.d.ts +17 -10
- package/dist/driver_double.js +95 -95
- package/dist/driver_double.js.map +1 -1
- package/dist/driver_impl.cjs +233 -296
- package/dist/driver_impl.cjs.map +1 -1
- package/dist/driver_impl.d.ts +59 -52
- package/dist/driver_impl.js +232 -294
- package/dist/driver_impl.js.map +1 -1
- package/dist/index.cjs +10 -14
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -4
- package/dist/logging.cjs +4 -3
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.js +4 -2
- package/dist/logging.js.map +1 -1
- package/dist/pframe_pool.cjs +177 -196
- package/dist/pframe_pool.cjs.map +1 -1
- package/dist/pframe_pool.d.ts +12 -31
- package/dist/pframe_pool.js +177 -194
- package/dist/pframe_pool.js.map +1 -1
- package/dist/ptable_cache_per_frame.cjs +52 -63
- package/dist/ptable_cache_per_frame.cjs.map +1 -1
- package/dist/ptable_cache_per_frame.d.ts +16 -23
- package/dist/ptable_cache_per_frame.js +51 -61
- package/dist/ptable_cache_per_frame.js.map +1 -1
- package/dist/ptable_cache_plain.cjs +41 -49
- package/dist/ptable_cache_plain.cjs.map +1 -1
- package/dist/ptable_cache_plain.d.ts +15 -19
- package/dist/ptable_cache_plain.js +40 -47
- package/dist/ptable_cache_plain.js.map +1 -1
- package/dist/ptable_def_pool.cjs +45 -53
- package/dist/ptable_def_pool.cjs.map +1 -1
- package/dist/ptable_def_pool.d.ts +3 -20
- package/dist/ptable_def_pool.js +45 -51
- package/dist/ptable_def_pool.js.map +1 -1
- package/dist/ptable_pool.cjs +145 -185
- package/dist/ptable_pool.cjs.map +1 -1
- package/dist/ptable_pool.d.ts +6 -28
- package/dist/ptable_pool.js +145 -183
- package/dist/ptable_pool.js.map +1 -1
- package/dist/ptable_shared.cjs +6 -5
- package/dist/ptable_shared.cjs.map +1 -1
- package/dist/ptable_shared.d.ts +1 -17
- package/dist/ptable_shared.js +5 -3
- package/dist/ptable_shared.js.map +1 -1
- package/package.json +5 -5
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs +0 -77
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs.map +0 -1
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js +0 -74
- package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js.map +0 -1
- package/dist/data_info_helpers.d.ts.map +0 -1
- package/dist/driver_decl.d.ts.map +0 -1
- package/dist/driver_double.d.ts.map +0 -1
- package/dist/driver_double.test.d.ts +0 -2
- package/dist/driver_double.test.d.ts.map +0 -1
- package/dist/driver_impl.d.ts.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logging.d.ts +0 -2
- package/dist/logging.d.ts.map +0 -1
- package/dist/pframe_pool.d.ts.map +0 -1
- package/dist/ptable_cache_per_frame.d.ts.map +0 -1
- package/dist/ptable_cache_plain.d.ts.map +0 -1
- package/dist/ptable_def_pool.d.ts.map +0 -1
- package/dist/ptable_pool.d.ts.map +0 -1
- package/dist/ptable_shared.d.ts.map +0 -1
package/dist/ptable_def_pool.cjs
CHANGED
|
@@ -1,56 +1,48 @@
|
|
|
1
|
-
|
|
1
|
+
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_logging = require('./logging.cjs');
|
|
3
|
+
const require_ptable_shared = require('./ptable_shared.cjs');
|
|
4
|
+
let _platforma_sdk_model = require("@platforma-sdk/model");
|
|
5
|
+
let _milaboratories_ts_helpers = require("@milaboratories/ts-helpers");
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
//#region src/ptable_def_pool.ts
|
|
8
|
+
var PTableDefHolder = class {
|
|
9
|
+
abortController = new AbortController();
|
|
10
|
+
constructor(def, pTableHandle, logger) {
|
|
11
|
+
this.def = def;
|
|
12
|
+
this.pTableHandle = pTableHandle;
|
|
13
|
+
this.logger = logger;
|
|
14
|
+
if (require_logging.logPFrames()) this.logger("info", `PTable definition saved (pTableHandle = ${this.pTableHandle})`);
|
|
15
|
+
}
|
|
16
|
+
get disposeSignal() {
|
|
17
|
+
return this.abortController.signal;
|
|
18
|
+
}
|
|
19
|
+
[Symbol.dispose]() {
|
|
20
|
+
this.abortController.abort();
|
|
21
|
+
if (require_logging.logPFrames()) this.logger("info", `PTable definition disposed (pTableHandle = ${this.pTableHandle})`);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var PTableDefPool = class extends _milaboratories_ts_helpers.RefCountPoolBase {
|
|
25
|
+
constructor(logger) {
|
|
26
|
+
super();
|
|
27
|
+
this.logger = logger;
|
|
28
|
+
}
|
|
29
|
+
calculateParamsKey(params) {
|
|
30
|
+
return require_ptable_shared.stableKeyFromFullPTableDef(params);
|
|
31
|
+
}
|
|
32
|
+
createNewResource(params, key) {
|
|
33
|
+
return new PTableDefHolder(params, key, this.logger);
|
|
34
|
+
}
|
|
35
|
+
getByKey(key) {
|
|
36
|
+
const resource = super.tryGetByKey(key);
|
|
37
|
+
if (!resource) {
|
|
38
|
+
const error = new _platforma_sdk_model.PFrameDriverError(`Invalid PTable handle`);
|
|
39
|
+
error.cause = /* @__PURE__ */ new Error(`PTable definition for handle ${key} not found`);
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
return resource;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
7
45
|
|
|
8
|
-
|
|
9
|
-
def;
|
|
10
|
-
pTableHandle;
|
|
11
|
-
logger;
|
|
12
|
-
abortController = new AbortController();
|
|
13
|
-
constructor(def, pTableHandle, logger) {
|
|
14
|
-
this.def = def;
|
|
15
|
-
this.pTableHandle = pTableHandle;
|
|
16
|
-
this.logger = logger;
|
|
17
|
-
if (logging.logPFrames()) {
|
|
18
|
-
this.logger("info", `PTable definition saved (pTableHandle = ${this.pTableHandle})`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
get disposeSignal() {
|
|
22
|
-
return this.abortController.signal;
|
|
23
|
-
}
|
|
24
|
-
[Symbol.dispose]() {
|
|
25
|
-
this.abortController.abort();
|
|
26
|
-
if (logging.logPFrames()) {
|
|
27
|
-
this.logger("info", `PTable definition disposed (pTableHandle = ${this.pTableHandle})`);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
class PTableDefPool extends tsHelpers.RefCountPoolBase {
|
|
32
|
-
logger;
|
|
33
|
-
constructor(logger) {
|
|
34
|
-
super();
|
|
35
|
-
this.logger = logger;
|
|
36
|
-
}
|
|
37
|
-
calculateParamsKey(params) {
|
|
38
|
-
return ptable_shared.stableKeyFromFullPTableDef(params);
|
|
39
|
-
}
|
|
40
|
-
createNewResource(params, key) {
|
|
41
|
-
return new PTableDefHolder(params, key, this.logger);
|
|
42
|
-
}
|
|
43
|
-
getByKey(key) {
|
|
44
|
-
const resource = super.tryGetByKey(key);
|
|
45
|
-
if (!resource) {
|
|
46
|
-
const error = new model.PFrameDriverError(`Invalid PTable handle`);
|
|
47
|
-
error.cause = new Error(`PTable definition for handle ${key} not found`);
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
return resource;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
exports.PTableDefHolder = PTableDefHolder;
|
|
46
|
+
//#endregion
|
|
55
47
|
exports.PTableDefPool = PTableDefPool;
|
|
56
|
-
//# sourceMappingURL=ptable_def_pool.cjs.map
|
|
48
|
+
//# sourceMappingURL=ptable_def_pool.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ptable_def_pool.cjs","sources":["../src/ptable_def_pool.ts"],"sourcesContent":["import { PFrameDriverError, type PTableHandle } from \"@platforma-sdk/model\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { RefCountPoolBase } from \"@milaboratories/ts-helpers\";\nimport { logPFrames } from \"./logging\";\nimport type { FullPTableDef } from \"./ptable_shared\";\nimport { stableKeyFromFullPTableDef } from \"./ptable_shared\";\n\nexport class PTableDefHolder implements Disposable {\n private readonly abortController = new AbortController();\n\n constructor(\n public readonly def: FullPTableDef,\n private readonly pTableHandle: PTableHandle,\n private readonly logger: PFrameInternal.Logger,\n ) {\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition saved (pTableHandle = ${this.pTableHandle})`);\n }\n }\n\n public get disposeSignal(): AbortSignal {\n return this.abortController.signal;\n }\n\n [Symbol.dispose](): void {\n this.abortController.abort();\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition disposed (pTableHandle = ${this.pTableHandle})`);\n }\n }\n}\n\nexport class PTableDefPool extends RefCountPoolBase<FullPTableDef, PTableHandle, PTableDefHolder> {\n constructor(private readonly logger: PFrameInternal.Logger) {\n super();\n }\n\n protected calculateParamsKey(params: FullPTableDef): PTableHandle {\n return stableKeyFromFullPTableDef(params);\n }\n\n protected createNewResource(params: FullPTableDef, key: PTableHandle): PTableDefHolder {\n return new PTableDefHolder(params, key, this.logger);\n }\n\n public getByKey(key: PTableHandle): PTableDefHolder {\n const resource = super.tryGetByKey(key);\n if (!resource) {\n const error = new PFrameDriverError(`Invalid PTable handle`);\n error.cause = new Error(`PTable definition for handle ${key} not found`);\n throw error;\n }\n return resource;\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"ptable_def_pool.cjs","names":["logPFrames","RefCountPoolBase","stableKeyFromFullPTableDef","PFrameDriverError"],"sources":["../src/ptable_def_pool.ts"],"sourcesContent":["import { PFrameDriverError, type PTableHandle } from \"@platforma-sdk/model\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { RefCountPoolBase } from \"@milaboratories/ts-helpers\";\nimport { logPFrames } from \"./logging\";\nimport type { FullPTableDef } from \"./ptable_shared\";\nimport { stableKeyFromFullPTableDef } from \"./ptable_shared\";\n\nexport class PTableDefHolder implements Disposable {\n private readonly abortController = new AbortController();\n\n constructor(\n public readonly def: FullPTableDef,\n private readonly pTableHandle: PTableHandle,\n private readonly logger: PFrameInternal.Logger,\n ) {\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition saved (pTableHandle = ${this.pTableHandle})`);\n }\n }\n\n public get disposeSignal(): AbortSignal {\n return this.abortController.signal;\n }\n\n [Symbol.dispose](): void {\n this.abortController.abort();\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition disposed (pTableHandle = ${this.pTableHandle})`);\n }\n }\n}\n\nexport class PTableDefPool extends RefCountPoolBase<FullPTableDef, PTableHandle, PTableDefHolder> {\n constructor(private readonly logger: PFrameInternal.Logger) {\n super();\n }\n\n protected calculateParamsKey(params: FullPTableDef): PTableHandle {\n return stableKeyFromFullPTableDef(params);\n }\n\n protected createNewResource(params: FullPTableDef, key: PTableHandle): PTableDefHolder {\n return new PTableDefHolder(params, key, this.logger);\n }\n\n public getByKey(key: PTableHandle): PTableDefHolder {\n const resource = super.tryGetByKey(key);\n if (!resource) {\n const error = new PFrameDriverError(`Invalid PTable handle`);\n error.cause = new Error(`PTable definition for handle ${key} not found`);\n throw error;\n }\n return resource;\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,kBAAb,MAAmD;CACjD,AAAiB,kBAAkB,IAAI,iBAAiB;CAExD,YACE,AAAgB,KAChB,AAAiB,cACjB,AAAiB,QACjB;EAHgB;EACC;EACA;AAEjB,MAAIA,4BAAY,CACd,MAAK,OAAO,QAAQ,2CAA2C,KAAK,aAAa,GAAG;;CAIxF,IAAW,gBAA6B;AACtC,SAAO,KAAK,gBAAgB;;CAG9B,CAAC,OAAO,WAAiB;AACvB,OAAK,gBAAgB,OAAO;AAC5B,MAAIA,4BAAY,CACd,MAAK,OAAO,QAAQ,8CAA8C,KAAK,aAAa,GAAG;;;AAK7F,IAAa,gBAAb,cAAmCC,4CAA+D;CAChG,YAAY,AAAiB,QAA+B;AAC1D,SAAO;EADoB;;CAI7B,AAAU,mBAAmB,QAAqC;AAChE,SAAOC,iDAA2B,OAAO;;CAG3C,AAAU,kBAAkB,QAAuB,KAAoC;AACrF,SAAO,IAAI,gBAAgB,QAAQ,KAAK,KAAK,OAAO;;CAGtD,AAAO,SAAS,KAAoC;EAClD,MAAM,WAAW,MAAM,YAAY,IAAI;AACvC,MAAI,CAAC,UAAU;GACb,MAAM,QAAQ,IAAIC,uCAAkB,wBAAwB;AAC5D,SAAM,wBAAQ,IAAI,MAAM,gCAAgC,IAAI,YAAY;AACxE,SAAM;;AAER,SAAO"}
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import "./ptable_shared.js";
|
|
2
|
+
import { PTableHandle } from "@platforma-sdk/model";
|
|
3
3
|
import { RefCountPoolBase } from "@milaboratories/ts-helpers";
|
|
4
|
-
import
|
|
5
|
-
export declare class PTableDefHolder implements Disposable {
|
|
6
|
-
readonly def: FullPTableDef;
|
|
7
|
-
private readonly pTableHandle;
|
|
8
|
-
private readonly logger;
|
|
9
|
-
private readonly abortController;
|
|
10
|
-
constructor(def: FullPTableDef, pTableHandle: PTableHandle, logger: PFrameInternal.Logger);
|
|
11
|
-
get disposeSignal(): AbortSignal;
|
|
12
|
-
[Symbol.dispose](): void;
|
|
13
|
-
}
|
|
14
|
-
export declare class PTableDefPool extends RefCountPoolBase<FullPTableDef, PTableHandle, PTableDefHolder> {
|
|
15
|
-
private readonly logger;
|
|
16
|
-
constructor(logger: PFrameInternal.Logger);
|
|
17
|
-
protected calculateParamsKey(params: FullPTableDef): PTableHandle;
|
|
18
|
-
protected createNewResource(params: FullPTableDef, key: PTableHandle): PTableDefHolder;
|
|
19
|
-
getByKey(key: PTableHandle): PTableDefHolder;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=ptable_def_pool.d.ts.map
|
|
4
|
+
import { PFrameInternal } from "@milaboratories/pl-model-middle-layer";
|
package/dist/ptable_def_pool.js
CHANGED
|
@@ -1,53 +1,47 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { logPFrames } from "./logging.js";
|
|
2
|
+
import { stableKeyFromFullPTableDef } from "./ptable_shared.js";
|
|
3
|
+
import { PFrameDriverError } from "@platforma-sdk/model";
|
|
4
|
+
import { RefCountPoolBase } from "@milaboratories/ts-helpers";
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const error = new PFrameDriverError(`Invalid PTable handle`);
|
|
45
|
-
error.cause = new Error(`PTable definition for handle ${key} not found`);
|
|
46
|
-
throw error;
|
|
47
|
-
}
|
|
48
|
-
return resource;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
6
|
+
//#region src/ptable_def_pool.ts
|
|
7
|
+
var PTableDefHolder = class {
|
|
8
|
+
abortController = new AbortController();
|
|
9
|
+
constructor(def, pTableHandle, logger) {
|
|
10
|
+
this.def = def;
|
|
11
|
+
this.pTableHandle = pTableHandle;
|
|
12
|
+
this.logger = logger;
|
|
13
|
+
if (logPFrames()) this.logger("info", `PTable definition saved (pTableHandle = ${this.pTableHandle})`);
|
|
14
|
+
}
|
|
15
|
+
get disposeSignal() {
|
|
16
|
+
return this.abortController.signal;
|
|
17
|
+
}
|
|
18
|
+
[Symbol.dispose]() {
|
|
19
|
+
this.abortController.abort();
|
|
20
|
+
if (logPFrames()) this.logger("info", `PTable definition disposed (pTableHandle = ${this.pTableHandle})`);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var PTableDefPool = class extends RefCountPoolBase {
|
|
24
|
+
constructor(logger) {
|
|
25
|
+
super();
|
|
26
|
+
this.logger = logger;
|
|
27
|
+
}
|
|
28
|
+
calculateParamsKey(params) {
|
|
29
|
+
return stableKeyFromFullPTableDef(params);
|
|
30
|
+
}
|
|
31
|
+
createNewResource(params, key) {
|
|
32
|
+
return new PTableDefHolder(params, key, this.logger);
|
|
33
|
+
}
|
|
34
|
+
getByKey(key) {
|
|
35
|
+
const resource = super.tryGetByKey(key);
|
|
36
|
+
if (!resource) {
|
|
37
|
+
const error = new PFrameDriverError(`Invalid PTable handle`);
|
|
38
|
+
error.cause = /* @__PURE__ */ new Error(`PTable definition for handle ${key} not found`);
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
return resource;
|
|
42
|
+
}
|
|
43
|
+
};
|
|
51
44
|
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
//#endregion
|
|
46
|
+
export { PTableDefPool };
|
|
47
|
+
//# sourceMappingURL=ptable_def_pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ptable_def_pool.js","sources":["../src/ptable_def_pool.ts"],"sourcesContent":["import { PFrameDriverError, type PTableHandle } from \"@platforma-sdk/model\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { RefCountPoolBase } from \"@milaboratories/ts-helpers\";\nimport { logPFrames } from \"./logging\";\nimport type { FullPTableDef } from \"./ptable_shared\";\nimport { stableKeyFromFullPTableDef } from \"./ptable_shared\";\n\nexport class PTableDefHolder implements Disposable {\n private readonly abortController = new AbortController();\n\n constructor(\n public readonly def: FullPTableDef,\n private readonly pTableHandle: PTableHandle,\n private readonly logger: PFrameInternal.Logger,\n ) {\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition saved (pTableHandle = ${this.pTableHandle})`);\n }\n }\n\n public get disposeSignal(): AbortSignal {\n return this.abortController.signal;\n }\n\n [Symbol.dispose](): void {\n this.abortController.abort();\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition disposed (pTableHandle = ${this.pTableHandle})`);\n }\n }\n}\n\nexport class PTableDefPool extends RefCountPoolBase<FullPTableDef, PTableHandle, PTableDefHolder> {\n constructor(private readonly logger: PFrameInternal.Logger) {\n super();\n }\n\n protected calculateParamsKey(params: FullPTableDef): PTableHandle {\n return stableKeyFromFullPTableDef(params);\n }\n\n protected createNewResource(params: FullPTableDef, key: PTableHandle): PTableDefHolder {\n return new PTableDefHolder(params, key, this.logger);\n }\n\n public getByKey(key: PTableHandle): PTableDefHolder {\n const resource = super.tryGetByKey(key);\n if (!resource) {\n const error = new PFrameDriverError(`Invalid PTable handle`);\n error.cause = new Error(`PTable definition for handle ${key} not found`);\n throw error;\n }\n return resource;\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"ptable_def_pool.js","names":[],"sources":["../src/ptable_def_pool.ts"],"sourcesContent":["import { PFrameDriverError, type PTableHandle } from \"@platforma-sdk/model\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\nimport { RefCountPoolBase } from \"@milaboratories/ts-helpers\";\nimport { logPFrames } from \"./logging\";\nimport type { FullPTableDef } from \"./ptable_shared\";\nimport { stableKeyFromFullPTableDef } from \"./ptable_shared\";\n\nexport class PTableDefHolder implements Disposable {\n private readonly abortController = new AbortController();\n\n constructor(\n public readonly def: FullPTableDef,\n private readonly pTableHandle: PTableHandle,\n private readonly logger: PFrameInternal.Logger,\n ) {\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition saved (pTableHandle = ${this.pTableHandle})`);\n }\n }\n\n public get disposeSignal(): AbortSignal {\n return this.abortController.signal;\n }\n\n [Symbol.dispose](): void {\n this.abortController.abort();\n if (logPFrames()) {\n this.logger(\"info\", `PTable definition disposed (pTableHandle = ${this.pTableHandle})`);\n }\n }\n}\n\nexport class PTableDefPool extends RefCountPoolBase<FullPTableDef, PTableHandle, PTableDefHolder> {\n constructor(private readonly logger: PFrameInternal.Logger) {\n super();\n }\n\n protected calculateParamsKey(params: FullPTableDef): PTableHandle {\n return stableKeyFromFullPTableDef(params);\n }\n\n protected createNewResource(params: FullPTableDef, key: PTableHandle): PTableDefHolder {\n return new PTableDefHolder(params, key, this.logger);\n }\n\n public getByKey(key: PTableHandle): PTableDefHolder {\n const resource = super.tryGetByKey(key);\n if (!resource) {\n const error = new PFrameDriverError(`Invalid PTable handle`);\n error.cause = new Error(`PTable definition for handle ${key} not found`);\n throw error;\n }\n return resource;\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,kBAAb,MAAmD;CACjD,AAAiB,kBAAkB,IAAI,iBAAiB;CAExD,YACE,AAAgB,KAChB,AAAiB,cACjB,AAAiB,QACjB;EAHgB;EACC;EACA;AAEjB,MAAI,YAAY,CACd,MAAK,OAAO,QAAQ,2CAA2C,KAAK,aAAa,GAAG;;CAIxF,IAAW,gBAA6B;AACtC,SAAO,KAAK,gBAAgB;;CAG9B,CAAC,OAAO,WAAiB;AACvB,OAAK,gBAAgB,OAAO;AAC5B,MAAI,YAAY,CACd,MAAK,OAAO,QAAQ,8CAA8C,KAAK,aAAa,GAAG;;;AAK7F,IAAa,gBAAb,cAAmC,iBAA+D;CAChG,YAAY,AAAiB,QAA+B;AAC1D,SAAO;EADoB;;CAI7B,AAAU,mBAAmB,QAAqC;AAChE,SAAO,2BAA2B,OAAO;;CAG3C,AAAU,kBAAkB,QAAuB,KAAoC;AACrF,SAAO,IAAI,gBAAgB,QAAQ,KAAK,KAAK,OAAO;;CAGtD,AAAO,SAAS,KAAoC;EAClD,MAAM,WAAW,MAAM,YAAY,IAAI;AACvC,MAAI,CAAC,UAAU;GACb,MAAM,QAAQ,IAAI,kBAAkB,wBAAwB;AAC5D,SAAM,wBAAQ,IAAI,MAAM,gCAAgC,IAAI,YAAY;AACxE,SAAM;;AAER,SAAO"}
|
package/dist/ptable_pool.cjs
CHANGED
|
@@ -1,192 +1,152 @@
|
|
|
1
|
-
|
|
1
|
+
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_logging = require('./logging.cjs');
|
|
3
|
+
const require_ptable_shared = require('./ptable_shared.cjs');
|
|
4
|
+
let _platforma_sdk_model = require("@platforma-sdk/model");
|
|
5
|
+
let _milaboratories_ts_helpers = require("@milaboratories/ts-helpers");
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
},
|
|
89
|
-
});
|
|
90
|
-
const { resource: { pTablePromise }, } = predecessor;
|
|
91
|
-
const filteredTable = pTablePromise.then((pTable) => pTable.filter(key, def.filters));
|
|
92
|
-
return new PTableHolder(pFrameHandle, combinedSignal, filteredTable, predecessor);
|
|
93
|
-
}
|
|
94
|
-
// 1. Join
|
|
95
|
-
const table = pFramePromise.then((pFrame) => pFrame.createTable(key, {
|
|
96
|
-
src: joinEntryToInternal(def.src),
|
|
97
|
-
// `def.filters` would be non-empty only when join has artificial columns
|
|
98
|
-
filters: [...def.partitionFilters, ...def.filters],
|
|
99
|
-
}));
|
|
100
|
-
return new PTableHolder(pFrameHandle, combinedSignal, table);
|
|
101
|
-
}
|
|
102
|
-
createNewResourceV2(params, key) {
|
|
103
|
-
const { pFrameHandle } = params;
|
|
104
|
-
const { pFramePromise, disposeSignal } = this.pFrames.getByKey(pFrameHandle);
|
|
105
|
-
const defDisposeSignal = this.pTableDefs.tryGetByKey(key)?.disposeSignal;
|
|
106
|
-
const combinedSignal = AbortSignal.any([disposeSignal, defDisposeSignal].filter((s) => !!s));
|
|
107
|
-
const table = pFramePromise.then((pFrame) => pFrame.createTableV2(key, params.def));
|
|
108
|
-
return new PTableHolder(pFrameHandle, combinedSignal, table);
|
|
109
|
-
}
|
|
110
|
-
getByKey(key) {
|
|
111
|
-
const resource = super.tryGetByKey(key);
|
|
112
|
-
if (!resource) {
|
|
113
|
-
const error = new model.PFrameDriverError(`Invalid PTable handle`);
|
|
114
|
-
error.cause = new Error(`PTable with handle ${key} not found`);
|
|
115
|
-
throw error;
|
|
116
|
-
}
|
|
117
|
-
return resource;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
7
|
+
//#region src/ptable_pool.ts
|
|
8
|
+
var PTableHolder = class {
|
|
9
|
+
abortController = new AbortController();
|
|
10
|
+
combinedDisposeSignal;
|
|
11
|
+
constructor(pFrame, pFrameDisposeSignal, pTablePromise, predecessor) {
|
|
12
|
+
this.pFrame = pFrame;
|
|
13
|
+
this.pTablePromise = pTablePromise;
|
|
14
|
+
this.predecessor = predecessor;
|
|
15
|
+
this.combinedDisposeSignal = AbortSignal.any([pFrameDisposeSignal, this.abortController.signal]);
|
|
16
|
+
}
|
|
17
|
+
get disposeSignal() {
|
|
18
|
+
return this.combinedDisposeSignal;
|
|
19
|
+
}
|
|
20
|
+
[Symbol.dispose]() {
|
|
21
|
+
this.abortController.abort();
|
|
22
|
+
this.predecessor?.unref();
|
|
23
|
+
this.pTablePromise.then((pTable) => pTable.dispose()).catch(() => {});
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var PTablePool = class extends _milaboratories_ts_helpers.RefCountPoolBase {
|
|
27
|
+
constructor(pFrames, pTableDefs, logger) {
|
|
28
|
+
super();
|
|
29
|
+
this.pFrames = pFrames;
|
|
30
|
+
this.pTableDefs = pTableDefs;
|
|
31
|
+
this.logger = logger;
|
|
32
|
+
}
|
|
33
|
+
calculateParamsKey(params) {
|
|
34
|
+
return require_ptable_shared.stableKeyFromFullPTableDef(params);
|
|
35
|
+
}
|
|
36
|
+
createNewResource(params, key) {
|
|
37
|
+
if (require_logging.logPFrames()) this.logger("info", `PTable creation (pTableHandle = ${key}): ${JSON.stringify(params, _platforma_sdk_model.bigintReplacer)}`);
|
|
38
|
+
switch (params.type) {
|
|
39
|
+
case "v1": return this.createNewResourceV1(params, key);
|
|
40
|
+
case "v2": return this.createNewResourceV2(params, key);
|
|
41
|
+
default: throw new _platforma_sdk_model.PFrameDriverError(`Unsupported FullPTableDef type: ${params.type}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
createNewResourceV1(params, key) {
|
|
45
|
+
const { def, pFrameHandle } = params;
|
|
46
|
+
const { pFramePromise, disposeSignal } = this.pFrames.getByKey(pFrameHandle);
|
|
47
|
+
const defDisposeSignal = this.pTableDefs.tryGetByKey(key)?.disposeSignal;
|
|
48
|
+
const combinedSignal = AbortSignal.any([disposeSignal, defDisposeSignal].filter((s) => !!s));
|
|
49
|
+
if (def.sorting.length > 0) {
|
|
50
|
+
const predecessor = this.acquire({
|
|
51
|
+
...params,
|
|
52
|
+
def: {
|
|
53
|
+
...def,
|
|
54
|
+
sorting: []
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const { resource: { pTablePromise } } = predecessor;
|
|
58
|
+
return new PTableHolder(pFrameHandle, combinedSignal, pTablePromise.then((pTable) => pTable.sort(key, def.sorting)), predecessor);
|
|
59
|
+
}
|
|
60
|
+
if (!hasArtificialColumns(def.src) && def.filters.length > 0) {
|
|
61
|
+
const predecessor = this.acquire({
|
|
62
|
+
...params,
|
|
63
|
+
def: {
|
|
64
|
+
...def,
|
|
65
|
+
filters: []
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
const { resource: { pTablePromise } } = predecessor;
|
|
69
|
+
return new PTableHolder(pFrameHandle, combinedSignal, pTablePromise.then((pTable) => pTable.filter(key, def.filters)), predecessor);
|
|
70
|
+
}
|
|
71
|
+
return new PTableHolder(pFrameHandle, combinedSignal, pFramePromise.then((pFrame) => pFrame.createTable(key, {
|
|
72
|
+
src: joinEntryToInternal(def.src),
|
|
73
|
+
filters: [...def.partitionFilters, ...def.filters]
|
|
74
|
+
})));
|
|
75
|
+
}
|
|
76
|
+
createNewResourceV2(params, key) {
|
|
77
|
+
const { pFrameHandle } = params;
|
|
78
|
+
const { pFramePromise, disposeSignal } = this.pFrames.getByKey(pFrameHandle);
|
|
79
|
+
const defDisposeSignal = this.pTableDefs.tryGetByKey(key)?.disposeSignal;
|
|
80
|
+
return new PTableHolder(pFrameHandle, AbortSignal.any([disposeSignal, defDisposeSignal].filter((s) => !!s)), pFramePromise.then((pFrame) => pFrame.createTableV2(key, params.def)));
|
|
81
|
+
}
|
|
82
|
+
getByKey(key) {
|
|
83
|
+
const resource = super.tryGetByKey(key);
|
|
84
|
+
if (!resource) {
|
|
85
|
+
const error = new _platforma_sdk_model.PFrameDriverError(`Invalid PTable handle`);
|
|
86
|
+
error.cause = /* @__PURE__ */ new Error(`PTable with handle ${key} not found`);
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
return resource;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
120
92
|
function hasArtificialColumns(entry) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
case "outer":
|
|
132
|
-
return hasArtificialColumns(entry.primary) || entry.secondary.some(hasArtificialColumns);
|
|
133
|
-
default:
|
|
134
|
-
model.assertNever(entry);
|
|
135
|
-
}
|
|
93
|
+
switch (entry.type) {
|
|
94
|
+
case "column":
|
|
95
|
+
case "slicedColumn":
|
|
96
|
+
case "inlineColumn": return false;
|
|
97
|
+
case "artificialColumn": return true;
|
|
98
|
+
case "full":
|
|
99
|
+
case "inner": return entry.entries.some(hasArtificialColumns);
|
|
100
|
+
case "outer": return hasArtificialColumns(entry.primary) || entry.secondary.some(hasArtificialColumns);
|
|
101
|
+
default: (0, _platforma_sdk_model.assertNever)(entry);
|
|
102
|
+
}
|
|
136
103
|
}
|
|
137
104
|
function joinEntryToInternal(entry) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
type: "outer",
|
|
182
|
-
primary: joinEntryToInternal(entry.primary),
|
|
183
|
-
secondary: entry.secondary.map((col) => joinEntryToInternal(col)),
|
|
184
|
-
};
|
|
185
|
-
default:
|
|
186
|
-
throw new model.PFrameDriverError(`unsupported PFrame join entry type: ${type}`);
|
|
187
|
-
}
|
|
105
|
+
const type = entry.type;
|
|
106
|
+
switch (type) {
|
|
107
|
+
case "column": return {
|
|
108
|
+
type: "column",
|
|
109
|
+
columnId: entry.column
|
|
110
|
+
};
|
|
111
|
+
case "slicedColumn": return {
|
|
112
|
+
type: "slicedColumn",
|
|
113
|
+
columnId: entry.column,
|
|
114
|
+
newId: entry.newId,
|
|
115
|
+
axisFilters: entry.axisFilters
|
|
116
|
+
};
|
|
117
|
+
case "artificialColumn": return {
|
|
118
|
+
type: "artificialColumn",
|
|
119
|
+
columnId: entry.column,
|
|
120
|
+
newId: entry.newId,
|
|
121
|
+
axesIndices: entry.axesIndices
|
|
122
|
+
};
|
|
123
|
+
case "inlineColumn": return {
|
|
124
|
+
type: "inlineColumn",
|
|
125
|
+
newId: entry.column.id,
|
|
126
|
+
spec: entry.column.spec,
|
|
127
|
+
dataInfo: {
|
|
128
|
+
type: "Json",
|
|
129
|
+
keyLength: entry.column.spec.axesSpec.length,
|
|
130
|
+
data: entry.column.data.reduce((acc, row) => {
|
|
131
|
+
acc[JSON.stringify(row.key)] = row.val;
|
|
132
|
+
return acc;
|
|
133
|
+
}, {})
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
case "inner":
|
|
137
|
+
case "full": return {
|
|
138
|
+
type: entry.type,
|
|
139
|
+
entries: entry.entries.map((col) => joinEntryToInternal(col))
|
|
140
|
+
};
|
|
141
|
+
case "outer": return {
|
|
142
|
+
type: "outer",
|
|
143
|
+
primary: joinEntryToInternal(entry.primary),
|
|
144
|
+
secondary: entry.secondary.map((col) => joinEntryToInternal(col))
|
|
145
|
+
};
|
|
146
|
+
default: throw new _platforma_sdk_model.PFrameDriverError(`unsupported PFrame join entry type: ${type}`);
|
|
147
|
+
}
|
|
188
148
|
}
|
|
189
149
|
|
|
190
|
-
|
|
150
|
+
//#endregion
|
|
191
151
|
exports.PTablePool = PTablePool;
|
|
192
|
-
//# sourceMappingURL=ptable_pool.cjs.map
|
|
152
|
+
//# sourceMappingURL=ptable_pool.cjs.map
|