@craft-ts/core 0.7.0-beta.13
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/LICENSE +21 -0
- package/package.json +58 -0
- package/src/index.d.ts +148 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +150 -0
- package/src/index.js.map +1 -0
- package/src/lib/after-recomputation.d.ts +327 -0
- package/src/lib/after-recomputation.d.ts.map +1 -0
- package/src/lib/after-recomputation.js +25 -0
- package/src/lib/after-recomputation.js.map +1 -0
- package/src/lib/app-checked-di.d.ts +82 -0
- package/src/lib/app-checked-di.d.ts.map +1 -0
- package/src/lib/app-checked-di.js +1 -0
- package/src/lib/app-checked-di.js.map +1 -0
- package/src/lib/async-process.d.ts +411 -0
- package/src/lib/async-process.d.ts.map +1 -0
- package/src/lib/async-process.js +702 -0
- package/src/lib/async-process.js.map +1 -0
- package/src/lib/branded-component/branded-component.d.ts +129 -0
- package/src/lib/branded-component/branded-component.d.ts.map +1 -0
- package/src/lib/branded-component/branded-component.js +7 -0
- package/src/lib/branded-component/branded-component.js.map +1 -0
- package/src/lib/browser-boundaries.d.ts +165 -0
- package/src/lib/browser-boundaries.d.ts.map +1 -0
- package/src/lib/browser-boundaries.js +550 -0
- package/src/lib/browser-boundaries.js.map +1 -0
- package/src/lib/client-di-requirement.d.ts +28 -0
- package/src/lib/client-di-requirement.d.ts.map +1 -0
- package/src/lib/client-di-requirement.js +11 -0
- package/src/lib/client-di-requirement.js.map +1 -0
- package/src/lib/client-function-middleware.d.ts +130 -0
- package/src/lib/client-function-middleware.d.ts.map +1 -0
- package/src/lib/client-function-middleware.js +144 -0
- package/src/lib/client-function-middleware.js.map +1 -0
- package/src/lib/component-monitoring.d.ts +7 -0
- package/src/lib/component-monitoring.d.ts.map +1 -0
- package/src/lib/component-monitoring.js +28 -0
- package/src/lib/component-monitoring.js.map +1 -0
- package/src/lib/component-register.d.ts +12 -0
- package/src/lib/component-register.d.ts.map +1 -0
- package/src/lib/component-register.js +13 -0
- package/src/lib/component-register.js.map +1 -0
- package/src/lib/computed-source.d.ts +303 -0
- package/src/lib/computed-source.d.ts.map +1 -0
- package/src/lib/computed-source.js +319 -0
- package/src/lib/computed-source.js.map +1 -0
- package/src/lib/correlation-id-plugin.d.ts +3 -0
- package/src/lib/correlation-id-plugin.d.ts.map +1 -0
- package/src/lib/correlation-id-plugin.js +73 -0
- package/src/lib/correlation-id-plugin.js.map +1 -0
- package/src/lib/correlation-id.d.ts +30 -0
- package/src/lib/correlation-id.d.ts.map +1 -0
- package/src/lib/correlation-id.js +86 -0
- package/src/lib/correlation-id.js.map +1 -0
- package/src/lib/craft-a11y.d.ts +22 -0
- package/src/lib/craft-a11y.d.ts.map +1 -0
- package/src/lib/craft-a11y.js +32 -0
- package/src/lib/craft-a11y.js.map +1 -0
- package/src/lib/craft-activated-route.d.ts +21 -0
- package/src/lib/craft-activated-route.d.ts.map +1 -0
- package/src/lib/craft-activated-route.js +20 -0
- package/src/lib/craft-activated-route.js.map +1 -0
- package/src/lib/craft-app-config.d.ts +91 -0
- package/src/lib/craft-app-config.d.ts.map +1 -0
- package/src/lib/craft-app-config.js +64 -0
- package/src/lib/craft-app-config.js.map +1 -0
- package/src/lib/craft-codec.d.ts +16 -0
- package/src/lib/craft-codec.d.ts.map +1 -0
- package/src/lib/craft-codec.js +1 -0
- package/src/lib/craft-codec.js.map +1 -0
- package/src/lib/craft-computed.d.ts +31 -0
- package/src/lib/craft-computed.d.ts.map +1 -0
- package/src/lib/craft-computed.js +81 -0
- package/src/lib/craft-computed.js.map +1 -0
- package/src/lib/craft-control-flow.d.ts +14 -0
- package/src/lib/craft-control-flow.d.ts.map +1 -0
- package/src/lib/craft-control-flow.js +18 -0
- package/src/lib/craft-control-flow.js.map +1 -0
- package/src/lib/craft-effect.d.ts +13 -0
- package/src/lib/craft-effect.d.ts.map +1 -0
- package/src/lib/craft-effect.js +93 -0
- package/src/lib/craft-effect.js.map +1 -0
- package/src/lib/craft-exception.d.ts +40 -0
- package/src/lib/craft-exception.d.ts.map +1 -0
- package/src/lib/craft-exception.js +16 -0
- package/src/lib/craft-exception.js.map +1 -0
- package/src/lib/craft-gen.d.ts +123 -0
- package/src/lib/craft-gen.d.ts.map +1 -0
- package/src/lib/craft-gen.js +90 -0
- package/src/lib/craft-gen.js.map +1 -0
- package/src/lib/craft-generator-runtime.d.ts +110 -0
- package/src/lib/craft-generator-runtime.d.ts.map +1 -0
- package/src/lib/craft-generator-runtime.js +191 -0
- package/src/lib/craft-generator-runtime.js.map +1 -0
- package/src/lib/craft-guard-runtime.d.ts +70 -0
- package/src/lib/craft-guard-runtime.d.ts.map +1 -0
- package/src/lib/craft-guard-runtime.js +195 -0
- package/src/lib/craft-guard-runtime.js.map +1 -0
- package/src/lib/craft-handshake.d.ts +35 -0
- package/src/lib/craft-handshake.d.ts.map +1 -0
- package/src/lib/craft-handshake.js +34 -0
- package/src/lib/craft-handshake.js.map +1 -0
- package/src/lib/craft-http-client.d.ts +236 -0
- package/src/lib/craft-http-client.d.ts.map +1 -0
- package/src/lib/craft-http-client.js +437 -0
- package/src/lib/craft-http-client.js.map +1 -0
- package/src/lib/craft-http-trace.d.ts +12 -0
- package/src/lib/craft-http-trace.d.ts.map +1 -0
- package/src/lib/craft-http-trace.js +28 -0
- package/src/lib/craft-http-trace.js.map +1 -0
- package/src/lib/craft-lazy.d.ts +42 -0
- package/src/lib/craft-lazy.d.ts.map +1 -0
- package/src/lib/craft-lazy.js +83 -0
- package/src/lib/craft-lazy.js.map +1 -0
- package/src/lib/craft-load-retry.d.ts +76 -0
- package/src/lib/craft-load-retry.d.ts.map +1 -0
- package/src/lib/craft-load-retry.js +160 -0
- package/src/lib/craft-load-retry.js.map +1 -0
- package/src/lib/craft-machine-history.d.ts +145 -0
- package/src/lib/craft-machine-history.d.ts.map +1 -0
- package/src/lib/craft-machine-history.js +276 -0
- package/src/lib/craft-machine-history.js.map +1 -0
- package/src/lib/craft-match.d.ts +49 -0
- package/src/lib/craft-match.d.ts.map +1 -0
- package/src/lib/craft-match.js +58 -0
- package/src/lib/craft-match.js.map +1 -0
- package/src/lib/craft-method.d.ts +28 -0
- package/src/lib/craft-method.d.ts.map +1 -0
- package/src/lib/craft-method.js +45 -0
- package/src/lib/craft-method.js.map +1 -0
- package/src/lib/craft-node-directive.d.ts +32 -0
- package/src/lib/craft-node-directive.d.ts.map +1 -0
- package/src/lib/craft-node-directive.js +22 -0
- package/src/lib/craft-node-directive.js.map +1 -0
- package/src/lib/craft-pending.d.ts +115 -0
- package/src/lib/craft-pending.d.ts.map +1 -0
- package/src/lib/craft-pending.js +187 -0
- package/src/lib/craft-pending.js.map +1 -0
- package/src/lib/craft-pipe.d.ts +63 -0
- package/src/lib/craft-pipe.d.ts.map +1 -0
- package/src/lib/craft-pipe.js +57 -0
- package/src/lib/craft-pipe.js.map +1 -0
- package/src/lib/craft-platform.d.ts +50 -0
- package/src/lib/craft-platform.d.ts.map +1 -0
- package/src/lib/craft-platform.js +175 -0
- package/src/lib/craft-platform.js.map +1 -0
- package/src/lib/craft-primitive-gen.d.ts +137 -0
- package/src/lib/craft-primitive-gen.d.ts.map +1 -0
- package/src/lib/craft-primitive-gen.js +76 -0
- package/src/lib/craft-primitive-gen.js.map +1 -0
- package/src/lib/craft-primitive-registry.d.ts +113 -0
- package/src/lib/craft-primitive-registry.d.ts.map +1 -0
- package/src/lib/craft-primitive-registry.js +159 -0
- package/src/lib/craft-primitive-registry.js.map +1 -0
- package/src/lib/craft-program-operators.d.ts +101 -0
- package/src/lib/craft-program-operators.d.ts.map +1 -0
- package/src/lib/craft-program-operators.js +116 -0
- package/src/lib/craft-program-operators.js.map +1 -0
- package/src/lib/craft-program-runtime.d.ts +80 -0
- package/src/lib/craft-program-runtime.d.ts.map +1 -0
- package/src/lib/craft-program-runtime.js +166 -0
- package/src/lib/craft-program-runtime.js.map +1 -0
- package/src/lib/craft-register-for-runtime.d.ts +39 -0
- package/src/lib/craft-register-for-runtime.d.ts.map +1 -0
- package/src/lib/craft-register-for-runtime.js +96 -0
- package/src/lib/craft-register-for-runtime.js.map +1 -0
- package/src/lib/craft-register-for.d.ts +57 -0
- package/src/lib/craft-register-for.d.ts.map +1 -0
- package/src/lib/craft-register-for.js +200 -0
- package/src/lib/craft-register-for.js.map +1 -0
- package/src/lib/craft-render-identity.d.ts +19 -0
- package/src/lib/craft-render-identity.d.ts.map +1 -0
- package/src/lib/craft-render-identity.js +23 -0
- package/src/lib/craft-render-identity.js.map +1 -0
- package/src/lib/craft-replay.d.ts +5 -0
- package/src/lib/craft-replay.d.ts.map +1 -0
- package/src/lib/craft-replay.js +28 -0
- package/src/lib/craft-replay.js.map +1 -0
- package/src/lib/craft-resolve.d.ts +39 -0
- package/src/lib/craft-resolve.d.ts.map +1 -0
- package/src/lib/craft-resolve.js +9 -0
- package/src/lib/craft-resolve.js.map +1 -0
- package/src/lib/craft-resource.d.ts +11 -0
- package/src/lib/craft-resource.d.ts.map +1 -0
- package/src/lib/craft-resource.js +264 -0
- package/src/lib/craft-resource.js.map +1 -0
- package/src/lib/craft-route-exceptions.d.ts +785 -0
- package/src/lib/craft-route-exceptions.d.ts.map +1 -0
- package/src/lib/craft-route-exceptions.js +86 -0
- package/src/lib/craft-route-exceptions.js.map +1 -0
- package/src/lib/craft-route-load-error.d.ts +1145 -0
- package/src/lib/craft-route-load-error.d.ts.map +1 -0
- package/src/lib/craft-route-load-error.js +173 -0
- package/src/lib/craft-route-load-error.js.map +1 -0
- package/src/lib/craft-route-meta.d.ts +52 -0
- package/src/lib/craft-route-meta.d.ts.map +1 -0
- package/src/lib/craft-route-meta.js +16 -0
- package/src/lib/craft-route-meta.js.map +1 -0
- package/src/lib/craft-route-target.d.ts +27 -0
- package/src/lib/craft-route-target.d.ts.map +1 -0
- package/src/lib/craft-route-target.js +22 -0
- package/src/lib/craft-route-target.js.map +1 -0
- package/src/lib/craft-router-outlet.d.ts +105 -0
- package/src/lib/craft-router-outlet.d.ts.map +1 -0
- package/src/lib/craft-router-outlet.js +735 -0
- package/src/lib/craft-router-outlet.js.map +1 -0
- package/src/lib/craft-router-tokens.d.ts +49 -0
- package/src/lib/craft-router-tokens.d.ts.map +1 -0
- package/src/lib/craft-router-tokens.js +15 -0
- package/src/lib/craft-router-tokens.js.map +1 -0
- package/src/lib/craft-router-trace.d.ts +18 -0
- package/src/lib/craft-router-trace.d.ts.map +1 -0
- package/src/lib/craft-router-trace.js +54 -0
- package/src/lib/craft-router-trace.js.map +1 -0
- package/src/lib/craft-router.d.ts +248 -0
- package/src/lib/craft-router.d.ts.map +1 -0
- package/src/lib/craft-router.js +559 -0
- package/src/lib/craft-router.js.map +1 -0
- package/src/lib/craft-routes.d.ts +755 -0
- package/src/lib/craft-routes.d.ts.map +1 -0
- package/src/lib/craft-routes.js +510 -0
- package/src/lib/craft-routes.js.map +1 -0
- package/src/lib/craft-service.d.ts +1034 -0
- package/src/lib/craft-service.d.ts.map +1 -0
- package/src/lib/craft-service.js +1072 -0
- package/src/lib/craft-service.js.map +1 -0
- package/src/lib/craft-service.shared.d.ts +35 -0
- package/src/lib/craft-service.shared.d.ts.map +1 -0
- package/src/lib/craft-service.shared.js +4 -0
- package/src/lib/craft-service.shared.js.map +1 -0
- package/src/lib/craft-settled.d.ts +171 -0
- package/src/lib/craft-settled.d.ts.map +1 -0
- package/src/lib/craft-settled.js +130 -0
- package/src/lib/craft-settled.js.map +1 -0
- package/src/lib/craft-ssr.d.ts +29 -0
- package/src/lib/craft-ssr.d.ts.map +1 -0
- package/src/lib/craft-ssr.js +27 -0
- package/src/lib/craft-ssr.js.map +1 -0
- package/src/lib/craft-state-machine-runtime.d.ts +88 -0
- package/src/lib/craft-state-machine-runtime.d.ts.map +1 -0
- package/src/lib/craft-state-machine-runtime.js +167 -0
- package/src/lib/craft-state-machine-runtime.js.map +1 -0
- package/src/lib/craft-state-machine.d.ts +233 -0
- package/src/lib/craft-state-machine.d.ts.map +1 -0
- package/src/lib/craft-state-machine.js +254 -0
- package/src/lib/craft-state-machine.js.map +1 -0
- package/src/lib/craft-target-runtime.d.ts +20 -0
- package/src/lib/craft-target-runtime.d.ts.map +1 -0
- package/src/lib/craft-target-runtime.js +42 -0
- package/src/lib/craft-target-runtime.js.map +1 -0
- package/src/lib/craft-transfer-snapshot.d.ts +19 -0
- package/src/lib/craft-transfer-snapshot.d.ts.map +1 -0
- package/src/lib/craft-transfer-snapshot.js +90 -0
- package/src/lib/craft-transfer-snapshot.js.map +1 -0
- package/src/lib/craft-unique.d.ts +7 -0
- package/src/lib/craft-unique.d.ts.map +1 -0
- package/src/lib/craft-unique.js +16 -0
- package/src/lib/craft-unique.js.map +1 -0
- package/src/lib/craft-until-settled.d.ts +99 -0
- package/src/lib/craft-until-settled.d.ts.map +1 -0
- package/src/lib/craft-until-settled.js +81 -0
- package/src/lib/craft-until-settled.js.map +1 -0
- package/src/lib/craft-use.d.ts +26 -0
- package/src/lib/craft-use.d.ts.map +1 -0
- package/src/lib/craft-use.js +37 -0
- package/src/lib/craft-use.js.map +1 -0
- package/src/lib/craft-view-transition.d.ts +102 -0
- package/src/lib/craft-view-transition.d.ts.map +1 -0
- package/src/lib/craft-view-transition.js +130 -0
- package/src/lib/craft-view-transition.js.map +1 -0
- package/src/lib/dom-event-hook.d.ts +30 -0
- package/src/lib/dom-event-hook.d.ts.map +1 -0
- package/src/lib/dom-event-hook.js +16 -0
- package/src/lib/dom-event-hook.js.map +1 -0
- package/src/lib/fn-wrapper.d.ts +13 -0
- package/src/lib/fn-wrapper.d.ts.map +1 -0
- package/src/lib/fn-wrapper.js +66 -0
- package/src/lib/fn-wrapper.js.map +1 -0
- package/src/lib/form/craft-field.d.ts +155 -0
- package/src/lib/form/craft-field.d.ts.map +1 -0
- package/src/lib/form/craft-field.directive.d.ts +70 -0
- package/src/lib/form/craft-field.directive.d.ts.map +1 -0
- package/src/lib/form/craft-field.directive.js +549 -0
- package/src/lib/form/craft-field.directive.js.map +1 -0
- package/src/lib/form/craft-field.js +586 -0
- package/src/lib/form/craft-field.js.map +1 -0
- package/src/lib/form/field-exception.d.ts +62 -0
- package/src/lib/form/field-exception.d.ts.map +1 -0
- package/src/lib/form/field-exception.js +37 -0
- package/src/lib/form/field-exception.js.map +1 -0
- package/src/lib/form/field-lens.d.ts +29 -0
- package/src/lib/form/field-lens.d.ts.map +1 -0
- package/src/lib/form/field-lens.js +32 -0
- package/src/lib/form/field-lens.js.map +1 -0
- package/src/lib/form/insert-form-attributes.d.ts +69 -0
- package/src/lib/form/insert-form-attributes.d.ts.map +1 -0
- package/src/lib/form/insert-form-attributes.js +163 -0
- package/src/lib/form/insert-form-attributes.js.map +1 -0
- package/src/lib/form/insert-form-internals.d.ts +110 -0
- package/src/lib/form/insert-form-internals.d.ts.map +1 -0
- package/src/lib/form/insert-form-internals.js +276 -0
- package/src/lib/form/insert-form-internals.js.map +1 -0
- package/src/lib/form/insert-form-schema.d.ts +10 -0
- package/src/lib/form/insert-form-schema.d.ts.map +1 -0
- package/src/lib/form/insert-form-schema.js +62 -0
- package/src/lib/form/insert-form-schema.js.map +1 -0
- package/src/lib/form/insert-form-submit.d.ts +79 -0
- package/src/lib/form/insert-form-submit.d.ts.map +1 -0
- package/src/lib/form/insert-form-submit.js +126 -0
- package/src/lib/form/insert-form-submit.js.map +1 -0
- package/src/lib/form/insert-form.d.ts +39 -0
- package/src/lib/form/insert-form.d.ts.map +1 -0
- package/src/lib/form/insert-form.js +255 -0
- package/src/lib/form/insert-form.js.map +1 -0
- package/src/lib/form/insert-select-form-tree.d.ts +33 -0
- package/src/lib/form/insert-select-form-tree.d.ts.map +1 -0
- package/src/lib/form/insert-select-form-tree.js +144 -0
- package/src/lib/form/insert-select-form-tree.js.map +1 -0
- package/src/lib/form/insert-sub-form-field.d.ts +17 -0
- package/src/lib/form/insert-sub-form-field.d.ts.map +1 -0
- package/src/lib/form/insert-sub-form-field.js +41 -0
- package/src/lib/form/insert-sub-form-field.js.map +1 -0
- package/src/lib/form/make-form-tree-insert.d.ts +22 -0
- package/src/lib/form/make-form-tree-insert.d.ts.map +1 -0
- package/src/lib/form/make-form-tree-insert.js +43 -0
- package/src/lib/form/make-form-tree-insert.js.map +1 -0
- package/src/lib/form/target-form-field.d.ts +11 -0
- package/src/lib/form/target-form-field.d.ts.map +1 -0
- package/src/lib/form/target-form-field.js +1 -0
- package/src/lib/form/target-form-field.js.map +1 -0
- package/src/lib/form/validator.d.ts +174 -0
- package/src/lib/form/validator.d.ts.map +1 -0
- package/src/lib/form/validator.js +465 -0
- package/src/lib/form/validator.js.map +1 -0
- package/src/lib/from-event-to-source$.d.ts +210 -0
- package/src/lib/from-event-to-source$.d.ts.map +1 -0
- package/src/lib/from-event-to-source$.js +29 -0
- package/src/lib/from-event-to-source$.js.map +1 -0
- package/src/lib/global-persister-handler.service.d.ts +10 -0
- package/src/lib/global-persister-handler.service.d.ts.map +1 -0
- package/src/lib/global-persister-handler.service.js +40 -0
- package/src/lib/global-persister-handler.service.js.map +1 -0
- package/src/lib/host/craft-compat.d.ts +242 -0
- package/src/lib/host/craft-compat.d.ts.map +1 -0
- package/src/lib/host/craft-compat.js +444 -0
- package/src/lib/host/craft-compat.js.map +1 -0
- package/src/lib/host/craft-dom.d.ts +16 -0
- package/src/lib/host/craft-dom.d.ts.map +1 -0
- package/src/lib/host/craft-dom.js +24 -0
- package/src/lib/host/craft-dom.js.map +1 -0
- package/src/lib/host/craft-http.d.ts +22 -0
- package/src/lib/host/craft-http.d.ts.map +1 -0
- package/src/lib/host/craft-http.js +80 -0
- package/src/lib/host/craft-http.js.map +1 -0
- package/src/lib/host/craft-injector-host.d.ts +3 -0
- package/src/lib/host/craft-injector-host.d.ts.map +1 -0
- package/src/lib/host/craft-injector-host.js +2 -0
- package/src/lib/host/craft-injector-host.js.map +1 -0
- package/src/lib/host/craft-injector.d.ts +40 -0
- package/src/lib/host/craft-injector.d.ts.map +1 -0
- package/src/lib/host/craft-injector.js +318 -0
- package/src/lib/host/craft-injector.js.map +1 -0
- package/src/lib/host/craft-linked-signal.d.ts +17 -0
- package/src/lib/host/craft-linked-signal.d.ts.map +1 -0
- package/src/lib/host/craft-linked-signal.js +86 -0
- package/src/lib/host/craft-linked-signal.js.map +1 -0
- package/src/lib/host/craft-router-runtime.d.ts +61 -0
- package/src/lib/host/craft-router-runtime.d.ts.map +1 -0
- package/src/lib/host/craft-router-runtime.js +456 -0
- package/src/lib/host/craft-router-runtime.js.map +1 -0
- package/src/lib/host/craft-router-types.d.ts +84 -0
- package/src/lib/host/craft-router-types.d.ts.map +1 -0
- package/src/lib/host/craft-router-types.js +35 -0
- package/src/lib/host/craft-router-types.js.map +1 -0
- package/src/lib/host/craft-signal.d.ts +45 -0
- package/src/lib/host/craft-signal.d.ts.map +1 -0
- package/src/lib/host/craft-signal.js +161 -0
- package/src/lib/host/craft-signal.js.map +1 -0
- package/src/lib/host/craft-test-bed.d.ts +63 -0
- package/src/lib/host/craft-test-bed.d.ts.map +1 -0
- package/src/lib/host/craft-test-bed.js +114 -0
- package/src/lib/host/craft-test-bed.js.map +1 -0
- package/src/lib/host-tag.d.ts +2 -0
- package/src/lib/host-tag.d.ts.map +1 -0
- package/src/lib/host-tag.js +2 -0
- package/src/lib/host-tag.js.map +1 -0
- package/src/lib/insert-entities.d.ts +131 -0
- package/src/lib/insert-entities.d.ts.map +1 -0
- package/src/lib/insert-entities.js +159 -0
- package/src/lib/insert-entities.js.map +1 -0
- package/src/lib/insert-noop-typing-anchor.d.ts +15 -0
- package/src/lib/insert-noop-typing-anchor.d.ts.map +1 -0
- package/src/lib/insert-noop-typing-anchor.js +16 -0
- package/src/lib/insert-noop-typing-anchor.js.map +1 -0
- package/src/lib/insert-pagination-placeholder-data.d.ts +122 -0
- package/src/lib/insert-pagination-placeholder-data.d.ts.map +1 -0
- package/src/lib/insert-pagination-placeholder-data.js +244 -0
- package/src/lib/insert-pagination-placeholder-data.js.map +1 -0
- package/src/lib/insert-react-on-mutation.d.ts +261 -0
- package/src/lib/insert-react-on-mutation.d.ts.map +1 -0
- package/src/lib/insert-react-on-mutation.js +227 -0
- package/src/lib/insert-react-on-mutation.js.map +1 -0
- package/src/lib/insert-select-resource.d.ts +31 -0
- package/src/lib/insert-select-resource.d.ts.map +1 -0
- package/src/lib/insert-select-resource.js +27 -0
- package/src/lib/insert-select-resource.js.map +1 -0
- package/src/lib/insert-select.d.ts +126 -0
- package/src/lib/insert-select.d.ts.map +1 -0
- package/src/lib/insert-select.js +535 -0
- package/src/lib/insert-select.js.map +1 -0
- package/src/lib/insert-storage-persister.d.ts +27 -0
- package/src/lib/insert-storage-persister.d.ts.map +1 -0
- package/src/lib/insert-storage-persister.js +65 -0
- package/src/lib/insert-storage-persister.js.map +1 -0
- package/src/lib/insert-typed-pipes.d.ts +64 -0
- package/src/lib/insert-typed-pipes.d.ts.map +1 -0
- package/src/lib/insert-typed-pipes.js +32 -0
- package/src/lib/insert-typed-pipes.js.map +1 -0
- package/src/lib/linked-source.d.ts +8 -0
- package/src/lib/linked-source.d.ts.map +1 -0
- package/src/lib/linked-source.js +24 -0
- package/src/lib/linked-source.js.map +1 -0
- package/src/lib/local-storage-persister.d.ts +4 -0
- package/src/lib/local-storage-persister.d.ts.map +1 -0
- package/src/lib/local-storage-persister.js +342 -0
- package/src/lib/local-storage-persister.js.map +1 -0
- package/src/lib/middleware-schema-shared.d.ts +67 -0
- package/src/lib/middleware-schema-shared.d.ts.map +1 -0
- package/src/lib/middleware-schema-shared.js +34 -0
- package/src/lib/middleware-schema-shared.js.map +1 -0
- package/src/lib/mock-http-request-for-route.d.ts +173 -0
- package/src/lib/mock-http-request-for-route.d.ts.map +1 -0
- package/src/lib/mock-http-request-for-route.js +127 -0
- package/src/lib/mock-http-request-for-route.js.map +1 -0
- package/src/lib/mutation.d.ts +332 -0
- package/src/lib/mutation.d.ts.map +1 -0
- package/src/lib/mutation.js +923 -0
- package/src/lib/mutation.js.map +1 -0
- package/src/lib/on$.d.ts +26 -0
- package/src/lib/on$.d.ts.map +1 -0
- package/src/lib/on$.js +19 -0
- package/src/lib/on$.js.map +1 -0
- package/src/lib/portable-server-function.d.ts +68 -0
- package/src/lib/portable-server-function.d.ts.map +1 -0
- package/src/lib/portable-server-function.js +97 -0
- package/src/lib/portable-server-function.js.map +1 -0
- package/src/lib/preserved-resource.d.ts +4 -0
- package/src/lib/preserved-resource.d.ts.map +1 -0
- package/src/lib/preserved-resource.js +60 -0
- package/src/lib/preserved-resource.js.map +1 -0
- package/src/lib/primitive-method-runtime-context.d.ts +28 -0
- package/src/lib/primitive-method-runtime-context.d.ts.map +1 -0
- package/src/lib/primitive-method-runtime-context.js +38 -0
- package/src/lib/primitive-method-runtime-context.js.map +1 -0
- package/src/lib/primitive-resource-runtime-context.d.ts +46 -0
- package/src/lib/primitive-resource-runtime-context.d.ts.map +1 -0
- package/src/lib/primitive-resource-runtime-context.js +102 -0
- package/src/lib/primitive-resource-runtime-context.js.map +1 -0
- package/src/lib/query-params.d.ts +216 -0
- package/src/lib/query-params.d.ts.map +1 -0
- package/src/lib/query-params.js +324 -0
- package/src/lib/query-params.js.map +1 -0
- package/src/lib/query.core.d.ts +214 -0
- package/src/lib/query.core.d.ts.map +1 -0
- package/src/lib/query.core.js +210 -0
- package/src/lib/query.core.js.map +1 -0
- package/src/lib/query.d.ts +324 -0
- package/src/lib/query.d.ts.map +1 -0
- package/src/lib/query.js +971 -0
- package/src/lib/query.js.map +1 -0
- package/src/lib/reactive-read.d.ts +162 -0
- package/src/lib/reactive-read.d.ts.map +1 -0
- package/src/lib/reactive-read.js +389 -0
- package/src/lib/reactive-read.js.map +1 -0
- package/src/lib/resource-by-id.d.ts +71 -0
- package/src/lib/resource-by-id.d.ts.map +1 -0
- package/src/lib/resource-by-id.js +294 -0
- package/src/lib/resource-by-id.js.map +1 -0
- package/src/lib/resource-exception.d.ts +30 -0
- package/src/lib/resource-exception.d.ts.map +1 -0
- package/src/lib/resource-exception.js +86 -0
- package/src/lib/resource-exception.js.map +1 -0
- package/src/lib/route-checked-di.d.ts +229 -0
- package/src/lib/route-checked-di.d.ts.map +1 -0
- package/src/lib/route-checked-di.js +1 -0
- package/src/lib/route-checked-di.js.map +1 -0
- package/src/lib/schema-validation.d.ts +89 -0
- package/src/lib/schema-validation.d.ts.map +1 -0
- package/src/lib/schema-validation.js +110 -0
- package/src/lib/schema-validation.js.map +1 -0
- package/src/lib/send-context-to-ai.d.ts +20 -0
- package/src/lib/send-context-to-ai.d.ts.map +1 -0
- package/src/lib/send-context-to-ai.js +18 -0
- package/src/lib/send-context-to-ai.js.map +1 -0
- package/src/lib/send-context-to-ai.tokens.d.ts +12 -0
- package/src/lib/send-context-to-ai.tokens.d.ts.map +1 -0
- package/src/lib/send-context-to-ai.tokens.js +1 -0
- package/src/lib/send-context-to-ai.tokens.js.map +1 -0
- package/src/lib/server-function-client.d.ts +102 -0
- package/src/lib/server-function-client.d.ts.map +1 -0
- package/src/lib/server-function-client.js +106 -0
- package/src/lib/server-function-client.js.map +1 -0
- package/src/lib/server-function-contract.d.ts +42 -0
- package/src/lib/server-function-contract.d.ts.map +1 -0
- package/src/lib/server-function-contract.js +23 -0
- package/src/lib/server-function-contract.js.map +1 -0
- package/src/lib/server-function-middleware.d.ts +222 -0
- package/src/lib/server-function-middleware.d.ts.map +1 -0
- package/src/lib/server-function-middleware.js +189 -0
- package/src/lib/server-function-middleware.js.map +1 -0
- package/src/lib/server-function.d.ts +114 -0
- package/src/lib/server-function.d.ts.map +1 -0
- package/src/lib/server-function.js +80 -0
- package/src/lib/server-function.js.map +1 -0
- package/src/lib/server-layer.d.ts +185 -0
- package/src/lib/server-layer.d.ts.map +1 -0
- package/src/lib/server-layer.js +121 -0
- package/src/lib/server-layer.js.map +1 -0
- package/src/lib/server.d.ts +83 -0
- package/src/lib/server.d.ts.map +1 -0
- package/src/lib/server.js +266 -0
- package/src/lib/server.js.map +1 -0
- package/src/lib/setup-craft-service-test.d.ts +90 -0
- package/src/lib/setup-craft-service-test.d.ts.map +1 -0
- package/src/lib/setup-craft-service-test.js +193 -0
- package/src/lib/setup-craft-service-test.js.map +1 -0
- package/src/lib/setup-craft-service-testing-by-register.d.ts +245 -0
- package/src/lib/setup-craft-service-testing-by-register.d.ts.map +1 -0
- package/src/lib/setup-craft-service-testing-by-register.js +316 -0
- package/src/lib/setup-craft-service-testing-by-register.js.map +1 -0
- package/src/lib/signal-proxy.d.ts +21 -0
- package/src/lib/signal-proxy.d.ts.map +1 -0
- package/src/lib/signal-proxy.js +79 -0
- package/src/lib/signal-proxy.js.map +1 -0
- package/src/lib/signal-source.d.ts +392 -0
- package/src/lib/signal-source.d.ts.map +1 -0
- package/src/lib/signal-source.js +433 -0
- package/src/lib/signal-source.js.map +1 -0
- package/src/lib/source$.d.ts +121 -0
- package/src/lib/source$.d.ts.map +1 -0
- package/src/lib/source$.js +171 -0
- package/src/lib/source$.js.map +1 -0
- package/src/lib/source-from-event.d.ts +350 -0
- package/src/lib/source-from-event.d.ts.map +1 -0
- package/src/lib/source-from-event.js +26 -0
- package/src/lib/source-from-event.js.map +1 -0
- package/src/lib/stacked-source.d.ts +6 -0
- package/src/lib/stacked-source.d.ts.map +1 -0
- package/src/lib/stacked-source.js +29 -0
- package/src/lib/stacked-source.js.map +1 -0
- package/src/lib/standard-schema.d.ts +43 -0
- package/src/lib/standard-schema.d.ts.map +1 -0
- package/src/lib/standard-schema.js +1 -0
- package/src/lib/standard-schema.js.map +1 -0
- package/src/lib/state-method-runtime-context.d.ts +13 -0
- package/src/lib/state-method-runtime-context.d.ts.map +1 -0
- package/src/lib/state-method-runtime-context.js +11 -0
- package/src/lib/state-method-runtime-context.js.map +1 -0
- package/src/lib/state.d.ts +158 -0
- package/src/lib/state.d.ts.map +1 -0
- package/src/lib/state.js +388 -0
- package/src/lib/state.js.map +1 -0
- package/src/lib/storage-persister.service.d.ts +25 -0
- package/src/lib/storage-persister.service.d.ts.map +1 -0
- package/src/lib/storage-persister.service.js +27 -0
- package/src/lib/storage-persister.service.js.map +1 -0
- package/src/lib/take-app-snapshot.d.ts +31 -0
- package/src/lib/take-app-snapshot.d.ts.map +1 -0
- package/src/lib/take-app-snapshot.js +93 -0
- package/src/lib/take-app-snapshot.js.map +1 -0
- package/src/lib/template-trace.d.ts +37 -0
- package/src/lib/template-trace.d.ts.map +1 -0
- package/src/lib/template-trace.js +37 -0
- package/src/lib/template-trace.js.map +1 -0
- package/src/lib/temporal-runtime.d.ts +146 -0
- package/src/lib/temporal-runtime.d.ts.map +1 -0
- package/src/lib/temporal-runtime.js +375 -0
- package/src/lib/temporal-runtime.js.map +1 -0
- package/src/lib/to-source.d.ts +335 -0
- package/src/lib/to-source.d.ts.map +1 -0
- package/src/lib/to-source.js +359 -0
- package/src/lib/to-source.js.map +1 -0
- package/src/lib/util/craft-resource-ref.d.ts +29 -0
- package/src/lib/util/craft-resource-ref.d.ts.map +1 -0
- package/src/lib/util/craft-resource-ref.js +1 -0
- package/src/lib/util/craft-resource-ref.js.map +1 -0
- package/src/lib/util/craft-resource-status.d.ts +17 -0
- package/src/lib/util/craft-resource-status.d.ts.map +1 -0
- package/src/lib/util/craft-resource-status.js +14 -0
- package/src/lib/util/craft-resource-status.js.map +1 -0
- package/src/lib/util/entities-util.d.ts +340 -0
- package/src/lib/util/entities-util.d.ts.map +1 -0
- package/src/lib/util/entities-util.js +136 -0
- package/src/lib/util/entities-util.js.map +1 -0
- package/src/lib/util/explicit-effect.d.ts +42 -0
- package/src/lib/util/explicit-effect.d.ts.map +1 -0
- package/src/lib/util/explicit-effect.js +37 -0
- package/src/lib/util/explicit-effect.js.map +1 -0
- package/src/lib/util/extract-signal-props-and-methods.d.ts +20 -0
- package/src/lib/util/extract-signal-props-and-methods.d.ts.map +1 -0
- package/src/lib/util/extract-signal-props-and-methods.js +1 -0
- package/src/lib/util/extract-signal-props-and-methods.js.map +1 -0
- package/src/lib/util/method-trigger-nonce.d.ts +45 -0
- package/src/lib/util/method-trigger-nonce.d.ts.map +1 -0
- package/src/lib/util/method-trigger-nonce.js +58 -0
- package/src/lib/util/method-trigger-nonce.js.map +1 -0
- package/src/lib/util/persister.type.d.ts +37 -0
- package/src/lib/util/persister.type.d.ts.map +1 -0
- package/src/lib/util/persister.type.js +1 -0
- package/src/lib/util/persister.type.js.map +1 -0
- package/src/lib/util/persister.util.d.ts +8 -0
- package/src/lib/util/persister.util.d.ts.map +1 -0
- package/src/lib/util/persister.util.js +71 -0
- package/src/lib/util/persister.util.js.map +1 -0
- package/src/lib/util/react-on-mutation-effect.d.ts +16 -0
- package/src/lib/util/react-on-mutation-effect.d.ts.map +1 -0
- package/src/lib/util/react-on-mutation-effect.js +148 -0
- package/src/lib/util/react-on-mutation-effect.js.map +1 -0
- package/src/lib/util/resource-by-id-changes-tracker.util.d.ts +27 -0
- package/src/lib/util/resource-by-id-changes-tracker.util.d.ts.map +1 -0
- package/src/lib/util/resource-by-id-changes-tracker.util.js +97 -0
- package/src/lib/util/resource-by-id-changes-tracker.util.js.map +1 -0
- package/src/lib/util/source.type.d.ts +6 -0
- package/src/lib/util/source.type.d.ts.map +1 -0
- package/src/lib/util/source.type.js +1 -0
- package/src/lib/util/source.type.js.map +1 -0
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts +4 -0
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts.map +1 -0
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js +1 -0
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js.map +1 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts +27 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts.map +1 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js +1 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js.map +1 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts +24 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts.map +1 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js +1 -0
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js.map +1 -0
- package/src/lib/util/types/brand.d.ts +7 -0
- package/src/lib/util/types/brand.d.ts.map +1 -0
- package/src/lib/util/types/brand.js +9 -0
- package/src/lib/util/types/brand.js.map +1 -0
- package/src/lib/util/types/object-deep-path-mapper.type.d.ts +13 -0
- package/src/lib/util/types/object-deep-path-mapper.type.d.ts.map +1 -0
- package/src/lib/util/types/object-deep-path-mapper.type.js +1 -0
- package/src/lib/util/types/object-deep-path-mapper.type.js.map +1 -0
- package/src/lib/util/types/resource-by-id-config.type.d.ts +115 -0
- package/src/lib/util/types/resource-by-id-config.type.d.ts.map +1 -0
- package/src/lib/util/types/resource-by-id-config.type.js +1 -0
- package/src/lib/util/types/resource-by-id-config.type.js.map +1 -0
- package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts +52 -0
- package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts.map +1 -0
- package/src/lib/util/types/resource-with-params-or-params-fn.type.js +1 -0
- package/src/lib/util/types/resource-with-params-or-params-fn.type.js.map +1 -0
- package/src/lib/util/types/shared.type.d.ts +66 -0
- package/src/lib/util/types/shared.type.d.ts.map +1 -0
- package/src/lib/util/types/shared.type.js +1 -0
- package/src/lib/util/types/shared.type.js.map +1 -0
- package/src/lib/util/types/util.d.ts +16 -0
- package/src/lib/util/types/util.d.ts.map +1 -0
- package/src/lib/util/types/util.js +60 -0
- package/src/lib/util/types/util.js.map +1 -0
- package/src/lib/util/types/util.type.d.ts +67 -0
- package/src/lib/util/types/util.type.d.ts.map +1 -0
- package/src/lib/util/types/util.type.js +5 -0
- package/src/lib/util/types/util.type.js.map +1 -0
- package/src/lib/util/update-state.util.d.ts +10 -0
- package/src/lib/util/update-state.util.d.ts.map +1 -0
- package/src/lib/util/update-state.util.js +31 -0
- package/src/lib/util/update-state.util.js.map +1 -0
- package/src/lib/util/util.d.ts +19 -0
- package/src/lib/util/util.d.ts.map +1 -0
- package/src/lib/util/util.js +50 -0
- package/src/lib/util/util.js.map +1 -0
- package/src/lib/util/util.type.d.ts +107 -0
- package/src/lib/util/util.type.d.ts.map +1 -0
- package/src/lib/util/util.type.js +9 -0
- package/src/lib/util/util.type.js.map +1 -0
- package/src/lib/yieldable.d.ts +94 -0
- package/src/lib/yieldable.d.ts.map +1 -0
- package/src/lib/yieldable.js +109 -0
- package/src/lib/yieldable.js.map +1 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { DestroyRef, effect, inject, runInInjectionContext, untracked, } from './host/craft-compat';
|
|
2
|
+
import { isGenerator, runCraftGenerator, SERVICE_TRACKED_DEPS_REQUEST_MARKER, } from './craft-generator-runtime';
|
|
3
|
+
import { isYieldableReactiveValue, rawReactiveValue, } from './reactive-read';
|
|
4
|
+
/**
|
|
5
|
+
* Runtime core of `craftStateMachine`, kept in its own module so `on$` and
|
|
6
|
+
* `afterRecomputation` can register machine callbacks without importing the
|
|
7
|
+
* public state-machine surface (which imports them back for its own typing).
|
|
8
|
+
*/
|
|
9
|
+
const MACHINE_INVALID_YIELD_ERROR_MESSAGE = 'craftStateMachine generators can only yield craftService dependencies or exposed dependency helpers.';
|
|
10
|
+
const MACHINE_APP_START_ERROR_MESSAGE = 'craftStateMachine generators do not support onAppStart(...).';
|
|
11
|
+
let activeScope;
|
|
12
|
+
export function ɵactiveMachineScope() {
|
|
13
|
+
return activeScope;
|
|
14
|
+
}
|
|
15
|
+
export function ɵrequireMachineScope(helper) {
|
|
16
|
+
if (!activeScope) {
|
|
17
|
+
throw new Error(`${helper} can only be used inside a transitionStep(...) of a craftStateMachine.`);
|
|
18
|
+
}
|
|
19
|
+
return activeScope;
|
|
20
|
+
}
|
|
21
|
+
export function ɵwithMachineScope(scope, run) {
|
|
22
|
+
const previous = activeScope;
|
|
23
|
+
activeScope = scope;
|
|
24
|
+
try {
|
|
25
|
+
return run();
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
activeScope = previous;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Drives a generator produced inside a machine (a step installation, a
|
|
33
|
+
* registered callback, one of the machine factories) through the synchronous
|
|
34
|
+
* craft runtime, so `yield* SomeService()` resolves against the machine's
|
|
35
|
+
* injector.
|
|
36
|
+
*/
|
|
37
|
+
export function ɵdriveMachineGenerator(value, injector) {
|
|
38
|
+
if (!isGenerator(value)) {
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
return runCraftGenerator({
|
|
42
|
+
iterator: value,
|
|
43
|
+
injector,
|
|
44
|
+
hostScope: 'function',
|
|
45
|
+
invalidYieldErrorMessage: MACHINE_INVALID_YIELD_ERROR_MESSAGE,
|
|
46
|
+
multipleAppStartErrorMessage: MACHINE_APP_START_ERROR_MESSAGE,
|
|
47
|
+
onAppStartNotSupportedErrorMessage: MACHINE_APP_START_ERROR_MESSAGE,
|
|
48
|
+
}).value;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Runs a deferred machine callback: the declaring step is restored so
|
|
52
|
+
* `transit(...)` resolves to the right target, reads stay untracked (a callback
|
|
53
|
+
* driven from an effect must not subscribe the effect to whatever its guards
|
|
54
|
+
* read), and the returned generator — typically `transit(event).pipe(...)` — is
|
|
55
|
+
* driven through the craft runtime.
|
|
56
|
+
*/
|
|
57
|
+
export function ɵrunMachineCallback(scope, run) {
|
|
58
|
+
if (scope.runtime.suspended) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
return untracked(() => ɵwithMachineScope(scope, () => runInInjectionContext(scope.runtime.injector, () => ɵdriveMachineGenerator(run(), scope.runtime.injector))));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The value `yield* on$(...)` / `yield* afterRecomputation(...)` /
|
|
65
|
+
* `yield* initStateMachine(...)` resolve to. It yields one tracked-deps request
|
|
66
|
+
* (a no-op the craft runtime already understands) so the registration is a
|
|
67
|
+
* regular member of the step generator's yield chain.
|
|
68
|
+
*/
|
|
69
|
+
export function ɵmachineRegistration() {
|
|
70
|
+
return (function* () {
|
|
71
|
+
yield {
|
|
72
|
+
[SERVICE_TRACKED_DEPS_REQUEST_MARKER]: true,
|
|
73
|
+
providedIn: 'global',
|
|
74
|
+
resolve: () => undefined,
|
|
75
|
+
};
|
|
76
|
+
})();
|
|
77
|
+
}
|
|
78
|
+
/** Registration behind `on$(source, callback)` inside a transitionStep. */
|
|
79
|
+
export function ɵregisterMachineSource(source, callback) {
|
|
80
|
+
const scope = ɵrequireMachineScope('on$(...)');
|
|
81
|
+
const subscription = source.subscribe((value) => {
|
|
82
|
+
ɵrunMachineCallback(scope, () => callback(value));
|
|
83
|
+
});
|
|
84
|
+
inject(DestroyRef).onDestroy(() => subscription.unsubscribe());
|
|
85
|
+
return ɵmachineRegistration();
|
|
86
|
+
}
|
|
87
|
+
/** Registration behind `afterRecomputation(signal, callback)` inside a step. */
|
|
88
|
+
export function ɵregisterMachineRecomputation(source, callback) {
|
|
89
|
+
const scope = ɵrequireMachineScope('afterRecomputation(...)');
|
|
90
|
+
// A craft reactive value is itself the generator-shaped reader; reading it as
|
|
91
|
+
// a plain signal means going through its raw source.
|
|
92
|
+
const read = isYieldableReactiveValue(source)
|
|
93
|
+
? rawReactiveValue(source)
|
|
94
|
+
: source;
|
|
95
|
+
effect(() => {
|
|
96
|
+
const value = read();
|
|
97
|
+
ɵrunMachineCallback(scope, () => callback(value));
|
|
98
|
+
});
|
|
99
|
+
return ɵmachineRegistration();
|
|
100
|
+
}
|
|
101
|
+
/** Registration behind `initStateMachine(callback)` inside a step. */
|
|
102
|
+
export function ɵregisterMachineInit(callback) {
|
|
103
|
+
const scope = ɵrequireMachineScope('initStateMachine(...)');
|
|
104
|
+
scope.runtime.initRegistrations.push(() => {
|
|
105
|
+
ɵrunMachineCallback(scope, callback);
|
|
106
|
+
});
|
|
107
|
+
return ɵmachineRegistration();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Evaluates a transition attempt: global guards, then the target step's guards,
|
|
111
|
+
* then the guards attached to this very `transit(...)` call. A transition to the
|
|
112
|
+
* current step is a no-op, and the accepted attempt simply publishes the new
|
|
113
|
+
* step — the last accepted `transit()` wins, with no queue and no priority.
|
|
114
|
+
*/
|
|
115
|
+
export function ɵrunTransition(scope, event, localGuards) {
|
|
116
|
+
return (function* () {
|
|
117
|
+
const { runtime, target } = scope;
|
|
118
|
+
const from = untracked(() => runtime.currentStep());
|
|
119
|
+
if (from === target) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
const report = (accepted) => {
|
|
123
|
+
for (const observer of runtime.observers) {
|
|
124
|
+
observer({ from, to: target, event, accepted });
|
|
125
|
+
}
|
|
126
|
+
return accepted;
|
|
127
|
+
};
|
|
128
|
+
const transition = {
|
|
129
|
+
from,
|
|
130
|
+
to: target,
|
|
131
|
+
context: runtime.context,
|
|
132
|
+
event,
|
|
133
|
+
};
|
|
134
|
+
const guards = [
|
|
135
|
+
...runtime.globalGuards,
|
|
136
|
+
...(runtime.stepGuards.get(target) ?? []),
|
|
137
|
+
...localGuards,
|
|
138
|
+
];
|
|
139
|
+
for (const guard of guards) {
|
|
140
|
+
const result = guard(transition);
|
|
141
|
+
const resolved = isGenerator(result)
|
|
142
|
+
? yield* result
|
|
143
|
+
: result;
|
|
144
|
+
if (!resolved) {
|
|
145
|
+
return report(false);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
runtime.currentStep.set(target);
|
|
149
|
+
return report(true);
|
|
150
|
+
})();
|
|
151
|
+
}
|
|
152
|
+
/** Moves the machine to `step` without consulting any guard. */
|
|
153
|
+
export function ɵrestoreMachineStep(runtime, step) {
|
|
154
|
+
runtime.currentStep.set(step);
|
|
155
|
+
}
|
|
156
|
+
/** Runs `restore` with the machine's registrations muted. */
|
|
157
|
+
export function ɵwithSuspendedMachine(runtime, restore) {
|
|
158
|
+
const previous = runtime.suspended;
|
|
159
|
+
runtime.suspended = true;
|
|
160
|
+
try {
|
|
161
|
+
return restore();
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
runtime.suspended = previous;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=craft-state-machine-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-state-machine-runtime.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-state-machine-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n effect,\n inject,\n Injector,\n runInInjectionContext,\n untracked,\n type Signal,\n} from './host/craft-compat';\nimport {\n isGenerator,\n runCraftGenerator,\n SERVICE_TRACKED_DEPS_REQUEST_MARKER,\n} from './craft-generator-runtime';\nimport type { CraftWritableSignal } from './host/craft-signal';\nimport {\n isYieldableReactiveValue,\n rawReactiveValue,\n type YieldableReactiveValue,\n} from './reactive-read';\n\n/**\n * Runtime core of `craftStateMachine`, kept in its own module so `on$` and\n * `afterRecomputation` can register machine callbacks without importing the\n * public state-machine surface (which imports them back for its own typing).\n */\n\nconst MACHINE_INVALID_YIELD_ERROR_MESSAGE =\n 'craftStateMachine generators can only yield craftService dependencies or exposed dependency helpers.';\nconst MACHINE_APP_START_ERROR_MESSAGE =\n 'craftStateMachine generators do not support onAppStart(...).';\n\n/** A guard as the machine stores it: any transition in, truthiness out. */\nexport type RuntimeTransitionGuard = (transition: {\n readonly from: string | undefined;\n readonly to: string;\n readonly context: unknown;\n readonly event: unknown;\n}) => unknown;\n\n/** What an accepted or refused `transit(...)` reports to its observers. */\nexport type MachineTransitionRecord = Readonly<{\n from: string | undefined;\n to: string;\n event: unknown;\n accepted: boolean;\n}>;\n\nexport type MachineTransitionObserver = (\n record: MachineTransitionRecord,\n) => void;\n\nexport type MachineRuntime = {\n readonly context: unknown;\n readonly currentStep: CraftWritableSignal<string | undefined>;\n readonly globalGuards: readonly RuntimeTransitionGuard[];\n readonly stepGuards: Map<string, readonly RuntimeTransitionGuard[]>;\n readonly injector: Injector;\n readonly initRegistrations: Array<() => void>;\n readonly observers: Set<MachineTransitionObserver>;\n /**\n * While suspended, the machine's registrations do not run. Restoring a\n * captured value would otherwise re-fire the very reactions that produced\n * the transition being replayed, and the machine would fight the replay.\n */\n suspended: boolean;\n};\n\n/**\n * The step currently being installed (or the step a registered callback was\n * declared under). `transit(...)` reads it to know its target, which is why the\n * registration helpers restore it around every deferred callback.\n */\nexport type MachineScope = {\n readonly runtime: MachineRuntime;\n readonly target: string;\n};\n\nlet activeScope: MachineScope | undefined;\n\nexport function ɵactiveMachineScope(): MachineScope | undefined {\n return activeScope;\n}\n\nexport function ɵrequireMachineScope(helper: string): MachineScope {\n if (!activeScope) {\n throw new Error(\n `${helper} can only be used inside a transitionStep(...) of a craftStateMachine.`,\n );\n }\n return activeScope;\n}\n\nexport function ɵwithMachineScope<Result>(\n scope: MachineScope,\n run: () => Result,\n): Result {\n const previous = activeScope;\n activeScope = scope;\n try {\n return run();\n } finally {\n activeScope = previous;\n }\n}\n\n/**\n * Drives a generator produced inside a machine (a step installation, a\n * registered callback, one of the machine factories) through the synchronous\n * craft runtime, so `yield* SomeService()` resolves against the machine's\n * injector.\n */\nexport function ɵdriveMachineGenerator(\n value: unknown,\n injector: Injector,\n): unknown {\n if (!isGenerator(value)) {\n return value;\n }\n\n return runCraftGenerator({\n iterator: value,\n injector,\n hostScope: 'function',\n invalidYieldErrorMessage: MACHINE_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: MACHINE_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: MACHINE_APP_START_ERROR_MESSAGE,\n }).value;\n}\n\n/**\n * Runs a deferred machine callback: the declaring step is restored so\n * `transit(...)` resolves to the right target, reads stay untracked (a callback\n * driven from an effect must not subscribe the effect to whatever its guards\n * read), and the returned generator — typically `transit(event).pipe(...)` — is\n * driven through the craft runtime.\n */\nexport function ɵrunMachineCallback(\n scope: MachineScope,\n run: () => unknown,\n): unknown {\n if (scope.runtime.suspended) {\n return undefined;\n }\n\n return untracked(() =>\n ɵwithMachineScope(scope, () =>\n runInInjectionContext(scope.runtime.injector, () =>\n ɵdriveMachineGenerator(run(), scope.runtime.injector),\n ),\n ),\n );\n}\n\n/**\n * The value `yield* on$(...)` / `yield* afterRecomputation(...)` /\n * `yield* initStateMachine(...)` resolve to. It yields one tracked-deps request\n * (a no-op the craft runtime already understands) so the registration is a\n * regular member of the step generator's yield chain.\n */\nexport function ɵmachineRegistration(): Generator<unknown, void, unknown> {\n return (function* () {\n yield {\n [SERVICE_TRACKED_DEPS_REQUEST_MARKER]: true,\n providedIn: 'global',\n resolve: () => undefined,\n };\n })();\n}\n\n/** Registration behind `on$(source, callback)` inside a transitionStep. */\nexport function ɵregisterMachineSource(\n source: {\n subscribe: (callback: (value: never) => void) => { unsubscribe(): void };\n },\n callback: (value: never) => unknown,\n): Generator<unknown, void, unknown> {\n const scope = ɵrequireMachineScope('on$(...)');\n const subscription = source.subscribe((value) => {\n ɵrunMachineCallback(scope, () => callback(value));\n });\n inject(DestroyRef).onDestroy(() => subscription.unsubscribe());\n return ɵmachineRegistration();\n}\n\n/** Registration behind `afterRecomputation(signal, callback)` inside a step. */\nexport function ɵregisterMachineRecomputation(\n source: Signal<unknown>,\n callback: (value: never) => unknown,\n): Generator<unknown, void, unknown> {\n const scope = ɵrequireMachineScope('afterRecomputation(...)');\n // A craft reactive value is itself the generator-shaped reader; reading it as\n // a plain signal means going through its raw source.\n const read = isYieldableReactiveValue(source)\n ? (rawReactiveValue(source as YieldableReactiveValue<unknown>) as Signal<unknown>)\n : source;\n\n effect(() => {\n const value = read();\n ɵrunMachineCallback(scope, () => callback(value as never));\n });\n return ɵmachineRegistration();\n}\n\n/** Registration behind `initStateMachine(callback)` inside a step. */\nexport function ɵregisterMachineInit(\n callback: () => unknown,\n): Generator<unknown, void, unknown> {\n const scope = ɵrequireMachineScope('initStateMachine(...)');\n scope.runtime.initRegistrations.push(() => {\n ɵrunMachineCallback(scope, callback);\n });\n return ɵmachineRegistration();\n}\n\n/**\n * Evaluates a transition attempt: global guards, then the target step's guards,\n * then the guards attached to this very `transit(...)` call. A transition to the\n * current step is a no-op, and the accepted attempt simply publishes the new\n * step — the last accepted `transit()` wins, with no queue and no priority.\n */\nexport function ɵrunTransition(\n scope: MachineScope,\n event: unknown,\n localGuards: readonly RuntimeTransitionGuard[],\n): Generator<unknown, boolean, unknown> {\n return (function* () {\n const { runtime, target } = scope;\n const from = untracked(() => runtime.currentStep());\n\n if (from === target) {\n return false;\n }\n\n const report = (accepted: boolean): boolean => {\n for (const observer of runtime.observers) {\n observer({ from, to: target, event, accepted });\n }\n return accepted;\n };\n\n const transition = {\n from,\n to: target,\n context: runtime.context,\n event,\n };\n\n const guards = [\n ...runtime.globalGuards,\n ...(runtime.stepGuards.get(target) ?? []),\n ...localGuards,\n ];\n\n for (const guard of guards) {\n const result = guard(transition);\n const resolved = isGenerator(result)\n ? yield* (result as Generator<unknown, unknown, unknown>)\n : result;\n\n if (!resolved) {\n return report(false);\n }\n }\n\n runtime.currentStep.set(target);\n return report(true);\n })();\n}\n\n/** Moves the machine to `step` without consulting any guard. */\nexport function ɵrestoreMachineStep(\n runtime: MachineRuntime,\n step: string,\n): void {\n runtime.currentStep.set(step);\n}\n\n/** Runs `restore` with the machine's registrations muted. */\nexport function ɵwithSuspendedMachine<Result>(\n runtime: MachineRuntime,\n restore: () => Result,\n): Result {\n const previous = runtime.suspended;\n runtime.suspended = true;\n try {\n return restore();\n } finally {\n runtime.suspended = previous;\n }\n}\n"]}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import type { CompleteServiceDependencyMapFromYielded, SERVICE_HELPER_DEPENDENCIES } from './craft-service';
|
|
2
|
+
import { type NamedCraftPrimitiveGen } from './craft-primitive-gen';
|
|
3
|
+
import { type BrandReactiveProperties, type YieldableInsertionMethods } from './yieldable';
|
|
4
|
+
import { type YieldableReactiveValue } from './reactive-read';
|
|
5
|
+
import type { MergeObject } from './util/types/util.type';
|
|
6
|
+
declare const TRANSITION_STEP_MARKER: unique symbol;
|
|
7
|
+
declare const TRANSITIONS_SETUP_MARKER: unique symbol;
|
|
8
|
+
declare const TRANSITION_GUARD_MARKER: unique symbol;
|
|
9
|
+
/** Type-only carriers. None of these exist at runtime. */
|
|
10
|
+
declare const TRANSITION_STEP_YIELDED: unique symbol;
|
|
11
|
+
declare const TRANSITIONS_SETUP_CONTEXT: unique symbol;
|
|
12
|
+
declare const TRANSITIONS_SETUP_STEPS: unique symbol;
|
|
13
|
+
declare const TRANSITIONS_SETUP_YIELDED: unique symbol;
|
|
14
|
+
declare const MISSING_INIT_STATE_MACHINE: unique symbol;
|
|
15
|
+
/**
|
|
16
|
+
* Phantom request advertised by `initStateMachine(...)`. It is never yielded at
|
|
17
|
+
* runtime; `craftStateMachine` reads it off the transitions' `Yielded` to reject
|
|
18
|
+
* a machine that declares no way to reach its first step.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CRAFT_MACHINE_INIT_REQUEST: unique symbol;
|
|
21
|
+
export interface CraftMachineInitRequest {
|
|
22
|
+
readonly [CRAFT_MACHINE_INIT_REQUEST]: true;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* What a guard sees. `from` is `undefined` for the very first transition — the
|
|
26
|
+
* one that gives the machine its initial step.
|
|
27
|
+
*/
|
|
28
|
+
export type CraftTransition<Context = unknown, Steps extends string = string, Event = unknown> = {
|
|
29
|
+
readonly from: Steps | undefined;
|
|
30
|
+
readonly to: Steps;
|
|
31
|
+
readonly context: Context;
|
|
32
|
+
readonly event: Event;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* A guard, built by {@link transitionGuard}. It answers a single transition
|
|
36
|
+
* attempt; a generator guard may `yield*` craft dependencies, which the machine
|
|
37
|
+
* folds into its own dependency graph.
|
|
38
|
+
*/
|
|
39
|
+
export type CraftTransitionGuard<Transition = CraftTransition<any, string, any>, Yielded = never> = ((transition: Transition) => boolean | Generator<Yielded, boolean, unknown>) & {
|
|
40
|
+
readonly [TRANSITION_GUARD_MARKER]: true;
|
|
41
|
+
};
|
|
42
|
+
/** A transition attempt: `yield*` it to run it, `.pipe(...)` to guard it. */
|
|
43
|
+
export type CraftTransitionAttempt<Context, Event, Yielded = never> = Generator<Yielded, boolean, unknown> & {
|
|
44
|
+
readonly pipe: CraftTransitionAttemptPipe<Context, Event, Yielded>;
|
|
45
|
+
};
|
|
46
|
+
type AttemptGuard<Context, Event, Yielded> = CraftTransitionGuard<CraftTransition<Context, string, Event>, Yielded>;
|
|
47
|
+
export interface CraftTransitionAttemptPipe<Context, Event, Yielded> {
|
|
48
|
+
<Y1>(guard1: AttemptGuard<Context, Event, Y1>): CraftTransitionAttempt<Context, Event, Yielded | Y1>;
|
|
49
|
+
<Y1, Y2>(guard1: AttemptGuard<Context, Event, Y1>, guard2: AttemptGuard<Context, Event, Y2>): CraftTransitionAttempt<Context, Event, Yielded | Y1 | Y2>;
|
|
50
|
+
<Y1, Y2, Y3>(guard1: AttemptGuard<Context, Event, Y1>, guard2: AttemptGuard<Context, Event, Y2>, guard3: AttemptGuard<Context, Event, Y3>): CraftTransitionAttempt<Context, Event, Yielded | Y1 | Y2 | Y3>;
|
|
51
|
+
<Y1, Y2, Y3, Y4>(guard1: AttemptGuard<Context, Event, Y1>, guard2: AttemptGuard<Context, Event, Y2>, guard3: AttemptGuard<Context, Event, Y3>, guard4: AttemptGuard<Context, Event, Y4>): CraftTransitionAttempt<Context, Event, Yielded | Y1 | Y2 | Y3 | Y4>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The `transit` handed to the transitions setup. Called inside a
|
|
55
|
+
* `transitionStep('x', ...)` registration, it targets that very step: the step
|
|
56
|
+
* a machine can move to is the step whose block declared the attempt.
|
|
57
|
+
*/
|
|
58
|
+
export interface CraftTransit<Context> {
|
|
59
|
+
(): CraftTransitionAttempt<Context, void>;
|
|
60
|
+
<Event>(event: Event): CraftTransitionAttempt<Context, Event>;
|
|
61
|
+
}
|
|
62
|
+
type StepGuard<Yielded> = CraftTransitionGuard<CraftTransition<any, string, any>, Yielded>;
|
|
63
|
+
export interface CraftTransitionStepPipe<Yielded> {
|
|
64
|
+
<Y1>(guard1: StepGuard<Y1>): CraftTransitionStep<Yielded | Y1>;
|
|
65
|
+
<Y1, Y2>(guard1: StepGuard<Y1>, guard2: StepGuard<Y2>): CraftTransitionStep<Yielded | Y1 | Y2>;
|
|
66
|
+
<Y1, Y2, Y3>(guard1: StepGuard<Y1>, guard2: StepGuard<Y2>, guard3: StepGuard<Y3>): CraftTransitionStep<Yielded | Y1 | Y2 | Y3>;
|
|
67
|
+
<Y1, Y2, Y3, Y4>(guard1: StepGuard<Y1>, guard2: StepGuard<Y2>, guard3: StepGuard<Y3>, guard4: StepGuard<Y4>): CraftTransitionStep<Yielded | Y1 | Y2 | Y3 | Y4>;
|
|
68
|
+
}
|
|
69
|
+
/** One entry of the transitions record: how the machine enters that step. */
|
|
70
|
+
export interface CraftTransitionStep<Yielded = never> {
|
|
71
|
+
readonly [TRANSITION_STEP_MARKER]: true;
|
|
72
|
+
readonly [TRANSITION_STEP_YIELDED]?: Yielded;
|
|
73
|
+
readonly pipe: CraftTransitionStepPipe<Yielded>;
|
|
74
|
+
}
|
|
75
|
+
type AnyStepsRecord = Record<string, CraftTransitionStep<any>>;
|
|
76
|
+
type StepYielded<Step> = typeof TRANSITION_STEP_YIELDED extends keyof Step ? Step extends {
|
|
77
|
+
readonly [TRANSITION_STEP_YIELDED]?: infer Yielded;
|
|
78
|
+
} ? Yielded : never : never;
|
|
79
|
+
type StepsRecordYielded<Steps extends AnyStepsRecord> = {
|
|
80
|
+
[Key in keyof Steps]: StepYielded<Steps[Key]>;
|
|
81
|
+
}[keyof Steps];
|
|
82
|
+
type SetupGuard<Context, Steps extends string, Yielded> = CraftTransitionGuard<CraftTransition<Context, Steps, unknown>, Yielded>;
|
|
83
|
+
/** The step names a transitions record declares. */
|
|
84
|
+
type MachineSteps<StepsRecord> = Extract<keyof StepsRecord, string>;
|
|
85
|
+
export interface CraftTransitionsSetupPipe<Context, StepsRecord extends AnyStepsRecord, Yielded> {
|
|
86
|
+
<Y1>(guard1: SetupGuard<Context, MachineSteps<StepsRecord>, Y1>): CraftTransitionsSetup<Context, StepsRecord, Yielded | Y1>;
|
|
87
|
+
<Y1, Y2>(guard1: SetupGuard<Context, MachineSteps<StepsRecord>, Y1>, guard2: SetupGuard<Context, MachineSteps<StepsRecord>, Y2>): CraftTransitionsSetup<Context, StepsRecord, Yielded | Y1 | Y2>;
|
|
88
|
+
<Y1, Y2, Y3>(guard1: SetupGuard<Context, MachineSteps<StepsRecord>, Y1>, guard2: SetupGuard<Context, MachineSteps<StepsRecord>, Y2>, guard3: SetupGuard<Context, MachineSteps<StepsRecord>, Y3>): CraftTransitionsSetup<Context, StepsRecord, Yielded | Y1 | Y2 | Y3>;
|
|
89
|
+
<Y1, Y2, Y3, Y4>(guard1: SetupGuard<Context, MachineSteps<StepsRecord>, Y1>, guard2: SetupGuard<Context, MachineSteps<StepsRecord>, Y2>, guard3: SetupGuard<Context, MachineSteps<StepsRecord>, Y3>, guard4: SetupGuard<Context, MachineSteps<StepsRecord>, Y4>): CraftTransitionsSetup<Context, StepsRecord, Yielded | Y1 | Y2 | Y3 | Y4>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The setup generator itself: the form `craftStateMachine` takes when the
|
|
93
|
+
* transitions carry no machine-wide guard. `Context` is contextually typed by
|
|
94
|
+
* the machine, so the parameter needs no annotation here.
|
|
95
|
+
*/
|
|
96
|
+
export type CraftTransitionsSetupFn<Context, StepsRecord extends AnyStepsRecord, Yielded> = (context: Context, transit: CraftTransit<Context>) => Generator<Yielded, StepsRecord, unknown>;
|
|
97
|
+
/**
|
|
98
|
+
* The transitions once {@link transitionsSetup} has wrapped them, which is what
|
|
99
|
+
* carries `.pipe(...)`. `Context` travels contravariantly so `craftStateMachine`
|
|
100
|
+
* accepts a setup whose annotated context is satisfied by the machine's actual
|
|
101
|
+
* context, and refuses one that asks for more.
|
|
102
|
+
*/
|
|
103
|
+
export interface CraftTransitionsSetup<Context, StepsRecord extends AnyStepsRecord, Yielded = never> {
|
|
104
|
+
readonly [TRANSITIONS_SETUP_MARKER]: true;
|
|
105
|
+
readonly [TRANSITIONS_SETUP_CONTEXT]?: (context: Context) => void;
|
|
106
|
+
readonly [TRANSITIONS_SETUP_STEPS]?: StepsRecord;
|
|
107
|
+
readonly [TRANSITIONS_SETUP_YIELDED]?: Yielded;
|
|
108
|
+
readonly pipe: CraftTransitionsSetupPipe<Context, StepsRecord, Yielded>;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* What `craftStateMachine` accepts as its transitions: the bare setup
|
|
112
|
+
* generator, or the same generator wrapped in {@link transitionsSetup} when a
|
|
113
|
+
* machine-wide guard has to be piped onto it.
|
|
114
|
+
*/
|
|
115
|
+
export type CraftTransitionsInput<Context, StepsRecord extends AnyStepsRecord, Yielded> = CraftTransitionsSetupFn<Context, StepsRecord, Yielded> | CraftTransitionsSetup<Context, StepsRecord, Yielded>;
|
|
116
|
+
/**
|
|
117
|
+
* `yield* initStateMachine(...)` is not optional: without it nothing would ever
|
|
118
|
+
* give the machine its first step. The obligation is enforced here, by making
|
|
119
|
+
* the transitions argument unassignable until the marker shows up.
|
|
120
|
+
*/
|
|
121
|
+
export type CraftMachineInitRequirement<Yielded> = [
|
|
122
|
+
Extract<Yielded, CraftMachineInitRequest>
|
|
123
|
+
] extends [never] ? {
|
|
124
|
+
readonly [MISSING_INIT_STATE_MACHINE]: 'This state machine never initialises: add `yield* initStateMachine(() => transit())` to one of its transitionStep(...) blocks.';
|
|
125
|
+
} : unknown;
|
|
126
|
+
/** The registration value the machine-scoped helpers resolve to. */
|
|
127
|
+
export type CraftMachineRegistration<Yielded = never> = Generator<Yielded, void, unknown>;
|
|
128
|
+
/** Reads the context type a `craftStateMachine` context factory produces. */
|
|
129
|
+
export type CraftMachineContext<ContextFactory> = ContextFactory extends (...args: any[]) => Generator<any, infer Context, any> ? Context : ContextFactory extends (...args: any[]) => infer Context ? Context : never;
|
|
130
|
+
type CurrentStepWithContextForStep<StepContexts, Step extends string> = Step extends keyof StepContexts ? StepContexts[Step] extends object ? {
|
|
131
|
+
readonly step: Step;
|
|
132
|
+
} & StepContexts[Step] : {
|
|
133
|
+
readonly step: Step;
|
|
134
|
+
readonly context: StepContexts[Step];
|
|
135
|
+
} : {
|
|
136
|
+
readonly step: Step;
|
|
137
|
+
readonly context: unknown;
|
|
138
|
+
};
|
|
139
|
+
type CurrentStepWithContextValue<StepContexts, Steps extends string> = Steps extends string ? CurrentStepWithContextForStep<StepContexts, Steps> : never;
|
|
140
|
+
/** One decided transition attempt, as an insertion observes it. */
|
|
141
|
+
export type CraftMachineTransition<Steps extends string = string> = Readonly<{
|
|
142
|
+
from: Steps | undefined;
|
|
143
|
+
to: Steps;
|
|
144
|
+
event: unknown;
|
|
145
|
+
accepted: boolean;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* The machine's own controls, handed to its insertion. This is what a feature
|
|
149
|
+
* built on top of the machine — a history, a replay — needs and the machine
|
|
150
|
+
* core deliberately does not provide itself.
|
|
151
|
+
*/
|
|
152
|
+
export type CraftMachineControls<Steps extends string = string> = Readonly<{
|
|
153
|
+
/** Host chain of the machine, to scope a registry capture to what it owns. */
|
|
154
|
+
hostTags: readonly string[];
|
|
155
|
+
/** Observes every decided attempt, accepted or refused. Returns a release. */
|
|
156
|
+
onTransition(observer: (transition: CraftMachineTransition<Steps>) => void): () => void;
|
|
157
|
+
/** Moves to a step without consulting any guard. */
|
|
158
|
+
restoreStep(step: Steps): void;
|
|
159
|
+
/** Runs `restore` with the machine's registrations muted. */
|
|
160
|
+
suspended<Result>(restore: () => Result): Result;
|
|
161
|
+
}>;
|
|
162
|
+
export type CraftMachineInsertionContext<Context, Steps extends string, StepContexts> = {
|
|
163
|
+
readonly context: Context;
|
|
164
|
+
readonly currentStep: YieldableReactiveValue<Steps, 'currentStep'>;
|
|
165
|
+
readonly currentStepWithContext: YieldableReactiveValue<CurrentStepWithContextValue<StepContexts, Steps>, 'currentStepWithContext'>;
|
|
166
|
+
readonly machine: CraftMachineControls<Steps>;
|
|
167
|
+
};
|
|
168
|
+
export type CraftStateMachineOutput<Context, Steps extends string, StepContexts, Insertions, Dependencies = {}> = MergeObject<{
|
|
169
|
+
readonly currentStep: YieldableReactiveValue<Steps, 'currentStep'>;
|
|
170
|
+
readonly currentStepWithContext: YieldableReactiveValue<CurrentStepWithContextValue<StepContexts, Steps>, 'currentStepWithContext'>;
|
|
171
|
+
readonly context: Context;
|
|
172
|
+
}, MergeObject<BrandReactiveProperties<YieldableInsertionMethods<Insertions>>, {
|
|
173
|
+
readonly [SERVICE_HELPER_DEPENDENCIES]?: Dependencies;
|
|
174
|
+
}>>;
|
|
175
|
+
/**
|
|
176
|
+
* Wraps a predicate into a transition guard. Accepts a plain lambda or a
|
|
177
|
+
* generator; a generator guard resolves craft dependencies with `yield*`, and
|
|
178
|
+
* those dependencies join the machine's dependency graph.
|
|
179
|
+
*
|
|
180
|
+
* ```ts
|
|
181
|
+
* transitionGuard(({ context }) => context.form.isValid());
|
|
182
|
+
*
|
|
183
|
+
* transitionGuard(function* ({ context, from, to, event }) {
|
|
184
|
+
* const policy = yield* PolicyService();
|
|
185
|
+
* return policy.canTransition({ from, to, event });
|
|
186
|
+
* });
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export declare function transitionGuard<Transition extends CraftTransition<any, any, any>, Yielded = never>(guard: (transition: Transition) => boolean | Generator<Yielded, boolean, unknown>): CraftTransitionGuard<Transition, Yielded>;
|
|
190
|
+
/**
|
|
191
|
+
* Declares how a machine enters one step. The generator runs once, at machine
|
|
192
|
+
* creation, and registers the reactions that may move the machine here
|
|
193
|
+
* (`on$`, `afterRecomputation`, `initStateMachine`).
|
|
194
|
+
*
|
|
195
|
+
* `transitionStep(...).pipe(transitionGuard(...))` guards every transition
|
|
196
|
+
* declared in that step.
|
|
197
|
+
*/
|
|
198
|
+
export declare function transitionStep<Yielded = never>(setup: () => Generator<Yielded, unknown, unknown> | void): CraftTransitionStep<Yielded>;
|
|
199
|
+
/**
|
|
200
|
+
* Builds every transition of a machine. The setup generator receives the
|
|
201
|
+
* machine `context` and `transit`, and returns one {@link transitionStep} per
|
|
202
|
+
* step; the record's keys ARE the machine's steps.
|
|
203
|
+
*
|
|
204
|
+
* `transitionsSetup(...).pipe(transitionGuard(...))` guards every transition of
|
|
205
|
+
* every step.
|
|
206
|
+
*
|
|
207
|
+
* Declared standalone, the setup's `context` parameter has to be annotated —
|
|
208
|
+
* typically with `CraftMachineContext<typeof contextFactory>`; `craftStateMachine`
|
|
209
|
+
* then checks the machine's real context against that annotation.
|
|
210
|
+
*/
|
|
211
|
+
export declare function transitionsSetup<Context, StepsRecord extends AnyStepsRecord, SetupYielded = never>(setup: CraftTransitionsSetupFn<Context, StepsRecord, SetupYielded>): CraftTransitionsSetup<Context, StepsRecord, SetupYielded>;
|
|
212
|
+
/**
|
|
213
|
+
* Registers the callback that gives the machine its initial step. Registrations
|
|
214
|
+
* run after every step has been installed, in declaration order, and the first
|
|
215
|
+
* accepted `transit()` wins — later init registrations are skipped.
|
|
216
|
+
*
|
|
217
|
+
* ```ts
|
|
218
|
+
* yield* initStateMachine(() => transit());
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
export declare function initStateMachine<Yielded = never>(callback: () => Generator<Yielded, unknown, unknown> | void): CraftMachineRegistration<Yielded | CraftMachineInitRequest>;
|
|
222
|
+
type ContextFactory<Yielded, Context> = () => Generator<Yielded, Context, unknown>;
|
|
223
|
+
type CurrentStepWithContextFactory<Context, Yielded, StepContexts> = (context: Context) => Generator<Yielded, StepContexts, unknown>;
|
|
224
|
+
type MachineInsertion<Context, Steps extends string, StepContexts, Yielded, Insertions> = (context: CraftMachineInsertionContext<Context, Steps, StepContexts>) => Generator<Yielded, Insertions, unknown> | Insertions;
|
|
225
|
+
/** Everything the transitions advertise: the setup's yields plus each step's. */
|
|
226
|
+
type MachineYielded<SetupYielded, StepsRecord extends AnyStepsRecord> = SetupYielded | StepsRecordYielded<StepsRecord>;
|
|
227
|
+
type MachineDependencies<ContextYielded, TransitionsYielded, StepContextYielded, InsertionYielded> = CompleteServiceDependencyMapFromYielded<ContextYielded | TransitionsYielded | StepContextYielded | InsertionYielded>;
|
|
228
|
+
export declare function craftStateMachine<Name extends string, ContextYielded, Context extends object, StepsRecord extends AnyStepsRecord, SetupYielded, StepContextYielded, StepContexts extends Record<MachineSteps<StepsRecord>, unknown>, InsertionYielded, Insertions>(name: Name, contextFactory: ContextFactory<ContextYielded, Context>, transitions: CraftTransitionsInput<NoInfer<Context>, StepsRecord, SetupYielded> & CraftMachineInitRequirement<MachineYielded<SetupYielded, StepsRecord>>, currentStepWithContextFactory: CurrentStepWithContextFactory<NoInfer<Context>, StepContextYielded, StepContexts>, insertion: MachineInsertion<NoInfer<Context>, NoInfer<MachineSteps<StepsRecord>>, NoInfer<StepContexts>, InsertionYielded, Insertions>): NamedCraftPrimitiveGen<Name, CraftStateMachineOutput<Context, MachineSteps<StepsRecord>, StepContexts, Insertions, MachineDependencies<ContextYielded, MachineYielded<SetupYielded, StepsRecord>, StepContextYielded, InsertionYielded>>>;
|
|
229
|
+
export declare function craftStateMachine<Name extends string, ContextYielded, Context extends object, StepsRecord extends AnyStepsRecord, SetupYielded, StepContextYielded, StepContexts extends Record<MachineSteps<StepsRecord>, unknown>>(name: Name, contextFactory: ContextFactory<ContextYielded, Context>, transitions: CraftTransitionsInput<NoInfer<Context>, StepsRecord, SetupYielded> & CraftMachineInitRequirement<MachineYielded<SetupYielded, StepsRecord>>, currentStepWithContextFactory: CurrentStepWithContextFactory<NoInfer<Context>, StepContextYielded, StepContexts>): NamedCraftPrimitiveGen<Name, CraftStateMachineOutput<Context, MachineSteps<StepsRecord>, StepContexts, {}, MachineDependencies<ContextYielded, MachineYielded<SetupYielded, StepsRecord>, StepContextYielded, never>>>;
|
|
230
|
+
export declare function craftStateMachine<ContextYielded, Context extends object, StepsRecord extends AnyStepsRecord, SetupYielded, StepContextYielded, StepContexts extends Record<MachineSteps<StepsRecord>, unknown>, InsertionYielded, Insertions>(contextFactory: ContextFactory<ContextYielded, Context>, transitions: CraftTransitionsInput<NoInfer<Context>, StepsRecord, SetupYielded> & CraftMachineInitRequirement<MachineYielded<SetupYielded, StepsRecord>>, currentStepWithContextFactory: CurrentStepWithContextFactory<NoInfer<Context>, StepContextYielded, StepContexts>, insertion: MachineInsertion<NoInfer<Context>, NoInfer<MachineSteps<StepsRecord>>, NoInfer<StepContexts>, InsertionYielded, Insertions>): NamedCraftPrimitiveGen<'stateMachine', CraftStateMachineOutput<Context, MachineSteps<StepsRecord>, StepContexts, Insertions, MachineDependencies<ContextYielded, MachineYielded<SetupYielded, StepsRecord>, StepContextYielded, InsertionYielded>>>;
|
|
231
|
+
export declare function craftStateMachine<ContextYielded, Context extends object, StepsRecord extends AnyStepsRecord, SetupYielded, StepContextYielded, StepContexts extends Record<MachineSteps<StepsRecord>, unknown>>(contextFactory: ContextFactory<ContextYielded, Context>, transitions: CraftTransitionsInput<NoInfer<Context>, StepsRecord, SetupYielded> & CraftMachineInitRequirement<MachineYielded<SetupYielded, StepsRecord>>, currentStepWithContextFactory: CurrentStepWithContextFactory<NoInfer<Context>, StepContextYielded, StepContexts>): NamedCraftPrimitiveGen<'stateMachine', CraftStateMachineOutput<Context, MachineSteps<StepsRecord>, StepContexts, {}, MachineDependencies<ContextYielded, MachineYielded<SetupYielded, StepsRecord>, StepContextYielded, never>>>;
|
|
232
|
+
export {};
|
|
233
|
+
//# sourceMappingURL=craft-state-machine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-state-machine.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/craft-state-machine.ts"],"names":[],"mappings":"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"}
|