@milaboratories/pl-middle-layer 1.42.2 → 1.42.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/dist/block_registry/index.d.ts +0 -1
- package/dist/block_registry/registry-v2-provider.cjs +22 -0
- package/dist/block_registry/registry-v2-provider.cjs.map +1 -0
- package/dist/block_registry/registry-v2-provider.d.ts +0 -1
- package/dist/block_registry/registry-v2-provider.js +20 -0
- package/dist/block_registry/registry-v2-provider.js.map +1 -0
- package/dist/block_registry/registry.cjs +231 -0
- package/dist/block_registry/registry.cjs.map +1 -0
- package/dist/block_registry/registry.d.ts +0 -1
- package/dist/block_registry/registry.js +227 -0
- package/dist/block_registry/registry.js.map +1 -0
- package/dist/block_registry/registry.test.d.ts +0 -1
- package/dist/block_registry/watcher.cjs +174 -0
- package/dist/block_registry/watcher.cjs.map +1 -0
- package/dist/block_registry/watcher.d.ts +0 -1
- package/dist/block_registry/watcher.js +171 -0
- package/dist/block_registry/watcher.js.map +1 -0
- package/dist/block_registry/well_known_registries.cjs +19 -0
- package/dist/block_registry/well_known_registries.cjs.map +1 -0
- package/dist/block_registry/well_known_registries.d.ts +0 -1
- package/dist/block_registry/well_known_registries.js +15 -0
- package/dist/block_registry/well_known_registries.js.map +1 -0
- package/dist/cfg_render/executor.cjs +159 -0
- package/dist/cfg_render/executor.cjs.map +1 -0
- package/dist/cfg_render/executor.d.ts +0 -1
- package/dist/cfg_render/executor.js +156 -0
- package/dist/cfg_render/executor.js.map +1 -0
- package/dist/cfg_render/executor.test.d.ts +0 -1
- package/dist/cfg_render/operation.d.ts +0 -1
- package/dist/cfg_render/renderer.cjs +528 -0
- package/dist/cfg_render/renderer.cjs.map +1 -0
- package/dist/cfg_render/renderer.d.ts +0 -1
- package/dist/cfg_render/renderer.js +525 -0
- package/dist/cfg_render/renderer.js.map +1 -0
- package/dist/cfg_render/traverse.cjs +65 -0
- package/dist/cfg_render/traverse.cjs.map +1 -0
- package/dist/cfg_render/traverse.d.ts +0 -1
- package/dist/cfg_render/traverse.js +63 -0
- package/dist/cfg_render/traverse.js.map +1 -0
- package/dist/cfg_render/util.cjs +32 -0
- package/dist/cfg_render/util.cjs.map +1 -0
- package/dist/cfg_render/util.d.ts +0 -1
- package/dist/cfg_render/util.js +28 -0
- package/dist/cfg_render/util.js.map +1 -0
- package/dist/debug/index.cjs +21 -0
- package/dist/debug/index.cjs.map +1 -0
- package/dist/debug/index.d.ts +0 -1
- package/dist/debug/index.js +19 -0
- package/dist/debug/index.js.map +1 -0
- package/dist/dev_env/index.cjs +59 -0
- package/dist/dev_env/index.cjs.map +1 -0
- package/dist/dev_env/index.d.ts +0 -1
- package/dist/dev_env/index.js +48 -0
- package/dist/dev_env/index.js.map +1 -0
- package/dist/dev_env/util.cjs +37 -0
- package/dist/dev_env/util.cjs.map +1 -0
- package/dist/dev_env/util.d.ts +0 -1
- package/dist/dev_env/util.js +16 -0
- package/dist/dev_env/util.js.map +1 -0
- package/dist/index.cjs +74 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +15 -75
- package/dist/index.js.map +1 -1
- package/dist/js_render/computable_context.cjs +525 -0
- package/dist/js_render/computable_context.cjs.map +1 -0
- package/dist/js_render/computable_context.d.ts +0 -1
- package/dist/js_render/computable_context.js +523 -0
- package/dist/js_render/computable_context.js.map +1 -0
- package/dist/js_render/context.cjs +229 -0
- package/dist/js_render/context.cjs.map +1 -0
- package/dist/js_render/context.d.ts +0 -1
- package/dist/js_render/context.js +226 -0
- package/dist/js_render/context.js.map +1 -0
- package/dist/js_render/index.cjs +163 -0
- package/dist/js_render/index.cjs.map +1 -0
- package/dist/js_render/index.d.ts +0 -1
- package/dist/js_render/index.js +160 -0
- package/dist/js_render/index.js.map +1 -0
- package/dist/middle_layer/active_cfg.cjs +37 -0
- package/dist/middle_layer/active_cfg.cjs.map +1 -0
- package/dist/middle_layer/active_cfg.d.ts +0 -1
- package/dist/middle_layer/active_cfg.js +35 -0
- package/dist/middle_layer/active_cfg.js.map +1 -0
- package/dist/middle_layer/block.cjs +51 -0
- package/dist/middle_layer/block.cjs.map +1 -0
- package/dist/middle_layer/block.d.ts +0 -1
- package/dist/middle_layer/block.js +48 -0
- package/dist/middle_layer/block.js.map +1 -0
- package/dist/middle_layer/block_ctx.cjs +87 -0
- package/dist/middle_layer/block_ctx.cjs.map +1 -0
- package/dist/middle_layer/block_ctx.d.ts +0 -1
- package/dist/middle_layer/block_ctx.js +84 -0
- package/dist/middle_layer/block_ctx.js.map +1 -0
- package/dist/middle_layer/block_ctx_unsafe.cjs +19 -0
- package/dist/middle_layer/block_ctx_unsafe.cjs.map +1 -0
- package/dist/middle_layer/block_ctx_unsafe.d.ts +0 -1
- package/dist/middle_layer/block_ctx_unsafe.js +16 -0
- package/dist/middle_layer/block_ctx_unsafe.js.map +1 -0
- package/dist/middle_layer/driver_kit.cjs +42 -0
- package/dist/middle_layer/driver_kit.cjs.map +1 -0
- package/dist/middle_layer/driver_kit.d.ts +0 -1
- package/dist/middle_layer/driver_kit.js +40 -0
- package/dist/middle_layer/driver_kit.js.map +1 -0
- package/dist/middle_layer/frontend_path.cjs +64 -0
- package/dist/middle_layer/frontend_path.cjs.map +1 -0
- package/dist/middle_layer/frontend_path.d.ts +0 -1
- package/dist/middle_layer/frontend_path.js +62 -0
- package/dist/middle_layer/frontend_path.js.map +1 -0
- package/dist/middle_layer/index.d.ts +0 -1
- package/dist/middle_layer/middle_layer.cjs +226 -0
- package/dist/middle_layer/middle_layer.cjs.map +1 -0
- package/dist/middle_layer/middle_layer.d.ts +0 -1
- package/dist/middle_layer/middle_layer.js +224 -0
- package/dist/middle_layer/middle_layer.js.map +1 -0
- package/dist/middle_layer/navigation_states.cjs +41 -0
- package/dist/middle_layer/navigation_states.cjs.map +1 -0
- package/dist/middle_layer/navigation_states.d.ts +0 -1
- package/dist/middle_layer/navigation_states.js +39 -0
- package/dist/middle_layer/navigation_states.js.map +1 -0
- package/dist/middle_layer/ops.cjs +75 -0
- package/dist/middle_layer/ops.cjs.map +1 -0
- package/dist/middle_layer/ops.d.ts +0 -1
- package/dist/middle_layer/ops.js +70 -0
- package/dist/middle_layer/ops.js.map +1 -0
- package/dist/middle_layer/project.cjs +446 -0
- package/dist/middle_layer/project.cjs.map +1 -0
- package/dist/middle_layer/project.d.ts +0 -1
- package/dist/middle_layer/project.js +444 -0
- package/dist/middle_layer/project.js.map +1 -0
- package/dist/middle_layer/project_list.cjs +53 -0
- package/dist/middle_layer/project_list.cjs.map +1 -0
- package/dist/middle_layer/project_list.d.ts +0 -1
- package/dist/middle_layer/project_list.js +48 -0
- package/dist/middle_layer/project_list.js.map +1 -0
- package/dist/middle_layer/project_overview.cjs +225 -0
- package/dist/middle_layer/project_overview.cjs.map +1 -0
- package/dist/middle_layer/project_overview.d.ts +0 -1
- package/dist/middle_layer/project_overview.js +204 -0
- package/dist/middle_layer/project_overview.js.map +1 -0
- package/dist/middle_layer/project_overview_light.cjs +20 -0
- package/dist/middle_layer/project_overview_light.cjs.map +1 -0
- package/dist/middle_layer/project_overview_light.d.ts +0 -1
- package/dist/middle_layer/project_overview_light.js +18 -0
- package/dist/middle_layer/project_overview_light.js.map +1 -0
- package/dist/middle_layer/render.cjs +26 -0
- package/dist/middle_layer/render.cjs.map +1 -0
- package/dist/middle_layer/render.d.ts +0 -1
- package/dist/middle_layer/render.js +23 -0
- package/dist/middle_layer/render.js.map +1 -0
- package/dist/middle_layer/render.test.d.ts +0 -1
- package/dist/middle_layer/types.d.ts +0 -1
- package/dist/middle_layer/util.cjs +22 -0
- package/dist/middle_layer/util.cjs.map +1 -0
- package/dist/middle_layer/util.d.ts +0 -1
- package/dist/middle_layer/util.js +20 -0
- package/dist/middle_layer/util.js.map +1 -0
- package/dist/model/args.cjs +62 -0
- package/dist/model/args.cjs.map +1 -0
- package/dist/model/args.d.ts +0 -1
- package/dist/model/args.js +58 -0
- package/dist/model/args.js.map +1 -0
- package/dist/model/block_pack.d.ts +0 -1
- package/dist/model/block_pack_spec.cjs +11 -0
- package/dist/model/block_pack_spec.cjs.map +1 -0
- package/dist/model/block_pack_spec.d.ts +0 -1
- package/dist/model/block_pack_spec.js +8 -0
- package/dist/model/block_pack_spec.js.map +1 -0
- package/dist/model/frontend.d.ts +0 -1
- package/dist/model/index.d.ts +0 -1
- package/dist/model/project_helper.cjs +36 -0
- package/dist/model/project_helper.cjs.map +1 -0
- package/dist/model/project_helper.d.ts +0 -1
- package/dist/model/project_helper.js +34 -0
- package/dist/model/project_helper.js.map +1 -0
- package/dist/model/project_model.cjs +74 -0
- package/dist/model/project_model.cjs.map +1 -0
- package/dist/model/project_model.d.ts +0 -1
- package/dist/model/project_model.js +54 -0
- package/dist/model/project_model.js.map +1 -0
- package/dist/model/project_model.test.d.ts +0 -1
- package/dist/model/project_model_util.cjs +176 -0
- package/dist/model/project_model_util.cjs.map +1 -0
- package/dist/model/project_model_util.d.ts +0 -1
- package/dist/model/project_model_util.js +170 -0
- package/dist/model/project_model_util.js.map +1 -0
- package/dist/model/project_model_util.test.d.ts +0 -1
- package/dist/model/project_model_v1.cjs +9 -0
- package/dist/model/project_model_v1.cjs.map +1 -0
- package/dist/model/project_model_v1.d.ts +0 -1
- package/dist/model/project_model_v1.js +6 -0
- package/dist/model/project_model_v1.js.map +1 -0
- package/dist/model/template_spec.d.ts +0 -1
- package/dist/mutator/block-pack/block_pack.cjs +233 -0
- package/dist/mutator/block-pack/block_pack.cjs.map +1 -0
- package/dist/mutator/block-pack/block_pack.d.ts +0 -1
- package/dist/mutator/block-pack/block_pack.js +227 -0
- package/dist/mutator/block-pack/block_pack.js.map +1 -0
- package/dist/mutator/block-pack/block_pack.test.d.ts +0 -1
- package/dist/mutator/block-pack/frontend.cjs +21 -0
- package/dist/mutator/block-pack/frontend.cjs.map +1 -0
- package/dist/mutator/block-pack/frontend.d.ts +0 -1
- package/dist/mutator/block-pack/frontend.js +19 -0
- package/dist/mutator/block-pack/frontend.js.map +1 -0
- package/dist/mutator/context_export.cjs +26 -0
- package/dist/mutator/context_export.cjs.map +1 -0
- package/dist/mutator/context_export.d.ts +2 -3
- package/dist/mutator/context_export.js +23 -0
- package/dist/mutator/context_export.js.map +1 -0
- package/dist/mutator/migration.cjs +57 -0
- package/dist/mutator/migration.cjs.map +1 -0
- package/dist/mutator/migration.d.ts +0 -1
- package/dist/mutator/migration.js +55 -0
- package/dist/mutator/migration.js.map +1 -0
- package/dist/mutator/project.cjs +997 -0
- package/dist/mutator/project.cjs.map +1 -0
- package/dist/mutator/project.d.ts +0 -1
- package/dist/mutator/project.js +992 -0
- package/dist/mutator/project.js.map +1 -0
- package/dist/mutator/project.test.d.ts +0 -1
- package/dist/mutator/template/direct_template_loader.cjs +146 -0
- package/dist/mutator/template/direct_template_loader.cjs.map +1 -0
- package/dist/mutator/template/direct_template_loader.d.ts +0 -1
- package/dist/mutator/template/direct_template_loader.js +143 -0
- package/dist/mutator/template/direct_template_loader.js.map +1 -0
- package/dist/mutator/template/direct_template_loader_v3.cjs +139 -0
- package/dist/mutator/template/direct_template_loader_v3.cjs.map +1 -0
- package/dist/mutator/template/direct_template_loader_v3.d.ts +0 -1
- package/dist/mutator/template/direct_template_loader_v3.js +137 -0
- package/dist/mutator/template/direct_template_loader_v3.js.map +1 -0
- package/dist/mutator/template/render_block.cjs +43 -0
- package/dist/mutator/template/render_block.cjs.map +1 -0
- package/dist/mutator/template/render_block.d.ts +0 -1
- package/dist/mutator/template/render_block.js +34 -0
- package/dist/mutator/template/render_block.js.map +1 -0
- package/dist/mutator/template/render_template.cjs +35 -0
- package/dist/mutator/template/render_template.cjs.map +1 -0
- package/dist/mutator/template/render_template.d.ts +0 -1
- package/dist/mutator/template/render_template.js +33 -0
- package/dist/mutator/template/render_template.js.map +1 -0
- package/dist/mutator/template/template_loading.cjs +71 -0
- package/dist/mutator/template/template_loading.cjs.map +1 -0
- package/dist/mutator/template/template_loading.d.ts +0 -1
- package/dist/mutator/template/template_loading.js +60 -0
- package/dist/mutator/template/template_loading.js.map +1 -0
- package/dist/mutator/template/template_render.test.d.ts +0 -1
- package/dist/network_check/network_check.cjs +267 -0
- package/dist/network_check/network_check.cjs.map +1 -0
- package/dist/network_check/network_check.d.ts +0 -1
- package/dist/network_check/network_check.js +264 -0
- package/dist/network_check/network_check.js.map +1 -0
- package/dist/network_check/network_check.test.d.ts +0 -1
- package/dist/network_check/pings.cjs +107 -0
- package/dist/network_check/pings.cjs.map +1 -0
- package/dist/network_check/pings.d.ts +0 -1
- package/dist/network_check/pings.js +96 -0
- package/dist/network_check/pings.js.map +1 -0
- package/dist/network_check/template.cjs +318 -0
- package/dist/network_check/template.cjs.map +1 -0
- package/dist/network_check/template.d.ts +0 -1
- package/dist/network_check/template.js +302 -0
- package/dist/network_check/template.js.map +1 -0
- package/dist/network_check/template.test.d.ts +0 -1
- package/dist/network_check/test_utils.d.ts +0 -1
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs +77 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js +74 -0
- package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.4_rollup@4.45.1_tslib@2.7.0_typescript@5.6.3/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/pool/data.cjs +298 -0
- package/dist/pool/data.cjs.map +1 -0
- package/dist/pool/data.d.ts +7 -9
- package/dist/pool/data.js +282 -0
- package/dist/pool/data.js.map +1 -0
- package/dist/pool/driver.cjs +620 -0
- package/dist/pool/driver.cjs.map +1 -0
- package/dist/pool/driver.d.ts +0 -1
- package/dist/pool/driver.js +598 -0
- package/dist/pool/driver.js.map +1 -0
- package/dist/pool/index.d.ts +0 -1
- package/dist/pool/p_object_collection.cjs +87 -0
- package/dist/pool/p_object_collection.cjs.map +1 -0
- package/dist/pool/p_object_collection.d.ts +0 -1
- package/dist/pool/p_object_collection.js +84 -0
- package/dist/pool/p_object_collection.js.map +1 -0
- package/dist/pool/ref_count_pool.cjs +58 -0
- package/dist/pool/ref_count_pool.cjs.map +1 -0
- package/dist/pool/ref_count_pool.d.ts +0 -1
- package/dist/pool/ref_count_pool.js +56 -0
- package/dist/pool/ref_count_pool.js.map +1 -0
- package/dist/pool/result_pool.cjs +265 -0
- package/dist/pool/result_pool.cjs.map +1 -0
- package/dist/pool/result_pool.d.ts +0 -1
- package/dist/pool/result_pool.js +263 -0
- package/dist/pool/result_pool.js.map +1 -0
- package/dist/test/block_packs.d.ts +0 -1
- package/dist/test/explicit_templates.d.ts +0 -1
- package/dist/test/known_templates.d.ts +0 -1
- package/dist/test_env.d.ts +0 -1
- package/dist/worker/WorkerManager.cjs +53 -0
- package/dist/worker/WorkerManager.cjs.map +1 -0
- package/dist/worker/WorkerManager.d.ts +0 -1
- package/dist/worker/WorkerManager.js +51 -0
- package/dist/worker/WorkerManager.js.map +1 -0
- package/dist/worker/worker.cjs +16 -0
- package/dist/worker/worker.cjs.map +1 -0
- package/dist/worker/worker.d.ts +0 -1
- package/dist/worker/worker.js +14 -0
- package/dist/worker/worker.js.map +1 -0
- package/dist/worker/workerApi.cjs +20 -0
- package/dist/worker/workerApi.cjs.map +1 -0
- package/dist/worker/workerApi.d.ts +1 -3
- package/dist/worker/workerApi.js +18 -0
- package/dist/worker/workerApi.js.map +1 -0
- package/package.json +26 -34
- package/src/cfg_render/executor.test.ts +5 -4
- package/src/model/project_model.test.ts +3 -3
- package/src/model/project_model_util.test.ts +3 -2
- package/src/mutator/block-pack/block_pack.test.ts +5 -4
- package/src/mutator/project.test.ts +4 -4
- package/src/mutator/template/template_render.test.ts +7 -6
- package/src/network_check/network_check.test.ts +1 -0
- package/src/network_check/test_utils.ts +2 -0
- package/src/worker/WorkerManager.ts +6 -8
- package/dist/block_registry/index.d.ts.map +0 -1
- package/dist/block_registry/registry-v2-provider.d.ts.map +0 -1
- package/dist/block_registry/registry.d.ts.map +0 -1
- package/dist/block_registry/registry.test.d.ts.map +0 -1
- package/dist/block_registry/watcher.d.ts.map +0 -1
- package/dist/block_registry/well_known_registries.d.ts.map +0 -1
- package/dist/cfg_render/executor.d.ts.map +0 -1
- package/dist/cfg_render/executor.test.d.ts.map +0 -1
- package/dist/cfg_render/operation.d.ts.map +0 -1
- package/dist/cfg_render/renderer.d.ts.map +0 -1
- package/dist/cfg_render/traverse.d.ts.map +0 -1
- package/dist/cfg_render/util.d.ts.map +0 -1
- package/dist/debug/index.d.ts.map +0 -1
- package/dist/dev_env/index.d.ts.map +0 -1
- package/dist/dev_env/util.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.mjs +0 -6742
- package/dist/index.mjs.map +0 -1
- package/dist/js_render/computable_context.d.ts.map +0 -1
- package/dist/js_render/context.d.ts.map +0 -1
- package/dist/js_render/index.d.ts.map +0 -1
- package/dist/middle_layer/active_cfg.d.ts.map +0 -1
- package/dist/middle_layer/block.d.ts.map +0 -1
- package/dist/middle_layer/block_ctx.d.ts.map +0 -1
- package/dist/middle_layer/block_ctx_unsafe.d.ts.map +0 -1
- package/dist/middle_layer/driver_kit.d.ts.map +0 -1
- package/dist/middle_layer/frontend_path.d.ts.map +0 -1
- package/dist/middle_layer/index.d.ts.map +0 -1
- package/dist/middle_layer/middle_layer.d.ts.map +0 -1
- package/dist/middle_layer/navigation_states.d.ts.map +0 -1
- package/dist/middle_layer/ops.d.ts.map +0 -1
- package/dist/middle_layer/project.d.ts.map +0 -1
- package/dist/middle_layer/project_list.d.ts.map +0 -1
- package/dist/middle_layer/project_overview.d.ts.map +0 -1
- package/dist/middle_layer/project_overview_light.d.ts.map +0 -1
- package/dist/middle_layer/render.d.ts.map +0 -1
- package/dist/middle_layer/render.test.d.ts.map +0 -1
- package/dist/middle_layer/types.d.ts.map +0 -1
- package/dist/middle_layer/util.d.ts.map +0 -1
- package/dist/model/args.d.ts.map +0 -1
- package/dist/model/block_pack.d.ts.map +0 -1
- package/dist/model/block_pack_spec.d.ts.map +0 -1
- package/dist/model/frontend.d.ts.map +0 -1
- package/dist/model/index.d.ts.map +0 -1
- package/dist/model/project_helper.d.ts.map +0 -1
- package/dist/model/project_model.d.ts.map +0 -1
- package/dist/model/project_model.test.d.ts.map +0 -1
- package/dist/model/project_model_util.d.ts.map +0 -1
- package/dist/model/project_model_util.test.d.ts.map +0 -1
- package/dist/model/project_model_v1.d.ts.map +0 -1
- package/dist/model/template_spec.d.ts.map +0 -1
- package/dist/mutator/block-pack/block_pack.d.ts.map +0 -1
- package/dist/mutator/block-pack/block_pack.test.d.ts.map +0 -1
- package/dist/mutator/block-pack/frontend.d.ts.map +0 -1
- package/dist/mutator/context_export.d.ts.map +0 -1
- package/dist/mutator/migration.d.ts.map +0 -1
- package/dist/mutator/project.d.ts.map +0 -1
- package/dist/mutator/project.test.d.ts.map +0 -1
- package/dist/mutator/template/direct_template_loader.d.ts.map +0 -1
- package/dist/mutator/template/direct_template_loader_v3.d.ts.map +0 -1
- package/dist/mutator/template/render_block.d.ts.map +0 -1
- package/dist/mutator/template/render_template.d.ts.map +0 -1
- package/dist/mutator/template/template_loading.d.ts.map +0 -1
- package/dist/mutator/template/template_render.test.d.ts.map +0 -1
- package/dist/network_check/network_check.d.ts.map +0 -1
- package/dist/network_check/network_check.test.d.ts.map +0 -1
- package/dist/network_check/pings.d.ts.map +0 -1
- package/dist/network_check/template.d.ts.map +0 -1
- package/dist/network_check/template.test.d.ts.map +0 -1
- package/dist/network_check/test_utils.d.ts.map +0 -1
- package/dist/pool/data.d.ts.map +0 -1
- package/dist/pool/driver.d.ts.map +0 -1
- package/dist/pool/index.d.ts.map +0 -1
- package/dist/pool/p_object_collection.d.ts.map +0 -1
- package/dist/pool/ref_count_pool.d.ts.map +0 -1
- package/dist/pool/result_pool.d.ts.map +0 -1
- package/dist/test/block_packs.d.ts.map +0 -1
- package/dist/test/explicit_templates.d.ts.map +0 -1
- package/dist/test/known_templates.d.ts.map +0 -1
- package/dist/test_env.d.ts.map +0 -1
- package/dist/worker/WorkerManager.d.ts.map +0 -1
- package/dist/worker/worker.d.ts.map +0 -1
- package/dist/worker/workerApi.d.ts.map +0 -1
- package/dist/worker.js +0 -2
- package/dist/worker.js.map +0 -1
- package/dist/worker.mjs +0 -20
- package/dist/worker.mjs.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tsHelpers = require('@milaboratories/ts-helpers');
|
|
4
|
+
var project_model = require('../model/project_model.cjs');
|
|
5
|
+
var project_model_util = require('../model/project_model_util.cjs');
|
|
6
|
+
var result_pool = require('../pool/result_pool.cjs');
|
|
7
|
+
|
|
8
|
+
function constructBlockContextArgsOnly(projectEntry, blockId) {
|
|
9
|
+
const args = (cCtx) => tsHelpers.cachedDecode(tsHelpers.notEmpty(cCtx
|
|
10
|
+
.accessor(projectEntry)
|
|
11
|
+
.node()
|
|
12
|
+
.traverse({
|
|
13
|
+
field: project_model.projectFieldName(blockId, 'currentArgs'),
|
|
14
|
+
errorIfFieldNotSet: true,
|
|
15
|
+
})
|
|
16
|
+
.getData()));
|
|
17
|
+
const activeArgs = (cCtx) => {
|
|
18
|
+
const data = cCtx
|
|
19
|
+
.accessor(projectEntry)
|
|
20
|
+
.node()
|
|
21
|
+
.traverse({
|
|
22
|
+
field: project_model.projectFieldName(blockId, 'prodArgs'),
|
|
23
|
+
stableIfNotFound: true,
|
|
24
|
+
})
|
|
25
|
+
?.getData();
|
|
26
|
+
return data ? tsHelpers.cachedDecode(data) : undefined;
|
|
27
|
+
};
|
|
28
|
+
const uiState = (cCtx) => {
|
|
29
|
+
const data = cCtx
|
|
30
|
+
.accessor(projectEntry)
|
|
31
|
+
.node()
|
|
32
|
+
.traverse({
|
|
33
|
+
field: project_model.projectFieldName(blockId, 'uiState'),
|
|
34
|
+
stableIfNotFound: true,
|
|
35
|
+
})
|
|
36
|
+
?.getData();
|
|
37
|
+
return data ? tsHelpers.cachedDecode(data) : undefined;
|
|
38
|
+
};
|
|
39
|
+
return {
|
|
40
|
+
blockId,
|
|
41
|
+
args,
|
|
42
|
+
activeArgs,
|
|
43
|
+
uiState,
|
|
44
|
+
blockMeta: (cCtx) => {
|
|
45
|
+
const prj = cCtx.accessor(projectEntry).node();
|
|
46
|
+
const structure = tsHelpers.notEmpty(prj.getKeyValueAsJson(project_model.ProjectStructureKey));
|
|
47
|
+
const result = new Map();
|
|
48
|
+
for (const block of project_model_util.allBlocks(structure))
|
|
49
|
+
result.set(block.id, block);
|
|
50
|
+
return result;
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function constructBlockContext(projectEntry, blockId) {
|
|
55
|
+
return {
|
|
56
|
+
...constructBlockContextArgsOnly(projectEntry, blockId),
|
|
57
|
+
prod: (cCtx) => {
|
|
58
|
+
return cCtx
|
|
59
|
+
.accessor(projectEntry)
|
|
60
|
+
.node({ ignoreError: true })
|
|
61
|
+
.traverse({
|
|
62
|
+
field: project_model.projectFieldName(blockId, 'prodOutput'),
|
|
63
|
+
stableIfNotFound: true,
|
|
64
|
+
ignoreError: true,
|
|
65
|
+
})
|
|
66
|
+
?.persist();
|
|
67
|
+
},
|
|
68
|
+
staging: (cCtx) => {
|
|
69
|
+
const result = cCtx
|
|
70
|
+
.accessor(projectEntry)
|
|
71
|
+
.node({ ignoreError: true })
|
|
72
|
+
.traverse({
|
|
73
|
+
field: project_model.projectFieldName(blockId, 'stagingOutput'),
|
|
74
|
+
ignoreError: true,
|
|
75
|
+
})
|
|
76
|
+
?.persist();
|
|
77
|
+
if (result === undefined)
|
|
78
|
+
cCtx.markUnstable('staging_not_rendered');
|
|
79
|
+
return result;
|
|
80
|
+
},
|
|
81
|
+
getResultsPool: (cCtx) => result_pool.ResultPool.create(cCtx, projectEntry, blockId),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
exports.constructBlockContext = constructBlockContext;
|
|
86
|
+
exports.constructBlockContextArgsOnly = constructBlockContextArgsOnly;
|
|
87
|
+
//# sourceMappingURL=block_ctx.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block_ctx.cjs","sources":["../../src/middle_layer/block_ctx.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport { cachedDecode, notEmpty } from '@milaboratories/ts-helpers';\nimport type { Optional } from 'utility-types';\nimport type {\n Block,\n ProjectStructure } from '../model/project_model';\nimport {\n ProjectStructureKey,\n projectFieldName,\n} from '../model/project_model';\nimport { allBlocks } from '../model/project_model_util';\nimport { ResultPool } from '../pool/result_pool';\n\nexport type BlockContextMaterialized = {\n readonly blockId: string;\n readonly args: string;\n readonly uiState?: string;\n};\n\nexport type BlockContextArgsOnly = {\n readonly blockId: string;\n readonly args: (cCtx: ComputableCtx) => string;\n readonly activeArgs: (cCtx: ComputableCtx) => string | undefined;\n readonly uiState: (cCtx: ComputableCtx) => string | undefined;\n readonly blockMeta: (cCtx: ComputableCtx) => Map<string, Block>;\n};\n\nexport type BlockContextFull = BlockContextArgsOnly & {\n readonly prod: (cCtx: ComputableCtx) => PlTreeEntry | undefined;\n readonly staging: (cCtx: ComputableCtx) => PlTreeEntry | undefined;\n readonly getResultsPool: (cCtx: ComputableCtx) => ResultPool;\n};\n\nexport type BlockContextAny = Optional<BlockContextFull, 'prod' | 'staging' | 'getResultsPool'>;\n\nexport function constructBlockContextArgsOnly(\n projectEntry: PlTreeEntry,\n blockId: string,\n): BlockContextArgsOnly {\n const args = (cCtx: ComputableCtx) =>\n cachedDecode(notEmpty(\n cCtx\n .accessor(projectEntry)\n .node()\n .traverse({\n field: projectFieldName(blockId, 'currentArgs'),\n errorIfFieldNotSet: true,\n })\n .getData(),\n ));\n const activeArgs = (cCtx: ComputableCtx) => {\n const data = cCtx\n .accessor(projectEntry)\n .node()\n .traverse({\n field: projectFieldName(blockId, 'prodArgs'),\n stableIfNotFound: true,\n })\n ?.getData();\n return data ? cachedDecode(data) : undefined;\n };\n const uiState = (cCtx: ComputableCtx) => {\n const data = cCtx\n .accessor(projectEntry)\n .node()\n .traverse({\n field: projectFieldName(blockId, 'uiState'),\n stableIfNotFound: true,\n })\n ?.getData();\n return data ? cachedDecode(data) : undefined;\n };\n return {\n blockId,\n args,\n activeArgs,\n uiState,\n blockMeta: (cCtx: ComputableCtx) => {\n const prj = cCtx.accessor(projectEntry).node();\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const result = new Map<string, Block>();\n for (const block of allBlocks(structure)) result.set(block.id, block);\n return result;\n },\n };\n}\n\nexport function constructBlockContext(\n projectEntry: PlTreeEntry,\n blockId: string,\n): BlockContextFull {\n return {\n ...constructBlockContextArgsOnly(projectEntry, blockId),\n prod: (cCtx: ComputableCtx) => {\n return cCtx\n .accessor(projectEntry)\n .node({ ignoreError: true })\n .traverse({\n field: projectFieldName(blockId, 'prodOutput'),\n stableIfNotFound: true,\n ignoreError: true,\n })\n ?.persist();\n },\n staging: (cCtx: ComputableCtx) => {\n const result = cCtx\n .accessor(projectEntry)\n .node({ ignoreError: true })\n .traverse({\n field: projectFieldName(blockId, 'stagingOutput'),\n ignoreError: true,\n })\n ?.persist();\n if (result === undefined) cCtx.markUnstable('staging_not_rendered');\n return result;\n },\n getResultsPool: (cCtx: ComputableCtx) => ResultPool.create(cCtx, projectEntry, blockId),\n };\n}\n"],"names":["cachedDecode","notEmpty","projectFieldName","ProjectStructureKey","allBlocks","ResultPool"],"mappings":"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"}
|
|
@@ -23,4 +23,3 @@ export type BlockContextFull = BlockContextArgsOnly & {
|
|
|
23
23
|
export type BlockContextAny = Optional<BlockContextFull, 'prod' | 'staging' | 'getResultsPool'>;
|
|
24
24
|
export declare function constructBlockContextArgsOnly(projectEntry: PlTreeEntry, blockId: string): BlockContextArgsOnly;
|
|
25
25
|
export declare function constructBlockContext(projectEntry: PlTreeEntry, blockId: string): BlockContextFull;
|
|
26
|
-
//# sourceMappingURL=block_ctx.d.ts.map
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { cachedDecode, notEmpty } from '@milaboratories/ts-helpers';
|
|
2
|
+
import { projectFieldName, ProjectStructureKey } from '../model/project_model.js';
|
|
3
|
+
import { allBlocks } from '../model/project_model_util.js';
|
|
4
|
+
import { ResultPool } from '../pool/result_pool.js';
|
|
5
|
+
|
|
6
|
+
function constructBlockContextArgsOnly(projectEntry, blockId) {
|
|
7
|
+
const args = (cCtx) => cachedDecode(notEmpty(cCtx
|
|
8
|
+
.accessor(projectEntry)
|
|
9
|
+
.node()
|
|
10
|
+
.traverse({
|
|
11
|
+
field: projectFieldName(blockId, 'currentArgs'),
|
|
12
|
+
errorIfFieldNotSet: true,
|
|
13
|
+
})
|
|
14
|
+
.getData()));
|
|
15
|
+
const activeArgs = (cCtx) => {
|
|
16
|
+
const data = cCtx
|
|
17
|
+
.accessor(projectEntry)
|
|
18
|
+
.node()
|
|
19
|
+
.traverse({
|
|
20
|
+
field: projectFieldName(blockId, 'prodArgs'),
|
|
21
|
+
stableIfNotFound: true,
|
|
22
|
+
})
|
|
23
|
+
?.getData();
|
|
24
|
+
return data ? cachedDecode(data) : undefined;
|
|
25
|
+
};
|
|
26
|
+
const uiState = (cCtx) => {
|
|
27
|
+
const data = cCtx
|
|
28
|
+
.accessor(projectEntry)
|
|
29
|
+
.node()
|
|
30
|
+
.traverse({
|
|
31
|
+
field: projectFieldName(blockId, 'uiState'),
|
|
32
|
+
stableIfNotFound: true,
|
|
33
|
+
})
|
|
34
|
+
?.getData();
|
|
35
|
+
return data ? cachedDecode(data) : undefined;
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
blockId,
|
|
39
|
+
args,
|
|
40
|
+
activeArgs,
|
|
41
|
+
uiState,
|
|
42
|
+
blockMeta: (cCtx) => {
|
|
43
|
+
const prj = cCtx.accessor(projectEntry).node();
|
|
44
|
+
const structure = notEmpty(prj.getKeyValueAsJson(ProjectStructureKey));
|
|
45
|
+
const result = new Map();
|
|
46
|
+
for (const block of allBlocks(structure))
|
|
47
|
+
result.set(block.id, block);
|
|
48
|
+
return result;
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function constructBlockContext(projectEntry, blockId) {
|
|
53
|
+
return {
|
|
54
|
+
...constructBlockContextArgsOnly(projectEntry, blockId),
|
|
55
|
+
prod: (cCtx) => {
|
|
56
|
+
return cCtx
|
|
57
|
+
.accessor(projectEntry)
|
|
58
|
+
.node({ ignoreError: true })
|
|
59
|
+
.traverse({
|
|
60
|
+
field: projectFieldName(blockId, 'prodOutput'),
|
|
61
|
+
stableIfNotFound: true,
|
|
62
|
+
ignoreError: true,
|
|
63
|
+
})
|
|
64
|
+
?.persist();
|
|
65
|
+
},
|
|
66
|
+
staging: (cCtx) => {
|
|
67
|
+
const result = cCtx
|
|
68
|
+
.accessor(projectEntry)
|
|
69
|
+
.node({ ignoreError: true })
|
|
70
|
+
.traverse({
|
|
71
|
+
field: projectFieldName(blockId, 'stagingOutput'),
|
|
72
|
+
ignoreError: true,
|
|
73
|
+
})
|
|
74
|
+
?.persist();
|
|
75
|
+
if (result === undefined)
|
|
76
|
+
cCtx.markUnstable('staging_not_rendered');
|
|
77
|
+
return result;
|
|
78
|
+
},
|
|
79
|
+
getResultsPool: (cCtx) => ResultPool.create(cCtx, projectEntry, blockId),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export { constructBlockContext, constructBlockContextArgsOnly };
|
|
84
|
+
//# sourceMappingURL=block_ctx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block_ctx.js","sources":["../../src/middle_layer/block_ctx.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport { cachedDecode, notEmpty } from '@milaboratories/ts-helpers';\nimport type { Optional } from 'utility-types';\nimport type {\n Block,\n ProjectStructure } from '../model/project_model';\nimport {\n ProjectStructureKey,\n projectFieldName,\n} from '../model/project_model';\nimport { allBlocks } from '../model/project_model_util';\nimport { ResultPool } from '../pool/result_pool';\n\nexport type BlockContextMaterialized = {\n readonly blockId: string;\n readonly args: string;\n readonly uiState?: string;\n};\n\nexport type BlockContextArgsOnly = {\n readonly blockId: string;\n readonly args: (cCtx: ComputableCtx) => string;\n readonly activeArgs: (cCtx: ComputableCtx) => string | undefined;\n readonly uiState: (cCtx: ComputableCtx) => string | undefined;\n readonly blockMeta: (cCtx: ComputableCtx) => Map<string, Block>;\n};\n\nexport type BlockContextFull = BlockContextArgsOnly & {\n readonly prod: (cCtx: ComputableCtx) => PlTreeEntry | undefined;\n readonly staging: (cCtx: ComputableCtx) => PlTreeEntry | undefined;\n readonly getResultsPool: (cCtx: ComputableCtx) => ResultPool;\n};\n\nexport type BlockContextAny = Optional<BlockContextFull, 'prod' | 'staging' | 'getResultsPool'>;\n\nexport function constructBlockContextArgsOnly(\n projectEntry: PlTreeEntry,\n blockId: string,\n): BlockContextArgsOnly {\n const args = (cCtx: ComputableCtx) =>\n cachedDecode(notEmpty(\n cCtx\n .accessor(projectEntry)\n .node()\n .traverse({\n field: projectFieldName(blockId, 'currentArgs'),\n errorIfFieldNotSet: true,\n })\n .getData(),\n ));\n const activeArgs = (cCtx: ComputableCtx) => {\n const data = cCtx\n .accessor(projectEntry)\n .node()\n .traverse({\n field: projectFieldName(blockId, 'prodArgs'),\n stableIfNotFound: true,\n })\n ?.getData();\n return data ? cachedDecode(data) : undefined;\n };\n const uiState = (cCtx: ComputableCtx) => {\n const data = cCtx\n .accessor(projectEntry)\n .node()\n .traverse({\n field: projectFieldName(blockId, 'uiState'),\n stableIfNotFound: true,\n })\n ?.getData();\n return data ? cachedDecode(data) : undefined;\n };\n return {\n blockId,\n args,\n activeArgs,\n uiState,\n blockMeta: (cCtx: ComputableCtx) => {\n const prj = cCtx.accessor(projectEntry).node();\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const result = new Map<string, Block>();\n for (const block of allBlocks(structure)) result.set(block.id, block);\n return result;\n },\n };\n}\n\nexport function constructBlockContext(\n projectEntry: PlTreeEntry,\n blockId: string,\n): BlockContextFull {\n return {\n ...constructBlockContextArgsOnly(projectEntry, blockId),\n prod: (cCtx: ComputableCtx) => {\n return cCtx\n .accessor(projectEntry)\n .node({ ignoreError: true })\n .traverse({\n field: projectFieldName(blockId, 'prodOutput'),\n stableIfNotFound: true,\n ignoreError: true,\n })\n ?.persist();\n },\n staging: (cCtx: ComputableCtx) => {\n const result = cCtx\n .accessor(projectEntry)\n .node({ ignoreError: true })\n .traverse({\n field: projectFieldName(blockId, 'stagingOutput'),\n ignoreError: true,\n })\n ?.persist();\n if (result === undefined) cCtx.markUnstable('staging_not_rendered');\n return result;\n },\n getResultsPool: (cCtx: ComputableCtx) => ResultPool.create(cCtx, projectEntry, blockId),\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const NonKeyCtxFields = ['$prod', '$staging'];
|
|
4
|
+
function toCfgContext(ctx) {
|
|
5
|
+
return {
|
|
6
|
+
$blockId: ctx.blockId,
|
|
7
|
+
$args: (cCtx) => JSON.parse(ctx.args(cCtx)),
|
|
8
|
+
$ui: (cCtx) => {
|
|
9
|
+
const uiState = ctx.uiState(cCtx);
|
|
10
|
+
return uiState !== undefined ? JSON.parse(uiState) : undefined;
|
|
11
|
+
},
|
|
12
|
+
$prod: ctx.prod,
|
|
13
|
+
$staging: ctx.staging,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.NonKeyCtxFields = NonKeyCtxFields;
|
|
18
|
+
exports.toCfgContext = toCfgContext;
|
|
19
|
+
//# sourceMappingURL=block_ctx_unsafe.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block_ctx_unsafe.cjs","sources":["../../src/middle_layer/block_ctx_unsafe.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport type { PlResourceEntry, StdCtx } from '@platforma-sdk/model';\nimport type { BlockContextAny } from './block_ctx';\n\ntype SC = StdCtx<unknown, unknown>;\ntype SCAO = Pick<SC, '$blockId' | '$ui' | '$args'>;\nexport type MatStdCtxArgsOnly = {\n [Var in keyof SCAO]: SCAO[Var] extends PlResourceEntry\n ? PlTreeEntry | ((cCtx: ComputableCtx) => PlTreeEntry | undefined) | undefined\n : SCAO[Var];\n};\nexport type MatStdCtx = {\n [Var in keyof SC]: SC[Var] extends PlResourceEntry\n ? PlTreeEntry | ((cCtx: ComputableCtx) => PlTreeEntry | undefined) | undefined\n : SC[Var];\n};\n\nexport const NonKeyCtxFields = ['$prod', '$staging'];\n\nexport function toCfgContext(ctx: BlockContextAny): MatStdCtx {\n return {\n $blockId: ctx.blockId,\n $args: (cCtx: ComputableCtx) => JSON.parse(ctx.args(cCtx)) as unknown,\n $ui: (cCtx: ComputableCtx) => {\n const uiState = ctx.uiState(cCtx);\n return uiState !== undefined ? JSON.parse(uiState) as unknown : undefined;\n },\n $prod: ctx.prod,\n $staging: ctx.staging,\n };\n}\n"],"names":[],"mappings":";;MAkBa,eAAe,GAAG,CAAC,OAAO,EAAE,UAAU;AAE7C,SAAU,YAAY,CAAC,GAAoB,EAAA;IAC/C,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,OAAO;AACrB,QAAA,KAAK,EAAE,CAAC,IAAmB,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAY;AACrE,QAAA,GAAG,EAAE,CAAC,IAAmB,KAAI;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,YAAA,OAAO,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,GAAG,SAAS;QAC3E,CAAC;QACD,KAAK,EAAE,GAAG,CAAC,IAAI;QACf,QAAQ,EAAE,GAAG,CAAC,OAAO;KACtB;AACH;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const NonKeyCtxFields = ['$prod', '$staging'];
|
|
2
|
+
function toCfgContext(ctx) {
|
|
3
|
+
return {
|
|
4
|
+
$blockId: ctx.blockId,
|
|
5
|
+
$args: (cCtx) => JSON.parse(ctx.args(cCtx)),
|
|
6
|
+
$ui: (cCtx) => {
|
|
7
|
+
const uiState = ctx.uiState(cCtx);
|
|
8
|
+
return uiState !== undefined ? JSON.parse(uiState) : undefined;
|
|
9
|
+
},
|
|
10
|
+
$prod: ctx.prod,
|
|
11
|
+
$staging: ctx.staging,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { NonKeyCtxFields, toCfgContext };
|
|
16
|
+
//# sourceMappingURL=block_ctx_unsafe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block_ctx_unsafe.js","sources":["../../src/middle_layer/block_ctx_unsafe.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport type { PlTreeEntry } from '@milaboratories/pl-tree';\nimport type { PlResourceEntry, StdCtx } from '@platforma-sdk/model';\nimport type { BlockContextAny } from './block_ctx';\n\ntype SC = StdCtx<unknown, unknown>;\ntype SCAO = Pick<SC, '$blockId' | '$ui' | '$args'>;\nexport type MatStdCtxArgsOnly = {\n [Var in keyof SCAO]: SCAO[Var] extends PlResourceEntry\n ? PlTreeEntry | ((cCtx: ComputableCtx) => PlTreeEntry | undefined) | undefined\n : SCAO[Var];\n};\nexport type MatStdCtx = {\n [Var in keyof SC]: SC[Var] extends PlResourceEntry\n ? PlTreeEntry | ((cCtx: ComputableCtx) => PlTreeEntry | undefined) | undefined\n : SC[Var];\n};\n\nexport const NonKeyCtxFields = ['$prod', '$staging'];\n\nexport function toCfgContext(ctx: BlockContextAny): MatStdCtx {\n return {\n $blockId: ctx.blockId,\n $args: (cCtx: ComputableCtx) => JSON.parse(ctx.args(cCtx)) as unknown,\n $ui: (cCtx: ComputableCtx) => {\n const uiState = ctx.uiState(cCtx);\n return uiState !== undefined ? JSON.parse(uiState) as unknown : undefined;\n },\n $prod: ctx.prod,\n $staging: ctx.staging,\n };\n}\n"],"names":[],"mappings":"MAkBa,eAAe,GAAG,CAAC,OAAO,EAAE,UAAU;AAE7C,SAAU,YAAY,CAAC,GAAoB,EAAA;IAC/C,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,OAAO;AACrB,QAAA,KAAK,EAAE,CAAC,IAAmB,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAY;AACrE,QAAA,GAAG,EAAE,CAAC,IAAmB,KAAI;YAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,YAAA,OAAO,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,GAAG,SAAS;QAC3E,CAAC;QACD,KAAK,EAAE,GAAG,CAAC,IAAI;QACf,QAAQ,EAAE,GAAG,CAAC,OAAO;KACtB;AACH;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var plDrivers = require('@milaboratories/pl-drivers');
|
|
4
|
+
var tsHelpers = require('@milaboratories/ts-helpers');
|
|
5
|
+
var driver = require('../pool/driver.cjs');
|
|
6
|
+
require('@platforma-sdk/model');
|
|
7
|
+
require('../pool/data.cjs');
|
|
8
|
+
var ops = require('./ops.cjs');
|
|
9
|
+
|
|
10
|
+
async function initDriverKit(pl, workdir, frontendDownloadPath, _ops) {
|
|
11
|
+
const ops$1 = {
|
|
12
|
+
...ops.DefaultDriverKitOpsSettings,
|
|
13
|
+
...ops.DefaultDriverKitOpsPaths(workdir),
|
|
14
|
+
..._ops,
|
|
15
|
+
};
|
|
16
|
+
const signer = new tsHelpers.HmacSha256Signer(ops$1.localSecret);
|
|
17
|
+
const downloadClient = plDrivers.createDownloadClient(ops$1.logger, pl, ops$1.localProjections);
|
|
18
|
+
const logsClient = plDrivers.createLogsClient(pl, ops$1.logger);
|
|
19
|
+
const uploadBlobClient = plDrivers.createUploadBlobClient(pl, ops$1.logger);
|
|
20
|
+
const uploadProgressClient = plDrivers.createUploadProgressClient(pl, ops$1.logger);
|
|
21
|
+
const blobDriver = await plDrivers.DownloadDriver.init(ops$1.logger, downloadClient, logsClient, ops$1.blobDownloadPath, ops$1.blobDownloadRangesCachePath, signer, ops$1.blobDriverOps);
|
|
22
|
+
const blobToURLDriver = new plDrivers.DownloadBlobToURLDriver(ops$1.logger, signer, downloadClient, ops$1.downloadBlobToURLPath, ops$1.downloadBlobToURLDriverOps);
|
|
23
|
+
const uploadDriver = new plDrivers.UploadDriver(ops$1.logger, signer, uploadBlobClient, uploadProgressClient, ops$1.uploadDriverOps);
|
|
24
|
+
const logsStreamDriver = new plDrivers.LogsStreamDriver(ops$1.logger, logsClient, ops$1.logStreamDriverOps);
|
|
25
|
+
const logDriver = new plDrivers.LogsDriver(ops$1.logger, logsStreamDriver, blobDriver);
|
|
26
|
+
const lsDriver = await plDrivers.LsDriver.init(ops$1.logger, pl, signer, ops$1.localProjections, ops$1.openFileDialogCallback, ops$1.virtualLocalStoragesOverride);
|
|
27
|
+
const pFrameDriver = await driver.PFrameDriver.init(blobDriver, ops$1.logger, ops$1.pframesSpillPath, ops$1.pFrameDriverOps);
|
|
28
|
+
const frontendDownloadDriver = new plDrivers.DownloadUrlDriver(ops$1.logger, pl.httpDispatcher, frontendDownloadPath, signer, ops$1.frontendDownloadDriverOps);
|
|
29
|
+
return {
|
|
30
|
+
blobDriver,
|
|
31
|
+
blobToURLDriver: blobToURLDriver,
|
|
32
|
+
logDriver,
|
|
33
|
+
lsDriver,
|
|
34
|
+
signer,
|
|
35
|
+
uploadDriver,
|
|
36
|
+
pFrameDriver,
|
|
37
|
+
frontendDriver: frontendDownloadDriver,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
exports.initDriverKit = initDriverKit;
|
|
42
|
+
//# sourceMappingURL=driver_kit.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver_kit.cjs","sources":["../../src/middle_layer/driver_kit.ts"],"sourcesContent":["import type { PlClient } from '@milaboratories/pl-client';\nimport type {\n InternalLsDriver } from '@milaboratories/pl-drivers';\nimport {\n createDownloadClient,\n createLogsClient,\n createUploadBlobClient,\n createUploadProgressClient,\n DownloadDriver,\n DownloadBlobToURLDriver,\n LogsDriver,\n LogsStreamDriver,\n LsDriver,\n UploadDriver,\n DownloadUrlDriver,\n} from '@milaboratories/pl-drivers';\nimport type * as Sdk from '@milaboratories/pl-model-common';\nimport type { Signer } from '@milaboratories/ts-helpers';\nimport { HmacSha256Signer } from '@milaboratories/ts-helpers';\nimport type { InternalPFrameDriver } from '../pool';\nimport { PFrameDriver } from '../pool';\nimport type {\n DriverKitOps,\n DriverKitOpsConstructor,\n} from './ops';\nimport {\n DefaultDriverKitOpsPaths,\n DefaultDriverKitOpsSettings,\n} from './ops';\n\n/**\n * Drivers offered by the middle-layer for internal consumers,\n * like configuration rendering routines.\n *\n * This intertface is basically a version of the DriverKit from\n * UI SDK with extended API.\n * */\nexport interface MiddleLayerDriverKit extends Sdk.DriverKit {\n // override with wider interface\n readonly blobDriver: DownloadDriver;\n // override with wider interface\n readonly blobToURLDriver: DownloadBlobToURLDriver;\n // override with wider interface\n readonly logDriver: LogsDriver;\n // override with wider interface\n readonly lsDriver: InternalLsDriver;\n // override with wider interface\n readonly pFrameDriver: InternalPFrameDriver;\n // override with wider interface\n readonly frontendDriver: DownloadUrlDriver;\n\n /**\n * Signer is initialized from local secret in drivers initialization routine,\n * so constitutes a part of the driver kit\n * */\n readonly signer: Signer;\n\n /**\n * Used to retrieve upload progress, and initiate upload porecesses driven by\n * upload requests from block outputs.\n * */\n readonly uploadDriver: UploadDriver;\n}\n\nexport async function initDriverKit(\n pl: PlClient,\n workdir: string,\n frontendDownloadPath: string,\n _ops: DriverKitOpsConstructor,\n): Promise<MiddleLayerDriverKit> {\n const ops: DriverKitOps = {\n ...DefaultDriverKitOpsSettings,\n ...DefaultDriverKitOpsPaths(workdir),\n ..._ops,\n };\n\n const signer = new HmacSha256Signer(ops.localSecret);\n\n const downloadClient = createDownloadClient(ops.logger, pl, ops.localProjections);\n const logsClient = createLogsClient(pl, ops.logger);\n const uploadBlobClient = createUploadBlobClient(pl, ops.logger);\n const uploadProgressClient = createUploadProgressClient(pl, ops.logger);\n\n const blobDriver = await DownloadDriver.init(\n ops.logger,\n downloadClient,\n logsClient,\n ops.blobDownloadPath,\n ops.blobDownloadRangesCachePath,\n signer,\n ops.blobDriverOps,\n );\n\n const blobToURLDriver = new DownloadBlobToURLDriver(\n ops.logger,\n signer,\n downloadClient,\n ops.downloadBlobToURLPath,\n ops.downloadBlobToURLDriverOps,\n );\n\n const uploadDriver = new UploadDriver(\n ops.logger,\n signer,\n uploadBlobClient,\n uploadProgressClient,\n ops.uploadDriverOps,\n );\n const logsStreamDriver = new LogsStreamDriver(ops.logger, logsClient, ops.logStreamDriverOps);\n const logDriver = new LogsDriver(ops.logger, logsStreamDriver, blobDriver);\n const lsDriver = await LsDriver.init(\n ops.logger,\n pl,\n signer,\n ops.localProjections,\n ops.openFileDialogCallback,\n ops.virtualLocalStoragesOverride,\n );\n\n const pFrameDriver = await PFrameDriver.init(\n blobDriver,\n ops.logger,\n ops.pframesSpillPath,\n ops.pFrameDriverOps,\n );\n\n const frontendDownloadDriver = new DownloadUrlDriver(\n ops.logger,\n pl.httpDispatcher,\n frontendDownloadPath,\n signer,\n ops.frontendDownloadDriverOps,\n );\n\n return {\n blobDriver,\n blobToURLDriver: blobToURLDriver,\n logDriver,\n lsDriver,\n signer,\n uploadDriver,\n pFrameDriver,\n frontendDriver: frontendDownloadDriver,\n };\n}\n"],"names":["ops","DefaultDriverKitOpsSettings","DefaultDriverKitOpsPaths","HmacSha256Signer","createDownloadClient","createLogsClient","createUploadBlobClient","createUploadProgressClient","DownloadDriver","DownloadBlobToURLDriver","UploadDriver","LogsStreamDriver","LogsDriver","LsDriver","PFrameDriver","DownloadUrlDriver"],"mappings":";;;;;;;;;AAgEO,eAAe,aAAa,CACjC,EAAY,EACZ,OAAe,EACf,oBAA4B,EAC5B,IAA6B,EAAA;AAE7B,IAAA,MAAMA,KAAG,GAAiB;AACxB,QAAA,GAAGC,+BAA2B;QAC9B,GAAGC,4BAAwB,CAAC,OAAO,CAAC;AACpC,QAAA,GAAG,IAAI;KACR;IAED,MAAM,MAAM,GAAG,IAAIC,0BAAgB,CAACH,KAAG,CAAC,WAAW,CAAC;AAEpD,IAAA,MAAM,cAAc,GAAGI,8BAAoB,CAACJ,KAAG,CAAC,MAAM,EAAE,EAAE,EAAEA,KAAG,CAAC,gBAAgB,CAAC;IACjF,MAAM,UAAU,GAAGK,0BAAgB,CAAC,EAAE,EAAEL,KAAG,CAAC,MAAM,CAAC;IACnD,MAAM,gBAAgB,GAAGM,gCAAsB,CAAC,EAAE,EAAEN,KAAG,CAAC,MAAM,CAAC;IAC/D,MAAM,oBAAoB,GAAGO,oCAA0B,CAAC,EAAE,EAAEP,KAAG,CAAC,MAAM,CAAC;AAEvE,IAAA,MAAM,UAAU,GAAG,MAAMQ,wBAAc,CAAC,IAAI,CAC1CR,KAAG,CAAC,MAAM,EACV,cAAc,EACd,UAAU,EACVA,KAAG,CAAC,gBAAgB,EACpBA,KAAG,CAAC,2BAA2B,EAC/B,MAAM,EACNA,KAAG,CAAC,aAAa,CAClB;IAED,MAAM,eAAe,GAAG,IAAIS,iCAAuB,CACjDT,KAAG,CAAC,MAAM,EACV,MAAM,EACN,cAAc,EACdA,KAAG,CAAC,qBAAqB,EACzBA,KAAG,CAAC,0BAA0B,CAC/B;AAED,IAAA,MAAM,YAAY,GAAG,IAAIU,sBAAY,CACnCV,KAAG,CAAC,MAAM,EACV,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpBA,KAAG,CAAC,eAAe,CACpB;AACD,IAAA,MAAM,gBAAgB,GAAG,IAAIW,0BAAgB,CAACX,KAAG,CAAC,MAAM,EAAE,UAAU,EAAEA,KAAG,CAAC,kBAAkB,CAAC;AAC7F,IAAA,MAAM,SAAS,GAAG,IAAIY,oBAAU,CAACZ,KAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC;IAC1E,MAAM,QAAQ,GAAG,MAAMa,kBAAQ,CAAC,IAAI,CAClCb,KAAG,CAAC,MAAM,EACV,EAAE,EACF,MAAM,EACNA,KAAG,CAAC,gBAAgB,EACpBA,KAAG,CAAC,sBAAsB,EAC1BA,KAAG,CAAC,4BAA4B,CACjC;IAED,MAAM,YAAY,GAAG,MAAMc,mBAAY,CAAC,IAAI,CAC1C,UAAU,EACVd,KAAG,CAAC,MAAM,EACVA,KAAG,CAAC,gBAAgB,EACpBA,KAAG,CAAC,eAAe,CACpB;IAED,MAAM,sBAAsB,GAAG,IAAIe,2BAAiB,CAClDf,KAAG,CAAC,MAAM,EACV,EAAE,CAAC,cAAc,EACjB,oBAAoB,EACpB,MAAM,EACNA,KAAG,CAAC,yBAAyB,CAC9B;IAED,OAAO;QACL,UAAU;AACV,QAAA,eAAe,EAAE,eAAe;QAChC,SAAS;QACT,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,YAAY;AACZ,QAAA,cAAc,EAAE,sBAAsB;KACvC;AACH;;;;"}
|
|
@@ -30,4 +30,3 @@ export interface MiddleLayerDriverKit extends Sdk.DriverKit {
|
|
|
30
30
|
readonly uploadDriver: UploadDriver;
|
|
31
31
|
}
|
|
32
32
|
export declare function initDriverKit(pl: PlClient, workdir: string, frontendDownloadPath: string, _ops: DriverKitOpsConstructor): Promise<MiddleLayerDriverKit>;
|
|
33
|
-
//# sourceMappingURL=driver_kit.d.ts.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createDownloadClient, createLogsClient, createUploadBlobClient, createUploadProgressClient, DownloadDriver, DownloadBlobToURLDriver, UploadDriver, LogsStreamDriver, LogsDriver, LsDriver, DownloadUrlDriver } from '@milaboratories/pl-drivers';
|
|
2
|
+
import { HmacSha256Signer } from '@milaboratories/ts-helpers';
|
|
3
|
+
import { PFrameDriver } from '../pool/driver.js';
|
|
4
|
+
import '@platforma-sdk/model';
|
|
5
|
+
import '../pool/data.js';
|
|
6
|
+
import { DefaultDriverKitOpsPaths, DefaultDriverKitOpsSettings } from './ops.js';
|
|
7
|
+
|
|
8
|
+
async function initDriverKit(pl, workdir, frontendDownloadPath, _ops) {
|
|
9
|
+
const ops = {
|
|
10
|
+
...DefaultDriverKitOpsSettings,
|
|
11
|
+
...DefaultDriverKitOpsPaths(workdir),
|
|
12
|
+
..._ops,
|
|
13
|
+
};
|
|
14
|
+
const signer = new HmacSha256Signer(ops.localSecret);
|
|
15
|
+
const downloadClient = createDownloadClient(ops.logger, pl, ops.localProjections);
|
|
16
|
+
const logsClient = createLogsClient(pl, ops.logger);
|
|
17
|
+
const uploadBlobClient = createUploadBlobClient(pl, ops.logger);
|
|
18
|
+
const uploadProgressClient = createUploadProgressClient(pl, ops.logger);
|
|
19
|
+
const blobDriver = await DownloadDriver.init(ops.logger, downloadClient, logsClient, ops.blobDownloadPath, ops.blobDownloadRangesCachePath, signer, ops.blobDriverOps);
|
|
20
|
+
const blobToURLDriver = new DownloadBlobToURLDriver(ops.logger, signer, downloadClient, ops.downloadBlobToURLPath, ops.downloadBlobToURLDriverOps);
|
|
21
|
+
const uploadDriver = new UploadDriver(ops.logger, signer, uploadBlobClient, uploadProgressClient, ops.uploadDriverOps);
|
|
22
|
+
const logsStreamDriver = new LogsStreamDriver(ops.logger, logsClient, ops.logStreamDriverOps);
|
|
23
|
+
const logDriver = new LogsDriver(ops.logger, logsStreamDriver, blobDriver);
|
|
24
|
+
const lsDriver = await LsDriver.init(ops.logger, pl, signer, ops.localProjections, ops.openFileDialogCallback, ops.virtualLocalStoragesOverride);
|
|
25
|
+
const pFrameDriver = await PFrameDriver.init(blobDriver, ops.logger, ops.pframesSpillPath, ops.pFrameDriverOps);
|
|
26
|
+
const frontendDownloadDriver = new DownloadUrlDriver(ops.logger, pl.httpDispatcher, frontendDownloadPath, signer, ops.frontendDownloadDriverOps);
|
|
27
|
+
return {
|
|
28
|
+
blobDriver,
|
|
29
|
+
blobToURLDriver: blobToURLDriver,
|
|
30
|
+
logDriver,
|
|
31
|
+
lsDriver,
|
|
32
|
+
signer,
|
|
33
|
+
uploadDriver,
|
|
34
|
+
pFrameDriver,
|
|
35
|
+
frontendDriver: frontendDownloadDriver,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { initDriverKit };
|
|
40
|
+
//# sourceMappingURL=driver_kit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver_kit.js","sources":["../../src/middle_layer/driver_kit.ts"],"sourcesContent":["import type { PlClient } from '@milaboratories/pl-client';\nimport type {\n InternalLsDriver } from '@milaboratories/pl-drivers';\nimport {\n createDownloadClient,\n createLogsClient,\n createUploadBlobClient,\n createUploadProgressClient,\n DownloadDriver,\n DownloadBlobToURLDriver,\n LogsDriver,\n LogsStreamDriver,\n LsDriver,\n UploadDriver,\n DownloadUrlDriver,\n} from '@milaboratories/pl-drivers';\nimport type * as Sdk from '@milaboratories/pl-model-common';\nimport type { Signer } from '@milaboratories/ts-helpers';\nimport { HmacSha256Signer } from '@milaboratories/ts-helpers';\nimport type { InternalPFrameDriver } from '../pool';\nimport { PFrameDriver } from '../pool';\nimport type {\n DriverKitOps,\n DriverKitOpsConstructor,\n} from './ops';\nimport {\n DefaultDriverKitOpsPaths,\n DefaultDriverKitOpsSettings,\n} from './ops';\n\n/**\n * Drivers offered by the middle-layer for internal consumers,\n * like configuration rendering routines.\n *\n * This intertface is basically a version of the DriverKit from\n * UI SDK with extended API.\n * */\nexport interface MiddleLayerDriverKit extends Sdk.DriverKit {\n // override with wider interface\n readonly blobDriver: DownloadDriver;\n // override with wider interface\n readonly blobToURLDriver: DownloadBlobToURLDriver;\n // override with wider interface\n readonly logDriver: LogsDriver;\n // override with wider interface\n readonly lsDriver: InternalLsDriver;\n // override with wider interface\n readonly pFrameDriver: InternalPFrameDriver;\n // override with wider interface\n readonly frontendDriver: DownloadUrlDriver;\n\n /**\n * Signer is initialized from local secret in drivers initialization routine,\n * so constitutes a part of the driver kit\n * */\n readonly signer: Signer;\n\n /**\n * Used to retrieve upload progress, and initiate upload porecesses driven by\n * upload requests from block outputs.\n * */\n readonly uploadDriver: UploadDriver;\n}\n\nexport async function initDriverKit(\n pl: PlClient,\n workdir: string,\n frontendDownloadPath: string,\n _ops: DriverKitOpsConstructor,\n): Promise<MiddleLayerDriverKit> {\n const ops: DriverKitOps = {\n ...DefaultDriverKitOpsSettings,\n ...DefaultDriverKitOpsPaths(workdir),\n ..._ops,\n };\n\n const signer = new HmacSha256Signer(ops.localSecret);\n\n const downloadClient = createDownloadClient(ops.logger, pl, ops.localProjections);\n const logsClient = createLogsClient(pl, ops.logger);\n const uploadBlobClient = createUploadBlobClient(pl, ops.logger);\n const uploadProgressClient = createUploadProgressClient(pl, ops.logger);\n\n const blobDriver = await DownloadDriver.init(\n ops.logger,\n downloadClient,\n logsClient,\n ops.blobDownloadPath,\n ops.blobDownloadRangesCachePath,\n signer,\n ops.blobDriverOps,\n );\n\n const blobToURLDriver = new DownloadBlobToURLDriver(\n ops.logger,\n signer,\n downloadClient,\n ops.downloadBlobToURLPath,\n ops.downloadBlobToURLDriverOps,\n );\n\n const uploadDriver = new UploadDriver(\n ops.logger,\n signer,\n uploadBlobClient,\n uploadProgressClient,\n ops.uploadDriverOps,\n );\n const logsStreamDriver = new LogsStreamDriver(ops.logger, logsClient, ops.logStreamDriverOps);\n const logDriver = new LogsDriver(ops.logger, logsStreamDriver, blobDriver);\n const lsDriver = await LsDriver.init(\n ops.logger,\n pl,\n signer,\n ops.localProjections,\n ops.openFileDialogCallback,\n ops.virtualLocalStoragesOverride,\n );\n\n const pFrameDriver = await PFrameDriver.init(\n blobDriver,\n ops.logger,\n ops.pframesSpillPath,\n ops.pFrameDriverOps,\n );\n\n const frontendDownloadDriver = new DownloadUrlDriver(\n ops.logger,\n pl.httpDispatcher,\n frontendDownloadPath,\n signer,\n ops.frontendDownloadDriverOps,\n );\n\n return {\n blobDriver,\n blobToURLDriver: blobToURLDriver,\n logDriver,\n lsDriver,\n signer,\n uploadDriver,\n pFrameDriver,\n frontendDriver: frontendDownloadDriver,\n };\n}\n"],"names":[],"mappings":";;;;;;;AAgEO,eAAe,aAAa,CACjC,EAAY,EACZ,OAAe,EACf,oBAA4B,EAC5B,IAA6B,EAAA;AAE7B,IAAA,MAAM,GAAG,GAAiB;AACxB,QAAA,GAAG,2BAA2B;QAC9B,GAAG,wBAAwB,CAAC,OAAO,CAAC;AACpC,QAAA,GAAG,IAAI;KACR;IAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC;AAEpD,IAAA,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,gBAAgB,CAAC;IACjF,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC;IACnD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC;IAC/D,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC;AAEvE,IAAA,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAC1C,GAAG,CAAC,MAAM,EACV,cAAc,EACd,UAAU,EACV,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,2BAA2B,EAC/B,MAAM,EACN,GAAG,CAAC,aAAa,CAClB;IAED,MAAM,eAAe,GAAG,IAAI,uBAAuB,CACjD,GAAG,CAAC,MAAM,EACV,MAAM,EACN,cAAc,EACd,GAAG,CAAC,qBAAqB,EACzB,GAAG,CAAC,0BAA0B,CAC/B;AAED,IAAA,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,GAAG,CAAC,MAAM,EACV,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,GAAG,CAAC,eAAe,CACpB;AACD,IAAA,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,kBAAkB,CAAC;AAC7F,IAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC;IAC1E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAClC,GAAG,CAAC,MAAM,EACV,EAAE,EACF,MAAM,EACN,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,sBAAsB,EAC1B,GAAG,CAAC,4BAA4B,CACjC;IAED,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAC1C,UAAU,EACV,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,gBAAgB,EACpB,GAAG,CAAC,eAAe,CACpB;IAED,MAAM,sBAAsB,GAAG,IAAI,iBAAiB,CAClD,GAAG,CAAC,MAAM,EACV,EAAE,CAAC,cAAc,EACjB,oBAAoB,EACpB,MAAM,EACN,GAAG,CAAC,yBAAyB,CAC9B;IAED,OAAO;QACL,UAAU;AACV,QAAA,eAAe,EAAE,eAAe;QAChC,SAAS;QACT,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,YAAY;AACZ,QAAA,cAAc,EAAE,sBAAsB;KACvC;AACH;;;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var computable = require('@milaboratories/computable');
|
|
4
|
+
var plClient = require('@milaboratories/pl-client');
|
|
5
|
+
var block_pack_spec = require('../model/block_pack_spec.cjs');
|
|
6
|
+
var project_model = require('../model/project_model.cjs');
|
|
7
|
+
var block_pack = require('../mutator/block-pack/block_pack.cjs');
|
|
8
|
+
var util = require('./util.cjs');
|
|
9
|
+
|
|
10
|
+
function kernel(frontendRes, env) {
|
|
11
|
+
const node = frontendRes.node();
|
|
12
|
+
if (plClient.resourceTypesEqual(node.resourceType, block_pack_spec.FrontendFromUrlResourceType)) {
|
|
13
|
+
const data = node.getDataAsJson();
|
|
14
|
+
if (data === undefined)
|
|
15
|
+
throw new Error(`No resource data.`);
|
|
16
|
+
return env.frontendDownloadDriver.getUrl(new URL(data.url)).withStableType();
|
|
17
|
+
}
|
|
18
|
+
else if (plClient.resourceTypesEqual(node.resourceType, block_pack_spec.FrontendFromFolderResourceType)) {
|
|
19
|
+
const data = node.getDataAsJson();
|
|
20
|
+
if (data === undefined)
|
|
21
|
+
throw new Error(`No resource data.`);
|
|
22
|
+
env.signer.verify(data.path, data.signature, `Frontend path signature mismatch for: ${data.path}`);
|
|
23
|
+
return data.path;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
throw new Error(`Unsupported resource type: ${JSON.stringify(node.resourceType)}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function frontendUrlComputable(entry, env) {
|
|
30
|
+
if (entry === undefined)
|
|
31
|
+
return undefined;
|
|
32
|
+
return computable.Computable.make((c) => {
|
|
33
|
+
return kernel(c.accessor(entry), env);
|
|
34
|
+
}, {
|
|
35
|
+
postprocessValue: (v) => {
|
|
36
|
+
if (v === undefined)
|
|
37
|
+
return undefined;
|
|
38
|
+
if (typeof v === 'string')
|
|
39
|
+
return v;
|
|
40
|
+
if (v.error !== undefined)
|
|
41
|
+
throw new Error(v.error);
|
|
42
|
+
return v.url;
|
|
43
|
+
},
|
|
44
|
+
}).withStableType();
|
|
45
|
+
}
|
|
46
|
+
function frontendData(projectEntry, id, env) {
|
|
47
|
+
return computable.Computable.make((ctx) => {
|
|
48
|
+
const prj = ctx.accessor(projectEntry).node();
|
|
49
|
+
const bp = util.getBlockPackInfo(prj, id);
|
|
50
|
+
const frontendEntry = prj
|
|
51
|
+
.traverse({
|
|
52
|
+
field: project_model.projectFieldName(id, 'blockPack'),
|
|
53
|
+
assertFieldType: 'Dynamic',
|
|
54
|
+
}, { field: plClient.Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true }, { field: block_pack.BlockPackFrontendField, assertFieldType: 'Input' })
|
|
55
|
+
?.persist();
|
|
56
|
+
return {
|
|
57
|
+
url: frontendUrlComputable(frontendEntry, env),
|
|
58
|
+
sdkVersion: bp?.cfg.sdkVersion,
|
|
59
|
+
};
|
|
60
|
+
}, { mode: 'StableOnlyLive' });
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
exports.frontendData = frontendData;
|
|
64
|
+
//# sourceMappingURL=frontend_path.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend_path.cjs","sources":["../../src/middle_layer/frontend_path.ts"],"sourcesContent":["import type { PlTreeEntry, PlTreeEntryAccessor } from '@milaboratories/pl-tree';\nimport type { MiddleLayerEnvironment } from './middle_layer';\nimport type { ComputableStableDefined } from '@milaboratories/computable';\nimport { Computable } from '@milaboratories/computable';\nimport { Pl, resourceTypesEqual } from '@milaboratories/pl-client';\nimport type {\n FrontendFromFolderData,\n FrontendFromUrlData } from '../model';\nimport {\n FrontendFromFolderResourceType,\n FrontendFromUrlResourceType,\n} from '../model';\nimport type { UrlResult } from '@milaboratories/pl-drivers';\nimport { projectFieldName } from '../model/project_model';\nimport { BlockPackFrontendField } from '../mutator/block-pack/block_pack';\nimport { getBlockPackInfo } from './util';\nimport type { FrontendData } from '../model/frontend';\n\nfunction kernel(\n frontendRes: PlTreeEntryAccessor,\n env: MiddleLayerEnvironment,\n): undefined | string | ComputableStableDefined<UrlResult> {\n const node = frontendRes.node();\n if (resourceTypesEqual(node.resourceType, FrontendFromUrlResourceType)) {\n const data = node.getDataAsJson<FrontendFromUrlData>();\n if (data === undefined) throw new Error(`No resource data.`);\n return env.frontendDownloadDriver.getUrl(new URL(data.url)).withStableType();\n } else if (resourceTypesEqual(node.resourceType, FrontendFromFolderResourceType)) {\n const data = node.getDataAsJson<FrontendFromFolderData>();\n if (data === undefined) throw new Error(`No resource data.`);\n env.signer.verify(\n data.path,\n data.signature,\n `Frontend path signature mismatch for: ${data.path}`,\n );\n return data.path;\n } else {\n throw new Error(`Unsupported resource type: ${JSON.stringify(node.resourceType)}`);\n }\n}\n\nfunction frontendUrlComputable(\n entry: PlTreeEntry | undefined,\n env: MiddleLayerEnvironment,\n): ComputableStableDefined<string> | undefined {\n if (entry === undefined) return undefined;\n return Computable.make(\n (c) => {\n return kernel(c.accessor(entry), env);\n },\n {\n postprocessValue: (v) => {\n if (v === undefined) return undefined;\n if (typeof v === 'string') return v;\n if (v.error !== undefined) throw new Error(v.error);\n return v.url;\n },\n },\n ).withStableType();\n}\n\nexport function frontendData(\n projectEntry: PlTreeEntry,\n id: string,\n env: MiddleLayerEnvironment,\n): ComputableStableDefined<FrontendData> {\n return Computable.make(\n (ctx) => {\n const prj = ctx.accessor(projectEntry).node();\n const bp = getBlockPackInfo(prj, id);\n const frontendEntry = prj\n .traverse(\n {\n field: projectFieldName(id, 'blockPack'),\n assertFieldType: 'Dynamic',\n },\n { field: Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true },\n { field: BlockPackFrontendField, assertFieldType: 'Input' },\n )\n ?.persist();\n return {\n url: frontendUrlComputable(frontendEntry, env),\n sdkVersion: bp?.cfg.sdkVersion,\n };\n },\n { mode: 'StableOnlyLive' },\n ) as ComputableStableDefined<FrontendData>;\n}\n"],"names":["resourceTypesEqual","FrontendFromUrlResourceType","FrontendFromFolderResourceType","Computable","getBlockPackInfo","projectFieldName","Pl","BlockPackFrontendField"],"mappings":"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"}
|
|
@@ -3,4 +3,3 @@ import { MiddleLayerEnvironment } from './middle_layer';
|
|
|
3
3
|
import { ComputableStableDefined } from '@milaboratories/computable';
|
|
4
4
|
import { FrontendData } from '../model/frontend';
|
|
5
5
|
export declare function frontendData(projectEntry: PlTreeEntry, id: string, env: MiddleLayerEnvironment): ComputableStableDefined<FrontendData>;
|
|
6
|
-
//# sourceMappingURL=frontend_path.d.ts.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Computable } from '@milaboratories/computable';
|
|
2
|
+
import { Pl, resourceTypesEqual } from '@milaboratories/pl-client';
|
|
3
|
+
import { FrontendFromUrlResourceType, FrontendFromFolderResourceType } from '../model/block_pack_spec.js';
|
|
4
|
+
import { projectFieldName } from '../model/project_model.js';
|
|
5
|
+
import { BlockPackFrontendField } from '../mutator/block-pack/block_pack.js';
|
|
6
|
+
import { getBlockPackInfo } from './util.js';
|
|
7
|
+
|
|
8
|
+
function kernel(frontendRes, env) {
|
|
9
|
+
const node = frontendRes.node();
|
|
10
|
+
if (resourceTypesEqual(node.resourceType, FrontendFromUrlResourceType)) {
|
|
11
|
+
const data = node.getDataAsJson();
|
|
12
|
+
if (data === undefined)
|
|
13
|
+
throw new Error(`No resource data.`);
|
|
14
|
+
return env.frontendDownloadDriver.getUrl(new URL(data.url)).withStableType();
|
|
15
|
+
}
|
|
16
|
+
else if (resourceTypesEqual(node.resourceType, FrontendFromFolderResourceType)) {
|
|
17
|
+
const data = node.getDataAsJson();
|
|
18
|
+
if (data === undefined)
|
|
19
|
+
throw new Error(`No resource data.`);
|
|
20
|
+
env.signer.verify(data.path, data.signature, `Frontend path signature mismatch for: ${data.path}`);
|
|
21
|
+
return data.path;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
throw new Error(`Unsupported resource type: ${JSON.stringify(node.resourceType)}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function frontendUrlComputable(entry, env) {
|
|
28
|
+
if (entry === undefined)
|
|
29
|
+
return undefined;
|
|
30
|
+
return Computable.make((c) => {
|
|
31
|
+
return kernel(c.accessor(entry), env);
|
|
32
|
+
}, {
|
|
33
|
+
postprocessValue: (v) => {
|
|
34
|
+
if (v === undefined)
|
|
35
|
+
return undefined;
|
|
36
|
+
if (typeof v === 'string')
|
|
37
|
+
return v;
|
|
38
|
+
if (v.error !== undefined)
|
|
39
|
+
throw new Error(v.error);
|
|
40
|
+
return v.url;
|
|
41
|
+
},
|
|
42
|
+
}).withStableType();
|
|
43
|
+
}
|
|
44
|
+
function frontendData(projectEntry, id, env) {
|
|
45
|
+
return Computable.make((ctx) => {
|
|
46
|
+
const prj = ctx.accessor(projectEntry).node();
|
|
47
|
+
const bp = getBlockPackInfo(prj, id);
|
|
48
|
+
const frontendEntry = prj
|
|
49
|
+
.traverse({
|
|
50
|
+
field: projectFieldName(id, 'blockPack'),
|
|
51
|
+
assertFieldType: 'Dynamic',
|
|
52
|
+
}, { field: Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true }, { field: BlockPackFrontendField, assertFieldType: 'Input' })
|
|
53
|
+
?.persist();
|
|
54
|
+
return {
|
|
55
|
+
url: frontendUrlComputable(frontendEntry, env),
|
|
56
|
+
sdkVersion: bp?.cfg.sdkVersion,
|
|
57
|
+
};
|
|
58
|
+
}, { mode: 'StableOnlyLive' });
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { frontendData };
|
|
62
|
+
//# sourceMappingURL=frontend_path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend_path.js","sources":["../../src/middle_layer/frontend_path.ts"],"sourcesContent":["import type { PlTreeEntry, PlTreeEntryAccessor } from '@milaboratories/pl-tree';\nimport type { MiddleLayerEnvironment } from './middle_layer';\nimport type { ComputableStableDefined } from '@milaboratories/computable';\nimport { Computable } from '@milaboratories/computable';\nimport { Pl, resourceTypesEqual } from '@milaboratories/pl-client';\nimport type {\n FrontendFromFolderData,\n FrontendFromUrlData } from '../model';\nimport {\n FrontendFromFolderResourceType,\n FrontendFromUrlResourceType,\n} from '../model';\nimport type { UrlResult } from '@milaboratories/pl-drivers';\nimport { projectFieldName } from '../model/project_model';\nimport { BlockPackFrontendField } from '../mutator/block-pack/block_pack';\nimport { getBlockPackInfo } from './util';\nimport type { FrontendData } from '../model/frontend';\n\nfunction kernel(\n frontendRes: PlTreeEntryAccessor,\n env: MiddleLayerEnvironment,\n): undefined | string | ComputableStableDefined<UrlResult> {\n const node = frontendRes.node();\n if (resourceTypesEqual(node.resourceType, FrontendFromUrlResourceType)) {\n const data = node.getDataAsJson<FrontendFromUrlData>();\n if (data === undefined) throw new Error(`No resource data.`);\n return env.frontendDownloadDriver.getUrl(new URL(data.url)).withStableType();\n } else if (resourceTypesEqual(node.resourceType, FrontendFromFolderResourceType)) {\n const data = node.getDataAsJson<FrontendFromFolderData>();\n if (data === undefined) throw new Error(`No resource data.`);\n env.signer.verify(\n data.path,\n data.signature,\n `Frontend path signature mismatch for: ${data.path}`,\n );\n return data.path;\n } else {\n throw new Error(`Unsupported resource type: ${JSON.stringify(node.resourceType)}`);\n }\n}\n\nfunction frontendUrlComputable(\n entry: PlTreeEntry | undefined,\n env: MiddleLayerEnvironment,\n): ComputableStableDefined<string> | undefined {\n if (entry === undefined) return undefined;\n return Computable.make(\n (c) => {\n return kernel(c.accessor(entry), env);\n },\n {\n postprocessValue: (v) => {\n if (v === undefined) return undefined;\n if (typeof v === 'string') return v;\n if (v.error !== undefined) throw new Error(v.error);\n return v.url;\n },\n },\n ).withStableType();\n}\n\nexport function frontendData(\n projectEntry: PlTreeEntry,\n id: string,\n env: MiddleLayerEnvironment,\n): ComputableStableDefined<FrontendData> {\n return Computable.make(\n (ctx) => {\n const prj = ctx.accessor(projectEntry).node();\n const bp = getBlockPackInfo(prj, id);\n const frontendEntry = prj\n .traverse(\n {\n field: projectFieldName(id, 'blockPack'),\n assertFieldType: 'Dynamic',\n },\n { field: Pl.HolderRefField, assertFieldType: 'Input', errorIfFieldNotFound: true },\n { field: BlockPackFrontendField, assertFieldType: 'Input' },\n )\n ?.persist();\n return {\n url: frontendUrlComputable(frontendEntry, env),\n sdkVersion: bp?.cfg.sdkVersion,\n };\n },\n { mode: 'StableOnlyLive' },\n ) as ComputableStableDefined<FrontendData>;\n}\n"],"names":[],"mappings":"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"}
|