@platforma-open/milaboratories.redefine-clonotypes.model 1.0.1 → 1.0.3
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/.turbo/turbo-build.log +9 -9
- package/CHANGELOG.md +15 -0
- package/dist/bundle.js +217 -93
- package/dist/bundle.js.map +1 -1
- package/dist/index.cjs +1 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/model.json +1 -1
- package/package.json +4 -4
- package/src/index.ts +1 -13
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/home/runner/work/redefine-clonotypes/redefine-clonotypes/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @platforma-open/milaboratories.redefine-clonotypes.model@1.0.
|
|
3
|
+
> @platforma-open/milaboratories.redefine-clonotypes.model@1.0.3 build /home/runner/work/redefine-clonotypes/redefine-clonotypes/model
|
|
4
4
|
> vite build && BUILD_UMD=true vite build && block-tools build-model
|
|
5
5
|
|
|
6
6
|
[36mvite v6.3.5 [32mbuilding SSR bundle for production...[36m[39m
|
|
@@ -9,23 +9,23 @@ transforming...
|
|
|
9
9
|
rendering chunks...
|
|
10
10
|
|
|
11
11
|
[vite:dts] Start generate declaration files...
|
|
12
|
-
[2mdist/[22m[36mindex.js [39m[1m[2m2.
|
|
12
|
+
[2mdist/[22m[36mindex.js [39m[1m[2m2.19 kB[22m[1m[22m[2m │ map: 4.23 kB[22m
|
|
13
13
|
[vite:dts] Start rollup declaration files...
|
|
14
14
|
Analysis will use the bundled TypeScript version 5.8.2
|
|
15
|
-
[vite:dts] Declaration files built in
|
|
15
|
+
[vite:dts] Declaration files built in 3591ms.
|
|
16
16
|
|
|
17
|
-
[2mdist/[22m[36mindex.cjs [39m[1m[2m2.
|
|
18
|
-
[32m✓ built in 3.
|
|
17
|
+
[2mdist/[22m[36mindex.cjs [39m[1m[2m2.28 kB[22m[1m[22m[2m │ map: 4.25 kB[22m
|
|
18
|
+
[32m✓ built in 3.66s[39m
|
|
19
19
|
[36mvite v6.3.5 [32mbuilding for production...[36m[39m
|
|
20
20
|
transforming...
|
|
21
|
-
[32m✓[39m
|
|
21
|
+
[32m✓[39m 77 modules transformed.
|
|
22
22
|
rendering chunks...
|
|
23
23
|
|
|
24
24
|
[vite:dts] Start generate declaration files...
|
|
25
25
|
computing gzip size...
|
|
26
26
|
[vite:dts] Start rollup declaration files...
|
|
27
27
|
Analysis will use the bundled TypeScript version 5.8.2
|
|
28
|
-
[2mdist/[22m[36mbundle.js [39m[1m[
|
|
29
|
-
[vite:dts] Declaration files built in
|
|
28
|
+
[2mdist/[22m[36mbundle.js [39m[1m[2m225.02 kB[22m[1m[22m[2m │ gzip: 39.75 kB[22m[2m │ map: 454.84 kB[22m
|
|
29
|
+
[vite:dts] Declaration files built in 3345ms.
|
|
30
30
|
|
|
31
|
-
[32m✓ built in
|
|
31
|
+
[32m✓ built in 4.00s[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @platforma-open/milaboratories.redefine-clonotypes.model
|
|
2
2
|
|
|
3
|
+
## 1.0.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 7359f01: Fix definition options
|
|
8
|
+
|
|
9
|
+
## 1.0.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 53dc929: technical release
|
|
14
|
+
- edeae1d: technical release
|
|
15
|
+
- 9fc42b8: technical release
|
|
16
|
+
- 5a7b685: technical release
|
|
17
|
+
|
|
3
18
|
## 1.0.1
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/bundle.js
CHANGED
|
@@ -3964,11 +3964,15 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
3964
3964
|
quotelessJson,
|
|
3965
3965
|
ZodError
|
|
3966
3966
|
});
|
|
3967
|
+
z.object({
|
|
3968
|
+
type: z.literal("plain"),
|
|
3969
|
+
content: z.string()
|
|
3970
|
+
});
|
|
3967
3971
|
z.object({
|
|
3968
3972
|
/** Included left border. */
|
|
3969
|
-
from: z.number(),
|
|
3973
|
+
from: z.number().min(0),
|
|
3970
3974
|
/** Excluded right border. */
|
|
3971
|
-
to: z.number()
|
|
3975
|
+
to: z.number().min(1)
|
|
3972
3976
|
});
|
|
3973
3977
|
function assertNever(x) {
|
|
3974
3978
|
throw new Error("Unexpected object: " + x);
|
|
@@ -4034,6 +4038,27 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4034
4038
|
}
|
|
4035
4039
|
}
|
|
4036
4040
|
}
|
|
4041
|
+
function visitDataInfo(dataInfo, cb) {
|
|
4042
|
+
switch (dataInfo.type) {
|
|
4043
|
+
case "Json":
|
|
4044
|
+
break;
|
|
4045
|
+
case "JsonPartitioned": {
|
|
4046
|
+
Object.values(dataInfo.parts).forEach(cb);
|
|
4047
|
+
break;
|
|
4048
|
+
}
|
|
4049
|
+
case "BinaryPartitioned": {
|
|
4050
|
+
Object.values(dataInfo.parts).forEach((chunk) => {
|
|
4051
|
+
cb(chunk.index);
|
|
4052
|
+
cb(chunk.values);
|
|
4053
|
+
});
|
|
4054
|
+
break;
|
|
4055
|
+
}
|
|
4056
|
+
case "ParquetPartitioned": {
|
|
4057
|
+
Object.values(dataInfo.parts).forEach(cb);
|
|
4058
|
+
break;
|
|
4059
|
+
}
|
|
4060
|
+
}
|
|
4061
|
+
}
|
|
4037
4062
|
function isDataInfoEntries(value) {
|
|
4038
4063
|
if (!value || typeof value !== "object") {
|
|
4039
4064
|
return false;
|
|
@@ -4191,13 +4216,27 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4191
4216
|
const Annotation = {
|
|
4192
4217
|
DiscreteValues: "pl7.app/discreteValues",
|
|
4193
4218
|
Graph: {
|
|
4194
|
-
|
|
4219
|
+
Axis: {
|
|
4220
|
+
HighCardinality: "pl7.app/graph/axis/highCardinality",
|
|
4221
|
+
LowerLimit: "pl7.app/graph/axis/lowerLimit",
|
|
4222
|
+
SymmetricRange: "pl7.app/graph/axis/symmetricRange",
|
|
4223
|
+
UpperLimit: "pl7.app/graph/axis/upperLimit"
|
|
4224
|
+
},
|
|
4225
|
+
IsDenseAxis: "pl7.app/graph/isDenseAxis",
|
|
4226
|
+
IsVirtual: "pl7.app/graph/isVirtual",
|
|
4227
|
+
Palette: "pl7.app/graph/palette",
|
|
4228
|
+
Thresholds: "pl7.app/graph/thresholds",
|
|
4229
|
+
TreatAbsentValuesAs: "pl7.app/graph/treatAbsentValuesAs"
|
|
4195
4230
|
},
|
|
4196
4231
|
HideDataFromUi: "pl7.app/hideDataFromUi",
|
|
4232
|
+
HideDataFromGraphs: "pl7.app/hideDataFromGraphs",
|
|
4233
|
+
IsDiscreteFilter: "pl7.app/isDiscreteFilter",
|
|
4197
4234
|
IsLinkerColumn: "pl7.app/isLinkerColumn",
|
|
4235
|
+
IsSubset: "pl7.app/isSubset",
|
|
4198
4236
|
Label: "pl7.app/label",
|
|
4199
4237
|
Max: "pl7.app/max",
|
|
4200
4238
|
Min: "pl7.app/min",
|
|
4239
|
+
MultipliesBy: "pl7.app/multipliesBy",
|
|
4201
4240
|
Parents: "pl7.app/parents",
|
|
4202
4241
|
Sequence: {
|
|
4203
4242
|
Annotation: {
|
|
@@ -4210,13 +4249,29 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4210
4249
|
},
|
|
4211
4250
|
Trace: "pl7.app/trace"
|
|
4212
4251
|
};
|
|
4252
|
+
const ValueTypeSchema = z.enum(["Int", "Long", "Float", "Double", "String"]);
|
|
4213
4253
|
({
|
|
4214
4254
|
[Annotation.DiscreteValues]: z.array(z.string()).or(z.array(z.number())),
|
|
4255
|
+
[Annotation.Graph.Axis.HighCardinality]: z.boolean(),
|
|
4256
|
+
[Annotation.Graph.Axis.LowerLimit]: z.number(),
|
|
4257
|
+
[Annotation.Graph.Axis.UpperLimit]: z.number(),
|
|
4258
|
+
[Annotation.Graph.Axis.SymmetricRange]: z.boolean(),
|
|
4259
|
+
[Annotation.Graph.IsDenseAxis]: z.boolean(),
|
|
4260
|
+
[Annotation.Graph.Palette]: z.object({ mapping: z.record(z.number()), name: z.string() }),
|
|
4261
|
+
[Annotation.Graph.Thresholds]: z.array(z.object({
|
|
4262
|
+
columnId: z.object({ valueType: ValueTypeSchema, name: z.string() }),
|
|
4263
|
+
value: z.number()
|
|
4264
|
+
})),
|
|
4265
|
+
[Annotation.Graph.TreatAbsentValuesAs]: z.number(),
|
|
4215
4266
|
[Annotation.Graph.IsVirtual]: z.boolean(),
|
|
4216
4267
|
[Annotation.HideDataFromUi]: z.boolean(),
|
|
4268
|
+
[Annotation.HideDataFromGraphs]: z.boolean(),
|
|
4269
|
+
[Annotation.IsDiscreteFilter]: z.boolean(),
|
|
4217
4270
|
[Annotation.IsLinkerColumn]: z.boolean(),
|
|
4271
|
+
[Annotation.IsSubset]: z.boolean(),
|
|
4218
4272
|
[Annotation.Max]: z.number(),
|
|
4219
4273
|
[Annotation.Min]: z.number(),
|
|
4274
|
+
[Annotation.MultipliesBy]: z.array(z.string()),
|
|
4220
4275
|
[Annotation.Parents]: z.array(z.string()),
|
|
4221
4276
|
[Annotation.Sequence.Annotation.Mapping]: z.record(z.string(), z.string()),
|
|
4222
4277
|
[Annotation.Sequence.IsAnnotation]: z.boolean(),
|
|
@@ -4274,6 +4329,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4274
4329
|
newId: entry.newId,
|
|
4275
4330
|
axisFilters: entry.axisFilters
|
|
4276
4331
|
};
|
|
4332
|
+
case "artificialColumn":
|
|
4333
|
+
return {
|
|
4334
|
+
type: "artificialColumn",
|
|
4335
|
+
column: cb(entry.column),
|
|
4336
|
+
newId: entry.newId,
|
|
4337
|
+
axesIndices: entry.axesIndices
|
|
4338
|
+
};
|
|
4277
4339
|
case "inlineColumn":
|
|
4278
4340
|
return entry;
|
|
4279
4341
|
case "inner":
|
|
@@ -4510,6 +4572,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4510
4572
|
case "slicedColumn":
|
|
4511
4573
|
columns.set(entry2.column.id, entry2.column);
|
|
4512
4574
|
return;
|
|
4575
|
+
case "artificialColumn":
|
|
4576
|
+
columns.set(entry2.column.id, entry2.column);
|
|
4577
|
+
return;
|
|
4513
4578
|
case "inlineColumn":
|
|
4514
4579
|
return;
|
|
4515
4580
|
case "full":
|
|
@@ -4883,6 +4948,80 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
4883
4948
|
}
|
|
4884
4949
|
const StagingAccessorName = "staging";
|
|
4885
4950
|
const MainAccessorName = "main";
|
|
4951
|
+
function filterDataInfoEntries(dataInfoEntries, axisFilters) {
|
|
4952
|
+
const sortedFilters = [...axisFilters].sort((a, b) => b[0] - a[0]);
|
|
4953
|
+
const { type } = dataInfoEntries;
|
|
4954
|
+
switch (type) {
|
|
4955
|
+
case "Json": {
|
|
4956
|
+
const { keyLength } = dataInfoEntries;
|
|
4957
|
+
for (const [axisIdx] of axisFilters)
|
|
4958
|
+
if (axisIdx >= keyLength)
|
|
4959
|
+
throw new Error(`Can't filter on non-data axis ${axisIdx}. Must be >= ${keyLength}`);
|
|
4960
|
+
break;
|
|
4961
|
+
}
|
|
4962
|
+
case "JsonPartitioned":
|
|
4963
|
+
case "BinaryPartitioned":
|
|
4964
|
+
case "ParquetPartitioned": {
|
|
4965
|
+
const { partitionKeyLength } = dataInfoEntries;
|
|
4966
|
+
for (const [axisIdx] of axisFilters)
|
|
4967
|
+
if (axisIdx >= partitionKeyLength)
|
|
4968
|
+
throw new Error(`Can't filter on non-partitioned axis ${axisIdx}. Must be >= ${partitionKeyLength}`);
|
|
4969
|
+
break;
|
|
4970
|
+
}
|
|
4971
|
+
default:
|
|
4972
|
+
throw new Error(`Unsupported data info type: ${type}`);
|
|
4973
|
+
}
|
|
4974
|
+
const keyMatchesFilters = (key) => {
|
|
4975
|
+
for (const [axisIdx, axisValue] of sortedFilters)
|
|
4976
|
+
if (key[axisIdx] !== axisValue)
|
|
4977
|
+
return false;
|
|
4978
|
+
return true;
|
|
4979
|
+
};
|
|
4980
|
+
const removeFilteredAxes = (key) => {
|
|
4981
|
+
const newKey = [...key];
|
|
4982
|
+
for (const [axisIdx] of sortedFilters)
|
|
4983
|
+
newKey.splice(axisIdx, 1);
|
|
4984
|
+
return newKey;
|
|
4985
|
+
};
|
|
4986
|
+
switch (dataInfoEntries.type) {
|
|
4987
|
+
case "Json":
|
|
4988
|
+
return {
|
|
4989
|
+
type: "Json",
|
|
4990
|
+
keyLength: dataInfoEntries.keyLength - axisFilters.length,
|
|
4991
|
+
data: dataInfoEntries.data.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
4992
|
+
key: removeFilteredAxes(entry.key),
|
|
4993
|
+
value: entry.value
|
|
4994
|
+
}))
|
|
4995
|
+
};
|
|
4996
|
+
case "JsonPartitioned":
|
|
4997
|
+
return {
|
|
4998
|
+
type: "JsonPartitioned",
|
|
4999
|
+
partitionKeyLength: dataInfoEntries.partitionKeyLength - axisFilters.length,
|
|
5000
|
+
parts: dataInfoEntries.parts.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
5001
|
+
key: removeFilteredAxes(entry.key),
|
|
5002
|
+
value: entry.value
|
|
5003
|
+
}))
|
|
5004
|
+
};
|
|
5005
|
+
case "BinaryPartitioned":
|
|
5006
|
+
return {
|
|
5007
|
+
type: "BinaryPartitioned",
|
|
5008
|
+
partitionKeyLength: dataInfoEntries.partitionKeyLength - axisFilters.length,
|
|
5009
|
+
parts: dataInfoEntries.parts.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
5010
|
+
key: removeFilteredAxes(entry.key),
|
|
5011
|
+
value: entry.value
|
|
5012
|
+
}))
|
|
5013
|
+
};
|
|
5014
|
+
case "ParquetPartitioned":
|
|
5015
|
+
return {
|
|
5016
|
+
type: "ParquetPartitioned",
|
|
5017
|
+
partitionKeyLength: dataInfoEntries.partitionKeyLength - axisFilters.length,
|
|
5018
|
+
parts: dataInfoEntries.parts.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
5019
|
+
key: removeFilteredAxes(entry.key),
|
|
5020
|
+
value: entry.value
|
|
5021
|
+
}))
|
|
5022
|
+
};
|
|
5023
|
+
}
|
|
5024
|
+
}
|
|
4886
5025
|
const TraceEntry = z.object({
|
|
4887
5026
|
type: z.string(),
|
|
4888
5027
|
importance: z.number().optional(),
|
|
@@ -5008,9 +5147,11 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5008
5147
|
const RT_RESOURCE_MAP_PARTITIONED = PCD_PREFIX + "Partitioned/ResourceMap";
|
|
5009
5148
|
const RT_JSON_PARTITIONED = PCD_PREFIX + "JsonPartitioned";
|
|
5010
5149
|
const RT_BINARY_PARTITIONED = PCD_PREFIX + "BinaryPartitioned";
|
|
5150
|
+
const RT_PARQUET_PARTITIONED = PCD_PREFIX + "ParquetPartitioned";
|
|
5011
5151
|
const PCD_SUP_PREFIX = PCD_PREFIX + "Partitioned/";
|
|
5012
5152
|
const RT_JSON_SUPER_PARTITIONED = PCD_SUP_PREFIX + "JsonPartitioned";
|
|
5013
5153
|
const RT_BINARY_SUPER_PARTITIONED = PCD_SUP_PREFIX + "BinaryPartitioned";
|
|
5154
|
+
const RT_PARQUET_SUPER_PARTITIONED = PCD_SUP_PREFIX + "ParquetPartitioned";
|
|
5014
5155
|
const removeIndexSuffix = (keyStr) => {
|
|
5015
5156
|
if (keyStr.endsWith(".index")) {
|
|
5016
5157
|
return { baseKey: keyStr.substring(0, keyStr.length - 6), type: "index" };
|
|
@@ -5036,10 +5177,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5036
5177
|
break;
|
|
5037
5178
|
case RT_JSON_PARTITIONED:
|
|
5038
5179
|
case RT_BINARY_PARTITIONED:
|
|
5180
|
+
case RT_PARQUET_PARTITIONED:
|
|
5039
5181
|
keyLength = meta["partitionKeyLength"];
|
|
5040
5182
|
break;
|
|
5041
5183
|
case RT_BINARY_SUPER_PARTITIONED:
|
|
5042
5184
|
case RT_JSON_SUPER_PARTITIONED:
|
|
5185
|
+
case RT_PARQUET_SUPER_PARTITIONED:
|
|
5043
5186
|
keyLength = meta["superPartitionKeyLength"] + meta["partitionKeyLength"];
|
|
5044
5187
|
break;
|
|
5045
5188
|
}
|
|
@@ -5047,6 +5190,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5047
5190
|
case RT_RESOURCE_MAP:
|
|
5048
5191
|
case RT_JSON_PARTITIONED:
|
|
5049
5192
|
case RT_BINARY_PARTITIONED:
|
|
5193
|
+
case RT_PARQUET_PARTITIONED:
|
|
5050
5194
|
for (let keyStr of acc.listInputFields()) {
|
|
5051
5195
|
if (rt === RT_BINARY_PARTITIONED) {
|
|
5052
5196
|
keyStr = removeIndexSuffix(keyStr).baseKey;
|
|
@@ -5058,6 +5202,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5058
5202
|
case RT_RESOURCE_MAP_PARTITIONED:
|
|
5059
5203
|
case RT_BINARY_SUPER_PARTITIONED:
|
|
5060
5204
|
case RT_JSON_SUPER_PARTITIONED:
|
|
5205
|
+
case RT_PARQUET_SUPER_PARTITIONED:
|
|
5061
5206
|
for (const supKeyStr of acc.listInputFields()) {
|
|
5062
5207
|
const keyPrefix = [...JSON.parse(supKeyStr)];
|
|
5063
5208
|
const value = acc.resolve({ field: supKeyStr, assertFieldType: "Input" });
|
|
@@ -5076,7 +5221,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5076
5221
|
return { data, keyLength };
|
|
5077
5222
|
}
|
|
5078
5223
|
function getUniquePartitionKeysForDataEntries(list) {
|
|
5079
|
-
if (list.type !== "JsonPartitioned" && list.type !== "BinaryPartitioned")
|
|
5224
|
+
if (list.type !== "JsonPartitioned" && list.type !== "BinaryPartitioned" && list.type !== "ParquetPartitioned")
|
|
5080
5225
|
throw new Error(`Splitting requires Partitioned DataInfoEntries, got ${list.type}`);
|
|
5081
5226
|
const { parts, partitionKeyLength } = list;
|
|
5082
5227
|
const result = [];
|
|
@@ -5124,7 +5269,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5124
5269
|
return void 0;
|
|
5125
5270
|
const resourceType = acc.resourceType.name;
|
|
5126
5271
|
const meta = acc.getDataAsJson();
|
|
5127
|
-
if (keyPrefix.length > 0 && (resourceType === RT_JSON_SUPER_PARTITIONED || resourceType === RT_BINARY_SUPER_PARTITIONED)) {
|
|
5272
|
+
if (keyPrefix.length > 0 && (resourceType === RT_JSON_SUPER_PARTITIONED || resourceType === RT_BINARY_SUPER_PARTITIONED || resourceType === RT_PARQUET_SUPER_PARTITIONED)) {
|
|
5128
5273
|
throw new Error(`Unexpected nested super-partitioned resource: ${resourceType}`);
|
|
5129
5274
|
}
|
|
5130
5275
|
switch (resourceType) {
|
|
@@ -5189,6 +5334,24 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5189
5334
|
parts
|
|
5190
5335
|
};
|
|
5191
5336
|
}
|
|
5337
|
+
case RT_PARQUET_PARTITIONED: {
|
|
5338
|
+
if (typeof (meta == null ? void 0 : meta.partitionKeyLength) !== "number") {
|
|
5339
|
+
throw new Error(`Missing partitionKeyLength in metadata for ${resourceType}`);
|
|
5340
|
+
}
|
|
5341
|
+
const parts = [];
|
|
5342
|
+
for (const keyStr of acc.listInputFields()) {
|
|
5343
|
+
const value = acc.resolve({ field: keyStr, assertFieldType: "Input" });
|
|
5344
|
+
if (value === void 0)
|
|
5345
|
+
return void 0;
|
|
5346
|
+
const key = [...keyPrefix, ...JSON.parse(keyStr)];
|
|
5347
|
+
parts.push({ key, value });
|
|
5348
|
+
}
|
|
5349
|
+
return {
|
|
5350
|
+
type: "ParquetPartitioned",
|
|
5351
|
+
partitionKeyLength: meta.partitionKeyLength,
|
|
5352
|
+
parts
|
|
5353
|
+
};
|
|
5354
|
+
}
|
|
5192
5355
|
case RT_JSON_SUPER_PARTITIONED: {
|
|
5193
5356
|
if (typeof (meta == null ? void 0 : meta.superPartitionKeyLength) !== "number" || typeof (meta == null ? void 0 : meta.partitionKeyLength) !== "number") {
|
|
5194
5357
|
throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${resourceType}`);
|
|
@@ -5241,6 +5404,32 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5241
5404
|
parts
|
|
5242
5405
|
};
|
|
5243
5406
|
}
|
|
5407
|
+
case RT_PARQUET_SUPER_PARTITIONED: {
|
|
5408
|
+
if (typeof (meta == null ? void 0 : meta.superPartitionKeyLength) !== "number" || typeof (meta == null ? void 0 : meta.partitionKeyLength) !== "number") {
|
|
5409
|
+
throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${resourceType}`);
|
|
5410
|
+
}
|
|
5411
|
+
const totalKeyLength = meta.superPartitionKeyLength + meta.partitionKeyLength;
|
|
5412
|
+
const parts = [];
|
|
5413
|
+
for (const supKeyStr of acc.listInputFields()) {
|
|
5414
|
+
const superPartition = acc.resolve({ field: supKeyStr, assertFieldType: "Input" });
|
|
5415
|
+
if (superPartition === void 0)
|
|
5416
|
+
return void 0;
|
|
5417
|
+
if (superPartition.resourceType.name !== RT_PARQUET_PARTITIONED) {
|
|
5418
|
+
throw new Error(`Expected ${RT_PARQUET_PARTITIONED} inside ${resourceType}, but got ${superPartition.resourceType.name}`);
|
|
5419
|
+
}
|
|
5420
|
+
const innerResult = parsePColumnData(superPartition, JSON.parse(supKeyStr));
|
|
5421
|
+
if (innerResult === void 0)
|
|
5422
|
+
return void 0;
|
|
5423
|
+
if (innerResult.type !== "ParquetPartitioned")
|
|
5424
|
+
throw new Error(`Unexpected inner result type for ${resourceType}: ${innerResult.type}`);
|
|
5425
|
+
parts.push(...innerResult.parts);
|
|
5426
|
+
}
|
|
5427
|
+
return {
|
|
5428
|
+
type: "ParquetPartitioned",
|
|
5429
|
+
partitionKeyLength: totalKeyLength,
|
|
5430
|
+
parts
|
|
5431
|
+
};
|
|
5432
|
+
}
|
|
5244
5433
|
default:
|
|
5245
5434
|
throw new Error(`Unknown resource type: ${resourceType}`);
|
|
5246
5435
|
}
|
|
@@ -5256,79 +5445,21 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5256
5445
|
return parsePColumnData(acc);
|
|
5257
5446
|
throw new Error(`Unexpected input type: ${typeof acc}`);
|
|
5258
5447
|
}
|
|
5259
|
-
function
|
|
5260
|
-
const
|
|
5261
|
-
const
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
for (const [axisIdx] of axisFilters)
|
|
5275
|
-
if (axisIdx >= partitionKeyLength)
|
|
5276
|
-
throw new Error(`Can't filter on non-partitioned axis ${axisIdx}. Must be >= ${partitionKeyLength}`);
|
|
5277
|
-
break;
|
|
5278
|
-
}
|
|
5279
|
-
default:
|
|
5280
|
-
throw new Error(`Unsupported data info type: ${type}`);
|
|
5281
|
-
}
|
|
5282
|
-
const keyMatchesFilters = (key) => {
|
|
5283
|
-
for (const [axisIdx, axisValue] of sortedFilters)
|
|
5284
|
-
if (key[axisIdx] !== axisValue)
|
|
5285
|
-
return false;
|
|
5286
|
-
return true;
|
|
5287
|
-
};
|
|
5288
|
-
const removeFilteredAxes = (key) => {
|
|
5289
|
-
const newKey = [...key];
|
|
5290
|
-
for (const [axisIdx] of sortedFilters)
|
|
5291
|
-
newKey.splice(axisIdx, 1);
|
|
5292
|
-
return newKey;
|
|
5293
|
-
};
|
|
5294
|
-
switch (dataInfoEntries.type) {
|
|
5295
|
-
case "Json":
|
|
5296
|
-
return {
|
|
5297
|
-
type: "Json",
|
|
5298
|
-
keyLength: dataInfoEntries.keyLength - axisFilters.length,
|
|
5299
|
-
data: dataInfoEntries.data.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
5300
|
-
key: removeFilteredAxes(entry.key),
|
|
5301
|
-
value: entry.value
|
|
5302
|
-
}))
|
|
5303
|
-
};
|
|
5304
|
-
case "JsonPartitioned":
|
|
5305
|
-
return {
|
|
5306
|
-
type: "JsonPartitioned",
|
|
5307
|
-
partitionKeyLength: dataInfoEntries.partitionKeyLength - axisFilters.length,
|
|
5308
|
-
parts: dataInfoEntries.parts.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
5309
|
-
key: removeFilteredAxes(entry.key),
|
|
5310
|
-
value: entry.value
|
|
5311
|
-
}))
|
|
5312
|
-
};
|
|
5313
|
-
case "BinaryPartitioned":
|
|
5314
|
-
return {
|
|
5315
|
-
type: "BinaryPartitioned",
|
|
5316
|
-
partitionKeyLength: dataInfoEntries.partitionKeyLength - axisFilters.length,
|
|
5317
|
-
parts: dataInfoEntries.parts.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
5318
|
-
key: removeFilteredAxes(entry.key),
|
|
5319
|
-
value: entry.value
|
|
5320
|
-
}))
|
|
5321
|
-
};
|
|
5322
|
-
case "ParquetPartitioned":
|
|
5323
|
-
return {
|
|
5324
|
-
type: "ParquetPartitioned",
|
|
5325
|
-
partitionKeyLength: dataInfoEntries.partitionKeyLength - axisFilters.length,
|
|
5326
|
-
parts: dataInfoEntries.parts.filter((entry) => keyMatchesFilters(entry.key)).map((entry) => ({
|
|
5327
|
-
key: removeFilteredAxes(entry.key),
|
|
5328
|
-
value: entry.value
|
|
5329
|
-
}))
|
|
5330
|
-
};
|
|
5331
|
-
}
|
|
5448
|
+
function isPColumnReady(c) {
|
|
5449
|
+
const isValues = (d) => Array.isArray(d);
|
|
5450
|
+
const isAccessor = (d) => d instanceof TreeNodeAccessor;
|
|
5451
|
+
let ready = true;
|
|
5452
|
+
if (isAccessor(c.data)) {
|
|
5453
|
+
ready && (ready = c.data.getIsReadyOrError());
|
|
5454
|
+
} else if (isDataInfo(c.data)) {
|
|
5455
|
+
visitDataInfo(c.data, (v) => ready && (ready = v.getIsReadyOrError()));
|
|
5456
|
+
} else if (!isValues(c.data)) {
|
|
5457
|
+
throw Error(`unsupported column data type: ${c.data}`);
|
|
5458
|
+
}
|
|
5459
|
+
return ready;
|
|
5460
|
+
}
|
|
5461
|
+
function allPColumnsReady(columns) {
|
|
5462
|
+
return columns.every(isPColumnReady);
|
|
5332
5463
|
}
|
|
5333
5464
|
function isPColumnValues(value) {
|
|
5334
5465
|
if (!Array.isArray(value))
|
|
@@ -6080,6 +6211,8 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6080
6211
|
// TODO remove all non-PColumn fields
|
|
6081
6212
|
createPFrame(def) {
|
|
6082
6213
|
this.verifyInlineAndExplicitColumnsSupport(def);
|
|
6214
|
+
if (!allPColumnsReady(def))
|
|
6215
|
+
return void 0;
|
|
6083
6216
|
return this.ctx.createPFrame(def.map((c) => transformPColumnData(c)));
|
|
6084
6217
|
}
|
|
6085
6218
|
createPTable(def) {
|
|
@@ -6097,7 +6230,10 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6097
6230
|
} else {
|
|
6098
6231
|
rawDef = this.patchPTableDef(def);
|
|
6099
6232
|
}
|
|
6100
|
-
|
|
6233
|
+
const columns = extractAllColumns(rawDef.src);
|
|
6234
|
+
this.verifyInlineAndExplicitColumnsSupport(columns);
|
|
6235
|
+
if (!allPColumnsReady(columns))
|
|
6236
|
+
return void 0;
|
|
6101
6237
|
return this.ctx.createPTable(mapPTableDef(rawDef, (po) => transformPColumnData(po)));
|
|
6102
6238
|
}
|
|
6103
6239
|
/** @deprecated scheduled for removal from SDK */
|
|
@@ -6117,7 +6253,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6117
6253
|
this.ctx.logError(msg);
|
|
6118
6254
|
}
|
|
6119
6255
|
}
|
|
6120
|
-
var version = "1.
|
|
6256
|
+
var version = "1.45.30";
|
|
6121
6257
|
const PlatformaSDKVersion = version;
|
|
6122
6258
|
function isConfigLambda(cfgOrFh) {
|
|
6123
6259
|
return cfgOrFh.__renderLambda === true;
|
|
@@ -6376,19 +6512,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
6376
6512
|
},
|
|
6377
6513
|
{
|
|
6378
6514
|
axes: [{ anchor: "main", idx: 1 }],
|
|
6379
|
-
name: "pl7.app/vdj/
|
|
6380
|
-
},
|
|
6381
|
-
{
|
|
6382
|
-
axes: [{ anchor: "main", idx: 1 }],
|
|
6383
|
-
name: "pl7.app/vdj/dGene"
|
|
6384
|
-
},
|
|
6385
|
-
{
|
|
6386
|
-
axes: [{ anchor: "main", idx: 1 }],
|
|
6387
|
-
name: "pl7.app/vdj/jGene"
|
|
6388
|
-
},
|
|
6389
|
-
{
|
|
6390
|
-
axes: [{ anchor: "main", idx: 1 }],
|
|
6391
|
-
name: "pl7.app/vdj/cGene"
|
|
6515
|
+
name: "pl7.app/vdj/geneHit"
|
|
6392
6516
|
}
|
|
6393
6517
|
]
|
|
6394
6518
|
);
|