@craft-ts/core 0.7.0-beta.13 → 0.7.0-beta.15
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/package.json +10 -2
- package/src/index.d.ts +156 -148
- package/src/index.js +153 -142
- package/src/lib/after-recomputation.d.ts +3 -4
- package/src/lib/after-recomputation.js +3 -4
- package/src/lib/app-checked-di.d.ts +3 -4
- package/src/lib/app-checked-di.js +0 -1
- package/src/lib/async-process.d.ts +18 -19
- package/src/lib/async-process.js +24 -25
- package/src/lib/branded-component/branded-component.d.ts +3 -4
- package/src/lib/branded-component/branded-component.js +0 -1
- package/src/lib/browser-boundaries.d.ts +6 -7
- package/src/lib/browser-boundaries.js +5 -6
- package/src/lib/client-di-requirement.d.ts +1 -2
- package/src/lib/client-di-requirement.js +0 -1
- package/src/lib/client-function-middleware.d.ts +8 -92
- package/src/lib/client-function-middleware.js +89 -90
- package/src/lib/component-monitoring.d.ts +1 -2
- package/src/lib/component-monitoring.js +2 -3
- package/src/lib/component-register.d.ts +1 -2
- package/src/lib/component-register.js +1 -2
- package/src/lib/computed-source.d.ts +3 -4
- package/src/lib/computed-source.js +2 -3
- package/src/lib/correlation-id-plugin.d.ts +1 -2
- package/src/lib/correlation-id-plugin.js +6 -7
- package/src/lib/correlation-id.d.ts +4 -5
- package/src/lib/correlation-id.js +3 -4
- package/src/lib/craft-a11y.d.ts +3 -4
- package/src/lib/craft-a11y.js +5 -6
- package/src/lib/craft-activated-route.d.ts +2 -3
- package/src/lib/craft-activated-route.js +2 -3
- package/src/lib/craft-app-config.d.ts +4 -5
- package/src/lib/craft-app-config.js +3 -4
- package/src/lib/craft-codec.d.ts +0 -1
- package/src/lib/craft-codec.js +0 -1
- package/src/lib/craft-computed.d.ts +6 -7
- package/src/lib/craft-computed.js +7 -8
- package/src/lib/craft-control-flow.d.ts +0 -1
- package/src/lib/craft-control-flow.js +2 -3
- package/src/lib/craft-effect.d.ts +2 -3
- package/src/lib/craft-effect.js +7 -8
- package/src/lib/craft-exception.d.ts +0 -1
- package/src/lib/craft-exception.js +0 -1
- package/src/lib/craft-gen.d.ts +1 -2
- package/src/lib/craft-gen.js +2 -3
- package/src/lib/craft-generator-runtime.d.ts +21 -5
- package/src/lib/craft-generator-runtime.js +28 -6
- package/src/lib/craft-guard-runtime.d.ts +4 -5
- package/src/lib/craft-guard-runtime.js +6 -7
- package/src/lib/craft-handshake.d.ts +1 -2
- package/src/lib/craft-handshake.js +0 -1
- package/src/lib/craft-http-client.d.ts +3 -4
- package/src/lib/craft-http-client.js +4 -5
- package/src/lib/craft-http-trace.d.ts +1 -2
- package/src/lib/craft-http-trace.js +5 -2
- package/src/lib/craft-hydration.d.ts +11 -0
- package/src/lib/craft-hydration.js +2 -0
- package/src/lib/craft-lazy.d.ts +3 -4
- package/src/lib/craft-lazy.js +5 -6
- package/src/lib/craft-load-retry.d.ts +2 -3
- package/src/lib/craft-load-retry.js +11 -4
- package/src/lib/craft-machine-history.d.ts +6 -7
- package/src/lib/craft-machine-history.js +6 -7
- package/src/lib/craft-match.d.ts +0 -1
- package/src/lib/craft-match.js +0 -1
- package/src/lib/craft-method.d.ts +3 -4
- package/src/lib/craft-method.js +5 -6
- package/src/lib/craft-node-directive.d.ts +3 -4
- package/src/lib/craft-node-directive.js +2 -3
- package/src/lib/craft-pending.d.ts +3 -4
- package/src/lib/craft-pending.js +2 -3
- package/src/lib/craft-pipe.d.ts +1 -2
- package/src/lib/craft-pipe.js +7 -8
- package/src/lib/craft-platform.d.ts +2 -3
- package/src/lib/craft-platform.js +2 -3
- package/src/lib/craft-primitive-gen.d.ts +7 -8
- package/src/lib/craft-primitive-gen.js +4 -5
- package/src/lib/craft-primitive-registry.d.ts +4 -2
- package/src/lib/craft-primitive-registry.js +5 -3
- package/src/lib/craft-program-operators.d.ts +3 -4
- package/src/lib/craft-program-operators.js +4 -5
- package/src/lib/craft-program-runtime.d.ts +3 -4
- package/src/lib/craft-program-runtime.js +7 -8
- package/src/lib/craft-register-for-runtime.d.ts +2 -3
- package/src/lib/craft-register-for-runtime.js +2 -3
- package/src/lib/craft-register-for.d.ts +3 -4
- package/src/lib/craft-register-for.js +6 -7
- package/src/lib/craft-render-identity.d.ts +0 -1
- package/src/lib/craft-render-identity.js +1 -2
- package/src/lib/craft-replay.d.ts +0 -1
- package/src/lib/craft-replay.js +0 -1
- package/src/lib/craft-request-context.d.ts +15 -0
- package/src/lib/craft-request-context.js +40 -0
- package/src/lib/craft-resolve.d.ts +2 -3
- package/src/lib/craft-resolve.js +0 -1
- package/src/lib/craft-resource.d.ts +2 -3
- package/src/lib/craft-resource.js +14 -6
- package/src/lib/craft-route-exceptions.d.ts +27 -28
- package/src/lib/craft-route-exceptions.js +3 -4
- package/src/lib/craft-route-load-error.d.ts +92 -93
- package/src/lib/craft-route-load-error.js +6 -7
- package/src/lib/craft-route-meta.d.ts +4 -5
- package/src/lib/craft-route-meta.js +0 -1
- package/src/lib/craft-route-target.d.ts +1 -2
- package/src/lib/craft-route-target.js +1 -2
- package/src/lib/craft-router-outlet.d.ts +7 -7
- package/src/lib/craft-router-outlet.js +24 -18
- package/src/lib/craft-router-tokens.d.ts +3 -4
- package/src/lib/craft-router-tokens.js +2 -3
- package/src/lib/craft-router-trace.d.ts +3 -4
- package/src/lib/craft-router-trace.js +9 -3
- package/src/lib/craft-router.d.ts +16 -17
- package/src/lib/craft-router.js +75 -74
- package/src/lib/craft-routes.d.ts +20 -15
- package/src/lib/craft-routes.js +13 -12
- package/src/lib/craft-runtime-mode.d.ts +13 -0
- package/src/lib/craft-runtime-mode.js +21 -0
- package/src/lib/craft-security.d.ts +87 -0
- package/src/lib/craft-security.js +117 -0
- package/src/lib/craft-service.d.ts +12 -13
- package/src/lib/craft-service.js +11 -12
- package/src/lib/craft-service.shared.d.ts +0 -1
- package/src/lib/craft-service.shared.js +0 -1
- package/src/lib/craft-settled.d.ts +23 -16
- package/src/lib/craft-settled.js +9 -10
- package/src/lib/craft-ssr.d.ts +2 -3
- package/src/lib/craft-ssr.js +4 -5
- package/src/lib/craft-state-machine-runtime.d.ts +2 -3
- package/src/lib/craft-state-machine-runtime.js +3 -4
- package/src/lib/craft-state-machine.d.ts +5 -6
- package/src/lib/craft-state-machine.js +9 -10
- package/src/lib/craft-target-runtime.d.ts +1 -2
- package/src/lib/craft-target-runtime.js +2 -3
- package/src/lib/craft-transfer-snapshot.d.ts +10 -5
- package/src/lib/craft-transfer-snapshot.js +139 -14
- package/src/lib/craft-unique.d.ts +0 -1
- package/src/lib/craft-unique.js +0 -1
- package/src/lib/craft-until-settled.d.ts +5 -6
- package/src/lib/craft-until-settled.js +4 -5
- package/src/lib/craft-use.d.ts +0 -1
- package/src/lib/craft-use.js +2 -3
- package/src/lib/craft-view-transition.d.ts +2 -3
- package/src/lib/craft-view-transition.js +2 -3
- package/src/lib/dev-tools.d.ts +7 -0
- package/src/lib/dev-tools.js +244 -0
- package/src/lib/dom-event-hook.d.ts +1 -2
- package/src/lib/dom-event-hook.js +1 -2
- package/src/lib/fn-wrapper.d.ts +2 -3
- package/src/lib/fn-wrapper.js +3 -4
- package/src/lib/form/craft-field.d.ts +2 -3
- package/src/lib/form/craft-field.directive.d.ts +6 -7
- package/src/lib/form/craft-field.directive.js +5 -6
- package/src/lib/form/craft-field.js +1 -2
- package/src/lib/form/field-exception.d.ts +4 -5
- package/src/lib/form/field-exception.js +1 -2
- package/src/lib/form/field-lens.d.ts +0 -1
- package/src/lib/form/field-lens.js +0 -1
- package/src/lib/form/insert-form-attributes.d.ts +6 -7
- package/src/lib/form/insert-form-attributes.js +5 -6
- package/src/lib/form/insert-form-internals.d.ts +11 -12
- package/src/lib/form/insert-form-internals.js +9 -10
- package/src/lib/form/insert-form-schema.d.ts +3 -4
- package/src/lib/form/insert-form-schema.js +4 -5
- package/src/lib/form/insert-form-submit.d.ts +7 -8
- package/src/lib/form/insert-form-submit.js +3 -4
- package/src/lib/form/insert-form.d.ts +6 -7
- package/src/lib/form/insert-form.js +8 -9
- package/src/lib/form/insert-select-form-tree.d.ts +2 -3
- package/src/lib/form/insert-select-form-tree.js +5 -6
- package/src/lib/form/insert-sub-form-field.d.ts +3 -4
- package/src/lib/form/insert-sub-form-field.js +6 -7
- package/src/lib/form/make-form-tree-insert.d.ts +1 -2
- package/src/lib/form/make-form-tree-insert.js +3 -4
- package/src/lib/form/target-form-field.d.ts +0 -1
- package/src/lib/form/target-form-field.js +0 -1
- package/src/lib/form/validator.d.ts +5 -6
- package/src/lib/form/validator.js +3 -4
- package/src/lib/from-event-to-source$.d.ts +2 -3
- package/src/lib/from-event-to-source$.js +3 -4
- package/src/lib/global-persister-handler.service.d.ts +1 -2
- package/src/lib/global-persister-handler.service.js +2 -3
- package/src/lib/host/craft-compat.d.ts +2 -3
- package/src/lib/host/craft-compat.js +2 -3
- package/src/lib/host/craft-dom.d.ts +0 -1
- package/src/lib/host/craft-dom.js +0 -1
- package/src/lib/host/craft-http.d.ts +0 -1
- package/src/lib/host/craft-http.js +0 -1
- package/src/lib/host/craft-injector-host.d.ts +2 -3
- package/src/lib/host/craft-injector-host.js +1 -2
- package/src/lib/host/craft-injector.d.ts +0 -1
- package/src/lib/host/craft-injector.js +0 -1
- package/src/lib/host/craft-linked-signal.d.ts +1 -2
- package/src/lib/host/craft-linked-signal.js +2 -3
- package/src/lib/host/craft-router-runtime.d.ts +0 -1
- package/src/lib/host/craft-router-runtime.js +0 -1
- package/src/lib/host/craft-router-types.d.ts +1 -2
- package/src/lib/host/craft-router-types.js +1 -2
- package/src/lib/host/craft-signal.d.ts +0 -1
- package/src/lib/host/craft-signal.js +1 -2
- package/src/lib/host/craft-test-bed.d.ts +2 -3
- package/src/lib/host/craft-test-bed.js +2 -3
- package/src/lib/host-tag.d.ts +1 -2
- package/src/lib/host-tag.js +1 -2
- package/src/lib/http-server.d.ts +156 -0
- package/src/lib/http-server.js +590 -0
- package/src/lib/insert-entities.d.ts +5 -6
- package/src/lib/insert-entities.js +1 -2
- package/src/lib/insert-noop-typing-anchor.d.ts +1 -2
- package/src/lib/insert-noop-typing-anchor.js +0 -1
- package/src/lib/insert-pagination-placeholder-data.d.ts +5 -6
- package/src/lib/insert-pagination-placeholder-data.js +5 -6
- package/src/lib/insert-react-on-mutation.d.ts +5 -6
- package/src/lib/insert-react-on-mutation.js +2 -3
- package/src/lib/insert-select-resource.d.ts +2 -3
- package/src/lib/insert-select-resource.js +1 -2
- package/src/lib/insert-select.d.ts +5 -6
- package/src/lib/insert-select.js +18 -19
- package/src/lib/insert-storage-persister.d.ts +4 -5
- package/src/lib/insert-storage-persister.js +2 -3
- package/src/lib/insert-typed-pipes.d.ts +3 -4
- package/src/lib/insert-typed-pipes.js +2 -3
- package/src/lib/lambda-adapter.d.ts +52 -0
- package/src/lib/lambda-adapter.js +101 -0
- package/src/lib/linked-source.d.ts +3 -4
- package/src/lib/linked-source.js +2 -3
- package/src/lib/local-storage-persister.d.ts +2 -3
- package/src/lib/local-storage-persister.js +3 -4
- package/src/lib/middleware-schema-shared.d.ts +9 -21
- package/src/lib/middleware-schema-shared.js +6 -1
- package/src/lib/mock-http-request-for-route.d.ts +3 -4
- package/src/lib/mock-http-request-for-route.js +0 -1
- package/src/lib/mutation.d.ts +18 -19
- package/src/lib/mutation.js +23 -24
- package/src/lib/on$.d.ts +6 -7
- package/src/lib/on$.js +4 -5
- package/src/lib/portable-server-function.d.ts +8 -9
- package/src/lib/portable-server-function.js +12 -5
- package/src/lib/preserved-resource.d.ts +2 -3
- package/src/lib/preserved-resource.js +4 -5
- package/src/lib/primitive-method-runtime-context.d.ts +1 -2
- package/src/lib/primitive-method-runtime-context.js +2 -3
- package/src/lib/primitive-resource-runtime-context.d.ts +1 -2
- package/src/lib/primitive-resource-runtime-context.js +2 -3
- package/src/lib/query-params.d.ts +12 -13
- package/src/lib/query-params.js +15 -16
- package/src/lib/query.core.d.ts +15 -14
- package/src/lib/query.core.js +1 -2
- package/src/lib/query.d.ts +19 -20
- package/src/lib/query.js +23 -24
- package/src/lib/reactive-read.d.ts +2 -3
- package/src/lib/reactive-read.js +2 -3
- package/src/lib/render/channels.d.ts +130 -0
- package/src/lib/render/channels.js +0 -0
- package/src/lib/resource-by-id.d.ts +4 -5
- package/src/lib/resource-by-id.js +4 -5
- package/src/lib/resource-exception.d.ts +2 -3
- package/src/lib/resource-exception.js +1 -2
- package/src/lib/route-checked-di.d.ts +4 -5
- package/src/lib/route-checked-di.js +0 -1
- package/src/lib/schema-validation.d.ts +4 -5
- package/src/lib/schema-validation.js +2 -3
- package/src/lib/send-context-to-ai.d.ts +3 -4
- package/src/lib/send-context-to-ai.js +1 -2
- package/src/lib/send-context-to-ai.tokens.d.ts +1 -2
- package/src/lib/send-context-to-ai.tokens.js +0 -1
- package/src/lib/server-function-client.d.ts +18 -7
- package/src/lib/server-function-client.js +31 -9
- package/src/lib/server-function-contract.d.ts +1 -2
- package/src/lib/server-function-contract.js +0 -1
- package/src/lib/server-function-middleware.d.ts +49 -132
- package/src/lib/server-function-middleware.js +83 -103
- package/src/lib/server-function.d.ts +58 -8
- package/src/lib/server-function.js +20 -6
- package/src/lib/server-layer.d.ts +3 -4
- package/src/lib/server-layer.js +1 -2
- package/src/lib/server.d.ts +39 -6
- package/src/lib/server.js +259 -27
- package/src/lib/setup-craft-service-test.d.ts +3 -4
- package/src/lib/setup-craft-service-test.js +6 -7
- package/src/lib/setup-craft-service-testing-by-register.d.ts +4 -5
- package/src/lib/setup-craft-service-testing-by-register.js +4 -5
- package/src/lib/signal-proxy.d.ts +2 -3
- package/src/lib/signal-proxy.js +1 -2
- package/src/lib/signal-source.d.ts +3 -4
- package/src/lib/signal-source.js +7 -8
- package/src/lib/source$.d.ts +3 -4
- package/src/lib/source$.js +7 -8
- package/src/lib/source-from-event.d.ts +2 -3
- package/src/lib/source-from-event.js +2 -3
- package/src/lib/stacked-source.d.ts +1 -2
- package/src/lib/stacked-source.js +1 -2
- package/src/lib/standard-schema.d.ts +0 -1
- package/src/lib/standard-schema.js +0 -1
- package/src/lib/state-method-runtime-context.d.ts +2 -3
- package/src/lib/state-method-runtime-context.js +1 -2
- package/src/lib/state.d.ts +13 -14
- package/src/lib/state.js +17 -18
- package/src/lib/storage-persister.service.d.ts +3 -4
- package/src/lib/storage-persister.service.js +3 -4
- package/src/lib/take-app-snapshot.d.ts +1 -2
- package/src/lib/take-app-snapshot.js +10 -4
- package/src/lib/template-trace.d.ts +1 -2
- package/src/lib/template-trace.js +5 -2
- package/src/lib/temporal-runtime.d.ts +1 -2
- package/src/lib/temporal-runtime.js +1 -2
- package/src/lib/to-source.d.ts +3 -4
- package/src/lib/to-source.js +2 -3
- package/src/lib/util/craft-resource-ref.d.ts +2 -3
- package/src/lib/util/craft-resource-ref.js +0 -1
- package/src/lib/util/craft-resource-status.d.ts +1 -2
- package/src/lib/util/craft-resource-status.js +0 -1
- package/src/lib/util/entities-util.d.ts +0 -1
- package/src/lib/util/entities-util.js +0 -1
- package/src/lib/util/explicit-effect.d.ts +1 -2
- package/src/lib/util/explicit-effect.js +1 -2
- package/src/lib/util/extract-signal-props-and-methods.d.ts +2 -3
- package/src/lib/util/extract-signal-props-and-methods.js +0 -1
- package/src/lib/util/method-trigger-nonce.d.ts +1 -2
- package/src/lib/util/method-trigger-nonce.js +0 -1
- package/src/lib/util/persister.type.d.ts +2 -3
- package/src/lib/util/persister.type.js +0 -1
- package/src/lib/util/persister.util.d.ts +0 -1
- package/src/lib/util/persister.util.js +0 -1
- package/src/lib/util/react-on-mutation-effect.d.ts +5 -6
- package/src/lib/util/react-on-mutation-effect.js +4 -5
- package/src/lib/util/resource-by-id-changes-tracker.util.d.ts +2 -3
- package/src/lib/util/resource-by-id-changes-tracker.util.js +2 -3
- package/src/lib/util/source.type.d.ts +2 -3
- package/src/lib/util/source.type.js +0 -1
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts +1 -2
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js +0 -1
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts +4 -5
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js +0 -1
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts +3 -4
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js +0 -1
- package/src/lib/util/types/brand.d.ts +0 -1
- package/src/lib/util/types/brand.js +0 -1
- package/src/lib/util/types/object-deep-path-mapper.type.d.ts +1 -2
- package/src/lib/util/types/object-deep-path-mapper.type.js +0 -1
- package/src/lib/util/types/resource-by-id-config.type.d.ts +3 -4
- package/src/lib/util/types/resource-by-id-config.type.js +0 -1
- package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts +2 -3
- package/src/lib/util/types/resource-with-params-or-params-fn.type.js +0 -1
- package/src/lib/util/types/shared.type.d.ts +6 -7
- package/src/lib/util/types/shared.type.js +0 -1
- package/src/lib/util/types/util.d.ts +2 -3
- package/src/lib/util/types/util.js +3 -3
- package/src/lib/util/types/util.type.d.ts +3 -4
- package/src/lib/util/types/util.type.js +0 -1
- package/src/lib/util/update-state.util.d.ts +0 -1
- package/src/lib/util/update-state.util.js +0 -1
- package/src/lib/util/util.d.ts +2 -3
- package/src/lib/util/util.js +1 -2
- package/src/lib/util/util.type.d.ts +5 -6
- package/src/lib/util/util.type.js +0 -1
- package/src/lib/worker-adapter.d.ts +8 -0
- package/src/lib/worker-adapter.js +8 -0
- package/src/lib/yieldable.d.ts +4 -5
- package/src/lib/yieldable.js +4 -5
- package/src/index.d.ts.map +0 -1
- package/src/index.js.map +0 -1
- package/src/lib/after-recomputation.d.ts.map +0 -1
- package/src/lib/after-recomputation.js.map +0 -1
- package/src/lib/app-checked-di.d.ts.map +0 -1
- package/src/lib/app-checked-di.js.map +0 -1
- package/src/lib/async-process.d.ts.map +0 -1
- package/src/lib/async-process.js.map +0 -1
- package/src/lib/branded-component/branded-component.d.ts.map +0 -1
- package/src/lib/branded-component/branded-component.js.map +0 -1
- package/src/lib/browser-boundaries.d.ts.map +0 -1
- package/src/lib/browser-boundaries.js.map +0 -1
- package/src/lib/client-di-requirement.d.ts.map +0 -1
- package/src/lib/client-di-requirement.js.map +0 -1
- package/src/lib/client-function-middleware.d.ts.map +0 -1
- package/src/lib/client-function-middleware.js.map +0 -1
- package/src/lib/component-monitoring.d.ts.map +0 -1
- package/src/lib/component-monitoring.js.map +0 -1
- package/src/lib/component-register.d.ts.map +0 -1
- package/src/lib/component-register.js.map +0 -1
- package/src/lib/computed-source.d.ts.map +0 -1
- package/src/lib/computed-source.js.map +0 -1
- package/src/lib/correlation-id-plugin.d.ts.map +0 -1
- package/src/lib/correlation-id-plugin.js.map +0 -1
- package/src/lib/correlation-id.d.ts.map +0 -1
- package/src/lib/correlation-id.js.map +0 -1
- package/src/lib/craft-a11y.d.ts.map +0 -1
- package/src/lib/craft-a11y.js.map +0 -1
- package/src/lib/craft-activated-route.d.ts.map +0 -1
- package/src/lib/craft-activated-route.js.map +0 -1
- package/src/lib/craft-app-config.d.ts.map +0 -1
- package/src/lib/craft-app-config.js.map +0 -1
- package/src/lib/craft-codec.d.ts.map +0 -1
- package/src/lib/craft-codec.js.map +0 -1
- package/src/lib/craft-computed.d.ts.map +0 -1
- package/src/lib/craft-computed.js.map +0 -1
- package/src/lib/craft-control-flow.d.ts.map +0 -1
- package/src/lib/craft-control-flow.js.map +0 -1
- package/src/lib/craft-effect.d.ts.map +0 -1
- package/src/lib/craft-effect.js.map +0 -1
- package/src/lib/craft-exception.d.ts.map +0 -1
- package/src/lib/craft-exception.js.map +0 -1
- package/src/lib/craft-gen.d.ts.map +0 -1
- package/src/lib/craft-gen.js.map +0 -1
- package/src/lib/craft-generator-runtime.d.ts.map +0 -1
- package/src/lib/craft-generator-runtime.js.map +0 -1
- package/src/lib/craft-guard-runtime.d.ts.map +0 -1
- package/src/lib/craft-guard-runtime.js.map +0 -1
- package/src/lib/craft-handshake.d.ts.map +0 -1
- package/src/lib/craft-handshake.js.map +0 -1
- package/src/lib/craft-http-client.d.ts.map +0 -1
- package/src/lib/craft-http-client.js.map +0 -1
- package/src/lib/craft-http-trace.d.ts.map +0 -1
- package/src/lib/craft-http-trace.js.map +0 -1
- package/src/lib/craft-lazy.d.ts.map +0 -1
- package/src/lib/craft-lazy.js.map +0 -1
- package/src/lib/craft-load-retry.d.ts.map +0 -1
- package/src/lib/craft-load-retry.js.map +0 -1
- package/src/lib/craft-machine-history.d.ts.map +0 -1
- package/src/lib/craft-machine-history.js.map +0 -1
- package/src/lib/craft-match.d.ts.map +0 -1
- package/src/lib/craft-match.js.map +0 -1
- package/src/lib/craft-method.d.ts.map +0 -1
- package/src/lib/craft-method.js.map +0 -1
- package/src/lib/craft-node-directive.d.ts.map +0 -1
- package/src/lib/craft-node-directive.js.map +0 -1
- package/src/lib/craft-pending.d.ts.map +0 -1
- package/src/lib/craft-pending.js.map +0 -1
- package/src/lib/craft-pipe.d.ts.map +0 -1
- package/src/lib/craft-pipe.js.map +0 -1
- package/src/lib/craft-platform.d.ts.map +0 -1
- package/src/lib/craft-platform.js.map +0 -1
- package/src/lib/craft-primitive-gen.d.ts.map +0 -1
- package/src/lib/craft-primitive-gen.js.map +0 -1
- package/src/lib/craft-primitive-registry.d.ts.map +0 -1
- package/src/lib/craft-primitive-registry.js.map +0 -1
- package/src/lib/craft-program-operators.d.ts.map +0 -1
- package/src/lib/craft-program-operators.js.map +0 -1
- package/src/lib/craft-program-runtime.d.ts.map +0 -1
- package/src/lib/craft-program-runtime.js.map +0 -1
- package/src/lib/craft-register-for-runtime.d.ts.map +0 -1
- package/src/lib/craft-register-for-runtime.js.map +0 -1
- package/src/lib/craft-register-for.d.ts.map +0 -1
- package/src/lib/craft-register-for.js.map +0 -1
- package/src/lib/craft-render-identity.d.ts.map +0 -1
- package/src/lib/craft-render-identity.js.map +0 -1
- package/src/lib/craft-replay.d.ts.map +0 -1
- package/src/lib/craft-replay.js.map +0 -1
- package/src/lib/craft-resolve.d.ts.map +0 -1
- package/src/lib/craft-resolve.js.map +0 -1
- package/src/lib/craft-resource.d.ts.map +0 -1
- package/src/lib/craft-resource.js.map +0 -1
- package/src/lib/craft-route-exceptions.d.ts.map +0 -1
- package/src/lib/craft-route-exceptions.js.map +0 -1
- package/src/lib/craft-route-load-error.d.ts.map +0 -1
- package/src/lib/craft-route-load-error.js.map +0 -1
- package/src/lib/craft-route-meta.d.ts.map +0 -1
- package/src/lib/craft-route-meta.js.map +0 -1
- package/src/lib/craft-route-target.d.ts.map +0 -1
- package/src/lib/craft-route-target.js.map +0 -1
- package/src/lib/craft-router-outlet.d.ts.map +0 -1
- package/src/lib/craft-router-outlet.js.map +0 -1
- package/src/lib/craft-router-tokens.d.ts.map +0 -1
- package/src/lib/craft-router-tokens.js.map +0 -1
- package/src/lib/craft-router-trace.d.ts.map +0 -1
- package/src/lib/craft-router-trace.js.map +0 -1
- package/src/lib/craft-router.d.ts.map +0 -1
- package/src/lib/craft-router.js.map +0 -1
- package/src/lib/craft-routes.d.ts.map +0 -1
- package/src/lib/craft-routes.js.map +0 -1
- package/src/lib/craft-service.d.ts.map +0 -1
- package/src/lib/craft-service.js.map +0 -1
- package/src/lib/craft-service.shared.d.ts.map +0 -1
- package/src/lib/craft-service.shared.js.map +0 -1
- package/src/lib/craft-settled.d.ts.map +0 -1
- package/src/lib/craft-settled.js.map +0 -1
- package/src/lib/craft-ssr.d.ts.map +0 -1
- package/src/lib/craft-ssr.js.map +0 -1
- package/src/lib/craft-state-machine-runtime.d.ts.map +0 -1
- package/src/lib/craft-state-machine-runtime.js.map +0 -1
- package/src/lib/craft-state-machine.d.ts.map +0 -1
- package/src/lib/craft-state-machine.js.map +0 -1
- package/src/lib/craft-target-runtime.d.ts.map +0 -1
- package/src/lib/craft-target-runtime.js.map +0 -1
- package/src/lib/craft-transfer-snapshot.d.ts.map +0 -1
- package/src/lib/craft-transfer-snapshot.js.map +0 -1
- package/src/lib/craft-unique.d.ts.map +0 -1
- package/src/lib/craft-unique.js.map +0 -1
- package/src/lib/craft-until-settled.d.ts.map +0 -1
- package/src/lib/craft-until-settled.js.map +0 -1
- package/src/lib/craft-use.d.ts.map +0 -1
- package/src/lib/craft-use.js.map +0 -1
- package/src/lib/craft-view-transition.d.ts.map +0 -1
- package/src/lib/craft-view-transition.js.map +0 -1
- package/src/lib/dom-event-hook.d.ts.map +0 -1
- package/src/lib/dom-event-hook.js.map +0 -1
- package/src/lib/fn-wrapper.d.ts.map +0 -1
- package/src/lib/fn-wrapper.js.map +0 -1
- package/src/lib/form/craft-field.d.ts.map +0 -1
- package/src/lib/form/craft-field.directive.d.ts.map +0 -1
- package/src/lib/form/craft-field.directive.js.map +0 -1
- package/src/lib/form/craft-field.js.map +0 -1
- package/src/lib/form/field-exception.d.ts.map +0 -1
- package/src/lib/form/field-exception.js.map +0 -1
- package/src/lib/form/field-lens.d.ts.map +0 -1
- package/src/lib/form/field-lens.js.map +0 -1
- package/src/lib/form/insert-form-attributes.d.ts.map +0 -1
- package/src/lib/form/insert-form-attributes.js.map +0 -1
- package/src/lib/form/insert-form-internals.d.ts.map +0 -1
- package/src/lib/form/insert-form-internals.js.map +0 -1
- package/src/lib/form/insert-form-schema.d.ts.map +0 -1
- package/src/lib/form/insert-form-schema.js.map +0 -1
- package/src/lib/form/insert-form-submit.d.ts.map +0 -1
- package/src/lib/form/insert-form-submit.js.map +0 -1
- package/src/lib/form/insert-form.d.ts.map +0 -1
- package/src/lib/form/insert-form.js.map +0 -1
- package/src/lib/form/insert-select-form-tree.d.ts.map +0 -1
- package/src/lib/form/insert-select-form-tree.js.map +0 -1
- package/src/lib/form/insert-sub-form-field.d.ts.map +0 -1
- package/src/lib/form/insert-sub-form-field.js.map +0 -1
- package/src/lib/form/make-form-tree-insert.d.ts.map +0 -1
- package/src/lib/form/make-form-tree-insert.js.map +0 -1
- package/src/lib/form/target-form-field.d.ts.map +0 -1
- package/src/lib/form/target-form-field.js.map +0 -1
- package/src/lib/form/validator.d.ts.map +0 -1
- package/src/lib/form/validator.js.map +0 -1
- package/src/lib/from-event-to-source$.d.ts.map +0 -1
- package/src/lib/from-event-to-source$.js.map +0 -1
- package/src/lib/global-persister-handler.service.d.ts.map +0 -1
- package/src/lib/global-persister-handler.service.js.map +0 -1
- package/src/lib/host/craft-compat.d.ts.map +0 -1
- package/src/lib/host/craft-compat.js.map +0 -1
- package/src/lib/host/craft-dom.d.ts.map +0 -1
- package/src/lib/host/craft-dom.js.map +0 -1
- package/src/lib/host/craft-http.d.ts.map +0 -1
- package/src/lib/host/craft-http.js.map +0 -1
- package/src/lib/host/craft-injector-host.d.ts.map +0 -1
- package/src/lib/host/craft-injector-host.js.map +0 -1
- package/src/lib/host/craft-injector.d.ts.map +0 -1
- package/src/lib/host/craft-injector.js.map +0 -1
- package/src/lib/host/craft-linked-signal.d.ts.map +0 -1
- package/src/lib/host/craft-linked-signal.js.map +0 -1
- package/src/lib/host/craft-router-runtime.d.ts.map +0 -1
- package/src/lib/host/craft-router-runtime.js.map +0 -1
- package/src/lib/host/craft-router-types.d.ts.map +0 -1
- package/src/lib/host/craft-router-types.js.map +0 -1
- package/src/lib/host/craft-signal.d.ts.map +0 -1
- package/src/lib/host/craft-signal.js.map +0 -1
- package/src/lib/host/craft-test-bed.d.ts.map +0 -1
- package/src/lib/host/craft-test-bed.js.map +0 -1
- package/src/lib/host-tag.d.ts.map +0 -1
- package/src/lib/host-tag.js.map +0 -1
- package/src/lib/insert-entities.d.ts.map +0 -1
- package/src/lib/insert-entities.js.map +0 -1
- package/src/lib/insert-noop-typing-anchor.d.ts.map +0 -1
- package/src/lib/insert-noop-typing-anchor.js.map +0 -1
- package/src/lib/insert-pagination-placeholder-data.d.ts.map +0 -1
- package/src/lib/insert-pagination-placeholder-data.js.map +0 -1
- package/src/lib/insert-react-on-mutation.d.ts.map +0 -1
- package/src/lib/insert-react-on-mutation.js.map +0 -1
- package/src/lib/insert-select-resource.d.ts.map +0 -1
- package/src/lib/insert-select-resource.js.map +0 -1
- package/src/lib/insert-select.d.ts.map +0 -1
- package/src/lib/insert-select.js.map +0 -1
- package/src/lib/insert-storage-persister.d.ts.map +0 -1
- package/src/lib/insert-storage-persister.js.map +0 -1
- package/src/lib/insert-typed-pipes.d.ts.map +0 -1
- package/src/lib/insert-typed-pipes.js.map +0 -1
- package/src/lib/linked-source.d.ts.map +0 -1
- package/src/lib/linked-source.js.map +0 -1
- package/src/lib/local-storage-persister.d.ts.map +0 -1
- package/src/lib/local-storage-persister.js.map +0 -1
- package/src/lib/middleware-schema-shared.d.ts.map +0 -1
- package/src/lib/middleware-schema-shared.js.map +0 -1
- package/src/lib/mock-http-request-for-route.d.ts.map +0 -1
- package/src/lib/mock-http-request-for-route.js.map +0 -1
- package/src/lib/mutation.d.ts.map +0 -1
- package/src/lib/mutation.js.map +0 -1
- package/src/lib/on$.d.ts.map +0 -1
- package/src/lib/on$.js.map +0 -1
- package/src/lib/portable-server-function.d.ts.map +0 -1
- package/src/lib/portable-server-function.js.map +0 -1
- package/src/lib/preserved-resource.d.ts.map +0 -1
- package/src/lib/preserved-resource.js.map +0 -1
- package/src/lib/primitive-method-runtime-context.d.ts.map +0 -1
- package/src/lib/primitive-method-runtime-context.js.map +0 -1
- package/src/lib/primitive-resource-runtime-context.d.ts.map +0 -1
- package/src/lib/primitive-resource-runtime-context.js.map +0 -1
- package/src/lib/query-params.d.ts.map +0 -1
- package/src/lib/query-params.js.map +0 -1
- package/src/lib/query.core.d.ts.map +0 -1
- package/src/lib/query.core.js.map +0 -1
- package/src/lib/query.d.ts.map +0 -1
- package/src/lib/query.js.map +0 -1
- package/src/lib/reactive-read.d.ts.map +0 -1
- package/src/lib/reactive-read.js.map +0 -1
- package/src/lib/resource-by-id.d.ts.map +0 -1
- package/src/lib/resource-by-id.js.map +0 -1
- package/src/lib/resource-exception.d.ts.map +0 -1
- package/src/lib/resource-exception.js.map +0 -1
- package/src/lib/route-checked-di.d.ts.map +0 -1
- package/src/lib/route-checked-di.js.map +0 -1
- package/src/lib/schema-validation.d.ts.map +0 -1
- package/src/lib/schema-validation.js.map +0 -1
- package/src/lib/send-context-to-ai.d.ts.map +0 -1
- package/src/lib/send-context-to-ai.js.map +0 -1
- package/src/lib/send-context-to-ai.tokens.d.ts.map +0 -1
- package/src/lib/send-context-to-ai.tokens.js.map +0 -1
- package/src/lib/server-function-client.d.ts.map +0 -1
- package/src/lib/server-function-client.js.map +0 -1
- package/src/lib/server-function-contract.d.ts.map +0 -1
- package/src/lib/server-function-contract.js.map +0 -1
- package/src/lib/server-function-middleware.d.ts.map +0 -1
- package/src/lib/server-function-middleware.js.map +0 -1
- package/src/lib/server-function.d.ts.map +0 -1
- package/src/lib/server-function.js.map +0 -1
- package/src/lib/server-layer.d.ts.map +0 -1
- package/src/lib/server-layer.js.map +0 -1
- package/src/lib/server.d.ts.map +0 -1
- package/src/lib/server.js.map +0 -1
- package/src/lib/setup-craft-service-test.d.ts.map +0 -1
- package/src/lib/setup-craft-service-test.js.map +0 -1
- package/src/lib/setup-craft-service-testing-by-register.d.ts.map +0 -1
- package/src/lib/setup-craft-service-testing-by-register.js.map +0 -1
- package/src/lib/signal-proxy.d.ts.map +0 -1
- package/src/lib/signal-proxy.js.map +0 -1
- package/src/lib/signal-source.d.ts.map +0 -1
- package/src/lib/signal-source.js.map +0 -1
- package/src/lib/source$.d.ts.map +0 -1
- package/src/lib/source$.js.map +0 -1
- package/src/lib/source-from-event.d.ts.map +0 -1
- package/src/lib/source-from-event.js.map +0 -1
- package/src/lib/stacked-source.d.ts.map +0 -1
- package/src/lib/stacked-source.js.map +0 -1
- package/src/lib/standard-schema.d.ts.map +0 -1
- package/src/lib/standard-schema.js.map +0 -1
- package/src/lib/state-method-runtime-context.d.ts.map +0 -1
- package/src/lib/state-method-runtime-context.js.map +0 -1
- package/src/lib/state.d.ts.map +0 -1
- package/src/lib/state.js.map +0 -1
- package/src/lib/storage-persister.service.d.ts.map +0 -1
- package/src/lib/storage-persister.service.js.map +0 -1
- package/src/lib/take-app-snapshot.d.ts.map +0 -1
- package/src/lib/take-app-snapshot.js.map +0 -1
- package/src/lib/template-trace.d.ts.map +0 -1
- package/src/lib/template-trace.js.map +0 -1
- package/src/lib/temporal-runtime.d.ts.map +0 -1
- package/src/lib/temporal-runtime.js.map +0 -1
- package/src/lib/to-source.d.ts.map +0 -1
- package/src/lib/to-source.js.map +0 -1
- package/src/lib/util/craft-resource-ref.d.ts.map +0 -1
- package/src/lib/util/craft-resource-ref.js.map +0 -1
- package/src/lib/util/craft-resource-status.d.ts.map +0 -1
- package/src/lib/util/craft-resource-status.js.map +0 -1
- package/src/lib/util/entities-util.d.ts.map +0 -1
- package/src/lib/util/entities-util.js.map +0 -1
- package/src/lib/util/explicit-effect.d.ts.map +0 -1
- package/src/lib/util/explicit-effect.js.map +0 -1
- package/src/lib/util/extract-signal-props-and-methods.d.ts.map +0 -1
- package/src/lib/util/extract-signal-props-and-methods.js.map +0 -1
- package/src/lib/util/method-trigger-nonce.d.ts.map +0 -1
- package/src/lib/util/method-trigger-nonce.js.map +0 -1
- package/src/lib/util/persister.type.d.ts.map +0 -1
- package/src/lib/util/persister.type.js.map +0 -1
- package/src/lib/util/persister.util.d.ts.map +0 -1
- package/src/lib/util/persister.util.js.map +0 -1
- package/src/lib/util/react-on-mutation-effect.d.ts.map +0 -1
- package/src/lib/util/react-on-mutation-effect.js.map +0 -1
- package/src/lib/util/resource-by-id-changes-tracker.util.d.ts.map +0 -1
- package/src/lib/util/resource-by-id-changes-tracker.util.js.map +0 -1
- package/src/lib/util/source.type.d.ts.map +0 -1
- package/src/lib/util/source.type.js.map +0 -1
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts.map +0 -1
- package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js.map +0 -1
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts.map +0 -1
- package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js.map +0 -1
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts.map +0 -1
- package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js.map +0 -1
- package/src/lib/util/types/brand.d.ts.map +0 -1
- package/src/lib/util/types/brand.js.map +0 -1
- package/src/lib/util/types/object-deep-path-mapper.type.d.ts.map +0 -1
- package/src/lib/util/types/object-deep-path-mapper.type.js.map +0 -1
- package/src/lib/util/types/resource-by-id-config.type.d.ts.map +0 -1
- package/src/lib/util/types/resource-by-id-config.type.js.map +0 -1
- package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts.map +0 -1
- package/src/lib/util/types/resource-with-params-or-params-fn.type.js.map +0 -1
- package/src/lib/util/types/shared.type.d.ts.map +0 -1
- package/src/lib/util/types/shared.type.js.map +0 -1
- package/src/lib/util/types/util.d.ts.map +0 -1
- package/src/lib/util/types/util.js.map +0 -1
- package/src/lib/util/types/util.type.d.ts.map +0 -1
- package/src/lib/util/types/util.type.js.map +0 -1
- package/src/lib/util/update-state.util.d.ts.map +0 -1
- package/src/lib/util/update-state.util.js.map +0 -1
- package/src/lib/util/util.d.ts.map +0 -1
- package/src/lib/util/util.js.map +0 -1
- package/src/lib/util/util.type.d.ts.map +0 -1
- package/src/lib/util/util.type.js.map +0 -1
- package/src/lib/yieldable.d.ts.map +0 -1
- package/src/lib/yieldable.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.core.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/query.core.ts"],"names":[],"mappings":"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","sourcesContent":["import { Signal, WritableSignal } from './host/craft-compat';\nimport { CraftResourceStatus } from './util/craft-resource-status';\nimport {\n CustomReloadOnSpecificMutationStatus,\n FilterQueryById,\n PatchQueryFn,\n PatchMutationQuery,\n QueryAndMutationRecordConstraints,\n ReloadQueriesConfig,\n} from './util/types/shared.type';\nimport { ResourceByIdRef } from './resource-by-id';\nimport {\n getNestedStateValue,\n createNestedStateUpdate,\n} from './util/update-state.util';\nimport { MergeObjects } from './util//types/util.type';\nimport {\n ResourceByIdLikeMutationRef,\n ResourceLikeMutationRef,\n} from './mutation';\nimport { CraftResourceRef } from './util/craft-resource-ref';\nimport { QueryParamsExceptions, QueryParamsToState } from './query-params';\nimport { Prettify } from './util/util.type';\nimport { InsertMetaInCraftExceptionIfExists } from './craft-exception';\nimport type {\n YieldableInsertionMethods,\n YieldableInvocation,\n} from './yieldable';\nimport type {\n DeepYieldableReactiveValue,\n YieldableReactiveProperties,\n YieldableReactiveSignal,\n YieldableReactiveValue,\n} from './reactive-read';\nimport type { CraftSettledYieldableValue } from './craft-settled';\n\nexport interface QueryParamsNavigationOptions {\n queryParamsHandling?: 'merge' | 'preserve' | '';\n onSameUrlNavigation?: 'reload' | 'ignore';\n replaceUrl?: boolean;\n skipLocationChange?: boolean;\n}\n\nexport type MutationResourceRefHelper<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n> = ResourceLikeMutationRef<\n QueryAndMutationRecord['mutation']['state'],\n QueryAndMutationRecord['mutation']['params'],\n QueryAndMutationRecord['mutation']['isMethod'],\n QueryAndMutationRecord['mutation']['args'],\n QueryAndMutationRecord['mutation']['sourceParams'],\n QueryAndMutationRecord['mutation']['insertions'],\n QueryAndMutationRecord['mutation']['exceptions']\n>;\n\nexport type MutationResourceByIdRefHelper<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n> = ResourceByIdLikeMutationRef<\n QueryAndMutationRecord['mutation']['state'],\n QueryAndMutationRecord['mutation']['params'],\n QueryAndMutationRecord['mutation']['isMethod'],\n QueryAndMutationRecord['mutation']['args'],\n QueryAndMutationRecord['mutation']['sourceParams'],\n QueryAndMutationRecord['mutation']['insertions'],\n QueryAndMutationRecord['mutation']['groupIdentifier'],\n QueryAndMutationRecord['mutation']['exceptions']\n>;\n\ntype UpdateData<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n> = MergeObjects<\n [\n {\n queryResource: CraftResourceRef<\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n mutationResource: CraftResourceRef<\n NoInfer<QueryAndMutationRecord['mutation']['state']>,\n NoInfer<QueryAndMutationRecord['mutation']['params']>\n >;\n mutationParams: NonNullable<\n NoInfer<QueryAndMutationRecord['mutation']['params']>\n >;\n },\n QueryAndMutationRecord['query']['isGroupedResource'] extends true\n ? {\n queryIdentifier: QueryAndMutationRecord['query']['groupIdentifier'];\n queryResources: ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n }\n : {},\n QueryAndMutationRecord['mutation']['groupIdentifier'] extends\n | string\n | number\n ? {\n mutationIdentifier: QueryAndMutationRecord['mutation']['groupIdentifier'];\n mutationResources: ResourceByIdRef<\n string,\n QueryAndMutationRecord['mutation']['state'],\n QueryAndMutationRecord['mutation']['params']\n >;\n }\n : {},\n ]\n>;\n\nexport type QueryDeclarativeEffect<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n> = MergeObjects<\n [\n {\n /**\n * Run when the mutation is in loading state.\n */\n optimisticUpdate?: (\n data: UpdateData<QueryAndMutationRecord>,\n ) => QueryAndMutationRecord['query']['state'];\n /**\n * Run when the mutation is in loaded state.\n */\n update?: (\n data: UpdateData<QueryAndMutationRecord>,\n ) => QueryAndMutationRecord['query']['state'];\n reload?: ReloadQueriesConfig<QueryAndMutationRecord>;\n /**\n * Run when the mutation is in loading state.\n * Will patch the query specific state with the mutation data.\n * If the query is loading, it will not patch.\n * If the mutation data is not compatible with the query state, it will not patch.\n * Be careful! If the mutation is already in a loading state, trigger the mutation again will cancelled the previous mutation loader and will patch with the new value.\n */\n optimisticPatch?: PatchMutationQuery<QueryAndMutationRecord>;\n /**\n * Run when the mutation is in loaded state.\n * Will patch the query specific state with the mutation data.\n * If the query is loading, it will not patch.\n * If the mutation data is not compatible with the query state, it will not patch.\n * Be careful! If the mutation is already in a loading state, trigger the mutation again will cancelled the previous mutation loader and will patch with the new value.\n */\n patch?: PatchMutationQuery<QueryAndMutationRecord>;\n },\n QueryAndMutationRecord['mutation']['isGroupedResource'] extends true\n ? {\n filter: FilterQueryById<QueryAndMutationRecord>;\n }\n : QueryAndMutationRecord['query']['isGroupedResource'] extends true\n ? {\n filter: FilterQueryById<QueryAndMutationRecord>;\n }\n : {},\n ]\n>;\n\nexport function triggerQueryReloadFromMutationChange<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n>({\n reload,\n mutationStatus,\n queryResource,\n mutationResource,\n mutationParamsSrc,\n queryIdentifier,\n queryResources,\n mutationIdentifier,\n mutationResources,\n}: {\n reload: ReloadQueriesConfig<QueryAndMutationRecord>;\n mutationStatus: string;\n queryResource: CraftResourceRef<\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n queryResources:\n | ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >\n | undefined;\n mutationResource: CraftResourceRef<any, any>;\n mutationParamsSrc: Signal<\n QueryAndMutationRecord['mutation']['params'] | undefined\n >;\n queryIdentifier: QueryAndMutationRecord['query']['groupIdentifier'];\n mutationIdentifier: QueryAndMutationRecord['mutation']['groupIdentifier'];\n mutationResources: ResourceByIdRef<string, any, unknown> | undefined;\n}) {\n const statusMappings = {\n onMutationException: 'exception',\n onMutationResolved: 'resolved',\n onMutationLoading: 'loading',\n };\n\n Object.entries(reload).forEach(([reloadType, reloadConfig]) => {\n const expectedStatus =\n statusMappings[reloadType as keyof typeof statusMappings];\n\n if (expectedStatus && mutationStatus === expectedStatus) {\n if (typeof reloadConfig === 'function') {\n if (\n reloadConfig({\n queryResource,\n mutationResource,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n queryIdentifier,\n mutationIdentifier,\n mutationResources,\n queryResources,\n })\n ) {\n queryResource.reload();\n }\n } else if (reloadConfig) {\n queryResource.reload();\n }\n }\n });\n}\n\nexport function triggerQueryReloadOnMutationStatusChange<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n>({\n mutationStatus,\n queryResourceTarget,\n mutationEffectOptions,\n mutationResource,\n mutationParamsSrc,\n reloadCConfig,\n mutationIdentifier,\n mutationResources,\n}: {\n mutationStatus: string;\n queryResourceTarget:\n | ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >\n | CraftResourceRef<\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n mutationEffectOptions: QueryDeclarativeEffect<QueryAndMutationRecord>;\n mutationResource: CraftResourceRef<any, any>;\n mutationParamsSrc: Signal<QueryAndMutationRecord['mutation']['params']>;\n reloadCConfig: {\n onMutationException?:\n | boolean\n | CustomReloadOnSpecificMutationStatus<QueryAndMutationRecord>;\n onMutationResolved?:\n | boolean\n | CustomReloadOnSpecificMutationStatus<QueryAndMutationRecord>;\n onMutationLoading?:\n | boolean\n | CustomReloadOnSpecificMutationStatus<QueryAndMutationRecord>;\n };\n mutationIdentifier:\n | QueryAndMutationRecord['mutation']['groupIdentifier']\n | undefined;\n mutationResources:\n | ResourceByIdRef<\n string,\n QueryAndMutationRecord['mutation']['state'],\n QueryAndMutationRecord['mutation']['params']\n >\n | undefined;\n}) {\n if (\n (\n ['exception', 'loading', 'resolved'] satisfies CraftResourceStatus[]\n ).includes(mutationStatus as any)\n ) {\n if ('hasValue' in queryResourceTarget) {\n const queryResource = queryResourceTarget;\n triggerQueryReloadFromMutationChange({\n reload: reloadCConfig,\n mutationStatus,\n queryResource,\n mutationResource,\n mutationParamsSrc,\n queryIdentifier: undefined,\n mutationIdentifier,\n mutationResources,\n queryResources: undefined,\n });\n return;\n }\n const queryResourcesById = queryResourceTarget as ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n Object.entries(\n queryResourcesById() as Record<string, CraftResourceRef<any, any>>,\n )\n .filter(([queryIdentifier, queryResource]) => {\n return (\n mutationEffectOptions as {\n filter: FilterQueryById<QueryAndMutationRecord>;\n }\n ).filter({\n queryResource,\n mutationResource,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n queryIdentifier,\n queryResources: queryResourceTarget,\n mutationIdentifier,\n mutationResources,\n } as any);\n })\n .forEach(([queryIdentifier, queryResource]) => {\n triggerQueryReloadFromMutationChange({\n reload: reloadCConfig,\n mutationStatus,\n queryResource,\n mutationResource,\n mutationParamsSrc,\n queryIdentifier,\n mutationIdentifier,\n mutationResources,\n queryResources: queryResourceTarget,\n });\n });\n }\n}\n\nexport function setAllPatchFromMutationOnQueryValue<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n>({\n mutationStatus,\n queryResourceTarget,\n mutationEffectOptions,\n mutationResource,\n mutationParamsSrc,\n mutationIdentifier,\n mutationResources,\n}: {\n mutationStatus: string;\n queryResourceTarget:\n | ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >\n | CraftResourceRef<\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n mutationEffectOptions: QueryDeclarativeEffect<QueryAndMutationRecord>;\n mutationResource: CraftResourceRef<any, any>;\n mutationParamsSrc: Signal<QueryAndMutationRecord['mutation']['params']>;\n mutationIdentifier:\n | QueryAndMutationRecord['mutation']['groupIdentifier']\n | undefined;\n mutationResources:\n | MutationResourceByIdRefHelper<QueryAndMutationRecord>\n | undefined;\n}) {\n if (mutationStatus !== 'loading' && mutationStatus !== 'resolved') {\n return;\n }\n const patchTarget =\n mutationStatus === 'loading'\n ? mutationEffectOptions.optimisticPatch\n : mutationEffectOptions.patch;\n if (!patchTarget) {\n return;\n }\n if ('hasValue' in queryResourceTarget) {\n const queryResource = queryResourceTarget;\n Object.entries(\n patchTarget as Record<string, PatchQueryFn<any, any>>,\n ).forEach(([path, optimisticPatch]) => {\n const queryValue = queryResource.hasValue()\n ? queryResource.value()\n : undefined;\n const optimisticValue = optimisticPatch({\n mutationResource,\n queryResource,\n //@ts-expect-error queryResources is intentionally absent for a single-resource patch.\n queryResources: undefined,\n queryIdentifier: undefined,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n targetedState: getNestedStateValue({\n state: queryValue,\n keysPath: path.split('.'),\n }),\n mutationIdentifier,\n //@ts-expect-error mutationResources is intentionally absent for a single-resource patch.\n mutationResources,\n });\n const updatedValue = createNestedStateUpdate({\n state: queryValue,\n keysPath: path.split('.'),\n value: optimisticValue,\n });\n queryResource.set(updatedValue);\n });\n return;\n }\n const queryResourcesById = queryResourceTarget as ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n Object.entries(\n queryResourcesById() as Record<string, CraftResourceRef<any, any>>,\n )\n .filter(([queryIdentifier, queryResource]) =>\n (\n mutationEffectOptions as {\n filter: FilterQueryById<QueryAndMutationRecord>;\n }\n ).filter({\n queryResource,\n mutationResource,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n queryIdentifier,\n queryResources: queryResourcesById,\n mutationIdentifier,\n mutationResources,\n } as any),\n )\n .forEach(([queryIdentifier, queryResource]) => {\n Object.entries(\n patchTarget as Record<string, PatchQueryFn<any, any>>,\n ).forEach(([path, patch]) => {\n const queryValue = queryResource.hasValue()\n ? queryResource.value()\n : undefined;\n const optimisticValue = patch({\n mutationResource,\n queryResource,\n queryResources: queryResourcesById,\n queryIdentifier,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n targetedState: getNestedStateValue({\n state: queryValue,\n keysPath: path.split('.'),\n }),\n mutationIdentifier,\n //@ts-expect-error mutationResources is intentionally absent for a resource-by-id patch.\n mutationResources,\n });\n const updatedValue = createNestedStateUpdate({\n state: queryValue,\n keysPath: path.split('.'),\n value: optimisticValue,\n });\n queryResource.set(updatedValue);\n });\n });\n}\n\nexport function setAllUpdatesFromMutationOnQueryValue<\n QueryAndMutationRecord extends QueryAndMutationRecordConstraints,\n>({\n mutationStatus,\n queryResourceTarget,\n mutationEffectOptions,\n mutationResource,\n mutationParamsSrc,\n mutationIdentifier,\n mutationResources,\n}: {\n mutationStatus: string;\n queryResourceTarget:\n | ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >\n | CraftResourceRef<\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n mutationEffectOptions: QueryDeclarativeEffect<QueryAndMutationRecord>;\n mutationResource: CraftResourceRef<any, any> | undefined;\n mutationParamsSrc: Signal<QueryAndMutationRecord['mutation']['params']>;\n mutationIdentifier:\n | QueryAndMutationRecord['mutation']['groupIdentifier']\n | undefined;\n mutationResources:\n | ResourceByIdRef<\n string,\n QueryAndMutationRecord['mutation']['state'],\n QueryAndMutationRecord['mutation']['params']\n >\n | undefined;\n}) {\n if (mutationStatus !== 'loading' && mutationStatus !== 'resolved') {\n return;\n }\n const updateTarget =\n mutationStatus === 'loading'\n ? mutationEffectOptions.optimisticUpdate\n : mutationEffectOptions.update;\n if (!updateTarget) {\n return;\n }\n\n if ('hasValue' in queryResourceTarget) {\n const queryResource = queryResourceTarget;\n const updatedValue = updateTarget({\n queryResource,\n mutationResource,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n queryIdentifier: undefined,\n queryResources: undefined,\n mutationIdentifier,\n mutationResources,\n } as any);\n queryResource.set(updatedValue);\n return;\n }\n const queryResourceById = queryResourceTarget as ResourceByIdRef<\n string,\n QueryAndMutationRecord['query']['state'],\n QueryAndMutationRecord['query']['params']\n >;\n Object.entries(\n queryResourceById() as Record<string, CraftResourceRef<any, any>>,\n )\n .filter(([queryIdentifier, queryResource]) =>\n (\n mutationEffectOptions as {\n filter: FilterQueryById<QueryAndMutationRecord>;\n }\n ).filter({\n queryResource,\n mutationResource,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n queryIdentifier,\n queryResources: queryResourceTarget,\n mutationIdentifier,\n mutationResources,\n } as any),\n )\n .forEach(([queryIdentifier, queryResource]) => {\n const updatedValue = updateTarget({\n queryResource,\n mutationResource,\n //@ts-expect-error the mutationParamsSrc depends if fromResourceById is used, this typing part can be improved\n mutationParams: mutationParamsSrc(mutationResource),\n queryIdentifier,\n queryResources: queryResourceTarget,\n mutationIdentifier,\n mutationResources,\n } as any);\n queryResource.set(updatedValue);\n });\n}\n\nexport type ResourceExceptionConstraints = {\n params: unknown;\n loader: unknown;\n};\n\n/**\n * A mutation exposed to insertion factories.\n *\n * The authored contract is an invocation consumed with `yield*`. The\n * synchronous mutation itself remains internal to the primitive runtime; the\n * returned invocation is what insertion methods expose to callers.\n */\nexport type YieldableInsertionWrite<Args extends unknown[], Result> = {\n (...args: Args): YieldableInvocation<never, Result>;\n};\n\nexport type InsertionParams<\n ResourceState extends object | undefined,\n ResourceParams,\n Exceptions extends ResourceExceptionConstraints,\n PreviousInsertionsOutputs,\n PrimitiveName extends string = string,\n> = {\n test: ResourceState;\n state: YieldableReactiveValue<ResourceState, 'state'>;\n settledState: CraftSettledYieldableValue<\n NonNullable<ResourceState>,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n >;\n set: YieldableInsertionWrite<[newState: ResourceState], ResourceState>;\n update: YieldableInsertionWrite<[\n updateFn: (currentState: ResourceState) => ResourceState,\n ], ResourceState>;\n patch: YieldableInsertionWrite<[\n patchFn: (currentState: ResourceState) => Partial<ResourceState>,\n ], ResourceState>;\n insertions: keyof PreviousInsertionsOutputs extends string\n ? YieldableInsertionMethods<PreviousInsertionsOutputs>\n : never;\n resource: YieldableReactiveProperties<\n CraftResourceRef<ResourceState, ResourceParams>\n >;\n resourceParamsSrc: YieldableReactiveSignal<\n WritableSignal<ResourceParams | undefined>,\n 'resourceParamsSrc'\n >;\n hasException: YieldableReactiveValue<boolean, 'hasException'>;\n exceptions: DeepYieldableReactiveValue<\n {\n list: (\n | InsertMetaInCraftExceptionIfExists<\n Exceptions['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n Exceptions['loader'],\n 'loader',\n unknown\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n Exceptions['params'],\n 'params',\n unknown\n >;\n loader?: InsertMetaInCraftExceptionIfExists<\n Exceptions['loader'],\n 'loader',\n unknown\n >;\n },\n 'exceptions'\n >;\n // 👇 Keeps optional insertion dependencies from widening the query contract.\n resourceById: never;\n identifier: never;\n};\n\nexport type InsertionsFactory<\n ResourceState extends object | undefined,\n ResourceParams,\n InsertsOutputs,\n Exceptions extends ResourceExceptionConstraints,\n PreviousInsertionsOutputs = {},\n Yielded = never,\n PrimitiveName extends string = string,\n> = (\n context: InsertionParams<\n ResourceState,\n ResourceParams,\n Exceptions,\n PreviousInsertionsOutputs,\n PrimitiveName\n >,\n) => InsertsOutputs | Generator<Yielded, InsertsOutputs, unknown>;\n\nexport type InsertionByIdParams<\n GroupIdentifier extends string,\n ResourceState extends object | undefined,\n ResourceParams,\n Exceptions extends ResourceExceptionConstraints,\n PreviousInsertionsOutputs,\n PrimitiveName extends string = string,\n> = {\n state: YieldableReactiveValue<ResourceState, 'state'>;\n settledState: CraftSettledYieldableValue<\n NonNullable<ResourceState>,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n >;\n set: YieldableInsertionWrite<[newState: ResourceState], ResourceState>;\n update: YieldableInsertionWrite<[\n updateFn: (currentState: ResourceState) => ResourceState,\n ], ResourceState>;\n patch: YieldableInsertionWrite<[\n patchFn: (currentState: ResourceState) => Partial<ResourceState>,\n ], ResourceState>;\n insertions: keyof PreviousInsertionsOutputs extends string\n ? YieldableInsertionMethods<PreviousInsertionsOutputs>\n : never;\n resourceById: YieldableReactiveSignal<\n ResourceByIdRef<GroupIdentifier, ResourceState, ResourceParams>,\n 'resourceById'\n >;\n resource: never;\n resourceParamsSrc: YieldableReactiveSignal<\n WritableSignal<ResourceParams | undefined>,\n 'resourceParamsSrc'\n >;\n hasException: YieldableReactiveValue<boolean, 'hasException'>;\n exceptions: DeepYieldableReactiveValue<\n {\n list: (\n | InsertMetaInCraftExceptionIfExists<\n Exceptions['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n Exceptions['loader'],\n 'loader',\n GroupIdentifier\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n Exceptions['params'],\n 'params',\n unknown\n >;\n loader: Partial<\n Record<\n GroupIdentifier,\n InsertMetaInCraftExceptionIfExists<\n Exceptions['loader'],\n 'loader',\n GroupIdentifier\n >\n >\n >;\n },\n 'exceptions'\n >;\n identifier: (params: NonNullable<ResourceParams>) => GroupIdentifier;\n};\n\nexport type InsertionStateFactoryContext<StateType, PreviousInsertionsOutputs> =\n {\n state: YieldableReactiveValue<StateType, 'state'>;\n set: YieldableInsertionWrite<[newState: StateType], StateType>;\n update: YieldableInsertionWrite<[\n updateFn: (currentState: StateType) => StateType,\n ], StateType>;\n patch: YieldableInsertionWrite<[\n patchFn: (currentState: StateType) => Partial<StateType>,\n ], StateType>;\n insertions: keyof PreviousInsertionsOutputs extends string\n ? YieldableInsertionMethods<PreviousInsertionsOutputs>\n : never;\n };\n\nexport type QueryParamsMethods<QueryParamsState> = {\n patch: {\n (\n patchFn: (currentParams: QueryParamsState) => Partial<QueryParamsState>,\n options?: QueryParamsNavigationOptions,\n ): YieldableInvocation<never, QueryParamsState>;\n (\n params: Partial<QueryParamsState>,\n options?: QueryParamsNavigationOptions,\n ): YieldableInvocation<never, QueryParamsState>;\n };\n reset: {\n (options?: QueryParamsNavigationOptions): YieldableInvocation<never, void>;\n };\n set: {\n (\n params: QueryParamsState,\n options?: QueryParamsNavigationOptions,\n ): YieldableInvocation<never, QueryParamsState>;\n };\n update: {\n (\n updateFn: (currentParams: QueryParamsState) => QueryParamsState,\n options?: QueryParamsNavigationOptions,\n ): YieldableInvocation<never, QueryParamsState>;\n };\n};\n\nexport type InsertionQueryParamsFactoryContext<\n QueryParamsType,\n PreviousInsertionsOutputs,\n //! do not get the QueryParamsState directly from the queryParams utility (it's broke the inference),\n QueryParamsState = Prettify<QueryParamsToState<QueryParamsType>>,\n> = QueryParamsMethods<QueryParamsState> & {\n state: YieldableReactiveValue<QueryParamsState, 'state'>;\n config: QueryParamsType;\n hasException: YieldableReactiveValue<boolean, 'hasException'>;\n exceptions: YieldableReactiveValue<\n QueryParamsExceptions<QueryParamsType>,\n 'exceptions'\n >;\n insertions: keyof PreviousInsertionsOutputs extends string\n ? YieldableInsertionMethods<PreviousInsertionsOutputs>\n : never;\n};\n\nexport type InsertionsByIdFactory<\n ResourceState extends object | undefined,\n ResourceParams,\n GroupIdentifier extends string,\n Exceptions extends ResourceExceptionConstraints,\n InsertionsOutputs,\n PreviousInsertionsOutputs = {},\n Yielded = never,\n PrimitiveName extends string = string,\n> = (\n context: InsertionByIdParams<\n GroupIdentifier,\n ResourceState,\n ResourceParams,\n Exceptions,\n PreviousInsertionsOutputs,\n PrimitiveName\n >,\n) => InsertionsOutputs | Generator<Yielded, InsertionsOutputs, unknown>;\n\nexport type InsertionResourceFactoryContext<\n GroupIdentifier,\n ResourceState extends object | undefined,\n ResourceParams,\n Exceptions extends ResourceExceptionConstraints,\n PreviousInsertionsOutputs,\n PrimitiveName extends string = string,\n> = [unknown] extends [GroupIdentifier]\n ? InsertionParams<\n ResourceState,\n ResourceParams,\n Exceptions,\n PreviousInsertionsOutputs,\n PrimitiveName\n >\n : InsertionByIdParams<\n GroupIdentifier & string,\n ResourceState,\n ResourceParams,\n Exceptions,\n PreviousInsertionsOutputs,\n PrimitiveName\n >;\nexport type InsertionsResourcesFactory<\n GroupIdentifier,\n ResourceState extends object | undefined,\n ResourceParams,\n Exceptions extends ResourceExceptionConstraints,\n InsertionsOutputs,\n PreviousInsertionsOutputs = {},\n Yielded = never,\n PrimitiveName extends string = string,\n> = (\n context: InsertionResourceFactoryContext<\n GroupIdentifier,\n ResourceState,\n ResourceParams,\n Exceptions,\n PreviousInsertionsOutputs,\n PrimitiveName\n >,\n) => InsertionsOutputs | Generator<Yielded, InsertionsOutputs, unknown>;\n\nexport type InsertionsStateFactory<\n State,\n InsertionsOutputs,\n PreviousInsertionsOutputs = {},\n Yielded = never,\n> = (\n context: InsertionStateFactoryContext<State, PreviousInsertionsOutputs>,\n) => InsertionsOutputs | Generator<Yielded, InsertionsOutputs, unknown>;\n\nexport type InsertionsQueryParamsFactory<\n QueryParamsType,\n InsertionsOutputs,\n PreviousInsertionsOutputs = {},\n Yielded = never,\n> = (\n context: InsertionQueryParamsFactoryContext<\n QueryParamsType,\n PreviousInsertionsOutputs\n >,\n) => InsertionsOutputs | Generator<Yielded, InsertionsOutputs, unknown>;\n\nexport type DefaultInsertionByIdParams = InsertionByIdParams<\n string,\n {},\n unknown,\n ResourceExceptionConstraints,\n {}\n>;\n\nexport type DefaultInsertionParams = InsertionParams<\n {},\n unknown,\n ResourceExceptionConstraints,\n unknown\n>;\n"]}
|
package/src/lib/query.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/query.ts"],"names":[],"mappings":"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"}
|
package/src/lib/query.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/query.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assertInInjectionContext,\n computed,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Provider,\n ResourceLoaderParams,\n ResourceOptions,\n ResourceStreamingLoader,\n runInInjectionContext,\n Signal,\n signal,\n untracked,\n WritableSignal,\n} from './host/craft-compat';\nimport { takeUntilDestroyed } from './host/craft-compat';\nimport {\n InsertionsResourcesFactory,\n ResourceExceptionConstraints,\n} from './query.core';\nimport {\n executeGeneratorCompatibleFactory,\n GeneratorCompatibleFactory,\n isGeneratorFunction,\n} from './craft-generator-runtime';\nimport { executeGeneratorCompatibleFactoryAsync } from './craft-program-runtime';\nimport type { ExtractCraftGenExceptions } from './craft-gen';\nimport {\n attachCraftSettledValue,\n createYieldableSettledValue,\n CraftNotSettled,\n type CraftSettledSignal,\n} from './craft-settled';\nimport { resourceById, ResourceByIdRef } from './resource-by-id';\nimport { ReadonlySource } from './util/source.type';\nimport {\n CraftResourceStatus,\n toCraftStatus,\n} from './util/craft-resource-status';\nimport { MergeObjects } from './util/util.type';\nimport {\n methodParamsWrapperEqual,\n unwrapMethodParams,\n wrapMethodParams,\n} from './util/method-trigger-nonce';\nimport { preservedResource } from './preserved-resource';\nimport { craftResource } from './craft-resource';\nimport type { CraftResourceRef } from './util/craft-resource-ref';\nimport {\n AnyCraftException,\n ExtractCraftException,\n InsertMetaInCraftExceptionIfExists,\n StripCraftException,\n isCraftException,\n} from './craft-exception';\nimport {\n createResourceExceptionsRuntime,\n enrichResourceException,\n} from './resource-exception';\nimport { CORRELATION_ID_SERVICE } from './correlation-id';\nimport {\n createNamedPrimitiveGen,\n type CraftPrimitiveGen,\n type NamedCraftPrimitiveGen,\n} from './craft-primitive-gen';\nimport {\n APP_SNAPSHOT_REGISTRY,\n INSERTION_SNAPSHOT_REGISTRY,\n InsertionSnapshotRegistry,\n TAKE_APP_SNAPSHOT,\n triggerAndCollectInsertions,\n} from './take-app-snapshot';\nimport type {\n BrandedServiceProvider,\n SERVICE_HELPER_DEPENDENCIES,\n ServiceDependencyMapFromYieldedAndValues,\n} from './craft-service';\nimport { ɵcreateHostTaggedInjector, ɵHOST_TAG_LIST } from './craft-service';\nimport { injectFnWrapper } from './fn-wrapper';\nimport { ɵprovidePrimitiveMethodRuntimeContext } from './primitive-method-runtime-context';\nimport {\n ɵcreatePrimitiveResourceByIdRuntimeContext,\n ɵcreatePrimitiveResourceRuntimeContext,\n ɵobservePrimitiveResourceRuntimeContext,\n} from './primitive-resource-runtime-context';\nimport {\n createYieldableInsertionMethod,\n isNonYieldableInsertionMethod,\n yieldableInvocation,\n type YieldableInvocation,\n} from './yieldable';\nimport type {\n BrandReactiveProperties,\n YieldableInsertionMethods,\n} from './yieldable';\nimport {\n createYieldableReactiveFacade,\n deepYieldable,\n hasDeepYieldableInsertion,\n isYieldableReactiveValue,\n nameInsertedReactiveValue,\n type YieldableReactiveValue,\n type YieldableReactiveProperties,\n type DeepYieldableReactiveValue,\n} from './reactive-read';\nimport { craftUse } from './craft-use';\nimport {\n createSchemaValidationRuntime,\n type CraftSchema,\n type SchemaInput,\n type SchemaOutput,\n type SchemaParseExceptions,\n type SchemaValidationPolicy,\n useSchemaValidationPolicy,\n} from './schema-validation';\n\ntype QueryConfigProviderNames<Providers> =\n Providers extends readonly (infer P)[]\n ? P extends BrandedServiceProvider<infer Name, any, any>\n ? Name\n : never\n : never;\n\ntype SatisfyDependencies<Deps, SatisfiedNames extends string> = {\n [K in keyof Deps as K extends SatisfiedNames ? never : K]: Deps[K];\n};\n\ntype QueryTrackedDependencies<\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n InsertionsYielded = never,\n Providers = never,\n Insertions = never,\n> = [QueryConfigProviderNames<Providers>] extends [never]\n ? ServiceDependencyMapFromYieldedAndValues<\n | ParamsYielded\n | MethodYielded\n | LoaderYielded\n | StreamYielded\n | InsertionsYielded,\n Insertions\n >\n : SatisfyDependencies<\n ServiceDependencyMapFromYieldedAndValues<\n | ParamsYielded\n | MethodYielded\n | LoaderYielded\n | StreamYielded\n | InsertionsYielded,\n Insertions\n >,\n QueryConfigProviderNames<Providers>\n >;\n\ntype QueryDependenciesMetadata<Dependencies> = [keyof Dependencies] extends [\n never,\n]\n ? {}\n : {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: Dependencies;\n };\n\nconst QUERY_INVALID_YIELD_ERROR_MESSAGE =\n 'query generators can only yield craftService dependencies or exposed dependency helpers.';\nconst QUERY_APP_START_ERROR_MESSAGE =\n 'query generators do not support onAppStart(...).';\n\ntype QueryConfig<\n ResourceState,\n Params,\n ParamsArgs,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n> = Omit<ResourceOptions<NoInfer<ResourceState>, Params>, 'params' | 'loader'> &\n (\n | {\n /**\n * A reactive function which determines the request to be made. Whenever the request changes, the\n * loader will be triggered to fetch a new value for the resource.\n *\n * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.\n */\n params: GeneratorCompatibleFactory<() => Params, ParamsYielded>;\n loader: GeneratorCompatibleFactory<\n (\n param: NoInfer<ResourceLoaderParams<StripCraftException<Params>>>,\n ) => Promise<ResourceState> | ResourceState,\n LoaderYielded\n >;\n method?: never;\n fromResourceById?: never;\n stream?: never;\n /**\n * Each the query load, the value will return undefined.\n * To avoid flickering display and also enable to the data to be retrieved from cache, use () => true\n * default value: true\n */\n preservePreviousValue?: () => boolean;\n }\n | {\n /**\n * Used to generate a method in the store, when called will trigger the resource loader/stream.\n *\n * Only support one parameter which can be an object to pass multiple parameters.\n *\n * It also accepts a ReadonlySource<SourceParams> to connect the query params to an external signal source.\n */\n method:\n | GeneratorCompatibleFactory<\n (args: ParamsArgs) => Params,\n MethodYielded\n >\n | ReadonlySource<SourceParams>;\n loader: GeneratorCompatibleFactory<\n (\n param: ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >,\n ) => Promise<ResourceState> | ResourceState,\n LoaderYielded\n >;\n params?: never;\n fromResourceById?: never;\n stream?: never;\n preservePreviousValue?: () => boolean;\n }\n | {\n method?: never;\n loader?: never;\n params?: GeneratorCompatibleFactory<() => Params, ParamsYielded>;\n fromResourceById?: never;\n /**\n * Loading function which returns a `Promise` of a signal of the resource's value for a given\n * request, which can change over time as new values are received from a stream.\n */\n stream: GeneratorCompatibleFactory<\n ResourceStreamingLoader<ResourceState, Params>,\n StreamYielded\n >;\n preservePreviousValue?: () => boolean;\n }\n | {\n method: ((args: ParamsArgs) => Params) | ReadonlySource<SourceParams>;\n loader?: never;\n params?: never;\n fromResourceById?: never;\n /**\n * Loading function which returns a `Promise` of a signal of the resource's value for a given\n * request, which can change over time as new values are received from a stream.\n */\n stream: ResourceStreamingLoader<ResourceState, Params>;\n preservePreviousValue?: () => boolean;\n }\n | {\n /**\n * Use it, when you need to bind a ResourceByIdRef to another ResourceByIdRef.\n * It will enforce the fromObject keys syncing when the fromObject resource change.\n */\n fromResourceById: ResourceByIdRef<\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams\n >;\n /**\n * A reactive function which determines the request to be made. Whenever the request changes, the\n * loader will be triggered to fetch a new value for the resource.\n *\n * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.\n */\n params: GeneratorCompatibleFactory<\n (\n entity: CraftResourceRef<\n NoInfer<FromObjectState>,\n NoInfer<FromObjectResourceParams>\n >,\n ) => Params,\n ParamsYielded\n >;\n loader: GeneratorCompatibleFactory<\n (\n param: NoInfer<ResourceLoaderParams<Params>>,\n ) => Promise<ResourceState> | ResourceState,\n LoaderYielded\n >;\n method?: never;\n stream?: never;\n /**\n * Each the query load, the value will return undefined.\n * To avoid flickering display and also enable to the data to be retrieved from cache, use () => true\n * default value: true\n */\n preservePreviousValue?: () => boolean;\n }\n | {\n method?: never;\n loader?: never;\n params?: GeneratorCompatibleFactory<() => Params, ParamsYielded>;\n fromResourceById?: never;\n /**\n * Loading function which returns a `Promise` of a signal of the resource's value for a given\n * request, which can change over time as new values are received from a stream.\n */\n stream: GeneratorCompatibleFactory<\n ResourceStreamingLoader<ResourceState, Params>,\n StreamYielded\n >;\n preservePreviousValue?: () => boolean;\n }\n ) & {\n methodSchema?: CraftSchema;\n paramsSchema?: CraftSchema;\n loaderSchema?: CraftSchema;\n schemaValidationPolicy?: SchemaValidationPolicy;\n /**\n * A unique identifier for the resource, derived from the params.\n * It should be a string that uniquely identifies the resource based on the params.\n */\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n /**\n * Under the hood, a resource is generated for each new identifier generated when the params source change.\n *\n * If the source change, and their is an existing resource with the same identifier, it will be re-used.\n *\n * In this case, when the source is an object, an existing resource can be retrieved by the matching his record key with identifier function, but as the reference change it will trigger the loading of the resource again.\n *\n * To avoid this, you can use this option to tell how to compare the incoming params with the existing params of the resource.\n * - 'useIdentifier': will use the identifier function to compare the previous params and the incoming params. This very useful when using pagination.\n * - 'default' (default value): will use a strict equality check (===) between the previous params and the incoming params.\n * - (a: Params, b: Params) => boolean: you can provide your own comparison function to compare the previous params and the incoming params. This is useful when you want to compare specific fields of the params.\n *\n * Note: if your params is a primitive (string, number, boolean, etc.), you don't need to use this option since the strict equality check will work as expected.\n *\n * For **query** that use 'identifier', the default value is 'useIdentifier'\n *\n * For **query** that don't use 'identifier', the default value is 'default'\n */\n equalParams?: Params extends object\n ?\n | 'default'\n | 'useIdentifier'\n | ((\n a: Params,\n b: Params,\n identifierFn: (params: Params) => GroupIdentifier,\n ) => boolean)\n : never;\n };\n\nexport type ResourceLikeExceptions<\n QueryException extends ResourceExceptionConstraints,\n GroupIdentifier = unknown,\n> = {\n hasException: Signal<boolean>;\n exception: Signal<\n | InsertMetaInCraftExceptionIfExists<\n QueryException['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n QueryException['loader'],\n 'loader',\n GroupIdentifier\n >\n | undefined\n >;\n /** Deep reader: `exceptions.loader`, `exceptions.params`, and `exceptions.list`. */\n exceptions: DeepYieldableReactiveValue<{\n list: (\n | InsertMetaInCraftExceptionIfExists<\n QueryException['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n QueryException['loader'],\n 'loader',\n GroupIdentifier\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n QueryException['params'],\n 'params',\n unknown\n >;\n loader?: InsertMetaInCraftExceptionIfExists<\n QueryException['loader'],\n 'loader',\n GroupIdentifier\n >;\n }> &\n (QueryException extends { parse: infer Parse } ? { parse: Parse } : {});\n};\n\nexport type ResourceByIdLikeExceptions<\n QueryException extends ResourceExceptionConstraints,\n GroupIdentifier extends string,\n> = {\n hasException: Signal<boolean>;\n /** Deep reader: `exceptions.loader`, `exceptions.params`, and `exceptions.list`. */\n exceptions: DeepYieldableReactiveValue<{\n list: (\n | InsertMetaInCraftExceptionIfExists<\n QueryException['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n QueryException['loader'],\n 'loader',\n GroupIdentifier\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n QueryException['params'],\n 'params',\n unknown\n >;\n loader: Partial<\n Record<\n GroupIdentifier,\n InsertMetaInCraftExceptionIfExists<\n QueryException['loader'],\n 'loader',\n GroupIdentifier\n >\n >\n >;\n }> &\n (QueryException extends { parse: infer Parse } ? { parse: Parse } : {});\n};\n\n/**\n * The `craftException`s a resource-like ref may surface, read back from the\n * `exception` signal built by {@link ResourceLikeExceptions} rather than\n * rebuilt — the meta-insertion rules stay in one place.\n */\nexport type ResourceLikeExceptionUnion<\n QueryException extends ResourceExceptionConstraints,\n GroupIdentifier = unknown,\n> =\n ResourceLikeExceptions<\n QueryException,\n GroupIdentifier\n >['exception'] extends Signal<infer Exception>\n ? Exclude<Exception, undefined>\n : never;\n\nexport type ResourceLikeQueryRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n QueryException extends ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = (HasSchema extends true ? { readonly hasSchema: Signal<true> } : {}) & {\n type: 'resourceLike';\n kind: 'query';\n} & (HasSchema extends true\n ? {\n set(value: Value): void;\n update(updateFn: (current: Value) => Value): void;\n }\n : {}) &\n MergeObjects<\n [\n {\n readonly resource: CraftResourceRef<\n Value,\n Params,\n Name,\n ResourceLikeExceptionUnion<QueryException>\n >;\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n /**\n * The settled read: never `undefined`, never a value while an exception\n * is carried — it suspends instead, to the nearest `pendingBlock`. The\n * primitive's declared name is the source a boundary handles.\n */\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeExceptionUnion<QueryException>\n >;\n },\n {\n readonly resourceParamsSrc: WritableSignal<NoInfer<Params>>;\n },\n IsMethod extends true\n ? {\n call: (\n args: ArgParams,\n ) => YieldableInvocation<MethodYielded, Params>;\n }\n : {\n source: ReadonlySource<SourceParams>;\n },\n YieldableInsertionMethods<Insertions>,\n ResourceLikeExceptions<QueryException>,\n {\n [key in `~InternalType`]: 'Used to avoid TS type erasure';\n },\n QueryDependenciesMetadata<Dependencies>,\n ]\n >;\n\nexport type ResourceByIdLikeQueryRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n GroupIdentifier,\n QueryException extends ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = (HasSchema extends true ? { readonly hasSchema: Signal<true> } : {}) & {\n type: 'resourceByGroupLike';\n kind: 'query';\n readonly resourceParamsSrc: WritableSignal<NoInfer<Params>>;\n} & {\n _resourceById: ResourceByIdRef<GroupIdentifier & string, Value, Params>;\n /**\n * Get the associated resource by id\n *\n * Only added to help TS inference (TS cannot infer ResourceByIdHandler without erasing the signal getter, () => ResourceByIdRef<...>) )\n *\n * return the associated resource or undefined if not existing\n */\n select: (id: GroupIdentifier) =>\n | ({\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeExceptionUnion<QueryException, GroupIdentifier>\n >;\n } & ResourceLikeExceptions<QueryException, GroupIdentifier>) // todo exception params should be display outside\n | undefined;\n /**\n * Get the associated resource by id, creating an idle resource when it does\n * not exist yet.\n */\n selectOrCreate: (id: GroupIdentifier) => {\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeExceptionUnion<QueryException, GroupIdentifier>\n >;\n } & ResourceLikeExceptions<QueryException, GroupIdentifier>;\n} & MergeObjects<\n [\n YieldableInsertionMethods<Insertions>,\n IsMethod extends true\n ? {\n call: (\n args: ArgParams,\n ) => YieldableInvocation<MethodYielded, Params>;\n }\n : {\n source: ReadonlySource<SourceParams>;\n },\n ResourceByIdRef<GroupIdentifier & string, Value, Params>,\n [GroupIdentifier] extends [string]\n ? ResourceByIdLikeExceptions<QueryException, GroupIdentifier>\n : {},\n QueryDependenciesMetadata<Dependencies>,\n ]\n >;\n\nexport type QueryRef<\n Value,\n Params,\n ArgParams,\n Insertions,\n IsMethod,\n SourceParams,\n GroupIdentifier,\n QueryExceptions extends ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = [unknown] extends [GroupIdentifier]\n ? ResourceLikeQueryRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n QueryExceptions,\n Dependencies,\n HasSchema,\n MethodYielded,\n Name\n >\n : ResourceByIdLikeQueryRef<\n Value,\n Params,\n IsMethod,\n ArgParams,\n SourceParams,\n Insertions,\n GroupIdentifier,\n QueryExceptions,\n Dependencies,\n HasSchema,\n MethodYielded,\n Name\n >;\n\nexport type QueryOutput<\n State,\n Params,\n ArgParams,\n SourceParams,\n GroupIdentifier,\n Insertions,\n QueryExceptions extends ResourceExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = YieldableReactiveProperties<\n QueryRef<\n State,\n Params,\n ArgParams,\n YieldableInsertionMethods<BrandReactiveProperties<Insertions>>,\n [unknown] extends [ArgParams] ? false : true, // ! force to method to have one arg minimum, we can not compare SourceParams type, because it also infer Params\n SourceParams,\n GroupIdentifier,\n QueryExceptions,\n Dependencies,\n HasSchema,\n MethodYielded,\n Name\n >\n>;\n\ntype SchemaQueryConfig<\n MethodSchema extends CraftSchema,\n ParamsSchema extends CraftSchema,\n LoaderSchema extends CraftSchema,\n> = {\n methodSchema: MethodSchema;\n paramsSchema: ParamsSchema;\n loaderSchema: LoaderSchema;\n method: (args: SchemaOutput<MethodSchema>) => SchemaInput<ParamsSchema>;\n loader: (\n param: ResourceLoaderParams<SchemaOutput<ParamsSchema>>,\n ) => Promise<SchemaInput<LoaderSchema>> | SchemaInput<LoaderSchema>;\n [key: string]: unknown;\n};\n\nexport function query<\n Name extends string,\n MethodSchema extends CraftSchema,\n ParamsSchema extends CraftSchema,\n LoaderSchema extends CraftSchema,\n>(\n name: Name,\n queryConfig: SchemaQueryConfig<MethodSchema, ParamsSchema, LoaderSchema>,\n): NamedCraftPrimitiveGen<\n Name,\n QueryOutput<\n SchemaOutput<LoaderSchema>,\n SchemaOutput<ParamsSchema>,\n SchemaInput<MethodSchema>,\n SchemaOutput<ParamsSchema>,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function query<\n Name extends string,\n ParamsSchema extends CraftSchema,\n ParamsState extends object | undefined,\n>(\n name: Name,\n queryConfig: {\n paramsSchema: ParamsSchema;\n params: (...args: never[]) => unknown;\n loader: (\n param: ResourceLoaderParams<SchemaOutput<ParamsSchema>>,\n ) => Promise<ParamsState> | ParamsState;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n QueryOutput<\n ParamsState,\n SchemaOutput<ParamsSchema>,\n unknown,\n SchemaOutput<ParamsSchema>,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function query<\n Name extends string,\n LoaderSchema extends CraftSchema,\n LoaderParams,\n>(\n name: Name,\n queryConfig: {\n loaderSchema: LoaderSchema;\n params: () => LoaderParams;\n loader: (\n param: ResourceLoaderParams<LoaderParams>,\n ) => Promise<SchemaInput<LoaderSchema>> | SchemaInput<LoaderSchema>;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n QueryOutput<\n SchemaOutput<LoaderSchema>,\n LoaderParams,\n unknown,\n LoaderParams,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function query<\n Name extends string,\n LoaderSchema extends CraftSchema,\n LoaderParams,\n LoaderArgs,\n>(\n name: Name,\n queryConfig: {\n loaderSchema: LoaderSchema;\n method: (args: LoaderArgs) => LoaderParams;\n loader: (\n param: ResourceLoaderParams<LoaderParams>,\n ) => Promise<SchemaInput<LoaderSchema>> | SchemaInput<LoaderSchema>;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n QueryOutput<\n SchemaOutput<LoaderSchema>,\n LoaderParams,\n LoaderArgs,\n LoaderParams,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function query<\n Name extends string,\n MethodSchema extends CraftSchema,\n Params,\n State extends object | undefined,\n>(\n name: Name,\n queryConfig: {\n methodSchema: MethodSchema;\n method: (args: SchemaOutput<MethodSchema>) => Params;\n loader: (param: ResourceLoaderParams<Params>) => Promise<State> | State;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n QueryOutput<\n State,\n Params,\n SchemaInput<MethodSchema>,\n Params,\n unknown,\n {},\n ResourceExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function query<\n Name extends string,\n QueryState extends object | undefined,\n QueryParams,\n QueryArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends ResourceExceptionConstraints = {\n params: ExtractCraftException<QueryParams>;\n loader:\n | ExtractCraftException<QueryState>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: Name,\n queryConfig: QueryConfig<\n QueryState,\n QueryParams,\n QueryArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > &\n Config,\n): NamedCraftPrimitiveGen<\n Name,\n QueryOutput<\n StripCraftException<QueryState>,\n StripCraftException<QueryParams>,\n QueryArgsParams,\n StripCraftException<QueryParams>,\n GroupIdentifier,\n {},\n Exceptions,\n QueryTrackedDependencies<\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded,\n never,\n Providers\n >,\n false,\n MethodYielded,\n Name\n >\n>;\nexport function query<\n Name extends string,\n QueryState extends object | undefined,\n QueryParams,\n QueryArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n Insertion1,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Insertion1Yielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends ResourceExceptionConstraints = {\n params: ExtractCraftException<QueryParams>;\n loader:\n | ExtractCraftException<QueryState>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: Name,\n queryConfig: QueryConfig<\n QueryState,\n QueryParams,\n QueryArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > &\n Config,\n insertion1: InsertionsResourcesFactory<\n NoInfer<GroupIdentifier>,\n NoInfer<StripCraftException<QueryState>>,\n NoInfer<StripCraftException<QueryParams>>,\n NoInfer<Exceptions>,\n Insertion1,\n {},\n Insertion1Yielded,\n Name\n >,\n): NamedCraftPrimitiveGen<\n Name,\n QueryOutput<\n StripCraftException<QueryState>,\n StripCraftException<QueryParams>,\n QueryArgsParams,\n StripCraftException<QueryParams>,\n GroupIdentifier,\n Insertion1,\n Exceptions,\n QueryTrackedDependencies<\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded,\n Insertion1Yielded,\n Providers,\n Insertion1\n >,\n false,\n MethodYielded,\n Name\n >\n>;\n/**\n * Creates a reactive query manager that handles data fetching with automatic state tracking.\n *\n * This function manages query state by:\n * - Executing asynchronous fetch operations (loader or stream) automatically when params change\n * - Tracking operation status (idle, loading, resolved, exception)\n * - Providing reactive signals for value, status, exceptions, and loading state\n * - Supporting both params-based automatic execution and method-based manual triggers\n * - Optionally enabling parallel query execution by grouping instances with an identifier\n * - Caching and reusing query results based on params\n *\n * @remarks\n * **Important:** This function must be called within an injection context.\n *\n * **Query Modes:**\n * - **Params-based (automatic):** Define a `params` function. The query executes automatically when params change.\n * - **Method-based (manual):** Define a `method` function that returns params. Call `call()` to trigger execution.\n * - **Source-based (reactive):** Bind to a `ReadonlySource` for automatic execution when the source changes.\n * - **Resource-based (derived):** Bind to another `ResourceByIdRef` using `fromResourceById` to create derived queries.\n *\n * **With Identifier:**\n * When an `identifier` function is provided, queries are grouped by ID enabling parallel execution and individual result tracking.\n * Use `select(id)` to access individual query instances.\n * Use `selectOrCreate(id)` to access an instance, creating it when it does not exist yet.\n *\n * **Caching & Performance:**\n * - Use `preservePreviousValue: () => true` to prevent flickering by keeping previous data while loading\n * - Use `equalParams` to control when queries should re-execute based on params comparison\n *\n * @param name - The query name. Used for host tagging and reactive branding\n * (`const userQuery = yield* query('userQuery', config)`) and as the\n * injector host tag (`query:userQuery`), so the query is precisely locatable\n * in snapshots and logs.\n * @param config - Configuration object containing:\n * - `params`: Function that returns params for automatic execution, or undefined for method-based queries\n * - `method`: Function that takes args and returns params for manual execution, or a `ReadonlySource` for reactive execution\n * - `loader`: Async function that performs the query and returns a Promise of the result\n * - `stream` (optional): Async function that returns a signal for streaming results\n * - `identifier` (optional): Function to derive a unique ID from params for grouping queries\n * - `fromResourceById` (optional): Bind to another ResourceByIdRef for derived queries\n * - `preservePreviousValue` (optional): Function returning boolean to keep previous value while reloading\n * - `equalParams` (optional): Controls params comparison ('default' | 'useIdentifier' | custom function)\n * - Additional ResourceOptions like `equal`, `injector`, etc.\n * @param insertion1 - Optional single insertion factory to add custom methods, computed values or side effects to the query.\n * The insertion receives a context with resource signals (`state`, `exceptions`, `hasException`, `resource`) and mutators (`set`, `update`, `patch`).\n * To attach several insertions, compose them with `insertQueryPipe`:\n * `query('name', config, insertQueryPipe(insertion1, insertion2))` —\n * each member then also sees the previous members' outputs on `context.insertions`.\n * @returns A single-use primitive generator resolving to a query reference\n * object with:\n * - `value`: Signal containing the query result (undefined if not yet executed)\n * - `status`: Signal with the craft status ('idle' | 'loading' | 'reloading' | 'resolved' | 'local' | 'exception')\n * - `exception`: Signal with the primary `craftException` (or undefined)\n * - `exceptions`: Signal with the captured exceptions (`list` / `params` / `loader`)\n * - `hasException()`: Signal indicating whether an exception is captured\n * - `isLoading`: Signal indicating if the query is currently executing\n * - `hasValue()`: Method to check if a value is available\n * - `call(args)`: Method to trigger the query manually (only for method-based queries)\n * - `source`: The connected source (only for source-based queries)\n * - `select(id)`: Method to access a specific query instance by ID (only when identifier is provided)\n * - `selectOrCreate(id)`: Method to access or create a specific query instance (only when identifier is provided)\n * - `resourceParamsSrc`: The underlying params signal\n * - Custom methods from insertions\n *\n * Consume it with `yield*` inside a generator host (craftService factory,\n * craftGen, …) or with `craftUse(...)` elsewhere (typically a component field).\n *\n * @example\n * Basic params-based automatic query\n * ```ts\n * const userIdSignal = signal('user-123');\n *\n * const userQuery = craftUse(query('userQuery', {\n * params: () => userIdSignal(),\n * loader: function* ({ params }) {\n * return yield* CraftHttpClient.get(({ response }) => ({\n * url: `/api/users/${params}`,\n * success: response<{ id: string; name: string }>(),\n * }));\n * },\n * }));\n *\n * // Query executes automatically when created and when userIdSignal changes\n * console.log(userQuery.status()); // 'loading'\n * // After completion\n * console.log(userQuery.value()); // { id: 'user-123', name: '...' }\n * console.log(userQuery.status()); // 'resolved'\n *\n * // Changing the signal triggers a new query\n * userIdSignal.set('user-456');\n * ```\n *\n * @example\n * Method-based manual query\n * ```ts\n * const searchQuery = craftUse(query('searchQuery', {\n * method: (searchTerm: string) => ({ term: searchTerm }),\n * loader: function* ({ params }) {\n * return yield* CraftHttpClient.get(({ response }) => ({\n * url: `/api/search?q=${params.term}`,\n * success: response<Array<{ id: string; title: string }>>(),\n * }));\n * },\n * }));\n *\n * // Query doesn't execute automatically\n * console.log(searchQuery.status()); // 'idle'\n *\n * // Manually trigger the query\n * searchQuery.call('angular');\n * console.log(searchQuery.status()); // 'loading'\n * ```\n *\n * @example\n * Business exceptions with `craftException`\n * ```ts\n * import { craftException, query } from '@craft-ts/core';\n *\n * const userQuery = craftUse(query('userQuery', {\n * method: (value: string) =>\n * value.length < 3\n * ? craftException(\n * { code: 'SEARCH_TERM_TOO_SHORT' },\n * { min: 3, received: value.length },\n * )\n * : value,\n * loader: function* ({ params }) {\n * return params === 'forbidden'\n * ? craftException(\n * { code: 'USER_ACCESS_FORBIDDEN' },\n * { id: params },\n * )\n * : { id: params, name: 'John Doe' };\n * },\n * }));\n *\n * userQuery.call('ab');\n * console.log(userQuery.hasException()); // true\n * console.log(userQuery.exceptions().params?.SEARCH_TERM_TOO_SHORT);\n *\n * userQuery.call('forbidden');\n * console.log(userQuery.exceptions().loader?.USER_ACCESS_FORBIDDEN);\n * ```\n *\n * @example\n * Query with identifier for parallel execution\n * ```ts\n * const userDetailsQuery = craftUse(query('userDetailsQuery', {\n * params: () => currentUserId(),\n * identifier: (userId) => userId,\n * loader: function* ({ params }) {\n * return yield* CraftHttpClient.get(({ response }) => ({\n * url: `/api/users/${params}`,\n * success: response<{ id: string; name: string }>(),\n * }));\n * },\n * }));\n *\n * // Multiple users can be queried in parallel\n * // Each has its own state tracked by identifier\n * const user1 = userDetailsQuery.select('user-1');\n * const user2 = userDetailsQuery.select('user-2');\n *\n * console.log(user1?.status()); // 'resolved'\n * console.log(user1?.value()); // { id: 'user-1', ... }\n * console.log(user2?.status()); // 'loading'\n * ```\n *\n * @example\n * With custom methods via insertions\n * ```ts\n * const todosQuery = craftUse(query(\n * 'todosQuery',\n * {\n * params: () => ({ completed: showCompleted() }),\n * loader: function* ({ params }) {\n * return yield* CraftHttpClient.get(({ response }) => ({\n * url: `/api/todos?completed=${params.completed}`,\n * success: response<Array<{ id: string; completed: boolean }>>(),\n * }));\n * },\n * },\n * ({ value, isLoading }) => ({\n * count: computed(() => value()?.length ?? 0),\n * isEmpty: computed(() => !isLoading() && value()?.length === 0),\n * })\n * ));\n *\n * console.log(todosQuery.count()); // Custom computed from insertion\n * console.log(todosQuery.isEmpty()); // true/false\n * ```\n *\n * @example\n * Streaming query\n * ```ts\n * const liveDataQuery = craftUse(query('liveDataQuery', {\n * params: () => ({ channel: currentChannel() }),\n * stream: async ({ params }) => {\n * const response = await fetch(`/api/stream/${params.channel}`);\n *\n * // Return a signal that updates as stream data arrives\n * const resultSignal = signal([]);\n * const reader = response.body?.getReader();\n * // ... process stream and update resultSignal\n * return resultSignal;\n * },\n * }));\n *\n * // value() updates continuously as stream data arrives\n * ```\n *\n * @example\n * Derived query from another ResourceByIdRef\n * ```ts\n * // First query fetches basic user data\n * const usersQuery = craftUse(query('usersQuery', {\n * params: () => currentUserId(),\n * identifier: (userId) => userId,\n * loader: function* ({ params }) {\n * return yield* CraftHttpClient.get(({ response }) => ({\n * url: `/api/users/${params}`,\n * success: response<{ id: string; name: string }>(),\n * }));\n * },\n * }));\n *\n * // Derived query enriches user data with additional info\n * const enrichedUsersQuery = craftUse(query('enrichedUsersQuery', {\n * fromResourceById: usersQuery,\n * params: ({ value, status }) => {\n * // Only process when source is resolved\n * return status() === 'resolved' ? value() : undefined;\n * },\n * identifier: (user) => user.id,\n * loader: function* ({ params }) {\n * const details = yield* CraftHttpClient.get(({ response }) => ({\n * url: `/api/users/${params.id}/details`,\n * success: response<{ bio: string }>(),\n * }));\n * return { ...params, ...details };\n * },\n * }));\n *\n * // Derived query executes automatically when usersQuery resolves\n * const enrichedUser = enrichedUsersQuery.select('user-123');\n * console.log(enrichedUser?.value()); // { ...userData, ...details }\n * ```\n */\n\nexport function query(\n name: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n queryConfig: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...insertions: any[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n return createNamedPrimitiveGen(\n name,\n createQueryRef(name, queryConfig, ...insertions),\n );\n}\n\nfunction createQueryRef<\n QueryState extends object | undefined,\n QueryParams,\n QueryArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n>(\n name: string,\n queryConfig: QueryConfig<\n QueryState,\n QueryParams,\n QueryArgsParams,\n SourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > & { providers?: readonly Provider[] },\n ...insertions: any[]\n): QueryOutput<\n StripCraftException<QueryState>,\n StripCraftException<QueryParams>,\n QueryArgsParams,\n StripCraftException<QueryParams>,\n GroupIdentifier,\n {},\n ResourceExceptionConstraints,\n {},\n false,\n MethodYielded\n> {\n const insertionSnapshotRegistry = new InsertionSnapshotRegistry();\n const queryExtraProviders = [\n {\n provide: INSERTION_SNAPSHOT_REGISTRY,\n useValue: insertionSnapshotRegistry,\n },\n ...(queryConfig.providers ?? []),\n ];\n let injector: Injector | undefined;\n if (\n [\n queryConfig.params,\n queryConfig.method,\n queryConfig.loader,\n queryConfig.stream,\n ...insertions,\n ].some((value) => isGeneratorFunction(value))\n ) {\n assertInInjectionContext(query);\n injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `query:${name}`,\n queryExtraProviders,\n );\n } else {\n // Capture the injector eagerly whenever `query()` is constructed inside an\n // injection context (the normal case: a component field initializer or a\n // craft-service factory). The resource's reactive `params`/`loader`\n // computeds may FIRST run while driven from OUTSIDE an injection context —\n // e.g. a non-blocking route guard awaiting the resource via\n // `craftUntilSettled(...)`, which subscribes outside one. Without an eagerly\n // captured injector, `getInjector()` below would fall back to the (absent)\n // ambient context and throw.\n //\n // There is no `isInInjectionContext` on the Craft injector, so probe by\n // attempting `inject(Injector)` and fall back to the lazy `getInjector()`\n // if `query()` was genuinely constructed out of context.\n try {\n injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `query:${name}`,\n queryExtraProviders,\n );\n } catch {\n injector = undefined;\n }\n }\n\n const getInjector = () => {\n if (!injector) {\n assertInInjectionContext(query);\n injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `query:${name}`,\n queryExtraProviders,\n );\n }\n\n return injector;\n };\n\n const hasMethodFn =\n typeof queryConfig.method === 'function' && !isSignal(queryConfig.method);\n const queryResourceParamsFnSignal =\n queryConfig.params ?? signal<QueryParams | undefined>(undefined);\n\n // Incremented on every explicit call() so the resource request always changes,\n // forcing the loader to re-run even when the method returns the same value or\n // `undefined`. Starts at 0 = \"never called\" to preserve idle.\n const methodTriggerSeq = signal(0);\n\n const isConnectedToSource = isSignal(queryConfig.method);\n const isUsingIdentifier = 'identifier' in queryConfig;\n\n const methodParamsException = signal<AnyCraftException | undefined>(\n undefined,\n );\n const schemaParseExceptions = signal<Record<string, AnyCraftException>>({});\n const configuredSchemas = {\n method: queryConfig.methodSchema as CraftSchema | undefined,\n params: queryConfig.paramsSchema as CraftSchema | undefined,\n loader: queryConfig.loaderSchema as CraftSchema | undefined,\n };\n const hasConfiguredSchema = Object.values(configuredSchemas).some(Boolean);\n const setSchemaException = (\n stage: string,\n exception: AnyCraftException | undefined,\n ) => {\n untracked(() => {\n schemaParseExceptions.update((current) => {\n const next = { ...current };\n if (exception) next[stage] = exception;\n else delete next[stage];\n return next;\n });\n });\n };\n const schemaPolicy = useSchemaValidationPolicy(\n getInjector(),\n queryConfig.schemaValidationPolicy as SchemaValidationPolicy | undefined,\n );\n const schemaValidation = {\n method: createSchemaValidationRuntime({\n schema: configuredSchemas.method,\n primitive: 'query',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n params: createSchemaValidationRuntime({\n schema: configuredSchemas.params,\n primitive: 'query',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n loader: createSchemaValidationRuntime({\n schema: configuredSchemas.loader,\n primitive: 'query',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n };\n const schemaParse = computed(() => {\n const values = schemaParseExceptions();\n return {\n ...(values['method'] ? { method: values['method'] } : {}),\n ...(values['params'] ? { params: values['params'] } : {}),\n ...(values['loader'] ? { loader: values['loader'] } : {}),\n };\n });\n\n const getIdentifierFromParams = (params: unknown): string | undefined => {\n if (\n !isUsingIdentifier ||\n !('identifier' in queryConfig) ||\n !queryConfig.identifier\n ) {\n return undefined;\n }\n\n if (params === undefined || params === null) {\n return undefined;\n }\n\n return queryConfig.identifier(params as any) as string;\n };\n\n const sanitizeParamsResult = (value: QueryParams | undefined) => {\n if (isCraftException(value)) {\n return undefined;\n }\n\n return value;\n };\n\n const reactiveParamsException = computed(() => {\n if (hasMethodFn) {\n return undefined;\n }\n const schemaParamsException = schemaParseExceptions()['params'];\n if (schemaParamsException) {\n return enrichResourceException(schemaParamsException, {\n scope: 'params',\n });\n }\n\n if (isConnectedToSource && queryConfig.method) {\n const sourceValue = (\n queryConfig.method as unknown as Signal<QueryParams | undefined>\n )();\n return isCraftException(sourceValue)\n ? enrichResourceException(sourceValue, { scope: 'params' })\n : undefined;\n }\n\n if (\n 'params' in queryConfig &&\n queryConfig.params &&\n !('fromResourceById' in queryConfig && queryConfig.fromResourceById)\n ) {\n const paramsValue = executeGeneratorCompatibleFactory({\n factory: queryConfig.params as () => QueryParams,\n thisArg: undefined,\n getInjector,\n args: [],\n invalidYieldErrorMessage: QUERY_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n });\n return isCraftException(paramsValue)\n ? enrichResourceException(paramsValue, { scope: 'params' })\n : undefined;\n }\n\n return undefined;\n });\n\n const paramsException = computed(() => {\n return hasMethodFn ? methodParamsException() : reactiveParamsException();\n });\n\n const {\n setLoaderException,\n exceptions,\n hasException,\n createSelectExceptions,\n createSelectHasException,\n } = createResourceExceptionsRuntime({\n isUsingIdentifier,\n paramsException,\n });\n\n const wrappedParamsFn =\n 'params' in queryConfig && queryConfig.params\n ? (((...args: unknown[]) => {\n const value = executeGeneratorCompatibleFactory({\n factory: queryConfig.params as (...args: unknown[]) => QueryParams,\n thisArg: undefined,\n getInjector,\n args,\n invalidYieldErrorMessage: QUERY_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n }) as QueryParams;\n if (!configuredSchemas.params || isCraftException(value)) {\n return sanitizeParamsResult(value);\n }\n const parsed = schemaValidation.params.parseSync<QueryParams>(\n value,\n 'params',\n 'params',\n );\n return parsed.accepted ? parsed.value : undefined;\n }) as typeof queryConfig.params)\n : undefined;\n\n const wrappedSourceParams =\n isConnectedToSource && queryConfig.method\n ? ((() =>\n (() => {\n const value = sanitizeParamsResult(\n (\n queryConfig.method as unknown as Signal<QueryParams | undefined>\n )(),\n );\n if (!configuredSchemas.params || isCraftException(value)) {\n return value;\n }\n const parsed = schemaValidation.params.parseSync<QueryParams>(\n value,\n 'params',\n 'source',\n );\n return parsed.accepted ? parsed.value : undefined;\n })()) as Signal<QueryParams | undefined>)\n : undefined;\n\n const wrappedLoader =\n 'loader' in queryConfig && queryConfig.loader\n ? ((async (param: ResourceLoaderParams<QueryParams>) => {\n const injector = getInjector();\n const correlationSvc = injector.get(CORRELATION_ID_SERVICE, null);\n const operationId = correlationSvc?.lastCorrelationId() ?? null;\n if (operationId) correlationSvc?.startOperation(operationId);\n\n // Unwrap the method-trigger nonce so the user loader and identifier logic\n // only ever see plain params (no-op for source / params-fn / byId modes).\n const rawParams = unwrapMethodParams(param.params);\n const loaderParam = { ...param, params: rawParams } as typeof param;\n\n try {\n const step = await executeGeneratorCompatibleFactoryAsync({\n factory: queryConfig.loader as (\n param: ResourceLoaderParams<QueryParams>,\n ) => Promise<QueryState>,\n thisArg: undefined,\n getInjector,\n args: [loaderParam],\n invalidYieldErrorMessage: QUERY_INVALID_YIELD_ERROR_MESSAGE,\n appStartNotSupportedErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n // Query reloads cancel temporal awaits from the superseded load.\n abortSignal: loaderParam.abortSignal,\n });\n\n if (step.kind === 'shortCircuit') {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(step.exception, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined as QueryState;\n }\n\n const result = step.value;\n\n if (isCraftException(result)) {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(result, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined as QueryState;\n }\n\n let validatedResult = result as QueryState;\n if (configuredSchemas.loader) {\n const parsed =\n await schemaValidation.loader.parseAsync<QueryState>(\n result,\n 'loader',\n 'loader',\n getIdentifierFromParams(rawParams),\n );\n if (!parsed.accepted) {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(parsed.exception, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined as QueryState;\n }\n validatedResult = parsed.value;\n }\n\n const successId = getIdentifierFromParams(rawParams);\n setLoaderException(undefined, successId);\n return validatedResult;\n } catch (error) {\n if (param.abortSignal.aborted) {\n return undefined as QueryState;\n }\n if (!isCraftException(error)) {\n injector.get(TAKE_APP_SNAPSHOT, null)?.();\n }\n throw error;\n } finally {\n if (operationId) correlationSvc?.endOperation(operationId);\n }\n }) as typeof queryConfig.loader)\n : undefined;\n\n const wrappedStream =\n 'stream' in queryConfig && queryConfig.stream\n ? (((...args: unknown[]) => {\n const result = executeGeneratorCompatibleFactory({\n factory: queryConfig.stream as (...args: unknown[]) => unknown,\n thisArg: undefined,\n getInjector,\n args,\n invalidYieldErrorMessage: QUERY_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n });\n const wrapStreamSignal = (streamSignal: unknown) => {\n if (!configuredSchemas.loader || !isSignal(streamSignal)) {\n return streamSignal;\n }\n let lastValue: unknown;\n return computed(() => {\n const streamItem = (streamSignal as Signal<unknown>)();\n if (\n streamItem &&\n typeof streamItem === 'object' &&\n 'error' in streamItem\n ) {\n return streamItem;\n }\n const rawValue =\n streamItem &&\n typeof streamItem === 'object' &&\n 'value' in streamItem\n ? streamItem.value\n : streamItem;\n const parsed = schemaValidation.loader.parseSync<unknown>(\n rawValue,\n 'loader',\n 'stream',\n );\n if (!parsed.accepted) {\n return lastValue === undefined\n ? undefined\n : { value: lastValue };\n }\n lastValue = parsed.value;\n return { value: lastValue };\n });\n };\n if (\n result &&\n typeof (result as Promise<unknown>).then === 'function'\n ) {\n return Promise.resolve(result).then(wrapStreamSignal);\n }\n return wrapStreamSignal(result);\n }) as typeof queryConfig.stream)\n : undefined;\n\n const resourceParamsSrc = isConnectedToSource\n ? (wrappedSourceParams as typeof queryConfig.method)\n : (wrappedParamsFn ?? queryResourceParamsFnSignal);\n\n // Method-based, non-grouped: feed the resource a nonce-tagged request so every\n // explicit call() re-runs the loader (even for identical / `undefined` params),\n // while `resourceParamsSrc` stays the raw signal for all public consumers.\n const methodTaggedParams = computed(() => {\n const seq = methodTriggerSeq();\n if (seq === 0) return undefined; // idle until the first call\n // In method mode this is always the plain signal (no params fn), but its union\n // type includes the fromResourceById params function — narrow with a cast.\n return wrapMethodParams(\n (queryResourceParamsFnSignal as Signal<QueryParams | undefined>)(),\n seq,\n );\n });\n const nonGroupedParams = hasMethodFn\n ? (methodTaggedParams as unknown as typeof resourceParamsSrc)\n : resourceParamsSrc;\n const nonGroupedEqual = hasMethodFn\n ? methodParamsWrapperEqual(\n (queryConfig as { equal?: (a: any, b: any) => boolean }).equal,\n )\n : (queryConfig as { equal?: (a: any, b: any) => boolean }).equal;\n\n const resourceTarget = isUsingIdentifier\n ? resourceById<\n QueryState,\n QueryParams,\n GroupIdentifier & string,\n string,\n unknown,\n unknown\n >({\n ...queryConfig,\n ssrSourceName: name,\n params: resourceParamsSrc,\n loader: wrappedLoader,\n stream: wrappedStream,\n identifier: queryConfig.identifier,\n equalParams: queryConfig.equalParams ?? 'useIdentifier',\n } as any)\n : !queryConfig.preservePreviousValue || queryConfig.preservePreviousValue()\n ? preservedResource<QueryState, QueryParams>({\n ...queryConfig,\n ssrSourceName: name,\n params: nonGroupedParams,\n equal: nonGroupedEqual,\n loader: wrappedLoader,\n stream: wrappedStream,\n } as ResourceOptions<any, any> & { ssrSourceName: string })\n : craftResource<QueryState, QueryParams>({\n ...queryConfig,\n ssrSourceName: name,\n params: nonGroupedParams,\n equal: nonGroupedEqual,\n loader: wrappedLoader,\n stream: wrappedStream,\n } as ResourceOptions<any, any> & { ssrSourceName: string });\n\n if (configuredSchemas.loader) {\n const target = resourceTarget as any;\n const originalResourceSet = target.set.bind(target);\n const originalResourceUpdate = target.update.bind(target);\n target.set = (value: unknown) => {\n const parsed = schemaValidation.loader.parseSync<unknown>(\n value,\n 'loader',\n 'set',\n );\n if (parsed.accepted) originalResourceSet(parsed.value);\n };\n target.update = (updateFn: (current: unknown) => unknown) =>\n originalResourceUpdate((current: unknown) => {\n const parsed = schemaValidation.loader.parseSync<unknown>(\n updateFn(current),\n 'loader',\n 'update',\n );\n return parsed.accepted ? parsed.value : current;\n });\n }\n\n runInInjectionContext(getInjector(), () =>\n ɵobservePrimitiveResourceRuntimeContext(\n isUsingIdentifier\n ? ɵcreatePrimitiveResourceByIdRuntimeContext(\n 'query',\n resourceTarget as any,\n )\n : ɵcreatePrimitiveResourceRuntimeContext(\n 'query',\n resourceTarget as any,\n ),\n name,\n ),\n );\n\n // Capture the raw resource status BEFORE `Object.assign` overrides\n // `resourceTarget.status` with the craft computed below (otherwise the craft\n // status computed would read itself and form a computation cycle).\n const rawResourceStatus = (\n resourceTarget as unknown as CraftResourceRef<QueryState, QueryParams>\n ).status;\n const publicExceptions = hasConfiguredSchema\n ? computed(() => ({ ...exceptions(), parse: schemaParse() }))\n : exceptions;\n\n const queryOutputWithoutInsertions = Object.assign(\n resourceTarget,\n // byId is used to helps TS to correctly infer the resourceByGroup\n isUsingIdentifier\n ? {\n /**\n * Only added to help TS inference (TS cannot infer ResourceByIdHandler without erasing the signal getter, () => ResourceByIdRef<...>) )\n */\n _resourceById: resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n QueryState,\n QueryParams\n >,\n select: (id: GroupIdentifier) => {\n const selectExceptions = createSelectExceptions(\n id as unknown as string,\n );\n const selectHasException = createSelectHasException(\n id as unknown as string,\n );\n\n return computed(() => {\n const list = (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n QueryState,\n QueryParams\n >\n )();\n //@ts-expect-error GroupIdentifier & string is not recognized correctly\n const resource = list[id];\n if (!resource) {\n return undefined;\n }\n\n const rawSelectStatus = resource.status;\n const result = Object.assign(resource, {\n status: computed(() =>\n toCraftStatus(rawSelectStatus(), selectHasException()),\n ),\n exception: computed(() => selectExceptions().list[0]),\n hasException: selectHasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: hasConfiguredSchema\n ? computed(() => ({\n ...selectExceptions(),\n parse: schemaParse(),\n }))\n : selectExceptions,\n });\n attachCraftSettledValue(name, result);\n return result;\n })();\n },\n selectOrCreate: (id: GroupIdentifier) => {\n const selected = (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n QueryState,\n QueryParams\n >\n ).addById(id as GroupIdentifier & string);\n\n const selectExceptions = createSelectExceptions(\n id as unknown as string,\n );\n const selectHasException = createSelectHasException(\n id as unknown as string,\n );\n const rawSelectStatus = selected.status;\n const result = Object.assign(selected, {\n status: computed(() =>\n toCraftStatus(rawSelectStatus(), selectHasException()),\n ),\n exception: computed(() => selectExceptions().list[0]),\n hasException: selectHasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: hasConfiguredSchema\n ? computed(() => ({\n ...selectExceptions(),\n parse: schemaParse(),\n }))\n : selectExceptions,\n });\n attachCraftSettledValue(name, result);\n return result;\n },\n }\n : {},\n {\n ...(isUsingIdentifier\n ? {}\n : {\n status: computed(() =>\n toCraftStatus(rawResourceStatus(), hasException()),\n ),\n exception: computed(() => exceptions().list[0]),\n }),\n hasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: publicExceptions,\n resourceParamsSrc: resourceParamsSrc as WritableSignal<\n QueryParams | undefined\n >,\n call: !hasMethodFn\n ? undefined\n : (arg: QueryArgsParams) => {\n let methodArg: unknown = arg;\n if (configuredSchemas.method) {\n const parsedMethod = schemaValidation.method.parseSync<unknown>(\n arg,\n 'method',\n 'method',\n );\n if (!parsedMethod.accepted) {\n methodParamsException.set(\n enrichResourceException(parsedMethod.exception, {\n scope: 'params',\n }),\n );\n return yieldableInvocation<MethodYielded, QueryParams>(\n parsedMethod.exception as QueryParams,\n );\n }\n methodArg = parsedMethod.value;\n }\n const result = executeGeneratorCompatibleFactory({\n factory: queryConfig.method as unknown as (\n args: QueryArgsParams,\n ) => QueryParams,\n thisArg: undefined,\n getInjector,\n args: [methodArg as QueryArgsParams],\n invalidYieldErrorMessage: QUERY_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n });\n\n if (isCraftException(result)) {\n methodParamsException.set(\n enrichResourceException(result, { scope: 'params' }),\n );\n return yieldableInvocation<MethodYielded, QueryParams>(\n result as QueryParams,\n );\n }\n\n let paramsResult = result as QueryParams;\n if (configuredSchemas.params) {\n const parsedParams =\n schemaValidation.params.parseSync<QueryParams>(\n result,\n 'params',\n 'method',\n );\n if (!parsedParams.accepted) {\n methodParamsException.set(\n enrichResourceException(parsedParams.exception, {\n scope: 'params',\n }),\n );\n return yieldableInvocation<MethodYielded, QueryParams>(\n parsedParams.exception as QueryParams,\n );\n }\n paramsResult = parsedParams.value;\n }\n\n if (methodParamsException()) {\n methodParamsException.set(undefined);\n }\n\n if (isUsingIdentifier) {\n const id = queryConfig.identifier?.(paramsResult as any);\n (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n QueryState,\n QueryParams\n >\n ).addById(id as GroupIdentifier & string);\n }\n //@ts-expect-error exposed method params cannot use the from-resource entity callback shape\n queryResourceParamsFnSignal.set(paramsResult as QueryParams);\n // Set the params while the trigger is still inactive. The trigger\n // is intentionally bumped last: Craft watches run synchronously,\n // so bumping it first would briefly expose the previous params\n // (undefined on the first call) and start an extra request.\n methodTriggerSeq.update((n) => n + 1);\n return yieldableInvocation<MethodYielded, QueryParams>(\n paramsResult,\n );\n },\n },\n );\n\n if (!isUsingIdentifier) {\n attachCraftSettledValue(name, queryOutputWithoutInsertions);\n }\n\n const publicQueryContext = createYieldableReactiveFacade(\n queryOutputWithoutInsertions,\n { name, primitive: 'query', path: name },\n ) as any;\n\n const insertionSettledState = isUsingIdentifier\n ? createYieldableSettledValue(\n computed(() => {\n const params = craftUse(\n publicQueryContext.resourceParamsSrc(),\n ) as any;\n if (params == null) throw new CraftNotSettled(name);\n const id = queryConfig.identifier?.(params);\n if (id == null) throw new CraftNotSettled(name);\n const selected = publicQueryContext.select(id);\n if (!selected) throw new CraftNotSettled(name);\n return craftUse(selected.settledValue());\n }),\n {\n primitive: 'query',\n insertion: 'settledState',\n path: `${name}.settledState`,\n },\n )\n : createYieldableSettledValue(\n computed(() => craftUse(publicQueryContext.settledValue())),\n {\n primitive: 'query',\n insertion: 'settledState',\n path: `${name}.settledState`,\n },\n );\n\n const insertionsResult = (\n insertions as InsertionsResourcesFactory<\n NoInfer<GroupIdentifier>,\n NoInfer<StripCraftException<QueryState>>,\n NoInfer<StripCraftException<QueryParams>>,\n ResourceExceptionConstraints,\n {},\n {}\n >[]\n )?.reduce(\n (acc, insert) => {\n const rawResult = executeGeneratorCompatibleFactory({\n factory: insert as (context: unknown) => Record<string, unknown>,\n thisArg: undefined,\n getInjector,\n args: [\n {\n ...(isUsingIdentifier\n ? {\n resourceById: createYieldableReactiveFacade(resourceTarget, {\n name: 'resourceById',\n primitive: 'query',\n path: `${name}.resourceById`,\n }),\n identifier: queryConfig.identifier,\n }\n : { resource: publicQueryContext }),\n resourceParamsSrc: publicQueryContext.resourceParamsSrc,\n hasException: publicQueryContext.hasException,\n exceptions: publicQueryContext.exceptions,\n insertions: acc as {},\n state: publicQueryContext.state,\n settledState: insertionSettledState,\n set: (nextState: any) =>\n yieldableInvocation(resourceTarget.set(nextState)),\n update: (updateFn: (currentState: any) => any) =>\n yieldableInvocation(resourceTarget.update(updateFn)),\n patch: (patchFn: (currentState: any) => Partial<any>) =>\n yieldableInvocation(\n resourceTarget.update((current: any) => ({\n ...current,\n ...patchFn(current),\n })),\n ),\n __primitiveKind: 'query',\n } as any,\n ],\n invalidYieldErrorMessage: QUERY_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n });\n const wrappedResult = Object.entries(rawResult).reduce(\n (wrappedAcc, [key, value]) => {\n if (\n typeof value === 'function' &&\n !isSignal(value) &&\n !isYieldableReactiveValue(value) &&\n !isNonYieldableInsertionMethod(value)\n ) {\n const injector = getInjector();\n const methodInjector = ɵcreateHostTaggedInjector(\n injector,\n `method:${key}`,\n [\n ɵprovidePrimitiveMethodRuntimeContext(\n 'query',\n {\n state: resourceTarget.state,\n set: resourceTarget.set,\n update: resourceTarget.update,\n patch: (patchFn) =>\n resourceTarget.update((current: any) => ({\n ...current,\n ...patchFn(current),\n })),\n },\n value as (...args: never[]) => unknown,\n ),\n ],\n );\n const wrappedFn = runInInjectionContext(methodInjector, () =>\n injectFnWrapper()(value as (...args: unknown[]) => unknown),\n );\n wrappedAcc[key] = createYieldableInsertionMethod(wrappedFn, {\n injector: methodInjector,\n invalidYieldErrorMessage: QUERY_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage: QUERY_APP_START_ERROR_MESSAGE,\n });\n } else {\n const namedValue = nameInsertedReactiveValue(\n value,\n key,\n 'query',\n `${name}.${key}`,\n );\n wrappedAcc[key] = createYieldableReactiveFacade(namedValue, {\n name: key,\n primitive: 'query',\n insertion: key,\n path: `${name}.${key}`,\n });\n }\n return wrappedAcc;\n },\n {} as Record<string, unknown>,\n );\n return { ...acc, ...wrappedResult };\n },\n {} as Record<string, unknown>,\n );\n\n const snapshotRegistry = injector\n ? injector.get(APP_SNAPSHOT_REGISTRY, null)\n : (() => {\n try {\n return inject(APP_SNAPSHOT_REGISTRY, { optional: true });\n } catch {\n return null;\n }\n })();\n\n const hostTagList: readonly string[] = injector\n ? (injector.get(ɵHOST_TAG_LIST, null) ?? [])\n : (() => {\n try {\n return inject(ɵHOST_TAG_LIST, { optional: true }) ?? [];\n } catch {\n return [];\n }\n })();\n\n const destroyRefQuery = injector\n ? injector.get(DestroyRef, null)\n : (() => {\n try {\n return inject(DestroyRef, { optional: true });\n } catch {\n return null;\n }\n })();\n\n if (snapshotRegistry && destroyRefQuery) {\n snapshotRegistry.triggerSnapshot$\n .pipe(takeUntilDestroyed(destroyRefQuery))\n .subscribe(() => {\n const insertionSnapshots = triggerAndCollectInsertions(\n insertionSnapshotRegistry,\n );\n let stateSnapshot: unknown;\n try {\n if (isUsingIdentifier) {\n const byId = (resourceTarget as any)();\n stateSnapshot = {\n params: (resourceParamsSrc as any)?.(),\n resources: Object.entries(byId ?? {}).reduce(\n (acc, [id, res]: [string, any]) => {\n acc[id] = res?.state?.();\n return acc;\n },\n {} as Record<string, unknown>,\n ),\n ...(insertionSnapshots ? { insertions: insertionSnapshots } : {}),\n };\n } else {\n const resourceState = (resourceTarget as any).state();\n stateSnapshot = {\n params: (resourceParamsSrc as any)?.(),\n ...resourceState,\n ...(insertionSnapshots ? { insertions: insertionSnapshots } : {}),\n };\n }\n } catch (error) {\n stateSnapshot = {\n error: error instanceof Error ? error.message : String(error),\n };\n }\n snapshotRegistry.allSnapShot$.next({\n source: 'query',\n from: hostTagList,\n state: stateSnapshot,\n });\n });\n }\n\n const queryOutput = Object.assign(\n queryOutputWithoutInsertions,\n insertionsResult,\n );\n if (!('resource' in queryOutput)) {\n Object.defineProperty(queryOutput, 'resource', {\n value: queryOutput,\n enumerable: false,\n configurable: true,\n });\n }\n const publicQuery = createYieldableReactiveFacade(queryOutput, {\n name,\n primitive: 'query',\n path: name,\n });\n return (hasDeepYieldableInsertion(insertions)\n ? deepYieldable(publicQuery)\n : publicQuery) as unknown as QueryOutput<\n StripCraftException<QueryState>,\n StripCraftException<QueryParams>,\n QueryArgsParams,\n StripCraftException<QueryParams>,\n GroupIdentifier,\n {},\n ResourceExceptionConstraints\n >;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactive-read.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/reactive-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactive-read.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/reactive-read.ts"],"names":[],"mappings":"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","sourcesContent":["import { isCraftSignal, type CraftSignal as Signal } from './host/craft-signal';\nimport { craftToken } from './host/craft-injector';\nimport type { SourceBranded } from './util/util';\n\nfunction isCallableSignal(value: unknown): boolean {\n if (typeof value !== 'function') {\n return false;\n }\n const symbols = Object.getOwnPropertySymbols(value);\n return (\n symbols.some((symbol) => symbol.description === 'SIGNAL') ||\n 'set' in value ||\n 'update' in value\n );\n}\n\n/** Runtime/type brand carried by named reactive values exposed to templates. */\nexport const YIELDABLE_VALUE = Symbol('craft-yieldable-value');\n\n/** Internal marker used by the synchronous Craft generator driver. */\nexport const REACTIVE_READ_REQUEST = Symbol('craft-reactive-read-request');\n\n/** Internal escape hatch used by Craft itself to retain the raw host signal. */\nexport const RAW_REACTIVE_VALUE = Symbol('craft-raw-reactive-value');\nconst RAW_REACTIVE_ACTION = Symbol('craft-raw-reactive-action');\n\n/** Type/runtime marker retaining the reader's resolved value type. */\nexport const REACTIVE_VALUE_TYPE = Symbol('craft-reactive-value-type');\n\n/** Type-only carrier identifying the root reader and projected path. */\nexport const YIELDABLE_DEPENDENCY = Symbol('craft-yieldable-dependency');\n\n/** Runtime/type marker for an explicitly adapted deep-yieldable reader. */\nexport const DEEP_YIELDABLE = Symbol('craft-deep-yieldable');\n\n/** Type-only carrier propagated by computed readers. */\nexport const REACTIVE_DEPENDENCIES = Symbol('craft-reactive-dependencies');\n\n/** Marker carried by the opt-in primitive insertion. */\nexport const DEEP_YIELDABLE_INSERTION = Symbol(\n 'craft-deep-yieldable-insertion',\n);\n\nexport type ReactiveDependencyMap = Readonly<{\n readonly source: unknown;\n readonly path: string;\n}>;\n\nexport type YieldableDependency<Source, Path extends string> = {\n readonly [YIELDABLE_DEPENDENCY]?: {\n readonly source: Source;\n readonly path: Path;\n };\n};\n\ntype DeepYieldableReadRequest<\n Value,\n Source,\n Path extends string,\n> = ReactiveReadRequest<Value> & YieldableDependency<Source, Path>;\n\ntype DeepYieldableObject<\n Value extends object,\n Source,\n Path extends string,\n Depth extends readonly unknown[],\n> = Depth extends readonly []\n ? {}\n : Value extends readonly unknown[]\n ? {}\n : Value extends (...args: any[]) => any\n ? {}\n : {\n readonly [Key in keyof Value as Key extends\n | typeof YIELDABLE_VALUE\n | typeof RAW_REACTIVE_VALUE\n | typeof REACTIVE_VALUE_TYPE\n | typeof YIELDABLE_DEPENDENCY\n | typeof DEEP_YIELDABLE\n ? never\n : Key]: DeepYieldableValue<\n Value[Key],\n Source,\n `${Path}.${Extract<Key, string>}`,\n Depth extends readonly [unknown, ...infer Rest] ? Rest : readonly []\n >;\n };\n\n/** A lazily projected, yieldable view of one value property. */\nexport type DeepYieldableValue<\n Value,\n Source,\n Path extends string,\n Depth extends readonly unknown[] = readonly [\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n ],\n> = (() => Generator<\n DeepYieldableReadRequest<Value, Source, Path>,\n Value,\n unknown\n>) &\n YieldableDependency<Source, Path> &\n (Value extends object ? DeepYieldableObject<Value, Source, Path, Depth> : {});\n\ntype ReaderValue<Reader> =\n Reader extends YieldableReactiveValue<infer Value, any, any>\n ? Value\n : Reader extends (...args: any[]) => Generator<any, infer Value, any>\n ? Value\n : never;\n\ntype ReaderName<Reader> =\n Reader extends YieldableReactiveValue<any, infer Name extends string, any>\n ? Name\n : string;\n\n/** Type returned by {@link deepYieldable}. */\nexport type DeepYieldableReaderOf<Reader> = Reader &\n DeepYieldableObject<\n NonNullable<ReaderValue<Reader>> extends object\n ? NonNullable<ReaderValue<Reader>>\n : {},\n Reader,\n ReaderName<Reader>,\n readonly [\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n unknown,\n ]\n > &\n DeepYieldableMarker & {\n readonly [DEEP_YIELDABLE]: true;\n };\n\n/**\n * A reactive reader whose object-valued result can be projected property by\n * property (`reader.profile.name`) while keeping every projection yieldable.\n */\nexport type DeepYieldableReactiveValue<\n Value,\n Name extends string = string,\n> = DeepYieldableReaderOf<YieldableReactiveValue<Value, Name>>;\n\n/** Structural companion to the runtime symbol, usable across project references. */\nexport type DeepYieldableMarker = {\n readonly __craftDeepYieldable: true;\n};\n\nexport type ReactiveDependencyMapFromYielded<Yielded> = Yielded extends {\n readonly [YIELDABLE_DEPENDENCY]?: infer Dependency;\n}\n ? Dependency\n : never;\n\nexport type DeepYieldableInsertion = {\n readonly [DEEP_YIELDABLE_INSERTION]: true;\n} & ((context: unknown) => {\n readonly [DEEP_YIELDABLE_INSERTION]: true;\n});\n\nexport function insertDeepYieldable(): DeepYieldableInsertion {\n const insertion = (() => ({})) as unknown as DeepYieldableInsertion;\n Object.defineProperty(insertion, DEEP_YIELDABLE_INSERTION, {\n value: true,\n enumerable: false,\n });\n return insertion;\n}\n\nexport function hasDeepYieldableInsertion(\n insertions: readonly unknown[],\n): boolean {\n return insertions.some(\n (insertion) =>\n typeof insertion === 'function' && DEEP_YIELDABLE_INSERTION in insertion,\n );\n}\n\nexport type NamedYieldableValue<\n Name extends string = string,\n Value = unknown,\n> = Value & {\n readonly [YIELDABLE_VALUE]: Name;\n};\n\nexport type ReactiveReadIdentity = Readonly<{\n /** Stable display name of the reactive value. */\n name: string;\n /** Owning primitive, when the reader comes from one. */\n primitive?: string;\n /** Full property path below the owning primitive. */\n path?: string;\n /** Insertion key, when the value was created by an insertion. */\n insertion?: string;\n /** Computed name, when the value is a craftComputed. */\n computed?: string;\n}>;\n\n/** A request emitted by a public reactive reader and resolved by Craft. */\nexport type ReactiveReadRequest<T = unknown> = Readonly<{\n [REACTIVE_READ_REQUEST]: true;\n identity: ReactiveReadIdentity;\n read: () => T;\n}>;\n\n/** Public contract of every reactive value exposed by Craft. */\nexport type YieldableReactiveValue<\n T,\n Name extends string = string,\n Yielded = never,\n> = NamedYieldableValue<\n Name,\n (() => Generator<ReactiveReadRequest<T> | Yielded, T, unknown>) & {\n readonly [RAW_REACTIVE_VALUE]: Signal<T>;\n readonly [REACTIVE_VALUE_TYPE]: T;\n } & Signal<T>\n>;\n\nexport type YieldableReactiveSignal<\n Value extends Signal<any>,\n Name extends string,\n> = YieldableReactiveValue<\n Value extends Signal<infer State> ? State : never,\n Name\n> &\n Omit<Value, keyof Signal<any>>;\n\nexport type YieldableReactiveAction<Action extends (...args: any[]) => any> = ((\n ...args: Parameters<Action>\n) => Generator<never, ReturnType<Action>, unknown>) & {\n readonly [RAW_REACTIVE_ACTION]: Action;\n};\n\n/** Recursively restores the raw signal-shaped contract used by Craft internals. */\nexport type RawReactiveProperties<Shape> =\n Shape extends YieldableReactiveValue<infer Value, any>\n ? Signal<Value>\n : Shape extends { readonly [RAW_REACTIVE_ACTION]: infer Action }\n ? Action\n : Shape extends (...args: any[]) => any\n ? Shape\n : Shape extends object\n ? {\n [Key in keyof Shape]: Key extends 'select' | 'selectOrCreate'\n ? Shape[Key] extends (...args: infer Args) => infer Result\n ? (...args: Args) => RawReactiveProperties<Result>\n : RawReactiveProperties<Shape[Key]>\n : RawReactiveProperties<Shape[Key]>;\n }\n : Shape;\n\n/** Recursively replaces exposed Angular signals while preserving methods/plain values. */\nexport type YieldableReactiveProperties<Shape> = Shape extends SourceBranded\n ? Shape extends Signal<any>\n ? YieldableReactiveSignal<Shape, string>\n : Shape\n : Shape extends YieldableReactiveValue<any, any>\n ? Shape\n : Shape extends Signal<any>\n ? YieldableReactiveSignal<Shape, string>\n : Shape extends (...args: any[]) => any\n ? Shape\n : Shape extends object\n ? {\n [Key in keyof Shape]: Shape[Key] extends SourceBranded\n ? Shape[Key] extends Signal<any>\n ? YieldableReactiveSignal<\n Shape[Key],\n Key extends string ? Key : string\n >\n : Shape[Key]\n : Shape[Key] extends Signal<any>\n ? Shape[Key] extends YieldableReactiveValue<any, any>\n ? Shape[Key]\n : YieldableReactiveSignal<\n Shape[Key],\n Key extends string ? Key : string\n >\n : Shape[Key] extends YieldableReactiveValue<any, any>\n ? Shape[Key]\n : Shape[Key] extends (...args: any[]) => any\n ? Key extends 'select' | 'selectOrCreate'\n ? (\n ...args: Parameters<Shape[Key]>\n ) => YieldableReactiveProperties<\n ReturnType<Shape[Key]>\n >\n : Key extends 'reload' | 'refresh'\n ? YieldableReactiveAction<Shape[Key]>\n : Shape[Key]\n : Shape[Key] extends object\n ? YieldableReactiveProperties<Shape[Key]>\n : Shape[Key];\n }\n : Shape;\n\nexport type ReactiveReadEdge = Readonly<{\n reader?: ReactiveReadIdentity;\n dependency: ReactiveReadIdentity;\n}>;\n\nexport type ReactiveReadObserver = (edge: ReactiveReadEdge) => void;\n\nlet activeReactiveReader: ReactiveReadIdentity | undefined;\n\nexport function ɵactiveReactiveReader(): ReactiveReadIdentity | undefined {\n return activeReactiveReader;\n}\n\nexport function ɵwithActiveReactiveReader<T>(\n identity: ReactiveReadIdentity,\n read: () => T,\n): T {\n const previous = activeReactiveReader;\n activeReactiveReader = identity;\n try {\n return read();\n } finally {\n activeReactiveReader = previous;\n }\n}\n\n/** Observability hook notified whenever a Craft generator resolves a reactive read. */\nexport const REACTIVE_READ_OBSERVERS = Object.assign(\n craftToken<readonly ReactiveReadObserver[]>('REACTIVE_READ_OBSERVERS'),\n {\n ɵfactory: (): readonly ReactiveReadObserver[] => [],\n },\n);\n\nexport function provideReactiveReadObserver(\n observer: ReactiveReadObserver,\n): {\n provide: typeof REACTIVE_READ_OBSERVERS;\n useValue: ReactiveReadObserver;\n multi: true;\n} {\n return { provide: REACTIVE_READ_OBSERVERS, useValue: observer, multi: true };\n}\n\nexport function isReactiveReadRequest(\n value: unknown,\n): value is ReactiveReadRequest {\n return (\n typeof value === 'object' &&\n value !== null &&\n REACTIVE_READ_REQUEST in value\n );\n}\n\nexport function isYieldableReactiveValue(\n value: unknown,\n): value is YieldableReactiveValue<unknown> {\n return (\n typeof value === 'function' &&\n RAW_REACTIVE_VALUE in value &&\n YIELDABLE_VALUE in value\n );\n}\n\nexport function rawReactiveValue<T>(\n value: YieldableReactiveValue<T>,\n): Signal<T> {\n return value[RAW_REACTIVE_VALUE];\n}\n\n/** Reconstructs the internal signal-shaped view expected by legacy internals. */\nconst rawFacadeCache = new WeakMap<object, unknown>();\n\nexport function rawReactiveFacade<Shape>(\n value: Shape,\n): RawReactiveProperties<Shape> {\n if (isYieldableReactiveValue(value)) {\n return rawReactiveValue(value) as RawReactiveProperties<Shape>;\n }\n if (typeof value === 'function' && RAW_REACTIVE_ACTION in value) {\n return value[RAW_REACTIVE_ACTION] as RawReactiveProperties<Shape>;\n }\n if (typeof value !== 'object' || value === null) {\n return value as RawReactiveProperties<Shape>;\n }\n const cached = rawFacadeCache.get(value);\n if (cached) return cached as RawReactiveProperties<Shape>;\n const facade = new Proxy(value, {\n get(target, property, receiver) {\n return rawReactiveFacade(Reflect.get(target, property, receiver));\n },\n });\n rawFacadeCache.set(value, facade);\n return facade as RawReactiveProperties<Shape>;\n}\n\n/** Applies an insertion key to an anonymous craftComputed reader. */\nexport function nameInsertedReactiveValue<const Name extends string>(\n value: unknown,\n name: Name,\n primitive: string,\n path: string,\n): unknown {\n if (!isYieldableReactiveValue(value)) return value;\n if (value[YIELDABLE_VALUE] !== 'computed') return value;\n return createYieldableReactiveValue(value[RAW_REACTIVE_VALUE], name, {\n primitive,\n insertion: name,\n computed: name,\n path,\n });\n}\n\nexport function createYieldableReactiveValue<T, const Name extends string>(\n source: Signal<T>,\n name: Name,\n identity: Omit<ReactiveReadIdentity, 'name'> = {},\n): YieldableReactiveValue<T, Name> {\n const reader = function* reactiveReader(): Generator<\n ReactiveReadRequest<T>,\n T,\n unknown\n > {\n const value = yield {\n [REACTIVE_READ_REQUEST]: true,\n identity: { name, ...identity },\n read: source,\n };\n return value as T;\n };\n\n Object.defineProperties(reader, {\n [YIELDABLE_VALUE]: {\n value: name,\n enumerable: false,\n configurable: true,\n },\n [RAW_REACTIVE_VALUE]: {\n value: source,\n enumerable: false,\n configurable: true,\n },\n [REACTIVE_VALUE_TYPE]: {\n get: source,\n enumerable: false,\n configurable: true,\n },\n });\n\n return reader as YieldableReactiveValue<T, Name>;\n}\n\nconst deepYieldableCache = new WeakMap<object, unknown>();\nconst deepYieldableRoots = new WeakSet<object>();\n\nfunction rawSourceOf(value: object): Signal<unknown> | undefined {\n const descriptor = Object.getOwnPropertyDescriptor(value, RAW_REACTIVE_VALUE);\n return descriptor?.value as Signal<unknown> | undefined;\n}\n\nfunction readProjectedPath(\n source: () => unknown,\n path: readonly PropertyKey[],\n): unknown {\n let value: unknown = source();\n for (const property of path) {\n value = value == null ? undefined : Reflect.get(Object(value), property);\n }\n return value;\n}\n\nfunction createDeepProjection(\n root: object,\n path: readonly PropertyKey[],\n): unknown {\n const pathText = [\n String(Reflect.get(root, YIELDABLE_VALUE) ?? 'reader'),\n ...path.map(String),\n ].join('.');\n const rootSignal = rawSourceOf(root);\n\n const reader = function* deepProjectedReader(): Generator<\n ReactiveReadRequest<unknown>,\n unknown,\n unknown\n > {\n if (rootSignal) {\n const value = yield {\n [REACTIVE_READ_REQUEST]: true,\n identity: {\n name: String(path[path.length - 1] ?? pathText),\n path: pathText,\n },\n read: () => readProjectedPath(rootSignal, path),\n };\n return value;\n }\n\n const rootValue =\n typeof root === 'function'\n ? yield* (\n root as unknown as () => Generator<\n ReactiveReadRequest<unknown>,\n unknown,\n unknown\n >\n )()\n : root;\n return readProjectedPath(() => rootValue, path);\n };\n\n Object.defineProperty(reader, YIELDABLE_VALUE, {\n value: pathText,\n enumerable: false,\n });\n\n return new Proxy(reader, {\n get(target, property, receiver) {\n if (isFunctionNativeProperty(property)) {\n return Reflect.get(target, property, receiver);\n }\n if (property === '__craftDeepYieldable') return true;\n if (property !== 'name' && Reflect.has(target, property)) {\n return Reflect.get(target, property, receiver);\n }\n if (typeof property !== 'string' && typeof property !== 'number') {\n return undefined;\n }\n return getDeepProjection(root, [...path, property]);\n },\n has(target, property) {\n if (isFunctionNativeProperty(property)) return true;\n return Reflect.has(target, property);\n },\n });\n}\n\nfunction getDeepProjection(\n root: object,\n path: readonly PropertyKey[],\n): unknown {\n const cacheKey = path.map(String).join('.');\n const cached = deepYieldableCache.get(root);\n if (cached && cached instanceof Map && cached.has(cacheKey)) {\n return cached.get(cacheKey);\n }\n\n const projection = createDeepProjection(root, path);\n const nextCache = cached instanceof Map ? cached : new Map<string, unknown>();\n nextCache.set(cacheKey, projection);\n deepYieldableCache.set(root, nextCache);\n return projection;\n}\n\nfunction isFunctionNativeProperty(property: PropertyKey): boolean {\n return (\n property === 'prototype' ||\n property === 'arguments' ||\n property === 'caller'\n );\n}\n\n/**\n * Explicitly adapts a reader so data properties become stable lazy readers.\n * Ordinary readers are deliberately left untouched until this function is\n * called.\n */\nexport function deepYieldable<Reader>(\n reader: Reader,\n): Reader extends object ? DeepYieldableReaderOf<Reader> : Reader {\n if (\n (typeof reader !== 'function' &&\n (typeof reader !== 'object' || reader === null)) ||\n deepYieldableRoots.has(reader as object)\n ) {\n return reader as Reader extends object\n ? DeepYieldableReaderOf<Reader>\n : Reader;\n }\n\n const root = reader as unknown as object;\n const facade = new Proxy(root, {\n get(target, property, receiver) {\n if (isFunctionNativeProperty(property)) {\n return Reflect.get(target, property, receiver);\n }\n if (property === '__craftDeepYieldable') return true;\n if (\n property !== 'name' &&\n rawSourceOf(root) &&\n Reflect.has(target, property)\n ) {\n return Reflect.get(target, property, receiver);\n }\n if (property === YIELDABLE_VALUE) return 'deep-yieldable';\n if (property === DEEP_YIELDABLE) return true;\n if (typeof property !== 'string' && typeof property !== 'number') {\n return undefined;\n }\n return getDeepProjection(root, [property]);\n },\n has(target, property) {\n if (isFunctionNativeProperty(property)) return true;\n return (\n property === '__craftDeepYieldable' ||\n property === YIELDABLE_VALUE ||\n property === DEEP_YIELDABLE ||\n Reflect.has(target, property)\n );\n },\n });\n Object.defineProperty(facade, '__craftDeepYieldable', {\n value: true,\n enumerable: false,\n });\n deepYieldableRoots.add(facade);\n return facade as Reader extends object\n ? DeepYieldableReaderOf<Reader>\n : Reader;\n}\n\nconst facadeCache = new WeakMap<object, Map<string, unknown>>();\n\n/**\n * Creates a non-mutating public view of a primitive/ref. Signal calls become\n * reactive read generators; non-reactive methods and values keep their runtime\n * contract. Nested signal properties are adapted lazily and cached.\n */\nexport function createYieldableReactiveFacade<Shape>(\n value: Shape,\n identity: ReactiveReadIdentity,\n): YieldableReactiveProperties<Shape> {\n return createFacade(\n value,\n identity,\n identity.path ?? identity.name,\n ) as YieldableReactiveProperties<Shape>;\n}\n\n/**\n * Creates the deep reader used by resource collections such as\n * `query.exceptions`. Unlike `deepYieldable`, this starts from the raw signal\n * so the primitive can opt one reactive property into deep projection without\n * making the whole primitive deeply yieldable.\n */\nexport function createDeepYieldableReactiveValue<\n Value,\n const Name extends string,\n>(\n source: Signal<Value>,\n name: Name,\n identity: Omit<ReactiveReadIdentity, 'name'> = {},\n): DeepYieldableReactiveValue<Value, Name> {\n return deepYieldable(\n createYieldableReactiveValue(source, name, identity),\n ) as DeepYieldableReactiveValue<Value, Name>;\n}\n\nfunction createFacade(\n value: unknown,\n identity: ReactiveReadIdentity,\n path: string,\n deep = false,\n): unknown {\n if (typeof value !== 'object' && typeof value !== 'function') return value;\n if (value === null) return value;\n // Generator/iterator instances carry native methods whose receiver must be\n // the original instance. Proxying one (for example, the invocation returned\n // by an insertion method named `select`) makes `yield*` call `.next` with the\n // proxy as receiver and throws \"incompatible receiver\".\n if (\n 'next' in value &&\n typeof (value as { next?: unknown }).next === 'function'\n ) {\n return value;\n }\n if (isDeepYieldable(value) || isYieldableReactiveValue(value)) return value;\n\n const cacheKey = `${identity.primitive ?? ''}|${identity.computed ?? ''}|${path}`;\n const cachedByPath = facadeCache.get(value as object);\n if (cachedByPath?.has(cacheKey)) return cachedByPath.get(cacheKey);\n\n let facade: unknown;\n if (isCraftSignal(value) || isCallableSignal(value)) {\n const pathParts = path.split('.');\n const propertyName = pathParts[pathParts.length - 1] ?? identity.name;\n const reader = createYieldableReactiveValue(\n value as unknown as Signal<unknown>,\n propertyName,\n {\n ...identity,\n path,\n },\n );\n facade = deep\n ? deepYieldable(reader)\n : new Proxy(reader, {\n get(_target, property) {\n if (\n property === YIELDABLE_VALUE ||\n property === RAW_REACTIVE_VALUE\n ) {\n return Reflect.get(reader, property);\n }\n if (!Reflect.has(value, property) && Reflect.has(reader, property)) {\n return createFacade(\n Reflect.get(reader, property),\n identity,\n `${path}.${String(property)}`,\n );\n }\n const child = Reflect.get(value, property);\n if (\n (property === 'select' || property === 'selectOrCreate') &&\n typeof child === 'function'\n ) {\n return (...args: unknown[]) =>\n createFacade(\n Reflect.apply(child, value, args),\n identity,\n `${path}.${String(property)}.${String(args[0] ?? 'selected')}`,\n );\n }\n return createFacade(\n child,\n {\n ...identity,\n insertion:\n identity.insertion ??\n (typeof property === 'string' ? property : undefined),\n },\n `${path}.${String(property)}`,\n );\n },\n ownKeys: (target) => [\n ...new Set([...Reflect.ownKeys(target), ...Reflect.ownKeys(value)]),\n ],\n getOwnPropertyDescriptor(_target, property) {\n const targetDescriptor = Reflect.getOwnPropertyDescriptor(\n reader,\n property,\n );\n if (targetDescriptor) return targetDescriptor;\n const descriptor = Reflect.getOwnPropertyDescriptor(value, property);\n return descriptor\n ? { ...descriptor, configurable: true }\n : undefined;\n },\n has: (_target, property) =>\n property === YIELDABLE_VALUE ||\n property === RAW_REACTIVE_VALUE ||\n Reflect.has(value, property),\n });\n } else {\n facade = new Proxy(value as object, {\n get(target, property, receiver) {\n const child = Reflect.get(target, property, receiver);\n if (\n (property === 'reload' || property === 'refresh') &&\n typeof child === 'function'\n ) {\n const action = function* yieldableReactiveAction(\n ...args: unknown[]\n ): Generator<never, unknown, unknown> {\n return Reflect.apply(child, target, args);\n };\n Object.defineProperty(action, RAW_REACTIVE_ACTION, { value: child });\n return action;\n }\n if (\n (property === 'select' || property === 'selectOrCreate') &&\n typeof child === 'function'\n ) {\n return (...args: unknown[]) =>\n createFacade(\n Reflect.apply(child, target, args),\n identity,\n `${path}.${String(property)}.${String(args[0] ?? 'selected')}`,\n );\n }\n if (\n !isCraftSignal(child) &&\n !isCallableSignal(child) &&\n (typeof child !== 'object' || child === null)\n ) {\n return child;\n }\n return createFacade(\n child,\n {\n ...identity,\n insertion:\n identity.insertion ??\n (typeof property === 'string' ? property : undefined),\n },\n `${path}.${String(property)}`,\n property === 'exceptions',\n );\n },\n });\n }\n\n const nextCache = cachedByPath ?? new Map<string, unknown>();\n nextCache.set(cacheKey, facade);\n if (!cachedByPath) facadeCache.set(value as object, nextCache);\n return facade;\n}\n\nfunction isDeepYieldable(value: unknown): value is DeepYieldableMarker {\n return (\n (typeof value === 'object' && value !== null) ||\n typeof value === 'function'\n ) && '__craftDeepYieldable' in (value as object);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-by-id.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/resource-by-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-by-id.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/resource-by-id.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n inject,\n signal,\n ResourceOptions,\n effect,\n untracked,\n Injector,\n InjectionToken,\n WritableSignal,\n computed,\n Signal,\n} from './host/craft-compat';\nimport { craftLinkedSignal as linkedSignal } from './host/craft-linked-signal';\nimport { preservedResource } from './preserved-resource';\nimport { Prettify } from './util/util.type';\nimport { CraftResourceRef } from './util/craft-resource-ref';\nimport {\n resourceByIdChangesTracker,\n resourceByIdChangesTrackerResult,\n} from './util/resource-by-id-changes-tracker.util';\n\nexport type ResourceByIdHandler<\n GroupIdentifier extends string,\n State,\n ResourceParams,\n> = {\n /**\n * Reset all the CraftResourceRef instance stored in the ResourceByIdRef\n */\n reset: () => void;\n /**\n * Reset the CraftResourceRef instance associated with the provided id\n */\n resetResource: (id: GroupIdentifier) => void;\n /**\n * Add a new CraftResourceRef instance\n */\n add: (\n // todo pass params instead of id and create the id from the params using the identifier function\n params: ResourceParams,\n options?: {\n defaultValue?: State;\n },\n ) => CraftResourceRef<State, ResourceParams>;\n /**\n * ! The added resource may not load immediately if the global params do not match the identifier function.\n * Useful at the app initialization when the resource value is retrieved from a persister for example.\n */\n addById: (\n id: GroupIdentifier,\n options?: {\n defaultParam?: ResourceParams;\n defaultValue?: State;\n paramsFromResourceById?: CraftResourceRef<unknown, unknown>;\n },\n ) => CraftResourceRef<State, ResourceParams>;\n /**\n * Set the values of multiple resources. If a resource doesn't exist, it will be created.\n */\n set: (payload: Partial<Record<GroupIdentifier, State>>) => void;\n /**\n * Update values of multiple resources without removing existing ones.\n * If a resource doesn't exist, it will be created.\n */\n update: (\n payload: (\n state: Partial<Record<GroupIdentifier, State>>,\n ) => Partial<Record<GroupIdentifier, State>>,\n ) => void;\n /**\n * Tracks the status and value changes of resources.\n * Provides signals for hasChange, ids, resolved, loading, reloading, error, and onlyValueChange.\n */\n changes: resourceByIdChangesTrackerResult<GroupIdentifier>;\n /**\n * A computed signal that returns a record of all resource states by their group identifier.\n */\n state: Signal<Partial<Record<GroupIdentifier, State>>>;\n};\n\nexport type Identifier<ResourceParams, GroupIdentifier> = (\n request: NonNullable<ResourceParams>,\n) => GroupIdentifier;\n\nexport type ResourceByIdRef<\n GroupIdentifier extends string,\n State,\n ResourceParams,\n> = Signal<\n // expose a signal instead of a writableSignal to avoid typing conflicts\n Prettify<\n Partial<Record<GroupIdentifier, CraftResourceRef<State, ResourceParams>>>\n >\n> &\n ResourceByIdHandler<GroupIdentifier, State, ResourceParams>;\n\nexport type EqualParams<ResourceParams, GroupIdentifier extends string> =\n | 'default'\n | 'useIdentifier'\n | ((\n a: ResourceParams,\n b: ResourceParams,\n identifierFn: (params: ResourceParams) => GroupIdentifier,\n ) => boolean);\n\ntype ResourceByIdConfig<\n State,\n ResourceParams,\n GroupIdentifier extends string,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n> = Omit<ResourceOptions<State, ResourceParams>, 'params'> & {\n /** @internal Shared source name used by the server policy gate. */\n ssrSourceName?: string;\n} & (\n | {\n fromResourceById?: never;\n params: () => ResourceParams;\n identifier: Identifier<NoInfer<ResourceParams>, GroupIdentifier>;\n equalParams?: EqualParams<ResourceParams, GroupIdentifier>;\n }\n | {\n /**\n * Use it, when you need to bind a ResourceByIdRef to another ResourceByIdRef.\n * It will kill the fromObject keys syncing when the fromObject resource change.\n */\n fromResourceById: ResourceByIdRef<\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams\n >;\n params: (\n entity: CraftResourceRef<\n NoInfer<FromObjectState>,\n NoInfer<FromObjectResourceParams>\n >,\n ) => ResourceParams;\n identifier: Identifier<NoInfer<ResourceParams>, GroupIdentifier>;\n equalParams?: EqualParams<ResourceParams, GroupIdentifier>;\n }\n );\n\nexport function resourceById<\n State,\n ResourceParams,\n GroupIdentifier extends string,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams,\n>(\n config: ResourceByIdConfig<\n State,\n ResourceParams,\n GroupIdentifier,\n FromObjectGroupIdentifier,\n FromObjectState,\n FromObjectResourceParams\n >,\n): ResourceByIdRef<GroupIdentifier, State, ResourceParams> {\n const injector = inject(Injector);\n const { identifier, params, loader, stream, equalParams, ssrSourceName } =\n config;\n const fromResourceById =\n 'fromResourceById' in config ? config.fromResourceById : undefined;\n\n // maybe create a linkedSignal to enable to reset\n const resourceByGroup = signal<\n Partial<Record<GroupIdentifier, CraftResourceRef<State, ResourceParams>>>\n >({});\n const linkedParamsByGroup = new Map<GroupIdentifier, { destroy(): void }>();\n const rememberLinkedParams = (\n group: GroupIdentifier,\n linked: { destroy(): void },\n ): void => {\n linkedParamsByGroup.get(group)?.destroy();\n linkedParamsByGroup.set(group, linked);\n };\n const destroyLinkedParams = (group: GroupIdentifier): void => {\n linkedParamsByGroup.get(group)?.destroy();\n linkedParamsByGroup.delete(group);\n };\n const destroyAllLinkedParams = (): void => {\n linkedParamsByGroup.forEach((linked) => linked.destroy());\n linkedParamsByGroup.clear();\n };\n\n const resourceEqualParams =\n equalParams === 'useIdentifier'\n ? (a: NonNullable<ResourceParams>, b: NonNullable<ResourceParams>) =>\n a && b && identifier(a) === identifier(b)\n : equalParams;\n\n // this effect is used to create a mapped CraftResourceRef instance\n if (!fromResourceById) {\n effect(() => {\n //@ts-expect-error TypeScript misinterpreting, params here has no parameter\n const requestValue = params();\n if (!requestValue) {\n return;\n }\n const group = identifier(requestValue);\n\n // The effect should only trigger when the request change\n const resourceByGroupValue = untracked(() => resourceByGroup());\n const groupCraftResourceRefExist = resourceByGroupValue[group];\n if (groupCraftResourceRefExist) {\n // nothing to do, the resource is already bind with the request\n return;\n }\n\n const filteredRequestByGroup = linkedSignal({\n source: params as () => ResourceParams,\n injector,\n computation: (incomingRequestValue, previousGroupRequestData) => {\n if (!incomingRequestValue) {\n return incomingRequestValue;\n }\n // filter the request push a value by comparing with the current group\n if (identifier(incomingRequestValue) !== group) {\n return previousGroupRequestData?.value;\n }\n // The request push a value that concerns the current group\n return incomingRequestValue;\n },\n });\n rememberLinkedParams(group, filteredRequestByGroup);\n\n const paramsWithEqualRule = computed(() => filteredRequestByGroup(), {\n ...(equalParams !== 'default' && {\n equal: resourceEqualParams as (\n a: ReturnType<typeof filteredRequestByGroup>,\n b: ReturnType<typeof filteredRequestByGroup>,\n ) => boolean,\n }),\n });\n\n const CraftResourceRef = createDynamicResource(injector, {\n group,\n resourceOptions: {\n loader,\n params: paramsWithEqualRule as () => ResourceParams,\n stream,\n ssrSourceName,\n },\n });\n\n // attach a new instance of CraftResourceRef to the resourceByGroup\n resourceByGroup.update((state) => ({\n ...state,\n [group]: CraftResourceRef,\n }));\n });\n }\n\n const changesTracker = resourceByIdChangesTracker(resourceByGroup);\n\n const stateSignal = computed(() => {\n const resources = resourceByGroup();\n const stateRecord: Partial<Record<GroupIdentifier, State>> = {};\n for (const [key, resource] of Object.entries(resources)) {\n if (resource) {\n const craftResource = resource as CraftResourceRef<\n State,\n ResourceParams\n >;\n if (craftResource.hasValue()) {\n stateRecord[key as GroupIdentifier] = craftResource.value();\n }\n }\n }\n return stateRecord;\n });\n\n const resourcesHandler: ResourceByIdHandler<\n GroupIdentifier,\n State,\n ResourceParams\n > = {\n changes: changesTracker,\n state: stateSignal,\n reset: () => {\n destroyAllLinkedParams();\n Object.values(resourceByGroup()).forEach((resource) =>\n (resource as CraftResourceRef<State, ResourceParams>).destroy(),\n );\n resourceByGroup.set({});\n },\n resetResource: (id: GroupIdentifier) => {\n destroyLinkedParams(id);\n resourceByGroup.update((state) => {\n const newState = { ...state };\n newState[id]?.destroy();\n delete newState[id];\n return newState;\n });\n },\n set: (payload: Partial<Record<GroupIdentifier, State>>) => {\n // Remove existing keys that are not in the payload\n const currentResources = resourceByGroup();\n Object.keys(currentResources).forEach((id) => {\n if (!(id in payload)) {\n resourcesHandler.resetResource(id as GroupIdentifier);\n }\n });\n\n // Set or create resources from the payload\n Object.entries(payload).forEach(([id, value]) => {\n const existingResource = resourceByGroup()[id as GroupIdentifier];\n if (existingResource) {\n existingResource.set(value as State);\n } else {\n // If the resource doesn't exist, create it with the provided value as default\n resourcesHandler.addById(id as GroupIdentifier, {\n defaultValue: value as State,\n });\n }\n });\n },\n update: (\n payload: (\n state: Partial<Record<GroupIdentifier, State>>,\n ) => Partial<Record<GroupIdentifier, State>>,\n ) => {\n const nextState = payload(stateSignal());\n resourcesHandler.set(nextState);\n },\n add: (resourceParams, options?: { defaultValue?: State }) => {\n const group = identifier(resourceParams as any);\n if (resourceByGroup()[group]) {\n return resourceByGroup()[group] as CraftResourceRef<\n State,\n ResourceParams\n >;\n }\n\n //@ts-expect-error ! It does not handle the case when fromResourceById is provided\n const computedParam = computed(() => params() ?? resourceParams);\n const filteredGlobalParamsByGroup = linkedSignal({\n source: computedParam as () => ResourceParams,\n injector,\n computation: (incomingParamsValue, previousGroupParamsData) => {\n if (!incomingParamsValue) {\n return incomingParamsValue;\n }\n // filter the request push a value by comparing with the current group\n if (identifier(incomingParamsValue) !== group) {\n return (\n (previousGroupParamsData?.value as ResourceParams) ??\n resourceParams\n );\n }\n // The request push a value that concerns the current group\n return incomingParamsValue;\n },\n });\n rememberLinkedParams(group, filteredGlobalParamsByGroup);\n // ! without pulling the signal here, it is not possible to load multiples resources in the same cycle\n const _pull_filteredGlobalParamsByGroup = filteredGlobalParamsByGroup();\n const paramsWithEqualRule = computed(\n filteredGlobalParamsByGroup as Signal<NonNullable<ResourceParams>>,\n //@ts-expect-error TypeScript misinterpreting\n {\n ...(equalParams !== 'default' && {\n equal: resourceEqualParams,\n }),\n },\n );\n const CraftResourceRef = createDynamicResource(injector, {\n group,\n resourceOptions: {\n loader,\n params: paramsWithEqualRule,\n stream,\n defaultValue: options?.defaultValue,\n } as ResourceOptions<State, ResourceParams>,\n });\n resourceByGroup.update((state) => ({\n ...state,\n [group]: CraftResourceRef,\n }));\n return CraftResourceRef;\n },\n addById: (\n group,\n options?: {\n defaultValue?: State;\n defaultParam?: ResourceParams;\n paramsFromResourceById?: CraftResourceRef<unknown, unknown>;\n },\n ) => {\n // Check if the resource already exist\n const existing = resourceByGroup()[group];\n if (existing) {\n // A global params watch may have created this entry just before a\n // persister restores its cached value. Apply that value to the\n // existing ref as well; otherwise the restore is silently discarded\n // and the in-flight request wins with a loading status.\n if (options?.defaultValue !== undefined && !existing.hasValue()) {\n existing.set(options.defaultValue);\n }\n return existing as CraftResourceRef<State, ResourceParams>;\n }\n const filteredGlobalParamsByGroup = linkedSignal({\n source: () =>\n params(\n options?.paramsFromResourceById as CraftResourceRef<\n FromObjectState,\n FromObjectResourceParams\n >,\n ),\n injector,\n computation: (incomingParamsValue, previousGroupParamsData) => {\n if (!incomingParamsValue) {\n return incomingParamsValue ?? options?.defaultParam;\n }\n // filter the request push a value by comparing with the current group\n if (identifier(incomingParamsValue) !== group) {\n return (\n (previousGroupParamsData?.value as ResourceParams) ??\n options?.defaultParam\n );\n }\n // The request push a value that concerns the current group\n return incomingParamsValue;\n },\n });\n rememberLinkedParams(group, filteredGlobalParamsByGroup);\n\n // ! without pulling the signal here, it is not possible to load multiples resources in the same cycle\n const _pull_filteredGlobalParamsByGroup = filteredGlobalParamsByGroup();\n const paramsWithEqualRule = computed(\n filteredGlobalParamsByGroup as Signal<NonNullable<ResourceParams>>,\n //@ts-expect-error TypeScript misinterpreting\n {\n ...(equalParams !== 'default' && {\n equal: resourceEqualParams,\n }),\n },\n );\n const CraftResourceRef = createDynamicResource(injector, {\n group,\n resourceOptions: {\n loader,\n params: paramsWithEqualRule,\n stream,\n defaultValue: options?.defaultValue,\n } as ResourceOptions<State, ResourceParams>,\n });\n if (options?.defaultValue !== undefined) {\n CraftResourceRef.set(options.defaultValue);\n }\n resourceByGroup.update((state) => ({\n ...state,\n [group]: CraftResourceRef,\n }));\n return CraftResourceRef;\n },\n };\n\n if (!fromResourceById) {\n return Object.assign(resourceByGroup.asReadonly(), resourcesHandler);\n }\n\n effect(() => {\n const fromResourceByIdValue = fromResourceById?.();\n if (!fromResourceByIdValue) {\n return;\n }\n const resourceByGroupValue = resourceByGroup();\n Object.entries(fromResourceByIdValue).forEach(([key, resource]) => {\n const currentParams = params(\n resource as CraftResourceRef<FromObjectState, FromObjectResourceParams>,\n );\n if (!currentParams) {\n return;\n }\n\n untracked(() => {\n const group = identifier(currentParams as any);\n const existingCraftResourceRef = resourceByGroupValue[group];\n if (existingCraftResourceRef) {\n return;\n }\n resourcesHandler.addById(group, {\n paramsFromResourceById: resource as CraftResourceRef<\n FromObjectState,\n FromObjectResourceParams\n >,\n });\n });\n });\n });\n\n return Object.assign(resourceByGroup.asReadonly(), resourcesHandler);\n}\n\nconst RESOURCE_INSTANCE_TOKEN = new InjectionToken<\n CraftResourceRef<unknown, unknown>\n>(\n 'Injection token used to provide a dynamically created CraftResourceRef instance.',\n);\n\ninterface DynamicResourceConfig<T, R, GroupIdentifier extends string> {\n resourceOptions: ResourceOptions<T, R> & { ssrSourceName?: string };\n group: GroupIdentifier;\n}\n\n/**\n * It is not possible to instantiate a resource from within an effect directly:\n * NG0602: effect() cannot be called from within a reactive context.\n *\n * The workaround is to create a dynamic injection token using a factory function,\n * which instantiates the resource using the provided configuration.\n *\n * Maybe their is a better way to instantiate a resource dynamically.\n */\nfunction createDynamicResource<T, R, GroupIdentifier extends string>(\n parentInjector: Injector,\n resourceConfig: DynamicResourceConfig<T, R, GroupIdentifier>,\n) {\n const injector = Injector.create({\n providers: [\n {\n provide: RESOURCE_INSTANCE_TOKEN,\n useFactory: () => preservedResource(resourceConfig.resourceOptions),\n },\n ],\n parent: parentInjector,\n });\n\n const CraftResourceRef = injector.get(RESOURCE_INSTANCE_TOKEN);\n return CraftResourceRef as CraftResourceRef<T, R>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-exception.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/resource-exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAU,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,KAAK,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElD,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,MAAM,EAAE,iBAAiB,GAAG,EAAE,CAAC;IAC/B,MAAM,EAAE,iBAAiB,GAAG,EAAE,CAAC;CAChC,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,MAAM,EAAE,iBAAiB,GAAG,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC3C,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE;IACJ,KAAK,EAAE,sBAAsB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACA,iBAAiB,CAiBnB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACxC,EAAE,EAAE,MAAM,GACT,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAQnC;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,iBAAiB,EACjB,eAAe,GAChB,EAAE;IACD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACxD;oCAKc,iBAAiB,GAAG,SAAS,OACnC,MAAM;;;iCAwDuB,MAAM;mCAcJ,MAAM;EAU7C"}
|