@craft-ts/core 0.7.0-beta.13 → 0.7.0-beta.16
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":"take-app-snapshot.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/take-app-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,cAAc,EAAY,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAgB,OAAO,EAAO,MAAM,MAAM,CAAC;AAIlD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB;AAED,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,gBAAgB,gBAAuB;IAChD,QAAQ,CAAC,YAAY,0BAAiC;IACtD,QAAQ,CAAC,iBAAiB,8BAAqC;CAChE;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,yBAAyB;IACpC,QAAQ,CAAC,QAAQ,gBAAuB;IACxC,QAAQ,CAAC,qBAAqB,mCAA0C;CACzE;AAED,eAAO,MAAM,qBAAqB,qCAGjC,CAAC;AAEF,eAAO,MAAM,2BAA2B,2CACsC,CAAC;AAE/E,eAAO,MAAM,iBAAiB,uBAA4B,IAAI,CAS7D,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,GACtC,QAAQ,EAAE,CAsCZ;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,yBAAyB,GAAG,IAAI,GAAG,SAAS,GACrD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CASrC;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CA2BT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"take-app-snapshot.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/take-app-snapshot.ts"],"names":[],"mappings":"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","sourcesContent":["import { inject, InjectionToken, isSignal, type Provider } from './host/craft-compat';\nimport { debounceTime, Subject, tap } from 'rxjs';\nimport { provideFnWrapper } from './fn-wrapper';\nimport { isCraftControlFlow } from './craft-control-flow';\n\nexport interface SnapshotReport {\n source: string;\n from: readonly string[];\n state: unknown;\n}\n\nexport interface ActiveEffectReport {\n source: string;\n from: readonly string[];\n}\n\nexport class AppSnapshotRegistry {\n readonly triggerSnapshot$ = new Subject<void>();\n readonly allSnapShot$ = new Subject<SnapshotReport>();\n readonly allActiveEffects$ = new Subject<ActiveEffectReport>();\n}\n\nexport interface InsertionSnapshotReport {\n key: string;\n value: unknown;\n}\n\nexport class InsertionSnapshotRegistry {\n readonly trigger$ = new Subject<void>();\n readonly allInsertionSnapshot$ = new Subject<InsertionSnapshotReport>();\n}\n\nexport const APP_SNAPSHOT_REGISTRY = new InjectionToken<AppSnapshotRegistry>(\n 'APP_SNAPSHOT_REGISTRY',\n { providedIn: 'root', factory: () => new AppSnapshotRegistry() },\n);\n\nexport const INSERTION_SNAPSHOT_REGISTRY =\n new InjectionToken<InsertionSnapshotRegistry>('INSERTION_SNAPSHOT_REGISTRY');\n\nexport const TAKE_APP_SNAPSHOT = new InjectionToken<() => void>(\n 'TAKE_APP_SNAPSHOT',\n {\n providedIn: 'root',\n factory: () => {\n const registry = inject(APP_SNAPSHOT_REGISTRY);\n return () => registry.triggerSnapshot$.next();\n },\n },\n);\n\nexport function provideTakeAppSnapshot(\n fn: (reports: SnapshotReport[]) => void,\n): Provider[] {\n return [\n {\n provide: TAKE_APP_SNAPSHOT,\n useFactory: () => {\n const registry = inject(APP_SNAPSHOT_REGISTRY);\n const pending: SnapshotReport[] = [];\n registry.allSnapShot$\n .pipe(\n tap((s) => pending.push(s)),\n debounceTime(500),\n )\n .subscribe(() => {\n const toProcess = [...pending];\n pending.length = 0;\n fn(toProcess);\n });\n return () => registry.triggerSnapshot$.next();\n },\n },\n provideFnWrapper(\n 'Warning: dependency injection here is not type-safe and may fail at runtime',\n function* (factory, thisArg, args) {\n try {\n return yield* factory.apply(thisArg, args);\n } catch (error) {\n // CraftGenShortCircuit and CraftNotSettled are expected control-flow\n // throws. Their boundaries will consume them during rendering; they\n // must not produce an application snapshot on the way there.\n if (isCraftControlFlow(error)) {\n throw error;\n }\n inject(TAKE_APP_SNAPSHOT)();\n throw error;\n }\n },\n ),\n ];\n}\n\nexport function triggerAndCollectInsertions(\n registry: InsertionSnapshotRegistry | null | undefined,\n): Record<string, unknown> | undefined {\n if (!registry) return undefined;\n const snapshots: Record<string, unknown> = {};\n const sub = registry.allInsertionSnapshot$.subscribe(({ key, value }) => {\n snapshots[key] = value;\n });\n registry.trigger$.next();\n sub.unsubscribe();\n return Object.keys(snapshots).length > 0 ? snapshots : undefined;\n}\n\nexport function snapshotSelectProxy(\n proxy: unknown,\n rawState?: unknown,\n): unknown {\n const result: Record<string, unknown> = {};\n\n if (\n rawState !== undefined &&\n rawState !== null &&\n typeof rawState === 'object'\n ) {\n Object.assign(result, rawState);\n }\n\n if (!proxy || typeof proxy !== 'object') return result;\n\n for (const [key, val] of Object.entries(proxy as Record<string, unknown>)) {\n if (isSignal(val)) {\n try {\n result[key] = (val as () => unknown)();\n } catch {\n result[key] = undefined;\n }\n } else if (key === 'items' && typeof val === 'function') {\n const nestedProxies: unknown[] = (val as () => unknown[])();\n result['items'] = nestedProxies.map((n) => snapshotSelectProxy(n));\n }\n }\n\n return result;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-trace.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/template-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAE7B,gEAAgE;AAChE,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,kDAAkD;IAClD,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;IAClE,8CAA8C;IAC9C,KAAK,EAAE,QAAQ,GAAG,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzD,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,CAAC,QAAQ,GAAG,OAAO,IAAI,CACrD,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,MAAM,QAAQ,KACjB,QAAQ,CAAC;AAEd,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,0DAM/B,CAAC;AAEH,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAM5E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,MAAM,QAAQ,GACnB,QAAQ,CAiBV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-trace.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/template-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,GAGtB,MAAM,qBAAqB,CAAC;AA8B7B,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAEpD,sBAAsB,EAAE;IACxB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;IACjB,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAChE,OAAO;QACL,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAkB,EAClB,OAA6B,EAC7B,IAAoB;IAEpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,KAAa,EAAY,EAAE;QACtC,IAAI,KAAK,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CACtB,KAAK,CACuC,CAAC;QAC/C,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import {\n InjectionToken,\n runInInjectionContext,\n type Injector,\n type Provider,\n} from './host/craft-compat';\n\n/** Metadata attached to one effective Craft template render. */\nexport type TemplateTraceContext = Readonly<{\n /** The render unit that produced the children. */\n kind: 'component' | 'block' | 'projection' | 'defer' | 'callback';\n /** The lifecycle phase of the render unit. */\n phase: 'create' | 'initialRender' | 'update' | 'destroy';\n /** The component that owns the render unit, when known. */\n componentName?: string;\n /** A stable name for the render unit, when available. */\n name?: string;\n /** Names of directives composed around the owning component. */\n directiveNames?: readonly string[];\n /** The owning component's render number. */\n renderCount: number;\n}>;\n\n/**\n * A synchronous wrapper around a template render.\n *\n * The wrapper can return its own children without calling `next()`, which\n * makes render replacement and render blocking possible. Exceptions from the\n * wrapped render are deliberately not swallowed by the runtime.\n */\nexport type TemplateTraceWrapper<Children = unknown> = (\n context: TemplateTraceContext,\n next: () => Children,\n) => Children;\n\n/** All template trace wrappers active in the current injector. */\nexport const CRAFT_TEMPLATE_TRACE = new InjectionToken<\n readonly TemplateTraceWrapper<unknown>[]\n>('CRAFT_TEMPLATE_TRACE', {\n providedIn: 'root',\n factory: () => [],\n multi: true,\n});\n\n/** Register one composable synchronous template trace wrapper. */\nexport function provideTemplateTrace(wrapper: TemplateTraceWrapper): Provider {\n return {\n provide: CRAFT_TEMPLATE_TRACE,\n useValue: wrapper,\n multi: true,\n };\n}\n\n/**\n * Execute a render through the wrappers visible from `injector`.\n *\n * The first registered wrapper is the outermost one, matching the ordering of\n * the other Craft observability hooks. Running each wrapper in the render\n * injector preserves access to component-scoped providers.\n */\nexport function executeTemplateTrace<Children>(\n injector: Injector,\n context: TemplateTraceContext,\n next: () => Children,\n): Children {\n const wrappers = injector.get(CRAFT_TEMPLATE_TRACE, []);\n if (wrappers.length === 0) {\n return next();\n }\n\n const run = (index: number): Children => {\n if (index === wrappers.length) {\n return next();\n }\n const wrapper = wrappers[\n index\n ] as unknown as TemplateTraceWrapper<Children>;\n return wrapper(context, () => run(index + 1));\n };\n\n return runInInjectionContext(injector, () => run(0));\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-runtime.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/temporal-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"temporal-runtime.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/temporal-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n InjectionToken,\n inject,\n type Provider,\n} from './host/craft-compat';\n\nexport const TEMPORAL_AWAIT_REQUEST_MARKER = Symbol(\n 'temporal-await-request-marker',\n);\n\nexport type TemporalTaskKind = 'sleep' | 'timeout' | 'schedule' | (string & {});\n\nexport type TemporalTaskStatus =\n | 'pending'\n | 'running'\n | 'completed'\n | 'cancelled';\n\nexport type TemporalTaskSnapshot = Readonly<{\n id: number;\n kind: TemporalTaskKind;\n dueAt: number;\n owner?: string;\n status: TemporalTaskStatus;\n}>;\n\nexport type TemporalScheduleOptions = Readonly<{\n kind?: TemporalTaskKind;\n owner?: string;\n destroyRef?: DestroyRef;\n signal?: AbortSignal;\n}>;\n\nexport type TemporalTaskHandle = Readonly<{\n id: number;\n cancel(): boolean;\n snapshot(): TemporalTaskSnapshot;\n}>;\n\nexport interface CraftTemporalRuntime {\n /** Monotonic time used for durations and deadlines. */\n now(): number;\n\n /** Civil time, kept separate from the monotonic duration clock. */\n dateNow(): number;\n\n schedule(\n callback: () => void,\n delayMs: number,\n options?: TemporalScheduleOptions,\n ): TemporalTaskHandle;\n\n sleep(delayMs: number, options?: TemporalScheduleOptions): Promise<void>;\n\n pendingTasks(owner?: string): readonly TemporalTaskSnapshot[];\n\n cancelAll(owner?: string): void;\n}\n\nexport type RuntimeTemporalAwaitRequest = Readonly<{\n [TEMPORAL_AWAIT_REQUEST_MARKER]: true;\n kind: 'sleep' | 'promise';\n delayMs: number;\n owner?: string;\n signal?: AbortSignal;\n}>;\n\nexport function createTemporalSleepRequest(\n delayMs: number,\n owner?: string,\n signal?: AbortSignal,\n): RuntimeTemporalAwaitRequest {\n assertDelay(delayMs);\n return {\n [TEMPORAL_AWAIT_REQUEST_MARKER]: true,\n kind: 'sleep',\n delayMs,\n ...(owner === undefined ? {} : { owner }),\n ...(signal === undefined ? {} : { signal }),\n };\n}\n\nexport function isTemporalAwaitRequest(\n value: unknown,\n): value is RuntimeTemporalAwaitRequest {\n return (\n typeof value === 'object' &&\n value !== null &&\n TEMPORAL_AWAIT_REQUEST_MARKER in value\n );\n}\n\n/**\n * Suspends an async Craft program for `delayMs`.\n *\n * This is intentionally a generator rather than a Promise factory. The\n * program driver can then replace the runtime clock in tests and can attach\n * the request to the lifetime of the injector that owns the program.\n */\nexport function craftSleep(\n delayMs: number,\n options: Readonly<{ owner?: string; signal?: AbortSignal }> = {},\n): Generator<RuntimeTemporalAwaitRequest, void, unknown> {\n return (function* () {\n yield createTemporalSleepRequest(delayMs, options.owner, options.signal);\n })();\n}\n\nexport type CraftTemporalScheduleContext = Readonly<{\n /** One-based number of the next retry/repeat attempt. */\n attempt: number;\n elapsedMs: number;\n input?: unknown;\n error?: unknown;\n}>;\n\nexport type CraftTemporalScheduleDecision =\n | Readonly<{ done: true }>\n | Readonly<{ done: false; delayMs: number }>;\n\nexport interface CraftTemporalSchedule {\n next(context: CraftTemporalScheduleContext): CraftTemporalScheduleDecision;\n}\n\nexport function fixedTemporalSchedule(\n delayMs: number,\n options: Readonly<{ maxAttempts?: number }> = {},\n): CraftTemporalSchedule {\n assertDelay(delayMs);\n const maxAttempts = normalizeMaxAttempts(options.maxAttempts);\n return {\n next: ({ attempt }) =>\n attempt > maxAttempts ? { done: true } : { done: false, delayMs },\n };\n}\n\nexport function exponentialTemporalSchedule(\n delayMs: number,\n options: Readonly<{\n factor?: number;\n maxAttempts?: number;\n maxDelayMs?: number;\n }> = {},\n): CraftTemporalSchedule {\n assertDelay(delayMs);\n const factor = options.factor ?? 2;\n if (!Number.isFinite(factor) || factor < 1) {\n throw new RangeError(\n 'Temporal schedule factor must be finite and at least 1.',\n );\n }\n const maxAttempts = normalizeMaxAttempts(options.maxAttempts);\n const maxDelayMs = options.maxDelayMs ?? Number.POSITIVE_INFINITY;\n if (maxDelayMs !== Number.POSITIVE_INFINITY) assertDelay(maxDelayMs);\n\n return {\n next: ({ attempt }) => {\n if (attempt > maxAttempts) return { done: true };\n return {\n done: false,\n delayMs: Math.min(\n maxDelayMs,\n delayMs * factor ** Math.max(0, attempt - 1),\n ),\n };\n },\n };\n}\n\nexport function sequenceTemporalSchedule(\n delays: readonly number[],\n): CraftTemporalSchedule {\n for (const delay of delays) assertDelay(delay);\n return {\n next: ({ attempt }) => {\n const delayMs = delays[attempt - 1];\n return delayMs === undefined ? { done: true } : { done: false, delayMs };\n },\n };\n}\n\nfunction normalizeMaxAttempts(value: number | undefined): number {\n const maxAttempts = value ?? Number.POSITIVE_INFINITY;\n if (\n maxAttempts !== Number.POSITIVE_INFINITY &&\n (!Number.isInteger(maxAttempts) || maxAttempts < 0)\n ) {\n throw new RangeError(\n 'Temporal schedule maxAttempts must be a non-negative integer.',\n );\n }\n return maxAttempts;\n}\n\nexport const CRAFT_TEMPORAL_RUNTIME = new InjectionToken<CraftTemporalRuntime>(\n 'CRAFT_TEMPORAL_RUNTIME',\n {\n providedIn: 'root',\n factory: () => new RealCraftTemporalRuntime(),\n },\n);\n\nexport function provideCraftTemporalRuntime(\n runtime: CraftTemporalRuntime,\n): Provider {\n return { provide: CRAFT_TEMPORAL_RUNTIME, useValue: runtime };\n}\n\nexport class CraftTimeoutError extends Error {\n readonly timeoutMs: number;\n\n constructor(timeoutMs: number) {\n super(`Craft operation timed out after ${timeoutMs}ms.`);\n this.name = 'CraftTimeoutError';\n this.timeoutMs = timeoutMs;\n }\n}\n\n/** Races an operation against the injected (or explicitly supplied) clock. */\nexport function withCraftTimeout<T>(\n operation: PromiseLike<T>,\n timeoutMs: number,\n options: Readonly<{\n runtime?: CraftTemporalRuntime;\n owner?: string;\n destroyRef?: DestroyRef;\n }> = {},\n): Promise<T> {\n assertDelay(timeoutMs);\n const runtime =\n options.runtime ??\n tryInjectTemporalRuntime() ??\n new RealCraftTemporalRuntime();\n\n return new Promise<T>((resolve, reject) => {\n const timeout = runtime.schedule(\n () => reject(new CraftTimeoutError(timeoutMs)),\n timeoutMs,\n {\n kind: 'timeout',\n owner: options.owner,\n destroyRef: options.destroyRef,\n },\n );\n\n Promise.resolve(operation).then(\n (value) => {\n timeout.cancel();\n resolve(value);\n },\n (error: unknown) => {\n timeout.cancel();\n reject(error);\n },\n );\n });\n}\n\nfunction tryInjectTemporalRuntime(): CraftTemporalRuntime | undefined {\n try {\n return inject(CRAFT_TEMPORAL_RUNTIME, { optional: true }) ?? undefined;\n } catch {\n return undefined;\n }\n}\n\nclass TemporalTask implements TemporalTaskHandle {\n private _status: TemporalTaskStatus = 'pending';\n private readonly cancelListeners = new Set<() => void>();\n readonly id: number;\n private readonly dueAt: number;\n private readonly kind: TemporalTaskKind;\n private readonly owner: string | undefined;\n readonly callback: () => void;\n private readonly onCancel: () => void;\n private readonly onComplete: () => void;\n\n constructor(\n id: number,\n dueAt: number,\n kind: TemporalTaskKind,\n owner: string | undefined,\n callback: () => void,\n onCancel: () => void,\n onComplete: () => void,\n ) {\n this.id = id;\n this.dueAt = dueAt;\n this.kind = kind;\n this.owner = owner;\n this.callback = callback;\n this.onCancel = onCancel;\n this.onComplete = onComplete;\n }\n\n cancel(): boolean {\n if (this._status === 'completed' || this._status === 'cancelled') {\n return false;\n }\n\n this._status = 'cancelled';\n this.onCancel();\n for (const listener of this.cancelListeners) listener();\n return true;\n }\n\n onCancelled(listener: () => void): void {\n if (this._status === 'cancelled') {\n listener();\n return;\n }\n this.cancelListeners.add(listener);\n }\n\n snapshot(): TemporalTaskSnapshot {\n return {\n id: this.id,\n kind: this.kind,\n dueAt: this.dueAt,\n ...(this.owner === undefined ? {} : { owner: this.owner }),\n status: this._status,\n };\n }\n\n markRunning(): boolean {\n if (this._status !== 'pending') return false;\n this._status = 'running';\n return true;\n }\n\n markCompleted(): void {\n if (this._status === 'running') {\n this._status = 'completed';\n this.onComplete();\n }\n }\n}\n\ntype TrackedTask = TemporalTask;\n\nabstract class BaseCraftTemporalRuntime implements CraftTemporalRuntime {\n protected readonly tasks = new Map<number, TrackedTask>();\n private nextId = 1;\n\n abstract now(): number;\n\n dateNow(): number {\n return Date.now();\n }\n\n protected createTask(\n callback: () => void,\n delayMs: number,\n options: TemporalScheduleOptions,\n ): TrackedTask {\n assertDelay(delayMs);\n const id = this.nextId++;\n const destroyRef = options.destroyRef;\n const signal = options.signal;\n let removeAbortListener: () => void = () => undefined;\n\n const task = new TemporalTask(\n id,\n this.now() + delayMs,\n options.kind ?? 'schedule',\n options.owner,\n callback,\n () => {\n removeAbortListener();\n this.tasks.delete(id);\n },\n () => removeAbortListener(),\n );\n\n this.tasks.set(id, task);\n\n if (signal) {\n const abort = () => task.cancel();\n signal.addEventListener('abort', abort, { once: true });\n removeAbortListener = () => signal.removeEventListener('abort', abort);\n if (signal.aborted) task.cancel();\n }\n\n destroyRef?.onDestroy(() => task.cancel());\n return task;\n }\n\n schedule(\n callback: () => void,\n delayMs: number,\n options: TemporalScheduleOptions = {},\n ): TemporalTaskHandle {\n return this.createTask(callback, delayMs, options);\n }\n\n sleep(delayMs: number, options: TemporalScheduleOptions = {}): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n let settled = false;\n const { destroyRef, ...scheduleOptions } = options;\n const task = this.schedule(\n () => {\n if (settled) return;\n settled = true;\n resolve();\n },\n delayMs,\n { ...scheduleOptions, kind: options.kind ?? 'sleep' },\n );\n\n if (task instanceof TemporalTask) {\n task.onCancelled(() => {\n if (!settled) {\n settled = true;\n reject(new TemporalCancelledError());\n }\n });\n }\n\n destroyRef?.onDestroy(() => {\n task.cancel();\n });\n });\n }\n\n pendingTasks(owner?: string): readonly TemporalTaskSnapshot[] {\n return [...this.tasks.values()]\n .filter(\n (task) =>\n task.snapshot().status === 'pending' &&\n (owner === undefined || task.snapshot().owner === owner),\n )\n .sort(compareTasks)\n .map((task) => task.snapshot());\n }\n\n cancelAll(owner?: string): void {\n for (const task of [...this.tasks.values()]) {\n if (owner === undefined || task.snapshot().owner === owner) {\n task.cancel();\n }\n }\n }\n\n protected takeNextDueTask(limit: number): TrackedTask | undefined {\n return [...this.tasks.values()]\n .filter(\n (task) =>\n task.snapshot().status === 'pending' &&\n task.snapshot().dueAt <= limit,\n )\n .sort(compareTasks)[0];\n }\n\n protected runTask(task: TrackedTask): void {\n if (!task.markRunning()) return;\n try {\n task.callback();\n } finally {\n task.markCompleted();\n this.tasks.delete(task.id);\n }\n }\n}\n\n/** Runtime adapter backed by the host's native timer APIs. */\nexport class RealCraftTemporalRuntime extends BaseCraftTemporalRuntime {\n private readonly nativeTimers = new Map<\n number,\n ReturnType<typeof setTimeout>\n >();\n\n now(): number {\n return typeof globalThis.performance?.now === 'function'\n ? globalThis.performance.now()\n : Date.now();\n }\n\n override schedule(\n callback: () => void,\n delayMs: number,\n options: TemporalScheduleOptions = {},\n ): TemporalTaskHandle {\n const task = super.schedule(callback, delayMs, options) as TemporalTask;\n if (task.snapshot().status === 'cancelled') return task;\n const nativeTimer = setTimeout(() => {\n this.nativeTimers.delete(task.id);\n this.runTask(task as TrackedTask);\n }, delayMs);\n this.nativeTimers.set(task.id, nativeTimer);\n\n const cancel = task.cancel.bind(task);\n task.cancel = () => {\n const cancelled = cancel();\n if (cancelled) {\n const timer = this.nativeTimers.get(task.id);\n if (timer !== undefined) clearTimeout(timer);\n this.nativeTimers.delete(task.id);\n }\n return cancelled;\n };\n return task;\n }\n}\n\n/**\n * Deterministic adapter for tests. It never waits for wall-clock time.\n * Equal deadlines are executed in creation order.\n */\nexport class VirtualCraftTemporalRuntime extends BaseCraftTemporalRuntime {\n private currentTime: number;\n\n constructor(initialTime = 0) {\n super();\n assertFiniteTime(initialTime, 'initialTime');\n this.currentTime = initialTime;\n }\n\n now(): number {\n return this.currentTime;\n }\n\n override dateNow(): number {\n return this.currentTime;\n }\n\n async advanceBy(milliseconds: number): Promise<void> {\n assertDelay(milliseconds);\n await this.advanceTo(this.currentTime + milliseconds);\n }\n\n async advanceTo(time: number): Promise<void> {\n assertFiniteTime(time, 'time');\n if (time < this.currentTime) {\n throw new RangeError('Virtual time cannot move backwards.');\n }\n\n for (;;) {\n const task = this.takeNextDueTask(time);\n if (!task) break;\n this.currentTime = task.snapshot().dueAt;\n this.runTask(task);\n await Promise.resolve();\n }\n\n this.currentTime = time;\n await Promise.resolve();\n }\n\n async advanceToNextTask(): Promise<boolean> {\n const next = this.pendingTasks()[0];\n if (!next) return false;\n await this.advanceTo(next.dueAt);\n return true;\n }\n\n async runUntilIdle(maxTasks = 10_000): Promise<void> {\n let count = 0;\n while (await this.advanceToNextTask()) {\n count += 1;\n if (count > maxTasks) {\n throw new Error(\n `Virtual temporal runtime exceeded ${maxTasks} tasks without becoming idle.`,\n );\n }\n }\n }\n\n reset(time = 0): void {\n assertFiniteTime(time, 'time');\n this.cancelAll();\n this.currentTime = time;\n }\n}\n\nexport class TemporalCancelledError extends Error {\n constructor() {\n super('The Craft temporal task was cancelled.');\n this.name = 'TemporalCancelledError';\n }\n}\n\nfunction assertDelay(value: number): void {\n if (!Number.isFinite(value) || value < 0) {\n throw new RangeError(\n `Temporal delay must be a finite non-negative number; received ${value}.`,\n );\n }\n}\n\nfunction assertFiniteTime(value: number, name: string): void {\n if (!Number.isFinite(value)) {\n throw new RangeError(`Virtual ${name} must be finite; received ${value}.`);\n }\n}\n\nfunction compareTasks(\n left: TemporalTaskHandle,\n right: TemporalTaskHandle,\n): number {\n const leftSnapshot = left.snapshot();\n const rightSnapshot = right.snapshot();\n return (\n leftSnapshot.dueAt - rightSnapshot.dueAt ||\n leftSnapshot.id - rightSnapshot.id\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-source.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/to-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAEN,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqUG;AACH,wBAAgB,QAAQ,CAAC,WAAW,EAAE,aAAa,EACjD,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,EAC/D,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC;IAChE,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,cAAc,CACf,SAAS,CAAC,aAAa,CAAC,SAAS,IAAI,GAAG,WAAW,GAAG,aAAa,CACpE,CAqCA"}
|
package/src/lib/to-source.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"to-source.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/to-source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,SAAS,GAGV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqUG;AACH,MAAM,UAAU,QAAQ,CACtB,YAA+D,EAC/D,OAIC;IAID,MAAM,WAAW,GAAG,YAAY,CAA0B,YAAY,EAAE;QACtE,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,uFAAuF;QACzI,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI;YACxB,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,cAAc;SAC/C,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAAC,eAAgD,EAAE,EAAE,CACpE,YAAY,CAAmB;QAC7B,MAAM,EAAE,WAAkC;QAC1C,WAAW,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,EAAE;YAChD,8CAA8C;YAC9C,IAAI,CAAC,YAAY,IAAI,eAAe,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;gBAClE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,kGAAkG;YAClG,OAAO,SAAS,CAAC,GAAG,EAAE,CACpB,OAAO,EAAE,QAAQ;gBACf,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,kBAAkB,CAAC;gBACzC,CAAC,CAAC,kBAAkB,CACvB,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAChD,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KAC7D,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAClB,QAAQ,CAAC;QACP,iBAAiB,EAAE,IAAI;KACxB,CAAC,EACF;QACE,iBAAiB,EAAE,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,KAAK;SACzB,CAAC;KACH,EACD,aAAa,CACS,CAAC;AAC3B,CAAC","sourcesContent":["import {\n linkedSignal,\n Signal,\n untracked,\n ValueEqualityFn,\n WritableSignal,\n} from './host/craft-compat';\nimport { IsUnknown } from './util/util.type';\nimport { ReadonlySource } from './util/source.type';\nimport { SourceBranded } from './util/util';\n\n/**\n * Converts an Angular signal into a readonly source with lazy emission semantics.\n *\n * This function bridges the gap between signals and sources by:\n * - Converting continuous signal values into discrete source emissions\n * - Implementing lazy emission (only emits on signal changes, not on first read)\n * - Supporting optional value transformation via computed function\n * - Providing both standard and value-preserving listener variants\n * - Enabling signal-to-source conversions for event-driven architectures\n *\n * @remarks\n * **Signal vs Source Semantics:**\n * - **Signals**: Continuously readable, always have a value, recompute on access\n * - **Sources**: Emit only on explicit changes, lazy by default (undefined on first read)\n * - toSource converts continuous signal behavior to discrete source emissions\n *\n * **Emission Behavior:**\n * - First read returns `undefined` by default (maintains source lazy semantics)\n * - Subsequent reads return new values only when the origin signal changes\n * - Use `preserveLastValue` variant to get immediate value on first read\n *\n * **Use Cases:**\n * - **Event-driven patterns**: Convert signals to sources for reactive chains\n * - **Debounced signals**: Wrap debounced signals as sources for queries/mutations\n * - **External state**: Convert RxJS signals (toSignal) to sources\n * - **Form signals**: Convert form control signals to sources for automatic submission\n * - **Route params**: Convert router param signals to sources for automatic queries\n * - **Filtering**: Transform signal values while converting to source\n *\n * **Transformation:**\n * - Without `computed`: Passes signal values through unchanged\n * - With `computed`: Applies transformation before emitting to source\n * - Useful for extracting fields, formatting, or type narrowing\n *\n * **Comparison with computedSource:**\n * - `toSource`: Converts signals to sources (signal → source)\n * - `computedSource`: Transforms sources to sources (source → source)\n * - Use toSource when bridging from signal world to source world\n *\n * @template SourceState - The type of values from the origin signal\n * @template ComputedValue - The type of values after optional computation\n *\n * @param signalOrigin - The signal or writable signal to convert.\n * Changes to this signal trigger source emissions.\n *\n * @param options - Optional configuration:\n * - `computed`: Function to transform signal values before emission\n * - `equal`: Custom equality function for change detection\n * - `debugName`: Name for debugging purposes\n *\n * @returns A readonly source that emits when the signal changes with:\n * - Standard behavior: First read returns `undefined`, subsequent reads return values after signal changes\n * - `preserveLastValue` property: Returns current value immediately on first read\n *\n * @example\n * Basic signal to source conversion\n * ```ts\n * const countSignal = signal(0);\n * const countSource = toSource(countSignal);\n *\n * // Use in query for automatic execution\n * const fetchData = craftUse(query({\n * method: afterRecomputation(countSource, (count) => count),\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/data/${params}`);\n * return response.json();\n * },\n * }));\n *\n * // Query executes when signal changes\n * countSignal.set(1);\n * // -> countSource emits 1\n * // -> fetchData executes with params 1\n *\n * countSignal.set(2);\n * // -> countSource emits 2\n * // -> fetchData executes with params 2\n * ```\n *\n * @example\n * Converting route params to source\n * ```ts\n * @Component({\n * selector: 'app-user-detail',\n * template: `...`,\n * })\n * export class UserDetailComponent {\n * route = inject(ActivatedRoute);\n *\n * // Convert route param to signal\n * userIdSignal = toSignal(\n * this.route.params.pipe(map(p => p['userId']))\n * );\n *\n * // Convert signal to source\n * userIdSource = toSource(this.userIdSignal);\n *\n * // Use source in query\n * { injectCraft } = craft(\n * { name: '', providedIn: 'root' },\n * craftQuery('user', () =>\n * query({\n * method: afterRecomputation(this.userIdSource, (id) => id),\n * loader: async ({ params }) => {\n * if (!params) return null;\n * const response = await fetch(`/api/users/${params}`);\n * return response.json();\n * },\n * })\n * )\n * );\n *\n * store = this.injectCraft();\n *\n * // Query automatically updates when route changes\n * }\n * ```\n *\n * @example\n * Transforming signal values during conversion\n * ```ts\n * type FormData = {\n * name: string;\n * email: string;\n * preferences: { newsletter: boolean };\n * };\n *\n * const formSignal = signal<FormData>({\n * name: '',\n * email: '',\n * preferences: { newsletter: false },\n * });\n *\n * // Extract only email for validation\n * const emailSource = toSource(formSignal, {\n * computed: (form) => form.email,\n * });\n *\n * // Use in async method\n * const validateEmail = craftUse(asyncProcess({\n * method: afterRecomputation(emailSource, (email) => email),\n * loader: async ({ params }) => {\n * if (!params) return null;\n * const response = await fetch('/api/validate-email', {\n * method: 'POST',\n * body: JSON.stringify({ email: params }),\n * });\n * return response.json();\n * },\n * }));\n *\n * // Email validation triggers when form email changes\n * formSignal.update(form => ({ ...form, email: 'john@example.com' }));\n * // -> emailSource emits 'john@example.com'\n * // -> validateEmail executes\n * ```\n *\n * @example\n * Debounced signal to source\n * ```ts\n * const searchInputSignal = signal('');\n *\n * // Create debounced signal (using custom debounce logic)\n * const debouncedSearchSignal = computed(() => {\n * const input = searchInputSignal();\n * // Debounce logic would go here\n * return input;\n * });\n *\n * // Convert to source\n * const debouncedSearchSource = toSource(debouncedSearchSignal);\n *\n * // Use in query\n * const searchResults = craftUse(query({\n * method: afterRecomputation(debouncedSearchSource, (term) => term),\n * loader: async ({ params }) => {\n * if (!params) return [];\n * const response = await fetch(`/api/search?q=${params}`);\n * return response.json();\n * },\n * }));\n *\n * // Query executes only after debounce\n * searchInputSignal.set('ang');\n * searchInputSignal.set('angu');\n * searchInputSignal.set('angular');\n * // -> Eventually debouncedSearchSource emits 'angular'\n * // -> searchResults query executes once\n * ```\n *\n * @example\n * Form control signal to source\n * ```ts\n * @Component({\n * selector: 'app-search',\n * template: `\n * <input [formControl]=\"searchControl\" />\n * `,\n * })\n * export class SearchComponent {\n * searchControl = new FormControl('');\n *\n * // Convert form control value to signal\n * searchSignal = toSignal(\n * this.searchControl.valueChanges.pipe(\n * debounceTime(300),\n * distinctUntilChanged()\n * ),\n * { initialValue: '' }\n * );\n *\n * // Convert signal to source\n * searchSource = toSource(this.searchSignal);\n *\n * // Use in store\n * { injectCraft } = craft(\n * { name: '', providedIn: 'root' },\n * craftQuery('results', () =>\n * query({\n * method: afterRecomputation(this.searchSource, (term) => term),\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/search?q=${params}`);\n * return response.json();\n * },\n * })\n * )\n * );\n *\n * store = this.injectCraft();\n * }\n * ```\n *\n * @example\n * Custom equality for change detection\n * ```ts\n * type SearchParams = { query: string; timestamp: number };\n *\n * const paramsSignal = signal<SearchParams>({\n * query: '',\n * timestamp: Date.now(),\n * });\n *\n * // Only emit when query changes, ignore timestamp\n * const querySource = toSource(paramsSignal, {\n * computed: (params) => params.query,\n * equal: (a, b) => a === b, // Compare strings only\n * });\n *\n * // Update with same query but different timestamp\n * paramsSignal.set({ query: 'test', timestamp: Date.now() });\n * // -> querySource emits 'test'\n *\n * paramsSignal.set({ query: 'test', timestamp: Date.now() });\n * // -> querySource does NOT emit (same query)\n *\n * paramsSignal.set({ query: 'new', timestamp: Date.now() });\n * // -> querySource emits 'new'\n * ```\n *\n * @example\n * Using preserveLastValue for immediate access\n * ```ts\n * const countSignal = signal(5);\n * const countSource = toSource(countSignal);\n *\n * // Standard behavior - first read is undefined\n * console.log(countSource()); // undefined\n *\n * countSignal.set(10);\n * console.log(countSource()); // 10\n *\n * // Using preserveLastValue - gets current value immediately\n * const immediateCount = countSource.preserveLastValue;\n * console.log(immediateCount()); // 10\n *\n * countSignal.set(15);\n * console.log(immediateCount()); // 15\n * ```\n *\n * @example\n * Complex transformation with validation\n * ```ts\n * type RawInput = { text: string; valid?: boolean };\n *\n * const inputSignal = signal<RawInput>({ text: '' });\n *\n * // Transform and validate during conversion\n * const validInputSource = toSource(inputSignal, {\n * computed: (input) => {\n * const trimmed = input.text.trim();\n * if (trimmed.length < 3) {\n * return null; // Invalid input\n * }\n * return {\n * text: trimmed.toLowerCase(),\n * length: trimmed.length,\n * };\n * },\n * });\n *\n * // Use in mutation\n * const submitInput = craftUse(mutation({\n * method: afterRecomputation(validInputSource, (data) => data),\n * loader: async ({ params }) => {\n * if (!params) {\n * throw new Error('Invalid input');\n * }\n * const response = await fetch('/api/submit', {\n * method: 'POST',\n * body: JSON.stringify(params),\n * });\n * return response.json();\n * },\n * }));\n *\n * // Invalid input\n * inputSignal.set({ text: 'ab' });\n * // -> validInputSource emits null\n * // -> submitInput throws error\n *\n * // Valid input\n * inputSignal.set({ text: 'Valid Input' });\n * // -> validInputSource emits { text: 'valid input', length: 11 }\n * // -> submitInput executes with transformed data\n * ```\n */\nexport function toSource<SourceState, ComputedValue>(\n signalOrigin: Signal<SourceState> | WritableSignal<SourceState>,\n options?: {\n computed?: (sourceValue: NoInfer<SourceState>) => ComputedValue;\n equal?: ValueEqualityFn<NoInfer<SourceState> | undefined>;\n debugName?: string;\n },\n): ReadonlySource<\n IsUnknown<ComputedValue> extends true ? SourceState : ComputedValue\n> {\n const sourceState = linkedSignal<SourceState | undefined>(signalOrigin, {\n ...(options?.equal && { equal: options?.equal }), // add the equal function here, it may helps to detect changes when using scalar values\n ...(options?.debugName && {\n debugName: options?.debugName + '_sourceState',\n }),\n });\n\n const listener = (listenerOptions: { nullishFirstValue?: boolean }) =>\n linkedSignal<SourceState, any>({\n source: sourceState as Signal<SourceState>,\n computation: (currentSourceState, previousData) => {\n // always when first listened return undefined\n if (!previousData && listenerOptions?.nullishFirstValue !== false) {\n return undefined;\n }\n //! use untracked to avoid computation to be re-evaluated when used inside another effect/computed\n return untracked(() =>\n options?.computed\n ? options?.computed?.(currentSourceState)\n : currentSourceState,\n );\n },\n ...(options?.equal && { equal: options?.equal }),\n ...(options?.debugName && { debugName: options?.debugName }),\n });\n return Object.assign(\n listener({\n nullishFirstValue: true,\n }),\n {\n preserveLastValue: listener({\n nullishFirstValue: false,\n }),\n },\n SourceBranded,\n ) as ReadonlySource<any>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-resource-ref.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/craft-resource-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,MAAM,6BAA6B,CAAC,KAAK,EAAE,MAAM,IAAI;IACzD,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;CAClC,CAAC;AACF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAC1B,KAAK,EACL,MAAM,EACN,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,UAAU,GAAG,KAAK,IAChB;IACF;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;IACtD,QAAQ,IAAI,OAAO,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;IAChB,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;IACtE,UAAU,IAAI,IAAI,CAChB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EACnD,KAAK,GAAG,QAAQ,GAAG,SAAS,CAC7B,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CACvC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EACzB,MAAM,EACN,UAAU,CACX,CAAC;CACH,GAAG,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-resource-ref.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/craft-resource-ref.ts"],"names":[],"mappings":"","sourcesContent":["import type { ResourceSnapshot, ResourceStatus, Signal } from '../host/craft-compat';\nimport type { CraftSettledSignal } from '../craft-settled';\n\nexport type CraftResourceRefSpecificState<Value, Params> = {\n paramSrc: Signal<Params | undefined>;\n state: Signal<Value | undefined>;\n};\n/**\n * Angular's `error` signal is excluded from the craft surface: business failures\n * are exposed through the `exceptions()`/`hasException()` API instead. The raw\n * signal still exists on the ref at runtime as an internal channel (see\n * `craftUntilSettled`, which rethrows a residual technical failure through it).\n */\nexport type CraftResourceRef<\n Value,\n Params,\n Source extends string = string,\n Exceptions = never,\n> = {\n /**\n * Returns undefined when the resource has no resolved value or an exception.\n */\n value: Signal<Value | undefined>;\n status: Signal<ResourceStatus>;\n isLoading: Signal<boolean>;\n snapshot: Signal<ResourceSnapshot<Value | undefined>>;\n hasValue(): boolean;\n reload(): boolean;\n destroy(): void;\n set(value: Value | undefined): void;\n update(update: (value: Value | undefined) => Value | undefined): void;\n asReadonly(): Omit<\n CraftResourceRef<Value, Params, Source, Exceptions>,\n 'set' | 'update' | 'destroy'\n >;\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Source,\n Exceptions\n >;\n} & CraftResourceRefSpecificState<Value, Params>;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-resource-status.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/craft-resource-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,SAAS,GACT,WAAW,GACX,UAAU,GACV,OAAO,GACP,WAAW,CAAC;AAEhB;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,OAAO,GACpB,mBAAmB,CAKrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-resource-status.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/craft-resource-status.ts"],"names":[],"mappings":"AAgBA;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAmB,EACnB,YAAqB;IAErB,IAAI,YAAY,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,GAA0B,CAAC;AACpC,CAAC","sourcesContent":["import type { ResourceStatus } from '../host/craft-compat';\n\n/**\n * The status a craft primitive (`query` / `mutation` / `asyncProcess`) exposes\n * on its public façade. Mirrors Angular's {@link ResourceStatus} but replaces the\n * technical `'error'` state with the craft-business `'exception'` state: a\n * resource reaches `'exception'` when a loader/params `craftException` is present.\n */\nexport type CraftResourceStatus =\n | 'idle'\n | 'loading'\n | 'reloading'\n | 'resolved'\n | 'local'\n | 'exception';\n\n/**\n * Maps a raw Angular {@link ResourceStatus} to the craft-facing\n * {@link CraftResourceStatus}. `hasException` is the business discriminant and is\n * checked first; a residual technical `'error'` is also surfaced as `'exception'`\n * to keep the public type sound (in the expected craft model errors are left to\n * throw, so that case does not occur).\n */\nexport function toCraftStatus(\n raw: ResourceStatus,\n hasException: boolean,\n): CraftResourceStatus {\n if (hasException || raw === 'error') {\n return 'exception';\n }\n return raw as CraftResourceStatus;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities-util.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/entities-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities-util.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/entities-util.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,SAAS,oBAAoB;IAC3B,OAAO,CAAC,CAAI,EAAE,EAAE;QACd,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,CAAiB,CAAC;QAC3B,CAAC;QACD,OAAQ,CAAmB,CAAC,EAAE,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,EAAqD,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAI,EACxB,MAAM,EACN,QAAQ,GAIT;IACC,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAsC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,EACzB,WAAW,EACX,QAAQ,GAIT;IACC,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAuC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAI,EACxB,WAAW,GAGZ;IACC,OAAO,CAAC,GAAG,WAAW,CAAsC,CAAC;AAC/D,CAAC;AAyBD,MAAM,UAAU,MAAM,CAAyB,EAC7C,MAAM,EACN,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAsC,CAAC;IACpE,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3B,CAAC;AAChC,CAAC;AAyBD,MAAM,UAAU,OAAO,CAAyB,EAC9C,WAAW,EACX,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,IAAI,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAQ,CAAC;IAC1E,CAAC;IAED,OAAO,MAA4C,CAAC;AACtD,CAAC;AAyBD,MAAM,UAAU,SAAS,CAAyB,EAChD,MAAM,EACN,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;IAEhE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,QAAgD,CAAC;IAC1D,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CACN,CAAC;AAC5C,CAAC;AAyBD,MAAM,UAAU,UAAU,CAAyB,EACjD,OAAO,EACP,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,IAAI,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAQ,CAAC;IAC7E,CAAC;IAED,OAAO,MAA+C,CAAC;AACzD,CAAC;AAyBD,MAAM,UAAU,SAAS,CAAyB,EAChD,MAAM,EACN,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAyC,CAAC;IACvE,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC;IAC7E,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACvB,CAAC;AAC5C,CAAC;AAyBD,MAAM,UAAU,UAAU,CAAyB,EACjD,WAAW,EACX,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,IAAI,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAQ,CAAC;IAC7E,CAAC;IAED,OAAO,MAA+C,CAAC;AACzD,CAAC;AAyBD,MAAM,UAAU,SAAS,CAAyB,EAChD,EAAE,EACF,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CACb,CAAC;AACnC,CAAC;AAyBD,MAAM,UAAU,UAAU,CAAyB,EACjD,GAAG,EACH,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACjB,CAAC;AACpC,CAAC;AAyBD,MAAM,UAAU,SAAS,CAAyB,EAChD,MAAM,EACN,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAErD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CACb,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAyC,CAAC;AACvE,CAAC;AAyBD,MAAM,UAAU,UAAU,CAAyB,EACjD,WAAW,EACX,QAAQ,EACR,UAAU,GAKX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,IAAI,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAE3B,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAQ,CAAC;IAC7E,CAAC;IAED,OAAO,MAA+C,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAI,EACrB,KAAK,EACL,QAAQ,GAIT;IACC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAmC,CAAC;AAC/D,CAAC;AA4BD,MAAM,UAAU,MAAM,CAAyB,EAC7C,EAAE,EACF,KAAK,EACL,QAAQ,EACR,UAAU,GAMX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9B,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAI,EAAE,QAAQ,EAAqB;IAC9D,OAAO,QAAQ,CAAC,MAAM,CAAC;AACzB,CAAC;AAsBD,MAAM,UAAU,WAAW,CAAyB,EAClD,QAAQ,EACR,UAAU,GAIX;IACC,MAAM,KAAK,GAAG,UAAU,IAAI,oBAAoB,EAAQ,CAAC;IACzD,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAA2C,CAAC;AACvE,CAAC","sourcesContent":["/**\n * Type to extract the identifier from an entity\n */\nexport type IdSelector<Entity, Key = string | number> = (entity: Entity) => Key;\n\n/**\n * Type for partial updates\n */\nexport type Update<T, K = string | number> = {\n id: K;\n changes: Partial<T>;\n};\n\nexport type EntitiesUtilBrand<Name> = { __brand: Name };\n\n/**\n * Helper function to get the default identifier.\n * For primitives (string | number), the entity itself is used as the identifier.\n * For objects with an `id` property, the `id` property is used.\n */\nfunction getDefaultIdentifier<T, K>(): IdSelector<T, K> {\n return (e: T) => {\n if (typeof e === 'string' || typeof e === 'number') {\n return e as unknown as K;\n }\n return (e as T & { id: K }).id;\n };\n}\n\n/**\n * Removes all elements from the list\n */\nexport function removeAll<T>(): T[] & EntitiesUtilBrand<'removeAll'> {\n return [] as unknown as T[] & EntitiesUtilBrand<'removeAll'>;\n}\n\n/**\n * Adds an element to the end of the list\n */\nexport function addOne<T>({\n entity,\n entities,\n}: {\n entity: T;\n entities: T[];\n}): T[] & EntitiesUtilBrand<'addOne'> {\n return [...entities, entity] as T[] & EntitiesUtilBrand<'addOne'>;\n}\n\n/**\n * Adds multiple elements to the end of the list\n */\nexport function addMany<T>({\n newEntities,\n entities,\n}: {\n newEntities: T[];\n entities: T[];\n}): T[] & EntitiesUtilBrand<'addMany'> {\n return [...entities, ...newEntities] as T[] & EntitiesUtilBrand<'addMany'>;\n}\n\n/**\n * Replaces the entire list with new elements\n */\nexport function setAll<T>({\n newEntities,\n}: {\n newEntities: T[];\n}): T[] & EntitiesUtilBrand<'setAll'> {\n return [...newEntities] as T[] & EntitiesUtilBrand<'setAll'>;\n}\n\n/**\n * Replaces or adds an element (based on id).\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function setOne<T extends string | number>(params: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'setOne'>;\nexport function setOne<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'setOne'>;\nexport function setOne<T, K = string | number>(params: {\n entity: T;\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'setOne'>;\nexport function setOne<T, K = string | number>({\n entity,\n entities,\n identifier,\n}: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'setOne'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n const id = getId(entity);\n const index = entities.findIndex((e) => getId(e) === id);\n\n if (index === -1) {\n return [...entities, entity] as T[] & EntitiesUtilBrand<'setOne'>;\n }\n\n return entities.map((e, i) => (i === index ? entity : e)) as T[] &\n EntitiesUtilBrand<'setOne'>;\n}\n\n/**\n * Replaces or adds multiple elements (based on id).\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function setMany<T extends string | number>(params: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'setMany'>;\nexport function setMany<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'setMany'>;\nexport function setMany<T, K = string | number>(params: {\n newEntities: T[];\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'setMany'>;\nexport function setMany<T, K = string | number>({\n newEntities,\n entities,\n identifier,\n}: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'setMany'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n let result = [...entities];\n\n for (const entity of newEntities) {\n result = setOne({ entity, entities: result, identifier: getId }) as T[];\n }\n\n return result as T[] & EntitiesUtilBrand<'setMany'>;\n}\n\n/**\n * Partially updates an existing element.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function updateOne<T extends string | number>(params: {\n update: Update<T, T>;\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'updateOne'>;\nexport function updateOne<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n update: Update<T, K>;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'updateOne'>;\nexport function updateOne<T, K = string | number>(params: {\n update: Update<T, K>;\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'updateOne'>;\nexport function updateOne<T, K = string | number>({\n update,\n entities,\n identifier,\n}: {\n update: Update<T, K>;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'updateOne'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n const index = entities.findIndex((e) => getId(e) === update.id);\n\n if (index === -1) {\n return entities as T[] & EntitiesUtilBrand<'updateOne'>;\n }\n\n return entities.map((e, i) =>\n i === index ? { ...e, ...update.changes } : e,\n ) as T[] & EntitiesUtilBrand<'updateOne'>;\n}\n\n/**\n * Partially updates multiple existing elements.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function updateMany<T extends string | number>(params: {\n updates: Update<T, T>[];\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'updateMany'>;\nexport function updateMany<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n updates: Update<T, K>[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'updateMany'>;\nexport function updateMany<T, K = string | number>(params: {\n updates: Update<T, K>[];\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'updateMany'>;\nexport function updateMany<T, K = string | number>({\n updates,\n entities,\n identifier,\n}: {\n updates: Update<T, K>[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'updateMany'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n let result = [...entities];\n\n for (const update of updates) {\n result = updateOne({ update, entities: result, identifier: getId }) as T[];\n }\n\n return result as T[] & EntitiesUtilBrand<'updateMany'>;\n}\n\n/**\n * Updates an element if it exists, otherwise adds it.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function upsertOne<T extends string | number>(params: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'upsertOne'>;\nexport function upsertOne<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'upsertOne'>;\nexport function upsertOne<T, K = string | number>(params: {\n entity: T;\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'upsertOne'>;\nexport function upsertOne<T, K = string | number>({\n entity,\n entities,\n identifier,\n}: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'upsertOne'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n const id = getId(entity);\n const index = entities.findIndex((e) => getId(e) === id);\n\n if (index === -1) {\n return [...entities, entity] as T[] & EntitiesUtilBrand<'upsertOne'>;\n }\n\n // For primitives, just replace; for objects, merge\n const isPrimitive = typeof entity === 'string' || typeof entity === 'number';\n return entities.map((e, i) =>\n i === index ? (isPrimitive ? entity : { ...e, ...entity }) : e,\n ) as T[] & EntitiesUtilBrand<'upsertOne'>;\n}\n\n/**\n * Updates multiple elements if they exist, otherwise adds them.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function upsertMany<T extends string | number>(params: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'upsertMany'>;\nexport function upsertMany<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'upsertMany'>;\nexport function upsertMany<T, K = string | number>(params: {\n newEntities: T[];\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'upsertMany'>;\nexport function upsertMany<T, K = string | number>({\n newEntities,\n entities,\n identifier,\n}: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'upsertMany'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n let result = [...entities];\n\n for (const entity of newEntities) {\n result = upsertOne({ entity, entities: result, identifier: getId }) as T[];\n }\n\n return result as T[] & EntitiesUtilBrand<'upsertMany'>;\n}\n\n/**\n * Removes an element by its id.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function removeOne<T extends string | number>(params: {\n id: T;\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'removeOne'>;\nexport function removeOne<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n id: K;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'removeOne'>;\nexport function removeOne<T, K = string | number>(params: {\n id: K;\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'removeOne'>;\nexport function removeOne<T, K = string | number>({\n id,\n entities,\n identifier,\n}: {\n id: K;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'removeOne'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n return entities.filter((e) => getId(e) !== id) as T[] &\n EntitiesUtilBrand<'removeOne'>;\n}\n\n/**\n * Removes multiple elements by their ids.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function removeMany<T extends string | number>(params: {\n ids: T[];\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'removeMany'>;\nexport function removeMany<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n ids: K[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'removeMany'>;\nexport function removeMany<T, K = string | number>(params: {\n ids: K[];\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'removeMany'>;\nexport function removeMany<T, K = string | number>({\n ids,\n entities,\n identifier,\n}: {\n ids: K[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'removeMany'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n const idSet = new Set(ids);\n return entities.filter((e) => !idSet.has(getId(e))) as T[] &\n EntitiesUtilBrand<'removeMany'>;\n}\n\n/**\n * Toggles an element: removes it if it exists, adds it if it doesn't.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function toggleOne<T extends string | number>(params: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'toggleOne'>;\nexport function toggleOne<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'toggleOne'>;\nexport function toggleOne<T, K = string | number>(params: {\n entity: T;\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'toggleOne'>;\nexport function toggleOne<T, K = string | number>({\n entity,\n entities,\n identifier,\n}: {\n entity: T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'toggleOne'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n const id = getId(entity);\n const exists = entities.some((e) => getId(e) === id);\n\n if (exists) {\n return entities.filter((e) => getId(e) !== id) as T[] &\n EntitiesUtilBrand<'toggleOne'>;\n }\n return [...entities, entity] as T[] & EntitiesUtilBrand<'toggleOne'>;\n}\n\n/**\n * Toggles multiple elements: removes them if they exist, adds them if they don't.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function toggleMany<T extends string | number>(params: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'toggleMany'>;\nexport function toggleMany<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'toggleMany'>;\nexport function toggleMany<T, K = string | number>(params: {\n newEntities: T[];\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'toggleMany'>;\nexport function toggleMany<T, K = string | number>({\n newEntities,\n entities,\n identifier,\n}: {\n newEntities: T[];\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'toggleMany'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n let result = [...entities];\n\n for (const entity of newEntities) {\n result = toggleOne({ entity, entities: result, identifier: getId }) as T[];\n }\n\n return result as T[] & EntitiesUtilBrand<'toggleMany'>;\n}\n\n/**\n * Applies a transformation function to all elements\n */\nexport function map<T>({\n mapFn,\n entities,\n}: {\n mapFn: (entity: T) => T;\n entities: T[];\n}): T[] & EntitiesUtilBrand<'map'> {\n return entities.map(mapFn) as T[] & EntitiesUtilBrand<'map'>;\n}\n\n/**\n * Applies a transformation function to a single element by its id.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function mapOne<T extends string | number>(params: {\n id: T;\n mapFn: (entity: T) => T;\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'mapOne'>;\nexport function mapOne<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n id: K;\n mapFn: (entity: T) => T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'mapOne'>;\nexport function mapOne<T, K = string | number>(params: {\n id: K;\n mapFn: (entity: T) => T;\n entities: T[];\n identifier: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'mapOne'>;\nexport function mapOne<T, K = string | number>({\n id,\n mapFn,\n entities,\n identifier,\n}: {\n id: K;\n mapFn: (entity: T) => T;\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): T[] & EntitiesUtilBrand<'mapOne'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n return entities.map((e) => (getId(e) === id ? mapFn(e) : e)) as T[] &\n EntitiesUtilBrand<'mapOne'>;\n}\n\n/**\n * Returns the total count of entities\n */\nexport function computedTotal<T>({ entities }: { entities: T[] }): number {\n return entities.length;\n}\n\n/**\n * Returns all ids from the entities list.\n * If the entity has an `id` property, the identifier is optional.\n * For primitives (string | number), the entity itself is used as the identifier.\n */\nexport function computedIds<T extends string | number>(params: {\n entities: T[];\n identifier?: IdSelector<T, T>;\n}): T[] & EntitiesUtilBrand<'computedIds'>;\nexport function computedIds<\n T extends { id: K },\n K = T extends { id: infer I } ? I : string | number,\n>(params: {\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): K[] & EntitiesUtilBrand<'computedIds'>;\nexport function computedIds<T, K = string | number>(params: {\n entities: T[];\n identifier: IdSelector<T, K>;\n}): K[] & EntitiesUtilBrand<'computedIds'>;\nexport function computedIds<T, K = string | number>({\n entities,\n identifier,\n}: {\n entities: T[];\n identifier?: IdSelector<T, K>;\n}): K[] & EntitiesUtilBrand<'computedIds'> {\n const getId = identifier ?? getDefaultIdentifier<T, K>();\n return entities.map(getId) as K[] & EntitiesUtilBrand<'computedIds'>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"explicit-effect.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/explicit-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAG9B;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;KACnC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,OAAO,WAAW,2BAA4B,SAAQ,mBAAmB;IACvE;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,KAAK,SAAS,SAAS,OAAO,EAAE,EAChC,MAAM,GAAG,KAAK,EAEd,IAAI,EAAE,SAAS,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAC/C,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,2BAA2B,GAAG,SAAS,GAChD,SAAS,CAWX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"explicit-effect.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/explicit-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,MAAM,EACN,SAAS,GACV,MAAM,sBAAsB,CAAC;AAoB9B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAI5B,IAA+C,EAC/C,EAA8D,EAC9D,OAAiD;IAEjD,IAAI,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;IACrC,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,EAAE,CAAC,SAAgB,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;YACD,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC","sourcesContent":["import {\n CreateEffectOptions,\n EffectCleanupRegisterFn,\n EffectRef,\n effect,\n untracked,\n} from '../host/craft-compat';\n// from https://github.com/ngxtension/ngxtension-platform\n\n/**\n * We want to have the Tuple in order to use the types in the function signature\n */\nexport type ExplicitEffectValues<T> = {\n [K in keyof T]: () => T[K];\n};\n\n/**\n * Extend the regular set of effect options\n */\ndeclare interface CreateExplicitEffectOptions extends CreateEffectOptions {\n /**\n * Option that allows the computation not to execute immediately, but only run on first change.\n */\n defer?: boolean;\n}\n\n/**\n * This explicit effect function will take the dependencies and the function to run when the dependencies change.\n *\n * @example\n * ```typescript\n * import { explicitEffect } from 'ngxtension/explicit-effect';\n *\n * const count = signal(0);\n * const state = signal('idle');\n *\n * explicitEffect([count, state], ([count, state], cleanup) => {\n * console.log('count updated', count, state);\n *\n * cleanup(() => {\n * console.log('cleanup');\n * });\n * });\n * ```\n *\n * @param deps - The dependencies that the effect will run on\n * @param fn - The function to run when the dependencies change\n * @param options - The options for the effect with the addition of defer (it allows the computation to run on first change, not immediately)\n */\nexport function explicitEffect<\n Input extends readonly unknown[],\n Params = Input,\n>(\n deps: readonly [...ExplicitEffectValues<Input>],\n fn: (deps: Params, onCleanup: EffectCleanupRegisterFn) => void,\n options?: CreateExplicitEffectOptions | undefined,\n): EffectRef {\n let defer = options && options.defer;\n return effect((onCleanup) => {\n const depValues = deps.map((s) => s());\n untracked(() => {\n if (!defer) {\n fn(depValues as any, onCleanup);\n }\n defer = false;\n });\n }, options);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-signal-props-and-methods.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/extract-signal-props-and-methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,4BAA4B,CACtC,KAAK,EACL,cAAc,EACd,GAAG,SAAS;IAAE,KAAK,EAAE,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAAE,IAC1D,cAAc,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAClD,IAAI,SAAS,MAAM,KAAK,GACtB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GACjC,4BAA4B,CAC1B,KAAK,EACL,IAAI,EACJ;IACE,KAAK,EAAE;SAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;KAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CACzB,CACF,GACD,4BAA4B,CAC1B,KAAK,EACL,IAAI,EACJ;IACE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,GACrB,YAAY,CAAC;SAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;KAAE,CAAC,CAAC;CAC9C,CACF,GACH,GAAG,GACL;IACE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;CAC/C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extract-signal-props-and-methods.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/extract-signal-props-and-methods.ts"],"names":[],"mappings":"","sourcesContent":["import { Signal } from '../host/craft-compat';\nimport { FilterSource, RemoveIndexSignature } from './util.type';\n\nexport type ExtractSignalPropsAndMethods<\n State,\n StateKeysTuple,\n Acc extends { props: {}; methods: Record<string, Function> }\n> = StateKeysTuple extends [infer Head, ...infer Tail]\n ? Head extends keyof State\n ? [State[Head]] extends [Signal<any>]\n ? ExtractSignalPropsAndMethods<\n State,\n Tail,\n {\n props: { [K in Head]: State[Head] } & Acc['props'];\n methods: Acc['methods'];\n }\n >\n : ExtractSignalPropsAndMethods<\n State,\n Tail,\n {\n props: Acc['props'];\n methods: Acc['methods'] &\n FilterSource<{ [K in Head]: State[Head] }>;\n }\n >\n : Acc\n : {\n props: Acc['props'];\n methods: RemoveIndexSignature<Acc['methods']>;\n };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"method-trigger-nonce.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/method-trigger-nonce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,oBAAoB,eAAoC,CAAC;AAE/D,UAAU,mBAAmB,CAAC,CAAC;IAC7B,CAAC,oBAAoB,CAAC,EAAE;QAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,MAAM,EAAE,CAAC,GAAG,SAAS,EACrB,GAAG,EAAE,MAAM,GACV,mBAAmB,CAAC,CAAC,CAAC,CAExB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAIvC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAChC,CAAC,GAAG,SAAS,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAClC,eAAe,CAAC,OAAO,CAAC,CAa1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"method-trigger-nonce.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/method-trigger-nonce.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAM/D,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAC9B,MAAqB,EACrB,GAAW;IAEX,OAAO,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,oBAAoB,IAAI,KAAK,CAC7E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiC;IAEjC,OAAO,qBAAqB,CAAC,KAAK,CAAC;QACjC,CAAC,CAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAY;QAC3C,CAAC,CAAE,KAAW,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAmC;IAEnC,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,qBAAqB,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAI,CAA4B,CAAC,oBAAoB,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAI,CAA4B,CAAC,oBAAoB,CAAC,CAAC;YACrE,IAAI,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAW,EAAE,QAAQ,CAAC,MAAW,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,CAAM,EAAE,CAAM,CAAC,CAAC;IAC9B,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { ValueEqualityFn } from '../host/craft-compat';\n\n/**\n * Internal machinery that forces a method-based primitive (`query` / `mutation` /\n * `asyncProcess`) to re-run its loader on every explicit call, even when the\n * `method` returns the same value or `undefined`.\n *\n * Angular's native `resource()` (a) treats an `undefined` request as idle and never\n * runs the loader, and (b) only re-runs the loader when the request changes under\n * `Object.is`. A `method: () => undefined` (e.g. a logout mutation) therefore never\n * triggers, and a `method: () => 'X'` triggers at most once.\n *\n * The fix wraps the raw params in a nonce-tagged object `{ params, seq }` that is\n * always defined and whose `seq` increments on every call, so the request always\n * changes. The wrapper is unwrapped inside the primitive's `wrappedLoader` before it\n * reaches the user loader, so nothing downstream ever observes it. The public\n * `resourceParamsSrc` signal keeps holding the raw params.\n *\n * A unique symbol key guarantees the wrapper cannot collide with user param object\n * keys and makes {@link isMethodParamsWrapper} unambiguous.\n */\nconst METHOD_TRIGGER_NONCE = Symbol('craftMethodTriggerNonce');\n\ninterface MethodParamsWrapper<P> {\n [METHOD_TRIGGER_NONCE]: { params: P | undefined; seq: number };\n}\n\n/** Tag raw params with the current call sequence so the request always changes. */\nexport function wrapMethodParams<P>(\n params: P | undefined,\n seq: number,\n): MethodParamsWrapper<P> {\n return { [METHOD_TRIGGER_NONCE]: { params, seq } };\n}\n\nexport function isMethodParamsWrapper(\n value: unknown,\n): value is MethodParamsWrapper<unknown> {\n return (\n typeof value === 'object' && value !== null && METHOD_TRIGGER_NONCE in value\n );\n}\n\n/**\n * Return the raw params from a wrapper, or the value untouched when it is not a\n * wrapper. Idempotent and safe on plain params, so it can be applied unconditionally\n * (source / params-fn / byId modes pass through unchanged).\n */\nexport function unwrapMethodParams<P>(\n value: P | MethodParamsWrapper<P>,\n): P | undefined {\n return isMethodParamsWrapper(value)\n ? (value[METHOD_TRIGGER_NONCE].params as P)\n : (value as P);\n}\n\n/**\n * Build an equality function for the wrapped request: a different `seq` always\n * forces a re-run; an identical `seq` delegates to the user-provided `equal` (or\n * `Object.is`) on the *unwrapped* value. Non-wrapped values fall back to the same\n * base rule, so this is safe to pass even when the wrapper is not in play.\n */\nexport function methodParamsWrapperEqual<P>(\n userEqual?: (a: P, b: P) => boolean,\n): ValueEqualityFn<unknown> {\n const base = userEqual ?? ((a: P, b: P) => Object.is(a, b));\n return (a, b) => {\n if (isMethodParamsWrapper(a) && isMethodParamsWrapper(b)) {\n const wrappedA = (a as MethodParamsWrapper<P>)[METHOD_TRIGGER_NONCE];\n const wrappedB = (b as MethodParamsWrapper<P>)[METHOD_TRIGGER_NONCE];\n if (wrappedA.seq !== wrappedB.seq) {\n return false;\n }\n return base(wrappedA.params as P, wrappedB.params as P);\n }\n return base(a as P, b as P);\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"persister.type.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/persister.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,wCAAwC,EAAE,OAAO,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,2IAA2I;IAC3I,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,2IAA2I;IAC3I,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9C,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtD,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,IAAI,IAAI,CAAC;IACxB,mBAAmB,IAAI,IAAI,CAAC;IAC5B,aAAa,IAAI,IAAI,CAAC;CACvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"persister.type.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/persister.type.ts"],"names":[],"mappings":"","sourcesContent":["import { ResourceRef, Signal } from '../host/craft-compat';\nimport { ResourceByIdRef } from '../resource-by-id';\n\nexport interface PersistedQuery {\n key: string;\n /** Optional per-insertion namespace; defaults to the persister namespace. */\n storeName?: string;\n queryResource: ResourceRef<any>;\n queryResourceParamsSrc: Signal<unknown>;\n waitForParamsSrcToBeEqualToPreviousValue: boolean;\n cacheTime: number;\n /** Time in ms after which cached data is restored but a reload() is triggered in background (SWR pattern). Must be less than cacheTime. */\n staleTime?: number;\n /** Called on the deserialized value before restoring it. Return false to discard and reload fresh. */\n validate?: (value: unknown) => boolean;\n}\n\nexport interface PersistedQueryById {\n key: string;\n /** Optional per-insertion namespace; defaults to the persister namespace. */\n storeName?: string;\n queryByIdResource: ResourceByIdRef<string, unknown, unknown>;\n queryResourceParamsSrc: Signal<unknown>;\n cacheTime: number;\n /** Time in ms after which cached data is restored but a reload() is triggered in background (SWR pattern). Must be less than cacheTime. */\n staleTime?: number;\n /** Called on the deserialized value before restoring it. Return false to discard and reload fresh. */\n validate?: (value: unknown) => boolean;\n}\n\nexport interface QueriesPersister {\n addQueryToPersist(data: PersistedQuery): void;\n addQueryByIdToPersist(data: PersistedQueryById): void;\n clearQuery(queryKey: string): void;\n clearQueryBy(queryKey: string): void;\n clearAllQueries(): void;\n clearAllQueriesById(): void;\n clearAllCache(): void;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"persister.util.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/persister.util.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAE9C;AAGD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"persister.util.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/persister.util.ts"],"names":[],"mappings":"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","sourcesContent":["// Not optimized for performance\nexport function isEqual<T>(a: T, b: T): boolean {\n return replaceEqualDeep(a, b) === a;\n}\n\n// Copied From https://github.dev/TanStack/query\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\nexport function replaceEqualDeep<T>(a: unknown, b: T): T;\nexport function replaceEqualDeep(a: any, b: any): any {\n if (a === b) {\n return a;\n }\n\n const array = isPlainArray(a) && isPlainArray(b);\n\n if (array || (isPlainObject(a) && isPlainObject(b))) {\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy: any = array ? [] : {};\n const aItemsSet = new Set(aItems);\n\n let equalItems = 0;\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if (\n ((!array && aItemsSet.has(key)) || array) &&\n a[key] === undefined &&\n b[key] === undefined\n ) {\n copy[key] = undefined;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== undefined) {\n equalItems++;\n }\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n\nfunction isPlainArray(value: unknown) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\n\n// Copied from: https://github.com/jonschlinkert/is-plain-object\n// eslint-disable-next-line @typescript-eslint/no-wrapper-object-types\nfunction isPlainObject(o: any): o is Object {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n\n // If has no constructor\n const ctor = o.constructor;\n if (ctor === undefined) {\n return true;\n }\n\n // If has modified prototype\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n\n // If constructor does not have an Object-specific method\n\n // eslint-disable-next-line no-prototype-builtins\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n }\n\n // Handles Objects created by Object.create(<arbitrary prototype>)\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nfunction hasObjectPrototype(o: any): boolean {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-on-mutation-effect.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/react-on-mutation-effect.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EAItB,4BAA4B,EAC7B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAI1E,wBAAgB,qBAAqB,CACnC,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,SAAS,OAAO,EAC7B,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,SAAS,4BAA4B,EACvD,eAAe,SAAS,4BAA4B,EAEpD,EACE,aAAa,EACb,gBAAgB,GACjB,EAAE;IACD,aAAa,EACT,oBAAoB,CAClB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,eAAe,CAChB,GACD,wBAAwB,CACtB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,eAAe,CAChB,CAAC;IACN,gBAAgB,EACZ,uBAAuB,CACrB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,CACnB,GACD,2BAA2B,CACzB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,CACnB,CAAC;CACP,EACD,qBAAqB,EAAE,sBAAsB,CAAC;IAC5C,KAAK,EAAE,YAAY,CACjB,OAAO,CAAC,kBAAkB,CAAC,EAC3B,OAAO,CAAC,mBAAmB,CAAC,EAC5B,OAAO,CAAC,uBAAuB,CAAC,EAChC;QAAC,OAAO;KAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,EAChE,OAAO,CAAC,aAAa,CAAC,EACtB,OAAO,CAAC,eAAe,CAAC,EACxB,OAAO,CAAC,oBAAoB,CAAC,EAC7B,OAAO,CAAC,iBAAiB,CAAC,EAC1B,OAAO,CAAC,eAAe,CAAC,CACzB,CAAC;IACF,QAAQ,EAAE,YAAY,CACpB,OAAO,CAAC,qBAAqB,CAAC,EAC9B,OAAO,CAAC,sBAAsB,CAAC,EAC/B,OAAO,CAAC,0BAA0B,CAAC,EACnC;QAAC,OAAO;KAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,KAAK,GAAG,IAAI,EAC1D,OAAO,CAAC,gBAAgB,CAAC,EACzB,OAAO,CAAC,kBAAkB,CAAC,EAC3B,OAAO,CAAC,uBAAuB,CAAC,EAChC,OAAO,CAAC,oBAAoB,CAAC,EAC7B,OAAO,CAAC,kBAAkB,CAAC,CAC5B,CAAC;CACH,CAAC,6BAgMH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-on-mutation-effect.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/react-on-mutation-effect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EACN,SAAS,EAET,MAAM,EACN,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhF,OAAO,EAEL,qCAAqC,EACrC,wCAAwC,EACxC,mCAAmC,GAEpC,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAKpD,uCAAuC;AACvC,MAAM,UAAU,qBAAqB,CAkBnC,EACE,aAAa,EACb,gBAAgB,GA0CjB,EACD,qBAuBE;IAEF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,gBAAgB,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC7C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;QAC1C,OAAO,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC;YAC7D,yCAAyC;YACzC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,QAAQ,EAAE;gBACvD,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBAC1B,CAAC,CAAC,SAAS,CAAC;YAEd,IACE,qBAAqB,EAAE,gBAAgB;gBACvC,qBAAqB,CAAC,MAAM,EAC5B,CAAC;gBACD,SAAS,CAAC,GAAG,EAAE;oBACb,qCAAqC,CAAC;wBACpC,cAAc;wBACd,mBAAmB,EAAE,aAAa;wBAClC,qBAAqB,EAAE,qBAAqB;wBAC5C,gBAAgB,EAAE,gBAAuB;wBACzC,iBAAiB;wBACjB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;qBACtB,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC;YACnD,IAAI,aAAa,EAAE,CAAC;gBAClB,SAAS,CAAC,GAAG,EAAE;oBACb,wCAAwC,CAAC;wBACvC,cAAc;wBACd,mBAAmB,EAAE,aAAa;wBAClC,qBAAqB,EAAE,qBAA4B;wBACnD,gBAAgB,EAAE,gBAA+C;wBACjE,iBAAiB;wBACjB,aAAa;wBACb,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;qBACtB,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IACE,qBAAqB,CAAC,eAAe;gBACrC,qBAAqB,CAAC,KAAK,EAC3B,CAAC;gBACD,SAAS,CAAC,GAAG,EAAE;oBACb,mCAAmC,CAAC;wBAClC,cAAc;wBACd,gEAAgE;wBAChE,mBAAmB,EAAE,aAAa;wBAClC,qBAAqB,EAAE,qBAA4B;wBACnD,gBAAgB,EAAE,gBAGjB;wBACD,iBAAiB;wBACjB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAEzD,MAAM,qCAAqC,GAAG,YAAY,CAOxD;QACA,8DAA8D;QAC9D,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE;YACvC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;gBACzD,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAA2B,CAAC;YACzE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC9B,QAAQ,EAAE,MAAM,IAAI,EAAE,CACG,CAAC;YAE5B,sDAAsD;YACtD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YAEzE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC5D,CAAC;KACF,CAA0E,CAAC;IAE5E,OAAO,MAAM,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,qCAAqC,EAAE,EAAE,OAAO,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QACD,qCAAqC,EAAE,EAAE,OAAO,CAAC,OAAO,CACtD,CAAC,kBAAkB,EAAE,EAAE;YACrB,MAAM,gBAAgB,GACpB,iBAAiB,EAAE,CACjB,kBAAsD,CACvD,CAAC;YACJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,MAAM,yBAAyB,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC9C,gBAAgB,CAAC,QAAQ,EAAE;gBACzB,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBAC1B,CAAC,CAAE,SAA8C,CACpD,CAAC;YACF,oBAAoB,CAClB,SAAS,EACT;gBACE,gBAAgB,CAAC,MAAM;gBACvB,yBAAyB;gBACzB,gBAAgB,CAAC,QAAQ;aAC1B,EACD,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC3B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC;gBACpD,IACE,OAAO,iBAAiB,KAAK,UAAU;oBACvC,iBAAiB,EAAE,EACnB,CAAC;oBACD,wFAAwF;gBAC1F,CAAC;gBACD,IACE,qBAAqB,EAAE,gBAAgB;oBACvC,qBAAqB,CAAC,MAAM,EAC5B,CAAC;oBACD,SAAS,CAAC,GAAG,EAAE;wBACb,qCAAqC,CAAC;4BACpC,cAAc;4BACd,mBAAmB,EAAE,aAAoB;4BACzC,qBAAqB,EAAE,qBAA4B;4BACnD,gBAAgB;4BAChB,iBAAiB;4BACjB,kBAAkB;4BAClB,iBAAiB,EACf,iBAIC;yBACJ,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBACnD,IAAI,aAAa,EAAE,CAAC;oBAClB,SAAS,CAAC,GAAG,EAAE;wBACb,wCAAwC,CAAC;4BACvC,cAAc;4BACd,mBAAmB,EAAE,aAAa;4BAClC,qBAAqB,EAAE,qBAA4B;4BACnD,gBAAgB;4BAChB,iBAAiB;4BACjB,aAAa;4BACb,kBAAkB;4BAClB,iBAAiB,EACf,iBAIC;yBACG,CAAC,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IACE,qBAAqB,CAAC,eAAe;oBACrC,qBAAqB,CAAC,KAAK,EAC3B,CAAC;oBACD,SAAS,CAAC,GAAG,EAAE;wBACb,mCAAmC,CAAC;4BAClC,cAAc;4BACd,mBAAmB,EAAE,aAAoB;4BACzC,qBAAqB,EAAE,qBAA4B;4BACnD,gBAAgB,EACd,gBAAyD;4BAC3D,iBAAiB;4BACjB,kBAAkB,EAAE,kBAAkB;4BACtC,iBAAiB,EAAE,gBAAuB;yBAC3C,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n ResourceRef,\n Injector,\n effect,\n untracked,\n Signal,\n inject,\n computed,\n} from '../host/craft-compat';\nimport { craftLinkedSignal as linkedSignal } from '../host/craft-linked-signal';\nimport {\n ResourceLikeMutationRef,\n ResourceByIdLikeMutationRef,\n} from '../mutation';\nimport {\n QueryDeclarativeEffect,\n setAllUpdatesFromMutationOnQueryValue,\n triggerQueryReloadOnMutationStatusChange,\n setAllPatchFromMutationOnQueryValue,\n ResourceExceptionConstraints,\n} from '../query.core';\nimport { ResourceByIdRef } from '../resource-by-id';\nimport { explicitNestedEffect } from './types/util';\nimport { InternalType } from './types/util.type';\nimport { ResourceByIdLikeQueryRef, ResourceLikeQueryRef } from '../query';\nimport { CraftResourceRef } from './craft-resource-ref';\n\n// todo improve internal function types\nexport function reactOnMutationEffect<\n QueryResourceState,\n QueryResourceParams,\n QueryResourceArgsParams,\n QueryIsMethod extends boolean,\n QuerySourceParams,\n QueryGroupIdentifier,\n QueryInsertions,\n MutationResourceState,\n MutationResourceParams,\n MutationResourceArgsParams,\n MutationIsMethod,\n MutationSourceParams,\n MutationGroupIdentifier,\n MutationInsertions,\n MutationExceptions extends ResourceExceptionConstraints,\n QueryExceptions extends ResourceExceptionConstraints,\n>(\n {\n queryTargeted,\n mutationTargeted,\n }: {\n queryTargeted:\n | ResourceLikeQueryRef<\n QueryResourceState,\n QueryResourceParams,\n QueryIsMethod,\n QueryResourceArgsParams,\n QuerySourceParams,\n QueryInsertions,\n QueryExceptions\n >\n | ResourceByIdLikeQueryRef<\n QueryResourceState,\n QueryResourceParams,\n QueryIsMethod,\n QueryResourceArgsParams,\n QuerySourceParams,\n QueryInsertions,\n QueryGroupIdentifier,\n QueryExceptions\n >;\n mutationTargeted:\n | ResourceLikeMutationRef<\n MutationResourceState,\n MutationResourceParams,\n MutationIsMethod,\n MutationResourceArgsParams,\n MutationSourceParams,\n MutationInsertions,\n MutationExceptions\n >\n | ResourceByIdLikeMutationRef<\n MutationResourceState,\n MutationResourceParams,\n MutationIsMethod,\n MutationResourceArgsParams,\n MutationSourceParams,\n MutationInsertions,\n MutationGroupIdentifier,\n MutationExceptions\n >;\n },\n mutationEffectOptions: QueryDeclarativeEffect<{\n query: InternalType<\n NoInfer<QueryResourceState>,\n NoInfer<QueryResourceParams>,\n NoInfer<QueryResourceArgsParams>,\n [unknown] extends [NoInfer<QueryGroupIdentifier>] ? false : true,\n NoInfer<QueryIsMethod>,\n NoInfer<QueryInsertions>,\n NoInfer<QueryGroupIdentifier>,\n NoInfer<QuerySourceParams>,\n NoInfer<QueryExceptions>\n >;\n mutation: InternalType<\n NoInfer<MutationResourceState>,\n NoInfer<MutationResourceParams>,\n NoInfer<MutationResourceArgsParams>,\n [unknown] extends [MutationGroupIdentifier] ? false : true,\n NoInfer<MutationIsMethod>,\n NoInfer<MutationInsertions>,\n NoInfer<MutationGroupIdentifier>,\n NoInfer<MutationSourceParams>,\n NoInfer<MutationExceptions>\n >;\n }>,\n) {\n const _injector = inject(Injector);\n if (mutationTargeted.type === 'resourceLike') {\n const mutationResource = mutationTargeted;\n return effect(() => {\n const mutationStatus = mutationResource.status();\n const mutationParamsSrc = mutationTargeted.resourceParamsSrc;\n // use to track the value of the mutation\n const _mutationValueChanged = mutationResource.hasValue()\n ? mutationResource.value()\n : undefined;\n\n if (\n mutationEffectOptions?.optimisticUpdate ||\n mutationEffectOptions.update\n ) {\n untracked(() => {\n setAllUpdatesFromMutationOnQueryValue({\n mutationStatus,\n queryResourceTarget: queryTargeted,\n mutationEffectOptions: mutationEffectOptions,\n mutationResource: mutationResource as any,\n mutationParamsSrc,\n mutationIdentifier: undefined,\n mutationResources: undefined,\n } as any);\n });\n }\n const reloadCConfig = mutationEffectOptions.reload;\n if (reloadCConfig) {\n untracked(() => {\n triggerQueryReloadOnMutationStatusChange({\n mutationStatus,\n queryResourceTarget: queryTargeted,\n mutationEffectOptions: mutationEffectOptions as any,\n mutationResource: mutationResource as unknown as ResourceRef<any>,\n mutationParamsSrc,\n reloadCConfig,\n mutationIdentifier: undefined,\n mutationResources: undefined,\n } as any);\n });\n }\n if (\n mutationEffectOptions.optimisticPatch ||\n mutationEffectOptions.patch\n ) {\n untracked(() => {\n setAllPatchFromMutationOnQueryValue({\n mutationStatus,\n //@ts-expect-error not understand from where the error come from\n queryResourceTarget: queryTargeted,\n mutationEffectOptions: mutationEffectOptions as any,\n mutationResource: mutationResource as unknown as CraftResourceRef<\n any,\n any\n >,\n mutationParamsSrc,\n mutationIdentifier: undefined,\n mutationResources: undefined,\n });\n });\n }\n });\n }\n const mutationResources = mutationTargeted._resourceById;\n\n const newMutationResourceRefForNestedEffect = linkedSignal<\n ResourceByIdRef<\n MutationGroupIdentifier & string,\n MutationResourceState,\n MutationResourceParams\n >,\n { newKeys: QueryGroupIdentifier[] } | undefined\n >({\n //@ts-expect-error I do not understand why it is not satisfies\n source: mutationResources,\n injector: _injector,\n computation: (currentSource, previous) => {\n if (!currentSource || !Object.keys(currentSource).length) {\n return undefined;\n }\n\n const currentKeys = Object.keys(currentSource) as QueryGroupIdentifier[];\n const previousKeys = Object.keys(\n previous?.source || {},\n ) as QueryGroupIdentifier[];\n\n // Find keys that exist in current but not in previous\n const newKeys = currentKeys.filter((key) => !previousKeys.includes(key));\n\n return newKeys.length > 0 ? { newKeys } : previous?.value;\n },\n }) as unknown as Signal<{ newKeys: MutationGroupIdentifier[] } | undefined>;\n\n return effect(() => {\n if (!newMutationResourceRefForNestedEffect()?.newKeys) {\n return;\n }\n newMutationResourceRefForNestedEffect()?.newKeys.forEach(\n (mutationIdentifier) => {\n const mutationResource =\n mutationResources()[\n mutationIdentifier as MutationGroupIdentifier & string\n ];\n if (!mutationResource) {\n return;\n }\n const safeMutationResourceValue = computed(() =>\n mutationResource.hasValue()\n ? mutationResource.value()\n : (undefined as unknown as MutationResourceState),\n );\n explicitNestedEffect(\n _injector,\n [\n mutationResource.status,\n safeMutationResourceValue,\n mutationResource.paramSrc,\n ],\n ([mutationStatus, _value]) => {\n const mutationParamsSrc = mutationResource.paramSrc;\n if (\n typeof mutationParamsSrc === 'function' &&\n mutationParamsSrc()\n ) {\n // ! keep this check, it is used to track mutationParamsSrc, otherwise it does not works\n }\n if (\n mutationEffectOptions?.optimisticUpdate ||\n mutationEffectOptions.update\n ) {\n untracked(() => {\n setAllUpdatesFromMutationOnQueryValue({\n mutationStatus,\n queryResourceTarget: queryTargeted as any,\n mutationEffectOptions: mutationEffectOptions as any,\n mutationResource,\n mutationParamsSrc,\n mutationIdentifier,\n mutationResources:\n mutationResources as unknown as ResourceByIdRef<\n string,\n any,\n any\n >,\n });\n });\n }\n const reloadCConfig = mutationEffectOptions.reload;\n if (reloadCConfig) {\n untracked(() => {\n triggerQueryReloadOnMutationStatusChange({\n mutationStatus,\n queryResourceTarget: queryTargeted,\n mutationEffectOptions: mutationEffectOptions as any,\n mutationResource,\n mutationParamsSrc,\n reloadCConfig,\n mutationIdentifier,\n mutationResources:\n mutationResources as unknown as ResourceByIdRef<\n string,\n any,\n any\n >,\n } as any);\n });\n }\n if (\n mutationEffectOptions.optimisticPatch ||\n mutationEffectOptions.patch\n ) {\n untracked(() => {\n setAllPatchFromMutationOnQueryValue({\n mutationStatus,\n queryResourceTarget: queryTargeted as any,\n mutationEffectOptions: mutationEffectOptions as any,\n mutationResource:\n mutationResource as unknown as CraftResourceRef<any, any>,\n mutationParamsSrc,\n mutationIdentifier: mutationIdentifier,\n mutationResources: mutationTargeted as any,\n });\n });\n }\n },\n );\n },\n );\n });\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-by-id-changes-tracker.util.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/resource-by-id-changes-tracker.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQxD,MAAM,MAAM,gCAAgC,CAAC,eAAe,SAAS,MAAM,IAAI;IAC7E,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;CAC5C,CAAC;AAWF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,SAAS,MAAM,EAC9B,KAAK,EACL,cAAc,EAEd,kBAAkB,EAAE,MAAM,CACxB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAC1E,GACA,gCAAgC,CAAC,eAAe,CAAC,CAuEnD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-by-id-changes-tracker.util.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/resource-by-id-changes-tracker.util.ts"],"names":[],"mappings":"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","sourcesContent":["import { computed, linkedSignal, Signal } from '../host/craft-compat';\nimport { CraftResourceRef } from './craft-resource-ref';\nimport { CraftResourceStatus, toCraftStatus } from './craft-resource-status';\n\ntype FullResourceStatusSnapshot<GroupIdentifier extends string> = Map<\n GroupIdentifier,\n { status: CraftResourceStatus; value: unknown }\n>;\n\nexport type resourceByIdChangesTrackerResult<GroupIdentifier extends string> = {\n hasChange: Signal<boolean>;\n ids: Signal<GroupIdentifier[]>;\n resolved: Signal<GroupIdentifier[]>;\n loading: Signal<GroupIdentifier[]>;\n reloading: Signal<GroupIdentifier[]>;\n exception: Signal<GroupIdentifier[]>;\n onlyValueChange: Signal<GroupIdentifier[]>;\n};\n\ntype ChangesByStatus<GroupIdentifier extends string> = {\n ids: GroupIdentifier[];\n resolved: GroupIdentifier[];\n loading: GroupIdentifier[];\n reloading: GroupIdentifier[];\n exception: GroupIdentifier[];\n onlyValueChange: GroupIdentifier[];\n};\n\n/**\n * Tracks the status and value changes of resources in a ResourceByIdRef.\n * Returns an object with signals for:\n * - hasChange: true when any ID has changed status or value\n * - ids: all IDs that changed (status or value)\n * - resolved: IDs that transitioned to 'resolved' status\n * - loading: IDs that transitioned to 'loading' status\n * - reloading: IDs that transitioned to 'reloading' status\n * - exception: IDs that transitioned to 'exception' status\n * - onlyValueChange: IDs where only the value changed (status stayed the same)\n *\n * @param resourceByIdSignal - The signal containing the resource map to track\n * @returns An object with signals for different change types\n */\nexport function resourceByIdChangesTracker<\n GroupIdentifier extends string,\n State,\n ResourceParams,\n>(\n resourceByIdSignal: Signal<\n Partial<Record<GroupIdentifier, CraftResourceRef<State, ResourceParams>>>\n >,\n): resourceByIdChangesTrackerResult<GroupIdentifier> {\n const changes = linkedSignal<\n FullResourceStatusSnapshot<GroupIdentifier>,\n ChangesByStatus<GroupIdentifier>\n >({\n source: () => getFullStatusSnapshot(resourceByIdSignal()),\n computation: (currentSnapshot, previous) => {\n const emptyChanges: ChangesByStatus<GroupIdentifier> = {\n ids: [],\n resolved: [],\n loading: [],\n reloading: [],\n exception: [],\n onlyValueChange: [],\n };\n\n if (!previous) {\n // First read - return empty arrays\n return emptyChanges;\n }\n\n const previousSnapshot = previous.source;\n const result: ChangesByStatus<GroupIdentifier> = {\n ids: [],\n resolved: [],\n loading: [],\n reloading: [],\n exception: [],\n onlyValueChange: [],\n };\n\n // Find IDs that changed status or value\n for (const [id, current] of currentSnapshot.entries()) {\n const prev = previousSnapshot.get(id);\n const statusChanged = prev?.status !== current.status;\n const valueChanged = prev?.value !== current.value;\n\n if (statusChanged || valueChanged) {\n result.ids.push(id);\n\n if (statusChanged) {\n // Add to the appropriate status array\n if (current.status === 'resolved' || current.status === 'local') {\n result.resolved.push(id);\n } else if (current.status === 'loading') {\n result.loading.push(id);\n } else if (current.status === 'reloading') {\n result.reloading.push(id);\n } else if (current.status === 'exception') {\n result.exception.push(id);\n }\n } else if (valueChanged) {\n // Only value changed, not status\n result.onlyValueChange.push(id);\n }\n }\n }\n\n return result;\n },\n });\n\n return {\n hasChange: computed(() => changes().ids.length > 0),\n ids: computed(() => changes().ids),\n resolved: computed(() => changes().resolved),\n loading: computed(() => changes().loading),\n reloading: computed(() => changes().reloading),\n exception: computed(() => changes().exception),\n onlyValueChange: computed(() => changes().onlyValueChange),\n };\n}\n\nfunction getFullStatusSnapshot<\n GroupIdentifier extends string,\n State,\n ResourceParams,\n>(\n resources: Partial<\n Record<GroupIdentifier, CraftResourceRef<State, ResourceParams>>\n >,\n): FullResourceStatusSnapshot<GroupIdentifier> {\n const snapshot = new Map<\n GroupIdentifier,\n { status: CraftResourceStatus; value: unknown }\n >();\n\n for (const [id, resourceRef] of Object.entries(resources) as [\n GroupIdentifier,\n CraftResourceRef<State, ResourceParams> | undefined,\n ][]) {\n if (!resourceRef) continue;\n snapshot.set(id, {\n // These are the raw (internal) Angular resources; map their technical\n // `'error'` status onto the craft-facing `'exception'` status.\n status: toCraftStatus(resourceRef.status(), false),\n value: resourceRef.hasValue() ? resourceRef.value() : undefined,\n });\n }\n\n return snapshot;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source.type.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/source.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG;IACtD,iBAAiB,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAC1C,GAAG,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source.type.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/util/source.type.ts"],"names":[],"mappings":"","sourcesContent":["import { Signal } from '../host/craft-compat';\nimport { SourceBranded } from './util';\n\nexport type ReadonlySource<T> = Signal<T | undefined> & {\n preserveLastValue: Signal<T | undefined>;\n} & SourceBranded;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"access-type-object-property-by-dotted-path.type.d.ts","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/access-type-object-property-by-dotted-path.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAE7D,MAAM,MAAM,oCAAoC,CAC9C,KAAK,SAAS,MAAM,EACpB,mBAAmB,SAAS,MAAM,EAAE,IAClC,mBAAmB,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACvD,IAAI,SAAS,MAAM,KAAK,GACtB,IAAI,SAAS,MAAM,EAAE,GACnB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtB,KAAK,CAAC,IAAI,CAAC,GACX,8BAA8B,CAC5B,KAAK,CAAC,IAAI,CAAC,CACZ,SAAS,MAAM,iBAAiB,GACjC,iBAAiB,SAAS,MAAM,GAC9B,oCAAoC,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAC7D,KAAK,GACP,MAAM,GACR,KAAK,CAAC,IAAI,CAAC,GACb,mBAAmB,GACrB,mBAAmB,CAAC;AAExB,MAAM,MAAM,qBAAqB,CAC/B,UAAU,SAAS,MAAM,EACzB,KAAK,SAAS,MAAM,EAAE,GAAG,EAAE,IACzB,UAAU,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,IAAI,EAAE,GAChD,qBAAqB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAC7C,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"access-type-object-property-by-dotted-path.type.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/access-type-object-property-by-dotted-path.type.ts"],"names":[],"mappings":"","sourcesContent":["import { MakeOptionalPropertiesRequired } from './util.type';\n\nexport type AccessTypeObjectPropertyByDottedPath<\n State extends object,\n DottedPathPathTuple extends string[]\n> = DottedPathPathTuple extends [infer Head, ...infer Tail]\n ? Head extends keyof State\n ? Tail extends string[]\n ? Tail['length'] extends 0\n ? State[Head]\n : MakeOptionalPropertiesRequired<\n State[Head]\n > extends infer RequiredStateHead\n ? RequiredStateHead extends object\n ? AccessTypeObjectPropertyByDottedPath<RequiredStateHead, Tail>\n : 'lol'\n : 'Head'\n : State[Head]\n : 'ErrorTypeNotFound'\n : 'ErrorTypeNotFound';\n\nexport type DottedPathPathToTuple<\n DottedPath extends string,\n Tuple extends string[] = []\n> = DottedPath extends `${infer Head}.${infer Tail}`\n ? DottedPathPathToTuple<Tail, [...Tuple, Head]>\n : [...Tuple, DottedPath];\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-or-mapper-fn-by-path-by-id.type.d.ts","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-or-mapper-fn-by-path-by-id.type.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.ts"],"names":[],"mappings":"","sourcesContent":["import { ResourceRef } from '../../host/craft-compat';\nimport {\n HasChild,\n MakeOptionalPropertiesRequired,\n MergeObject,\n UnionToTuple,\n} from './util.type';\nimport { ResourceByIdRef } from '../../resource-by-id';\nimport { Prettify } from '../util.type';\n\n/**\n * Does not work with number/symbole keys\n * Does not go into arrays\n * Does not handle optional path\n */\nexport type BooleanOrMapperFnByPathById<\n State extends object,\n QueryState,\n QueryParams,\n QueryIdentifier extends string\n> = Prettify<\n FlatAllObjectDeepPath<\n MakeOptionalPropertiesRequired<State>,\n QueryState,\n QueryParams,\n QueryIdentifier\n >\n>;\n\ntype FlatAllObjectDeepPath<\n State extends object,\n QueryState,\n QueryParams,\n QueryIdentifier extends string\n> = UnionToTuple<keyof State> extends string[]\n ? __ObjectDeep<\n UnionToTuple<keyof State>,\n State,\n QueryState,\n QueryParams,\n QueryIdentifier\n >\n : never;\n\ntype DefaultObject = {};\n\n// return an union type of all the paths in the state\ntype __ObjectDeep<\n keys extends string[],\n State,\n QueryState,\n QueryParams,\n QueryIdentifier extends string,\n Acc extends {} = DefaultObject,\n RootPath extends string = ''\n> = keys extends [infer Head, ...infer Tail]\n ? Head extends keyof State\n ? HasChild<State[Head]> extends true\n ? keyof State[Head] extends string\n ? UnionToTuple<keyof State[Head]> extends string[]\n ? Tail extends string[]\n ? __ObjectDeep<\n Tail,\n MakeOptionalPropertiesRequired<State>,\n QueryState,\n QueryParams,\n QueryIdentifier,\n __ObjectDeep<\n UnionToTuple<keyof State[Head]>,\n MakeOptionalPropertiesRequired<State[Head]>,\n QueryState,\n QueryParams,\n QueryIdentifier,\n MergeObject<\n Acc,\n {\n [key in `${RootPath}${Head & string}`]: NonNullable<\n State[Head]\n > extends NonNullable<QueryState>\n ?\n | boolean\n | AssociatedStateMapperFnById<\n QueryState,\n QueryParams,\n State[Head],\n QueryIdentifier\n >\n : AssociatedStateMapperFnById<\n QueryState,\n QueryParams,\n State[Head],\n QueryIdentifier\n >;\n }\n >,\n `${RootPath}${Head & string}.`\n >,\n RootPath\n >\n : __ObjectDeep<\n UnionToTuple<keyof State[Head]>,\n State[Head],\n QueryState,\n QueryParams,\n QueryIdentifier,\n MergeObject<\n Acc,\n {\n [key in `${RootPath}${Head & string}`]: NonNullable<\n State[Head]\n > extends NonNullable<QueryState>\n ?\n | boolean\n | AssociatedStateMapperFnById<\n QueryState,\n QueryParams,\n State[Head],\n QueryIdentifier\n >\n : AssociatedStateMapperFnById<\n QueryState,\n QueryParams,\n State[Head],\n QueryIdentifier\n >;\n }\n >,\n `${RootPath}${Head & string}.`\n >\n : Acc\n : Acc\n : Tail extends string[]\n ? __ObjectDeep<\n Tail,\n State,\n QueryState,\n QueryParams,\n QueryIdentifier,\n MergeObject<\n Acc,\n {\n [key in `${RootPath}${Head & string}`]: NonNullable<\n State[Head]\n > extends NonNullable<QueryState>\n ?\n | boolean\n | AssociatedStateMapperFnById<\n QueryState,\n QueryParams,\n State[Head],\n QueryIdentifier\n >\n : AssociatedStateMapperFnById<\n QueryState,\n QueryParams,\n State[Head],\n QueryIdentifier\n >;\n }\n >,\n RootPath\n >\n : Acc\n : Acc\n : Acc;\n\nexport type AssociatedStateMapperFnById<\n QueryState,\n QueryParams,\n ResultState,\n QueryIdentifier extends string\n> = (data: {\n queryResource: ResourceRef<QueryState>;\n queryParams: QueryParams;\n queryIdentifier: QueryIdentifier;\n queryResources: ResourceByIdRef<QueryIdentifier, QueryState, QueryParams>;\n}) => ResultState;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-or-mapper-fn-by-path.type.d.ts","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/boolean-or-mapper-fn-by-path.type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boolean-or-mapper-fn-by-path.type.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/boolean-or-mapper-fn-by-path.type.ts"],"names":[],"mappings":"","sourcesContent":["import { ResourceRef } from '../../host/craft-compat';\nimport {\n HasChild,\n MakeOptionalPropertiesRequired,\n MergeObject,\n UnionToTuple,\n} from './util.type';\nimport { Prettify } from '../util.type';\n\n/**\n * Does not work with number/symbole keys\n * Does not go into arrays\n * Does not handle optional path\n */\nexport type BooleanOrMapperFnByPath<\n State extends object,\n QueryState,\n QueryParams\n> = Prettify<\n FlatAllObjectDeepPath<\n MakeOptionalPropertiesRequired<State>,\n QueryState,\n QueryParams\n >\n>;\n\ntype FlatAllObjectDeepPath<\n State extends object,\n QueryState,\n QueryParams\n> = UnionToTuple<keyof State> extends string[]\n ? __ObjectDeep<UnionToTuple<keyof State>, State, QueryState, QueryParams>\n : never;\n\ntype DefaultObject = {};\n\n// return an union type of all the paths in the state\ntype __ObjectDeep<\n keys extends string[],\n State,\n QueryState,\n QueryParams,\n Acc extends {} = DefaultObject,\n RootPath extends string = ''\n> = keys extends [infer Head, ...infer Tail]\n ? Head extends keyof State\n ? HasChild<State[Head]> extends true\n ? keyof State[Head] extends string\n ? UnionToTuple<keyof State[Head]> extends string[]\n ? Tail extends string[]\n ? __ObjectDeep<\n Tail,\n MakeOptionalPropertiesRequired<State>,\n QueryState,\n QueryParams,\n __ObjectDeep<\n UnionToTuple<keyof State[Head]>,\n MakeOptionalPropertiesRequired<State[Head]>,\n QueryState,\n QueryParams,\n MergeObject<\n Acc,\n {\n [key in `${RootPath}${Head & string}`]: NonNullable<\n State[Head]\n > extends NonNullable<QueryState>\n ?\n | boolean\n | AssociatedStateMapperFn<\n QueryState,\n QueryParams,\n State[Head]\n >\n : AssociatedStateMapperFn<\n QueryState,\n QueryParams,\n State[Head]\n >;\n }\n >,\n `${RootPath}${Head & string}.`\n >,\n RootPath\n >\n : __ObjectDeep<\n UnionToTuple<keyof State[Head]>,\n State[Head],\n QueryState,\n QueryParams,\n MergeObject<\n Acc,\n {\n [key in `${RootPath}${Head & string}`]: NonNullable<\n State[Head]\n > extends NonNullable<QueryState>\n ?\n | boolean\n | AssociatedStateMapperFn<\n QueryState,\n QueryParams,\n State[Head]\n >\n : AssociatedStateMapperFn<\n QueryState,\n QueryParams,\n State[Head]\n >;\n }\n >,\n `${RootPath}${Head & string}.`\n >\n : Acc\n : Acc\n : Tail extends string[]\n ? __ObjectDeep<\n Tail,\n State,\n QueryState,\n QueryParams,\n MergeObject<\n Acc,\n {\n [key in `${RootPath}${Head & string}`]: NonNullable<\n State[Head]\n > extends NonNullable<QueryState>\n ?\n | boolean\n | AssociatedStateMapperFn<\n QueryState,\n QueryParams,\n State[Head]\n >\n : AssociatedStateMapperFn<QueryState, QueryParams, State[Head]>;\n }\n >,\n RootPath\n >\n : Acc\n : Acc\n : Acc;\n\nexport type AssociatedStateMapperFn<QueryState, QueryParams, ResultState> =\n (data: {\n queryResource: ResourceRef<QueryState>;\n queryParams: QueryParams;\n }) => ResultState;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/brand.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAE1C,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,OAAO,qBAAqB,SAAS,MAAM,CAAC,GACvE,IAAI,GACJ,KAAK,CAAC;AAEV,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAClE,EAAE,EAAE,CAAC,GACJ,CAAC,GAAG;IAAE,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAA;CAAE,CAGvC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAInD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/brand.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,CACxD,uBAAuB,CACxB,CAAC;AAMF,MAAM,UAAU,kBAAkB,CAChC,EAAK;IAEL,wFAAwF;IACxF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,IAAa,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAW;IACxC,OAAO,CACL,OAAO,EAAE,KAAK,UAAU,IAAK,EAAU,CAAC,qBAAqB,CAAC,KAAK,IAAI,CACxE,CAAC;AACJ,CAAC","sourcesContent":["export const __INTERNAL_QueryBrand: unique symbol = Symbol(\n '__INTERNAL_QueryBrand'\n);\n\nexport type HasQueryBrand<T> = typeof __INTERNAL_QueryBrand extends keyof T\n ? true\n : false;\n\nexport function brandQueryFunction<F extends (...args: any[]) => any>(\n fn: F\n): F & { [__INTERNAL_QueryBrand]: true } {\n // Attach a non-enumerable brand if you prefer DefineProperty; Object.assign is fine too\n return Object.assign(fn, { [__INTERNAL_QueryBrand]: true as const });\n}\n\nexport function isBrandQueryFn(fn: unknown): boolean {\n return (\n typeof fn === 'function' && (fn as any)[__INTERNAL_QueryBrand] === true\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object-deep-path-mapper.type.d.ts","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/object-deep-path-mapper.type.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,8BAA8B,EAC9B,YAAY,EACb,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI,OAAO,CACxD,eAAe,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,EACtD,YAAY,CACb,CAAC;AAEF,KAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IACvC,YAAY,CAAC,MAAM,KAAK,CAAC,SAAS,MAAM,EAAE,GACtC,gBAAgB,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,CAAC,GAClD,KAAK,CAAC;AAEZ,KAAK,YAAY,GAAG,QAAQ,CAAC;AAG7B,KAAK,gBAAgB,CACnB,IAAI,SAAS,MAAM,EAAE,EACrB,KAAK,EACL,GAAG,SAAS,MAAM,GAAG,YAAY,EACjC,QAAQ,SAAS,MAAM,GAAG,EAAE,IAC1B,IAAI,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACxC,IAAI,SAAS,MAAM,KAAK,GACtB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,GAChC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,GAC9B,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,GAC9C,IAAI,SAAS,MAAM,EAAE,GACnB,gBAAgB,CACd,IAAI,EACJ,8BAA8B,CAAC,KAAK,CAAC,EACrC,gBAAgB,CACd,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,EAC/B,8BAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC3C,eAAe,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,EACnD,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,CAC/B,EACD,QAAQ,CACT,GACD,gBAAgB,CACd,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,EAC/B,KAAK,CAAC,IAAI,CAAC,EACX,eAAe,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,EACnD,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,CAC/B,GACH,GAAG,GACL,GAAG,GACL,IAAI,SAAS,MAAM,EAAE,GACnB,gBAAgB,CACd,IAAI,EACJ,KAAK,EACL,eAAe,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,EACnD,QAAQ,CACT,GACD,GAAG,GACP,GAAG,GACL,GAAG,CAAC;AAER,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object-deep-path-mapper.type.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/object-deep-path-mapper.type.ts"],"names":[],"mappings":"","sourcesContent":["import {\n HasChild,\n MakeOptionalPropertiesRequired,\n UnionToTuple,\n} from './util.type';\n\n/**\n * Does not work with number/symbole keys\n * Does not go into arrays\n * Does not handle optional path\n */\nexport type ObjectDeepPath<State extends object> = Exclude<\n GetAllStatePath<MakeOptionalPropertiesRequired<State>>,\n DefaultUnion\n>;\n\ntype GetAllStatePath<State extends object> =\n UnionToTuple<keyof State> extends string[]\n ? __ObjectDeepPath<UnionToTuple<keyof State>, State>\n : never;\n\ntype DefaultUnion = '__ROOT';\n\n// return an union type of all the paths in the state\ntype __ObjectDeepPath<\n keys extends string[],\n State,\n Acc extends string = DefaultUnion,\n RootPath extends string = '',\n> = keys extends [infer Head, ...infer Tail]\n ? Head extends keyof State\n ? HasChild<State[Head]> extends true\n ? keyof State[Head] extends string\n ? UnionToTuple<keyof State[Head]> extends string[]\n ? Tail extends string[]\n ? __ObjectDeepPath<\n Tail,\n MakeOptionalPropertiesRequired<State>,\n __ObjectDeepPath<\n UnionToTuple<keyof State[Head]>,\n MakeOptionalPropertiesRequired<State[Head]>,\n MergeStatePaths<Acc, `${RootPath}${Head & string}`>,\n `${RootPath}${Head & string}.`\n >,\n RootPath\n >\n : __ObjectDeepPath<\n UnionToTuple<keyof State[Head]>,\n State[Head],\n MergeStatePaths<Acc, `${RootPath}${Head & string}`>,\n `${RootPath}${Head & string}.`\n >\n : Acc\n : Acc\n : Tail extends string[]\n ? __ObjectDeepPath<\n Tail,\n State,\n MergeStatePaths<Acc, `${RootPath}${Head & string}`>,\n RootPath\n >\n : Acc\n : Acc\n : Acc;\n\ntype MergeStatePaths<A, B> = A | B;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-by-id-config.type.d.ts","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/resource-by-id-config.type.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,CAC5B,aAAa,EACb,MAAM,EACN,UAAU,EACV,eAAe,SAAS,MAAM,EAC9B,yBAAyB,SAAS,MAAM,EACxC,eAAe,EACf,wBAAwB,IAExB,CAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,GACxE,CACI;IACE;;;;;OAKG;IACH,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,MAAM,EAAE,CACN,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,KACzC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;CACvC,GACD;IACE;;;;OAIG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC;IACrC,MAAM,EAAE,CACN,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,KACzC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;CACvC,GACD;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB;;;OAGG;IACH,MAAM,EAAE,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;CACvC,GACD;IACE,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB;;;OAGG;IACH,MAAM,EAAE,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;CACvC,GACD;IACE;;;OAGG;IACH,gBAAgB,EAAE,eAAe,CAC/B,yBAAyB,EACzB,eAAe,EACf,wBAAwB,CACzB,CAAC;IACF;;;;;OAKG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,MAAM,CAAC;IAClE,MAAM,EAAE,CACN,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,KACzC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;CACvC,GACD;IACE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB;;;OAGG;IACH,MAAM,EAAE,uBAAuB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC;CACvC,CACJ,GAAG;IACF;;;OAGG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,eAAe,CAAC;IACtE;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,EAAE,MAAM,SAAS,MAAM,GAE3B,SAAS,GACT,eAAe,GACf,CAAC,CACC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,KAC9C,OAAO,CAAC,GACjB,KAAK,CAAC;CACX,CAAA,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-by-id-config.type.js","sourceRoot":"","sources":["../../../../../../../libs/core/src/lib/util/types/resource-by-id-config.type.ts"],"names":[],"mappings":"","sourcesContent":["import {\n ResourceLoaderParams,\n ResourceOptions,\n ResourceRef,\n ResourceStreamingLoader,\n} from '../../host/craft-compat';\nimport { ResourceMethod } from './shared.type';\nimport { ResourceByIdRef } from '../../resource-by-id';\n\nexport type ResourceByIdConfig<\n ResourceState,\n Params,\n ParamsArgs,\n GroupIdentifier extends string,\n FromObjectGroupIdentifier extends string,\n FromObjectState,\n FromObjectResourceParams\n> =\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: () => Params;\n loader: (\n param: NoInfer<ResourceLoaderParams<Params>>\n ) => Promise<ResourceState>;\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: false\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 method: (args: ParamsArgs) => Params;\n loader: (\n param: NoInfer<ResourceLoaderParams<Params>>\n ) => Promise<ResourceState>;\n params?: never;\n fromResourceById?: never;\n stream?: never;\n preservePreviousValue?: () => boolean;\n }\n | {\n method?: never;\n loader?: never;\n params?: () => Params;\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 method: ResourceMethod<ParamsArgs, Params>;\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: (entity: ResourceRef<NoInfer<FromObjectState>>) => Params;\n loader: (\n param: NoInfer<ResourceLoaderParams<Params>>\n ) => Promise<ResourceState>;\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: false\n */\n preservePreviousValue?: () => boolean;\n }\n | {\n method?: never;\n loader?: never;\n params?: () => Params;\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 * 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: (params: NoInfer<NonNullable<Params>>) => 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 **queries** the default value is 'useIdentifier'\n *\n * For **mutations** 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"]}
|