@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,392 @@
|
|
|
1
|
+
import { ValueEqualityFn } from './host/craft-compat';
|
|
2
|
+
import { SourceBranded } from './util/util';
|
|
3
|
+
import { RAW_REACTIVE_VALUE, REACTIVE_VALUE_TYPE, YIELDABLE_VALUE, type ReactiveReadRequest, type YieldableReactiveValue } from './reactive-read';
|
|
4
|
+
type YieldableSignalSourceValue<T> = YieldableReactiveValue<T | undefined, string>;
|
|
5
|
+
type YieldableSignalSourceMetadata<T> = Omit<YieldableSignalSourceValue<T>, typeof RAW_REACTIVE_VALUE | typeof REACTIVE_VALUE_TYPE | typeof YIELDABLE_VALUE> & {
|
|
6
|
+
readonly [RAW_REACTIVE_VALUE]: YieldableSignalSourceValue<T>[typeof RAW_REACTIVE_VALUE];
|
|
7
|
+
readonly [REACTIVE_VALUE_TYPE]: T | undefined;
|
|
8
|
+
readonly [YIELDABLE_VALUE]: string;
|
|
9
|
+
};
|
|
10
|
+
type SignalSourceReader<T> = {
|
|
11
|
+
(): T | undefined;
|
|
12
|
+
(): Generator<ReactiveReadRequest<T | undefined>, T | undefined, unknown>;
|
|
13
|
+
} & YieldableSignalSourceMetadata<T>;
|
|
14
|
+
export type SignalSource<T> = SignalSourceReader<T> & {
|
|
15
|
+
set: (value: T) => void;
|
|
16
|
+
preserveLastValue: SignalSourceReader<T>;
|
|
17
|
+
} & SourceBranded;
|
|
18
|
+
/**
|
|
19
|
+
* Creates a source for event-driven communication with lazy emission semantics.
|
|
20
|
+
*
|
|
21
|
+
* Sources are the foundation of event-driven patterns in craft-ts, enabling:
|
|
22
|
+
* - Discrete event emissions (unlike continuous signals)
|
|
23
|
+
* - Lazy behavior (undefined until explicitly set)
|
|
24
|
+
* - Decoupled communication between components and stores
|
|
25
|
+
* - Automatic triggering of queries, mutations, and async methods
|
|
26
|
+
* - Multi-listener support with independent subscription timing
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* **Core Concept:**
|
|
30
|
+
* Sources implement event emitter pattern with reactive semantics:
|
|
31
|
+
* - Emit only when explicitly set (not on every read like signals)
|
|
32
|
+
* - Listeners receive `undefined` on first read (lazy semantics)
|
|
33
|
+
* - New listeners don't receive previous emissions by default
|
|
34
|
+
* - Use `preserveLastValue` to get the last emitted value immediately
|
|
35
|
+
*
|
|
36
|
+
* **Difference from Signals:**
|
|
37
|
+
* - **Signals**: Always have a value, recompute on access, continuous state
|
|
38
|
+
* - **Sources**: Emit on explicit set, lazy by default, discrete events
|
|
39
|
+
* - Sources are for events/actions, signals are for state
|
|
40
|
+
*
|
|
41
|
+
* **Use Cases:**
|
|
42
|
+
* - **User actions**: Button clicks, form submissions, custom events
|
|
43
|
+
* - **Navigation events**: Route changes, tab switches
|
|
44
|
+
* - **Data events**: Reload triggers, refresh requests
|
|
45
|
+
* - **Coordination**: Communication between disconnected components
|
|
46
|
+
* - **Store inputs**: Triggering queries/mutations from components
|
|
47
|
+
* - **Event buses**: Decoupled event communication
|
|
48
|
+
*
|
|
49
|
+
* **Integration with Queries/Mutations:**
|
|
50
|
+
* - Bind to method using `afterRecomputation(source, callback)`
|
|
51
|
+
* - Query/mutation executes automatically when source emits
|
|
52
|
+
* - No manual method exposed (source-based triggering)
|
|
53
|
+
*
|
|
54
|
+
* **Listener Semantics:**
|
|
55
|
+
* - **Standard listener**: Returns `undefined` until source emits, then returns new values only
|
|
56
|
+
* - **preserveLastValue**: Returns last emitted value immediately, then tracks new values
|
|
57
|
+
* - Useful for late subscribers that need current state
|
|
58
|
+
*
|
|
59
|
+
* **Limitations:**
|
|
60
|
+
* Sources are signals and behave differently from observables.
|
|
61
|
+
* Understanding these three key limitations is important:
|
|
62
|
+
* - **Multiple sets in same cycle**: When a source is set multiple times during the same cycle
|
|
63
|
+
* (between the first set and the Change Detection that executes all consumer callbacks),
|
|
64
|
+
* consumers will only react once during CD and will only see the last set value.
|
|
65
|
+
* Intermediate values are discarded.
|
|
66
|
+
* - **Multiple sources order**: Within the same cycle, if multiple sources are triggered,
|
|
67
|
+
* consumers cannot determine the order in which the sources were set.
|
|
68
|
+
* The original emission sequence is not preserved.
|
|
69
|
+
* - **Consumer execution order**: When multiple sources are triggered in the same cycle,
|
|
70
|
+
* consumer callbacks are invoked in the order they were declared, not in the order
|
|
71
|
+
* their source producers were triggered.
|
|
72
|
+
* - **No synchronous intermediate value reactions**: Unlike observables, sources cannot react
|
|
73
|
+
* to each intermediate value synchronously. A mechanism similar to observables
|
|
74
|
+
* (or using native Observable API) without RxJS is being considered to enable
|
|
75
|
+
* synchronous reactions to intermediate values, matching the behavior currently
|
|
76
|
+
* offered by observables.
|
|
77
|
+
*
|
|
78
|
+
* @template T - The type of values emitted by the source
|
|
79
|
+
*
|
|
80
|
+
* @param name - Name matching the variable/property this source is assigned to (used for host
|
|
81
|
+
* tagging and dev-tools snapshot reporting, consistent with `craftComputed`/`craftEffect`)
|
|
82
|
+
* @param options - Optional configuration:
|
|
83
|
+
* - `equal`: Custom equality function for change detection (prevents duplicate emissions)
|
|
84
|
+
*
|
|
85
|
+
* @returns A source object with:
|
|
86
|
+
* - `()`: Read current value (undefined until first emission)
|
|
87
|
+
* - `set(value)`: Emit a value to all listeners
|
|
88
|
+
* - `preserveLastValue`: Alternative signal that returns last value immediately
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* Basic source for user actions
|
|
92
|
+
* ```ts
|
|
93
|
+
* const { UserStore } = craftService(
|
|
94
|
+
* { name: 'UserStore', providedIn: 'toProvide' },
|
|
95
|
+
* function* () {
|
|
96
|
+
* const loadUser = signalSource<string>('loadUser');
|
|
97
|
+
*
|
|
98
|
+
* const user = yield* query({
|
|
99
|
+
* method: afterRecomputation(loadUser, (userId) => userId),
|
|
100
|
+
* loader: async ({ params }) => {
|
|
101
|
+
* const response = await fetch(`/api/users/${params}`);
|
|
102
|
+
* return response.json();
|
|
103
|
+
* },
|
|
104
|
+
* });
|
|
105
|
+
*
|
|
106
|
+
* return { loadUser, user };
|
|
107
|
+
* },
|
|
108
|
+
* );
|
|
109
|
+
*
|
|
110
|
+
* const store = UserStore();
|
|
111
|
+
*
|
|
112
|
+
* // Query executes automatically when source emits
|
|
113
|
+
* store.loadUser.set('user-123');
|
|
114
|
+
* // -> loadUser source emits 'user-123'
|
|
115
|
+
* // -> user query executes with params 'user-123'
|
|
116
|
+
*
|
|
117
|
+
* store.loadUser.set('user-456');
|
|
118
|
+
* // -> user query executes again with params 'user-456'
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* Source for form submission
|
|
123
|
+
* ```ts
|
|
124
|
+
* type FormData = { name: string; email: string };
|
|
125
|
+
*
|
|
126
|
+
* const { FormStore } = craftService(
|
|
127
|
+
* { name: 'FormStore', providedIn: 'toProvide' },
|
|
128
|
+
* function* () {
|
|
129
|
+
* const submitForm = signalSource<FormData>('submitForm');
|
|
130
|
+
*
|
|
131
|
+
* const submit = yield* mutation({
|
|
132
|
+
* method: afterRecomputation(submitForm, (data) => data),
|
|
133
|
+
* loader: async ({ params }) => {
|
|
134
|
+
* const response = await fetch('/api/submit', {
|
|
135
|
+
* method: 'POST',
|
|
136
|
+
* body: JSON.stringify(params),
|
|
137
|
+
* });
|
|
138
|
+
* return response.json();
|
|
139
|
+
* },
|
|
140
|
+
* });
|
|
141
|
+
*
|
|
142
|
+
* return { submitForm, submit };
|
|
143
|
+
* },
|
|
144
|
+
* );
|
|
145
|
+
*
|
|
146
|
+
* const store = FormStore();
|
|
147
|
+
*
|
|
148
|
+
* // In component template:
|
|
149
|
+
* // <form (submit)="onSubmit()">
|
|
150
|
+
* // <input name="name" [(ngModel)]="formData.name" />
|
|
151
|
+
* // <input name="email" [(ngModel)]="formData.email" />
|
|
152
|
+
* // </form>
|
|
153
|
+
*
|
|
154
|
+
* onSubmit() {
|
|
155
|
+
* // Mutation executes automatically
|
|
156
|
+
* this.store.submitForm.set(this.formData);
|
|
157
|
+
* // -> submitForm source emits
|
|
158
|
+
* // -> submit mutation executes
|
|
159
|
+
* }
|
|
160
|
+
* ```
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* Source for reload/refresh actions
|
|
164
|
+
* ```ts
|
|
165
|
+
* const { DataStore } = craftService(
|
|
166
|
+
* { name: 'DataStore', providedIn: 'toProvide' },
|
|
167
|
+
* function* () {
|
|
168
|
+
* const reload = signalSource<void>('reload');
|
|
169
|
+
*
|
|
170
|
+
* const data = yield* query({
|
|
171
|
+
* method: afterRecomputation(reload, () => ({})),
|
|
172
|
+
* loader: async () => {
|
|
173
|
+
* const response = await fetch('/api/data');
|
|
174
|
+
* return response.json();
|
|
175
|
+
* },
|
|
176
|
+
* });
|
|
177
|
+
*
|
|
178
|
+
* return { reload, data };
|
|
179
|
+
* },
|
|
180
|
+
* );
|
|
181
|
+
*
|
|
182
|
+
* const store = DataStore();
|
|
183
|
+
*
|
|
184
|
+
* // Trigger reload from anywhere
|
|
185
|
+
* store.reload.set();
|
|
186
|
+
* // -> reload source emits
|
|
187
|
+
* // -> query re-executes
|
|
188
|
+
*
|
|
189
|
+
* // In component:
|
|
190
|
+
* // <button (click)="store.reload.set()">Refresh</button>
|
|
191
|
+
* ```
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* Multiple sources for different actions
|
|
195
|
+
* ```ts
|
|
196
|
+
* const { TodoStore } = craftService(
|
|
197
|
+
* { name: 'TodoStore', providedIn: 'toProvide' },
|
|
198
|
+
* function* () {
|
|
199
|
+
* const addTodo = signalSource<{ text: string }>('addTodo');
|
|
200
|
+
* const deleteTodo = signalSource<string>('deleteTodo');
|
|
201
|
+
* const toggleTodo = signalSource<string>('toggleTodo');
|
|
202
|
+
*
|
|
203
|
+
* const create = yield* mutation({
|
|
204
|
+
* method: afterRecomputation(addTodo, (data) => data),
|
|
205
|
+
* loader: async ({ params }) => {
|
|
206
|
+
* const response = await fetch('/api/todos', {
|
|
207
|
+
* method: 'POST',
|
|
208
|
+
* body: JSON.stringify(params),
|
|
209
|
+
* });
|
|
210
|
+
* return response.json();
|
|
211
|
+
* },
|
|
212
|
+
* });
|
|
213
|
+
*
|
|
214
|
+
* const remove = yield* mutation({
|
|
215
|
+
* method: afterRecomputation(deleteTodo, (id) => id),
|
|
216
|
+
* loader: async ({ params }) => {
|
|
217
|
+
* await fetch(`/api/todos/${params}`, { method: 'DELETE' });
|
|
218
|
+
* return { deleted: true };
|
|
219
|
+
* },
|
|
220
|
+
* });
|
|
221
|
+
*
|
|
222
|
+
* const toggle = yield* mutation({
|
|
223
|
+
* method: afterRecomputation(toggleTodo, (id) => id),
|
|
224
|
+
* loader: async ({ params }) => {
|
|
225
|
+
* const response = await fetch(`/api/todos/${params}/toggle`, {
|
|
226
|
+
* method: 'PATCH',
|
|
227
|
+
* });
|
|
228
|
+
* return response.json();
|
|
229
|
+
* },
|
|
230
|
+
* });
|
|
231
|
+
*
|
|
232
|
+
* return { addTodo, deleteTodo, toggleTodo, create, remove, toggle };
|
|
233
|
+
* },
|
|
234
|
+
* );
|
|
235
|
+
*
|
|
236
|
+
* const store = TodoStore();
|
|
237
|
+
*
|
|
238
|
+
* // Different actions trigger different mutations
|
|
239
|
+
* store.addTodo.set({ text: 'Buy milk' });
|
|
240
|
+
* store.toggleTodo.set('todo-123');
|
|
241
|
+
* store.deleteTodo.set('todo-456');
|
|
242
|
+
* ```
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* Late listener with preserveLastValue
|
|
246
|
+
* ```ts
|
|
247
|
+
* // Inside a component constructor or a craftService factory (injection context)
|
|
248
|
+
* const mySource = signalSource<string>('mySource');
|
|
249
|
+
*
|
|
250
|
+
* // Early listener
|
|
251
|
+
* const listener1 = computed(() => mySource());
|
|
252
|
+
* console.log(listener1()); // undefined
|
|
253
|
+
*
|
|
254
|
+
* // Emit value
|
|
255
|
+
* mySource.set('Hello');
|
|
256
|
+
* console.log(listener1()); // 'Hello'
|
|
257
|
+
*
|
|
258
|
+
* // Late listener (after emission)
|
|
259
|
+
* const listener2 = computed(() => mySource());
|
|
260
|
+
* console.log(listener2()); // undefined (doesn't get previous emission)
|
|
261
|
+
*
|
|
262
|
+
* mySource.set('World');
|
|
263
|
+
* console.log(listener1()); // 'World'
|
|
264
|
+
* console.log(listener2()); // 'World'
|
|
265
|
+
*
|
|
266
|
+
* // Using preserveLastValue for late listeners
|
|
267
|
+
* const listener3 = computed(() => mySource.preserveLastValue());
|
|
268
|
+
* console.log(listener3()); // 'World' (gets last value immediately)
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* Custom equality to prevent duplicate emissions
|
|
273
|
+
* ```ts
|
|
274
|
+
* type Params = { id: string; timestamp: number };
|
|
275
|
+
*
|
|
276
|
+
* // Inside a component constructor or a craftService factory (injection context)
|
|
277
|
+
* const paramsSource = signalSource<Params>('paramsSource', {
|
|
278
|
+
* equal: (a, b) => a?.id === b?.id, // Compare only by id
|
|
279
|
+
* });
|
|
280
|
+
*
|
|
281
|
+
* const listener = computed(() => paramsSource());
|
|
282
|
+
*
|
|
283
|
+
* paramsSource.set({ id: 'item-1', timestamp: Date.now() });
|
|
284
|
+
* // -> listener receives value
|
|
285
|
+
*
|
|
286
|
+
* paramsSource.set({ id: 'item-1', timestamp: Date.now() });
|
|
287
|
+
* // -> listener does NOT receive value (same id)
|
|
288
|
+
*
|
|
289
|
+
* paramsSource.set({ id: 'item-2', timestamp: Date.now() });
|
|
290
|
+
* // -> listener receives value (different id)
|
|
291
|
+
* ```
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* Source for coordinating multiple components
|
|
295
|
+
* ```ts
|
|
296
|
+
* // Root-provided coordinator service, injected wherever the shared source is needed
|
|
297
|
+
* const { RefreshCoordinator } = craftService(
|
|
298
|
+
* { name: 'RefreshCoordinator', scope: 'root' },
|
|
299
|
+
* () => {
|
|
300
|
+
* const refreshAllSource = signalSource<void>('refreshAllSource');
|
|
301
|
+
* return { refreshAllSource };
|
|
302
|
+
* },
|
|
303
|
+
* );
|
|
304
|
+
*
|
|
305
|
+
* // Component A's store
|
|
306
|
+
* const { DataViewStore, provideDataViewStore } = craftService(
|
|
307
|
+
* { name: 'DataViewStore', providedIn: 'toProvide' },
|
|
308
|
+
* function* () {
|
|
309
|
+
* const { refreshAllSource } = RefreshCoordinator();
|
|
310
|
+
*
|
|
311
|
+
* const data = yield* query({
|
|
312
|
+
* method: afterRecomputation(refreshAllSource, () => ({})),
|
|
313
|
+
* loader: async () => {
|
|
314
|
+
* const response = await fetch('/api/data');
|
|
315
|
+
* return response.json();
|
|
316
|
+
* },
|
|
317
|
+
* });
|
|
318
|
+
*
|
|
319
|
+
* return { data };
|
|
320
|
+
* },
|
|
321
|
+
* );
|
|
322
|
+
*
|
|
323
|
+
* @Component({
|
|
324
|
+
* selector: 'app-data-view',
|
|
325
|
+
* template: '...',
|
|
326
|
+
* providers: [provideDataViewStore()],
|
|
327
|
+
* })
|
|
328
|
+
* export class DataViewComponent {
|
|
329
|
+
* store = DataViewStore();
|
|
330
|
+
* }
|
|
331
|
+
*
|
|
332
|
+
* // Component B
|
|
333
|
+
* @Component({
|
|
334
|
+
* selector: 'app-refresh-button',
|
|
335
|
+
* template: '<button (click)="refresh()">Refresh All</button>',
|
|
336
|
+
* })
|
|
337
|
+
* export class RefreshButtonComponent {
|
|
338
|
+
* private readonly coordinator = RefreshCoordinator();
|
|
339
|
+
*
|
|
340
|
+
* refresh() {
|
|
341
|
+
* // Triggers refresh in every store listening to this source
|
|
342
|
+
* this.coordinator.refreshAllSource.set();
|
|
343
|
+
* }
|
|
344
|
+
* }
|
|
345
|
+
* ```
|
|
346
|
+
*
|
|
347
|
+
* @example
|
|
348
|
+
* Source with complex payload
|
|
349
|
+
* ```ts
|
|
350
|
+
* type SearchParams = {
|
|
351
|
+
* query: string;
|
|
352
|
+
* filters: string[];
|
|
353
|
+
* page: number;
|
|
354
|
+
* };
|
|
355
|
+
*
|
|
356
|
+
* const { SearchStore } = craftService(
|
|
357
|
+
* { name: 'SearchStore', providedIn: 'toProvide' },
|
|
358
|
+
* function* () {
|
|
359
|
+
* const search = signalSource<SearchParams>('search');
|
|
360
|
+
*
|
|
361
|
+
* const results = yield* query({
|
|
362
|
+
* method: afterRecomputation(search, (params) => params),
|
|
363
|
+
* loader: async ({ params }) => {
|
|
364
|
+
* const queryString = new URLSearchParams({
|
|
365
|
+
* q: params.query,
|
|
366
|
+
* filters: params.filters.join(','),
|
|
367
|
+
* page: String(params.page),
|
|
368
|
+
* });
|
|
369
|
+
* const response = await fetch(`/api/search?${queryString}`);
|
|
370
|
+
* return response.json();
|
|
371
|
+
* },
|
|
372
|
+
* });
|
|
373
|
+
*
|
|
374
|
+
* return { search, results };
|
|
375
|
+
* },
|
|
376
|
+
* );
|
|
377
|
+
*
|
|
378
|
+
* const store = SearchStore();
|
|
379
|
+
*
|
|
380
|
+
* // Emit complex search parameters
|
|
381
|
+
* store.search.set({
|
|
382
|
+
* query: 'angular',
|
|
383
|
+
* filters: ['tutorial', 'advanced'],
|
|
384
|
+
* page: 1,
|
|
385
|
+
* });
|
|
386
|
+
* ```
|
|
387
|
+
*/
|
|
388
|
+
export declare function signalSource<T>(name: string, options?: {
|
|
389
|
+
equal?: ValueEqualityFn<NoInfer<T> | undefined>;
|
|
390
|
+
}): SignalSource<T>;
|
|
391
|
+
export {};
|
|
392
|
+
//# sourceMappingURL=signal-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-source.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/signal-source.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AAEzB,KAAK,0BAA0B,CAAC,CAAC,IAAI,sBAAsB,CACzD,CAAC,GAAG,SAAS,EACb,MAAM,CACP,CAAC;AAEF,KAAK,6BAA6B,CAAC,CAAC,IAAI,IAAI,CAC1C,0BAA0B,CAAC,CAAC,CAAC,EAC3B,OAAO,kBAAkB,GACzB,OAAO,mBAAmB,GAC1B,OAAO,eAAe,CACzB,GAAG;IACF,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC;IACxF,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,IAAI,CAAC,GAAG,SAAS,CAAC;IAClB,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;CAC3E,GAAG,6BAA6B,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG;IACpD,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACxB,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;CAC1C,GAAG,aAAa,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiXG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CACjD,GACA,YAAY,CAAC,CAAC,CAAC,CAsEjB"}
|