@platforma-sdk/workflow-tengo 4.16.0 → 4.17.1
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/tengo/lib/pt.expression.lib.tengo +54 -12
- package/dist/tengo/lib/pt.lib.tengo +1 -9
- package/dist/tengo/tpl/anonymize.deanonymize.plj.gz +0 -0
- package/dist/tengo/tpl/anonymize.impl.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.create_workdir_from_storage.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.download_blob.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.run_hello_world.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.run_hello_world_py.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.upload_blob.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.upload_template.plj.gz +0 -0
- package/dist/tengo/tpl/check_network.workdir_type_name_extractor.plj.gz +0 -0
- package/dist/tengo/tpl/exec.R.create-renv.plj.gz +0 -0
- package/dist/tengo/tpl/exec.delayed-compute-allocation.impl.plj.gz +0 -0
- package/dist/tengo/tpl/exec.exec-impl.plj.gz +0 -0
- package/dist/tengo/tpl/exec.exec.plj.gz +0 -0
- package/dist/tengo/tpl/exec.load-software.impl.plj.gz +0 -0
- package/dist/tengo/tpl/exec.monetization_info.plj.gz +0 -0
- package/dist/tengo/tpl/exec.monetization_to_json.plj.gz +0 -0
- package/dist/tengo/tpl/exec.python.create-venv.plj.gz +0 -0
- package/dist/tengo/tpl/exec.python.install-deps.plj.gz +0 -0
- package/dist/tengo/tpl/exec.python.venv-bin-path.plj.gz +0 -0
- package/dist/tengo/tpl/ll.get-field.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-multiple-pcolumns.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-pframe-for-ui.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-pframe.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.export-single-pcolumn.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.import-dir.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.parse-to-json.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.process-pcolumn-data.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.remove-nulls.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.slice-data.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.xsv-export-pframe.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.xsv-import-if-not-null.plj.gz +0 -0
- package/dist/tengo/tpl/pframes.xsv-import-map.plj.gz +0 -0
- package/dist/tengo/tpl/waiter.waiter.plj.gz +0 -0
- package/dist/tengo/tpl/workdir.save.plj.gz +0 -0
- package/dist/tengo/tpl/workflow.build-ctx.plj.gz +0 -0
- package/dist/tengo/tpl/workflow.query-anchored.plj.gz +0 -0
- package/package.json +2 -2
|
@@ -338,23 +338,65 @@ _newExpression = func(expression, currentAlias) {
|
|
|
338
338
|
|
|
339
339
|
|
|
340
340
|
|
|
341
|
-
structField: func(...fieldNames) {
|
|
342
|
-
ll.assert(len(fieldNames) > 0, "structField expects at least one field name")
|
|
343
|
-
for fieldName in fieldNames {
|
|
344
|
-
ll.assert(is_string(fieldName), "All field names must be strings, got: %T", fieldName)
|
|
345
|
-
}
|
|
346
341
|
|
|
347
342
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
structField: func(fieldPath, ...options) {
|
|
357
|
+
|
|
358
|
+
ll.assert(!is_undefined(fieldPath), "structField expects a field path (string or array of strings)")
|
|
359
|
+
|
|
360
|
+
fields := undefined
|
|
361
|
+
if is_string(fieldPath) {
|
|
362
|
+
fields = fieldPath
|
|
363
|
+
} else if is_array(fieldPath) {
|
|
364
|
+
ll.assert(len(fieldPath) > 0, "structField field path array cannot be empty")
|
|
365
|
+
for fieldName in fieldPath {
|
|
366
|
+
ll.assert(is_string(fieldName), "All field names in path must be strings, got: %T", fieldName)
|
|
367
|
+
}
|
|
368
|
+
if len(fieldPath) == 1 {
|
|
369
|
+
fields = fieldPath[0]
|
|
370
|
+
} else {
|
|
371
|
+
fields = fieldPath
|
|
354
372
|
}
|
|
373
|
+
} else {
|
|
374
|
+
ll.panic("structField fieldPath must be a string or array of strings, got: %T", fieldPath)
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
ops := _validateOptions(options, {
|
|
379
|
+
"__options__,closed": "",
|
|
380
|
+
"default,?": "any",
|
|
381
|
+
"dtype,?": "string"
|
|
382
|
+
}, "structField")
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
structExpr := {
|
|
386
|
+
type: "struct_field",
|
|
387
|
+
struct: expression,
|
|
388
|
+
fields: fields
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
if !is_undefined(ops.default) {
|
|
393
|
+
structExpr.default = ops.default
|
|
394
|
+
}
|
|
395
|
+
if !is_undefined(ops.dtype) {
|
|
396
|
+
structExpr.dtype = ops.dtype
|
|
355
397
|
}
|
|
356
398
|
|
|
357
|
-
return _newExpression(
|
|
399
|
+
return _newExpression(structExpr, undefined)
|
|
358
400
|
},
|
|
359
401
|
|
|
360
402
|
|
|
@@ -829,7 +829,6 @@ _newDataFrame = func(parentWorkflow, dfName) {
|
|
|
829
829
|
|
|
830
830
|
|
|
831
831
|
|
|
832
|
-
|
|
833
832
|
|
|
834
833
|
|
|
835
834
|
sort: func(by, ...optionsRaw) {
|
|
@@ -847,7 +846,6 @@ _newDataFrame = func(parentWorkflow, dfName) {
|
|
|
847
846
|
|
|
848
847
|
descendingOpt := opts.descending
|
|
849
848
|
nullsLastOpt := opts.nulls_last
|
|
850
|
-
maintainOrderOpt := opts.maintain_order // Corresponds to 'stable' in PTabler SortStep
|
|
851
849
|
|
|
852
850
|
if !is_undefined(descendingOpt) && !is_bool(descendingOpt) && !is_array(descendingOpt) {
|
|
853
851
|
ll.panic("sort 'descending' option must be a boolean or an array of booleans. Got: %T", descendingOpt)
|
|
@@ -863,9 +861,7 @@ _newDataFrame = func(parentWorkflow, dfName) {
|
|
|
863
861
|
ll.panic("sort 'nulls_last' array length (%d) must match the number of sort keys (%d).", len(nullsLastOpt), len(by))
|
|
864
862
|
}
|
|
865
863
|
|
|
866
|
-
|
|
867
|
-
ll.panic("sort 'maintain_order' option must be a boolean. Got: %T", maintainOrderOpt)
|
|
868
|
-
}
|
|
864
|
+
|
|
869
865
|
|
|
870
866
|
sortDirectives := []
|
|
871
867
|
for i, item in by {
|
|
@@ -918,10 +914,6 @@ _newDataFrame = func(parentWorkflow, dfName) {
|
|
|
918
914
|
by: sortDirectives
|
|
919
915
|
}
|
|
920
916
|
|
|
921
|
-
if !is_undefined(maintainOrderOpt) && maintainOrderOpt == true {
|
|
922
|
-
sortStep.stable = true // PTabler 'stable' maps to Polars 'maintain_order'
|
|
923
|
-
}
|
|
924
|
-
|
|
925
917
|
parentWorkflow.addRawStep(sortStep)
|
|
926
918
|
return _newDataFrame(parentWorkflow, outputDfName)
|
|
927
919
|
},
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platforma-sdk/workflow-tengo",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.17.1",
|
|
4
4
|
"description": "Tengo SDK library",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@milaboratories/software-pframes-conv": "2.2.2",
|
|
20
20
|
"@platforma-open/milaboratories.software-small-binaries": "^1.15.21",
|
|
21
|
-
"@platforma-open/milaboratories.software-ptabler": "
|
|
21
|
+
"@platforma-open/milaboratories.software-ptabler": ""
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@platforma-sdk/tengo-builder": "^2.1.14"
|