@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":"craft-router-types.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-router-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-router-types.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-router-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAmChD;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,EAAE,CAAS;IACX,GAAG,CAAS;IACZ,iBAAiB,CAAS;IAEnC,YAAY,EAAU,EAAE,GAAW,EAAE,iBAAyB;QAC5D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;CACF;AAoDD,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,CAC9C,gBAAgB,CACjB,CAAC;AAEF,MAAM,OAAgB,aAAa;IAEjC,UAAU,CAAC,QAA6B;QACtC,IAAI,OAAO,GAAkC,QAAQ,CAAC,IAAI,CAAC;QAC3D,IAAI,KAAyB,CAAC;QAC9B,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACtC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACxB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["/**\n * Craft-owned structural stand-ins for the Angular router types that the\n * `craftRoutes` type graph still names. The DSL is unchanged; only the host\n * types are local.\n */\n\nimport { InjectionToken } from './craft-compat';\n\nexport type Data = Record<string, unknown>;\n\nexport type UrlSegment = {\n path: string;\n parameters: Record<string, string>;\n};\n\nexport type ParamMap = {\n has(name: string): boolean;\n get(name: string): string | null;\n getAll(name: string): string[];\n keys: string[];\n};\n\nexport type UrlTree = {\n toString(): string;\n};\n\nexport type GuardResult = boolean | UrlTree;\n\n/** Route params, keyed by the `:name` segments that produced them. */\nexport type Params = Record<string, string>;\n\nexport type CanActivateFn = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => GuardResult | Promise<GuardResult>;\n\nexport type CanMatchFn = (\n route: Route,\n segments: UrlSegment[],\n) => GuardResult | Promise<GuardResult>;\n\n/**\n * Emitted once a navigation has committed. Craft's own navigation stream\n * reports the same two moments Angular's did, so trace consumers keep working.\n */\nexport class NavigationEnd {\n readonly id: number;\n readonly url: string;\n readonly urlAfterRedirects: string;\n\n constructor(id: number, url: string, urlAfterRedirects: string) {\n this.id = id;\n this.url = url;\n this.urlAfterRedirects = urlAfterRedirects;\n }\n}\n\nexport type Route = {\n path?: string;\n pathMatch?: 'full' | 'prefix';\n component?: unknown;\n loadComponent?: () => Promise<unknown> | unknown;\n loadChildren?: () => Promise<unknown> | unknown;\n children?: Route[];\n canActivate?: unknown[];\n canMatch?: unknown[];\n canActivateChild?: unknown[];\n resolve?: Record<string, unknown>;\n data?: Data;\n // Readonly: a route's providers are an input the router only ever reads, and\n // helpers like loadCraftComponent hand back `readonly` arrays.\n providers?: readonly unknown[];\n title?: string | (() => string | Promise<string>);\n outlet?: string;\n redirectTo?: string | ((redirectData: PartialMatchRouteSnapshot) => unknown);\n};\n\nexport type ActivatedRouteSnapshot = {\n routeConfig: Route | null;\n url: UrlSegment[];\n params: Record<string, string>;\n queryParams: Record<string, string>;\n fragment: string | null;\n data: Data;\n outlet: string;\n title?: string;\n paramMap: ParamMap;\n queryParamMap: ParamMap;\n parent: ActivatedRouteSnapshot | null;\n root: ActivatedRouteSnapshot;\n firstChild: ActivatedRouteSnapshot | null;\n children: ActivatedRouteSnapshot[];\n pathFromRoot: ActivatedRouteSnapshot[];\n};\n\nexport type RouterStateSnapshot = {\n url: string;\n root: ActivatedRouteSnapshot;\n};\n\nexport type PartialMatchRouteSnapshot = ActivatedRouteSnapshot;\n\nexport type ActivatedRoute = {\n snapshot: ActivatedRouteSnapshot;\n pathFromRoot: ActivatedRoute[];\n};\n\nexport const ActivatedRoute = new InjectionToken<ActivatedRoute>(\n 'ActivatedRoute',\n);\n\nexport abstract class TitleStrategy {\n abstract updateTitle(snapshot: RouterStateSnapshot): void;\n buildTitle(snapshot: RouterStateSnapshot): string | undefined {\n let current: ActivatedRouteSnapshot | null = snapshot.root;\n let title: string | undefined;\n while (current) {\n if (typeof current.title === 'string') {\n title = current.title;\n }\n current = current.firstChild;\n }\n return title;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-signal.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-signal.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG;IACvC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACpD,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAClC,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAErE;AA0BD,wBAAgB,WAAW,CAAC,CAAC,EAC3B,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC9B,mBAAmB,CAAC,CAAC,CAAC,CAwBxB;AAeD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACnE,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,MAAM,CAAC,EAChB,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,WAAW,CAAC,CAAC,CAAC,CAAC;AAqClB,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE;IAC5C,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAwCzB;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAC7B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B;IAAE,OAAO,IAAI,IAAI,CAAA;CAAE,CAOrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAO5C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAO3C;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAK3E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-signal.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-signal.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n computed,\n effect,\n endBatch,\n setActiveSub,\n signal,\n startBatch,\n} from 'alien-signals';\nimport { RAW_REACTIVE_VALUE } from '../reactive-read';\n\n// alien-signals v3 flushes effects synchronously. Outlet view-transition\n// swaps also run CRAFT_SYNC_TEMPLATE_FLUSH inside startViewTransition.\nexport const CRAFT_SIGNAL = Symbol('craft-signal');\n\nexport type CraftSignal<T> = (() => T) & {\n readonly [CRAFT_SIGNAL]: true;\n};\n\nexport type CraftWritableSignal<T> = CraftSignal<T> & {\n set(value: T): void;\n update(fn: (value: T) => T): void;\n asReadonly(): CraftSignal<T>;\n};\n\ntype CraftSignalOptions<T> = {\n readonly equal?: (a: T, b: T) => boolean;\n readonly debugName?: string;\n};\n\ntype CraftWatchOptions = {\n readonly debugName?: string;\n readonly injector?: unknown;\n readonly manualCleanup?: boolean;\n};\n\nexport function ɵbrandAsCraftSignal<T>(value: () => T): CraftSignal<T> {\n return brand(value) as CraftSignal<T>;\n}\n\nfunction brand<T, SignalType extends () => T>(value: SignalType): SignalType {\n Object.defineProperties(value, {\n [CRAFT_SIGNAL]: {\n value: true,\n enumerable: false,\n },\n [RAW_REACTIVE_VALUE]: {\n value,\n enumerable: false,\n },\n });\n return value;\n}\n\nfunction withAsReadonly<T>(\n value: CraftWritableSignal<T> | CraftSignal<T>,\n): typeof value {\n const writable = value as CraftWritableSignal<T>;\n if (typeof writable.asReadonly !== 'function') {\n writable.asReadonly = () => value;\n }\n return value;\n}\n\nexport function craftSignal<T>(\n initial: T,\n options?: CraftSignalOptions<T>,\n): CraftWritableSignal<T> {\n // The value travels in a fresh box on every accepted write. alien-signals\n // compares the stored value by identity and drops a write that does not\n // change it — which would silently override `equal`, the very option callers\n // use to publish an in-place mutation (`map.set(k, v); return map`). Boxing\n // makes `equal` the only thing that decides whether a write propagates.\n const raw = signal<{ value: T }>({ value: initial });\n const equal = options?.equal ?? Object.is;\n const read = () => raw().value;\n const value = (() => read()) as CraftWritableSignal<T>;\n value.set = (next) => {\n if (\n !equal(\n untracked(read),\n next,\n )\n ) {\n raw({ value: next });\n }\n };\n value.update = (update) => value.set(update(untracked(read)));\n const branded = brand(value);\n branded.asReadonly = () => craftComputed(() => branded());\n return branded;\n}\n\n/**\n * A computation's outcome, value or throw. Craft signals suspension\n * (`CraftNotSettled`) and business exceptions (`CraftGenShortCircuit`) by\n * throwing out of a computation, and alien-signals leaves a getter that threw\n * marked CLEAN with its value never assigned — every later read would then hand\n * back a stale value (or `undefined`) instead of raising again. Settling the\n * throw into a value keeps the node honest: it is cached, re-raised on read,\n * and invalidated by the same dependencies as a normal result.\n */\ntype CraftSettlement<T> =\n | { readonly ok: true; readonly value: T }\n | { readonly ok: false; readonly error: unknown };\n\nexport function craftComputed<T>(compute: () => T): CraftSignal<T>;\nexport function craftComputed<T>(\n compute: () => T,\n options: CraftSignalOptions<T>,\n): CraftSignal<T>;\nexport function craftComputed<T>(\n compute: () => T,\n options?: CraftSignalOptions<T>,\n): CraftSignal<T> {\n const equal = options?.equal ?? Object.is;\n let hasPrevious = false;\n const derived = computed<CraftSettlement<T>>((previous) => {\n let next: CraftSettlement<T>;\n try {\n next = { ok: true, value: compute() };\n } catch (error) {\n next = { ok: false, error };\n }\n // Identity is preserved only between two equal VALUES: a throw is never\n // equal to anything, so a recovering computation always notifies.\n const result =\n hasPrevious && previous?.ok && next.ok && equal(previous.value, next.value)\n ? previous\n : next;\n hasPrevious = true;\n return result;\n });\n const value = (() => {\n const settlement = derived();\n // A computed read from inside its own first evaluation has nothing settled\n // yet, and alien-signals hands back the node's still-unassigned value. That\n // is a cycle in the graph, and it stays the caller's to resolve — but it\n // reads as `undefined`, exactly as it did before outcomes were boxed, and\n // not as a TypeError raised in here about a wrapper the caller never saw.\n if (settlement === undefined) return undefined as T;\n if (!settlement.ok) throw settlement.error;\n return settlement.value;\n }) as CraftSignal<T>;\n return withAsReadonly(brand(value)) as CraftSignal<T>;\n}\n\nexport function craftLinkedSignal<T>(options: {\n source: () => unknown;\n computation: () => T;\n equal?: (a: T, b: T) => boolean;\n debugName?: string;\n}): CraftWritableSignal<T> {\n const revision = signal(0);\n const equal = options.equal ?? Object.is;\n let hasSource = false;\n let previousSource: unknown;\n let hasComputedValue = false;\n let localOverride = false;\n let localValue!: T;\n\n const derived = computed<T>((previous) => {\n revision();\n const source = options.source();\n if (!hasSource || !Object.is(previousSource, source)) {\n hasSource = true;\n previousSource = source;\n localOverride = false;\n }\n if (localOverride) {\n return localValue;\n }\n const next = options.computation();\n const result =\n hasComputedValue && equal(previous as T, next) ? (previous as T) : next;\n hasComputedValue = true;\n return result;\n });\n const value = (() => derived()) as CraftWritableSignal<T>;\n value.set = (next) => {\n if (!hasSource) {\n previousSource = untracked(options.source);\n hasSource = true;\n }\n localValue = next;\n localOverride = true;\n revision(untracked(() => revision()) + 1);\n };\n value.update = (update) => value.set(update(untracked(() => derived())));\n const branded = brand(value);\n branded.asReadonly = () => craftComputed(() => branded());\n return branded;\n}\n\nexport function craftWatch(\n fn: () => void | (() => void),\n _options?: CraftWatchOptions,\n): { destroy(): void } {\n // alien-signals has no injector ownership. The overload preserves the Task 2\n // call shape; boundary helpers remain responsible for injector teardown.\n // Detach watches from the currently active Alien subscriber so an\n // independently-owned watch is not disposed with a transient parent effect.\n const destroy = untracked(() => effect(fn));\n return { destroy };\n}\n\n/**\n * Publishes every write made inside `fn` as ONE update: readers and effects run\n * after the last write, never between two of them.\n *\n * Craft effects run synchronously, so two writes that only make sense together\n * — a nonce and the params it tags, a value and the status that describes it —\n * have to say so, or a reader woken by the first one observes the half-written\n * state and acts on it.\n */\nexport function craftBatch<T>(fn: () => T): T {\n startBatch();\n try {\n return fn();\n } finally {\n endBatch();\n }\n}\n\nexport function untracked<T>(fn: () => T): T {\n const previous = setActiveSub();\n try {\n return fn();\n } finally {\n setActiveSub(previous);\n }\n}\n\nexport function isCraftSignal(value: unknown): value is CraftSignal<unknown> {\n return (\n typeof value === 'function' &&\n (value as Partial<CraftSignal<unknown>>)[CRAFT_SIGNAL] === true\n );\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-test-bed.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-test-bed.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,qBAAqB,CAAC,CAAC,GAAG,OAAO,IAAI;IAC/C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC9B,aAAa,IAAI,IAAI,CAAC;IACtB,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,KAAK,gBAAgB,GAAG,CACtB,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,aAAa,KACpB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAAE,CAAC;AAI5C;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAEjE;AAeD;;;;;;;;GAQG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAqD;IAErE;;;OAGG;IACH,mBAAmB,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9C,sBAAsB,CAAC,MAAM,EAAE;QAAE,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI;IAUxE,sEAAsE;IAChE,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,uFAAuF;IACvF,IAAI,YAAY,IAAI,aAAa,CAShC;IAED,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IACrC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI;IASrE,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAIxC;;;OAGG;IACH,YAAY,IAAI,IAAI;IAIpB,2EAA2E;IAC3E,IAAI,IAAI,IAAI;IAIZ;;;;OAIG;IACH,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC;IAqB1E,kBAAkB,IAAI,IAAI;IAM1B,OAAO,CAAC,eAAe;CAUxB;AAED,eAAO,MAAM,OAAO,cAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"craft-test-bed.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/host/craft-test-bed.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createCraftInjector,\n type CraftInjector,\n} from './craft-injector';\nimport {\n createEnvironmentInjector,\n getCraftRootDefaultProviders,\n ɵdestroyCraftDestroyRef,\n DestroyRef,\n type Provider,\n type ProviderToken,\n} from './craft-compat';\n\nexport type CraftComponentFixture<T = unknown> = {\n readonly nativeElement: HTMLElement;\n readonly componentInstance: T;\n detectChanges(): void;\n destroy(): void;\n};\n\ntype CraftTestMounter = (\n component: unknown,\n host: Element,\n injector: CraftInjector,\n) => { instance: unknown; destroy(): void };\n\nlet mounter: CraftTestMounter | undefined;\n\n/**\n * `@craft-ts/component` installs the renderer here on import — core has no way\n * to mount anything on its own.\n */\nexport function ɵsetCraftTestMounter(next: CraftTestMounter): void {\n mounter = next;\n}\n\nfunction ɵmountCraftTestComponent(\n component: unknown,\n host: Element,\n injector: CraftInjector,\n): { instance: unknown; destroy(): void } {\n if (!mounter) {\n throw new Error(\n 'TestBed.createComponent needs @craft-ts/component; import it in the spec.',\n );\n }\n return mounter(component, host, injector);\n}\n\n/**\n * The Craft stand-in for Angular's `TestBed`.\n *\n * Specs only ever used six of its methods, and every one of them is really a\n * question about a root injector: configure providers, resolve a token, run a\n * callback in context. This keeps that call shape so the suites read the same,\n * while the thing underneath is a plain `CraftInjector` — no platform, no\n * testing module, no compiler.\n */\nclass CraftTestBed {\n private providers: unknown[] = [];\n private injector: (CraftInjector & { destroy?(): void }) | undefined;\n\n /**\n * Angular needed a platform booted once per process. Craft does not, so this\n * exists purely so the `beforeAll` blocks in the ported specs keep compiling.\n */\n initTestEnvironment(..._args: unknown[]): void {\n // no platform to boot\n }\n\n configureTestingModule(config: { providers?: readonly unknown[] }): this {\n if (config.providers) {\n this.providers.push(...config.providers);\n }\n // Providers added after the injector was materialised must reach it, so\n // drop it and rebuild lazily on the next access.\n this.disposeInjector();\n return this;\n }\n\n /** Craft has no template compiler, so there is nothing to compile. */\n async compileComponents(): Promise<void> {\n // nothing to compile\n }\n\n /** The lazily built root injector, including Craft's `providedIn: 'root'` defaults. */\n get rootInjector(): CraftInjector {\n if (!this.injector) {\n this.injector = createEnvironmentInjector(\n [...getCraftRootDefaultProviders(), ...this.providers],\n createCraftInjector([]),\n 'CraftTestBed',\n );\n }\n return this.injector;\n }\n\n inject<T>(token: ProviderToken<T>): T;\n inject<T>(token: ProviderToken<T>, notFoundValue: T | null): T | null;\n inject<T>(token: ProviderToken<T>, notFoundValue?: T | null): T | null {\n return arguments.length > 1\n ? ((this.rootInjector.get(token as object, notFoundValue) ?? null) as\n | T\n | null)\n : (this.rootInjector.get(token as object) as T);\n }\n\n runInInjectionContext<T>(fn: () => T): T {\n return this.rootInjector.run(fn);\n }\n\n /**\n * alien-signals notifies effects synchronously, so by the time a write\n * returns its effects have already run and there is nothing left to drain.\n */\n flushEffects(): void {\n // effects are synchronous\n }\n\n /** Angular's change-detection pump. Same story as {@link flushEffects}. */\n tick(): void {\n // effects are synchronous\n }\n\n /**\n * Mounts a Craft component and returns an Angular-shaped fixture, so the\n * specs written against `TestBed.createComponent(...)` keep their shape.\n * `detectChanges` has nothing to do — the mount already rendered.\n */\n createComponent<T = unknown>(component: unknown): CraftComponentFixture<T> {\n const host = document.createElement('div');\n document.body.append(host);\n const mounted = ɵmountCraftTestComponent(\n component,\n host,\n this.rootInjector,\n );\n return {\n nativeElement: host,\n componentInstance: mounted.instance as T,\n detectChanges() {\n // rendering is synchronous\n },\n destroy() {\n mounted.destroy();\n host.remove();\n },\n };\n }\n\n resetTestingModule(): this {\n this.disposeInjector();\n this.providers = [];\n return this;\n }\n\n private disposeInjector(): void {\n const current = this.injector;\n this.injector = undefined;\n if (!current) return;\n const destroyRef = (current as { ɵdestroyRef?: DestroyRef }).ɵdestroyRef;\n if (destroyRef) {\n ɵdestroyCraftDestroyRef(destroyRef);\n }\n current.destroy?.();\n }\n}\n\nexport const TestBed = new CraftTestBed();\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-tag.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/host-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,oBAAoB,IAAI,mBAAmB,EAC3C,cAAc,IAAI,aAAa,EAC/B,gBAAgB,IAAI,eAAe,EACnC,kBAAkB,IAAI,iBAAiB,EACvC,SAAS,IAAI,QAAQ,EACrB,QAAQ,IAAI,OAAO,EACnB,UAAU,IAAI,SAAS,EACvB,KAAK,QAAQ,EACb,eAAe,IAAI,cAAc,EACjC,gBAAgB,IAAI,eAAe,EACnC,gBAAgB,IAAI,eAAe,EACnC,iBAAiB,IAAI,gBAAgB,GACtC,MAAM,iBAAiB,CAAC"}
|
package/src/lib/host-tag.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-tag.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/host-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,IAAI,mBAAmB,EAC3C,cAAc,IAAI,aAAa,EAC/B,gBAAgB,IAAI,eAAe,EACnC,kBAAkB,IAAI,iBAAiB,EACvC,SAAS,IAAI,QAAQ,EACrB,QAAQ,IAAI,OAAO,EACnB,UAAU,IAAI,SAAS,EAEvB,eAAe,IAAI,cAAc,EACjC,gBAAgB,IAAI,eAAe,EACnC,gBAAgB,IAAI,eAAe,EACnC,iBAAiB,IAAI,gBAAgB,GACtC,MAAM,iBAAiB,CAAC","sourcesContent":["export {\n type CraftTrackTags,\n ɵHOST_NAME_META_DATA as HOST_NAME_META_DATA,\n ɵHOST_TAG_LIST as HOST_TAG_LIST,\n ɵTRACK_TAGS_LIST as TRACK_TAGS_LIST,\n ɵHostNameToProvide as HostNameToProvide,\n ɵHostName as HostName,\n ɵHostTag as HostTag,\n ɵTrackTags as TrackTags,\n type TrackTag,\n ɵinjectHostName as injectHostName,\n ɵinjectTrackTags as injectTrackTags,\n ɵprovideHostName as provideHostName,\n ɵprovideTrackTags as provideTrackTags,\n} from './craft-service';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-entities.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-entities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-entities.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-entities.ts"],"names":[],"mappings":"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","sourcesContent":["import { InsertionStateFactoryContext } from './query.core';\nimport { EntitiesUtilBrand, IdSelector } from './util/entities-util';\nimport {\n AccessTypeObjectPropertyByDottedPath,\n DottedPathPathToTuple,\n} from './util/types/access-type-object-property-by-dotted-path.type';\nimport {\n createNestedStateUpdate,\n getNestedStateValue,\n} from './util/update-state.util';\nimport { ObjectDeepPath } from './util/types/object-deep-path-mapper.type';\nimport { MergeObject, Prettify } from './util/util.type';\n\ntype ArrayObjectDeepPath<State extends object> =\n ObjectDeepPath<State> extends infer Path\n ? Path extends string\n ? AccessTypeObjectPropertyByDottedPath<\n State,\n DottedPathPathToTuple<Path>\n > extends Array<any>\n ? Path\n : never\n : never\n : never;\n\ntype DottedPathToCamel<Path extends string> =\n Path extends `${infer Head}.${infer Tail}`\n ? `${Head}${Capitalize<DottedPathToCamel<Tail>>}`\n : Path;\n\ntype EntitiesUtilsToMap<\n EntityHelperFns,\n Entity,\n K,\n HasStateIdentifier,\n StateIdentifier,\n HasPath,\n Path,\n Acc = {},\n> = EntityHelperFns extends [infer First, ...infer Rest]\n ? First extends (data: infer Payload) => infer R\n ? R extends EntitiesUtilBrand<infer Name>\n ? EntitiesUtilsToMap<\n Rest,\n Entity,\n K,\n HasStateIdentifier,\n StateIdentifier,\n HasPath,\n Path,\n Acc & {\n [key in Name as `${HasPath extends true ? `${DottedPathToCamel<Path & string>}${Capitalize<string & key>}` : key & string}`]: (\n payload: MergeObject<\n {\n [key in Exclude<\n keyof Payload,\n 'identifier'\n > as `${key extends 'entities' ? never : key & string}`]: key extends 'entity'\n ? Entity\n : key extends 'ids'\n ? K[]\n : key extends 'newEntities'\n ? Entity[]\n : `Not implemented mapping for ${key & string}`;\n },\n HasStateIdentifier extends true\n ? {\n select: StateIdentifier extends (...args: any) => infer R\n ? R\n : never;\n }\n : {}\n >,\n ) => void;\n }\n >\n : 'No EntitiesBranded Name Detected'\n : false\n : Acc;\n\n/**\n * Creates an insertion that adds entity collection management methods to state, query, or queryParams primitives.\n *\n * Provides type-safe manipulation of arrays of entities with operations like add, remove, update, and upsert.\n * Supports nested properties via dot notation paths and custom entity identifiers.\n *\n * @template State - The state type (array or object containing arrays)\n * @template K - The type of entity identifiers (string or number)\n * @template PreviousInsertionsOutputs - Combined outputs from previous insertions\n * @template EntityHelperFns - Tuple type of entity utility functions to expose\n * @template StateIdentifier - Type of identifier function for parallel queries\n * @template Path - Dot-notation path to nested array (inferred from state structure)\n *\n * @param config - Configuration object\n * @param config.methods - Array of entity utility functions (addOne, removeOne, updateOne, etc.) to expose as methods\n * @param config.identifier - Optional custom function to extract unique ID from entities.\n * Defaults to `entity.id` for objects or `entity` for primitives\n * @param config.path - Optional dot-notation path to nested array property (e.g., 'catalog.products').\n * Method names are prefixed with camelCase path when provided\n *\n * @returns Insertion function that adds entity management methods to the primitive\n *\n * @example\n * // Basic usage with primitives\n * const tags = yield* state(\n * [] as string[],\n * insertEntities({\n * methods: [addOne, addMany, removeOne],\n * })\n * ));\n * yield* tags.addOne({ entity: 'typescript' });\n * yield* tags.addMany({ newEntities: ['angular', 'signals'] });\n *\n * @example\n * // With objects having default id property\n * interface Product {\n * id: string;\n * name: string;\n * price: number;\n * }\n * const products = yield* state(\n * [] as Product[],\n * insertEntities({\n * methods: [addOne, setOne, removeOne],\n * })\n * ));\n * yield* products.addOne({ entity: { id: '1', name: 'Laptop', price: 999 } });\n *\n * @example\n * // With custom identifier\n * interface User {\n * uuid: string;\n * name: string;\n * }\n * const users = yield* state(\n * [] as User[],\n * insertEntities({\n * methods: [setOne, removeOne],\n * identifier: (user) => user.uuid,\n * })\n * ));\n *\n * @example\n * // With nested path\n * interface Catalog {\n * total: number;\n * products: Array<{ id: string; name: string }>;\n * }\n * const catalog = yield* state(\n * { total: 0, products: [] } as Catalog,\n * insertEntities({\n * methods: [addMany, removeOne],\n * path: 'products',\n * })\n * ));\n * yield* catalog.productsAddMany({ newEntities: [{ id: '1', name: 'Item' }] });\n *\n * @example\n * // With parallel queries\n * const userQuery = yield* query(\n * {\n * params: () => 'userId',\n * identifier: (params) => params,\n * loader: async ({ params }) => fetchUserPosts(params),\n * },\n * insertEntities({\n * methods: [addOne],\n * })\n * ));\n * yield* userQuery.addOne({\n * select: 'user-123', // Target specific query instance\n * entity: { id: 'post-1', title: 'New Post' },\n * });\n *\n * @see {@link https://github.com/craft-ts/craft-ts/blob/main/apps/docs/insertions/insert-entities.md | insertEntities Documentation}\n */\nexport function insertEntities<\n State,\n K extends string | number,\n PreviousInsertionsOutputs,\n const EntityHelperFns extends unknown[],\n StateIdentifier,\n const Path = State extends Array<infer Entity>\n ? never\n : State extends object\n ? ArrayObjectDeepPath<State>\n : never,\n StateType = State extends Array<infer R>\n ? R\n : State extends object\n ? Path extends string\n ? AccessTypeObjectPropertyByDottedPath<\n State,\n DottedPathPathToTuple<Path>\n > extends Array<infer Entity>\n ? Entity\n : never\n : never\n : never,\n HasStateIdentifier = [unknown] extends [StateIdentifier]\n ? false\n : StateIdentifier extends (...args: any) => infer R\n ? [unknown] extends [R]\n ? false\n : true\n : false,\n IsEntityIdentifierOptional = StateType extends { id: NoInfer<K> }\n ? true\n : StateType extends string | number\n ? true\n : false,\n>(\n config: {\n methods: EntityHelperFns;\n } & MergeObject<\n IsEntityIdentifierOptional extends true\n ? {\n identifier?: IdSelector<NoInfer<StateType>, NoInfer<K>>;\n }\n : {\n identifier: IdSelector<NoInfer<StateType>, NoInfer<K>>;\n },\n [Path] extends [never]\n ? {}\n : {\n path: Path;\n }\n >,\n) {\n return (\n context: InsertionStateFactoryContext<State, PreviousInsertionsOutputs> & {\n identifier?: StateIdentifier;\n },\n ) => {\n const methods: Record<string, (payload: unknown) => void> = {};\n const hasPath = 'path' in config;\n const path = hasPath ? (config as { path: string }).path : undefined;\n const pathKeys = path ? path.split('.') : undefined;\n const pathMethodPrefix = pathKeys\n ? pathKeys.reduce(\n (acc, key, index) =>\n index === 0 ? key : `${acc}${key[0].toUpperCase()}${key.slice(1)}`,\n '',\n )\n : undefined;\n\n for (const helperFn of config.methods as Array<\n ((data: Record<string, unknown>) => StateType[]) & { name: string }\n >) {\n const helperName = helperFn.name;\n if (!helperName) {\n continue;\n }\n const methodName = hasPath\n ? `${pathMethodPrefix}${helperName[0].toUpperCase()}${helperName.slice(1)}`\n : helperName;\n\n methods[methodName] = (payload: any) => {\n context.update((state) => {\n const hasSelect = 'select' in payload && payload.select;\n const targetState = hasSelect\n ? (state as any)[payload.select as number]\n : state;\n const entities = pathKeys\n ? getNestedStateValue({\n state: targetState,\n keysPath: pathKeys,\n })\n : targetState;\n const updatedEntities = helperFn({\n ...(payload as Record<string, unknown>),\n entities,\n identifier: config.identifier,\n });\n\n if (hasSelect) {\n const updatedTargetState = pathKeys\n ? createNestedStateUpdate({\n state: targetState,\n keysPath: pathKeys,\n value: updatedEntities,\n })\n : updatedEntities;\n return {\n ...(state as any),\n [payload.select as number]: updatedTargetState,\n } as any;\n }\n\n if (pathKeys) {\n return createNestedStateUpdate({\n state,\n keysPath: pathKeys,\n value: updatedEntities,\n });\n }\n\n return updatedEntities;\n });\n };\n }\n return methods as Prettify<\n EntitiesUtilsToMap<\n EntityHelperFns,\n StateType,\n K,\n HasStateIdentifier,\n StateIdentifier,\n 'path' extends keyof typeof config ? true : false,\n Path\n >\n > & {\n testState: State;\n testPath: Path;\n testHasPath: 'path' extends keyof typeof config ? true : false;\n };\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-noop-typing-anchor.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-noop-typing-anchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EACT,yBAAyB,GAAG,EAAE,EAE9B,QAAQ,EAAE,4BAA4B,CAAC,SAAS,EAAE,yBAAyB,CAAC,GAC3E,EAAE,CAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-noop-typing-anchor.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-noop-typing-anchor.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAIpC,QAA4E;IAE5E,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["import type { InsertionStateFactoryContext } from './query.core';\n\n/**\n * No-op insertion used to preserve contextual typing in insertion chains of\n * the form-tree helpers (`insertForm` / `insertSelectFormTree`), which keep a\n * variadic signature.\n *\n * Usage:\n * `insertSelectFormTree('name', insertNoopTypingAnchor, insertFormAttributes(...))`\n *\n * It is NOT needed with `insertSelect`: use\n * `insertSelect('grid', (gridContext) => craftPipe(gridContext, ...))`,\n * which preserves nested contextual typing by itself.\n */\nexport function insertNoopTypingAnchor<\n StateType,\n PreviousInsertionsOutputs = {},\n>(\n _context: InsertionStateFactoryContext<StateType, PreviousInsertionsOutputs>,\n): {} {\n return {};\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-pagination-placeholder-data.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-pagination-placeholder-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-pagination-placeholder-data.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-pagination-placeholder-data.ts"],"names":[],"mappings":"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","sourcesContent":["import { Signal } from './host/craft-compat';\nimport { craftComputed } from './craft-computed';\nimport { isGenerator } from './craft-generator-runtime';\nimport { settled, type CraftSettledBrand } from './craft-settled';\nimport {\n InsertionByIdParams,\n ResourceExceptionConstraints,\n YieldableInsertionWrite,\n} from './query.core';\nimport type { CraftResourceRef } from './util/craft-resource-ref';\nimport {\n CraftResourceStatus,\n toCraftStatus,\n} from './util/craft-resource-status';\nimport {\n createYieldableReactiveFacade,\n rawReactiveFacade,\n type ReactiveReadRequest,\n type YieldableReactiveValue,\n} from './reactive-read';\n\nfunction* readPaginationReactive<T>(\n reader: () => T | Generator<ReactiveReadRequest<T>, T, unknown>,\n): Generator<ReactiveReadRequest<T>, T, unknown> {\n const value = reader();\n return isGenerator(value) ? yield* value : value;\n}\n\n/**\n * Base outputs produced by {@link insertPaginationPlaceholderData}.\n *\n * - `currentPageData`: the current page data, or the previous page data while the\n * next page is loading (placeholder). Never `undefined`: falls back to `initialValue`.\n * - `currentPageStatus`: the `CraftResourceStatus` of the current page.\n * - `isPlaceHolderData`: whether placeholder (previous page) data is currently shown.\n * - `currentIdentifier`: the identifier of the current page.\n */\nexport type PaginationBaseOutputs<\n PageState,\n PrimitiveName extends string = string,\n SettledExceptions = never,\n> = {\n currentPageData: Signal<PageState>;\n currentPageStatus: YieldableReactiveValue<\n CraftResourceStatus,\n 'currentPageStatus'\n > &\n CraftSettledBrand<PrimitiveName, SettledExceptions>;\n isPlaceHolderData: Signal<boolean>;\n currentIdentifier: Signal<string>;\n};\n\ntype PublicPaginationBaseOutputs<\n PageState,\n PrimitiveName extends string = string,\n SettledExceptions = never,\n> = {\n currentPageData: YieldableReactiveValue<PageState, 'currentPageData'>;\n currentPageStatus: YieldableReactiveValue<\n CraftResourceStatus,\n 'currentPageStatus'\n > &\n CraftSettledBrand<PrimitiveName, SettledExceptions>;\n isPlaceHolderData: YieldableReactiveValue<boolean, 'isPlaceHolderData'>;\n currentIdentifier: YieldableReactiveValue<string, 'currentIdentifier'>;\n};\n\n/**\n * Passthrough pieces of the underlying insertion context exposed to the `build` callback.\n */\ntype PaginationContextPassthrough<\n PageState,\n PrimitiveName extends string = string,\n Exceptions extends\n ResourceExceptionConstraints = ResourceExceptionConstraints,\n> = Pick<\n InsertionByIdParams<\n string,\n PageState & object,\n unknown,\n Exceptions,\n {},\n PrimitiveName\n >,\n | 'resourceById'\n | 'resourceParamsSrc'\n | 'identifier'\n | 'hasException'\n | 'exceptions'\n | 'settledState'\n>;\n\n/**\n * Context passed to the optional `build` callback of {@link insertPaginationPlaceholderData}.\n *\n * In addition to the base pagination outputs, it exposes helpers scoped to the\n * **current page** (the data displayed), so custom computed/methods act on the\n * page the user is looking at rather than the global `Record<id, State>`.\n */\nexport type PaginationBuildContext<\n PageState,\n PrimitiveName extends string = string,\n Exceptions extends\n ResourceExceptionConstraints = ResourceExceptionConstraints,\n> = PublicPaginationBaseOutputs<\n PageState,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n> & {\n /**\n * The data on screen: the current page's, or the previous page's while the\n * current one loads. Matches what `currentPageData` renders, so a derived\n * count cannot disagree with the visible rows.\n */\n state: YieldableReactiveValue<PageState, 'state'>;\n /** Current page data only when the current page has settled; suspends otherwise. */\n settledState: PaginationContextPassthrough<\n PageState,\n PrimitiveName,\n Exceptions\n >['settledState'];\n /** Replace the current page data. No-op if the page is not loaded yet. */\n set: YieldableInsertionWrite<[newValue: PageState], PageState>;\n /** Update the current page data from its previous value. */\n update: YieldableInsertionWrite<\n [updateFn: (current: PageState) => PageState],\n PageState\n >;\n /** Patch the current page data with a partial value. */\n patch: YieldableInsertionWrite<\n [patchFn: (current: PageState) => Partial<PageState>],\n PageState\n >;\n} & PaginationContextPassthrough<PageState, PrimitiveName, Exceptions>;\n\n/**\n * Provides placeholder data during pagination transitions for a smoother user experience.\n *\n * When navigating between pages, this insertion shows the previous page's data while\n * the new page is loading, avoiding empty states during transitions.\n *\n * It is a **higher-order insertion**: call it with a `config` (and an optional `build`\n * callback) and pass the result to `query(...)`.\n *\n * - `config.initialValue` is both the default value **and** the type of a page: thanks to\n * it, `currentPageData` is a yieldable reader for `PageState` and is never `undefined`.\n * - The optional `build` callback lets you attach custom outputs (computed/methods)\n * alongside the pagination outputs. Its helpers (`state`, `set`, `update`, `patch`)\n * are scoped to the **current page** (the displayed data), never the global record.\n *\n * @example\n * ```typescript\n * const pagination = signal(1);\n *\n * const userQuery = yield* query(\n * {\n * params: pagination,\n * identifier: (params) => '' + params,\n * loader: async ({ params: page }) => fetchUsers(page),\n * },\n * insertPaginationPlaceholderData({ initialValue: [] as User[] }),\n * ));\n *\n * // Access the data (or placeholder during loading) — never undefined\n * const data = yield* userQuery.currentPageData();\n * ```\n *\n * @example\n * With custom outputs via `build`:\n * ```typescript\n * const usersQuery = yield* query(\n * {\n * params: pagination,\n * identifier: (params) => `${params.page}-${params.pageSize}`,\n * loader: function* ({ params }) {\n * return yield* ApiService.getDataList(params);\n * },\n * },\n * insertPaginationPlaceholderData(\n * { initialValue: [] as Data[] },\n * ({ state, set }) => ({\n * totalOfUnCompletedData: craftComputed(function* () {\n * return (yield* state()).filter((d) => !d.completed).length;\n * }),\n * markAsCompleted: function* (id: string) {\n * const current = yield* state();\n * return yield* set(\n * current.map((d) => (d.id === id ? { ...d, completed: true } : d)),\n * );\n * },\n * }),\n * ),\n * ));\n * ```\n */\nexport function insertPaginationPlaceholderData<\n PageState,\n ExtraOutputs extends Record<string, unknown> = {},\n>(\n config: { initialValue: PageState },\n build?: (context: PaginationBuildContext<PageState>) => ExtraOutputs,\n) {\n // The returned factory is generic over the query's shape (GroupIdentifier,\n // ResourceParams, Exceptions, PreviousInsertionsOutputs) so it adapts to any\n // query and its context stays precisely typed. Note: since the primitives\n // wrap every shape generic of their insertion slot in `NoInfer` (including\n // `Exceptions`), a factory can no longer degrade the primitive's inference —\n // the generic shape here is about the factory's own context typing. Only\n // `ResourceState` is fixed, to `PageState` (inferred from `config.initialValue`).\n return <\n GroupIdentifier extends string,\n ResourceParams,\n Exceptions extends ResourceExceptionConstraints,\n PreviousInsertionsOutputs,\n PrimitiveName extends string,\n >(\n context: InsertionByIdParams<\n GroupIdentifier,\n PageState & object,\n ResourceParams,\n Exceptions,\n NoInfer<PreviousInsertionsOutputs>,\n PrimitiveName\n >,\n ): PaginationBaseOutputs<\n PageState,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n > &\n ExtraOutputs => {\n const {\n resourceById,\n resourceParamsSrc,\n identifier,\n hasException,\n exceptions,\n settledState,\n } = context as unknown as InsertionByIdParams<\n string,\n PageState & object,\n unknown,\n ResourceExceptionConstraints,\n {},\n PrimitiveName\n >;\n\n /**\n * The rows currently on screen, whichever page they came from.\n *\n * This used to be tracked as a previous page KEY, which could not survive\n * the case it exists for: on a page change the incoming page has no\n * resource yet, so there was no 'loading' status to recognise, the\n * placeholder branch was skipped, and the key was overwritten with the new\n * page before it could ever be used — the list blanked on every\n * navigation. Holding the VALUE needs neither the old resource to still be\n * cached nor the new one to exist yet.\n */\n let lastShownValue: PageState | undefined;\n\n const currentPageValue = function* (): Generator<\n unknown,\n { readonly pageKey: string | undefined; readonly hasOwnValue: boolean },\n unknown\n > {\n const page = yield* readPaginationReactive(resourceParamsSrc);\n const resources = (yield* readPaginationReactive(\n resourceById,\n )) as Partial<\n Record<string, CraftResourceRef<PageState & object, unknown>>\n >;\n const pageKey = page != null ? identifier(page) : undefined;\n return {\n pageKey,\n hasOwnValue:\n pageKey !== undefined && resources[pageKey]?.value() !== undefined,\n };\n };\n\n const showPlaceHolderData = craftComputed(\n 'showPlaceHolderData',\n function* () {\n const { pageKey, hasOwnValue } = yield* currentPageValue();\n if (!pageKey) {\n return false;\n }\n // Placeholder: the page in the URL has nothing of its own yet, and\n // rows from an earlier one are still on screen.\n return !hasOwnValue && lastShownValue !== undefined;\n },\n );\n\n const currentPageData = craftComputed('currentPageData', function* () {\n const { pageKey, hasOwnValue } = yield* currentPageValue();\n if (pageKey !== undefined && hasOwnValue) {\n const settled = (yield* settledState()) as PageState;\n lastShownValue = settled;\n return settled;\n }\n if (lastShownValue === undefined) {\n const resources = (yield* readPaginationReactive(\n resourceById,\n )) as Partial<\n Record<string, CraftResourceRef<PageState & object, unknown>>\n >;\n // A page can change before its rows were read (for example, a store\n // test can wait only for the loader). Recover the most recently\n // inserted resolved page so the placeholder still has something to\n // display while the new page is loading.\n for (const resource of Object.values(resources).reverse()) {\n const value = resource?.value();\n if (value !== undefined) {\n lastShownValue = value as PageState;\n break;\n }\n }\n }\n // Nothing for this page yet: keep what is already on screen instead of\n // blanking the list, which is the entire point of the placeholder.\n return lastShownValue ?? config.initialValue;\n });\n\n const currentPageStatus = craftComputed('currentPageStatus', function* () {\n const page = yield* readPaginationReactive(resourceParamsSrc);\n const resources = (yield* readPaginationReactive(\n resourceById,\n )) as Partial<\n Record<string, CraftResourceRef<PageState & object, unknown>>\n >;\n if (page == null) {\n return 'idle' as const; // avoid to handle the undefined check\n }\n const pageKey = identifier(page);\n const currentResource = resources[pageKey];\n const currentExceptions = yield* readPaginationReactive(exceptions);\n const hasCurrentPageException =\n Object.keys(currentExceptions.params ?? {}).length > 0 ||\n currentExceptions.loader?.[pageKey] !== undefined;\n\n // Status is also a settled read while the current page has no value.\n // This makes the status binding suspend during the initial/page load,\n // while preserving the visible exception status and stale status during\n // reloads of an already resolved page.\n if (!hasCurrentPageException && currentResource?.value() === undefined) {\n yield* settled({ settledValue: settledState });\n }\n\n return toCraftStatus(\n currentResource?.status() ?? 'idle',\n hasCurrentPageException,\n );\n }) as unknown as PaginationBaseOutputs<\n PageState,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n >['currentPageStatus'];\n\n const currentIdentifier = craftComputed('currentIdentifier', function* () {\n const page = yield* readPaginationReactive(resourceParamsSrc);\n if (page == null) {\n return '';\n }\n return identifier(page);\n });\n\n const baseOutputs: PaginationBaseOutputs<\n PageState,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n > = {\n currentPageData,\n currentPageStatus,\n isPlaceHolderData: showPlaceHolderData,\n currentIdentifier,\n };\n\n if (!build) {\n return baseOutputs as PaginationBaseOutputs<\n PageState,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n > &\n ExtraOutputs;\n }\n\n // Helpers scoped to the current page (the displayed data), not the global record.\n const currentPageKey = (): string | undefined => {\n const params = rawReactiveFacade(resourceParamsSrc)();\n return params != null ? identifier(params) : undefined;\n };\n /**\n * What the page in the URL holds by itself — no placeholder.\n *\n * Writes are anchored here rather than on `state`: `set` targets the\n * current page, so basing an update on rows that still belong to the\n * PREVIOUS one would compute the new value from the wrong page.\n */\n const currentPageOwnValue = (): PageState => {\n const params = rawReactiveFacade(resourceParamsSrc)();\n const resources = rawReactiveFacade(resourceById)() as Partial<\n Record<string, CraftResourceRef<PageState & object, unknown>>\n >;\n const key = params != null ? identifier(params) : undefined;\n const res = key ? resources[key] : undefined;\n return res?.hasValue() ? (res.value() as PageState) : config.initialValue;\n };\n\n /**\n * What the reader SEES, placeholder included — the same value the rows are\n * rendered from.\n *\n * It used to report the current page's own data, which is `initialValue`\n * for as long as that page is loading. Anything derived from it — a count,\n * a summary — then contradicted the list still on screen: \"0 on page\"\n * above four visible rows. `settledState` stays the strict reading for\n * code that must wait for the page it actually asked for.\n */\n const state = craftComputed('state', function* () {\n return yield* currentPageData();\n });\n const set: YieldableInsertionWrite<[PageState], PageState> = function* (\n newValue,\n ) {\n const key = currentPageKey();\n if (key) {\n // Use the page's CraftResourceRef directly. Do NOT use resourceById.set({...}),\n // which is destructive: it resets keys absent from the payload.\n // No-op if the page is not loaded yet (we only act on a displayed page).\n const resources = rawReactiveFacade(resourceById)() as Partial<\n Record<string, CraftResourceRef<PageState & object, unknown>>\n >;\n resources[key]?.set(newValue as PageState & object);\n }\n return newValue;\n };\n const update: YieldableInsertionWrite<\n [(current: PageState) => PageState],\n PageState\n > = function* (updateFn) {\n return yield* set(updateFn(currentPageOwnValue()));\n };\n const patch: YieldableInsertionWrite<\n [(current: PageState) => Partial<PageState>],\n PageState\n > = function* (patchFn) {\n return yield* update(\n (current) =>\n ({ ...(current as object), ...patchFn(current) }) as PageState,\n );\n };\n\n const publicBaseOutputs = createYieldableReactiveFacade(baseOutputs, {\n name: 'pagination',\n primitive: 'insertPaginationPlaceholderData',\n path: 'pagination',\n }) as PublicPaginationBaseOutputs<\n PageState,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n >;\n const extra = build({\n ...publicBaseOutputs,\n state,\n settledState,\n set,\n update,\n patch,\n resourceById,\n resourceParamsSrc,\n identifier,\n hasException,\n exceptions,\n });\n\n return {\n ...baseOutputs,\n ...extra,\n } as PaginationBaseOutputs<\n PageState,\n PrimitiveName,\n Exceptions['params'] | Exceptions['loader']\n > &\n ExtraOutputs;\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-react-on-mutation.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-react-on-mutation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-react-on-mutation.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-react-on-mutation.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EACL,iBAAiB,GAGlB,MAAM,iBAAiB,CAAC;AA0CzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuNG;AACH,MAAM,UAAU,qBAAqB,CAyBnC,QAAkB,EAClB,qBAuBE;IAEF,OAAO,CACL,OA2BK,EACL,EAAE;QACF,OAAO,qBAAqB,CAC1B;YACE,aAAa,EAAE,iBAAiB,CAC9B,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAoB5D;YACL,gBAAgB,EAAE,iBAAiB,CAAC,QAAQ,CAmBvC;SACN,EACD,qBAAqB,CACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { WritableSignal } from './host/craft-compat';\nimport {\n ResourceByIdLikeMutationRef,\n ResourceLikeMutationRef,\n} from './mutation';\nimport { ResourceByIdLikeQueryRef, ResourceLikeQueryRef } from './query';\nimport {\n InsertionParams,\n QueryDeclarativeEffect,\n ResourceExceptionConstraints,\n} from './query.core';\nimport { ResourceByIdRef } from './resource-by-id';\nimport { reactOnMutationEffect } from './util/react-on-mutation-effect';\nimport { InternalType } from './util/types/util.type';\nimport {\n rawReactiveFacade,\n type YieldableReactiveSignal,\n type YieldableReactiveValue,\n} from './reactive-read';\n\ntype PublicMutation = {\n readonly kind: 'mutation';\n readonly resourceParamsSrc: YieldableReactiveValue<any>;\n readonly value?: YieldableReactiveValue<any>;\n readonly mutate?: (...args: any[]) => unknown;\n readonly select?: (...args: any[]) => unknown;\n};\n\ntype PublicMutationState<Mutation> = Mutation extends {\n readonly value: YieldableReactiveValue<infer Value>;\n}\n ? Exclude<Value, undefined>\n : Mutation extends {\n readonly select: (...args: any[]) => infer Selected;\n }\n ? NonNullable<Selected> extends {\n readonly value: YieldableReactiveValue<infer Value>;\n }\n ? Exclude<Value, undefined>\n : unknown\n : unknown;\n\ntype PublicMutationParams<Mutation> = Mutation extends {\n readonly resourceParamsSrc: YieldableReactiveValue<infer Params>;\n}\n ? Exclude<Params, undefined>\n : unknown;\n\ntype PublicMutationArgs<Mutation> = Mutation extends {\n readonly mutate: (args: infer Args) => unknown;\n}\n ? Args\n : PublicMutationParams<Mutation>;\n\ntype PublicMutationIdentifier<Mutation> = Mutation extends {\n readonly select: (identifier: infer Identifier) => unknown;\n}\n ? Identifier\n : unknown;\n\n/**\n * Creates an insertion function that makes a query react to mutation state changes.\n *\n * This insertion enables declarative synchronization between queries and mutations, allowing you to:\n * - Optimistically update query data when a mutation starts (before server response)\n * - Update query data when a mutation completes successfully\n * - Patch specific fields in query data based on mutation parameters\n * - Reload queries when mutations complete\n * - Filter which query instances should react (when using identifiers)\n *\n * @remarks\n * This is particularly useful for:\n * - **Optimistic UI updates**: Show changes immediately while the mutation is processing\n * - **Cache synchronization**: Keep local query cache in sync with server state after mutations\n * - **Selective updates**: Update only relevant query instances based on identifiers\n * - **Complex state management**: Coordinate multiple queries reacting to the same mutation\n *\n * @param mutation - The mutation to react to. Can be either:\n * - A standard mutation (ResourceLikeMutationRef)\n * - A mutation with identifier for grouped instances (ResourceByIdLikeMutationRef)\n * @param mutationEffectOptions - Configuration for how the query should react:\n * - `optimisticUpdate`: Function to update query state immediately when mutation starts (loading state)\n * - `update`: Function to update query state when mutation completes (resolved state)\n * - `optimisticPatch`: Object mapping query fields to mutation values for optimistic updates\n * - `patch`: Object mapping query fields to mutation values for final updates\n * - `reload`: Configuration to reload the query when mutation reaches specific states\n * - `filter`: Function to determine which query instances should react (required when using identifiers)\n *\n * @returns An insertion function that can be passed to query() to enable the reactive behavior\n *\n * @example\n * Basic optimistic update with patch\n * ```ts\n * const updateUserMutation = yield* mutation({\n * method: (data: { id: string; name: string }) => data,\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/users/${params.id}`, {\n * method: 'PATCH',\n * body: JSON.stringify(params),\n * });\n * return response.json();\n * },\n * }));\n *\n * const userQuery = yield* query(\n * {\n * params: () => ({ userId: currentUserId() }),\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/users/${params.userId}`);\n * return response.json();\n * },\n * },\n * insertReactOnMutation(updateUserMutation, {\n * // Optimistically update the name while mutation is loading\n * optimisticPatch: {\n * name: ({ mutationParams }) => mutationParams.name,\n * },\n * // Apply final update when mutation resolves\n * patch: {\n * name: ({ mutationParams }) => mutationParams.name,\n * },\n * })\n * ));\n *\n * // When mutation is triggered, query updates immediately (optimistic)\n * yield* updateUserMutation.mutate({ id: '123', name: 'New Name' });\n * // userQuery.value().name is now 'New Name' (optimistic)\n *\n * // When mutation completes, patch confirms the change\n * // userQuery.value().name remains 'New Name' (confirmed)\n * ```\n *\n * @example\n * Full state update on mutation completion\n * ```ts\n * const deleteTodoMutation = yield* mutation({\n * method: (todoId: string) => ({ todoId }),\n * loader: async ({ params }) => {\n * await fetch(`/api/todos/${params.todoId}`, { method: 'DELETE' });\n * return { deleted: true };\n * },\n * }));\n *\n * const todosQuery = yield* query(\n * {\n * params: () => ({}),\n * loader: async () => {\n * const response = await fetch('/api/todos');\n * return response.json(); // Returns Todo[]\n * },\n * },\n * insertReactOnMutation(deleteTodoMutation, {\n * // Remove the deleted todo from the list optimistically\n * optimisticUpdate: ({ queryResource, mutationParams }) => {\n * const currentTodos = queryResource.value() ?? [];\n * return currentTodos.filter(todo => todo.id !== mutationParams.todoId);\n * },\n * // Confirm the deletion when mutation resolves\n * update: ({ queryResource, mutationParams }) => {\n * const currentTodos = queryResource.value() ?? [];\n * return currentTodos.filter(todo => todo.id !== mutationParams.todoId);\n * },\n * })\n * ));\n * ```\n *\n * @example\n * Reload query after mutation\n * ```ts\n * const createPostMutation = yield* mutation({\n * method: (data: { title: string; content: string }) => data,\n * loader: async ({ params }) => {\n * const response = await fetch('/api/posts', {\n * method: 'POST',\n * body: JSON.stringify(params),\n * });\n * return response.json();\n * },\n * }));\n *\n * const postsQuery = yield* query(\n * {\n * params: () => ({ page: 1 }),\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/posts?page=${params.page}`);\n * return response.json();\n * },\n * },\n * insertReactOnMutation(createPostMutation, {\n * // Reload the posts list when mutation completes\n * reload: {\n * onMutationResolved: true, // Reload on success\n * },\n * })\n * ));\n *\n * // When mutation completes, postsQuery automatically reloads\n * yield* createPostMutation.mutate({ title: 'New Post', content: 'Content' });\n * ```\n *\n * @example\n * Filtered updates with identifiers\n * ```ts\n * const updatePostMutation = yield* mutation({\n * method: (data: { postId: string; title: string }) => data,\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/posts/${params.postId}`, {\n * method: 'PATCH',\n * body: JSON.stringify(params),\n * });\n * return response.json();\n * },\n * }));\n *\n * const postsQuery = yield* query(\n * {\n * params: () => currentPostId(),\n * identifier: (params) => params, // params is the postId\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/posts/${params}`);\n * return response.json();\n * },\n * },\n * insertReactOnMutation(updatePostMutation, {\n * // Only update the query instance that matches the mutation's postId\n * filter: ({ queryIdentifier, mutationParams }) =>\n * queryIdentifier === mutationParams.postId,\n * patch: {\n * title: ({ mutationParams }) => mutationParams.title,\n * },\n * })\n * ));\n *\n * // Only the query instance for post '123' will be updated\n * yield* updatePostMutation.mutate({ postId: '123', title: 'Updated Title' });\n * console.log(postsQuery.select('123')?.value()?.title); // 'Updated Title'\n * console.log(postsQuery.select('456')?.value()?.title); // unchanged\n * ```\n *\n * @example\n * Complex nested field updates\n * ```ts\n * const updateUserProfileMutation = yield* mutation({\n * method: (data: { userId: string; profile: { bio: string; avatar: string } }) => data,\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/users/${params.userId}/profile`, {\n * method: 'PATCH',\n * body: JSON.stringify(params.profile),\n * });\n * return response.json();\n * },\n * }));\n *\n * const userQuery = yield* query(\n * {\n * params: () => ({ userId: currentUserId() }),\n * loader: async ({ params }) => {\n * const response = await fetch(`/api/users/${params.userId}`);\n * return response.json(); // Returns { id, name, profile: { bio, avatar, ... } }\n * },\n * },\n * insertReactOnMutation(updateUserProfileMutation, {\n * optimisticPatch: {\n * 'profile.bio': ({ mutationParams }) => mutationParams.profile.bio,\n * 'profile.avatar': ({ mutationParams }) => mutationParams.profile.avatar,\n * },\n * })\n * ));\n *\n * // Nested fields are updated optimistically\n * yield* updateUserProfileMutation.mutate({\n * userId: '123',\n * profile: { bio: 'New bio', avatar: 'new-avatar.jpg' }\n * });\n * ```\n */\nexport function insertReactOnMutation<\n QueryResourceState extends object | undefined,\n QueryResourceParams,\n QueryResourceArgsParams,\n QueryIsMethod extends boolean,\n QuerySourceParams,\n QueryGroupIdentifier,\n QueryInsertions,\n Mutation extends PublicMutation,\n MutationResourceState = PublicMutationState<Mutation>,\n MutationResourceParams = PublicMutationParams<Mutation>,\n MutationResourceArgsParams = PublicMutationArgs<Mutation>,\n MutationIsMethod = Mutation extends {\n readonly mutate: (...args: any[]) => unknown;\n }\n ? true\n : false,\n MutationSourceParams = unknown,\n MutationGroupIdentifier = PublicMutationIdentifier<Mutation>,\n MutationInsertions = unknown,\n MutationExceptions extends\n ResourceExceptionConstraints = ResourceExceptionConstraints,\n QueryExceptions extends\n ResourceExceptionConstraints = ResourceExceptionConstraints,\n>(\n mutation: Mutation,\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 return (\n context:\n | InsertionParams<\n QueryResourceState,\n QueryResourceParams,\n QueryExceptions,\n QueryInsertions\n >\n | {\n // ! avoid to use InsertionByIdParams it is broking the typing inference\n resourceById: YieldableReactiveSignal<\n ResourceByIdRef<\n QueryGroupIdentifier & string,\n QueryResourceState,\n QueryResourceParams\n >,\n 'resourceById'\n >;\n resourceParamsSrc: YieldableReactiveSignal<\n WritableSignal<QueryResourceParams | undefined>,\n 'resourceParamsSrc'\n >;\n identifier: (\n params: NonNullable<QueryResourceParams>,\n ) => QueryGroupIdentifier;\n insertions: keyof QueryInsertions extends string\n ? QueryInsertions\n : never;\n },\n ) => {\n return reactOnMutationEffect(\n {\n queryTargeted: rawReactiveFacade(\n 'resource' in context ? context.resource : context.resourceById,\n ) as unknown as\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: rawReactiveFacade(mutation) as unknown as\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,\n );\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-select-resource.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-select-resource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAEzB,KAAK,8BAA8B,CAAC,SAAS,IAC3C,OAAO,CAAC,SAAS,CAAC,SAAS,SAAS,MAAM,EAAE,GACxC,MAAM,GACN,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;AAE/B,KAAK,oBAAoB,CAAC,SAAS,IAAI,SAAS,SAAS,SAAS,OAAO,EAAE,GACvE,SAAS,GACT,SAAS,SAAS,MAAM,GACtB;KAAG,GAAG,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC;CAAE,GAC5C,SAAS,CAAC;AAEhB,KAAK,6BAA6B,CAChC,aAAa,SAAS,MAAM,GAAG,SAAS,EACxC,IAAI,SAAS,MAAM,EACnB,SAAS,EACT,yBAAyB,GAAG,EAAE,EAC9B,OAAO,GAAG,KAAK,IACb,uCAAuC,CACzC,aAAa,EACb,aAAa,EACb,IAAI,EACJ,SAAS,EACT,yBAAyB,EACzB,OAAO,CACR,GACC,uCAAuC,CACrC,MAAM,GAAG,SAAS,EAClB,aAAa,EACb,IAAI,EACJ,SAAS,EACT,yBAAyB,EACzB,OAAO,CACR,CAAC;AAEJ,KAAK,uCAAuC,CAC1C,YAAY,SAAS,MAAM,GAAG,SAAS,EACvC,WAAW,SAAS,MAAM,GAAG,SAAS,EACtC,IAAI,SAAS,MAAM,EACnB,SAAS,EACT,yBAAyB,EACzB,OAAO,IACL,CACF,OAAO,EAAE,IAAI,CACX,4BAA4B,CAAC,YAAY,EAAE,yBAAyB,CAAC,EACrE,OAAO,GAAG,YAAY,CACvB,KAEC,kBAAkB,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,GACxE,SAAS,CACP,OAAO,EACP,kBAAkB,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EACxE,OAAO,CACR,CAAC;AAEN;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,SAAS,MAAM,GAAG,SAAS,EACxC,KAAK,CAAC,IAAI,SAAS,8BAA8B,CAAC,aAAa,CAAC,GAAG,MAAM,EACzE,SAAS,EACT,yBAAyB,GAAG,EAAE,EAC9B,OAAO,GAAG,KAAK,EAEf,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,sBAAsB,CAC/B,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,EACnC,SAAS,EACT,yBAAyB,EACzB,OAAO,CACR,GACA,6BAA6B,CAC9B,aAAa,EACb,IAAI,EACJ,SAAS,EACT,yBAAyB,EACzB,OAAO,CACR,CAAC;AA8BF,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,6BAAuB,CAAC;AAEtD,uDAAuD;AACvD,eAAO,MAAM,oBAAoB,6BAAuB,CAAC;AAEzD,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,6BAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-select-resource.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-select-resource.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,YAAY,GAGb,MAAM,iBAAiB,CAAC;AA4FzB,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,SAAc;IAC/D,OAAO,CAAC,OAAY,EAAE,EAAE;QACtB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QAED,OAAQ,YAAoB,CAC1B,IAAI,EACJ,SAAS,CACV,CAAC;YACA,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EACH,OAAO,CAAC,KAAK;gBACb,CAAC,CAAC,OAAqC,EAAE,EAAE,CACzC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,CAAC;oBAChC,GAAI,OAAkB;oBACtB,GAAG,OAAO,CAAC,OAAO,CAAC;iBACpB,CAAC,CAAC,CAAC;YACR,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;SAClC,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAEtD,uDAAuD;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAEzD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-object-type, @typescript-eslint/no-explicit-any */\nimport type {\n InsertionStateFactoryContext,\n InsertionsStateFactory,\n} from './query.core';\nimport {\n insertSelect,\n type InsertSelectOutput,\n type SelectedTarget,\n} from './insert-select';\n\ntype ResourceSelectAutoCompleteName<StateType> =\n NoInfer<StateType> extends readonly object[]\n ? string\n : keyof NoInfer<StateType>;\n\ntype ResolveResourceState<StateType> = StateType extends readonly unknown[]\n ? StateType\n : StateType extends object\n ? { [Key in keyof StateType]: StateType[Key] }\n : StateType;\n\ntype ResourceSelectInsertionReturn<\n ResourceState extends object | undefined,\n Name extends string,\n Insertion,\n PreviousInsertionsOutputs = {},\n Yielded = never,\n> = ResourceSelectInsertionFactorySignature<\n ResourceState,\n ResourceState,\n Name,\n Insertion,\n PreviousInsertionsOutputs,\n Yielded\n> &\n ResourceSelectInsertionFactorySignature<\n object | undefined,\n ResourceState,\n Name,\n Insertion,\n PreviousInsertionsOutputs,\n Yielded\n >;\n\ntype ResourceSelectInsertionFactorySignature<\n ContextState extends object | undefined,\n OutputState extends object | undefined,\n Name extends string,\n Insertion,\n PreviousInsertionsOutputs,\n Yielded,\n> = (\n context: Pick<\n InsertionStateFactoryContext<ContextState, PreviousInsertionsOutputs>,\n 'state' | 'insertions'\n >,\n) =>\n | InsertSelectOutput<ResolveResourceState<OutputState>, Name, [Insertion]>\n | Generator<\n Yielded,\n InsertSelectOutput<ResolveResourceState<OutputState>, Name, [Insertion]>,\n unknown\n >;\n\n/**\n * Selects a nested property or an item in an array returned by a resource\n * primitive and attaches state-style insertions to that selection.\n *\n * The resource must be non-grouped. Grouped resources expose a collection of\n * resource refs through `resourceById`; selecting inside that collection needs\n * to happen after `select(id)` and is intentionally rejected here rather than\n * receiving an ambiguous state shape.\n *\n * The selected insertion deliberately receives the same context as\n * `insertSelect`: `state`, `set`, `update`, `patch`, and previous insertions.\n * The outer resource still keeps its query/mutation/asyncProcess runtime kind\n * for method wrappers.\n */\nexport function insertSelectResource<\n ResourceState extends object | undefined,\n const Name extends ResourceSelectAutoCompleteName<ResourceState> & string,\n Insertion,\n PreviousInsertionsOutputs = {},\n Yielded = never,\n>(\n name: Name,\n insertion: InsertionsStateFactory<\n SelectedTarget<ResourceState, Name>,\n Insertion,\n PreviousInsertionsOutputs,\n Yielded\n >,\n): ResourceSelectInsertionReturn<\n ResourceState,\n Name,\n Insertion,\n PreviousInsertionsOutputs,\n Yielded\n>;\n\nexport function insertSelectResource(name: string, insertion: any): any {\n return (context: any) => {\n if (context.resourceById) {\n throw new Error(\n 'insertSelectResource does not support grouped resources; select the resource instance first.',\n );\n }\n\n return (insertSelect as any)(\n name,\n insertion,\n )({\n state: context.state,\n set: context.set,\n update: context.update,\n patch:\n context.patch ??\n ((patchFn: (current: unknown) => object) =>\n context.update((current: any) => ({\n ...(current as object),\n ...patchFn(current),\n }))),\n insertions: context.insertions,\n __primitiveKind: context.__primitiveKind,\n } as any);\n };\n}\n\n/** Alias semantically scoped to query resources. */\nexport const insertQuerySelect = insertSelectResource;\n\n/** Alias semantically scoped to mutation resources. */\nexport const insertMutationSelect = insertSelectResource;\n\n/** Alias semantically scoped to asyncProcess resources. */\nexport const insertAsyncProcessSelect = insertSelectResource;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-select.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-select.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-select.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-select.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n Injector,\n inject,\n isSignal,\n runInInjectionContext,\n untracked,\n} from './host/craft-compat';\nimport { takeUntilDestroyed } from './host/craft-compat';\nimport { InsertionsStateFactory } from './query.core';\nimport { ɵcreateHostTaggedInjector } from './craft-service';\nimport { Source$ as SourceDollarType, source$ } from './source$';\nimport { MergeObject } from './util/types/util.type';\nimport { FilterSource, IsEmptyObject } from './util/util.type';\nimport { capitalize, isSource } from './util/util';\nimport {\n INSERTION_SNAPSHOT_REGISTRY,\n snapshotSelectProxy,\n} from './take-app-snapshot';\nimport { isGenerator, runCraftGenerator } from './craft-generator-runtime';\nimport { injectFnWrapper } from './fn-wrapper';\nimport { ɵprovidePrimitiveMethodRuntimeContext } from './primitive-method-runtime-context';\nimport {\n createYieldableInsertionMethod,\n isNonYieldableInsertionMethod,\n markNonYieldableInsertionMethod,\n yieldableInvocation,\n type NonYieldableInsertionMethod,\n type YieldableInsertionMethods,\n} from './yieldable';\nimport {\n createYieldableReactiveValue,\n isYieldableReactiveValue,\n rawReactiveValue,\n} from './reactive-read';\nimport { craftLinkedSignal } from './host/craft-linked-signal';\n\nfunction readInsertionState(state: () => unknown): unknown {\n return isYieldableReactiveValue(state) ? rawReactiveValue(state)() : state();\n}\n\nexport type SelectedTarget<\n StateType,\n Name extends string,\n> = StateType extends readonly (infer Item)[]\n ? Extract<Item, object>\n : StateType extends Record<string, unknown>\n ? Name extends keyof StateType\n ? StateType[Name]\n : never\n : never;\n\ntype MergeInsertions<\n Insertions extends readonly unknown[],\n Acc = {},\n> = Insertions extends readonly [infer Head, ...infer Tail]\n ? MergeInsertions<Tail, Acc & Head>\n : Acc;\n\ntype Source$Method<SourceType> = [SourceType] extends [void]\n ? () => Generator<never, void, unknown>\n : (value: SourceType) => Generator<never, void, unknown>;\n\nfunction isSource$(value: unknown): value is SourceDollarType<unknown> {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'emit' in value &&\n typeof (value as SourceDollarType<unknown>).emit === 'function' &&\n 'subscribe' in value &&\n typeof (value as SourceDollarType<unknown>).subscribe === 'function'\n );\n}\n\ntype ExposedInsertions<Insertions> = YieldableInsertionMethods<\n MergeObject<\n IsEmptyObject<Insertions> extends true ? {} : FilterSource<Insertions>,\n {\n [K in keyof FilterSource<Insertions> as FilterSource<Insertions>[K] extends SourceDollarType<any>\n ? K\n : never]: FilterSource<Insertions>[K] extends SourceDollarType<\n infer SourceType\n >\n ? Source$Method<SourceType>\n : never;\n }\n >\n>;\n\ntype SelectItemMethodName<Name extends string> = `select${Capitalize<Name>}`;\ntype SelectPropertyMethodName<Name extends string> =\n `select${Capitalize<Name>}`;\n\ntype SelectedItem<StateType> = StateType extends readonly (infer Item)[]\n ? Extract<Item, object>\n : never;\n\ntype ArraySelectedOutput<StateType, Insertions> = MergeObject<\n SelectedItem<StateType>,\n ExposedInsertions<Insertions>\n>;\n\ntype ObjectSelectedOutput<StateType, Name extends string, Insertions> =\n StateType extends Record<string, unknown>\n ? Name extends keyof StateType & string\n ? [Extract<StateType[Name], object>] extends [never]\n ? ExposedInsertions<Insertions>\n : MergeObject<\n Extract<StateType[Name], object>,\n ExposedInsertions<Insertions>\n >\n : never\n : never;\n\ntype ArrayInsertSelectOutput<\n StateType,\n Name extends string,\n Insertions extends readonly unknown[],\n> = {\n [K in SelectItemMethodName<Name>]: NonYieldableInsertionMethod<\n [id: number],\n ArraySelectedOutput<StateType, MergeInsertions<Insertions>> | undefined\n >;\n} & {\n items: NonYieldableInsertionMethod<\n [],\n Array<ArraySelectedOutput<StateType, MergeInsertions<Insertions>>>\n >;\n};\n\ntype ObjectInsertSelectOutput<\n StateType,\n Name extends string,\n Insertions extends readonly unknown[],\n> = {\n [K in SelectPropertyMethodName<Name>]: NonYieldableInsertionMethod<\n [],\n ObjectSelectedOutput<StateType, Name, MergeInsertions<Insertions>>\n >;\n};\n\nexport type InsertSelectOutput<\n StateType,\n Name extends string,\n Insertions extends readonly unknown[],\n> = StateType extends readonly object[]\n ? ArrayInsertSelectOutput<StateType, Name, Insertions>\n : ObjectInsertSelectOutput<StateType, Name, Insertions>;\n\ntype InsertSelectReturn<\n StateType,\n Name extends string,\n Insertions extends readonly unknown[],\n PreviousInsertionsOutputs,\n> = InsertionsStateFactory<\n StateType,\n InsertSelectOutput<StateType, Name, Insertions>,\n PreviousInsertionsOutputs\n>;\n\ntype PathSegment = string | number | symbol;\ntype TuplePath = readonly PathSegment[];\ntype FlatCrossLayerEvent<\n Payload,\n LeafItem,\n LeafIndex extends PathSegment,\n Path extends TuplePath,\n> = {\n payload: Payload;\n path: Path;\n leaf: {\n item: LeafItem;\n index: LeafIndex;\n };\n};\n\nfunction isFlatCrossLayerEvent(\n value: unknown,\n): value is FlatCrossLayerEvent<unknown, unknown, PathSegment, TuplePath> {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'payload' in value &&\n 'path' in value &&\n 'leaf' in value &&\n Array.isArray((value as { path?: unknown }).path) &&\n typeof (value as { leaf?: unknown }).leaf === 'object' &&\n (value as { leaf?: unknown }).leaf !== null &&\n 'item' in ((value as { leaf: object }).leaf as object) &&\n 'index' in ((value as { leaf: object }).leaf as object)\n );\n}\n\nconst INSERT_SELECT_INVALID_YIELD_ERROR_MESSAGE =\n 'insertSelect generators can only yield craftService dependencies or exposed dependency helpers.';\nconst INSERT_SELECT_APP_START_ERROR_MESSAGE =\n 'insertSelect generators do not support onAppStart(...).';\n\nfunction createInsertSelectItemRuntime(\n entityName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...itemInsertions: InsertionsStateFactory<any, any, any>[]\n) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context: any,\n ) => {\n const {\n state,\n update,\n insertions: previousInsertions,\n __primitiveKind: primitiveKind = 'state',\n } = context;\n const insertionSnapshotRegistry = inject(INSERTION_SNAPSHOT_REGISTRY, {\n optional: true,\n });\n const injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `selectEntity:${entityName}`,\n [{ provide: INSERTION_SNAPSHOT_REGISTRY, useValue: null }],\n );\n const selectItemMethodName = `select${capitalize(entityName)}`;\n const selectedStateById = new Map<number, unknown>();\n const inheritedInsertions =\n (previousInsertions as Record<string, unknown> | undefined) ?? {};\n\n const select = (id: number) => {\n const currentState = readInsertionState(state);\n if (!Array.isArray(currentState)) {\n return undefined;\n }\n return currentState[id];\n };\n\n const selectItem = (id: number) => {\n const cached = selectedStateById.get(id);\n if (cached) {\n return cached;\n }\n\n const selectedStateValue = select(id);\n if (selectedStateValue === undefined) {\n return undefined;\n }\n\n const selectedStateSignal = craftLinkedSignal({\n source: () => select(id),\n computation: (selected) => selected,\n injector,\n });\n const itemInjector = ɵcreateHostTaggedInjector(\n injector,\n `selectItem:${id}`,\n );\n\n const { rawInsertionsOutput, exposedInsertionsOutput } =\n itemInsertions.reduce(\n (acc, insertion) => {\n const wrappedInsertion = runInInjectionContext(itemInjector, () =>\n injectFnWrapper()(insertion),\n );\n const insertionContext = {\n state: createYieldableReactiveValue(\n selectedStateSignal,\n 'state',\n { primitive: 'insertSelect', path: `${name}.state` },\n ),\n __primitiveKind: primitiveKind,\n set: (newState: unknown) =>\n yieldableInvocation(\n (() => {\n update((currentState: unknown) => {\n if (!Array.isArray(currentState)) {\n return currentState;\n }\n\n if (\n id < 0 ||\n id >= currentState.length ||\n !Number.isInteger(id)\n ) {\n return currentState;\n }\n\n const nextState = [...currentState];\n nextState[id] = newState;\n return nextState;\n });\n return newState;\n })(),\n ),\n update: (updateFn: (currentState: unknown) => unknown) =>\n yieldableInvocation(\n (() => {\n const currentSelectedState = select(id);\n if (currentSelectedState === undefined) {\n return undefined;\n }\n\n const nextState = updateFn(currentSelectedState);\n update((currentState: unknown) => {\n if (!Array.isArray(currentState)) {\n return currentState;\n }\n\n if (\n id < 0 ||\n id >= currentState.length ||\n !Number.isInteger(id)\n ) {\n return currentState;\n }\n\n const nextRootState = [...currentState];\n nextRootState[id] = nextState;\n return nextRootState;\n });\n\n return nextState;\n })(),\n ),\n patch: (patchFn: (currentState: unknown) => Partial<unknown>) =>\n yieldableInvocation(\n (() => {\n const currentSelectedState = select(id);\n if (currentSelectedState === undefined) {\n return undefined;\n }\n\n const nextState = {\n ...(currentSelectedState as object),\n ...patchFn(currentSelectedState),\n };\n update((currentState: unknown) => {\n if (!Array.isArray(currentState)) {\n return currentState;\n }\n\n if (\n id < 0 ||\n id >= currentState.length ||\n !Number.isInteger(id)\n ) {\n return currentState;\n }\n\n const nextRootState = [...currentState];\n nextRootState[id] = nextState;\n return nextRootState;\n });\n\n return nextState;\n })(),\n ),\n insertions: Object.entries(acc.rawInsertionsOutput).reduce(\n (previous, [key, value]) => {\n if (isSource$(value)) previous[key] = value;\n return previous;\n },\n {\n ...inheritedInsertions,\n ...acc.exposedInsertionsOutput,\n } as Record<string, unknown>,\n ) as never,\n };\n const insertionCallResult = wrappedInsertion(insertionContext);\n const nextRawInsertions = (\n isGenerator(insertionCallResult)\n ? runInInjectionContext(\n itemInjector,\n () =>\n runCraftGenerator({\n iterator: insertionCallResult,\n injector: itemInjector,\n hostScope: 'function',\n invalidYieldErrorMessage:\n INSERT_SELECT_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n }).value,\n )\n : insertionCallResult\n ) as Record<string, unknown>;\n\n const nextExposedInsertions = Object.entries(\n nextRawInsertions,\n ).reduce(\n (exposedAcc, [key, value]) => {\n if (isSource(value)) {\n return exposedAcc;\n }\n\n if (isSource$(value)) {\n const localSource = value;\n const sourceInjector = ɵcreateHostTaggedInjector(\n itemInjector,\n `source:${key}`,\n );\n const wrappedEmit = runInInjectionContext(\n sourceInjector,\n () =>\n injectFnWrapper()((payload: unknown) =>\n localSource.emit(payload as never),\n ),\n );\n exposedAcc[key] = createYieldableInsertionMethod(\n (payload: unknown) => wrappedEmit(payload),\n {\n injector: sourceInjector,\n invalidYieldErrorMessage:\n INSERT_SELECT_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n },\n );\n return exposedAcc;\n }\n\n if (\n typeof value === 'function' &&\n !isSignal(value) &&\n !isYieldableReactiveValue(value) &&\n !isNonYieldableInsertionMethod(value)\n ) {\n const methodInjector = ɵcreateHostTaggedInjector(\n itemInjector,\n `method:${key}`,\n [\n ɵprovidePrimitiveMethodRuntimeContext(\n primitiveKind,\n { ...insertionContext, state: selectedStateSignal },\n value as (...args: never[]) => unknown,\n ),\n ],\n );\n const wrappedFn = runInInjectionContext(methodInjector, () =>\n injectFnWrapper()(value as (...args: unknown[]) => unknown),\n );\n exposedAcc[key] = createYieldableInsertionMethod(wrappedFn, {\n injector: methodInjector,\n invalidYieldErrorMessage:\n INSERT_SELECT_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n });\n } else {\n exposedAcc[key] = value;\n }\n return exposedAcc;\n },\n {} as Record<string, unknown>,\n );\n\n return {\n rawInsertionsOutput: {\n ...acc.rawInsertionsOutput,\n ...nextRawInsertions,\n },\n exposedInsertionsOutput: {\n ...acc.exposedInsertionsOutput,\n ...nextExposedInsertions,\n },\n };\n },\n {\n rawInsertionsOutput: {} as Record<string, unknown>,\n exposedInsertionsOutput: {} as Record<string, unknown>,\n },\n );\n\n const stateProxy = new Proxy(exposedInsertionsOutput, {\n get(target, property, receiver) {\n if (Reflect.has(target, property)) {\n return Reflect.get(target, property, receiver);\n }\n\n // Read through the per-item signal, NOT `select(id)`.\n //\n // `select(id)` reads the whole array and then indexes it, so a\n // template binding that reached a field this way subscribed to the\n // ENTIRE collection: any write to any item re-ran every binding. A\n // 16x16 grid spent ~400ms of a single paint re-evaluating all 256\n // cells — and re-evaluated them again on changes that touched no\n // cell at all.\n //\n // `selectedStateSignal` recomputes off the same array but keeps its\n // previous value when this item is untouched, so it only notifies\n // the readers of the item that actually changed.\n const stateValue = selectedStateSignal();\n if (!stateValue || typeof stateValue !== 'object') {\n return undefined;\n }\n\n return Reflect.get(stateValue as object, property);\n },\n });\n\n selectedStateById.set(id, stateProxy);\n return stateProxy;\n };\n\n const items = () => {\n const currentState = readInsertionState(state);\n if (!Array.isArray(currentState)) {\n return [];\n }\n\n return currentState.reduce<unknown[]>((acc, _unused, index) => {\n const selectedItem = selectItem(index);\n if (selectedItem !== undefined) {\n acc.push(selectedItem);\n }\n return acc;\n }, []);\n };\n\n const currentState = readInsertionState(state);\n if (Array.isArray(currentState) && currentState.length > 0) {\n selectItem(0);\n }\n\n if (insertionSnapshotRegistry) {\n const destroyRef = inject(DestroyRef);\n insertionSnapshotRegistry.trigger$\n .pipe(takeUntilDestroyed(destroyRef))\n .subscribe(() => {\n const rawState = readInsertionState(state);\n if (!Array.isArray(rawState)) return;\n const snapshot = rawState.map((rawItem, i) => {\n const proxy = selectItem(i);\n return snapshotSelectProxy(proxy, rawItem);\n });\n insertionSnapshotRegistry.allInsertionSnapshot$.next({\n key: selectItemMethodName,\n value: snapshot,\n });\n });\n }\n\n return {\n [selectItemMethodName]: markNonYieldableInsertionMethod(selectItem),\n items: markNonYieldableInsertionMethod(items),\n };\n };\n}\n\nfunction createInsertSelectPropertyRuntime(\n propertyKey: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...propertyInsertions: InsertionsStateFactory<any, any, any>[]\n) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context: any,\n ) => {\n const {\n state,\n update,\n insertions: previousInsertions,\n __primitiveKind: primitiveKind = 'state',\n } = context;\n const insertionSnapshotRegistry = inject(INSERTION_SNAPSHOT_REGISTRY, {\n optional: true,\n });\n const injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `selectProperty:${propertyKey}`,\n [{ provide: INSERTION_SNAPSHOT_REGISTRY, useValue: null }],\n );\n let selectedPropertyProxy: unknown;\n const crossLayerSourcesByKey = new Map<string, SourceDollarType<unknown>>();\n const selectPropertyMethodName = `select${capitalize(propertyKey)}`;\n const inheritedInsertions =\n (previousInsertions as Record<string, unknown> | undefined) ?? {};\n\n const getOrCreateCrossLayerSource = (key: string) => {\n const sourceValue = crossLayerSourcesByKey.get(key);\n if (sourceValue) {\n return sourceValue;\n }\n const newSource = source$<unknown>(key);\n crossLayerSourcesByKey.set(key, newSource);\n return newSource;\n };\n\n const selectProperty = () => {\n const currentState = readInsertionState(state);\n if (!currentState || typeof currentState !== 'object') {\n return undefined;\n }\n return (currentState as Record<string, unknown>)[propertyKey];\n };\n\n const setProperty = (newProperty: unknown) => {\n update((currentState: unknown) => {\n if (!currentState || typeof currentState !== 'object') {\n return currentState;\n }\n\n return {\n ...(currentState as Record<string, unknown>),\n [propertyKey]: newProperty,\n };\n });\n return newProperty;\n };\n\n const updateProperty = (\n updateFn: (currentProperty: unknown) => unknown,\n ) => {\n const nextProperty = updateFn(selectProperty());\n setProperty(nextProperty);\n return nextProperty;\n };\n\n const selectPropertyItem = () => {\n if (selectedPropertyProxy) {\n return selectedPropertyProxy;\n }\n\n const selectedPropertySignal = craftLinkedSignal({\n source: selectProperty,\n computation: (selected) => selected,\n injector,\n });\n\n const { rawInsertionsOutput, exposedInsertionsOutput } =\n propertyInsertions.reduce(\n (acc, insertion) => {\n const wrappedInsertion = runInInjectionContext(injector, () =>\n injectFnWrapper()(insertion),\n );\n const insertionContext = {\n state: createYieldableReactiveValue(\n selectedPropertySignal,\n 'state',\n { primitive: 'insertSelect', path: `${name}.state` },\n ),\n __primitiveKind: primitiveKind,\n set: (newState: unknown) => {\n setProperty(newState);\n return yieldableInvocation(newState);\n },\n update: (updateFn: (currentState: unknown) => unknown) => {\n return yieldableInvocation(updateProperty(updateFn));\n },\n patch: (patchFn: (currentState: unknown) => Partial<unknown>) => {\n return yieldableInvocation(updateProperty((current) => ({\n ...(current as object),\n ...patchFn(current),\n })));\n },\n insertions: Object.entries(acc.rawInsertionsOutput).reduce(\n (previous, [key, value]) => {\n if (isSource$(value)) previous[key] = value;\n return previous;\n },\n {\n ...inheritedInsertions,\n ...acc.exposedInsertionsOutput,\n } as Record<string, unknown>,\n ) as never,\n };\n const insertionCallResult = wrappedInsertion(insertionContext);\n const nextRawInsertions = (\n isGenerator(insertionCallResult)\n ? runInInjectionContext(\n injector,\n () =>\n runCraftGenerator({\n iterator: insertionCallResult,\n injector,\n hostScope: 'function',\n invalidYieldErrorMessage:\n INSERT_SELECT_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n }).value,\n )\n : insertionCallResult\n ) as Record<string, unknown>;\n\n const nextExposedInsertions = Object.entries(\n nextRawInsertions,\n ).reduce(\n (exposedAcc, [key, value]) => {\n if (isSource(value)) {\n return exposedAcc;\n }\n\n if (isSource$(value)) {\n const localSource = value;\n const crossLayerSource = getOrCreateCrossLayerSource(key);\n\n localSource.subscribe((payload) => {\n const propertyAtEmit = selectProperty();\n if (isFlatCrossLayerEvent(payload)) {\n crossLayerSource.emit({\n payload: payload.payload,\n path: [propertyKey, ...payload.path],\n leaf: payload.leaf,\n });\n return;\n }\n\n crossLayerSource.emit({\n payload,\n path: [propertyKey],\n leaf: {\n item: propertyAtEmit,\n index: propertyKey,\n },\n });\n });\n\n const sourceInjector = ɵcreateHostTaggedInjector(\n injector,\n `source:${key}`,\n );\n const wrappedEmit = runInInjectionContext(\n sourceInjector,\n () =>\n injectFnWrapper()((payload: unknown) =>\n localSource.emit(payload as never),\n ),\n );\n exposedAcc[key] = createYieldableInsertionMethod(\n (payload: unknown) => wrappedEmit(payload),\n {\n injector: sourceInjector,\n invalidYieldErrorMessage:\n INSERT_SELECT_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n },\n );\n return exposedAcc;\n }\n\n if (\n typeof value === 'function' &&\n !isSignal(value) &&\n !isYieldableReactiveValue(value) &&\n !isNonYieldableInsertionMethod(value)\n ) {\n const methodInjector = ɵcreateHostTaggedInjector(\n injector,\n `method:${key}`,\n [\n ɵprovidePrimitiveMethodRuntimeContext(\n primitiveKind,\n { ...insertionContext, state: selectedPropertySignal },\n value as (...args: never[]) => unknown,\n ),\n ],\n );\n const wrappedFn = runInInjectionContext(methodInjector, () =>\n injectFnWrapper()(value as (...args: unknown[]) => unknown),\n );\n exposedAcc[key] = createYieldableInsertionMethod(wrappedFn, {\n injector: methodInjector,\n invalidYieldErrorMessage:\n INSERT_SELECT_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n INSERT_SELECT_APP_START_ERROR_MESSAGE,\n });\n } else {\n exposedAcc[key] = value;\n }\n return exposedAcc;\n },\n {} as Record<string, unknown>,\n );\n\n return {\n rawInsertionsOutput: {\n ...acc.rawInsertionsOutput,\n ...nextRawInsertions,\n },\n exposedInsertionsOutput: {\n ...acc.exposedInsertionsOutput,\n ...nextExposedInsertions,\n },\n };\n },\n {\n rawInsertionsOutput: {} as Record<string, unknown>,\n exposedInsertionsOutput: {} as Record<string, unknown>,\n },\n );\n\n selectedPropertyProxy = new Proxy(exposedInsertionsOutput, {\n get(target, property, receiver) {\n if (Reflect.has(target, property)) {\n return Reflect.get(target, property, receiver);\n }\n\n const currentProperty = selectProperty();\n if (!currentProperty || typeof currentProperty !== 'object') {\n return undefined;\n }\n\n return Reflect.get(currentProperty as object, property);\n },\n });\n\n return selectedPropertyProxy;\n };\n\n // Ensure cross-layer sources are available for subsequent state insertions.\n selectPropertyItem();\n\n if (insertionSnapshotRegistry) {\n const destroyRef = inject(DestroyRef);\n insertionSnapshotRegistry.trigger$\n .pipe(takeUntilDestroyed(destroyRef))\n .subscribe(() => {\n const proxy = selectPropertyItem();\n const rawPropertyValue = readInsertionState(state) as Record<\n string,\n unknown\n >;\n const rawPropValue =\n rawPropertyValue &&\n typeof rawPropertyValue === 'object' &&\n propertyKey in rawPropertyValue\n ? rawPropertyValue[propertyKey]\n : undefined;\n insertionSnapshotRegistry.allInsertionSnapshot$.next({\n key: selectPropertyMethodName,\n value: snapshotSelectProxy(proxy, rawPropValue),\n });\n });\n }\n\n return {\n [selectPropertyMethodName]:\n markNonYieldableInsertionMethod(selectPropertyItem),\n ...Object.fromEntries(crossLayerSourcesByKey.entries()),\n };\n };\n}\n\nfunction createDeferredInsertSelectRuntime(\n entityName: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...insertions: InsertionsStateFactory<any, any, any>[]\n) {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context: any,\n ) => {\n const selectMethodName = `select${capitalize(entityName)}`;\n const runtimeInjector = inject(Injector);\n let activeIsArray: boolean | undefined;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let activeRuntime: any;\n\n const getActiveRuntime = () => {\n // Untracked on purpose. Whether the state is an array picks which runtime\n // to build — a structural question, not a value this selector depends on.\n // Reading it tracked subscribed EVERY caller to the whole collection, so\n // a template binding that selected one item re-ran whenever any item\n // changed, and even when something unrelated did.\n const isArray = Array.isArray(\n untracked(() => readInsertionState(context.state)),\n );\n if (activeRuntime && activeIsArray === isArray) {\n return activeRuntime;\n }\n\n activeIsArray = isArray;\n activeRuntime = runInInjectionContext(runtimeInjector, () =>\n isArray\n ? createInsertSelectItemRuntime(entityName, ...insertions)(context)\n : createInsertSelectPropertyRuntime(\n entityName,\n ...insertions,\n )(context),\n );\n return activeRuntime;\n };\n\n const select = (...args: unknown[]) =>\n getActiveRuntime()[selectMethodName](...args);\n\n return {\n [selectMethodName]: markNonYieldableInsertionMethod(select),\n items: markNonYieldableInsertionMethod(\n () => getActiveRuntime().items?.() ?? [],\n ),\n };\n };\n}\n\ntype IsArray<T> = T extends any[] ? true : false;\n\n/**\n * Unified selector insertion for nested object properties and array items.\n *\n * `insertSelect` lets you compose nested insertions with the same API regardless\n * of whether the current state is an object or an array.\n *\n * You interact with the selected sub-state through generated methods like:\n * - `selectCell()` for object properties\n * - `selectCell(index)` for array items\n * The returned selection exposes both the original state fields and the\n * insertion methods/computed values.\n *\n * @example\n * ```ts\n * const board = yield* state(\n * {\n * cell: { color: 'white', paintCount: 0 },\n * },\n * insertSelect('cell', ({ update }) => ({\n * paintBlack: () =>\n * update((cell) => ({\n * ...cell,\n * color: 'black',\n * paintCount: cell.paintCount + 1,\n * })),\n * })),\n * ));\n *\n * yield* board.selectCell().paintBlack();\n * console.log(board.selectCell().color); // 'black'\n * ```\n *\n * @example\n * ```ts\n * const cells = yield* state(\n * [{ color: 'white', paintCount: 0 }],\n * insertSelect('cell', ({ update }) => ({\n * paint: () =>\n * update((cell) => ({\n * ...cell,\n * color: 'black',\n * paintCount: cell.paintCount + 1,\n * })),\n * })),\n * ));\n *\n * const cell = cells.selectCell(0);\n * if (cell) yield* cell.paint();\n * console.log(cells.selectCell(0)?.paintCount); // 1\n * ```\n *\n * `insertSelect` accepts a SINGLE nested insertion. To attach several (or to\n * chain another `insertSelect` alongside other members), re-pass the selected\n * context through `craftPipe` — contextual typing is preserved at every\n * nesting level:\n *\n * @example\n * ```ts\n * insertSelect('grid', (gridContext) =>\n * craftPipe(\n * gridContext,\n * ({ state, update }) => ({\n * addRow: () => update((grid) => [...grid, createNextRow(grid)]),\n * rowIndexes: craftComputed(function* () {\n * return (yield* state()).map((_row, index) => index);\n * }),\n * }),\n * insertSelect('row', ({ update }) => ({\n * // ...\n * })),\n * ),\n * );\n * ```\n *\n * `insertSelect` itself also composes as a member of an `insertStatePipe` at\n * the primitive level:\n *\n * @example\n * ```ts\n * state(initialCells, insertStatePipe(\n * insertStoragePersister(craftUnique({\n * storeName: 'app',\n * key: 'cells',\n * })),\n * insertSelect('cell', ({ update }) => ({\n * paint: () => update((cell) => ({ ...cell, painted: true })),\n * })),\n * ),\n * );\n * ```\n */\nexport function insertSelect<\n StateType,\n const Name extends AutoCompleteName & string,\n Insertions1 = {},\n PreviousInsertionsOutputs = {},\n Insertions1Yielded = never,\n AutoCompleteName = NoInfer<StateType> extends readonly object[]\n ? string\n : keyof NoInfer<StateType>,\n>(\n name: Name,\n insertion1: InsertionsStateFactory<\n SelectedTarget<StateType, Name>,\n Insertions1,\n PreviousInsertionsOutputs,\n Insertions1Yielded\n >,\n): InsertSelectReturn<\n StateType,\n Name,\n [Insertions1],\n PreviousInsertionsOutputs\n>;\n\nexport function insertSelect(\n name: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...insertions: InsertionsStateFactory<any, any, any>[]\n): any {\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context: any,\n ) => {\n const currentState = readInsertionState(context.state);\n if (\n currentState === undefined &&\n context.__primitiveKind &&\n context.__primitiveKind !== 'state'\n ) {\n return createDeferredInsertSelectRuntime(name, ...insertions)(context);\n }\n\n if (Array.isArray(currentState)) {\n return createInsertSelectItemRuntime(name, ...insertions)(context);\n }\n return createInsertSelectPropertyRuntime(name, ...insertions)(context);\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-storage-persister.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-storage-persister.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAKL,4BAA4B,EAC7B,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,KAAK,4BAA4B,GAAG,UAAU,CAC5C,OAAO,gBAAgB,CACxB,SAAS,SAAS,CAAC,MAAM,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GACxC,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,uBAAuB,CACjC,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EAC7D,SAAS,GAAG,MAAM,IAChB;IACF,wCAAwC,CAAC,EAAE,OAAO,CAAC;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,aAAa,CAAC;CACvD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,SAAS,MAAM,EAC9B,aAAa,SAAS,MAAM,GAAG,SAAS,EACxC,cAAc,EACd,yBAAyB,EACzB,SAAS,EACT,eAAe,SAAS,4BAA4B,EACpD,KAAK,CAAC,SAAS,GAAG,MAAM,EAExB,QAAQ,EAAE,WAAW,CAAC,wBAAwB,CAAC,EAC/C,OAAO,CAAC,EAAE,uBAAuB,CAAC,aAAa,EAAE,SAAS,CAAC,GAC1D,CACD,OAAO,EAAE,OAAO,KACb,SAAS,CACZ,4BAA4B,EAC5B;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,EAC/B,OAAO,CACR,CAoFA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-storage-persister.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-storage-persister.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAU/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAuBpD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CASpC,QAA+C,EAC/C,OAA2D;IAQ3D,OAAO,QAAQ,CAAC,EAAE,QAAiB;QAcjC,MAAM,OAAO,GAAG,QAQsD,CAAC;QACvE,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAmB,CAAC;QAChE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,cAAc,IAAI,OAAO,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC;QAChE,MAAM,iBAAiB,GACrB,eAAe;YACf,CAAC,YAAY,IAAI,OAAO;gBACtB,OAAQ,OAA0C,CAAC,UAAU;oBAC3D,UAAU,CAAC,CAAC;QAClB,MAAM,YAAY,GAAG,QAAQ;YAC3B,CAAC,CAAE,UAGC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,cAAc,GAAG,eAAe;YACpC,CAAC,CAAE,UAA6C,CAAC,YAAY;YAC7D,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAE;oBACC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO;oBACrB,KAAK,EAAE,GAAG,EAAE,CAAC,YAAa,CAAC,KAAK,EAAE;oBAClC,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,YAAa,CAAC,GAAG,CAAC,KAAkB,CAAC;iBAC3B;gBACvC,CAAC,CAAE,UAAyC,CAAC,QAAQ,CAAC;QAC1D,MAAM,iBAAiB,GAAkB,QAAQ;YAC/C,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS;YACjB,CAAC,CAAE,UAA+D;iBAC7D,iBAAiB,CAAC;QAEzB,IAAI,iBAAiB,EAAE,CAAC;YACtB,SAAS,CAAC,qBAAqB,CAAC;gBAC9B,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAG,OAAO,EAAE,SAAgC,IAAI,MAAM;gBAC/D,iBAAiB,EAAE,cAIlB;gBACD,sBAAsB,EAAE,iBAAwB;gBAChD,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,iBAAiB,CAAC;gBAC1B,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAG,OAAO,EAAE,SAAgC,IAAI,MAAM;gBAC/D,aAAa,EAAE,cAAiD;gBAChE,sBAAsB,EAAE,iBAAwB;gBAChD,wCAAwC,EAAE,QAAQ;oBAChD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,CAAC,OAAO,EAAE,wCAAwC,IAAI,IAAI,CAAC;gBAC/D,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { ResourceRef } from './host/craft-compat';\nimport type { CraftUnique } from './craft-unique';\nimport { StoragePersister } from './storage-persister.service';\nimport {\n InsertionByIdParams,\n InsertionParams,\n InsertionResourceFactoryContext,\n InsertionStateFactoryContext,\n ResourceExceptionConstraints,\n} from './query.core';\nimport { ResourceByIdRef } from './resource-by-id';\nimport type { QueriesPersister } from './util/persister.type';\nimport { rawReactiveFacade } from './reactive-read';\n\ntype StoragePersisterServiceYield = ReturnType<\n typeof StoragePersister\n> extends Generator<infer Yielded, any, any>\n ? Yielded\n : never;\n\nexport type StoragePersisterIdentity = {\n storeName: string;\n key: string;\n};\n\nexport type StoragePersisterOptions<\n ResourceState extends object | undefined = object | undefined,\n CacheTime = 300000,\n> = {\n waitForParamsSrcToBeEqualToPreviousValue?: boolean;\n cacheTime?: CacheTime;\n staleTime?: number;\n validate?: (value: unknown) => value is ResourceState;\n};\n\n/**\n * Persists query, mutation, async-process, or state data through the\n * StoragePersister selected by the current Angular/Craft injector.\n *\n * The identity (`key` + `storeName`) must be wrapped with `craftUnique` so the\n * static graph can guarantee it appears only once in the project.\n */\nexport function insertStoragePersister<\n GroupIdentifier extends string,\n ResourceState extends object | undefined,\n ResourceParams,\n PreviousInsertionsOutputs,\n StateType,\n QueryExceptions extends ResourceExceptionConstraints,\n const CacheTime = 300000,\n>(\n identity: CraftUnique<StoragePersisterIdentity>,\n options?: StoragePersisterOptions<ResourceState, CacheTime>,\n): (\n context: unknown,\n) => Generator<\n StoragePersisterServiceYield,\n { persister: QueriesPersister },\n unknown\n> {\n return function* (_context: unknown) {\n type ResourceByIdContext = InsertionByIdParams<\n GroupIdentifier,\n ResourceState,\n ResourceParams,\n QueryExceptions,\n PreviousInsertionsOutputs\n >;\n type ResourceContext = InsertionParams<\n ResourceState,\n ResourceParams,\n QueryExceptions,\n PreviousInsertionsOutputs\n >;\n const context = _context as\n | InsertionResourceFactoryContext<\n GroupIdentifier,\n ResourceState,\n ResourceParams,\n QueryExceptions,\n PreviousInsertionsOutputs\n >\n | InsertionStateFactoryContext<StateType, PreviousInsertionsOutputs>;\n const rawContext = rawReactiveFacade(context) as typeof context;\n const persister = yield* StoragePersister();\n const hasResourceById = 'resourceById' in context;\n const hasState = 'state' in context && !('resource' in context);\n const isUsingIdentifier =\n hasResourceById ||\n ('identifier' in context &&\n typeof (context as unknown as ResourceByIdContext).identifier ===\n 'function');\n const stateContext = hasState\n ? (rawContext as InsertionStateFactoryContext<\n StateType,\n PreviousInsertionsOutputs\n >)\n : undefined;\n const resourceTarget = hasResourceById\n ? (rawContext as unknown as ResourceByIdContext).resourceById\n : hasState\n ? ({\n status: () => 'local',\n value: () => stateContext!.state(),\n set: (value: unknown) => stateContext!.set(value as StateType),\n } as unknown as ResourceRef<unknown>)\n : (rawContext as unknown as ResourceContext).resource;\n const resourceParamsSrc: () => unknown = hasState\n ? () => undefined\n : (rawContext as unknown as ResourceByIdContext | ResourceContext)\n .resourceParamsSrc;\n\n if (isUsingIdentifier) {\n persister.addQueryByIdToPersist({\n key: identity.key,\n storeName: identity.storeName,\n cacheTime: (options?.cacheTime as number | undefined) ?? 300000,\n queryByIdResource: resourceTarget as unknown as ResourceByIdRef<\n string,\n unknown,\n unknown\n >,\n queryResourceParamsSrc: resourceParamsSrc as any,\n staleTime: options?.staleTime,\n validate: options?.validate,\n });\n } else {\n persister.addQueryToPersist({\n key: identity.key,\n storeName: identity.storeName,\n cacheTime: (options?.cacheTime as number | undefined) ?? 300000,\n queryResource: resourceTarget as unknown as ResourceRef<unknown>,\n queryResourceParamsSrc: resourceParamsSrc as any,\n waitForParamsSrcToBeEqualToPreviousValue: hasState\n ? false\n : (options?.waitForParamsSrcToBeEqualToPreviousValue ?? true),\n staleTime: options?.staleTime,\n validate: options?.validate,\n });\n }\n\n return { persister };\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"insert-typed-pipes.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/insert-typed-pipes.ts"],"names":[],"mappings":"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"}
|