@noego/wood 0.4.9 → 0.5.0
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/README.md +118 -42
- package/bin/axe.js +313 -98
- package/dist/{loader/__fixtures__/layouts/app.load.cjs → automation/actions.cjs} +3 -13
- package/dist/automation/actions.cjs.map +1 -0
- package/dist/automation/actions.d.cts +57 -0
- package/dist/automation/actions.d.ts +57 -0
- package/dist/automation/actions.js +1 -0
- package/dist/automation/actions.js.map +1 -0
- package/dist/automation/actions_executor.cjs +101 -0
- package/dist/automation/actions_executor.cjs.map +1 -0
- package/dist/automation/actions_executor.d.cts +16 -0
- package/dist/automation/actions_executor.d.ts +16 -0
- package/dist/automation/actions_executor.js +76 -0
- package/dist/automation/actions_executor.js.map +1 -0
- package/dist/automation/connection.cjs +86 -0
- package/dist/automation/connection.cjs.map +1 -0
- package/dist/automation/connection.d.cts +18 -0
- package/dist/automation/connection.d.ts +18 -0
- package/dist/automation/connection.js +51 -0
- package/dist/automation/connection.js.map +1 -0
- package/dist/{middleware/__fixtures__/middleware/sequence.cjs → automation/errors.cjs} +25 -22
- package/dist/automation/errors.cjs.map +1 -0
- package/dist/automation/errors.d.cts +31 -0
- package/dist/automation/errors.d.ts +31 -0
- package/dist/automation/errors.js +24 -0
- package/dist/automation/errors.js.map +1 -0
- package/dist/automation/index.cjs +49 -0
- package/dist/automation/index.cjs.map +1 -0
- package/dist/automation/index.d.cts +16 -0
- package/dist/automation/index.d.ts +16 -0
- package/dist/automation/index.js +15 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/introspection_reader.cjs +75 -0
- package/dist/automation/introspection_reader.cjs.map +1 -0
- package/dist/automation/introspection_reader.d.cts +20 -0
- package/dist/automation/introspection_reader.d.ts +20 -0
- package/dist/automation/introspection_reader.js +48 -0
- package/dist/automation/introspection_reader.js.map +1 -0
- package/dist/automation/locator.cjs +102 -0
- package/dist/automation/locator.cjs.map +1 -0
- package/dist/automation/locator.d.cts +51 -0
- package/dist/automation/locator.d.ts +51 -0
- package/dist/automation/locator.js +75 -0
- package/dist/automation/locator.js.map +1 -0
- package/dist/{loader/__fixtures__/views/test/page.load.cjs → automation/observation.cjs} +3 -13
- package/dist/automation/observation.cjs.map +1 -0
- package/dist/automation/observation.d.cts +44 -0
- package/dist/automation/observation.d.ts +44 -0
- package/dist/automation/observation.js +1 -0
- package/dist/automation/observation.js.map +1 -0
- package/dist/{controller/__fixtures__/controllers/test.cjs → automation/receipts.cjs} +3 -15
- package/dist/automation/receipts.cjs.map +1 -0
- package/dist/automation/receipts.d.cts +27 -0
- package/dist/automation/receipts.d.ts +27 -0
- package/dist/automation/receipts.js +1 -0
- package/dist/automation/receipts.js.map +1 -0
- package/dist/automation/scenario.cjs +696 -0
- package/dist/automation/scenario.cjs.map +1 -0
- package/dist/automation/scenario.d.cts +89 -0
- package/dist/automation/scenario.d.ts +89 -0
- package/dist/automation/scenario.js +660 -0
- package/dist/automation/scenario.js.map +1 -0
- package/dist/automation/scrolling.cjs +17 -0
- package/dist/automation/scrolling.cjs.map +1 -0
- package/dist/automation/scrolling.d.cts +51 -0
- package/dist/automation/scrolling.d.ts +51 -0
- package/dist/automation/scrolling.js +1 -0
- package/dist/automation/scrolling.js.map +1 -0
- package/dist/automation/scrolling_executor.cjs +109 -0
- package/dist/automation/scrolling_executor.cjs.map +1 -0
- package/dist/automation/scrolling_executor.d.cts +13 -0
- package/dist/automation/scrolling_executor.d.ts +13 -0
- package/dist/automation/scrolling_executor.js +84 -0
- package/dist/automation/scrolling_executor.js.map +1 -0
- package/dist/automation/target_identity.cjs +17 -0
- package/dist/automation/target_identity.cjs.map +1 -0
- package/dist/automation/target_identity.d.cts +28 -0
- package/dist/automation/target_identity.d.ts +28 -0
- package/dist/automation/target_identity.js +1 -0
- package/dist/automation/target_identity.js.map +1 -0
- package/dist/automation/target_registry.cjs +148 -0
- package/dist/automation/target_registry.cjs.map +1 -0
- package/dist/automation/target_registry.d.cts +32 -0
- package/dist/automation/target_registry.d.ts +32 -0
- package/dist/automation/target_registry.js +122 -0
- package/dist/automation/target_registry.js.map +1 -0
- package/dist/automation/waits.cjs +17 -0
- package/dist/automation/waits.cjs.map +1 -0
- package/dist/automation/waits.d.cts +44 -0
- package/dist/automation/waits.d.ts +44 -0
- package/dist/automation/waits.js +1 -0
- package/dist/automation/waits.js.map +1 -0
- package/dist/automation/waits_executor.cjs +104 -0
- package/dist/automation/waits_executor.cjs.map +1 -0
- package/dist/automation/waits_executor.d.cts +14 -0
- package/dist/automation/waits_executor.d.ts +14 -0
- package/dist/automation/waits_executor.js +79 -0
- package/dist/automation/waits_executor.js.map +1 -0
- package/dist/bridge/backend_bridge.cjs.map +1 -1
- package/dist/bridge/backend_bridge.js.map +1 -1
- package/dist/client/index.cjs +78 -21
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +19 -3
- package/dist/client/index.d.ts +19 -3
- package/dist/client/index.js +80 -22
- package/dist/client/index.js.map +1 -1
- package/dist/client/renderer_log_transport.cjs +151 -0
- package/dist/client/renderer_log_transport.cjs.map +1 -0
- package/dist/client/renderer_log_transport.d.cts +54 -0
- package/dist/client/renderer_log_transport.d.ts +54 -0
- package/dist/client/renderer_log_transport.js +123 -0
- package/dist/client/renderer_log_transport.js.map +1 -0
- package/dist/codegen/controller_registration_generator.cjs +13 -2
- package/dist/codegen/controller_registration_generator.cjs.map +1 -1
- package/dist/codegen/controller_registration_generator.d.cts +12 -1
- package/dist/codegen/controller_registration_generator.d.ts +12 -1
- package/dist/codegen/controller_registration_generator.js +10 -1
- package/dist/codegen/controller_registration_generator.js.map +1 -1
- package/dist/codegen/index.d.cts +1 -0
- package/dist/codegen/index.d.ts +1 -0
- package/dist/codegen/preload_generator.cjs +13 -6
- package/dist/codegen/preload_generator.cjs.map +1 -1
- package/dist/codegen/preload_generator.d.cts +11 -2
- package/dist/codegen/preload_generator.d.ts +11 -2
- package/dist/codegen/preload_generator.js +13 -6
- package/dist/codegen/preload_generator.js.map +1 -1
- package/dist/codegen/renderer_app_generator.cjs +95 -44
- package/dist/codegen/renderer_app_generator.cjs.map +1 -1
- package/dist/codegen/renderer_app_generator.js +95 -44
- package/dist/codegen/renderer_app_generator.js.map +1 -1
- package/dist/codegen/type_generator.cjs +1 -0
- package/dist/codegen/type_generator.cjs.map +1 -1
- package/dist/codegen/type_generator.js +1 -0
- package/dist/codegen/type_generator.js.map +1 -1
- package/dist/config/config_parser.cjs +95 -4
- package/dist/config/config_parser.cjs.map +1 -1
- package/dist/config/config_parser.d.cts +10 -2
- package/dist/config/config_parser.d.ts +10 -2
- package/dist/config/config_parser.js +92 -3
- package/dist/config/config_parser.js.map +1 -1
- package/dist/config/index.cjs +6 -2
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.d.cts +2 -2
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.js +8 -2
- package/dist/config/index.js.map +1 -1
- package/dist/controller/controller_resolver.cjs +51 -3
- package/dist/controller/controller_resolver.cjs.map +1 -1
- package/dist/controller/controller_resolver.d.cts +27 -4
- package/dist/controller/controller_resolver.d.ts +27 -4
- package/dist/controller/controller_resolver.js +48 -2
- package/dist/controller/controller_resolver.js.map +1 -1
- package/dist/controller/index.cjs +6 -2
- package/dist/controller/index.cjs.map +1 -1
- package/dist/controller/index.d.cts +1 -1
- package/dist/controller/index.d.ts +1 -1
- package/dist/controller/index.js +4 -2
- package/dist/controller/index.js.map +1 -1
- package/dist/dev/wood_dev_server.cjs +4 -1
- package/dist/dev/wood_dev_server.cjs.map +1 -1
- package/dist/dev/wood_dev_server.js +5 -2
- package/dist/dev/wood_dev_server.js.map +1 -1
- package/dist/dev/yaml_watcher.cjs +1 -1
- package/dist/dev/yaml_watcher.cjs.map +1 -1
- package/dist/dev/yaml_watcher.d.cts +4 -0
- package/dist/dev/yaml_watcher.d.ts +4 -0
- package/dist/dev/yaml_watcher.js +1 -1
- package/dist/dev/yaml_watcher.js.map +1 -1
- package/dist/frontend/frontend_lifecycle.cjs +74 -0
- package/dist/frontend/frontend_lifecycle.cjs.map +1 -0
- package/dist/frontend/frontend_lifecycle.d.cts +50 -0
- package/dist/frontend/frontend_lifecycle.d.ts +50 -0
- package/dist/frontend/frontend_lifecycle.js +50 -0
- package/dist/frontend/frontend_lifecycle.js.map +1 -0
- package/dist/frontend/frontend_page.cjs +122 -0
- package/dist/frontend/frontend_page.cjs.map +1 -0
- package/dist/frontend/frontend_page.d.cts +62 -0
- package/dist/frontend/frontend_page.d.ts +62 -0
- package/dist/frontend/frontend_page.js +98 -0
- package/dist/frontend/frontend_page.js.map +1 -0
- package/dist/frontend/frontend_surface.cjs +249 -0
- package/dist/frontend/frontend_surface.cjs.map +1 -0
- package/dist/frontend/frontend_surface.d.cts +64 -0
- package/dist/frontend/frontend_surface.d.ts +64 -0
- package/dist/frontend/frontend_surface.js +224 -0
- package/dist/frontend/frontend_surface.js.map +1 -0
- package/dist/frontend/index.cjs +52 -0
- package/dist/frontend/index.cjs.map +1 -0
- package/dist/frontend/index.d.cts +10 -0
- package/dist/frontend/index.d.ts +10 -0
- package/dist/frontend/index.js +19 -0
- package/dist/frontend/index.js.map +1 -0
- package/dist/frontend/page_catalog.cjs +135 -0
- package/dist/frontend/page_catalog.cjs.map +1 -0
- package/dist/frontend/page_catalog.d.cts +56 -0
- package/dist/frontend/page_catalog.d.ts +56 -0
- package/dist/frontend/page_catalog.js +108 -0
- package/dist/frontend/page_catalog.js.map +1 -0
- package/dist/frontend/tracked_transport.cjs +55 -0
- package/dist/frontend/tracked_transport.cjs.map +1 -0
- package/dist/frontend/tracked_transport.d.cts +36 -0
- package/dist/frontend/tracked_transport.d.ts +36 -0
- package/dist/frontend/tracked_transport.js +31 -0
- package/dist/frontend/tracked_transport.js.map +1 -0
- package/dist/frontend/work_registry.cjs +153 -0
- package/dist/frontend/work_registry.cjs.map +1 -0
- package/dist/frontend/work_registry.d.cts +70 -0
- package/dist/frontend/work_registry.d.ts +70 -0
- package/dist/frontend/work_registry.js +128 -0
- package/dist/frontend/work_registry.js.map +1 -0
- package/dist/index.cjs +24 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -7
- package/dist/index.d.ts +11 -7
- package/dist/index.js +27 -4
- package/dist/index.js.map +1 -1
- package/dist/main/index.cjs +10 -0
- package/dist/main/index.cjs.map +1 -1
- package/dist/main/index.d.cts +14 -2
- package/dist/main/index.d.ts +14 -2
- package/dist/main/index.js +16 -0
- package/dist/main/index.js.map +1 -1
- package/dist/middleware/middleware_resolver.cjs +22 -1
- package/dist/middleware/middleware_resolver.cjs.map +1 -1
- package/dist/middleware/middleware_resolver.d.cts +13 -1
- package/dist/middleware/middleware_resolver.d.ts +13 -1
- package/dist/middleware/middleware_resolver.js +22 -1
- package/dist/middleware/middleware_resolver.js.map +1 -1
- package/dist/navigation/automation_introspection.cjs +110 -0
- package/dist/navigation/automation_introspection.cjs.map +1 -0
- package/dist/navigation/automation_introspection.d.cts +60 -0
- package/dist/navigation/automation_introspection.d.ts +60 -0
- package/dist/navigation/automation_introspection.js +85 -0
- package/dist/navigation/automation_introspection.js.map +1 -0
- package/dist/navigation/index.cjs +10 -2
- package/dist/navigation/index.cjs.map +1 -1
- package/dist/navigation/index.d.cts +27 -1
- package/dist/navigation/index.d.ts +27 -1
- package/dist/navigation/index.js +6 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/{middleware/__fixtures__/middleware/auth.cjs → navigation/layout_preservation.cjs} +18 -20
- package/dist/navigation/layout_preservation.cjs.map +1 -0
- package/dist/navigation/layout_preservation.d.cts +2 -0
- package/dist/navigation/layout_preservation.d.ts +2 -0
- package/dist/navigation/layout_preservation.js +18 -0
- package/dist/navigation/layout_preservation.js.map +1 -0
- package/dist/parser/index.cjs +2 -0
- package/dist/parser/index.cjs.map +1 -1
- package/dist/parser/index.d.cts +1 -1
- package/dist/parser/index.d.ts +1 -1
- package/dist/parser/index.js +2 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/operations_parser.cjs +6 -0
- package/dist/parser/operations_parser.cjs.map +1 -1
- package/dist/parser/operations_parser.d.cts +9 -2
- package/dist/parser/operations_parser.d.ts +9 -2
- package/dist/parser/operations_parser.js +5 -0
- package/dist/parser/operations_parser.js.map +1 -1
- package/dist/parser/views_parser.cjs.map +1 -1
- package/dist/parser/views_parser.js.map +1 -1
- package/dist/router/index.d.cts +1 -0
- package/dist/router/index.d.ts +1 -0
- package/dist/router/wood_router.cjs +35 -3
- package/dist/router/wood_router.cjs.map +1 -1
- package/dist/router/wood_router.d.cts +15 -0
- package/dist/router/wood_router.d.ts +15 -0
- package/dist/router/wood_router.js +36 -4
- package/dist/router/wood_router.js.map +1 -1
- package/dist/runtime/get_container.cjs +9 -34
- package/dist/runtime/get_container.cjs.map +1 -1
- package/dist/runtime/get_container.d.cts +24 -4
- package/dist/runtime/get_container.d.ts +24 -4
- package/dist/runtime/get_container.js +8 -23
- package/dist/runtime/get_container.js.map +1 -1
- package/dist/runtime/index.cjs +9 -0
- package/dist/runtime/index.cjs.map +1 -1
- package/dist/runtime/index.d.cts +5 -2
- package/dist/runtime/index.d.ts +5 -2
- package/dist/runtime/index.js +10 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/renderer_config_extension.cjs +50 -0
- package/dist/runtime/renderer_config_extension.cjs.map +1 -0
- package/dist/runtime/renderer_config_extension.d.cts +19 -0
- package/dist/runtime/renderer_config_extension.d.ts +19 -0
- package/dist/runtime/renderer_config_extension.js +24 -0
- package/dist/runtime/renderer_config_extension.js.map +1 -0
- package/dist/runtime/renderer_log_batch_receiver.cjs +73 -0
- package/dist/runtime/renderer_log_batch_receiver.cjs.map +1 -0
- package/dist/runtime/renderer_log_batch_receiver.d.cts +29 -0
- package/dist/runtime/renderer_log_batch_receiver.d.ts +29 -0
- package/dist/runtime/renderer_log_batch_receiver.js +48 -0
- package/dist/runtime/renderer_log_batch_receiver.js.map +1 -0
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.cts +1 -1
- package/dist/runtime/renderer_trace_batch_receiver_registry.d.ts +1 -1
- package/dist/runtime/runtime.cjs +14 -0
- package/dist/runtime/runtime.cjs.map +1 -1
- package/dist/runtime/runtime.d.cts +2 -1
- package/dist/runtime/runtime.d.ts +2 -1
- package/dist/runtime/runtime.js +14 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/stick/index.cjs.map +1 -1
- package/dist/stick/index.js.map +1 -1
- package/dist/testing/automation_assertions.cjs +417 -0
- package/dist/testing/automation_assertions.cjs.map +1 -0
- package/dist/testing/automation_assertions.d.cts +44 -0
- package/dist/testing/automation_assertions.d.ts +44 -0
- package/dist/testing/automation_assertions.js +385 -0
- package/dist/testing/automation_assertions.js.map +1 -0
- package/dist/testing/browser.cjs +130 -57
- package/dist/testing/browser.cjs.map +1 -1
- package/dist/testing/browser.d.cts +10 -4
- package/dist/testing/browser.d.ts +10 -4
- package/dist/testing/browser.js +132 -53
- package/dist/testing/browser.js.map +1 -1
- package/dist/testing/create_controller_harness.cjs +28 -8
- package/dist/testing/create_controller_harness.cjs.map +1 -1
- package/dist/testing/create_controller_harness.d.cts +18 -2
- package/dist/testing/create_controller_harness.d.ts +18 -2
- package/dist/testing/create_controller_harness.js +28 -8
- package/dist/testing/create_controller_harness.js.map +1 -1
- package/dist/testing/create_router_bridge.d.cts +1 -0
- package/dist/testing/create_router_bridge.d.ts +1 -0
- package/dist/testing/create_test_router.d.cts +1 -0
- package/dist/testing/create_test_router.d.ts +1 -0
- package/dist/testing/geometry.cjs +109 -0
- package/dist/testing/geometry.cjs.map +1 -0
- package/dist/testing/geometry.d.cts +45 -0
- package/dist/testing/geometry.d.ts +45 -0
- package/dist/testing/geometry.js +79 -0
- package/dist/testing/geometry.js.map +1 -0
- package/dist/testing/index.cjs +62 -2
- package/dist/testing/index.cjs.map +1 -1
- package/dist/testing/index.d.cts +23 -4
- package/dist/testing/index.d.ts +23 -4
- package/dist/testing/index.js +50 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/{controller/__fixtures__/controllers/not_a_class.cjs → testing/test_wood.cjs} +15 -7
- package/dist/testing/test_wood.cjs.map +1 -0
- package/dist/testing/test_wood.d.cts +16 -0
- package/dist/testing/test_wood.d.ts +16 -0
- package/dist/testing/test_wood.js +12 -0
- package/dist/testing/test_wood.js.map +1 -0
- package/dist/testing/test_wood_config.cjs +272 -0
- package/dist/testing/test_wood_config.cjs.map +1 -0
- package/dist/testing/test_wood_config.d.cts +111 -0
- package/dist/testing/test_wood_config.d.ts +111 -0
- package/dist/testing/test_wood_config.js +247 -0
- package/dist/testing/test_wood_config.js.map +1 -0
- package/dist/testing/wood_config_source.cjs +146 -0
- package/dist/testing/wood_config_source.cjs.map +1 -0
- package/dist/testing/wood_config_source.d.cts +36 -0
- package/dist/testing/wood_config_source.d.ts +36 -0
- package/dist/testing/wood_config_source.js +112 -0
- package/dist/testing/wood_config_source.js.map +1 -0
- package/dist/testing/wood_env_renderer.cjs +210 -0
- package/dist/testing/wood_env_renderer.cjs.map +1 -0
- package/dist/testing/wood_env_renderer.d.cts +74 -0
- package/dist/testing/wood_env_renderer.d.ts +74 -0
- package/dist/testing/wood_env_renderer.js +188 -0
- package/dist/testing/wood_env_renderer.js.map +1 -0
- package/dist/testing/wood_test_selection.cjs +94 -0
- package/dist/testing/wood_test_selection.cjs.map +1 -0
- package/dist/testing/wood_test_selection.d.cts +39 -0
- package/dist/testing/wood_test_selection.d.ts +39 -0
- package/dist/testing/wood_test_selection.js +68 -0
- package/dist/testing/wood_test_selection.js.map +1 -0
- package/dist/trace-testing/index.d.cts +1 -2
- package/dist/trace-testing/index.d.ts +1 -2
- package/dist/trace-testing/trace_recorder.cjs +1 -1
- package/dist/trace-testing/trace_recorder.cjs.map +1 -1
- package/dist/trace-testing/trace_recorder.d.cts +1 -2
- package/dist/trace-testing/trace_recorder.d.ts +1 -2
- package/dist/trace-testing/trace_recorder.js +1 -1
- package/dist/trace-testing/trace_recorder.js.map +1 -1
- package/dist/trace-transport/index.d.cts +1 -1
- package/dist/trace-transport/index.d.ts +1 -1
- package/dist/{trace_hub-Cob54qRx.d.cts → trace_hub-Cpo_nVze.d.cts} +21 -1
- package/dist/{trace_hub-Cob54qRx.d.ts → trace_hub-Cpo_nVze.d.ts} +21 -1
- package/dist/tracing/index.cjs +9 -2
- package/dist/tracing/index.cjs.map +1 -1
- package/dist/tracing/index.d.cts +3 -2
- package/dist/tracing/index.d.ts +3 -2
- package/dist/tracing/index.js +7 -1
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/renderer_trace_batch_host.d.cts +1 -1
- package/dist/tracing/renderer_trace_batch_host.d.ts +1 -1
- package/dist/tracing/renderer_trace_batch_transport.cjs +48 -6
- package/dist/tracing/renderer_trace_batch_transport.cjs.map +1 -1
- package/dist/tracing/renderer_trace_batch_transport.d.cts +17 -1
- package/dist/tracing/renderer_trace_batch_transport.d.ts +17 -1
- package/dist/tracing/renderer_trace_batch_transport.js +48 -6
- package/dist/tracing/renderer_trace_batch_transport.js.map +1 -1
- package/dist/tracing/trace_batch_adapter.cjs +110 -0
- package/dist/tracing/trace_batch_adapter.cjs.map +1 -0
- package/dist/tracing/trace_batch_adapter.d.cts +36 -0
- package/dist/tracing/trace_batch_adapter.d.ts +36 -0
- package/dist/tracing/trace_batch_adapter.js +86 -0
- package/dist/tracing/trace_batch_adapter.js.map +1 -0
- package/dist/tracing/trace_commit_writer.d.cts +1 -1
- package/dist/tracing/trace_commit_writer.d.ts +1 -1
- package/dist/tracing/trace_hub.cjs +87 -20
- package/dist/tracing/trace_hub.cjs.map +1 -1
- package/dist/tracing/trace_hub.d.cts +1 -1
- package/dist/tracing/trace_hub.d.ts +1 -1
- package/dist/tracing/trace_hub.js +85 -20
- package/dist/tracing/trace_hub.js.map +1 -1
- package/dist/tracing/trace_provider.cjs +21 -6
- package/dist/tracing/trace_provider.cjs.map +1 -1
- package/dist/tracing/trace_provider.d.cts +13 -4
- package/dist/tracing/trace_provider.d.ts +13 -4
- package/dist/tracing/trace_provider.js +22 -7
- package/dist/tracing/trace_provider.js.map +1 -1
- package/dist/tracing/types/wood_trace_batch.types.cjs.map +1 -1
- package/dist/tracing/types/wood_trace_batch.types.d.cts +15 -1
- package/dist/tracing/types/wood_trace_batch.types.d.ts +15 -1
- package/dist/tracing/types/wood_trace_sink.types.d.cts +1 -1
- package/dist/tracing/types/wood_trace_sink.types.d.ts +1 -1
- package/dist/tracing/wood_trace_batch_contract.cjs +2 -0
- package/dist/tracing/wood_trace_batch_contract.cjs.map +1 -1
- package/dist/tracing/wood_trace_batch_contract.d.cts +1 -1
- package/dist/tracing/wood_trace_batch_contract.d.ts +1 -1
- package/dist/tracing/wood_trace_batch_contract.js +2 -0
- package/dist/tracing/wood_trace_batch_contract.js.map +1 -1
- package/dist/transport/build_transport_bridge.cjs +4 -2
- package/dist/transport/build_transport_bridge.cjs.map +1 -1
- package/dist/transport/build_transport_bridge.d.cts +7 -1
- package/dist/transport/build_transport_bridge.d.ts +7 -1
- package/dist/transport/build_transport_bridge.js +2 -1
- package/dist/transport/build_transport_bridge.js.map +1 -1
- package/dist/transport/in_process_router_transport.d.cts +1 -0
- package/dist/transport/in_process_router_transport.d.ts +1 -0
- package/dist/transport/index.d.cts +1 -0
- package/dist/transport/index.d.ts +1 -0
- package/dist/types/config.cjs.map +1 -1
- package/dist/types/config.d.cts +47 -1
- package/dist/types/config.d.ts +47 -1
- package/dist/types/context.cjs +12 -0
- package/dist/types/context.cjs.map +1 -1
- package/dist/types/context.d.cts +27 -1
- package/dist/types/context.d.ts +27 -1
- package/dist/types/context.js +4 -0
- package/dist/types/context.js.map +1 -1
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/operations.cjs.map +1 -1
- package/dist/types/operations.d.cts +2 -0
- package/dist/types/operations.d.ts +2 -0
- package/docs/axe.md +706 -0
- package/package.json +19 -5
- package/src/components/NavigationShell.scopes.browser.test.ts +363 -0
- package/src/components/NavigationShell.svelte +126 -49
- package/dist/controller/__fixtures__/controllers/chat.cjs +0 -32
- package/dist/controller/__fixtures__/controllers/chat.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/chat.d.cts +0 -11
- package/dist/controller/__fixtures__/controllers/chat.d.ts +0 -11
- package/dist/controller/__fixtures__/controllers/chat.js +0 -12
- package/dist/controller/__fixtures__/controllers/chat.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/not_a_class.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/not_a_class.d.cts +0 -3
- package/dist/controller/__fixtures__/controllers/not_a_class.d.ts +0 -3
- package/dist/controller/__fixtures__/controllers/not_a_class.js +0 -5
- package/dist/controller/__fixtures__/controllers/not_a_class.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/settings.controller.cjs +0 -32
- package/dist/controller/__fixtures__/controllers/settings.controller.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/settings.controller.d.cts +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.d.ts +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.js +0 -12
- package/dist/controller/__fixtures__/controllers/settings.controller.js.map +0 -1
- package/dist/controller/__fixtures__/controllers/test.cjs.map +0 -1
- package/dist/controller/__fixtures__/controllers/test.d.cts +0 -7
- package/dist/controller/__fixtures__/controllers/test.d.ts +0 -7
- package/dist/controller/__fixtures__/controllers/test.js +0 -9
- package/dist/controller/__fixtures__/controllers/test.js.map +0 -1
- package/dist/loader/__fixtures__/layouts/app.load.cjs.map +0 -1
- package/dist/loader/__fixtures__/layouts/app.load.d.cts +0 -5
- package/dist/loader/__fixtures__/layouts/app.load.d.ts +0 -5
- package/dist/loader/__fixtures__/layouts/app.load.js +0 -7
- package/dist/loader/__fixtures__/layouts/app.load.js.map +0 -1
- package/dist/loader/__fixtures__/views/test/page.load.cjs.map +0 -1
- package/dist/loader/__fixtures__/views/test/page.load.d.cts +0 -6
- package/dist/loader/__fixtures__/views/test/page.load.d.ts +0 -6
- package/dist/loader/__fixtures__/views/test/page.load.js +0 -7
- package/dist/loader/__fixtures__/views/test/page.load.js.map +0 -1
- package/dist/middleware/__fixtures__/middleware/auth.cjs.map +0 -1
- package/dist/middleware/__fixtures__/middleware/auth.d.cts +0 -6
- package/dist/middleware/__fixtures__/middleware/auth.d.ts +0 -6
- package/dist/middleware/__fixtures__/middleware/auth.js +0 -19
- package/dist/middleware/__fixtures__/middleware/auth.js.map +0 -1
- package/dist/middleware/__fixtures__/middleware/sequence.cjs.map +0 -1
- package/dist/middleware/__fixtures__/middleware/sequence.d.cts +0 -7
- package/dist/middleware/__fixtures__/middleware/sequence.d.ts +0 -7
- package/dist/middleware/__fixtures__/middleware/sequence.js +0 -21
- package/dist/middleware/__fixtures__/middleware/sequence.js.map +0 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { getNavigation, type NavigationEntry } from '@noego/wood/navigation';
|
|
4
4
|
import { disposeControllerLifecycle } from '../controller/controller_lifecycle';
|
|
5
5
|
import { createNavigationMountKey } from '../navigation/navigation_identity';
|
|
6
|
+
import { computePreservedLayoutDepth as computeSharedPreservedLayoutDepth } from '../navigation/layout_preservation';
|
|
6
7
|
import WoodRecursiveRender from './WoodRecursiveRender.svelte';
|
|
7
8
|
import { getWoodAppEnv } from '../client/app_env';
|
|
8
9
|
|
|
@@ -20,6 +21,21 @@
|
|
|
20
21
|
|
|
21
22
|
type CreateViewControllerFn = (entry: ViewManifestEntry) => Promise<unknown>;
|
|
22
23
|
type CreateLayoutControllersFn = (entry: ViewManifestEntry, startIndex?: number) => Promise<Array<unknown>>;
|
|
24
|
+
type ScopeLike = { dispose?: () => Promise<void> };
|
|
25
|
+
/**
|
|
26
|
+
* A view lifecycle's controllers plus the IoC scopes that own them:
|
|
27
|
+
* one page scope shared by the view controller and non-preservable layout
|
|
28
|
+
* controllers, and a dedicated scope per preservable layout (null entries
|
|
29
|
+
* mean "owned by the page scope"). Legacy factory props produce sets with
|
|
30
|
+
* null scopes — controller-only lifecycle, no scope disposal.
|
|
31
|
+
*/
|
|
32
|
+
type ControllerSet = {
|
|
33
|
+
controller: unknown;
|
|
34
|
+
layoutControllers: Array<unknown>;
|
|
35
|
+
pageScope?: ScopeLike | null;
|
|
36
|
+
layoutScopes?: Array<ScopeLike | null>;
|
|
37
|
+
};
|
|
38
|
+
type CreateControllerSetFn = (entry: ViewManifestEntry, preservedDepth?: number) => Promise<ControllerSet>;
|
|
23
39
|
type GetViewManifestEntryFn = (viewKey: string) => ViewManifestEntry | null;
|
|
24
40
|
type NavigationOptions = {
|
|
25
41
|
preserveLayouts?: boolean;
|
|
@@ -41,27 +57,50 @@
|
|
|
41
57
|
initialLayoutControllers,
|
|
42
58
|
createViewControllerFn,
|
|
43
59
|
createLayoutControllersFn,
|
|
60
|
+
initialControllerSet,
|
|
61
|
+
createControllerSetFn,
|
|
44
62
|
getViewManifestEntryFn,
|
|
45
63
|
}: {
|
|
46
64
|
manifest: Record<string, ViewManifestEntry>;
|
|
47
65
|
initialEntry: ViewManifestEntry;
|
|
48
|
-
initialController
|
|
49
|
-
initialLayoutControllers
|
|
50
|
-
createViewControllerFn
|
|
51
|
-
createLayoutControllersFn
|
|
66
|
+
initialController?: unknown;
|
|
67
|
+
initialLayoutControllers?: Array<unknown>;
|
|
68
|
+
createViewControllerFn?: CreateViewControllerFn;
|
|
69
|
+
createLayoutControllersFn?: CreateLayoutControllersFn;
|
|
70
|
+
initialControllerSet?: ControllerSet;
|
|
71
|
+
createControllerSetFn?: CreateControllerSetFn;
|
|
52
72
|
getViewManifestEntryFn: GetViewManifestEntryFn;
|
|
53
73
|
} = $props();
|
|
54
74
|
|
|
75
|
+
// Unified controller-set factory: prefer the scope-aware contract; wrap
|
|
76
|
+
// the legacy split factories (scope-less) for backward compatibility.
|
|
77
|
+
const buildControllerSet: CreateControllerSetFn = createControllerSetFn
|
|
78
|
+
?? (async (entry, preservedDepth = 0) => ({
|
|
79
|
+
controller: await createViewControllerFn?.(entry),
|
|
80
|
+
layoutControllers: (await createLayoutControllersFn?.(entry, preservedDepth)) ?? [],
|
|
81
|
+
pageScope: null,
|
|
82
|
+
layoutScopes: [],
|
|
83
|
+
}));
|
|
84
|
+
|
|
85
|
+
async function disposeScope(scope: ScopeLike | null | undefined, context: string): Promise<void> {
|
|
86
|
+
if (!scope || typeof scope.dispose !== 'function') return;
|
|
87
|
+
try {
|
|
88
|
+
await scope.dispose();
|
|
89
|
+
} catch (error) {
|
|
90
|
+
reportNavigationError(context, error);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
55
94
|
function getInitialEntry(): ViewManifestEntry {
|
|
56
95
|
return initialEntry;
|
|
57
96
|
}
|
|
58
97
|
|
|
59
98
|
function getInitialController(): unknown {
|
|
60
|
-
return initialController;
|
|
99
|
+
return initialControllerSet ? initialControllerSet.controller : initialController;
|
|
61
100
|
}
|
|
62
101
|
|
|
63
102
|
function getInitialLayoutControllers(): Array<unknown> {
|
|
64
|
-
return initialLayoutControllers;
|
|
103
|
+
return initialControllerSet ? initialControllerSet.layoutControllers : (initialLayoutControllers ?? []);
|
|
65
104
|
}
|
|
66
105
|
|
|
67
106
|
let activeEntry = $state(getInitialEntry());
|
|
@@ -78,6 +117,13 @@
|
|
|
78
117
|
let navigationTransitionQueue: Promise<void> = Promise.resolve();
|
|
79
118
|
let destroyed = false;
|
|
80
119
|
|
|
120
|
+
// Scope ownership (null = owned by the page scope / legacy scope-less set)
|
|
121
|
+
let activePageScope: ScopeLike | null = initialControllerSet?.pageScope ?? null;
|
|
122
|
+
let activeLayoutScopes: Array<ScopeLike | null> = [...(initialControllerSet?.layoutScopes ?? [])];
|
|
123
|
+
// Outgoing page scopes kept alive because forced preservation carried one
|
|
124
|
+
// of their layout controllers forward; disposed when those layouts leave.
|
|
125
|
+
let retainedPageScopes: Array<{ scope: ScopeLike; keys: Set<string> }> = [];
|
|
126
|
+
|
|
81
127
|
let activePage = $derived({
|
|
82
128
|
key: activeEntry.key,
|
|
83
129
|
windowName: activeEntry.windowName,
|
|
@@ -161,49 +207,14 @@
|
|
|
161
207
|
);
|
|
162
208
|
}
|
|
163
209
|
|
|
164
|
-
function layoutIdentityMatches(
|
|
165
|
-
left: ViewManifestEntry,
|
|
166
|
-
right: ViewManifestEntry,
|
|
167
|
-
index: number,
|
|
168
|
-
): boolean {
|
|
169
|
-
return (
|
|
170
|
-
left.layoutPaths[index] === right.layoutPaths[index] &&
|
|
171
|
-
left.layoutControllers[index] === right.layoutControllers[index]
|
|
172
|
-
);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
function shouldPreserveLayout(
|
|
176
|
-
from: ViewManifestEntry,
|
|
177
|
-
to: ViewManifestEntry,
|
|
178
|
-
index: number,
|
|
179
|
-
options: NavigationOptions,
|
|
180
|
-
): boolean {
|
|
181
|
-
if (options.preserveLayouts === false) {
|
|
182
|
-
return false;
|
|
183
|
-
}
|
|
184
|
-
if (options.preserveLayouts === true) {
|
|
185
|
-
return true;
|
|
186
|
-
}
|
|
187
|
-
return from.layoutPreserve?.[index] === true && to.layoutPreserve?.[index] === true;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
210
|
function computePreservedLayoutDepth(
|
|
191
211
|
from: ViewManifestEntry,
|
|
192
212
|
to: ViewManifestEntry,
|
|
193
213
|
options: NavigationOptions,
|
|
194
214
|
): number {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
if (!layoutIdentityMatches(from, to, index)) {
|
|
199
|
-
break;
|
|
200
|
-
}
|
|
201
|
-
if (!shouldPreserveLayout(from, to, index, options)) {
|
|
202
|
-
break;
|
|
203
|
-
}
|
|
204
|
-
depth += 1;
|
|
205
|
-
}
|
|
206
|
-
return depth;
|
|
215
|
+
// The rule itself lives in navigation/layout_preservation so the Node
|
|
216
|
+
// application slice preserves exactly what this component preserves.
|
|
217
|
+
return computeSharedPreservedLayoutDepth(from, to, options);
|
|
207
218
|
}
|
|
208
219
|
|
|
209
220
|
async function disposeControllerSet(
|
|
@@ -250,16 +261,24 @@
|
|
|
250
261
|
async function createTransitionControllers(
|
|
251
262
|
entry: ViewManifestEntry,
|
|
252
263
|
preservedDepth: number,
|
|
253
|
-
): Promise<
|
|
264
|
+
): Promise<ControllerSet> {
|
|
265
|
+
if (createControllerSetFn) {
|
|
266
|
+
// The scope-aware factory owns its own failure cleanup (it disposes
|
|
267
|
+
// the scopes it created before rethrowing).
|
|
268
|
+
return createControllerSetFn(entry, preservedDepth);
|
|
269
|
+
}
|
|
270
|
+
|
|
254
271
|
const [controllerResult, layoutControllersResult] = await Promise.allSettled([
|
|
255
|
-
createViewControllerFn(entry),
|
|
256
|
-
createLayoutControllersFn(entry, preservedDepth),
|
|
272
|
+
createViewControllerFn!(entry),
|
|
273
|
+
createLayoutControllersFn!(entry, preservedDepth),
|
|
257
274
|
]);
|
|
258
275
|
|
|
259
276
|
if (controllerResult.status === 'fulfilled' && layoutControllersResult.status === 'fulfilled') {
|
|
260
277
|
return {
|
|
261
278
|
controller: controllerResult.value,
|
|
262
279
|
layoutControllers: layoutControllersResult.value,
|
|
280
|
+
pageScope: null,
|
|
281
|
+
layoutScopes: [],
|
|
263
282
|
};
|
|
264
283
|
}
|
|
265
284
|
|
|
@@ -311,10 +330,15 @@
|
|
|
311
330
|
const preservedLayoutKeys = activeLayoutKeys.slice(0, preservedDepth);
|
|
312
331
|
const previousController = activeController;
|
|
313
332
|
const previousLayoutControllers = [...activeLayoutControllers];
|
|
314
|
-
const
|
|
333
|
+
const previousPageScope = activePageScope;
|
|
334
|
+
const previousLayoutScopes = [...activeLayoutScopes];
|
|
335
|
+
const nextSet = await createTransitionControllers(entry, preservedDepth);
|
|
336
|
+
const { controller, layoutControllers } = nextSet;
|
|
315
337
|
|
|
316
338
|
if (destroyed) {
|
|
317
339
|
await disposeStagedControllers(controller, layoutControllers);
|
|
340
|
+
for (const scope of nextSet.layoutScopes ?? []) await disposeScope(scope, 'staged layout scope disposal failed');
|
|
341
|
+
await disposeScope(nextSet.pageScope, 'staged page scope disposal failed');
|
|
318
342
|
return;
|
|
319
343
|
}
|
|
320
344
|
|
|
@@ -325,6 +349,15 @@
|
|
|
325
349
|
);
|
|
326
350
|
const nextLayoutKeys = createLayoutMountKeys(entry, nextPageKey, preservedLayoutKeys);
|
|
327
351
|
|
|
352
|
+
// Merge scope ownership the same way controllers merge: preserved prefix
|
|
353
|
+
// keeps its scopes, the created suffix brings the new set's scopes.
|
|
354
|
+
const nextLayoutScopes: Array<ScopeLike | null> = [];
|
|
355
|
+
for (let index = 0; index < entry.layoutPaths.length; index += 1) {
|
|
356
|
+
nextLayoutScopes[index] = index < preservedDepth
|
|
357
|
+
? (previousLayoutScopes[index] ?? null)
|
|
358
|
+
: ((nextSet.layoutScopes ?? [])[index] ?? null);
|
|
359
|
+
}
|
|
360
|
+
|
|
328
361
|
activeEntry = entry;
|
|
329
362
|
activeController = controller;
|
|
330
363
|
activeLayoutControllers = nextLayoutControllers;
|
|
@@ -332,8 +365,44 @@
|
|
|
332
365
|
activeQuery = { ...navEntry.query };
|
|
333
366
|
activePageKey = nextPageKey;
|
|
334
367
|
activeLayoutKeys = nextLayoutKeys;
|
|
368
|
+
activePageScope = nextSet.pageScope ?? null;
|
|
369
|
+
activeLayoutScopes = nextLayoutScopes;
|
|
335
370
|
|
|
336
371
|
await disposeControllerSet(previousController, previousLayoutControllers, preservedDepth);
|
|
372
|
+
|
|
373
|
+
// Scope lifecycle for the outgoing page:
|
|
374
|
+
// - dedicated layout scopes past the preserved prefix are done -> dispose;
|
|
375
|
+
// - the page scope is done UNLESS forced preservation carried one of its
|
|
376
|
+
// page-scope layout controllers forward -> retain it until they leave.
|
|
377
|
+
for (let index = preservedDepth; index < previousLayoutScopes.length; index += 1) {
|
|
378
|
+
await disposeScope(previousLayoutScopes[index], 'layout scope disposal failed');
|
|
379
|
+
}
|
|
380
|
+
const borrowedKeys = new Set<string>();
|
|
381
|
+
for (let index = 0; index < preservedDepth; index += 1) {
|
|
382
|
+
if (previousLayoutControllers[index] !== undefined && (previousLayoutScopes[index] ?? null) === null) {
|
|
383
|
+
borrowedKeys.add(preservedLayoutKeys[index]);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
if (previousPageScope) {
|
|
387
|
+
if (borrowedKeys.size > 0) {
|
|
388
|
+
retainedPageScopes.push({ scope: previousPageScope, keys: borrowedKeys });
|
|
389
|
+
} else {
|
|
390
|
+
await disposeScope(previousPageScope, 'page scope disposal failed');
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// Retained scopes whose borrowed layouts are no longer preserved are done.
|
|
395
|
+
const liveKeys = new Set(nextLayoutKeys);
|
|
396
|
+
const stillRetained: typeof retainedPageScopes = [];
|
|
397
|
+
for (const retained of retainedPageScopes) {
|
|
398
|
+
retained.keys = new Set([...retained.keys].filter((key) => liveKeys.has(key)));
|
|
399
|
+
if (retained.keys.size > 0) {
|
|
400
|
+
stillRetained.push(retained);
|
|
401
|
+
} else {
|
|
402
|
+
await disposeScope(retained.scope, 'retained page scope disposal failed');
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
retainedPageScopes = stillRetained;
|
|
337
406
|
}
|
|
338
407
|
|
|
339
408
|
function enqueueNavigationEntry(navEntry: NavigationEntry | null): void {
|
|
@@ -408,7 +477,15 @@
|
|
|
408
477
|
unsubscribe();
|
|
409
478
|
unsubscribeWindowNavigate?.();
|
|
410
479
|
void navigationTransitionQueue
|
|
411
|
-
.then(() =>
|
|
480
|
+
.then(async () => {
|
|
481
|
+
await disposeActiveControllers();
|
|
482
|
+
for (const scope of activeLayoutScopes) await disposeScope(scope, 'teardown layout scope disposal failed');
|
|
483
|
+
await disposeScope(activePageScope, 'teardown page scope disposal failed');
|
|
484
|
+
for (const retained of retainedPageScopes) {
|
|
485
|
+
await disposeScope(retained.scope, 'teardown retained scope disposal failed');
|
|
486
|
+
}
|
|
487
|
+
retainedPageScopes = [];
|
|
488
|
+
})
|
|
412
489
|
.catch((error: unknown) => {
|
|
413
490
|
reportNavigationError('navigation teardown failed', error);
|
|
414
491
|
});
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var chat_exports = {};
|
|
20
|
-
__export(chat_exports, {
|
|
21
|
-
default: () => ChatController
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(chat_exports);
|
|
24
|
-
class ChatController {
|
|
25
|
-
async sendMessage({ req }) {
|
|
26
|
-
return { reply: `Echo: ${req.body.message}`, conversationId: "test-conv" };
|
|
27
|
-
}
|
|
28
|
-
async listConversations() {
|
|
29
|
-
return { conversations: [] };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=chat.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/chat.ts"],"sourcesContent":["export default class ChatController {\n async sendMessage({ req }: any) {\n return { reply: `Echo: ${req.body.message}`, conversationId: 'test-conv' };\n }\n\n async listConversations() {\n return { conversations: [] };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAO,eAA6B;AAAA,EAClC,MAAM,YAAY,EAAE,IAAI,GAAQ;AAC9B,WAAO,EAAE,OAAO,SAAS,IAAI,KAAK,OAAO,IAAI,gBAAgB,YAAY;AAAA,EAC3E;AAAA,EAEA,MAAM,oBAAoB;AACxB,WAAO,EAAE,eAAe,CAAC,EAAE;AAAA,EAC7B;AACF;","names":[]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
class ChatController {
|
|
2
|
-
async sendMessage({ req }) {
|
|
3
|
-
return { reply: `Echo: ${req.body.message}`, conversationId: "test-conv" };
|
|
4
|
-
}
|
|
5
|
-
async listConversations() {
|
|
6
|
-
return { conversations: [] };
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export {
|
|
10
|
-
ChatController as default
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=chat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/chat.ts"],"sourcesContent":["export default class ChatController {\n async sendMessage({ req }: any) {\n return { reply: `Echo: ${req.body.message}`, conversationId: 'test-conv' };\n }\n\n async listConversations() {\n return { conversations: [] };\n }\n}\n"],"mappings":"AAAA,MAAO,eAA6B;AAAA,EAClC,MAAM,YAAY,EAAE,IAAI,GAAQ;AAC9B,WAAO,EAAE,OAAO,SAAS,IAAI,KAAK,OAAO,IAAI,gBAAgB,YAAY;AAAA,EAC3E;AAAA,EAEA,MAAM,oBAAoB;AACxB,WAAO,EAAE,eAAe,CAAC,EAAE;AAAA,EAC7B;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/not_a_class.ts"],"sourcesContent":["export const value = 42;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,QAAQ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/not_a_class.ts"],"sourcesContent":["export const value = 42;\n"],"mappings":"AAAO,MAAM,QAAQ;","names":[]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var settings_controller_exports = {};
|
|
20
|
-
__export(settings_controller_exports, {
|
|
21
|
-
default: () => SettingsController
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(settings_controller_exports);
|
|
24
|
-
class SettingsController {
|
|
25
|
-
async getPreferences() {
|
|
26
|
-
return { preferences: { theme: "system" } };
|
|
27
|
-
}
|
|
28
|
-
async updatePreferences({ req }) {
|
|
29
|
-
return { ok: true };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=settings.controller.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/settings.controller.ts"],"sourcesContent":["export default class SettingsController {\n async getPreferences() {\n return { preferences: { theme: 'system' } };\n }\n\n async updatePreferences({ req }: any) {\n return { ok: true };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAO,mBAAiC;AAAA,EACtC,MAAM,iBAAiB;AACrB,WAAO,EAAE,aAAa,EAAE,OAAO,SAAS,EAAE;AAAA,EAC5C;AAAA,EAEA,MAAM,kBAAkB,EAAE,IAAI,GAAQ;AACpC,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AACF;","names":[]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
class SettingsController {
|
|
2
|
-
async getPreferences() {
|
|
3
|
-
return { preferences: { theme: "system" } };
|
|
4
|
-
}
|
|
5
|
-
async updatePreferences({ req }) {
|
|
6
|
-
return { ok: true };
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export {
|
|
10
|
-
SettingsController as default
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=settings.controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/settings.controller.ts"],"sourcesContent":["export default class SettingsController {\n async getPreferences() {\n return { preferences: { theme: 'system' } };\n }\n\n async updatePreferences({ req }: any) {\n return { ok: true };\n }\n}\n"],"mappings":"AAAA,MAAO,mBAAiC;AAAA,EACtC,MAAM,iBAAiB;AACrB,WAAO,EAAE,aAAa,EAAE,OAAO,SAAS,EAAE;AAAA,EAC5C;AAAA,EAEA,MAAM,kBAAkB,EAAE,IAAI,GAAQ;AACpC,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/test.ts"],"sourcesContent":["export default class TestController {\n async hello() {\n return { greeting: 'Hello from test controller' };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAO,eAA6B;AAAA,EAClC,MAAM,QAAQ;AACZ,WAAO,EAAE,UAAU,6BAA6B;AAAA,EAClD;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controller/__fixtures__/controllers/test.ts"],"sourcesContent":["export default class TestController {\n async hello() {\n return { greeting: 'Hello from test controller' };\n }\n}\n"],"mappings":"AAAA,MAAO,eAA6B;AAAA,EAClC,MAAM,QAAQ;AACZ,WAAO,EAAE,UAAU,6BAA6B;AAAA,EAClD;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/loader/__fixtures__/layouts/app.load.ts"],"sourcesContent":["export default async function load(request: any) {\n return { layoutData: 'app-layout' };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAO,KAA4B,SAAc;AAC/C,SAAO,EAAE,YAAY,aAAa;AACpC;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/loader/__fixtures__/layouts/app.load.ts"],"sourcesContent":["export default async function load(request: any) {\n return { layoutData: 'app-layout' };\n}\n"],"mappings":"AAAA,eAAO,KAA4B,SAAc;AAC/C,SAAO,EAAE,YAAY,aAAa;AACpC;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/loader/__fixtures__/views/test/page.load.ts"],"sourcesContent":["export default async function load(request: any) {\n return { testData: 'hello', url: request.url };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAO,KAA4B,SAAc;AAC/C,SAAO,EAAE,UAAU,SAAS,KAAK,QAAQ,IAAI;AAC/C;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/loader/__fixtures__/views/test/page.load.ts"],"sourcesContent":["export default async function load(request: any) {\n return { testData: 'hello', url: request.url };\n}\n"],"mappings":"AAAA,eAAO,KAA4B,SAAc;AAC/C,SAAO,EAAE,UAAU,SAAS,KAAK,QAAQ,IAAI;AAC/C;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/middleware/__fixtures__/middleware/auth.ts"],"sourcesContent":["import type { WoodMiddlewareContext } from '../../../types/index.cjs';\n\nexport function is_admin(ctx: WoodMiddlewareContext): void {\n const session = ctx.getSession() as any;\n if (!session?.admin) {\n throw new Error('Unauthorized: admin required');\n }\n ctx.set('admin', session.admin);\n}\n\nexport function is_authenticated(ctx: WoodMiddlewareContext): void {\n const session = ctx.getSession() as any;\n if (!session?.user) {\n throw new Error('Unauthorized: authentication required');\n }\n ctx.set('user', session.user);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,SAAS,SAAS,KAAkC;AACzD,QAAM,UAAU,IAAI,WAAW;AAC/B,MAAI,CAAC,SAAS,OAAO;AACnB,UAAM,IAAI,MAAM,8BAA8B;AAAA,EAChD;AACA,MAAI,IAAI,SAAS,QAAQ,KAAK;AAChC;AAEO,SAAS,iBAAiB,KAAkC;AACjE,QAAM,UAAU,IAAI,WAAW;AAC/B,MAAI,CAAC,SAAS,MAAM;AAClB,UAAM,IAAI,MAAM,uCAAuC;AAAA,EACzD;AACA,MAAI,IAAI,QAAQ,QAAQ,IAAI;AAC9B;","names":[]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
function is_admin(ctx) {
|
|
2
|
-
const session = ctx.getSession();
|
|
3
|
-
if (!session?.admin) {
|
|
4
|
-
throw new Error("Unauthorized: admin required");
|
|
5
|
-
}
|
|
6
|
-
ctx.set("admin", session.admin);
|
|
7
|
-
}
|
|
8
|
-
function is_authenticated(ctx) {
|
|
9
|
-
const session = ctx.getSession();
|
|
10
|
-
if (!session?.user) {
|
|
11
|
-
throw new Error("Unauthorized: authentication required");
|
|
12
|
-
}
|
|
13
|
-
ctx.set("user", session.user);
|
|
14
|
-
}
|
|
15
|
-
export {
|
|
16
|
-
is_admin,
|
|
17
|
-
is_authenticated
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/middleware/__fixtures__/middleware/auth.ts"],"sourcesContent":["import type { WoodMiddlewareContext } from '../../../types/index.js';\n\nexport function is_admin(ctx: WoodMiddlewareContext): void {\n const session = ctx.getSession() as any;\n if (!session?.admin) {\n throw new Error('Unauthorized: admin required');\n }\n ctx.set('admin', session.admin);\n}\n\nexport function is_authenticated(ctx: WoodMiddlewareContext): void {\n const session = ctx.getSession() as any;\n if (!session?.user) {\n throw new Error('Unauthorized: authentication required');\n }\n ctx.set('user', session.user);\n}\n"],"mappings":"AAEO,SAAS,SAAS,KAAkC;AACzD,QAAM,UAAU,IAAI,WAAW;AAC/B,MAAI,CAAC,SAAS,OAAO;AACnB,UAAM,IAAI,MAAM,8BAA8B;AAAA,EAChD;AACA,MAAI,IAAI,SAAS,QAAQ,KAAK;AAChC;AAEO,SAAS,iBAAiB,KAAkC;AACjE,QAAM,UAAU,IAAI,WAAW;AAC/B,MAAI,CAAC,SAAS,MAAM;AAClB,UAAM,IAAI,MAAM,uCAAuC;AAAA,EACzD;AACA,MAAI,IAAI,QAAQ,QAAQ,IAAI;AAC9B;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/middleware/__fixtures__/middleware/sequence.ts"],"sourcesContent":["import type { WoodMiddlewareContext } from '../../../types/index.cjs';\n\nexport function step1(ctx: WoodMiddlewareContext): void {\n const order = (ctx.get<string[]>('order') ?? []);\n order.push('step1');\n ctx.set('order', order);\n}\n\nexport function step2(ctx: WoodMiddlewareContext): void {\n const order = (ctx.get<string[]>('order') ?? []);\n order.push('step2');\n ctx.set('order', order);\n}\n\nexport function step3(ctx: WoodMiddlewareContext): void {\n const order = (ctx.get<string[]>('order') ?? []);\n order.push('step3');\n ctx.set('order', order);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,SAAS,MAAM,KAAkC;AACtD,QAAM,QAAS,IAAI,IAAc,OAAO,KAAK,CAAC;AAC9C,QAAM,KAAK,OAAO;AAClB,MAAI,IAAI,SAAS,KAAK;AACxB;AAEO,SAAS,MAAM,KAAkC;AACtD,QAAM,QAAS,IAAI,IAAc,OAAO,KAAK,CAAC;AAC9C,QAAM,KAAK,OAAO;AAClB,MAAI,IAAI,SAAS,KAAK;AACxB;AAEO,SAAS,MAAM,KAAkC;AACtD,QAAM,QAAS,IAAI,IAAc,OAAO,KAAK,CAAC;AAC9C,QAAM,KAAK,OAAO;AAClB,MAAI,IAAI,SAAS,KAAK;AACxB;","names":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { WoodMiddlewareContext } from '../../../types/context.cjs';
|
|
2
|
-
|
|
3
|
-
declare function step1(ctx: WoodMiddlewareContext): void;
|
|
4
|
-
declare function step2(ctx: WoodMiddlewareContext): void;
|
|
5
|
-
declare function step3(ctx: WoodMiddlewareContext): void;
|
|
6
|
-
|
|
7
|
-
export { step1, step2, step3 };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { WoodMiddlewareContext } from '../../../types/context.js';
|
|
2
|
-
|
|
3
|
-
declare function step1(ctx: WoodMiddlewareContext): void;
|
|
4
|
-
declare function step2(ctx: WoodMiddlewareContext): void;
|
|
5
|
-
declare function step3(ctx: WoodMiddlewareContext): void;
|
|
6
|
-
|
|
7
|
-
export { step1, step2, step3 };
|