@milaboratories/pl-middle-layer 1.42.1 → 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,265 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var model = require('@platforma-sdk/model');
|
|
4
|
+
var tsHelpers = require('@milaboratories/ts-helpers');
|
|
5
|
+
var args = require('../model/args.cjs');
|
|
6
|
+
var project_model = require('../model/project_model.cjs');
|
|
7
|
+
var project_model_util = require('../model/project_model_util.cjs');
|
|
8
|
+
var data = require('./data.cjs');
|
|
9
|
+
var p_object_collection = require('./p_object_collection.cjs');
|
|
10
|
+
|
|
11
|
+
class ResultPool {
|
|
12
|
+
ctx;
|
|
13
|
+
blocks;
|
|
14
|
+
allSpecsAvailable;
|
|
15
|
+
constructor(ctx, blocks) {
|
|
16
|
+
this.ctx = ctx;
|
|
17
|
+
this.blocks = blocks;
|
|
18
|
+
let allSpecsAvailable = true;
|
|
19
|
+
outer: for (const block of blocks.values()) {
|
|
20
|
+
for (const ctx of [block.prod, block.staging])
|
|
21
|
+
if (ctx !== undefined) {
|
|
22
|
+
if (!ctx.locked) {
|
|
23
|
+
allSpecsAvailable = false;
|
|
24
|
+
break outer;
|
|
25
|
+
}
|
|
26
|
+
for (const result of ctx.results.values()) {
|
|
27
|
+
if (result.spec === undefined) {
|
|
28
|
+
allSpecsAvailable = false;
|
|
29
|
+
break outer;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
this.allSpecsAvailable = allSpecsAvailable;
|
|
35
|
+
}
|
|
36
|
+
getSpecByRef(blockId, exportName) {
|
|
37
|
+
const block = this.blocks.get(blockId);
|
|
38
|
+
if (block === undefined)
|
|
39
|
+
return undefined;
|
|
40
|
+
let result = block.prod?.results?.get(exportName)?.spec;
|
|
41
|
+
if (result !== undefined)
|
|
42
|
+
return result;
|
|
43
|
+
result = block.staging?.results?.get(exportName)?.spec;
|
|
44
|
+
if (result !== undefined)
|
|
45
|
+
return result;
|
|
46
|
+
if (block.staging === undefined)
|
|
47
|
+
this.ctx.markUnstable(`staging_not_rendered:${blockId}`);
|
|
48
|
+
else if (!block.staging.locked)
|
|
49
|
+
this.ctx.markUnstable(`staging_not_locked:${blockId}`);
|
|
50
|
+
else if (block.prod !== undefined && !block.prod.locked)
|
|
51
|
+
this.ctx.markUnstable(`prod_not_locked:${blockId}`);
|
|
52
|
+
// if prod is absent, returned undefined value is considered stable
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
getDataOrErrorByRef(blockId, exportName) {
|
|
56
|
+
const block = this.blocks.get(blockId);
|
|
57
|
+
if (block === undefined)
|
|
58
|
+
return undefined;
|
|
59
|
+
const result = block.prod?.results?.get(exportName);
|
|
60
|
+
const data$1 = result?.data?.();
|
|
61
|
+
if (result !== undefined && result.spec !== undefined && data$1 !== undefined)
|
|
62
|
+
return model.mapValueInVOE(data$1, (value) => ({
|
|
63
|
+
id: data.deriveGlobalPObjectId(blockId, exportName),
|
|
64
|
+
spec: result.spec,
|
|
65
|
+
data: value,
|
|
66
|
+
}));
|
|
67
|
+
if (result !== undefined)
|
|
68
|
+
this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);
|
|
69
|
+
if (block.prod !== undefined && !block.prod.locked)
|
|
70
|
+
this.ctx.markUnstable(`prod_not_locked:${blockId}`);
|
|
71
|
+
// if prod is absent, returned undefined value is considered stable
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
getDataByRef(blockId, exportName) {
|
|
75
|
+
const res = this.getDataOrErrorByRef(blockId, exportName);
|
|
76
|
+
if (res === undefined || !res.ok)
|
|
77
|
+
return undefined;
|
|
78
|
+
return res.value;
|
|
79
|
+
}
|
|
80
|
+
getData() {
|
|
81
|
+
const resultWithErrors = this.getDataWithErrors();
|
|
82
|
+
const entries = [];
|
|
83
|
+
for (const res of resultWithErrors.entries)
|
|
84
|
+
if (res.obj.id !== undefined && res.obj.data.ok)
|
|
85
|
+
entries.push({
|
|
86
|
+
ref: res.ref,
|
|
87
|
+
obj: {
|
|
88
|
+
id: res.obj.id,
|
|
89
|
+
spec: res.obj.spec,
|
|
90
|
+
data: res.obj.data.value,
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
return {
|
|
94
|
+
entries,
|
|
95
|
+
isComplete: resultWithErrors.isComplete,
|
|
96
|
+
instabilityMarker: resultWithErrors.instabilityMarker,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
getDataWithErrors() {
|
|
100
|
+
const entries = [];
|
|
101
|
+
let isComplete = true;
|
|
102
|
+
let instabilityMarker = undefined;
|
|
103
|
+
const markUnstable = (marker) => {
|
|
104
|
+
if (instabilityMarker === undefined)
|
|
105
|
+
instabilityMarker = marker;
|
|
106
|
+
isComplete = false;
|
|
107
|
+
};
|
|
108
|
+
const tryAddEntry = (blockId, exportName, result) => {
|
|
109
|
+
if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {
|
|
110
|
+
const data$1 = result.data();
|
|
111
|
+
if (data$1 !== undefined) {
|
|
112
|
+
entries.push({
|
|
113
|
+
ref: args.outputRef(blockId, exportName),
|
|
114
|
+
obj: {
|
|
115
|
+
id: data$1.ok ? data.deriveGlobalPObjectId(blockId, exportName) : undefined,
|
|
116
|
+
spec: result.spec,
|
|
117
|
+
data: data$1,
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
else
|
|
122
|
+
markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
for (const [blockId, block] of this.blocks) {
|
|
126
|
+
const exportsProcessed = new Set();
|
|
127
|
+
if (block.prod !== undefined) {
|
|
128
|
+
if (!block.prod.locked)
|
|
129
|
+
markUnstable(`prod_not_locked:${blockId}`);
|
|
130
|
+
for (const [exportName, result] of block.prod.results) {
|
|
131
|
+
// any signal that this export will be (or already is) present in the prod
|
|
132
|
+
// will prevent adding it from staging
|
|
133
|
+
exportsProcessed.add(exportName);
|
|
134
|
+
tryAddEntry(blockId, exportName, result);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (block.staging !== undefined) {
|
|
138
|
+
if (!block.staging.locked)
|
|
139
|
+
markUnstable(`staging_not_locked:${blockId}`);
|
|
140
|
+
for (const [exportName, result] of block.staging.results) {
|
|
141
|
+
// trying to add something only if result is absent in prod
|
|
142
|
+
if (exportsProcessed.has(exportName))
|
|
143
|
+
continue;
|
|
144
|
+
tryAddEntry(blockId, exportName, result);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return { entries, isComplete, instabilityMarker };
|
|
149
|
+
}
|
|
150
|
+
getSpecs() {
|
|
151
|
+
const entries = [];
|
|
152
|
+
let isComplete = true;
|
|
153
|
+
let instabilityMarker = undefined;
|
|
154
|
+
const markUnstable = (marker) => {
|
|
155
|
+
if (instabilityMarker === undefined)
|
|
156
|
+
instabilityMarker = marker;
|
|
157
|
+
isComplete = false;
|
|
158
|
+
};
|
|
159
|
+
for (const [blockId, block] of this.blocks) {
|
|
160
|
+
const exportsProcessed = new Set();
|
|
161
|
+
if (block.staging !== undefined) {
|
|
162
|
+
if (!block.staging.locked)
|
|
163
|
+
markUnstable(`staging_not_locked:${blockId}`);
|
|
164
|
+
for (const [exportName, result] of block.staging.results)
|
|
165
|
+
if (result.spec !== undefined) {
|
|
166
|
+
entries.push({
|
|
167
|
+
ref: args.outputRef(blockId, exportName),
|
|
168
|
+
obj: result.spec,
|
|
169
|
+
});
|
|
170
|
+
exportsProcessed.add(exportName);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else
|
|
174
|
+
markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon
|
|
175
|
+
if (block.prod !== undefined) {
|
|
176
|
+
if (!block.prod.locked)
|
|
177
|
+
markUnstable(`prod_not_locked:${blockId}`);
|
|
178
|
+
for (const [exportName, result] of block.prod.results) {
|
|
179
|
+
// staging have higher priority when we are interested in specs
|
|
180
|
+
if (exportsProcessed.has(exportName))
|
|
181
|
+
continue;
|
|
182
|
+
if (result.spec !== undefined) {
|
|
183
|
+
entries.push({
|
|
184
|
+
ref: args.outputRef(blockId, exportName),
|
|
185
|
+
obj: result.spec,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return { entries, isComplete, instabilityMarker };
|
|
192
|
+
}
|
|
193
|
+
calculateOptions(predicate) {
|
|
194
|
+
const found = [];
|
|
195
|
+
for (const block of this.blocks.values()) {
|
|
196
|
+
const exportsChecked = new Set();
|
|
197
|
+
const addToFound = (ctx) => {
|
|
198
|
+
for (const [exportName, result] of ctx.results) {
|
|
199
|
+
if (exportsChecked.has(exportName) || result.spec === undefined)
|
|
200
|
+
continue;
|
|
201
|
+
exportsChecked.add(exportName);
|
|
202
|
+
if (model.executePSpecPredicate(predicate, result.spec))
|
|
203
|
+
found.push({
|
|
204
|
+
label: block.info.label + ' / ' + exportName,
|
|
205
|
+
ref: args.outputRef(block.info.id, exportName),
|
|
206
|
+
spec: result.spec,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
if (block.staging !== undefined)
|
|
211
|
+
addToFound(block.staging);
|
|
212
|
+
if (block.prod !== undefined)
|
|
213
|
+
addToFound(block.prod);
|
|
214
|
+
}
|
|
215
|
+
return found;
|
|
216
|
+
}
|
|
217
|
+
static create(ctx, prjEntry, rootBlockId) {
|
|
218
|
+
const prj = ctx.accessor(prjEntry).node();
|
|
219
|
+
const structure = tsHelpers.notEmpty(prj.getKeyValueAsJson(project_model.ProjectStructureKey));
|
|
220
|
+
const graph = project_model_util.stagingGraph(structure);
|
|
221
|
+
const targetBlocks = graph.traverseIds('upstream', rootBlockId);
|
|
222
|
+
const blocks = new Map();
|
|
223
|
+
for (const blockInfo of project_model_util.allBlocks(structure)) {
|
|
224
|
+
if (!targetBlocks.has(blockInfo.id))
|
|
225
|
+
continue;
|
|
226
|
+
const prod = loadCtx(prj.traverse({
|
|
227
|
+
field: project_model.projectFieldName(blockInfo.id, 'prodCtx'),
|
|
228
|
+
ignoreError: true,
|
|
229
|
+
pureFieldErrorToUndefined: true,
|
|
230
|
+
stableIfNotFound: true,
|
|
231
|
+
}) !== undefined, prj.traverseOrError({
|
|
232
|
+
field: project_model.projectFieldName(blockInfo.id, 'prodUiCtx'),
|
|
233
|
+
stableIfNotFound: true,
|
|
234
|
+
}));
|
|
235
|
+
const staging = loadCtx(prj.traverse({
|
|
236
|
+
field: project_model.projectFieldName(blockInfo.id, 'stagingCtx'),
|
|
237
|
+
ignoreError: true,
|
|
238
|
+
pureFieldErrorToUndefined: true,
|
|
239
|
+
}) !== undefined, prj.traverseOrError({
|
|
240
|
+
field: project_model.projectFieldName(blockInfo.id, 'stagingUiCtx'),
|
|
241
|
+
}));
|
|
242
|
+
blocks.set(blockInfo.id, { info: blockInfo, prod, staging });
|
|
243
|
+
}
|
|
244
|
+
return new ResultPool(ctx, blocks);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
/** Loads single BContext data */
|
|
248
|
+
function loadCtx(calculated, ctxAccessor) {
|
|
249
|
+
if (ctxAccessor === undefined) {
|
|
250
|
+
if (calculated)
|
|
251
|
+
// this case defines the situation when ctx holder is present, but the ctx itself is
|
|
252
|
+
// not yet available, to simplify the logic we make this situation indistinguishable
|
|
253
|
+
// from empty unlocked cotext
|
|
254
|
+
return { locked: false, results: new Map() };
|
|
255
|
+
else
|
|
256
|
+
return undefined;
|
|
257
|
+
}
|
|
258
|
+
if (ctxAccessor.ok)
|
|
259
|
+
return p_object_collection.parseRawPObjectCollection(ctxAccessor.value, false, true);
|
|
260
|
+
else
|
|
261
|
+
return undefined;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
exports.ResultPool = ResultPool;
|
|
265
|
+
//# sourceMappingURL=result_pool.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result_pool.cjs","sources":["../../src/pool/result_pool.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport type { PlTreeEntry, PlTreeNodeAccessor } from '@milaboratories/pl-tree';\nimport type {\n Option,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PlRef,\n ResultCollection,\n ResultPoolEntry,\n ValueOrError } from '@platforma-sdk/model';\nimport {\n executePSpecPredicate,\n mapValueInVOE,\n} from '@platforma-sdk/model';\nimport { notEmpty } from '@milaboratories/ts-helpers';\nimport { outputRef } from '../model/args';\nimport type {\n Block,\n ProjectStructure } from '../model/project_model';\nimport {\n ProjectStructureKey,\n projectFieldName,\n} from '../model/project_model';\nimport { allBlocks, stagingGraph } from '../model/project_model_util';\nimport type { Optional } from 'utility-types';\nimport { deriveGlobalPObjectId } from './data';\nimport type {\n RawPObjectCollection,\n RawPObjectEntry } from './p_object_collection';\nimport {\n parseRawPObjectCollection,\n} from './p_object_collection';\n\n/** All exported results are addressed */\nexport type ResultKey = Pick<PlRef, 'blockId' | 'name'>;\n\n/** Represents current information about particular block */\ninterface PoolBlock {\n /** Meta information from the project structure */\n readonly info: Block;\n /** Production ctx, if exists. If block's prod was executed, this field is guaranteed to be defined. */\n readonly prod?: RawPObjectCollection;\n /** Staging ctx, if exists. If staging was rendered, this field is guaranteed to be defined. */\n readonly staging?: RawPObjectCollection;\n}\n\nexport interface ExtendedResultCollection<T> extends ResultCollection<T> {\n readonly instabilityMarker: string | undefined;\n}\n\nexport interface ExtendedOption extends Option {\n readonly spec: PObjectSpec;\n}\n\nexport class ResultPool {\n private readonly allSpecsAvailable: boolean;\n private constructor(\n private readonly ctx: ComputableCtx,\n private readonly blocks: Map<string, PoolBlock>,\n ) {\n let allSpecsAvailable = true;\n outer: for (const block of blocks.values()) {\n for (const ctx of [block.prod, block.staging])\n if (ctx !== undefined) {\n if (!ctx.locked) {\n allSpecsAvailable = false;\n break outer;\n }\n for (const result of ctx.results.values()) {\n if (result.spec === undefined) {\n allSpecsAvailable = false;\n break outer;\n }\n }\n }\n }\n this.allSpecsAvailable = allSpecsAvailable;\n }\n\n public getSpecByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n let result = block.prod?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n result = block.staging?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n if (block.staging === undefined) this.ctx.markUnstable(`staging_not_rendered:${blockId}`);\n else if (!block.staging.locked) this.ctx.markUnstable(`staging_not_locked:${blockId}`);\n else if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if prod is absent, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataOrErrorByRef(\n blockId: string,\n exportName: string,\n ): ValueOrError<PObject<PlTreeNodeAccessor>, Error> | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n const result = block.prod?.results?.get(exportName);\n const data = result?.data?.();\n if (result !== undefined && result.spec !== undefined && data !== undefined)\n return mapValueInVOE(data, (value) => ({\n id: deriveGlobalPObjectId(blockId, exportName),\n spec: result.spec!,\n data: value,\n }));\n if (result !== undefined) this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);\n if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if prod is absent, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataByRef(\n blockId: string,\n exportName: string,\n ): PObject<PlTreeNodeAccessor> | undefined {\n const res = this.getDataOrErrorByRef(blockId, exportName);\n if (res === undefined || !res.ok) return undefined;\n return res.value;\n }\n\n public getData(): ExtendedResultCollection<PObject<PlTreeNodeAccessor>> {\n const resultWithErrors = this.getDataWithErrors();\n const entries: ResultPoolEntry<PObject<PlTreeNodeAccessor>>[] = [];\n for (const res of resultWithErrors.entries)\n if (res.obj.id !== undefined && res.obj.data.ok)\n entries.push({\n ref: res.ref,\n obj: {\n id: res.obj.id,\n spec: res.obj.spec,\n data: res.obj.data.value,\n },\n });\n return {\n entries,\n isComplete: resultWithErrors.isComplete,\n instabilityMarker: resultWithErrors.instabilityMarker,\n };\n }\n\n public getDataWithErrors(): ExtendedResultCollection<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, 'id'>\n > {\n const entries: ResultPoolEntry<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, 'id'>\n >[] = [];\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n const tryAddEntry = (blockId: string, exportName: string, result: RawPObjectEntry) => {\n if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {\n const data = result.data();\n if (data !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: {\n id: data.ok ? deriveGlobalPObjectId(blockId, exportName) : undefined,\n spec: result.spec,\n data,\n },\n });\n } else markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved\n }\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // any signal that this export will be (or already is) present in the prod\n // will prevent adding it from staging\n exportsProcessed.add(exportName);\n tryAddEntry(blockId, exportName, result);\n }\n }\n\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results) {\n // trying to add something only if result is absent in prod\n if (exportsProcessed.has(exportName)) continue;\n tryAddEntry(blockId, exportName, result);\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public getSpecs(): ExtendedResultCollection<PObjectSpec> {\n const entries: ResultPoolEntry<PObjectSpec>[] = [];\n\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results)\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n exportsProcessed.add(exportName);\n }\n } else markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // staging have higher priority when we are interested in specs\n if (exportsProcessed.has(exportName)) continue;\n\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n }\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public calculateOptions(predicate: PSpecPredicate): ExtendedOption[] {\n const found: ExtendedOption[] = [];\n for (const block of this.blocks.values()) {\n const exportsChecked = new Set<string>();\n const addToFound = (ctx: RawPObjectCollection) => {\n for (const [exportName, result] of ctx.results) {\n if (exportsChecked.has(exportName) || result.spec === undefined) continue;\n exportsChecked.add(exportName);\n if (executePSpecPredicate(predicate, result.spec))\n found.push({\n label: block.info.label + ' / ' + exportName,\n ref: outputRef(block.info.id, exportName),\n spec: result.spec,\n });\n }\n };\n if (block.staging !== undefined) addToFound(block.staging);\n if (block.prod !== undefined) addToFound(block.prod);\n }\n return found;\n }\n\n public static create(ctx: ComputableCtx, prjEntry: PlTreeEntry, rootBlockId: string): ResultPool {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const graph = stagingGraph(structure);\n const targetBlocks = graph.traverseIds('upstream', rootBlockId);\n\n const blocks = new Map<string, PoolBlock>();\n\n for (const blockInfo of allBlocks(structure)) {\n if (!targetBlocks.has(blockInfo.id)) continue;\n\n const prod = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, 'prodCtx'),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n stableIfNotFound: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, 'prodUiCtx'),\n stableIfNotFound: true,\n }),\n );\n const staging = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, 'stagingCtx'),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, 'stagingUiCtx'),\n }),\n );\n\n blocks.set(blockInfo.id, { info: blockInfo, prod, staging });\n }\n\n return new ResultPool(ctx, blocks);\n }\n}\n\n/** Loads single BContext data */\nfunction loadCtx(\n calculated: boolean,\n ctxAccessor: ValueOrError<PlTreeNodeAccessor, Error> | undefined,\n): RawPObjectCollection | undefined {\n if (ctxAccessor === undefined) {\n if (calculated)\n // this case defines the situation when ctx holder is present, but the ctx itself is\n // not yet available, to simplify the logic we make this situation indistinguishable\n // from empty unlocked cotext\n return { locked: false, results: new Map() };\n else return undefined;\n }\n\n if (ctxAccessor.ok) return parseRawPObjectCollection(ctxAccessor.value, false, true);\n else return undefined;\n}\n"],"names":["data","mapValueInVOE","deriveGlobalPObjectId","outputRef","executePSpecPredicate","notEmpty","ProjectStructureKey","stagingGraph","allBlocks","projectFieldName","parseRawPObjectCollection"],"mappings":"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"}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { mapValueInVOE, executePSpecPredicate } from '@platforma-sdk/model';
|
|
2
|
+
import { notEmpty } from '@milaboratories/ts-helpers';
|
|
3
|
+
import { outputRef } from '../model/args.js';
|
|
4
|
+
import { ProjectStructureKey, projectFieldName } from '../model/project_model.js';
|
|
5
|
+
import { stagingGraph, allBlocks } from '../model/project_model_util.js';
|
|
6
|
+
import { deriveGlobalPObjectId } from './data.js';
|
|
7
|
+
import { parseRawPObjectCollection } from './p_object_collection.js';
|
|
8
|
+
|
|
9
|
+
class ResultPool {
|
|
10
|
+
ctx;
|
|
11
|
+
blocks;
|
|
12
|
+
allSpecsAvailable;
|
|
13
|
+
constructor(ctx, blocks) {
|
|
14
|
+
this.ctx = ctx;
|
|
15
|
+
this.blocks = blocks;
|
|
16
|
+
let allSpecsAvailable = true;
|
|
17
|
+
outer: for (const block of blocks.values()) {
|
|
18
|
+
for (const ctx of [block.prod, block.staging])
|
|
19
|
+
if (ctx !== undefined) {
|
|
20
|
+
if (!ctx.locked) {
|
|
21
|
+
allSpecsAvailable = false;
|
|
22
|
+
break outer;
|
|
23
|
+
}
|
|
24
|
+
for (const result of ctx.results.values()) {
|
|
25
|
+
if (result.spec === undefined) {
|
|
26
|
+
allSpecsAvailable = false;
|
|
27
|
+
break outer;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
this.allSpecsAvailable = allSpecsAvailable;
|
|
33
|
+
}
|
|
34
|
+
getSpecByRef(blockId, exportName) {
|
|
35
|
+
const block = this.blocks.get(blockId);
|
|
36
|
+
if (block === undefined)
|
|
37
|
+
return undefined;
|
|
38
|
+
let result = block.prod?.results?.get(exportName)?.spec;
|
|
39
|
+
if (result !== undefined)
|
|
40
|
+
return result;
|
|
41
|
+
result = block.staging?.results?.get(exportName)?.spec;
|
|
42
|
+
if (result !== undefined)
|
|
43
|
+
return result;
|
|
44
|
+
if (block.staging === undefined)
|
|
45
|
+
this.ctx.markUnstable(`staging_not_rendered:${blockId}`);
|
|
46
|
+
else if (!block.staging.locked)
|
|
47
|
+
this.ctx.markUnstable(`staging_not_locked:${blockId}`);
|
|
48
|
+
else if (block.prod !== undefined && !block.prod.locked)
|
|
49
|
+
this.ctx.markUnstable(`prod_not_locked:${blockId}`);
|
|
50
|
+
// if prod is absent, returned undefined value is considered stable
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
getDataOrErrorByRef(blockId, exportName) {
|
|
54
|
+
const block = this.blocks.get(blockId);
|
|
55
|
+
if (block === undefined)
|
|
56
|
+
return undefined;
|
|
57
|
+
const result = block.prod?.results?.get(exportName);
|
|
58
|
+
const data = result?.data?.();
|
|
59
|
+
if (result !== undefined && result.spec !== undefined && data !== undefined)
|
|
60
|
+
return mapValueInVOE(data, (value) => ({
|
|
61
|
+
id: deriveGlobalPObjectId(blockId, exportName),
|
|
62
|
+
spec: result.spec,
|
|
63
|
+
data: value,
|
|
64
|
+
}));
|
|
65
|
+
if (result !== undefined)
|
|
66
|
+
this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);
|
|
67
|
+
if (block.prod !== undefined && !block.prod.locked)
|
|
68
|
+
this.ctx.markUnstable(`prod_not_locked:${blockId}`);
|
|
69
|
+
// if prod is absent, returned undefined value is considered stable
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
getDataByRef(blockId, exportName) {
|
|
73
|
+
const res = this.getDataOrErrorByRef(blockId, exportName);
|
|
74
|
+
if (res === undefined || !res.ok)
|
|
75
|
+
return undefined;
|
|
76
|
+
return res.value;
|
|
77
|
+
}
|
|
78
|
+
getData() {
|
|
79
|
+
const resultWithErrors = this.getDataWithErrors();
|
|
80
|
+
const entries = [];
|
|
81
|
+
for (const res of resultWithErrors.entries)
|
|
82
|
+
if (res.obj.id !== undefined && res.obj.data.ok)
|
|
83
|
+
entries.push({
|
|
84
|
+
ref: res.ref,
|
|
85
|
+
obj: {
|
|
86
|
+
id: res.obj.id,
|
|
87
|
+
spec: res.obj.spec,
|
|
88
|
+
data: res.obj.data.value,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
entries,
|
|
93
|
+
isComplete: resultWithErrors.isComplete,
|
|
94
|
+
instabilityMarker: resultWithErrors.instabilityMarker,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
getDataWithErrors() {
|
|
98
|
+
const entries = [];
|
|
99
|
+
let isComplete = true;
|
|
100
|
+
let instabilityMarker = undefined;
|
|
101
|
+
const markUnstable = (marker) => {
|
|
102
|
+
if (instabilityMarker === undefined)
|
|
103
|
+
instabilityMarker = marker;
|
|
104
|
+
isComplete = false;
|
|
105
|
+
};
|
|
106
|
+
const tryAddEntry = (blockId, exportName, result) => {
|
|
107
|
+
if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {
|
|
108
|
+
const data = result.data();
|
|
109
|
+
if (data !== undefined) {
|
|
110
|
+
entries.push({
|
|
111
|
+
ref: outputRef(blockId, exportName),
|
|
112
|
+
obj: {
|
|
113
|
+
id: data.ok ? deriveGlobalPObjectId(blockId, exportName) : undefined,
|
|
114
|
+
spec: result.spec,
|
|
115
|
+
data,
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else
|
|
120
|
+
markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
for (const [blockId, block] of this.blocks) {
|
|
124
|
+
const exportsProcessed = new Set();
|
|
125
|
+
if (block.prod !== undefined) {
|
|
126
|
+
if (!block.prod.locked)
|
|
127
|
+
markUnstable(`prod_not_locked:${blockId}`);
|
|
128
|
+
for (const [exportName, result] of block.prod.results) {
|
|
129
|
+
// any signal that this export will be (or already is) present in the prod
|
|
130
|
+
// will prevent adding it from staging
|
|
131
|
+
exportsProcessed.add(exportName);
|
|
132
|
+
tryAddEntry(blockId, exportName, result);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (block.staging !== undefined) {
|
|
136
|
+
if (!block.staging.locked)
|
|
137
|
+
markUnstable(`staging_not_locked:${blockId}`);
|
|
138
|
+
for (const [exportName, result] of block.staging.results) {
|
|
139
|
+
// trying to add something only if result is absent in prod
|
|
140
|
+
if (exportsProcessed.has(exportName))
|
|
141
|
+
continue;
|
|
142
|
+
tryAddEntry(blockId, exportName, result);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return { entries, isComplete, instabilityMarker };
|
|
147
|
+
}
|
|
148
|
+
getSpecs() {
|
|
149
|
+
const entries = [];
|
|
150
|
+
let isComplete = true;
|
|
151
|
+
let instabilityMarker = undefined;
|
|
152
|
+
const markUnstable = (marker) => {
|
|
153
|
+
if (instabilityMarker === undefined)
|
|
154
|
+
instabilityMarker = marker;
|
|
155
|
+
isComplete = false;
|
|
156
|
+
};
|
|
157
|
+
for (const [blockId, block] of this.blocks) {
|
|
158
|
+
const exportsProcessed = new Set();
|
|
159
|
+
if (block.staging !== undefined) {
|
|
160
|
+
if (!block.staging.locked)
|
|
161
|
+
markUnstable(`staging_not_locked:${blockId}`);
|
|
162
|
+
for (const [exportName, result] of block.staging.results)
|
|
163
|
+
if (result.spec !== undefined) {
|
|
164
|
+
entries.push({
|
|
165
|
+
ref: outputRef(blockId, exportName),
|
|
166
|
+
obj: result.spec,
|
|
167
|
+
});
|
|
168
|
+
exportsProcessed.add(exportName);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
else
|
|
172
|
+
markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon
|
|
173
|
+
if (block.prod !== undefined) {
|
|
174
|
+
if (!block.prod.locked)
|
|
175
|
+
markUnstable(`prod_not_locked:${blockId}`);
|
|
176
|
+
for (const [exportName, result] of block.prod.results) {
|
|
177
|
+
// staging have higher priority when we are interested in specs
|
|
178
|
+
if (exportsProcessed.has(exportName))
|
|
179
|
+
continue;
|
|
180
|
+
if (result.spec !== undefined) {
|
|
181
|
+
entries.push({
|
|
182
|
+
ref: outputRef(blockId, exportName),
|
|
183
|
+
obj: result.spec,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return { entries, isComplete, instabilityMarker };
|
|
190
|
+
}
|
|
191
|
+
calculateOptions(predicate) {
|
|
192
|
+
const found = [];
|
|
193
|
+
for (const block of this.blocks.values()) {
|
|
194
|
+
const exportsChecked = new Set();
|
|
195
|
+
const addToFound = (ctx) => {
|
|
196
|
+
for (const [exportName, result] of ctx.results) {
|
|
197
|
+
if (exportsChecked.has(exportName) || result.spec === undefined)
|
|
198
|
+
continue;
|
|
199
|
+
exportsChecked.add(exportName);
|
|
200
|
+
if (executePSpecPredicate(predicate, result.spec))
|
|
201
|
+
found.push({
|
|
202
|
+
label: block.info.label + ' / ' + exportName,
|
|
203
|
+
ref: outputRef(block.info.id, exportName),
|
|
204
|
+
spec: result.spec,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
if (block.staging !== undefined)
|
|
209
|
+
addToFound(block.staging);
|
|
210
|
+
if (block.prod !== undefined)
|
|
211
|
+
addToFound(block.prod);
|
|
212
|
+
}
|
|
213
|
+
return found;
|
|
214
|
+
}
|
|
215
|
+
static create(ctx, prjEntry, rootBlockId) {
|
|
216
|
+
const prj = ctx.accessor(prjEntry).node();
|
|
217
|
+
const structure = notEmpty(prj.getKeyValueAsJson(ProjectStructureKey));
|
|
218
|
+
const graph = stagingGraph(structure);
|
|
219
|
+
const targetBlocks = graph.traverseIds('upstream', rootBlockId);
|
|
220
|
+
const blocks = new Map();
|
|
221
|
+
for (const blockInfo of allBlocks(structure)) {
|
|
222
|
+
if (!targetBlocks.has(blockInfo.id))
|
|
223
|
+
continue;
|
|
224
|
+
const prod = loadCtx(prj.traverse({
|
|
225
|
+
field: projectFieldName(blockInfo.id, 'prodCtx'),
|
|
226
|
+
ignoreError: true,
|
|
227
|
+
pureFieldErrorToUndefined: true,
|
|
228
|
+
stableIfNotFound: true,
|
|
229
|
+
}) !== undefined, prj.traverseOrError({
|
|
230
|
+
field: projectFieldName(blockInfo.id, 'prodUiCtx'),
|
|
231
|
+
stableIfNotFound: true,
|
|
232
|
+
}));
|
|
233
|
+
const staging = loadCtx(prj.traverse({
|
|
234
|
+
field: projectFieldName(blockInfo.id, 'stagingCtx'),
|
|
235
|
+
ignoreError: true,
|
|
236
|
+
pureFieldErrorToUndefined: true,
|
|
237
|
+
}) !== undefined, prj.traverseOrError({
|
|
238
|
+
field: projectFieldName(blockInfo.id, 'stagingUiCtx'),
|
|
239
|
+
}));
|
|
240
|
+
blocks.set(blockInfo.id, { info: blockInfo, prod, staging });
|
|
241
|
+
}
|
|
242
|
+
return new ResultPool(ctx, blocks);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/** Loads single BContext data */
|
|
246
|
+
function loadCtx(calculated, ctxAccessor) {
|
|
247
|
+
if (ctxAccessor === undefined) {
|
|
248
|
+
if (calculated)
|
|
249
|
+
// this case defines the situation when ctx holder is present, but the ctx itself is
|
|
250
|
+
// not yet available, to simplify the logic we make this situation indistinguishable
|
|
251
|
+
// from empty unlocked cotext
|
|
252
|
+
return { locked: false, results: new Map() };
|
|
253
|
+
else
|
|
254
|
+
return undefined;
|
|
255
|
+
}
|
|
256
|
+
if (ctxAccessor.ok)
|
|
257
|
+
return parseRawPObjectCollection(ctxAccessor.value, false, true);
|
|
258
|
+
else
|
|
259
|
+
return undefined;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export { ResultPool };
|
|
263
|
+
//# sourceMappingURL=result_pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result_pool.js","sources":["../../src/pool/result_pool.ts"],"sourcesContent":["import type { ComputableCtx } from '@milaboratories/computable';\nimport type { PlTreeEntry, PlTreeNodeAccessor } from '@milaboratories/pl-tree';\nimport type {\n Option,\n PObject,\n PObjectSpec,\n PSpecPredicate,\n PlRef,\n ResultCollection,\n ResultPoolEntry,\n ValueOrError } from '@platforma-sdk/model';\nimport {\n executePSpecPredicate,\n mapValueInVOE,\n} from '@platforma-sdk/model';\nimport { notEmpty } from '@milaboratories/ts-helpers';\nimport { outputRef } from '../model/args';\nimport type {\n Block,\n ProjectStructure } from '../model/project_model';\nimport {\n ProjectStructureKey,\n projectFieldName,\n} from '../model/project_model';\nimport { allBlocks, stagingGraph } from '../model/project_model_util';\nimport type { Optional } from 'utility-types';\nimport { deriveGlobalPObjectId } from './data';\nimport type {\n RawPObjectCollection,\n RawPObjectEntry } from './p_object_collection';\nimport {\n parseRawPObjectCollection,\n} from './p_object_collection';\n\n/** All exported results are addressed */\nexport type ResultKey = Pick<PlRef, 'blockId' | 'name'>;\n\n/** Represents current information about particular block */\ninterface PoolBlock {\n /** Meta information from the project structure */\n readonly info: Block;\n /** Production ctx, if exists. If block's prod was executed, this field is guaranteed to be defined. */\n readonly prod?: RawPObjectCollection;\n /** Staging ctx, if exists. If staging was rendered, this field is guaranteed to be defined. */\n readonly staging?: RawPObjectCollection;\n}\n\nexport interface ExtendedResultCollection<T> extends ResultCollection<T> {\n readonly instabilityMarker: string | undefined;\n}\n\nexport interface ExtendedOption extends Option {\n readonly spec: PObjectSpec;\n}\n\nexport class ResultPool {\n private readonly allSpecsAvailable: boolean;\n private constructor(\n private readonly ctx: ComputableCtx,\n private readonly blocks: Map<string, PoolBlock>,\n ) {\n let allSpecsAvailable = true;\n outer: for (const block of blocks.values()) {\n for (const ctx of [block.prod, block.staging])\n if (ctx !== undefined) {\n if (!ctx.locked) {\n allSpecsAvailable = false;\n break outer;\n }\n for (const result of ctx.results.values()) {\n if (result.spec === undefined) {\n allSpecsAvailable = false;\n break outer;\n }\n }\n }\n }\n this.allSpecsAvailable = allSpecsAvailable;\n }\n\n public getSpecByRef(blockId: string, exportName: string): PObjectSpec | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n let result = block.prod?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n result = block.staging?.results?.get(exportName)?.spec;\n if (result !== undefined) return result;\n if (block.staging === undefined) this.ctx.markUnstable(`staging_not_rendered:${blockId}`);\n else if (!block.staging.locked) this.ctx.markUnstable(`staging_not_locked:${blockId}`);\n else if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if prod is absent, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataOrErrorByRef(\n blockId: string,\n exportName: string,\n ): ValueOrError<PObject<PlTreeNodeAccessor>, Error> | undefined {\n const block = this.blocks.get(blockId);\n if (block === undefined) return undefined;\n const result = block.prod?.results?.get(exportName);\n const data = result?.data?.();\n if (result !== undefined && result.spec !== undefined && data !== undefined)\n return mapValueInVOE(data, (value) => ({\n id: deriveGlobalPObjectId(blockId, exportName),\n spec: result.spec!,\n data: value,\n }));\n if (result !== undefined) this.ctx.markUnstable(`no_data:${blockId}:${exportName}`);\n if (block.prod !== undefined && !block.prod.locked)\n this.ctx.markUnstable(`prod_not_locked:${blockId}`);\n // if prod is absent, returned undefined value is considered stable\n return undefined;\n }\n\n public getDataByRef(\n blockId: string,\n exportName: string,\n ): PObject<PlTreeNodeAccessor> | undefined {\n const res = this.getDataOrErrorByRef(blockId, exportName);\n if (res === undefined || !res.ok) return undefined;\n return res.value;\n }\n\n public getData(): ExtendedResultCollection<PObject<PlTreeNodeAccessor>> {\n const resultWithErrors = this.getDataWithErrors();\n const entries: ResultPoolEntry<PObject<PlTreeNodeAccessor>>[] = [];\n for (const res of resultWithErrors.entries)\n if (res.obj.id !== undefined && res.obj.data.ok)\n entries.push({\n ref: res.ref,\n obj: {\n id: res.obj.id,\n spec: res.obj.spec,\n data: res.obj.data.value,\n },\n });\n return {\n entries,\n isComplete: resultWithErrors.isComplete,\n instabilityMarker: resultWithErrors.instabilityMarker,\n };\n }\n\n public getDataWithErrors(): ExtendedResultCollection<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, 'id'>\n > {\n const entries: ResultPoolEntry<\n Optional<PObject<ValueOrError<PlTreeNodeAccessor, Error>>, 'id'>\n >[] = [];\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n const tryAddEntry = (blockId: string, exportName: string, result: RawPObjectEntry) => {\n if (result.spec !== undefined && result.hasData === true && result.data !== undefined) {\n const data = result.data();\n if (data !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: {\n id: data.ok ? deriveGlobalPObjectId(blockId, exportName) : undefined,\n spec: result.spec,\n data,\n },\n });\n } else markUnstable(`no_data:${blockId}:${exportName}`); // because data will eventually be resolved\n }\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // any signal that this export will be (or already is) present in the prod\n // will prevent adding it from staging\n exportsProcessed.add(exportName);\n tryAddEntry(blockId, exportName, result);\n }\n }\n\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results) {\n // trying to add something only if result is absent in prod\n if (exportsProcessed.has(exportName)) continue;\n tryAddEntry(blockId, exportName, result);\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public getSpecs(): ExtendedResultCollection<PObjectSpec> {\n const entries: ResultPoolEntry<PObjectSpec>[] = [];\n\n let isComplete = true;\n\n let instabilityMarker: string | undefined = undefined;\n const markUnstable = (marker: string) => {\n if (instabilityMarker === undefined) instabilityMarker = marker;\n isComplete = false;\n };\n\n for (const [blockId, block] of this.blocks) {\n const exportsProcessed = new Set<string>();\n if (block.staging !== undefined) {\n if (!block.staging.locked) markUnstable(`staging_not_locked:${blockId}`);\n\n for (const [exportName, result] of block.staging.results)\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n exportsProcessed.add(exportName);\n }\n } else markUnstable(`staging_not_rendered:${blockId}`); // because staging will be inevitably rendered soon\n\n if (block.prod !== undefined) {\n if (!block.prod.locked) markUnstable(`prod_not_locked:${blockId}`);\n for (const [exportName, result] of block.prod.results) {\n // staging have higher priority when we are interested in specs\n if (exportsProcessed.has(exportName)) continue;\n\n if (result.spec !== undefined) {\n entries.push({\n ref: outputRef(blockId, exportName),\n obj: result.spec,\n });\n }\n }\n }\n }\n\n return { entries, isComplete, instabilityMarker };\n }\n\n public calculateOptions(predicate: PSpecPredicate): ExtendedOption[] {\n const found: ExtendedOption[] = [];\n for (const block of this.blocks.values()) {\n const exportsChecked = new Set<string>();\n const addToFound = (ctx: RawPObjectCollection) => {\n for (const [exportName, result] of ctx.results) {\n if (exportsChecked.has(exportName) || result.spec === undefined) continue;\n exportsChecked.add(exportName);\n if (executePSpecPredicate(predicate, result.spec))\n found.push({\n label: block.info.label + ' / ' + exportName,\n ref: outputRef(block.info.id, exportName),\n spec: result.spec,\n });\n }\n };\n if (block.staging !== undefined) addToFound(block.staging);\n if (block.prod !== undefined) addToFound(block.prod);\n }\n return found;\n }\n\n public static create(ctx: ComputableCtx, prjEntry: PlTreeEntry, rootBlockId: string): ResultPool {\n const prj = ctx.accessor(prjEntry).node();\n\n const structure = notEmpty(prj.getKeyValueAsJson<ProjectStructure>(ProjectStructureKey));\n const graph = stagingGraph(structure);\n const targetBlocks = graph.traverseIds('upstream', rootBlockId);\n\n const blocks = new Map<string, PoolBlock>();\n\n for (const blockInfo of allBlocks(structure)) {\n if (!targetBlocks.has(blockInfo.id)) continue;\n\n const prod = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, 'prodCtx'),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n stableIfNotFound: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, 'prodUiCtx'),\n stableIfNotFound: true,\n }),\n );\n const staging = loadCtx(\n prj.traverse({\n field: projectFieldName(blockInfo.id, 'stagingCtx'),\n ignoreError: true,\n pureFieldErrorToUndefined: true,\n }) !== undefined,\n prj.traverseOrError({\n field: projectFieldName(blockInfo.id, 'stagingUiCtx'),\n }),\n );\n\n blocks.set(blockInfo.id, { info: blockInfo, prod, staging });\n }\n\n return new ResultPool(ctx, blocks);\n }\n}\n\n/** Loads single BContext data */\nfunction loadCtx(\n calculated: boolean,\n ctxAccessor: ValueOrError<PlTreeNodeAccessor, Error> | undefined,\n): RawPObjectCollection | undefined {\n if (ctxAccessor === undefined) {\n if (calculated)\n // this case defines the situation when ctx holder is present, but the ctx itself is\n // not yet available, to simplify the logic we make this situation indistinguishable\n // from empty unlocked cotext\n return { locked: false, results: new Map() };\n else return undefined;\n }\n\n if (ctxAccessor.ok) return parseRawPObjectCollection(ctxAccessor.value, false, true);\n else return undefined;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,3 @@ import { BlockPackSpec } from '@milaboratories/pl-model-middle-layer';
|
|
|
3
3
|
export declare const TestBPPreparer: BlockPackPreparer;
|
|
4
4
|
export declare const BPSpecEnterV041NotPrepared: BlockPackSpec;
|
|
5
5
|
export declare const BPSpecSumV042NotPrepared: BlockPackSpec;
|
|
6
|
-
//# sourceMappingURL=block_packs.d.ts.map
|
|
@@ -3,4 +3,3 @@ export declare const TplSpecEnterExplicit: TemplateSpecPrepared;
|
|
|
3
3
|
export declare const TplSpecEnterFromRegistry: TemplateSpecPrepared;
|
|
4
4
|
export declare const TplSpecSumExplicit: TemplateSpecPrepared;
|
|
5
5
|
export declare const TplSpecSumFromRegistry: TemplateSpecPrepared;
|
|
6
|
-
//# sourceMappingURL=known_templates.d.ts.map
|
package/dist/test_env.d.ts
CHANGED