@milaboratories/pl-middle-layer 1.46.20 → 1.46.22
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/block_registry/index.d.ts +3 -3
- package/dist/block_registry/registry-v2-provider.cjs.map +1 -1
- package/dist/block_registry/registry-v2-provider.d.ts +2 -2
- package/dist/block_registry/registry-v2-provider.js.map +1 -1
- package/dist/block_registry/registry.cjs +54 -53
- package/dist/block_registry/registry.cjs.map +1 -1
- package/dist/block_registry/registry.d.ts +4 -4
- package/dist/block_registry/registry.d.ts.map +1 -1
- package/dist/block_registry/registry.js +54 -53
- package/dist/block_registry/registry.js.map +1 -1
- package/dist/block_registry/watcher.cjs +12 -12
- package/dist/block_registry/watcher.cjs.map +1 -1
- package/dist/block_registry/watcher.d.ts +6 -6
- package/dist/block_registry/watcher.d.ts.map +1 -1
- package/dist/block_registry/watcher.js +12 -12
- package/dist/block_registry/watcher.js.map +1 -1
- package/dist/block_registry/well_known_registries.cjs +6 -6
- package/dist/block_registry/well_known_registries.cjs.map +1 -1
- package/dist/block_registry/well_known_registries.d.ts +1 -1
- package/dist/block_registry/well_known_registries.js +6 -6
- package/dist/block_registry/well_known_registries.js.map +1 -1
- package/dist/cfg_render/executor.cjs +11 -11
- package/dist/cfg_render/executor.cjs.map +1 -1
- package/dist/cfg_render/executor.d.ts +5 -5
- package/dist/cfg_render/executor.js +11 -11
- package/dist/cfg_render/executor.js.map +1 -1
- package/dist/cfg_render/operation.d.ts +5 -5
- package/dist/cfg_render/renderer.cjs +74 -75
- package/dist/cfg_render/renderer.cjs.map +1 -1
- package/dist/cfg_render/renderer.d.ts +2 -2
- package/dist/cfg_render/renderer.d.ts.map +1 -1
- package/dist/cfg_render/renderer.js +74 -75
- package/dist/cfg_render/renderer.js.map +1 -1
- package/dist/cfg_render/traverse.cjs +27 -27
- package/dist/cfg_render/traverse.cjs.map +1 -1
- package/dist/cfg_render/traverse.d.ts +1 -1
- package/dist/cfg_render/traverse.js +27 -27
- package/dist/cfg_render/traverse.js.map +1 -1
- package/dist/cfg_render/util.cjs +1 -1
- package/dist/cfg_render/util.cjs.map +1 -1
- package/dist/cfg_render/util.d.ts +1 -1
- package/dist/cfg_render/util.js +1 -1
- package/dist/cfg_render/util.js.map +1 -1
- package/dist/debug/index.cjs +4 -2
- package/dist/debug/index.cjs.map +1 -1
- package/dist/debug/index.d.ts +2 -2
- package/dist/debug/index.d.ts.map +1 -1
- package/dist/debug/index.js +4 -2
- package/dist/debug/index.js.map +1 -1
- package/dist/dev_env/index.cjs +8 -8
- package/dist/dev_env/index.cjs.map +1 -1
- package/dist/dev_env/index.js +8 -8
- package/dist/dev_env/index.js.map +1 -1
- package/dist/dev_env/util.cjs +1 -1
- package/dist/dev_env/util.cjs.map +1 -1
- package/dist/dev_env/util.d.ts +1 -1
- package/dist/dev_env/util.js +1 -1
- package/dist/dev_env/util.js.map +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/js_render/computable_context.cjs +78 -78
- package/dist/js_render/computable_context.cjs.map +1 -1
- package/dist/js_render/computable_context.d.ts +9 -9
- package/dist/js_render/computable_context.d.ts.map +1 -1
- package/dist/js_render/computable_context.js +78 -78
- package/dist/js_render/computable_context.js.map +1 -1
- package/dist/js_render/context.cjs +33 -27
- package/dist/js_render/context.cjs.map +1 -1
- package/dist/js_render/context.d.ts +7 -7
- package/dist/js_render/context.d.ts.map +1 -1
- package/dist/js_render/context.js +33 -27
- package/dist/js_render/context.js.map +1 -1
- package/dist/js_render/index.cjs +10 -6
- package/dist/js_render/index.cjs.map +1 -1
- package/dist/js_render/index.d.ts +6 -6
- package/dist/js_render/index.d.ts.map +1 -1
- package/dist/js_render/index.js +10 -6
- package/dist/js_render/index.js.map +1 -1
- package/dist/middle_layer/active_cfg.cjs.map +1 -1
- package/dist/middle_layer/active_cfg.d.ts +3 -3
- package/dist/middle_layer/active_cfg.d.ts.map +1 -1
- package/dist/middle_layer/active_cfg.js.map +1 -1
- package/dist/middle_layer/block.cjs +1 -1
- package/dist/middle_layer/block.cjs.map +1 -1
- package/dist/middle_layer/block.d.ts +6 -6
- package/dist/middle_layer/block.d.ts.map +1 -1
- package/dist/middle_layer/block.js +1 -1
- package/dist/middle_layer/block.js.map +1 -1
- package/dist/middle_layer/block_ctx.cjs +9 -9
- package/dist/middle_layer/block_ctx.cjs.map +1 -1
- package/dist/middle_layer/block_ctx.d.ts +6 -6
- package/dist/middle_layer/block_ctx.d.ts.map +1 -1
- package/dist/middle_layer/block_ctx.js +9 -9
- package/dist/middle_layer/block_ctx.js.map +1 -1
- package/dist/middle_layer/block_ctx_unsafe.cjs +1 -1
- package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -1
- package/dist/middle_layer/block_ctx_unsafe.d.ts +5 -5
- package/dist/middle_layer/block_ctx_unsafe.js +1 -1
- package/dist/middle_layer/block_ctx_unsafe.js.map +1 -1
- package/dist/middle_layer/driver_kit.cjs +1 -2
- package/dist/middle_layer/driver_kit.cjs.map +1 -1
- package/dist/middle_layer/driver_kit.d.ts +7 -7
- package/dist/middle_layer/driver_kit.d.ts.map +1 -1
- package/dist/middle_layer/driver_kit.js +1 -2
- package/dist/middle_layer/driver_kit.js.map +1 -1
- package/dist/middle_layer/frontend_path.cjs +5 -5
- package/dist/middle_layer/frontend_path.cjs.map +1 -1
- package/dist/middle_layer/frontend_path.d.ts +4 -4
- package/dist/middle_layer/frontend_path.d.ts.map +1 -1
- package/dist/middle_layer/frontend_path.js +5 -5
- package/dist/middle_layer/frontend_path.js.map +1 -1
- package/dist/middle_layer/index.d.ts +4 -4
- package/dist/middle_layer/middle_layer.cjs +11 -11
- package/dist/middle_layer/middle_layer.cjs.map +1 -1
- package/dist/middle_layer/middle_layer.d.ts +18 -18
- package/dist/middle_layer/middle_layer.d.ts.map +1 -1
- package/dist/middle_layer/middle_layer.js +11 -11
- package/dist/middle_layer/middle_layer.js.map +1 -1
- package/dist/middle_layer/navigation_states.cjs +2 -2
- package/dist/middle_layer/navigation_states.cjs.map +1 -1
- package/dist/middle_layer/navigation_states.d.ts +2 -2
- package/dist/middle_layer/navigation_states.js +2 -2
- package/dist/middle_layer/navigation_states.js.map +1 -1
- package/dist/middle_layer/ops.cjs +5 -5
- package/dist/middle_layer/ops.cjs.map +1 -1
- package/dist/middle_layer/ops.d.ts +11 -11
- package/dist/middle_layer/ops.d.ts.map +1 -1
- package/dist/middle_layer/ops.js +5 -5
- package/dist/middle_layer/ops.js.map +1 -1
- package/dist/middle_layer/project.cjs +71 -63
- package/dist/middle_layer/project.cjs.map +1 -1
- package/dist/middle_layer/project.d.ts +10 -10
- package/dist/middle_layer/project.d.ts.map +1 -1
- package/dist/middle_layer/project.js +71 -63
- package/dist/middle_layer/project.js.map +1 -1
- package/dist/middle_layer/project_list.cjs +2 -2
- package/dist/middle_layer/project_list.cjs.map +1 -1
- package/dist/middle_layer/project_list.d.ts +6 -6
- package/dist/middle_layer/project_list.d.ts.map +1 -1
- package/dist/middle_layer/project_list.js +2 -2
- package/dist/middle_layer/project_list.js.map +1 -1
- package/dist/middle_layer/project_overview.cjs +40 -40
- package/dist/middle_layer/project_overview.cjs.map +1 -1
- package/dist/middle_layer/project_overview.d.ts +5 -5
- package/dist/middle_layer/project_overview.d.ts.map +1 -1
- package/dist/middle_layer/project_overview.js +40 -40
- package/dist/middle_layer/project_overview.js.map +1 -1
- package/dist/middle_layer/project_overview_light.cjs.map +1 -1
- package/dist/middle_layer/project_overview_light.d.ts +2 -2
- package/dist/middle_layer/project_overview_light.d.ts.map +1 -1
- package/dist/middle_layer/project_overview_light.js.map +1 -1
- package/dist/middle_layer/render.cjs +1 -1
- package/dist/middle_layer/render.cjs.map +1 -1
- package/dist/middle_layer/render.d.ts +4 -4
- package/dist/middle_layer/render.js +1 -1
- package/dist/middle_layer/render.js.map +1 -1
- package/dist/middle_layer/render.test.d.ts +2 -2
- package/dist/middle_layer/types.d.ts +3 -3
- package/dist/middle_layer/util.cjs +9 -4
- package/dist/middle_layer/util.cjs.map +1 -1
- package/dist/middle_layer/util.d.ts +4 -4
- package/dist/middle_layer/util.d.ts.map +1 -1
- package/dist/middle_layer/util.js +9 -4
- package/dist/middle_layer/util.js.map +1 -1
- package/dist/model/args.cjs +19 -15
- package/dist/model/args.cjs.map +1 -1
- package/dist/model/args.d.ts +1 -1
- package/dist/model/args.d.ts.map +1 -1
- package/dist/model/args.js +19 -15
- package/dist/model/args.js.map +1 -1
- package/dist/model/block_pack.d.ts +2 -2
- package/dist/model/block_pack_spec.cjs +3 -3
- package/dist/model/block_pack_spec.cjs.map +1 -1
- package/dist/model/block_pack_spec.d.ts +8 -8
- package/dist/model/block_pack_spec.js +3 -3
- package/dist/model/block_pack_spec.js.map +1 -1
- package/dist/model/block_storage_helper.cjs +4 -4
- package/dist/model/block_storage_helper.cjs.map +1 -1
- package/dist/model/block_storage_helper.d.ts +2 -2
- package/dist/model/block_storage_helper.d.ts.map +1 -1
- package/dist/model/block_storage_helper.js +4 -4
- package/dist/model/block_storage_helper.js.map +1 -1
- package/dist/model/index.d.ts +3 -3
- package/dist/model/project_helper.cjs +30 -13
- package/dist/model/project_helper.cjs.map +1 -1
- package/dist/model/project_helper.d.ts +4 -4
- package/dist/model/project_helper.d.ts.map +1 -1
- package/dist/model/project_helper.js +30 -13
- package/dist/model/project_helper.js.map +1 -1
- package/dist/model/project_model.cjs +23 -23
- package/dist/model/project_model.cjs.map +1 -1
- package/dist/model/project_model.d.ts +6 -6
- package/dist/model/project_model.d.ts.map +1 -1
- package/dist/model/project_model.js +23 -23
- package/dist/model/project_model.js.map +1 -1
- package/dist/model/project_model_util.cjs +2 -2
- package/dist/model/project_model_util.cjs.map +1 -1
- package/dist/model/project_model_util.d.ts +3 -3
- package/dist/model/project_model_util.d.ts.map +1 -1
- package/dist/model/project_model_util.js +2 -2
- package/dist/model/project_model_util.js.map +1 -1
- package/dist/model/project_model_v1.cjs +2 -2
- package/dist/model/project_model_v1.cjs.map +1 -1
- package/dist/model/project_model_v1.js +2 -2
- package/dist/model/project_model_v1.js.map +1 -1
- package/dist/model/template_spec.d.ts +5 -5
- package/dist/mutator/block-pack/block_pack.cjs +43 -43
- package/dist/mutator/block-pack/block_pack.cjs.map +1 -1
- package/dist/mutator/block-pack/block_pack.d.ts +6 -6
- package/dist/mutator/block-pack/block_pack.d.ts.map +1 -1
- package/dist/mutator/block-pack/block_pack.js +43 -43
- package/dist/mutator/block-pack/block_pack.js.map +1 -1
- package/dist/mutator/block-pack/frontend.cjs +2 -2
- package/dist/mutator/block-pack/frontend.cjs.map +1 -1
- package/dist/mutator/block-pack/frontend.d.ts +2 -2
- package/dist/mutator/block-pack/frontend.d.ts.map +1 -1
- package/dist/mutator/block-pack/frontend.js +2 -2
- package/dist/mutator/block-pack/frontend.js.map +1 -1
- package/dist/mutator/context_export.cjs +5 -5
- package/dist/mutator/context_export.cjs.map +1 -1
- package/dist/mutator/context_export.d.ts +2 -2
- package/dist/mutator/context_export.d.ts.map +1 -1
- package/dist/mutator/context_export.js +5 -5
- package/dist/mutator/context_export.js.map +1 -1
- package/dist/mutator/migration.cjs +7 -7
- package/dist/mutator/migration.cjs.map +1 -1
- package/dist/mutator/migration.d.ts +1 -1
- package/dist/mutator/migration.d.ts.map +1 -1
- package/dist/mutator/migration.js +7 -7
- package/dist/mutator/migration.js.map +1 -1
- package/dist/mutator/project.cjs +147 -148
- package/dist/mutator/project.cjs.map +1 -1
- package/dist/mutator/project.d.ts +13 -13
- package/dist/mutator/project.d.ts.map +1 -1
- package/dist/mutator/project.js +147 -148
- package/dist/mutator/project.js.map +1 -1
- package/dist/mutator/template/direct_template_loader.cjs +16 -16
- package/dist/mutator/template/direct_template_loader.cjs.map +1 -1
- package/dist/mutator/template/direct_template_loader.d.ts +2 -2
- package/dist/mutator/template/direct_template_loader.d.ts.map +1 -1
- package/dist/mutator/template/direct_template_loader.js +16 -16
- package/dist/mutator/template/direct_template_loader.js.map +1 -1
- package/dist/mutator/template/direct_template_loader_v3.cjs +13 -13
- package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -1
- package/dist/mutator/template/direct_template_loader_v3.d.ts +3 -3
- package/dist/mutator/template/direct_template_loader_v3.d.ts.map +1 -1
- package/dist/mutator/template/direct_template_loader_v3.js +13 -13
- package/dist/mutator/template/direct_template_loader_v3.js.map +1 -1
- package/dist/mutator/template/render_block.cjs +7 -7
- package/dist/mutator/template/render_block.cjs.map +1 -1
- package/dist/mutator/template/render_block.d.ts +1 -1
- package/dist/mutator/template/render_block.d.ts.map +1 -1
- package/dist/mutator/template/render_block.js +7 -7
- package/dist/mutator/template/render_block.js.map +1 -1
- package/dist/mutator/template/render_template.cjs +10 -10
- package/dist/mutator/template/render_template.cjs.map +1 -1
- package/dist/mutator/template/render_template.d.ts +2 -2
- package/dist/mutator/template/render_template.js +10 -10
- package/dist/mutator/template/render_template.js.map +1 -1
- package/dist/mutator/template/template_loading.cjs +17 -17
- package/dist/mutator/template/template_loading.cjs.map +1 -1
- package/dist/mutator/template/template_loading.d.ts +2 -2
- package/dist/mutator/template/template_loading.js +17 -17
- package/dist/mutator/template/template_loading.js.map +1 -1
- package/dist/network_check/network_check.cjs +33 -32
- package/dist/network_check/network_check.cjs.map +1 -1
- package/dist/network_check/network_check.d.ts +6 -6
- package/dist/network_check/network_check.d.ts.map +1 -1
- package/dist/network_check/network_check.js +33 -32
- package/dist/network_check/network_check.js.map +1 -1
- package/dist/network_check/pings.cjs +3 -3
- package/dist/network_check/pings.cjs.map +1 -1
- package/dist/network_check/pings.d.ts +4 -4
- package/dist/network_check/pings.d.ts.map +1 -1
- package/dist/network_check/pings.js +3 -3
- package/dist/network_check/pings.js.map +1 -1
- package/dist/network_check/template.cjs +57 -44
- package/dist/network_check/template.cjs.map +1 -1
- package/dist/network_check/template.d.ts +8 -8
- package/dist/network_check/template.d.ts.map +1 -1
- package/dist/network_check/template.js +57 -44
- package/dist/network_check/template.js.map +1 -1
- package/dist/pool/data.cjs +45 -33
- package/dist/pool/data.cjs.map +1 -1
- package/dist/pool/data.d.ts +3 -3
- package/dist/pool/data.d.ts.map +1 -1
- package/dist/pool/data.js +45 -33
- package/dist/pool/data.js.map +1 -1
- package/dist/pool/driver.cjs +18 -16
- package/dist/pool/driver.cjs.map +1 -1
- package/dist/pool/driver.d.ts +5 -5
- package/dist/pool/driver.d.ts.map +1 -1
- package/dist/pool/driver.js +18 -16
- package/dist/pool/driver.js.map +1 -1
- package/dist/pool/index.d.ts +2 -2
- package/dist/pool/p_object_collection.cjs +5 -5
- package/dist/pool/p_object_collection.cjs.map +1 -1
- package/dist/pool/p_object_collection.d.ts +2 -2
- package/dist/pool/p_object_collection.d.ts.map +1 -1
- package/dist/pool/p_object_collection.js +5 -5
- package/dist/pool/p_object_collection.js.map +1 -1
- package/dist/pool/result_pool.cjs +6 -6
- package/dist/pool/result_pool.cjs.map +1 -1
- package/dist/pool/result_pool.d.ts +6 -6
- package/dist/pool/result_pool.d.ts.map +1 -1
- package/dist/pool/result_pool.js +6 -6
- package/dist/pool/result_pool.js.map +1 -1
- package/dist/test/block_packs.d.ts +2 -2
- package/dist/test/known_templates.d.ts +1 -1
- package/dist/worker/WorkerManager.cjs +7 -8
- package/dist/worker/WorkerManager.cjs.map +1 -1
- package/dist/worker/WorkerManager.d.ts +2 -2
- package/dist/worker/WorkerManager.d.ts.map +1 -1
- package/dist/worker/WorkerManager.js +7 -8
- package/dist/worker/WorkerManager.js.map +1 -1
- package/dist/worker/worker.cjs +6 -4
- package/dist/worker/worker.cjs.map +1 -1
- package/dist/worker/worker.js +6 -4
- package/dist/worker/worker.js.map +1 -1
- package/dist/worker/workerApi.cjs.map +1 -1
- package/dist/worker/workerApi.js.map +1 -1
- package/package.json +41 -41
- package/src/block_registry/index.ts +3 -3
- package/src/block_registry/registry-v2-provider.ts +2 -2
- package/src/block_registry/registry.test.ts +17 -17
- package/src/block_registry/registry.ts +55 -60
- package/src/block_registry/watcher.ts +24 -23
- package/src/block_registry/well_known_registries.ts +7 -7
- package/src/cfg_render/executor.test.ts +36 -36
- package/src/cfg_render/executor.ts +24 -24
- package/src/cfg_render/operation.ts +5 -5
- package/src/cfg_render/renderer.ts +96 -93
- package/src/cfg_render/traverse.ts +50 -50
- package/src/cfg_render/util.ts +3 -3
- package/src/debug/index.ts +6 -4
- package/src/dev_env/index.ts +16 -16
- package/src/dev_env/util.ts +3 -3
- package/src/index.ts +16 -16
- package/src/js_render/computable_context.ts +143 -126
- package/src/js_render/context.ts +72 -44
- package/src/js_render/index.ts +51 -24
- package/src/middle_layer/active_cfg.ts +14 -12
- package/src/middle_layer/block.ts +30 -23
- package/src/middle_layer/block_ctx.ts +27 -31
- package/src/middle_layer/block_ctx_unsafe.ts +9 -9
- package/src/middle_layer/driver_kit.ts +13 -19
- package/src/middle_layer/frontend_path.ts +18 -23
- package/src/middle_layer/index.ts +4 -4
- package/src/middle_layer/middle_layer.ts +57 -55
- package/src/middle_layer/navigation_states.ts +6 -6
- package/src/middle_layer/ops.ts +43 -42
- package/src/middle_layer/project.ts +274 -173
- package/src/middle_layer/project_list.ts +14 -15
- package/src/middle_layer/project_overview.ts +104 -113
- package/src/middle_layer/project_overview_light.ts +7 -9
- package/src/middle_layer/render.test.ts +49 -48
- package/src/middle_layer/render.ts +9 -9
- package/src/middle_layer/types.ts +3 -3
- package/src/middle_layer/util.ts +17 -12
- package/src/model/args.ts +22 -19
- package/src/model/block_pack.ts +2 -2
- package/src/model/block_pack_spec.ts +11 -11
- package/src/model/block_storage_helper.ts +11 -11
- package/src/model/index.ts +3 -3
- package/src/model/project_helper.ts +78 -32
- package/src/model/project_model.test.ts +5 -9
- package/src/model/project_model.ts +48 -49
- package/src/model/project_model_util.test.ts +86 -53
- package/src/model/project_model_util.ts +18 -14
- package/src/model/project_model_v1.ts +3 -3
- package/src/model/template_spec.ts +5 -5
- package/src/mutator/block-pack/block_pack.test.ts +25 -25
- package/src/mutator/block-pack/block_pack.ts +70 -68
- package/src/mutator/block-pack/frontend.ts +6 -13
- package/src/mutator/context_export.ts +12 -10
- package/src/mutator/migration.ts +20 -14
- package/src/mutator/project-v3.test.ts +123 -118
- package/src/mutator/project.test.ts +105 -94
- package/src/mutator/project.ts +357 -274
- package/src/mutator/template/direct_template_loader.ts +26 -32
- package/src/mutator/template/direct_template_loader_v3.ts +51 -25
- package/src/mutator/template/render_block.ts +14 -21
- package/src/mutator/template/render_template.ts +13 -13
- package/src/mutator/template/template_loading.ts +23 -23
- package/src/mutator/template/template_render.test.ts +87 -86
- package/src/network_check/network_check.test.ts +4 -4
- package/src/network_check/network_check.ts +102 -79
- package/src/network_check/pings.ts +35 -16
- package/src/network_check/template.test.ts +47 -44
- package/src/network_check/template.ts +151 -95
- package/src/network_check/test_utils.ts +1 -1
- package/src/pool/data.ts +81 -69
- package/src/pool/driver.ts +56 -51
- package/src/pool/index.ts +2 -2
- package/src/pool/p_object_collection.ts +16 -15
- package/src/pool/result_pool.ts +23 -34
- package/src/test/block_packs.ts +15 -15
- package/src/test/explicit_templates.ts +4 -4
- package/src/test/known_templates.ts +10 -10
- package/src/test_env.ts +1 -1
- package/src/worker/WorkerManager.ts +22 -18
- package/src/worker/worker.ts +11 -9
- package/src/worker/workerApi.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sources":["../../src/cfg_render/renderer.ts"],"sourcesContent":["import type {\n ArchiveFormat,\n Cfg,\n CfgMapArrayValues,\n CfgMapRecordValues,\n CfgMapResourceFields,\n RangeBytes,\n} from '@platforma-sdk/model';\nimport type { ArgumentRequests, Operation, OperationAction, Subroutine } from './operation';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport { mapRecord } from './util';\nimport { computableFromCfgUnsafe } from './executor';\nimport { assertNever } from '@milaboratories/ts-helpers';\nimport type { ComputableCtx } from '@milaboratories/computable';\nimport { Computable } from '@milaboratories/computable';\n\nfunction res(result: unknown): OperationAction {\n return {\n type: 'ReturnResult',\n result: result,\n };\n}\n\nexport function resOp(result: unknown): Operation {\n return () => res(result);\n}\n\n//\n// Subroutines\n//\n\nconst SRMakeObject: Subroutine = (args) => {\n const result: Record<string | symbol, unknown> = {};\n for (const [k, v] of Object.entries(args)) result[k] = v;\n return resOp(result);\n};\n\nconst SRFlatten: Subroutine = (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n const result: unknown[] = [];\n for (const nested of source) {\n if (nested instanceof Array) result.push(...(nested as unknown[]));\n else result.push(nested);\n }\n return resOp(result);\n};\n\nconst SRGetResourceField: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return ({ cCtx }) => {\n return res(cCtx.accessor(source).node().traverse(field)?.persist());\n };\n};\n\nfunction mapArrayToRecord<T, R>(elements: T[], cb: (e: T) => R): Record<string, R> {\n const result: Record<string, R> = {};\n const length = elements.length;\n for (let i = 0; i < length; i++) result[String(i)] = cb(elements[i]);\n return result;\n}\n\nfunction SRMapArrayValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapArrayValues, 'itVar' | 'mapping'>,\n): Subroutine {\n return (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRCollectArrayFromArgs(source.length),\n args: mapArrayToRecord(source, (e) => renderCfg({ ...ctx, [ops.itVar]: e }, ops.mapping)),\n });\n };\n}\n\nfunction SRCollectArrayFromArgs(length: number): Subroutine {\n return (args) => {\n const result: unknown[] = [];\n for (let i = 0; i < length; i++) result.push(args[String(i)]);\n return resOp(result);\n };\n}\n\nfunction SRMapRecordValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapRecordValues, 'itVar' | 'mapping'>,\n): Subroutine {\n return (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n if (source === undefined) return resOp(undefined);\n const nextArgs: ArgumentRequests = {};\n for (const [k, v] of Object.entries(source)) {\n const newCtx = { ...ctx, [ops.itVar]: v };\n nextArgs[k] = renderCfg(newCtx, ops.mapping);\n }\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapRecordValues2,\n args: nextArgs,\n });\n };\n}\n\nconst SRMapRecordValues2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRIsEmpty: Subroutine = (args) => {\n const arg = args.arg as unknown[] | string | undefined;\n if (arg === undefined) return resOp(undefined);\n return resOp(arg.length === 0);\n};\n\nconst SRNot: Subroutine = (args) => {\n const operand = args.operand as boolean | undefined;\n if (operand === undefined) return resOp(undefined);\n return resOp(!operand);\n};\n\nconst SRAnd: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 && operand2);\n};\n\nconst SROr: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 || operand2);\n};\n\nconst SRResourceValueAsJson: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n return ({ cCtx }) => res(cCtx.accessor(source).node()?.getDataAsJson());\n};\n\nconst SRGetJsonField: Subroutine = (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return resOp(source[field]);\n};\n\nfunction SRMapResourceFields1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapResourceFields, 'itVar' | 'mapping'>,\n): Subroutine {\n return (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx }) => {\n const node = cCtx.accessor(source).node();\n\n const nextArgs: ArgumentRequests = {};\n for (const fieldName of node.listInputFields()) {\n const res = node.traverse(fieldName);\n if (res === undefined) nextArgs[fieldName] = resOp(undefined);\n else {\n const newCtx = { ...ctx, [ops.itVar]: res.persist() };\n nextArgs[fieldName] = renderCfg(newCtx, ops.mapping);\n }\n }\n\n return {\n type: 'ScheduleSubroutine',\n subroutine: SRMapResourceFields2,\n args: nextArgs,\n };\n };\n };\n}\n\nconst SRMapResourceFields2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRGetBlobContent: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: Computable.make(\n (ctx) => {\n return drivers.blobDriver.getDownloadedBlob(ctx.accessor(source).node().resourceInfo);\n },\n {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return await drivers.blobDriver.getContent(value.handle, range);\n },\n },\n ),\n };\n };\n};\n\nconst SRGetBlobContentAsString: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx, drivers }) => {\n // getting target resource id and type\n const resourceInfo = cCtx.accessor(source).node().resourceInfo;\n\n return {\n type: 'ScheduleComputable',\n computable: Computable.make((ctx) => drivers.blobDriver.getDownloadedBlob(resourceInfo, ctx), {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n return content.toString();\n },\n }),\n };\n };\n};\n\nconst SRGetBlobContentAsJson: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: Computable.make(\n (c) => drivers.blobDriver.getDownloadedBlob(c.accessor(source).node().resourceInfo, c),\n {\n postprocessValue: async (value) => {\n if (value == undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n if (content == undefined) return undefined;\n return JSON.parse(Buffer.from(content).toString()) as unknown;\n },\n },\n ),\n };\n };\n};\n\nconst SRGetDownloadedBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return (ctx) => {\n return {\n type: 'ScheduleComputable',\n computable: ctx.drivers.blobDriver.getDownloadedBlob(source),\n };\n };\n};\n\nconst SRGetOnDemandBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.blobDriver.getOnDemandBlob(source),\n };\n };\n};\n\nconst SRExtractArchiveAndGetURL: (format: ArchiveFormat) => Subroutine = (format) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.blobToURLDriver.extractArchiveAndGetURL(source, format),\n };\n };\n};\n\nconst SRGetImportProgress: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.uploadDriver.getProgressId(source),\n };\n };\n};\n\nconst SRGetLastLogs: (lines: number) => Subroutine = (lines) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getLastLogs(source, lines),\n };\n };\n};\n\nconst SRGetProgressLog: (patternToSearch: string) => Subroutine = (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getProgressLog(source, patternToSearch),\n };\n };\n};\n\nconst SRGetProgressLogWithInfo: (patternToSearch: string) => Subroutine = (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getProgressLogWithInfo(source, patternToSearch),\n };\n };\n};\n\nconst SRGetLogHandle: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: 'ScheduleComputable',\n computable: drivers.logDriver.getLogHandle(source),\n };\n };\n};\n\n/** Renders configuration into executor's Operation */\nexport function renderCfg(ctx: Record<string, unknown>, cfg: Cfg): Operation {\n switch (cfg.type) {\n case 'GetFromCtx':\n {\n const ctxValue = ctx[cfg.variable];\n if (typeof ctxValue === 'function') {\n return (e) => res((ctxValue as (cCtx: ComputableCtx) => OperationAction)(e.cCtx));\n } else {\n return resOp(ctxValue);\n }\n }\n\n case 'Isolate':\n return ({ drivers }) => ({\n type: 'ScheduleComputable',\n computable: computableFromCfgUnsafe(drivers, ctx, cfg.cfg),\n });\n\n case 'Immediate':\n return resOp(cfg.value);\n\n case 'GetJsonField':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetJsonField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case 'MapArrayValues':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapArrayValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'MapRecordValues':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapRecordValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'MakeObject':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMakeObject,\n args: mapRecord(cfg.template, (c) => renderCfg(ctx, c)),\n });\n\n case 'MakeArray':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRCollectArrayFromArgs(cfg.template.length),\n args: mapArrayToRecord(cfg.template, (e) => renderCfg(ctx, e)),\n });\n\n case 'Flatten':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRFlatten,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'IsEmpty':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRIsEmpty,\n args: {\n arg: renderCfg(ctx, cfg.arg),\n },\n });\n\n case 'Not':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRNot,\n args: {\n operand: renderCfg(ctx, cfg.operand),\n },\n });\n\n case 'And':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRAnd,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case 'Or':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SROr,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case 'MapResourceFields':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRMapResourceFields1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetResourceField':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetResourceField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case 'GetResourceValueAsJson':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRResourceValueAsJson,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetBlobContent':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetBlobContent(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetBlobContentAsString':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetBlobContentAsString(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetBlobContentAsJson':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetBlobContentAsJson(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetDownloadedBlobContent':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetDownloadedBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetOnDemandBlobContent':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetOnDemandBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'ExtractArchiveAndGetURL':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRExtractArchiveAndGetURL(cfg.format),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetImportProgress':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetImportProgress,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetLastLogs':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetLastLogs(cfg.lines),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetProgressLog':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetProgressLog(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetProgressLogWithInfo':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetProgressLogWithInfo(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case 'GetLogHandle':\n return () => ({\n type: 'ScheduleSubroutine',\n subroutine: SRGetLogHandle,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n default:\n return assertNever(cfg);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sources":["../../src/cfg_render/renderer.ts"],"sourcesContent":["import type {\n ArchiveFormat,\n Cfg,\n CfgMapArrayValues,\n CfgMapRecordValues,\n CfgMapResourceFields,\n RangeBytes,\n} from \"@platforma-sdk/model\";\nimport type { ArgumentRequests, Operation, OperationAction, Subroutine } from \"./operation\";\nimport type { PlTreeEntry } from \"@milaboratories/pl-tree\";\nimport { mapRecord } from \"./util\";\nimport { computableFromCfgUnsafe } from \"./executor\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\nimport type { ComputableCtx } from \"@milaboratories/computable\";\nimport { Computable } from \"@milaboratories/computable\";\n\nfunction res(result: unknown): OperationAction {\n return {\n type: \"ReturnResult\",\n result: result,\n };\n}\n\nexport function resOp(result: unknown): Operation {\n return () => res(result);\n}\n\n//\n// Subroutines\n//\n\nconst SRMakeObject: Subroutine = (args) => {\n const result: Record<string | symbol, unknown> = {};\n for (const [k, v] of Object.entries(args)) result[k] = v;\n return resOp(result);\n};\n\nconst SRFlatten: Subroutine = (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n const result: unknown[] = [];\n for (const nested of source) {\n if (nested instanceof Array) result.push(...(nested as unknown[]));\n else result.push(nested);\n }\n return resOp(result);\n};\n\nconst SRGetResourceField: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return ({ cCtx }) => {\n return res(cCtx.accessor(source).node().traverse(field)?.persist());\n };\n};\n\nfunction mapArrayToRecord<T, R>(elements: T[], cb: (e: T) => R): Record<string, R> {\n const result: Record<string, R> = {};\n const length = elements.length;\n for (let i = 0; i < length; i++) result[String(i)] = cb(elements[i]);\n return result;\n}\n\nfunction SRMapArrayValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapArrayValues, \"itVar\" | \"mapping\">,\n): Subroutine {\n return (args) => {\n const source = args.source as unknown[] | undefined;\n if (source === undefined) return resOp(undefined);\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRCollectArrayFromArgs(source.length),\n args: mapArrayToRecord(source, (e) => renderCfg({ ...ctx, [ops.itVar]: e }, ops.mapping)),\n });\n };\n}\n\nfunction SRCollectArrayFromArgs(length: number): Subroutine {\n return (args) => {\n const result: unknown[] = [];\n for (let i = 0; i < length; i++) result.push(args[String(i)]);\n return resOp(result);\n };\n}\n\nfunction SRMapRecordValues1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapRecordValues, \"itVar\" | \"mapping\">,\n): Subroutine {\n return (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n if (source === undefined) return resOp(undefined);\n const nextArgs: ArgumentRequests = {};\n for (const [k, v] of Object.entries(source)) {\n const newCtx = { ...ctx, [ops.itVar]: v };\n nextArgs[k] = renderCfg(newCtx, ops.mapping);\n }\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapRecordValues2,\n args: nextArgs,\n });\n };\n}\n\nconst SRMapRecordValues2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRIsEmpty: Subroutine = (args) => {\n const arg = args.arg as unknown[] | string | undefined;\n if (arg === undefined) return resOp(undefined);\n return resOp(arg.length === 0);\n};\n\nconst SRNot: Subroutine = (args) => {\n const operand = args.operand as boolean | undefined;\n if (operand === undefined) return resOp(undefined);\n return resOp(!operand);\n};\n\nconst SRAnd: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 && operand2);\n};\n\nconst SROr: Subroutine = (args) => {\n const operand1 = args.operand1 as boolean | undefined;\n const operand2 = args.operand2 as boolean | undefined;\n if (operand1 === undefined || operand2 === undefined) return resOp(undefined);\n return resOp(operand1 || operand2);\n};\n\nconst SRResourceValueAsJson: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n return ({ cCtx }) => res(cCtx.accessor(source).node()?.getDataAsJson());\n};\n\nconst SRGetJsonField: Subroutine = (args) => {\n const source = args.source as Record<string, unknown> | undefined;\n const field = args.field as string | undefined;\n if (source === undefined || field === undefined) return resOp(undefined);\n return resOp(source[field]);\n};\n\nfunction SRMapResourceFields1(\n ctx: Record<string, unknown>,\n ops: Pick<CfgMapResourceFields, \"itVar\" | \"mapping\">,\n): Subroutine {\n return (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx }) => {\n const node = cCtx.accessor(source).node();\n\n const nextArgs: ArgumentRequests = {};\n for (const fieldName of node.listInputFields()) {\n const res = node.traverse(fieldName);\n if (res === undefined) nextArgs[fieldName] = resOp(undefined);\n else {\n const newCtx = { ...ctx, [ops.itVar]: res.persist() };\n nextArgs[fieldName] = renderCfg(newCtx, ops.mapping);\n }\n }\n\n return {\n type: \"ScheduleSubroutine\",\n subroutine: SRMapResourceFields2,\n args: nextArgs,\n };\n };\n };\n}\n\nconst SRMapResourceFields2: Subroutine = (args) => {\n return resOp(args);\n};\n\nconst SRGetBlobContent: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: Computable.make(\n (ctx) => {\n return drivers.blobDriver.getDownloadedBlob(ctx.accessor(source).node().resourceInfo);\n },\n {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n return await drivers.blobDriver.getContent(value.handle, range);\n },\n },\n ),\n };\n };\n};\n\nconst SRGetBlobContentAsString: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ cCtx, drivers }) => {\n // getting target resource id and type\n const resourceInfo = cCtx.accessor(source).node().resourceInfo;\n\n return {\n type: \"ScheduleComputable\",\n computable: Computable.make(\n (ctx) => drivers.blobDriver.getDownloadedBlob(resourceInfo, ctx),\n {\n postprocessValue: async (value) => {\n if (value === undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n return content.toString();\n },\n },\n ),\n };\n };\n};\n\nconst SRGetBlobContentAsJson: (range?: RangeBytes) => Subroutine = (range) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: Computable.make(\n (c) => drivers.blobDriver.getDownloadedBlob(c.accessor(source).node().resourceInfo, c),\n {\n postprocessValue: async (value) => {\n if (value == undefined) return undefined;\n const content = await drivers.blobDriver.getContent(value.handle, range);\n if (content == undefined) return undefined;\n return JSON.parse(Buffer.from(content).toString()) as unknown;\n },\n },\n ),\n };\n };\n};\n\nconst SRGetDownloadedBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return (ctx) => {\n return {\n type: \"ScheduleComputable\",\n computable: ctx.drivers.blobDriver.getDownloadedBlob(source),\n };\n };\n};\n\nconst SRGetOnDemandBlobContent: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.blobDriver.getOnDemandBlob(source),\n };\n };\n};\n\nconst SRExtractArchiveAndGetURL: (format: ArchiveFormat) => Subroutine = (format) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.blobToURLDriver.extractArchiveAndGetURL(source, format),\n };\n };\n};\n\nconst SRGetImportProgress: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.uploadDriver.getProgressId(source),\n };\n };\n};\n\nconst SRGetLastLogs: (lines: number) => Subroutine = (lines) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getLastLogs(source, lines),\n };\n };\n};\n\nconst SRGetProgressLog: (patternToSearch: string) => Subroutine = (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getProgressLog(source, patternToSearch),\n };\n };\n};\n\nconst SRGetProgressLogWithInfo: (patternToSearch: string) => Subroutine =\n (patternToSearch) => (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getProgressLogWithInfo(source, patternToSearch),\n };\n };\n };\n\nconst SRGetLogHandle: Subroutine = (args) => {\n const source = args.source as PlTreeEntry | undefined;\n if (source === undefined) return resOp(undefined);\n\n return ({ drivers }) => {\n return {\n type: \"ScheduleComputable\",\n computable: drivers.logDriver.getLogHandle(source),\n };\n };\n};\n\n/** Renders configuration into executor's Operation */\nexport function renderCfg(ctx: Record<string, unknown>, cfg: Cfg): Operation {\n switch (cfg.type) {\n case \"GetFromCtx\": {\n const ctxValue = ctx[cfg.variable];\n if (typeof ctxValue === \"function\") {\n return (e) => res((ctxValue as (cCtx: ComputableCtx) => OperationAction)(e.cCtx));\n } else {\n return resOp(ctxValue);\n }\n }\n\n case \"Isolate\":\n return ({ drivers }) => ({\n type: \"ScheduleComputable\",\n computable: computableFromCfgUnsafe(drivers, ctx, cfg.cfg),\n });\n\n case \"Immediate\":\n return resOp(cfg.value);\n\n case \"GetJsonField\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetJsonField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case \"MapArrayValues\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapArrayValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"MapRecordValues\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapRecordValues1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"MakeObject\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMakeObject,\n args: mapRecord(cfg.template, (c) => renderCfg(ctx, c)),\n });\n\n case \"MakeArray\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRCollectArrayFromArgs(cfg.template.length),\n args: mapArrayToRecord(cfg.template, (e) => renderCfg(ctx, e)),\n });\n\n case \"Flatten\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRFlatten,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"IsEmpty\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRIsEmpty,\n args: {\n arg: renderCfg(ctx, cfg.arg),\n },\n });\n\n case \"Not\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRNot,\n args: {\n operand: renderCfg(ctx, cfg.operand),\n },\n });\n\n case \"And\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRAnd,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case \"Or\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SROr,\n args: {\n operand1: renderCfg(ctx, cfg.operand1),\n operand2: renderCfg(ctx, cfg.operand2),\n },\n });\n\n case \"MapResourceFields\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRMapResourceFields1(ctx, cfg),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetResourceField\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetResourceField,\n args: {\n source: renderCfg(ctx, cfg.source),\n field: renderCfg(ctx, cfg.field),\n },\n });\n\n case \"GetResourceValueAsJson\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRResourceValueAsJson,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetBlobContent\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetBlobContent(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetBlobContentAsString\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetBlobContentAsString(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetBlobContentAsJson\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetBlobContentAsJson(cfg.range),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetDownloadedBlobContent\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetDownloadedBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetOnDemandBlobContent\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetOnDemandBlobContent,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"ExtractArchiveAndGetURL\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRExtractArchiveAndGetURL(cfg.format),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetImportProgress\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetImportProgress,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetLastLogs\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetLastLogs(cfg.lines),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetProgressLog\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetProgressLog(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetProgressLogWithInfo\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetProgressLogWithInfo(cfg.patternToSearch),\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n case \"GetLogHandle\":\n return () => ({\n type: \"ScheduleSubroutine\",\n subroutine: SRGetLogHandle,\n args: {\n source: renderCfg(ctx, cfg.source),\n },\n });\n\n default:\n return assertNever(cfg);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -5,54 +5,54 @@ var tsHelpers = require('@milaboratories/ts-helpers');
|
|
|
5
5
|
function* traverseCfg(cfg, guide) {
|
|
6
6
|
yield cfg;
|
|
7
7
|
switch (cfg.type) {
|
|
8
|
-
case
|
|
9
|
-
case
|
|
8
|
+
case "GetFromCtx":
|
|
9
|
+
case "Immediate":
|
|
10
10
|
return;
|
|
11
|
-
case
|
|
11
|
+
case "Isolate":
|
|
12
12
|
yield* traverseCfg(cfg.cfg);
|
|
13
13
|
return;
|
|
14
|
-
case
|
|
14
|
+
case "MakeObject":
|
|
15
15
|
for (const [, child] of Object.entries(cfg.template))
|
|
16
16
|
yield* traverseCfg(child);
|
|
17
17
|
return;
|
|
18
|
-
case
|
|
18
|
+
case "MakeArray":
|
|
19
19
|
for (const child of cfg.template)
|
|
20
20
|
yield* traverseCfg(child);
|
|
21
21
|
return;
|
|
22
|
-
case
|
|
23
|
-
case
|
|
22
|
+
case "GetJsonField":
|
|
23
|
+
case "GetResourceField":
|
|
24
24
|
yield* traverseCfg(cfg.source);
|
|
25
25
|
yield* traverseCfg(cfg.field);
|
|
26
26
|
return;
|
|
27
|
-
case
|
|
28
|
-
case
|
|
29
|
-
case
|
|
27
|
+
case "MapRecordValues":
|
|
28
|
+
case "MapArrayValues":
|
|
29
|
+
case "MapResourceFields":
|
|
30
30
|
yield* traverseCfg(cfg.source);
|
|
31
31
|
yield* traverseCfg(cfg.mapping);
|
|
32
32
|
return;
|
|
33
|
-
case
|
|
34
|
-
case
|
|
35
|
-
case
|
|
36
|
-
case
|
|
37
|
-
case
|
|
38
|
-
case
|
|
39
|
-
case
|
|
40
|
-
case
|
|
41
|
-
case
|
|
42
|
-
case
|
|
43
|
-
case
|
|
44
|
-
case
|
|
45
|
-
case
|
|
33
|
+
case "Flatten":
|
|
34
|
+
case "GetResourceValueAsJson":
|
|
35
|
+
case "GetBlobContent":
|
|
36
|
+
case "ExtractArchiveAndGetURL":
|
|
37
|
+
case "GetBlobContentAsString":
|
|
38
|
+
case "GetBlobContentAsJson":
|
|
39
|
+
case "GetDownloadedBlobContent":
|
|
40
|
+
case "GetOnDemandBlobContent":
|
|
41
|
+
case "GetImportProgress":
|
|
42
|
+
case "GetLastLogs":
|
|
43
|
+
case "GetProgressLog":
|
|
44
|
+
case "GetProgressLogWithInfo":
|
|
45
|
+
case "GetLogHandle":
|
|
46
46
|
yield* traverseCfg(cfg.source);
|
|
47
47
|
return;
|
|
48
|
-
case
|
|
48
|
+
case "IsEmpty":
|
|
49
49
|
yield* traverseCfg(cfg.arg);
|
|
50
50
|
return;
|
|
51
|
-
case
|
|
51
|
+
case "Not":
|
|
52
52
|
yield* traverseCfg(cfg.operand);
|
|
53
53
|
return;
|
|
54
|
-
case
|
|
55
|
-
case
|
|
54
|
+
case "And":
|
|
55
|
+
case "Or":
|
|
56
56
|
yield* traverseCfg(cfg.operand1);
|
|
57
57
|
yield* traverseCfg(cfg.operand2);
|
|
58
58
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.cjs","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from
|
|
1
|
+
{"version":3,"file":"traverse.cjs","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\n\nexport function* traverseCfg(cfg: Cfg, guide?: (cfg: Cfg) => boolean): Generator<Cfg> {\n yield cfg;\n if (guide !== undefined && !guide(cfg)) return;\n switch (cfg.type) {\n case \"GetFromCtx\":\n case \"Immediate\":\n return;\n case \"Isolate\":\n yield* traverseCfg(cfg.cfg);\n return;\n case \"MakeObject\":\n for (const [, child] of Object.entries(cfg.template)) yield* traverseCfg(child);\n return;\n case \"MakeArray\":\n for (const child of cfg.template) yield* traverseCfg(child);\n return;\n case \"GetJsonField\":\n case \"GetResourceField\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.field);\n return;\n case \"MapRecordValues\":\n case \"MapArrayValues\":\n case \"MapResourceFields\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.mapping);\n return;\n case \"Flatten\":\n case \"GetResourceValueAsJson\":\n case \"GetBlobContent\":\n case \"ExtractArchiveAndGetURL\":\n case \"GetBlobContentAsString\":\n case \"GetBlobContentAsJson\":\n case \"GetDownloadedBlobContent\":\n case \"GetOnDemandBlobContent\":\n case \"GetImportProgress\":\n case \"GetLastLogs\":\n case \"GetProgressLog\":\n case \"GetProgressLogWithInfo\":\n case \"GetLogHandle\":\n yield* traverseCfg(cfg.source);\n return;\n case \"IsEmpty\":\n yield* traverseCfg(cfg.arg);\n return;\n case \"Not\":\n yield* traverseCfg(cfg.operand);\n return;\n case \"And\":\n case \"Or\":\n yield* traverseCfg(cfg.operand1);\n yield* traverseCfg(cfg.operand2);\n return;\n default:\n assertNever(cfg);\n }\n}\n"],"names":["assertNever"],"mappings":";;;;UAGiB,WAAW,CAAC,GAAQ,EAAE,KAA6B,EAAA;AAClE,IAAA,MAAM,GAAG;AAET,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,WAAW;YACd;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,YAAY;AACf,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC/E;AACF,QAAA,KAAK,WAAW;AACd,YAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC3D;AACF,QAAA,KAAK,cAAc;AACnB,QAAA,KAAK,kBAAkB;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B;AACF,QAAA,KAAK,iBAAiB;AACtB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,mBAAmB;YACtB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,yBAAyB;AAC9B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,sBAAsB;AAC3B,QAAA,KAAK,0BAA0B;AAC/B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,mBAAmB;AACxB,QAAA,KAAK,aAAa;AAClB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,cAAc;YACjB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,KAAK;YACR,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,IAAI;YACP,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC;AACF,QAAA;YACEA,qBAAW,CAAC,GAAG,CAAC;;AAEtB;;;;"}
|
|
@@ -3,54 +3,54 @@ import { assertNever } from '@milaboratories/ts-helpers';
|
|
|
3
3
|
function* traverseCfg(cfg, guide) {
|
|
4
4
|
yield cfg;
|
|
5
5
|
switch (cfg.type) {
|
|
6
|
-
case
|
|
7
|
-
case
|
|
6
|
+
case "GetFromCtx":
|
|
7
|
+
case "Immediate":
|
|
8
8
|
return;
|
|
9
|
-
case
|
|
9
|
+
case "Isolate":
|
|
10
10
|
yield* traverseCfg(cfg.cfg);
|
|
11
11
|
return;
|
|
12
|
-
case
|
|
12
|
+
case "MakeObject":
|
|
13
13
|
for (const [, child] of Object.entries(cfg.template))
|
|
14
14
|
yield* traverseCfg(child);
|
|
15
15
|
return;
|
|
16
|
-
case
|
|
16
|
+
case "MakeArray":
|
|
17
17
|
for (const child of cfg.template)
|
|
18
18
|
yield* traverseCfg(child);
|
|
19
19
|
return;
|
|
20
|
-
case
|
|
21
|
-
case
|
|
20
|
+
case "GetJsonField":
|
|
21
|
+
case "GetResourceField":
|
|
22
22
|
yield* traverseCfg(cfg.source);
|
|
23
23
|
yield* traverseCfg(cfg.field);
|
|
24
24
|
return;
|
|
25
|
-
case
|
|
26
|
-
case
|
|
27
|
-
case
|
|
25
|
+
case "MapRecordValues":
|
|
26
|
+
case "MapArrayValues":
|
|
27
|
+
case "MapResourceFields":
|
|
28
28
|
yield* traverseCfg(cfg.source);
|
|
29
29
|
yield* traverseCfg(cfg.mapping);
|
|
30
30
|
return;
|
|
31
|
-
case
|
|
32
|
-
case
|
|
33
|
-
case
|
|
34
|
-
case
|
|
35
|
-
case
|
|
36
|
-
case
|
|
37
|
-
case
|
|
38
|
-
case
|
|
39
|
-
case
|
|
40
|
-
case
|
|
41
|
-
case
|
|
42
|
-
case
|
|
43
|
-
case
|
|
31
|
+
case "Flatten":
|
|
32
|
+
case "GetResourceValueAsJson":
|
|
33
|
+
case "GetBlobContent":
|
|
34
|
+
case "ExtractArchiveAndGetURL":
|
|
35
|
+
case "GetBlobContentAsString":
|
|
36
|
+
case "GetBlobContentAsJson":
|
|
37
|
+
case "GetDownloadedBlobContent":
|
|
38
|
+
case "GetOnDemandBlobContent":
|
|
39
|
+
case "GetImportProgress":
|
|
40
|
+
case "GetLastLogs":
|
|
41
|
+
case "GetProgressLog":
|
|
42
|
+
case "GetProgressLogWithInfo":
|
|
43
|
+
case "GetLogHandle":
|
|
44
44
|
yield* traverseCfg(cfg.source);
|
|
45
45
|
return;
|
|
46
|
-
case
|
|
46
|
+
case "IsEmpty":
|
|
47
47
|
yield* traverseCfg(cfg.arg);
|
|
48
48
|
return;
|
|
49
|
-
case
|
|
49
|
+
case "Not":
|
|
50
50
|
yield* traverseCfg(cfg.operand);
|
|
51
51
|
return;
|
|
52
|
-
case
|
|
53
|
-
case
|
|
52
|
+
case "And":
|
|
53
|
+
case "Or":
|
|
54
54
|
yield* traverseCfg(cfg.operand1);
|
|
55
55
|
yield* traverseCfg(cfg.operand2);
|
|
56
56
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traverse.js","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from
|
|
1
|
+
{"version":3,"file":"traverse.js","sources":["../../src/cfg_render/traverse.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { assertNever } from \"@milaboratories/ts-helpers\";\n\nexport function* traverseCfg(cfg: Cfg, guide?: (cfg: Cfg) => boolean): Generator<Cfg> {\n yield cfg;\n if (guide !== undefined && !guide(cfg)) return;\n switch (cfg.type) {\n case \"GetFromCtx\":\n case \"Immediate\":\n return;\n case \"Isolate\":\n yield* traverseCfg(cfg.cfg);\n return;\n case \"MakeObject\":\n for (const [, child] of Object.entries(cfg.template)) yield* traverseCfg(child);\n return;\n case \"MakeArray\":\n for (const child of cfg.template) yield* traverseCfg(child);\n return;\n case \"GetJsonField\":\n case \"GetResourceField\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.field);\n return;\n case \"MapRecordValues\":\n case \"MapArrayValues\":\n case \"MapResourceFields\":\n yield* traverseCfg(cfg.source);\n yield* traverseCfg(cfg.mapping);\n return;\n case \"Flatten\":\n case \"GetResourceValueAsJson\":\n case \"GetBlobContent\":\n case \"ExtractArchiveAndGetURL\":\n case \"GetBlobContentAsString\":\n case \"GetBlobContentAsJson\":\n case \"GetDownloadedBlobContent\":\n case \"GetOnDemandBlobContent\":\n case \"GetImportProgress\":\n case \"GetLastLogs\":\n case \"GetProgressLog\":\n case \"GetProgressLogWithInfo\":\n case \"GetLogHandle\":\n yield* traverseCfg(cfg.source);\n return;\n case \"IsEmpty\":\n yield* traverseCfg(cfg.arg);\n return;\n case \"Not\":\n yield* traverseCfg(cfg.operand);\n return;\n case \"And\":\n case \"Or\":\n yield* traverseCfg(cfg.operand1);\n yield* traverseCfg(cfg.operand2);\n return;\n default:\n assertNever(cfg);\n }\n}\n"],"names":[],"mappings":";;UAGiB,WAAW,CAAC,GAAQ,EAAE,KAA6B,EAAA;AAClE,IAAA,MAAM,GAAG;AAET,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,YAAY;AACjB,QAAA,KAAK,WAAW;YACd;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,YAAY;AACf,YAAA,KAAK,MAAM,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC/E;AACF,QAAA,KAAK,WAAW;AACd,YAAA,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ;AAAE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC;YAC3D;AACF,QAAA,KAAK,cAAc;AACnB,QAAA,KAAK,kBAAkB;YACrB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAC7B;AACF,QAAA,KAAK,iBAAiB;AACtB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,mBAAmB;YACtB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,SAAS;AACd,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,yBAAyB;AAC9B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,sBAAsB;AAC3B,QAAA,KAAK,0BAA0B;AAC/B,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,mBAAmB;AACxB,QAAA,KAAK,aAAa;AAClB,QAAA,KAAK,gBAAgB;AACrB,QAAA,KAAK,wBAAwB;AAC7B,QAAA,KAAK,cAAc;YACjB,OAAO,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B;AACF,QAAA,KAAK,SAAS;YACZ,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAC3B;AACF,QAAA,KAAK,KAAK;YACR,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAC/B;AACF,QAAA,KAAK,KAAK;AACV,QAAA,KAAK,IAAI;YACP,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChC;AACF,QAAA;YACE,WAAW,CAAC,GAAG,CAAC;;AAEtB;;;;"}
|
package/dist/cfg_render/util.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.cjs","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from
|
|
1
|
+
{"version":3,"file":"util.cjs","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { traverseCfg } from \"./traverse\";\n\nexport function mapRecord<T1, T2, Key extends string>(\n obj: Record<Key, T1>,\n mapper: (value: T1) => T2,\n): Record<Key, T2> {\n const result = {} as Record<Key, T2>;\n for (const [key, value] of Object.entries(obj)) result[key as Key] = mapper(value as T1);\n return result;\n}\n\nexport function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined {\n return value === undefined ? undefined : cb(value);\n}\n\nfunction isActiveCfg(cfg: Cfg): boolean {\n switch (cfg.type) {\n case \"GetImportProgress\":\n return true;\n default:\n return false;\n }\n}\n\nexport function hasActiveCfgComponents(cfg: Cfg): boolean {\n for (const nested of traverseCfg(cfg)) if (isActiveCfg(nested)) return true;\n return false;\n}\n"],"names":["traverseCfg"],"mappings":";;;;AAGM,SAAU,SAAS,CACvB,GAAoB,EACpB,MAAyB,EAAA;IAEzB,MAAM,MAAM,GAAG,EAAqB;AACpC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAU,CAAC,GAAG,MAAM,CAAC,KAAW,CAAC;AACxF,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,UAAU,CAAO,KAAoB,EAAE,EAAmB,EAAA;AACxE,IAAA,OAAO,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;AACpD;AAEA,SAAS,WAAW,CAAC,GAAQ,EAAA;AAC3B,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,mBAAmB;AACtB,YAAA,OAAO,IAAI;AACb,QAAA;AACE,YAAA,OAAO,KAAK;;AAElB;AAEM,SAAU,sBAAsB,CAAC,GAAQ,EAAA;AAC7C,IAAA,KAAK,MAAM,MAAM,IAAIA,oBAAW,CAAC,GAAG,CAAC;QAAE,IAAI,WAAW,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI;AAC3E,IAAA,OAAO,KAAK;AACd;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Cfg } from
|
|
1
|
+
import type { Cfg } from "@platforma-sdk/model";
|
|
2
2
|
export declare function mapRecord<T1, T2, Key extends string>(obj: Record<Key, T1>, mapper: (value: T1) => T2): Record<Key, T2>;
|
|
3
3
|
export declare function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined;
|
|
4
4
|
export declare function hasActiveCfgComponents(cfg: Cfg): boolean;
|
package/dist/cfg_render/util.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from
|
|
1
|
+
{"version":3,"file":"util.js","sources":["../../src/cfg_render/util.ts"],"sourcesContent":["import type { Cfg } from \"@platforma-sdk/model\";\nimport { traverseCfg } from \"./traverse\";\n\nexport function mapRecord<T1, T2, Key extends string>(\n obj: Record<Key, T1>,\n mapper: (value: T1) => T2,\n): Record<Key, T2> {\n const result = {} as Record<Key, T2>;\n for (const [key, value] of Object.entries(obj)) result[key as Key] = mapper(value as T1);\n return result;\n}\n\nexport function ifNotUndef<T, R>(value: T | undefined, cb: (value: T) => R): R | undefined {\n return value === undefined ? undefined : cb(value);\n}\n\nfunction isActiveCfg(cfg: Cfg): boolean {\n switch (cfg.type) {\n case \"GetImportProgress\":\n return true;\n default:\n return false;\n }\n}\n\nexport function hasActiveCfgComponents(cfg: Cfg): boolean {\n for (const nested of traverseCfg(cfg)) if (isActiveCfg(nested)) return true;\n return false;\n}\n"],"names":[],"mappings":";;AAGM,SAAU,SAAS,CACvB,GAAoB,EACpB,MAAyB,EAAA;IAEzB,MAAM,MAAM,GAAG,EAAqB;AACpC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,CAAC,GAAU,CAAC,GAAG,MAAM,CAAC,KAAW,CAAC;AACxF,IAAA,OAAO,MAAM;AACf;AAEM,SAAU,UAAU,CAAO,KAAoB,EAAE,EAAmB,EAAA;AACxE,IAAA,OAAO,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;AACpD;AAEA,SAAS,WAAW,CAAC,GAAQ,EAAA;AAC3B,IAAA,QAAQ,GAAG,CAAC,IAAI;AACd,QAAA,KAAK,mBAAmB;AACtB,YAAA,OAAO,IAAI;AACb,QAAA;AACE,YAAA,OAAO,KAAK;;AAElB;AAEM,SAAU,sBAAsB,CAAC,GAAQ,EAAA;AAC7C,IAAA,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,IAAI,WAAW,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI;AAC3E,IAAA,OAAO,KAAK;AACd;;;;"}
|
package/dist/debug/index.cjs
CHANGED
|
@@ -10,9 +10,11 @@ function getDebugFlags() {
|
|
|
10
10
|
logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,
|
|
11
11
|
};
|
|
12
12
|
if (process.env.MI_LOG_OUTPUT_STATUS)
|
|
13
|
-
flags.logOutputStatus =
|
|
13
|
+
flags.logOutputStatus =
|
|
14
|
+
process.env.MI_LOG_OUTPUT_STATUS === "unstable-only" ? "unstable-only" : "any";
|
|
14
15
|
if (process.env.MI_LOG_TREE_STAT)
|
|
15
|
-
flags.logTreeStats =
|
|
16
|
+
flags.logTreeStats =
|
|
17
|
+
process.env.MI_LOG_TREE_STAT === "cumulative" ? "cumulative" : "per-request";
|
|
16
18
|
return flags;
|
|
17
19
|
}
|
|
18
20
|
|
package/dist/debug/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?:
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?: \"cumulative\" | \"per-request\";\n logProjectMutationStat: boolean;\n dumpInitialTreeState: boolean;\n logOutputStatus?: \"any\" | \"unstable-only\";\n logOutputRecalculations?: boolean;\n};\n\nlet flags: MlDebugFlags | undefined = undefined;\nexport function getDebugFlags() {\n if (flags) return flags;\n flags = {\n dumpInitialTreeState: process.env.MI_DUMP_INITIAL_TREE_STATE !== undefined,\n logProjectMutationStat: process.env.MI_LOG_PROJECT_MUTATION_STAT !== undefined,\n logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,\n };\n if (process.env.MI_LOG_OUTPUT_STATUS)\n flags.logOutputStatus =\n process.env.MI_LOG_OUTPUT_STATUS === \"unstable-only\" ? \"unstable-only\" : \"any\";\n if (process.env.MI_LOG_TREE_STAT)\n flags.logTreeStats =\n process.env.MI_LOG_TREE_STAT === \"cumulative\" ? \"cumulative\" : \"per-request\";\n return flags;\n}\n"],"names":[],"mappings":";;AAQA,IAAI,KAAK,GAA6B,SAAS;SAC/B,aAAa,GAAA;AAC3B,IAAA,IAAI,KAAK;AAAE,QAAA,OAAO,KAAK;AACvB,IAAA,KAAK,GAAG;AACN,QAAA,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;AAC1E,QAAA,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;AAC9E,QAAA,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;KAChF;AACD,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;AAClC,QAAA,KAAK,CAAC,eAAe;AACnB,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,eAAe,GAAG,eAAe,GAAG,KAAK;AAClF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;AAC9B,QAAA,KAAK,CAAC,YAAY;AAChB,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa;AAChF,IAAA,OAAO,KAAK;AACd;;;;"}
|
package/dist/debug/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type MlDebugFlags = {
|
|
2
|
-
logTreeStats?:
|
|
2
|
+
logTreeStats?: "cumulative" | "per-request";
|
|
3
3
|
logProjectMutationStat: boolean;
|
|
4
4
|
dumpInitialTreeState: boolean;
|
|
5
|
-
logOutputStatus?:
|
|
5
|
+
logOutputStatus?: "any" | "unstable-only";
|
|
6
6
|
logOutputRecalculations?: boolean;
|
|
7
7
|
};
|
|
8
8
|
export declare function getDebugFlags(): MlDebugFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC5C,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAGF,wBAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC5C,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAC1C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAGF,wBAAgB,aAAa,iBAc5B"}
|
package/dist/debug/index.js
CHANGED
|
@@ -8,9 +8,11 @@ function getDebugFlags() {
|
|
|
8
8
|
logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,
|
|
9
9
|
};
|
|
10
10
|
if (process.env.MI_LOG_OUTPUT_STATUS)
|
|
11
|
-
flags.logOutputStatus =
|
|
11
|
+
flags.logOutputStatus =
|
|
12
|
+
process.env.MI_LOG_OUTPUT_STATUS === "unstable-only" ? "unstable-only" : "any";
|
|
12
13
|
if (process.env.MI_LOG_TREE_STAT)
|
|
13
|
-
flags.logTreeStats =
|
|
14
|
+
flags.logTreeStats =
|
|
15
|
+
process.env.MI_LOG_TREE_STAT === "cumulative" ? "cumulative" : "per-request";
|
|
14
16
|
return flags;
|
|
15
17
|
}
|
|
16
18
|
|
package/dist/debug/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?:
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/debug/index.ts"],"sourcesContent":["export type MlDebugFlags = {\n logTreeStats?: \"cumulative\" | \"per-request\";\n logProjectMutationStat: boolean;\n dumpInitialTreeState: boolean;\n logOutputStatus?: \"any\" | \"unstable-only\";\n logOutputRecalculations?: boolean;\n};\n\nlet flags: MlDebugFlags | undefined = undefined;\nexport function getDebugFlags() {\n if (flags) return flags;\n flags = {\n dumpInitialTreeState: process.env.MI_DUMP_INITIAL_TREE_STATE !== undefined,\n logProjectMutationStat: process.env.MI_LOG_PROJECT_MUTATION_STAT !== undefined,\n logOutputRecalculations: process.env.MI_LOG_OUTPUT_RECALCULATIONS !== undefined,\n };\n if (process.env.MI_LOG_OUTPUT_STATUS)\n flags.logOutputStatus =\n process.env.MI_LOG_OUTPUT_STATUS === \"unstable-only\" ? \"unstable-only\" : \"any\";\n if (process.env.MI_LOG_TREE_STAT)\n flags.logTreeStats =\n process.env.MI_LOG_TREE_STAT === \"cumulative\" ? \"cumulative\" : \"per-request\";\n return flags;\n}\n"],"names":[],"mappings":"AAQA,IAAI,KAAK,GAA6B,SAAS;SAC/B,aAAa,GAAA;AAC3B,IAAA,IAAI,KAAK;AAAE,QAAA,OAAO,KAAK;AACvB,IAAA,KAAK,GAAG;AACN,QAAA,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,SAAS;AAC1E,QAAA,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;AAC9E,QAAA,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS;KAChF;AACD,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB;AAClC,QAAA,KAAK,CAAC,eAAe;AACnB,YAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,eAAe,GAAG,eAAe,GAAG,KAAK;AAClF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;AAC9B,QAAA,KAAK,CAAC,YAAY;AAChB,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,YAAY,GAAG,YAAY,GAAG,aAAa;AAChF,IAAA,OAAO,KAAK;AACd;;;;"}
|
package/dist/dev_env/index.cjs
CHANGED
|
@@ -7,11 +7,11 @@ var resolveHelper = require('@milaboratories/resolve-helper');
|
|
|
7
7
|
|
|
8
8
|
const LegacyDevBlockPackMetaYaml = [blockTools.RegistryV1.PlPackageYamlConfigFile];
|
|
9
9
|
const LegacyDevBlockPackMetaJson = [blockTools.RegistryV1.PlPackageJsonConfigFile];
|
|
10
|
-
const LegacyDevBlockPackTemplate = [
|
|
11
|
-
const LegacyDevBlockPackConfig = [
|
|
12
|
-
const LegacyDevBlockPackFrontendFolder = [
|
|
13
|
-
const CanonicalBlockConfigRequest =
|
|
14
|
-
const CanonicalBlockUiRequestPackageJson =
|
|
10
|
+
const LegacyDevBlockPackTemplate = ["backend", "dist", "tengo", "tpl", "main.plj.gz"];
|
|
11
|
+
const LegacyDevBlockPackConfig = ["config", "dist", "config.json"];
|
|
12
|
+
const LegacyDevBlockPackFrontendFolder = ["frontend", "dist"];
|
|
13
|
+
const CanonicalBlockConfigRequest = "block-model/dist/config.json";
|
|
14
|
+
const CanonicalBlockUiRequestPackageJson = "block-ui/package.json";
|
|
15
15
|
const LegacyDevBlockPackFiles = [
|
|
16
16
|
LegacyDevBlockPackTemplate,
|
|
17
17
|
LegacyDevBlockPackConfig,
|
|
@@ -20,8 +20,8 @@ const LegacyDevBlockPackFiles = [
|
|
|
20
20
|
LegacyDevBlockPackFrontendFolder,
|
|
21
21
|
];
|
|
22
22
|
async function isLegacyDevPackage(packageRoot) {
|
|
23
|
-
return ((await util.tryStat(path.join(packageRoot, ...LegacyDevBlockPackConfig))) !== undefined
|
|
24
|
-
|
|
23
|
+
return ((await util.tryStat(path.join(packageRoot, ...LegacyDevBlockPackConfig))) !== undefined ||
|
|
24
|
+
(await util.tryStat(path.join(packageRoot, ...LegacyDevBlockPackTemplate))) !== undefined);
|
|
25
25
|
}
|
|
26
26
|
function mustResolve(root, request) {
|
|
27
27
|
const res = resolveHelper.tryResolve(root, request);
|
|
@@ -42,7 +42,7 @@ async function resolveDevPacket(packageRoot, ignoreErrors) {
|
|
|
42
42
|
const workflow = mustResolve(packageRoot, CanonicalBlockConfigRequest);
|
|
43
43
|
const config = mustResolve(packageRoot, CanonicalBlockConfigRequest);
|
|
44
44
|
const uiPackageJson = mustResolve(packageRoot, CanonicalBlockUiRequestPackageJson);
|
|
45
|
-
return { workflow, config, ui: path.resolve(uiPackageJson,
|
|
45
|
+
return { workflow, config, ui: path.resolve(uiPackageJson, "..", "dist") };
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/dev_env/index.ts"],"sourcesContent":["import { RegistryV1 } from
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/dev_env/index.ts"],"sourcesContent":["import { RegistryV1 } from \"@platforma-sdk/block-tools\";\nimport path from \"node:path\";\nimport { tryStat } from \"./util\";\nimport { tryResolve } from \"@milaboratories/resolve-helper\";\n\nexport const LegacyDevBlockPackMetaYaml = [RegistryV1.PlPackageYamlConfigFile];\nexport const LegacyDevBlockPackMetaJson = [RegistryV1.PlPackageJsonConfigFile];\nexport const LegacyDevBlockPackTemplate = [\"backend\", \"dist\", \"tengo\", \"tpl\", \"main.plj.gz\"];\nexport const LegacyDevBlockPackConfig = [\"config\", \"dist\", \"config.json\"];\nexport const LegacyDevBlockPackFrontendFolder = [\"frontend\", \"dist\"];\n\nexport const CanonicalBlockWorkflowRequest = \"block-workflow/dist/tengo/tpl/main.plj.gz\";\nexport const CanonicalBlockConfigRequest = \"block-model/dist/config.json\";\nexport const CanonicalBlockUiRequestPackageJson = \"block-ui/package.json\";\n\nexport const LegacyDevBlockPackFiles = [\n LegacyDevBlockPackTemplate,\n LegacyDevBlockPackConfig,\n LegacyDevBlockPackMetaYaml,\n LegacyDevBlockPackMetaJson,\n LegacyDevBlockPackFrontendFolder,\n];\n\nexport type DevPacketPaths = {\n /** main.plj.gz */\n readonly workflow: string;\n /** config.json */\n readonly config: string;\n /** ui dist folder */\n readonly ui: string;\n};\n\nexport async function isLegacyDevPackage(packageRoot: string): Promise<boolean> {\n return (\n (await tryStat(path.join(packageRoot, ...LegacyDevBlockPackConfig))) !== undefined ||\n (await tryStat(path.join(packageRoot, ...LegacyDevBlockPackTemplate))) !== undefined\n );\n}\n\nfunction mustResolve(root: string, request: string): string {\n const res = tryResolve(root, request);\n if (res === undefined) throw new Error(`Can't resolve ${request} against ${root}`);\n return res;\n}\n\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: true,\n): Promise<DevPacketPaths | undefined>;\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: false,\n): Promise<DevPacketPaths>;\nexport async function resolveDevPacket(\n packageRoot: string,\n ignoreErrors: boolean,\n): Promise<DevPacketPaths | undefined> {\n if (!path.isAbsolute(packageRoot)) packageRoot = path.resolve(packageRoot);\n if (await isLegacyDevPackage(packageRoot))\n return {\n workflow: path.join(packageRoot, ...LegacyDevBlockPackTemplate),\n config: path.join(packageRoot, ...LegacyDevBlockPackConfig),\n ui: path.join(packageRoot, ...LegacyDevBlockPackFrontendFolder),\n };\n if (ignoreErrors) {\n const workflow = tryResolve(packageRoot, CanonicalBlockConfigRequest);\n if (workflow === undefined) return undefined;\n const config = tryResolve(packageRoot, CanonicalBlockConfigRequest);\n if (config === undefined) return undefined;\n const uiPackageJson = tryResolve(packageRoot, CanonicalBlockUiRequestPackageJson);\n if (uiPackageJson === undefined) return undefined;\n return { workflow, config, ui: path.resolve(uiPackageJson, \"..\", \"dist\") };\n } else {\n const workflow = mustResolve(packageRoot, CanonicalBlockConfigRequest);\n const config = mustResolve(packageRoot, CanonicalBlockConfigRequest);\n const uiPackageJson = mustResolve(packageRoot, CanonicalBlockUiRequestPackageJson);\n return { workflow, config, ui: path.resolve(uiPackageJson, \"..\", \"dist\") };\n }\n}\n"],"names":["RegistryV1","tryStat","tryResolve"],"mappings":";;;;;;;MAKa,0BAA0B,GAAG,CAACA,qBAAU,CAAC,uBAAuB;MAChE,0BAA0B,GAAG,CAACA,qBAAU,CAAC,uBAAuB;AACtE,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa;AACpF,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa;MAC3D,gCAAgC,GAAG,CAAC,UAAU,EAAE,MAAM;AAG5D,MAAM,2BAA2B,GAAG;AACpC,MAAM,kCAAkC,GAAG;AAE3C,MAAM,uBAAuB,GAAG;IACrC,0BAA0B;IAC1B,wBAAwB;IACxB,0BAA0B;IAC1B,0BAA0B;IAC1B,gCAAgC;;AAY3B,eAAe,kBAAkB,CAAC,WAAmB,EAAA;AAC1D,IAAA,QACE,CAAC,MAAMC,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,wBAAwB,CAAC,CAAC,MAAM,SAAS;AAClF,QAAA,CAAC,MAAMA,YAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,0BAA0B,CAAC,CAAC,MAAM,SAAS;AAExF;AAEA,SAAS,WAAW,CAAC,IAAY,EAAE,OAAe,EAAA;IAChD,MAAM,GAAG,GAAGC,wBAAU,CAAC,IAAI,EAAE,OAAO,CAAC;IACrC,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,CAAA,cAAA,EAAiB,OAAO,CAAA,SAAA,EAAY,IAAI,CAAA,CAAE,CAAC;AAClF,IAAA,OAAO,GAAG;AACZ;AAUO,eAAe,gBAAgB,CACpC,WAAmB,EACnB,YAAqB,EAAA;AAErB,IAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAAE,QAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AAC1E,IAAA,IAAI,MAAM,kBAAkB,CAAC,WAAW,CAAC;QACvC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,0BAA0B,CAAC;YAC/D,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,wBAAwB,CAAC;YAC3D,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,gCAAgC,CAAC;SAChE;IASI;QACL,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACtE,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,2BAA2B,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE,kCAAkC,CAAC;AAClF,QAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;IAC5E;AACF;;;;;;;;;;;;;"}
|