@warp-drive/core 5.8.0-alpha.3 → 5.8.0-alpha.32
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/README.md +22 -38
- package/declarations/build-config.d.ts +18 -1
- package/declarations/graph/-private/-edge-definition.d.ts +12 -2
- package/declarations/index.d.ts +90 -4
- package/declarations/reactive/-private/document.d.ts +58 -46
- package/declarations/reactive/-private/record.d.ts +10 -1
- package/declarations/reactive/-private/schema.d.ts +77 -4
- package/declarations/reactive/-private.d.ts +1 -0
- package/declarations/reactive.d.ts +13 -7
- package/declarations/request/-private/types.d.ts +1 -1
- package/declarations/request.d.ts +47 -0
- package/declarations/store/-private/caches/instance-cache.d.ts +5 -6
- package/declarations/store/-private/default-cache-policy.d.ts +147 -129
- package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +1 -1
- package/declarations/store/-private/managers/cache-key-manager.d.ts +26 -8
- package/declarations/store/-private/managers/cache-manager.d.ts +6 -4
- package/declarations/store/-private/managers/notification-manager.d.ts +1 -1
- package/declarations/store/-private/new-core-tmp/promise-state.d.ts +1 -0
- package/declarations/store/-private/new-core-tmp/request-state.d.ts +1 -1
- package/declarations/store/-private/store-service.d.ts +43 -64
- package/declarations/store/-private.d.ts +0 -1
- package/declarations/store/-types/q/cache-capabilities-manager.d.ts +1 -1
- package/declarations/store/deprecated/-private.d.ts +1 -1
- package/declarations/store/deprecated/store.d.ts +33 -32
- package/declarations/store.d.ts +1 -0
- package/declarations/types/cache.d.ts +8 -6
- package/declarations/types/record.d.ts +132 -0
- package/declarations/types/request.d.ts +26 -14
- package/declarations/types/schema/fields.d.ts +33 -9
- package/declarations/{store/-types/q → types/schema}/schema-service.d.ts +15 -13
- package/declarations/types/spec/document.d.ts +34 -0
- package/declarations/types/symbols.d.ts +2 -2
- package/declarations/types.d.ts +1 -1
- package/dist/build-config.js +1 -1
- package/dist/default-cache-policy-D7_u4YRH.js +572 -0
- package/dist/graph/-private.js +13 -4
- package/dist/{request-state-CUuZzgvE.js → index-D4si_DxB.js} +10010 -8843
- package/dist/index.js +6 -382
- package/dist/reactive.js +4 -778
- package/dist/{context-C_7OLieY.js → request-oqoLC9rz.js} +219 -172
- package/dist/request.js +1 -1
- package/dist/store/-private.js +1 -1
- package/dist/store.js +1 -533
- package/dist/types/-private.js +1 -1
- package/dist/types/record.js +127 -0
- package/dist/types/request.js +14 -12
- package/dist/types/schema/fields.js +14 -0
- package/dist/types/schema/schema-service.js +0 -0
- package/dist/types/symbols.js +2 -2
- package/dist/unpkg/dev/build-config/babel-macros.js +1 -0
- package/dist/unpkg/dev/build-config/canary-features.js +1 -0
- package/dist/unpkg/dev/build-config/debugging.js +1 -0
- package/dist/unpkg/dev/build-config/deprecations.js +1 -0
- package/dist/unpkg/dev/build-config/env.js +1 -0
- package/dist/unpkg/dev/build-config/macros.js +1 -0
- package/dist/unpkg/dev/build-config.js +1 -0
- package/dist/unpkg/dev/configure-C3x8YXzL.js +181 -0
- package/dist/unpkg/dev/configure.js +1 -0
- package/dist/unpkg/dev/declarations/build-config/babel-macros.d.ts +1 -0
- package/dist/unpkg/dev/declarations/build-config/canary-features.d.ts +1 -0
- package/dist/unpkg/dev/declarations/build-config/debugging.d.ts +1 -0
- package/dist/unpkg/dev/declarations/build-config/deprecations.d.ts +1 -0
- package/dist/unpkg/dev/declarations/build-config/env.d.ts +1 -0
- package/dist/unpkg/dev/declarations/build-config/macros.d.ts +1 -0
- package/dist/unpkg/dev/declarations/build-config.d.ts +18 -0
- package/dist/unpkg/dev/declarations/configure.d.ts +7 -0
- package/dist/unpkg/dev/declarations/graph/-private/-diff.d.ts +19 -0
- package/dist/unpkg/dev/declarations/graph/-private/-edge-definition.d.ts +149 -0
- package/dist/unpkg/dev/declarations/graph/-private/-state.d.ts +9 -0
- package/dist/unpkg/dev/declarations/graph/-private/-utils.d.ts +25 -0
- package/dist/unpkg/dev/declarations/graph/-private/coerce-id.d.ts +4 -0
- package/dist/unpkg/dev/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +6 -0
- package/dist/unpkg/dev/declarations/graph/-private/edges/collection.d.ts +39 -0
- package/dist/unpkg/dev/declarations/graph/-private/edges/implicit.d.ts +43 -0
- package/dist/unpkg/dev/declarations/graph/-private/edges/resource.d.ts +23 -0
- package/dist/unpkg/dev/declarations/graph/-private/graph.d.ts +56 -0
- package/dist/unpkg/dev/declarations/graph/-private/normalize-link.d.ts +2 -0
- package/dist/unpkg/dev/declarations/graph/-private/operations/add-to-related-records.d.ts +4 -0
- package/dist/unpkg/dev/declarations/graph/-private/operations/merge-identifier.d.ts +3 -0
- package/dist/unpkg/dev/declarations/graph/-private/operations/remove-from-related-records.d.ts +4 -0
- package/dist/unpkg/dev/declarations/graph/-private/operations/replace-related-record.d.ts +3 -0
- package/dist/unpkg/dev/declarations/graph/-private/operations/replace-related-records.d.ts +7 -0
- package/dist/unpkg/dev/declarations/graph/-private/operations/update-relationship.d.ts +9 -0
- package/dist/unpkg/dev/declarations/graph/-private.d.ts +13 -0
- package/dist/unpkg/dev/declarations/index.d.ts +100 -0
- package/dist/unpkg/dev/declarations/reactive/-private/default-mode.d.ts +73 -0
- package/dist/unpkg/dev/declarations/reactive/-private/document.d.ts +142 -0
- package/dist/unpkg/dev/declarations/reactive/-private/fields/extension.d.ts +8 -0
- package/dist/unpkg/dev/declarations/reactive/-private/fields/get-field-key.d.ts +8 -0
- package/dist/unpkg/dev/declarations/reactive/-private/fields/managed-array.d.ts +18 -0
- package/dist/unpkg/dev/declarations/reactive/-private/fields/managed-object.d.ts +17 -0
- package/dist/unpkg/dev/declarations/reactive/-private/fields/many-array-manager.d.ts +19 -0
- package/dist/unpkg/dev/declarations/reactive/-private/hooks.d.ts +5 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/alias-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/array-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/attribute-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/belongs-to-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/collection-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/derived-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/generic-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/has-many-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/hash-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/identity-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/local-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/object-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/resource-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/schema-array-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/kind/schema-object-field.d.ts +4 -0
- package/dist/unpkg/dev/declarations/reactive/-private/record.d.ts +83 -0
- package/dist/unpkg/dev/declarations/reactive/-private/schema.d.ts +326 -0
- package/dist/unpkg/dev/declarations/reactive/-private/symbols.d.ts +5 -0
- package/dist/unpkg/dev/declarations/reactive/-private.d.ts +2 -0
- package/dist/unpkg/dev/declarations/reactive.d.ts +287 -0
- package/dist/unpkg/dev/declarations/request/-private/context.d.ts +39 -0
- package/dist/unpkg/dev/declarations/request/-private/debug.d.ts +4 -0
- package/dist/unpkg/dev/declarations/request/-private/fetch.d.ts +33 -0
- package/dist/unpkg/dev/declarations/request/-private/future.d.ts +7 -0
- package/dist/unpkg/dev/declarations/request/-private/manager.d.ts +158 -0
- package/dist/unpkg/dev/declarations/request/-private/promise-cache.d.ts +28 -0
- package/dist/unpkg/dev/declarations/request/-private/types.d.ts +234 -0
- package/dist/unpkg/dev/declarations/request/-private/utils.d.ts +57 -0
- package/dist/unpkg/dev/declarations/request.d.ts +52 -0
- package/dist/unpkg/dev/declarations/store/-private/cache-handler/handler.d.ts +56 -0
- package/dist/unpkg/dev/declarations/store/-private/cache-handler/types.d.ts +98 -0
- package/dist/unpkg/dev/declarations/store/-private/cache-handler/utils.d.ts +31 -0
- package/dist/unpkg/dev/declarations/store/-private/caches/instance-cache.d.ts +58 -0
- package/dist/unpkg/dev/declarations/store/-private/caches/resource-utils.d.ts +9 -0
- package/dist/unpkg/dev/declarations/store/-private/debug/utils.d.ts +7 -0
- package/dist/unpkg/dev/declarations/store/-private/default-cache-policy.d.ts +387 -0
- package/dist/unpkg/dev/declarations/store/-private/managers/cache-capabilities-manager.d.ts +34 -0
- package/dist/unpkg/dev/declarations/store/-private/managers/cache-key-manager.d.ts +304 -0
- package/dist/unpkg/dev/declarations/store/-private/managers/cache-manager.d.ts +380 -0
- package/dist/unpkg/dev/declarations/store/-private/managers/notification-manager.d.ts +83 -0
- package/dist/unpkg/dev/declarations/store/-private/managers/record-array-manager.d.ts +100 -0
- package/dist/unpkg/dev/declarations/store/-private/network/request-cache.d.ts +103 -0
- package/dist/unpkg/dev/declarations/store/-private/new-core-tmp/expensive-subscription.d.ts +24 -0
- package/dist/unpkg/dev/declarations/store/-private/new-core-tmp/promise-state.d.ts +264 -0
- package/dist/unpkg/dev/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +138 -0
- package/dist/unpkg/dev/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +154 -0
- package/dist/unpkg/dev/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +56 -0
- package/dist/unpkg/dev/declarations/store/-private/new-core-tmp/request-state.d.ts +372 -0
- package/dist/unpkg/dev/declarations/store/-private/new-core-tmp/request-subscription.d.ts +177 -0
- package/dist/unpkg/dev/declarations/store/-private/record-arrays/-utils.d.ts +80 -0
- package/dist/unpkg/dev/declarations/store/-private/record-arrays/legacy-live-array.d.ts +81 -0
- package/dist/unpkg/dev/declarations/store/-private/record-arrays/legacy-many-array.d.ts +133 -0
- package/dist/unpkg/dev/declarations/store/-private/record-arrays/legacy-query.d.ts +81 -0
- package/dist/unpkg/dev/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +3 -0
- package/dist/unpkg/dev/declarations/store/-private/record-arrays/resource-array.d.ts +67 -0
- package/dist/unpkg/dev/declarations/store/-private/store-service.d.ts +874 -0
- package/dist/unpkg/dev/declarations/store/-private/utils/coerce-id.d.ts +4 -0
- package/dist/unpkg/dev/declarations/store/-private/utils/construct-resource.d.ts +6 -0
- package/dist/unpkg/dev/declarations/store/-private/utils/is-non-empty-string.d.ts +1 -0
- package/dist/unpkg/dev/declarations/store/-private/utils/normalize-model-name.d.ts +1 -0
- package/dist/unpkg/dev/declarations/store/-private/utils/uuid-polyfill.d.ts +1 -0
- package/dist/unpkg/dev/declarations/store/-private.d.ts +29 -0
- package/dist/unpkg/dev/declarations/store/-types/q/cache-capabilities-manager.d.ts +90 -0
- package/dist/unpkg/dev/declarations/store/-types/q/identifier.d.ts +23 -0
- package/dist/unpkg/dev/declarations/store/-types/q/record-instance.d.ts +22 -0
- package/dist/unpkg/dev/declarations/store/-types/q/store.d.ts +31 -0
- package/dist/unpkg/dev/declarations/store/deprecated/-private.d.ts +223 -0
- package/dist/unpkg/dev/declarations/store/deprecated/store.d.ts +784 -0
- package/dist/unpkg/dev/declarations/store.d.ts +2 -0
- package/dist/unpkg/dev/declarations/types/-private.d.ts +22 -0
- package/dist/unpkg/dev/declarations/types/cache/aliases.d.ts +1 -0
- package/dist/unpkg/dev/declarations/types/cache/change.d.ts +6 -0
- package/dist/unpkg/dev/declarations/types/cache/mutations.d.ts +38 -0
- package/dist/unpkg/dev/declarations/types/cache/operations.d.ts +168 -0
- package/dist/unpkg/dev/declarations/types/cache/relationship.d.ts +13 -0
- package/dist/unpkg/dev/declarations/types/cache.d.ts +429 -0
- package/dist/unpkg/dev/declarations/types/graph.d.ts +47 -0
- package/dist/unpkg/dev/declarations/types/identifier.d.ts +86 -0
- package/dist/unpkg/dev/declarations/types/json/raw.d.ts +6 -0
- package/dist/unpkg/dev/declarations/types/params.d.ts +8 -0
- package/dist/unpkg/dev/declarations/types/record.d.ts +269 -0
- package/dist/unpkg/dev/declarations/types/request.d.ts +367 -0
- package/dist/unpkg/dev/declarations/types/runtime.d.ts +14 -0
- package/dist/unpkg/dev/declarations/types/schema/concepts.d.ts +23 -0
- package/dist/unpkg/dev/declarations/types/schema/fields.d.ts +2200 -0
- package/dist/unpkg/dev/declarations/types/schema/fields.type-test.d.ts +1 -0
- package/dist/unpkg/dev/declarations/types/schema/schema-service.d.ts +380 -0
- package/dist/unpkg/dev/declarations/types/spec/document.d.ts +67 -0
- package/dist/unpkg/dev/declarations/types/spec/error.d.ts +18 -0
- package/dist/unpkg/dev/declarations/types/spec/json-api-raw.d.ts +139 -0
- package/dist/unpkg/dev/declarations/types/symbols.d.ts +78 -0
- package/dist/unpkg/dev/declarations/types/utils.d.ts +5 -0
- package/dist/unpkg/dev/declarations/types.d.ts +11 -0
- package/dist/unpkg/dev/declarations/utils/string.d.ts +47 -0
- package/dist/unpkg/dev/default-cache-policy-D7_u4YRH.js +572 -0
- package/dist/unpkg/dev/graph/-private.js +3374 -0
- package/dist/unpkg/dev/index-D4si_DxB.js +11746 -0
- package/dist/unpkg/dev/index.js +8 -0
- package/dist/unpkg/dev/reactive/-private.js +1 -0
- package/dist/unpkg/dev/reactive.js +129 -0
- package/dist/unpkg/dev/request-oqoLC9rz.js +725 -0
- package/dist/unpkg/dev/request.js +1 -0
- package/dist/unpkg/dev/store/-private.js +2 -0
- package/dist/unpkg/dev/store.js +1 -0
- package/dist/unpkg/dev/symbols-sql1_mdx.js +39 -0
- package/dist/unpkg/dev/types/-private.js +79 -0
- package/dist/unpkg/dev/types/cache/aliases.js +0 -0
- package/dist/unpkg/dev/types/cache/change.js +0 -0
- package/dist/unpkg/dev/types/cache/mutations.js +0 -0
- package/dist/unpkg/dev/types/cache/operations.js +0 -0
- package/dist/unpkg/dev/types/cache/relationship.js +0 -0
- package/dist/unpkg/dev/types/cache.js +0 -0
- package/dist/unpkg/dev/types/graph.js +0 -0
- package/dist/unpkg/dev/types/identifier.js +63 -0
- package/dist/unpkg/dev/types/json/raw.js +0 -0
- package/dist/unpkg/dev/types/params.js +0 -0
- package/dist/unpkg/dev/types/record.js +191 -0
- package/dist/unpkg/dev/types/request.js +77 -0
- package/dist/unpkg/dev/types/runtime.js +34 -0
- package/dist/unpkg/dev/types/schema/concepts.js +0 -0
- package/dist/unpkg/dev/types/schema/fields.js +505 -0
- package/dist/unpkg/dev/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/dev/types/schema/schema-service.js +0 -0
- package/dist/unpkg/dev/types/spec/document.js +0 -0
- package/dist/unpkg/dev/types/spec/error.js +0 -0
- package/dist/unpkg/dev/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/dev/types/symbols.js +84 -0
- package/dist/unpkg/dev/types/utils.js +0 -0
- package/dist/unpkg/dev/types.js +0 -0
- package/dist/unpkg/dev/utils/string.js +92 -0
- package/dist/unpkg/dev-deprecated/build-config/babel-macros.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/canary-features.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/debugging.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/deprecations.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/env.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/macros.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config.js +1 -0
- package/dist/unpkg/dev-deprecated/configure-C3x8YXzL.js +181 -0
- package/dist/unpkg/dev-deprecated/configure.js +1 -0
- package/dist/unpkg/dev-deprecated/declarations/build-config/babel-macros.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/build-config/canary-features.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/build-config/debugging.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/build-config/deprecations.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/build-config/env.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/build-config/macros.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/build-config.d.ts +18 -0
- package/dist/unpkg/dev-deprecated/declarations/configure.d.ts +7 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/-diff.d.ts +19 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/-edge-definition.d.ts +149 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/-state.d.ts +9 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/-utils.d.ts +25 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/coerce-id.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +6 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/edges/collection.d.ts +39 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/edges/implicit.d.ts +43 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/edges/resource.d.ts +23 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/graph.d.ts +56 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/normalize-link.d.ts +2 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/operations/add-to-related-records.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/operations/merge-identifier.d.ts +3 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/operations/remove-from-related-records.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/operations/replace-related-record.d.ts +3 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/operations/replace-related-records.d.ts +7 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private/operations/update-relationship.d.ts +9 -0
- package/dist/unpkg/dev-deprecated/declarations/graph/-private.d.ts +13 -0
- package/dist/unpkg/dev-deprecated/declarations/index.d.ts +100 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/default-mode.d.ts +73 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/document.d.ts +142 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/fields/extension.d.ts +8 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/fields/get-field-key.d.ts +8 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/fields/managed-array.d.ts +18 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/fields/managed-object.d.ts +17 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/fields/many-array-manager.d.ts +19 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/hooks.d.ts +5 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/alias-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/array-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/attribute-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/belongs-to-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/collection-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/derived-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/generic-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/has-many-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/hash-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/identity-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/local-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/object-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/resource-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/schema-array-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/kind/schema-object-field.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/record.d.ts +83 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/schema.d.ts +326 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private/symbols.d.ts +5 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive/-private.d.ts +2 -0
- package/dist/unpkg/dev-deprecated/declarations/reactive.d.ts +287 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/context.d.ts +39 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/debug.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/fetch.d.ts +33 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/future.d.ts +7 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/manager.d.ts +158 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/promise-cache.d.ts +28 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/types.d.ts +234 -0
- package/dist/unpkg/dev-deprecated/declarations/request/-private/utils.d.ts +57 -0
- package/dist/unpkg/dev-deprecated/declarations/request.d.ts +52 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/cache-handler/handler.d.ts +56 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/cache-handler/types.d.ts +98 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/cache-handler/utils.d.ts +31 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/caches/instance-cache.d.ts +58 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/caches/resource-utils.d.ts +9 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/debug/utils.d.ts +7 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/default-cache-policy.d.ts +387 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/managers/cache-capabilities-manager.d.ts +34 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/managers/cache-key-manager.d.ts +304 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/managers/cache-manager.d.ts +380 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/managers/notification-manager.d.ts +83 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/managers/record-array-manager.d.ts +100 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/network/request-cache.d.ts +103 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/new-core-tmp/expensive-subscription.d.ts +24 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/new-core-tmp/promise-state.d.ts +264 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +138 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +154 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +56 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/new-core-tmp/request-state.d.ts +372 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/new-core-tmp/request-subscription.d.ts +177 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/record-arrays/-utils.d.ts +80 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/record-arrays/legacy-live-array.d.ts +81 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/record-arrays/legacy-many-array.d.ts +133 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/record-arrays/legacy-query.d.ts +81 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +3 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/record-arrays/resource-array.d.ts +67 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/store-service.d.ts +874 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/utils/coerce-id.d.ts +4 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/utils/construct-resource.d.ts +6 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/utils/is-non-empty-string.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/utils/normalize-model-name.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private/utils/uuid-polyfill.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-private.d.ts +29 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-types/q/cache-capabilities-manager.d.ts +90 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-types/q/identifier.d.ts +23 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-types/q/record-instance.d.ts +22 -0
- package/dist/unpkg/dev-deprecated/declarations/store/-types/q/store.d.ts +31 -0
- package/dist/unpkg/dev-deprecated/declarations/store/deprecated/-private.d.ts +223 -0
- package/dist/unpkg/dev-deprecated/declarations/store/deprecated/store.d.ts +784 -0
- package/dist/unpkg/dev-deprecated/declarations/store.d.ts +2 -0
- package/dist/unpkg/dev-deprecated/declarations/types/-private.d.ts +22 -0
- package/dist/unpkg/dev-deprecated/declarations/types/cache/aliases.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/types/cache/change.d.ts +6 -0
- package/dist/unpkg/dev-deprecated/declarations/types/cache/mutations.d.ts +38 -0
- package/dist/unpkg/dev-deprecated/declarations/types/cache/operations.d.ts +168 -0
- package/dist/unpkg/dev-deprecated/declarations/types/cache/relationship.d.ts +13 -0
- package/dist/unpkg/dev-deprecated/declarations/types/cache.d.ts +429 -0
- package/dist/unpkg/dev-deprecated/declarations/types/graph.d.ts +47 -0
- package/dist/unpkg/dev-deprecated/declarations/types/identifier.d.ts +86 -0
- package/dist/unpkg/dev-deprecated/declarations/types/json/raw.d.ts +6 -0
- package/dist/unpkg/dev-deprecated/declarations/types/params.d.ts +8 -0
- package/dist/unpkg/dev-deprecated/declarations/types/record.d.ts +269 -0
- package/dist/unpkg/dev-deprecated/declarations/types/request.d.ts +367 -0
- package/dist/unpkg/dev-deprecated/declarations/types/runtime.d.ts +14 -0
- package/dist/unpkg/dev-deprecated/declarations/types/schema/concepts.d.ts +23 -0
- package/dist/unpkg/dev-deprecated/declarations/types/schema/fields.d.ts +2200 -0
- package/dist/unpkg/dev-deprecated/declarations/types/schema/fields.type-test.d.ts +1 -0
- package/dist/unpkg/dev-deprecated/declarations/types/schema/schema-service.d.ts +380 -0
- package/dist/unpkg/dev-deprecated/declarations/types/spec/document.d.ts +67 -0
- package/dist/unpkg/dev-deprecated/declarations/types/spec/error.d.ts +18 -0
- package/dist/unpkg/dev-deprecated/declarations/types/spec/json-api-raw.d.ts +139 -0
- package/dist/unpkg/dev-deprecated/declarations/types/symbols.d.ts +78 -0
- package/dist/unpkg/dev-deprecated/declarations/types/utils.d.ts +5 -0
- package/dist/unpkg/dev-deprecated/declarations/types.d.ts +11 -0
- package/dist/unpkg/dev-deprecated/declarations/utils/string.d.ts +47 -0
- package/dist/unpkg/dev-deprecated/default-cache-policy-D7_u4YRH.js +572 -0
- package/dist/unpkg/dev-deprecated/graph/-private.js +3374 -0
- package/dist/unpkg/dev-deprecated/index-D4si_DxB.js +11746 -0
- package/dist/unpkg/dev-deprecated/index.js +8 -0
- package/dist/unpkg/dev-deprecated/reactive/-private.js +1 -0
- package/dist/unpkg/dev-deprecated/reactive.js +129 -0
- package/dist/unpkg/dev-deprecated/request-oqoLC9rz.js +725 -0
- package/dist/unpkg/dev-deprecated/request.js +1 -0
- package/dist/unpkg/dev-deprecated/store/-private.js +2 -0
- package/dist/unpkg/dev-deprecated/store.js +1 -0
- package/dist/unpkg/dev-deprecated/symbols-sql1_mdx.js +39 -0
- package/dist/unpkg/dev-deprecated/types/-private.js +79 -0
- package/dist/unpkg/dev-deprecated/types/cache/aliases.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/change.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/mutations.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/operations.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/relationship.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache.js +0 -0
- package/dist/unpkg/dev-deprecated/types/graph.js +0 -0
- package/dist/unpkg/dev-deprecated/types/identifier.js +63 -0
- package/dist/unpkg/dev-deprecated/types/json/raw.js +0 -0
- package/dist/unpkg/dev-deprecated/types/params.js +0 -0
- package/dist/unpkg/dev-deprecated/types/record.js +191 -0
- package/dist/unpkg/dev-deprecated/types/request.js +77 -0
- package/dist/unpkg/dev-deprecated/types/runtime.js +34 -0
- package/dist/unpkg/dev-deprecated/types/schema/concepts.js +0 -0
- package/dist/unpkg/dev-deprecated/types/schema/fields.js +505 -0
- package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/dev-deprecated/types/schema/schema-service.js +0 -0
- package/dist/unpkg/dev-deprecated/types/spec/document.js +0 -0
- package/dist/unpkg/dev-deprecated/types/spec/error.js +0 -0
- package/dist/unpkg/dev-deprecated/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/dev-deprecated/types/symbols.js +84 -0
- package/dist/unpkg/dev-deprecated/types/utils.js +0 -0
- package/dist/unpkg/dev-deprecated/types.js +0 -0
- package/dist/unpkg/dev-deprecated/utils/string.js +92 -0
- package/dist/unpkg/prod/build-config/babel-macros.js +1 -0
- package/dist/unpkg/prod/build-config/canary-features.js +1 -0
- package/dist/unpkg/prod/build-config/debugging.js +1 -0
- package/dist/unpkg/prod/build-config/deprecations.js +1 -0
- package/dist/unpkg/prod/build-config/env.js +1 -0
- package/dist/unpkg/prod/build-config/macros.js +1 -0
- package/dist/unpkg/prod/build-config.js +1 -0
- package/dist/unpkg/prod/configure-C3x8YXzL.js +181 -0
- package/dist/unpkg/prod/configure.js +1 -0
- package/dist/unpkg/prod/declarations/build-config/babel-macros.d.ts +1 -0
- package/dist/unpkg/prod/declarations/build-config/canary-features.d.ts +1 -0
- package/dist/unpkg/prod/declarations/build-config/debugging.d.ts +1 -0
- package/dist/unpkg/prod/declarations/build-config/deprecations.d.ts +1 -0
- package/dist/unpkg/prod/declarations/build-config/env.d.ts +1 -0
- package/dist/unpkg/prod/declarations/build-config/macros.d.ts +1 -0
- package/dist/unpkg/prod/declarations/build-config.d.ts +18 -0
- package/dist/unpkg/prod/declarations/configure.d.ts +7 -0
- package/dist/unpkg/prod/declarations/graph/-private/-diff.d.ts +19 -0
- package/dist/unpkg/prod/declarations/graph/-private/-edge-definition.d.ts +149 -0
- package/dist/unpkg/prod/declarations/graph/-private/-state.d.ts +9 -0
- package/dist/unpkg/prod/declarations/graph/-private/-utils.d.ts +25 -0
- package/dist/unpkg/prod/declarations/graph/-private/coerce-id.d.ts +4 -0
- package/dist/unpkg/prod/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +6 -0
- package/dist/unpkg/prod/declarations/graph/-private/edges/collection.d.ts +39 -0
- package/dist/unpkg/prod/declarations/graph/-private/edges/implicit.d.ts +43 -0
- package/dist/unpkg/prod/declarations/graph/-private/edges/resource.d.ts +23 -0
- package/dist/unpkg/prod/declarations/graph/-private/graph.d.ts +56 -0
- package/dist/unpkg/prod/declarations/graph/-private/normalize-link.d.ts +2 -0
- package/dist/unpkg/prod/declarations/graph/-private/operations/add-to-related-records.d.ts +4 -0
- package/dist/unpkg/prod/declarations/graph/-private/operations/merge-identifier.d.ts +3 -0
- package/dist/unpkg/prod/declarations/graph/-private/operations/remove-from-related-records.d.ts +4 -0
- package/dist/unpkg/prod/declarations/graph/-private/operations/replace-related-record.d.ts +3 -0
- package/dist/unpkg/prod/declarations/graph/-private/operations/replace-related-records.d.ts +7 -0
- package/dist/unpkg/prod/declarations/graph/-private/operations/update-relationship.d.ts +9 -0
- package/dist/unpkg/prod/declarations/graph/-private.d.ts +13 -0
- package/dist/unpkg/prod/declarations/index.d.ts +100 -0
- package/dist/unpkg/prod/declarations/reactive/-private/default-mode.d.ts +73 -0
- package/dist/unpkg/prod/declarations/reactive/-private/document.d.ts +142 -0
- package/dist/unpkg/prod/declarations/reactive/-private/fields/extension.d.ts +8 -0
- package/dist/unpkg/prod/declarations/reactive/-private/fields/get-field-key.d.ts +8 -0
- package/dist/unpkg/prod/declarations/reactive/-private/fields/managed-array.d.ts +18 -0
- package/dist/unpkg/prod/declarations/reactive/-private/fields/managed-object.d.ts +17 -0
- package/dist/unpkg/prod/declarations/reactive/-private/fields/many-array-manager.d.ts +19 -0
- package/dist/unpkg/prod/declarations/reactive/-private/hooks.d.ts +5 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/alias-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/array-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/attribute-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/belongs-to-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/collection-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/derived-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/generic-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/has-many-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/hash-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/identity-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/local-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/object-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/resource-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/schema-array-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/kind/schema-object-field.d.ts +4 -0
- package/dist/unpkg/prod/declarations/reactive/-private/record.d.ts +83 -0
- package/dist/unpkg/prod/declarations/reactive/-private/schema.d.ts +326 -0
- package/dist/unpkg/prod/declarations/reactive/-private/symbols.d.ts +5 -0
- package/dist/unpkg/prod/declarations/reactive/-private.d.ts +2 -0
- package/dist/unpkg/prod/declarations/reactive.d.ts +287 -0
- package/dist/unpkg/prod/declarations/request/-private/context.d.ts +39 -0
- package/dist/unpkg/prod/declarations/request/-private/debug.d.ts +4 -0
- package/dist/unpkg/prod/declarations/request/-private/fetch.d.ts +33 -0
- package/dist/unpkg/prod/declarations/request/-private/future.d.ts +7 -0
- package/dist/unpkg/prod/declarations/request/-private/manager.d.ts +158 -0
- package/dist/unpkg/prod/declarations/request/-private/promise-cache.d.ts +28 -0
- package/dist/unpkg/prod/declarations/request/-private/types.d.ts +234 -0
- package/dist/unpkg/prod/declarations/request/-private/utils.d.ts +57 -0
- package/dist/unpkg/prod/declarations/request.d.ts +52 -0
- package/dist/unpkg/prod/declarations/store/-private/cache-handler/handler.d.ts +56 -0
- package/dist/unpkg/prod/declarations/store/-private/cache-handler/types.d.ts +98 -0
- package/dist/unpkg/prod/declarations/store/-private/cache-handler/utils.d.ts +31 -0
- package/dist/unpkg/prod/declarations/store/-private/caches/instance-cache.d.ts +58 -0
- package/dist/unpkg/prod/declarations/store/-private/caches/resource-utils.d.ts +9 -0
- package/dist/unpkg/prod/declarations/store/-private/debug/utils.d.ts +7 -0
- package/dist/unpkg/prod/declarations/store/-private/default-cache-policy.d.ts +387 -0
- package/dist/unpkg/prod/declarations/store/-private/managers/cache-capabilities-manager.d.ts +34 -0
- package/dist/unpkg/prod/declarations/store/-private/managers/cache-key-manager.d.ts +304 -0
- package/dist/unpkg/prod/declarations/store/-private/managers/cache-manager.d.ts +380 -0
- package/dist/unpkg/prod/declarations/store/-private/managers/notification-manager.d.ts +83 -0
- package/dist/unpkg/prod/declarations/store/-private/managers/record-array-manager.d.ts +100 -0
- package/dist/unpkg/prod/declarations/store/-private/network/request-cache.d.ts +103 -0
- package/dist/unpkg/prod/declarations/store/-private/new-core-tmp/expensive-subscription.d.ts +24 -0
- package/dist/unpkg/prod/declarations/store/-private/new-core-tmp/promise-state.d.ts +264 -0
- package/dist/unpkg/prod/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +138 -0
- package/dist/unpkg/prod/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +154 -0
- package/dist/unpkg/prod/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +56 -0
- package/dist/unpkg/prod/declarations/store/-private/new-core-tmp/request-state.d.ts +372 -0
- package/dist/unpkg/prod/declarations/store/-private/new-core-tmp/request-subscription.d.ts +177 -0
- package/dist/unpkg/prod/declarations/store/-private/record-arrays/-utils.d.ts +80 -0
- package/dist/unpkg/prod/declarations/store/-private/record-arrays/legacy-live-array.d.ts +81 -0
- package/dist/unpkg/prod/declarations/store/-private/record-arrays/legacy-many-array.d.ts +133 -0
- package/dist/unpkg/prod/declarations/store/-private/record-arrays/legacy-query.d.ts +81 -0
- package/dist/unpkg/prod/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +3 -0
- package/dist/unpkg/prod/declarations/store/-private/record-arrays/resource-array.d.ts +67 -0
- package/dist/unpkg/prod/declarations/store/-private/store-service.d.ts +874 -0
- package/dist/unpkg/prod/declarations/store/-private/utils/coerce-id.d.ts +4 -0
- package/dist/unpkg/prod/declarations/store/-private/utils/construct-resource.d.ts +6 -0
- package/dist/unpkg/prod/declarations/store/-private/utils/is-non-empty-string.d.ts +1 -0
- package/dist/unpkg/prod/declarations/store/-private/utils/normalize-model-name.d.ts +1 -0
- package/dist/unpkg/prod/declarations/store/-private/utils/uuid-polyfill.d.ts +1 -0
- package/dist/unpkg/prod/declarations/store/-private.d.ts +29 -0
- package/dist/unpkg/prod/declarations/store/-types/q/cache-capabilities-manager.d.ts +90 -0
- package/dist/unpkg/prod/declarations/store/-types/q/identifier.d.ts +23 -0
- package/dist/unpkg/prod/declarations/store/-types/q/record-instance.d.ts +22 -0
- package/dist/unpkg/prod/declarations/store/-types/q/store.d.ts +31 -0
- package/dist/unpkg/prod/declarations/store/deprecated/-private.d.ts +223 -0
- package/dist/unpkg/prod/declarations/store/deprecated/store.d.ts +784 -0
- package/dist/unpkg/prod/declarations/store.d.ts +2 -0
- package/dist/unpkg/prod/declarations/types/-private.d.ts +22 -0
- package/dist/unpkg/prod/declarations/types/cache/aliases.d.ts +1 -0
- package/dist/unpkg/prod/declarations/types/cache/change.d.ts +6 -0
- package/dist/unpkg/prod/declarations/types/cache/mutations.d.ts +38 -0
- package/dist/unpkg/prod/declarations/types/cache/operations.d.ts +168 -0
- package/dist/unpkg/prod/declarations/types/cache/relationship.d.ts +13 -0
- package/dist/unpkg/prod/declarations/types/cache.d.ts +429 -0
- package/dist/unpkg/prod/declarations/types/graph.d.ts +47 -0
- package/dist/unpkg/prod/declarations/types/identifier.d.ts +86 -0
- package/dist/unpkg/prod/declarations/types/json/raw.d.ts +6 -0
- package/dist/unpkg/prod/declarations/types/params.d.ts +8 -0
- package/dist/unpkg/prod/declarations/types/record.d.ts +269 -0
- package/dist/unpkg/prod/declarations/types/request.d.ts +367 -0
- package/dist/unpkg/prod/declarations/types/runtime.d.ts +14 -0
- package/dist/unpkg/prod/declarations/types/schema/concepts.d.ts +23 -0
- package/dist/unpkg/prod/declarations/types/schema/fields.d.ts +2200 -0
- package/dist/unpkg/prod/declarations/types/schema/fields.type-test.d.ts +1 -0
- package/dist/unpkg/prod/declarations/types/schema/schema-service.d.ts +380 -0
- package/dist/unpkg/prod/declarations/types/spec/document.d.ts +67 -0
- package/dist/unpkg/prod/declarations/types/spec/error.d.ts +18 -0
- package/dist/unpkg/prod/declarations/types/spec/json-api-raw.d.ts +139 -0
- package/dist/unpkg/prod/declarations/types/symbols.d.ts +78 -0
- package/dist/unpkg/prod/declarations/types/utils.d.ts +5 -0
- package/dist/unpkg/prod/declarations/types.d.ts +11 -0
- package/dist/unpkg/prod/declarations/utils/string.d.ts +47 -0
- package/dist/unpkg/prod/default-cache-policy-D7_u4YRH.js +572 -0
- package/dist/unpkg/prod/graph/-private.js +3374 -0
- package/dist/unpkg/prod/index-D4si_DxB.js +11746 -0
- package/dist/unpkg/prod/index.js +8 -0
- package/dist/unpkg/prod/reactive/-private.js +1 -0
- package/dist/unpkg/prod/reactive.js +129 -0
- package/dist/unpkg/prod/request-oqoLC9rz.js +725 -0
- package/dist/unpkg/prod/request.js +1 -0
- package/dist/unpkg/prod/store/-private.js +2 -0
- package/dist/unpkg/prod/store.js +1 -0
- package/dist/unpkg/prod/symbols-sql1_mdx.js +39 -0
- package/dist/unpkg/prod/types/-private.js +79 -0
- package/dist/unpkg/prod/types/cache/aliases.js +0 -0
- package/dist/unpkg/prod/types/cache/change.js +0 -0
- package/dist/unpkg/prod/types/cache/mutations.js +0 -0
- package/dist/unpkg/prod/types/cache/operations.js +0 -0
- package/dist/unpkg/prod/types/cache/relationship.js +0 -0
- package/dist/unpkg/prod/types/cache.js +0 -0
- package/dist/unpkg/prod/types/graph.js +0 -0
- package/dist/unpkg/prod/types/identifier.js +63 -0
- package/dist/unpkg/prod/types/json/raw.js +0 -0
- package/dist/unpkg/prod/types/params.js +0 -0
- package/dist/unpkg/prod/types/record.js +191 -0
- package/dist/unpkg/prod/types/request.js +77 -0
- package/dist/unpkg/prod/types/runtime.js +34 -0
- package/dist/unpkg/prod/types/schema/concepts.js +0 -0
- package/dist/unpkg/prod/types/schema/fields.js +505 -0
- package/dist/unpkg/prod/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/prod/types/schema/schema-service.js +0 -0
- package/dist/unpkg/prod/types/spec/document.js +0 -0
- package/dist/unpkg/prod/types/spec/error.js +0 -0
- package/dist/unpkg/prod/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/prod/types/symbols.js +84 -0
- package/dist/unpkg/prod/types/utils.js +0 -0
- package/dist/unpkg/prod/types.js +0 -0
- package/dist/unpkg/prod/utils/string.js +92 -0
- package/dist/unpkg/prod-deprecated/build-config/babel-macros.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/canary-features.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/debugging.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/deprecations.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/env.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/macros.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config.js +1 -0
- package/dist/unpkg/prod-deprecated/configure-C3x8YXzL.js +181 -0
- package/dist/unpkg/prod-deprecated/configure.js +1 -0
- package/dist/unpkg/prod-deprecated/declarations/build-config/babel-macros.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/build-config/canary-features.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/build-config/debugging.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/build-config/deprecations.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/build-config/env.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/build-config/macros.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/build-config.d.ts +18 -0
- package/dist/unpkg/prod-deprecated/declarations/configure.d.ts +7 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/-diff.d.ts +19 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/-edge-definition.d.ts +149 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/-state.d.ts +9 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/-utils.d.ts +25 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/coerce-id.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +6 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/edges/collection.d.ts +39 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/edges/implicit.d.ts +43 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/edges/resource.d.ts +23 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/graph.d.ts +56 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/normalize-link.d.ts +2 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/operations/add-to-related-records.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/operations/merge-identifier.d.ts +3 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/operations/remove-from-related-records.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/operations/replace-related-record.d.ts +3 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/operations/replace-related-records.d.ts +7 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private/operations/update-relationship.d.ts +9 -0
- package/dist/unpkg/prod-deprecated/declarations/graph/-private.d.ts +13 -0
- package/dist/unpkg/prod-deprecated/declarations/index.d.ts +100 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/default-mode.d.ts +73 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/document.d.ts +142 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/fields/extension.d.ts +8 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/fields/get-field-key.d.ts +8 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/fields/managed-array.d.ts +18 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/fields/managed-object.d.ts +17 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/fields/many-array-manager.d.ts +19 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/hooks.d.ts +5 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/alias-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/array-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/attribute-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/belongs-to-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/collection-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/derived-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/generic-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/has-many-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/hash-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/identity-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/local-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/object-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/resource-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/schema-array-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/kind/schema-object-field.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/record.d.ts +83 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/schema.d.ts +326 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private/symbols.d.ts +5 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive/-private.d.ts +2 -0
- package/dist/unpkg/prod-deprecated/declarations/reactive.d.ts +287 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/context.d.ts +39 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/debug.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/fetch.d.ts +33 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/future.d.ts +7 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/manager.d.ts +158 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/promise-cache.d.ts +28 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/types.d.ts +234 -0
- package/dist/unpkg/prod-deprecated/declarations/request/-private/utils.d.ts +57 -0
- package/dist/unpkg/prod-deprecated/declarations/request.d.ts +52 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/cache-handler/handler.d.ts +56 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/cache-handler/types.d.ts +98 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/cache-handler/utils.d.ts +31 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/caches/instance-cache.d.ts +58 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/caches/resource-utils.d.ts +9 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/debug/utils.d.ts +7 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/default-cache-policy.d.ts +387 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/managers/cache-capabilities-manager.d.ts +34 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/managers/cache-key-manager.d.ts +304 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/managers/cache-manager.d.ts +380 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/managers/notification-manager.d.ts +83 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/managers/record-array-manager.d.ts +100 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/network/request-cache.d.ts +103 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/new-core-tmp/expensive-subscription.d.ts +24 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/new-core-tmp/promise-state.d.ts +264 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +138 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +154 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +56 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/new-core-tmp/request-state.d.ts +372 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/new-core-tmp/request-subscription.d.ts +177 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/record-arrays/-utils.d.ts +80 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/record-arrays/legacy-live-array.d.ts +81 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/record-arrays/legacy-many-array.d.ts +133 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/record-arrays/legacy-query.d.ts +81 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +3 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/record-arrays/resource-array.d.ts +67 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/store-service.d.ts +874 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/utils/coerce-id.d.ts +4 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/utils/construct-resource.d.ts +6 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/utils/is-non-empty-string.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/utils/normalize-model-name.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private/utils/uuid-polyfill.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-private.d.ts +29 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-types/q/cache-capabilities-manager.d.ts +90 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-types/q/identifier.d.ts +23 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-types/q/record-instance.d.ts +22 -0
- package/dist/unpkg/prod-deprecated/declarations/store/-types/q/store.d.ts +31 -0
- package/dist/unpkg/prod-deprecated/declarations/store/deprecated/-private.d.ts +223 -0
- package/dist/unpkg/prod-deprecated/declarations/store/deprecated/store.d.ts +784 -0
- package/dist/unpkg/prod-deprecated/declarations/store.d.ts +2 -0
- package/dist/unpkg/prod-deprecated/declarations/types/-private.d.ts +22 -0
- package/dist/unpkg/prod-deprecated/declarations/types/cache/aliases.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/types/cache/change.d.ts +6 -0
- package/dist/unpkg/prod-deprecated/declarations/types/cache/mutations.d.ts +38 -0
- package/dist/unpkg/prod-deprecated/declarations/types/cache/operations.d.ts +168 -0
- package/dist/unpkg/prod-deprecated/declarations/types/cache/relationship.d.ts +13 -0
- package/dist/unpkg/prod-deprecated/declarations/types/cache.d.ts +429 -0
- package/dist/unpkg/prod-deprecated/declarations/types/graph.d.ts +47 -0
- package/dist/unpkg/prod-deprecated/declarations/types/identifier.d.ts +86 -0
- package/dist/unpkg/prod-deprecated/declarations/types/json/raw.d.ts +6 -0
- package/dist/unpkg/prod-deprecated/declarations/types/params.d.ts +8 -0
- package/dist/unpkg/prod-deprecated/declarations/types/record.d.ts +269 -0
- package/dist/unpkg/prod-deprecated/declarations/types/request.d.ts +367 -0
- package/dist/unpkg/prod-deprecated/declarations/types/runtime.d.ts +14 -0
- package/dist/unpkg/prod-deprecated/declarations/types/schema/concepts.d.ts +23 -0
- package/dist/unpkg/prod-deprecated/declarations/types/schema/fields.d.ts +2200 -0
- package/dist/unpkg/prod-deprecated/declarations/types/schema/fields.type-test.d.ts +1 -0
- package/dist/unpkg/prod-deprecated/declarations/types/schema/schema-service.d.ts +380 -0
- package/dist/unpkg/prod-deprecated/declarations/types/spec/document.d.ts +67 -0
- package/dist/unpkg/prod-deprecated/declarations/types/spec/error.d.ts +18 -0
- package/dist/unpkg/prod-deprecated/declarations/types/spec/json-api-raw.d.ts +139 -0
- package/dist/unpkg/prod-deprecated/declarations/types/symbols.d.ts +78 -0
- package/dist/unpkg/prod-deprecated/declarations/types/utils.d.ts +5 -0
- package/dist/unpkg/prod-deprecated/declarations/types.d.ts +11 -0
- package/dist/unpkg/prod-deprecated/declarations/utils/string.d.ts +47 -0
- package/dist/unpkg/prod-deprecated/default-cache-policy-D7_u4YRH.js +572 -0
- package/dist/unpkg/prod-deprecated/graph/-private.js +3374 -0
- package/dist/unpkg/prod-deprecated/index-D4si_DxB.js +11746 -0
- package/dist/unpkg/prod-deprecated/index.js +8 -0
- package/dist/unpkg/prod-deprecated/reactive/-private.js +1 -0
- package/dist/unpkg/prod-deprecated/reactive.js +129 -0
- package/dist/unpkg/prod-deprecated/request-oqoLC9rz.js +725 -0
- package/dist/unpkg/prod-deprecated/request.js +1 -0
- package/dist/unpkg/prod-deprecated/store/-private.js +2 -0
- package/dist/unpkg/prod-deprecated/store.js +1 -0
- package/dist/unpkg/prod-deprecated/symbols-sql1_mdx.js +39 -0
- package/dist/unpkg/prod-deprecated/types/-private.js +79 -0
- package/dist/unpkg/prod-deprecated/types/cache/aliases.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/change.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/mutations.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/operations.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/relationship.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache.js +0 -0
- package/dist/unpkg/prod-deprecated/types/graph.js +0 -0
- package/dist/unpkg/prod-deprecated/types/identifier.js +63 -0
- package/dist/unpkg/prod-deprecated/types/json/raw.js +0 -0
- package/dist/unpkg/prod-deprecated/types/params.js +0 -0
- package/dist/unpkg/prod-deprecated/types/record.js +191 -0
- package/dist/unpkg/prod-deprecated/types/request.js +77 -0
- package/dist/unpkg/prod-deprecated/types/runtime.js +34 -0
- package/dist/unpkg/prod-deprecated/types/schema/concepts.js +0 -0
- package/dist/unpkg/prod-deprecated/types/schema/fields.js +505 -0
- package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/prod-deprecated/types/schema/schema-service.js +0 -0
- package/dist/unpkg/prod-deprecated/types/spec/document.js +0 -0
- package/dist/unpkg/prod-deprecated/types/spec/error.js +0 -0
- package/dist/unpkg/prod-deprecated/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/prod-deprecated/types/symbols.js +84 -0
- package/dist/unpkg/prod-deprecated/types/utils.js +0 -0
- package/dist/unpkg/prod-deprecated/types.js +0 -0
- package/dist/unpkg/prod-deprecated/utils/string.js +92 -0
- package/logos/README.md +2 -2
- package/logos/logo-yellow-slab.svg +1 -0
- package/logos/word-mark-black.svg +1 -0
- package/logos/word-mark-white.svg +1 -0
- package/package.json +3 -3
- package/logos/NCC-1701-a-blue.svg +0 -4
- package/logos/NCC-1701-a-gold.svg +0 -4
- package/logos/NCC-1701-a-gold_100.svg +0 -1
- package/logos/NCC-1701-a-gold_base-64.txt +0 -1
- package/logos/NCC-1701-a.svg +0 -4
- package/logos/docs-badge.svg +0 -2
- package/logos/ember-data-logo-dark.svg +0 -12
- package/logos/ember-data-logo-light.svg +0 -12
- package/logos/social1.png +0 -0
- package/logos/social2.png +0 -0
- package/logos/warp-drive-logo-dark.svg +0 -4
- package/logos/warp-drive-logo-gold.svg +0 -4
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { ObjectContext, ResourceContext } from "./default-mode.js";
|
|
2
|
+
import { Checkout, Context } from "./symbols.js";
|
|
3
|
+
export interface ReactiveResource {
|
|
4
|
+
/**
|
|
5
|
+
* Create an editable copy of the record
|
|
6
|
+
*
|
|
7
|
+
* ReactiveResource instances are not editable by default. This method creates an editable copy of the record. To use,
|
|
8
|
+
* import the `Checkout` symbol from `@warp-drive/core/reactive` and call it on the record.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { Checkout } from '@warp-drive/core/reactive';
|
|
12
|
+
*
|
|
13
|
+
* const record = store.peekRecord('user', '1');
|
|
14
|
+
* const editableRecord = await record[Checkout]();
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @returns a promise that resolves to the editable record
|
|
18
|
+
* @throws if the record is already editable or if the record is embedded
|
|
19
|
+
* @private
|
|
20
|
+
*/
|
|
21
|
+
[Checkout]<T>(): Promise<T>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
export interface PrivateReactiveResource extends ReactiveResource {
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
[Context]: ObjectContext | ResourceContext;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A class that uses a the ResourceSchema for a ResourceType
|
|
34
|
+
* and a ResourceKey to transform data from the cache into a rich, reactive
|
|
35
|
+
* object.
|
|
36
|
+
*
|
|
37
|
+
* This class is not directly instantiable. To use it, you should
|
|
38
|
+
* configure the store's `instantiateRecord` and `teardownRecord` hooks
|
|
39
|
+
* with the matching hooks provided by this package.
|
|
40
|
+
*
|
|
41
|
+
* @hideconstructor
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export declare class ReactiveResource {
|
|
45
|
+
constructor(context: ResourceContext | ObjectContext);
|
|
46
|
+
}
|
|
47
|
+
export declare function _CHECKOUT(record: ReactiveResource): ReactiveResource;
|
|
48
|
+
/**
|
|
49
|
+
* Checkout an immutable resource for editing.
|
|
50
|
+
*
|
|
51
|
+
* {@link ReactiveResource | ReactiveResources} are not editable by default. This method
|
|
52
|
+
* creates an editable copy of the resource.
|
|
53
|
+
*
|
|
54
|
+
* This returns a promise which resolves with the editable
|
|
55
|
+
* version of the resource.
|
|
56
|
+
*
|
|
57
|
+
* ```ts
|
|
58
|
+
* import { checkout } from '@warp-drive/core/reactive';
|
|
59
|
+
*
|
|
60
|
+
* const immutable = store.peekRecord('user', '1');
|
|
61
|
+
* const editable = await checkout(immutable);
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* Edits to editable resources will be automatically committed if a new
|
|
65
|
+
* payload from the cache matches their existing value.
|
|
66
|
+
*
|
|
67
|
+
* @public
|
|
68
|
+
*
|
|
69
|
+
* @returns a promise that resolves to the editable resource
|
|
70
|
+
* @throws if the resource is already editable or if resource is an embedded object
|
|
71
|
+
*/
|
|
72
|
+
export declare function checkout<T>(resource: unknown): Promise<T & ReactiveResource>;
|
|
73
|
+
/**
|
|
74
|
+
* Forcibly commit all local changes on an editable resource to
|
|
75
|
+
* the remote (immutable) version.
|
|
76
|
+
*
|
|
77
|
+
* This API should only be used cautiously. Typically a better
|
|
78
|
+
* approach is for either the API or a Handler to reflect saved
|
|
79
|
+
* changes back to update the cache.
|
|
80
|
+
*
|
|
81
|
+
* @public
|
|
82
|
+
*/
|
|
83
|
+
export declare function commit(record: ReactiveResource): Promise<void>;
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import type { SchemaService as SchemaServiceInterface } from "../../types.js";
|
|
2
|
+
import type { ResourceKey } from "../../types/identifier.js";
|
|
3
|
+
import type { ObjectValue, Value } from "../../types/json/raw.js";
|
|
4
|
+
import type { Derivation, HashFn } from "../../types/schema/concepts.js";
|
|
5
|
+
import { type ArrayField, type CacheableFieldSchema, type DerivedField, type FieldSchema, type GenericField, type HashField, type IdentityField, type LegacyAttributeField, type LegacyRelationshipField, type ObjectField, type ObjectSchema, type PolarisResourceSchema, type ResourceSchema, type Trait } from "../../types/schema/fields.js";
|
|
6
|
+
import { Type } from "../../types/symbols.js";
|
|
7
|
+
import type { WithPartial } from "../../types/utils.js";
|
|
8
|
+
import type { ReactiveResource } from "./record.js";
|
|
9
|
+
/**
|
|
10
|
+
* Extensions allow providing non-schema driven behaviors to
|
|
11
|
+
* ReactiveResources, ReactiveArrays, and ReactiveObjects.
|
|
12
|
+
*
|
|
13
|
+
* This should only be used for temporary migration purposes
|
|
14
|
+
* to the new schema system when migrating from either Model
|
|
15
|
+
* or ModelFragments.
|
|
16
|
+
*/
|
|
17
|
+
export interface CAUTION_MEGA_DANGER_ZONE_Extension {
|
|
18
|
+
/**
|
|
19
|
+
* Whether this extension extends the behaviors of objects
|
|
20
|
+
* (both ReactiveObjects and ReactiveResources) or of arrays.
|
|
21
|
+
*/
|
|
22
|
+
kind: "object" | "array";
|
|
23
|
+
/**
|
|
24
|
+
* The name of the extension, to be used when specifying
|
|
25
|
+
* either `objectExtensions` or `arrayExtensions` on the
|
|
26
|
+
* field, ResourceSchema or ObjectSchema
|
|
27
|
+
*/
|
|
28
|
+
name: string;
|
|
29
|
+
/**
|
|
30
|
+
* An object with iterable keys whose values are the getters
|
|
31
|
+
* or methods to expose on the object or array.
|
|
32
|
+
*
|
|
33
|
+
* or
|
|
34
|
+
*
|
|
35
|
+
* A constructable such as a Function or Class whose prototype
|
|
36
|
+
* will be iterated with getOwnPropertyNames.
|
|
37
|
+
*
|
|
38
|
+
* Examples:
|
|
39
|
+
*
|
|
40
|
+
* **An Object with methods**
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* store.schema.CAUTION_MEGA_DANGER_ZONE_registerExtension({
|
|
44
|
+
* kind: 'object',
|
|
45
|
+
* name: 'do-thing-1',
|
|
46
|
+
* features: {
|
|
47
|
+
* doThingOne(this: { street: string }) {
|
|
48
|
+
* return `do-thing-1:${this.street}`;
|
|
49
|
+
* },
|
|
50
|
+
* doThingTwo(this: { street: string }) {
|
|
51
|
+
* return `do-thing-1:${this.street}`;
|
|
52
|
+
* },
|
|
53
|
+
* },
|
|
54
|
+
* });
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* **A class with getters, methods and decorated fields**
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* class Features {
|
|
61
|
+
* sayHello() {
|
|
62
|
+
* return 'hello!';
|
|
63
|
+
* }
|
|
64
|
+
*
|
|
65
|
+
* @tracked trackedField = 'initial tracked value';
|
|
66
|
+
*
|
|
67
|
+
* get realName() {
|
|
68
|
+
* const self = this as unknown as { name: string };
|
|
69
|
+
* return self.name;
|
|
70
|
+
* }
|
|
71
|
+
* set realName(v: string) {
|
|
72
|
+
* const self = this as unknown as { name: string };
|
|
73
|
+
* self.name = v;
|
|
74
|
+
* }
|
|
75
|
+
*
|
|
76
|
+
* get greeting() {
|
|
77
|
+
* const self = this as unknown as { name: string };
|
|
78
|
+
* return `hello ${self.name}!`;
|
|
79
|
+
* }
|
|
80
|
+
*
|
|
81
|
+
* @computed('name')
|
|
82
|
+
* get salutation() {
|
|
83
|
+
* const self = this as unknown as { name: string };
|
|
84
|
+
* return `salutations ${self.name}!`;
|
|
85
|
+
* }
|
|
86
|
+
*
|
|
87
|
+
* @cached
|
|
88
|
+
* get helloThere() {
|
|
89
|
+
* const self = this as unknown as { name: string };
|
|
90
|
+
* return `Well Hello There ${self.name}!`;
|
|
91
|
+
* }
|
|
92
|
+
* }
|
|
93
|
+
*
|
|
94
|
+
* // non-decorated fields dont appear on class prototypes as they are instance only
|
|
95
|
+
* // @ts-expect-error
|
|
96
|
+
* Features.prototype.untrackedField = 'initial untracked value';
|
|
97
|
+
*
|
|
98
|
+
* store.schema.CAUTION_MEGA_DANGER_ZONE_registerExtension({
|
|
99
|
+
* kind: 'object',
|
|
100
|
+
* name: 'my-ext',
|
|
101
|
+
* features: Features,
|
|
102
|
+
* });
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
*/
|
|
106
|
+
features: Record<string | symbol, unknown> | Function;
|
|
107
|
+
}
|
|
108
|
+
export type ExtensionDef = {
|
|
109
|
+
kind: "method";
|
|
110
|
+
fn: Function;
|
|
111
|
+
} | {
|
|
112
|
+
kind: "readonly-value";
|
|
113
|
+
value: unknown;
|
|
114
|
+
} | {
|
|
115
|
+
kind: "mutable-value";
|
|
116
|
+
value: unknown;
|
|
117
|
+
} | {
|
|
118
|
+
kind: "readonly-field";
|
|
119
|
+
get: () => unknown;
|
|
120
|
+
} | {
|
|
121
|
+
kind: "mutable-field";
|
|
122
|
+
get: () => unknown;
|
|
123
|
+
set: (value: unknown) => void;
|
|
124
|
+
} | {
|
|
125
|
+
kind: "writeonly-field";
|
|
126
|
+
set: (value: unknown) => void;
|
|
127
|
+
};
|
|
128
|
+
export interface ProcessedExtension {
|
|
129
|
+
kind: "object" | "array";
|
|
130
|
+
name: string;
|
|
131
|
+
features: Map<string | symbol, ExtensionDef>;
|
|
132
|
+
}
|
|
133
|
+
export interface ExtensibleField {
|
|
134
|
+
kind: "schema-object" | "schema-array" | "array" | "object" | "hasMany";
|
|
135
|
+
options?: {
|
|
136
|
+
objectExtensions?: string[];
|
|
137
|
+
arrayExtensions?: string[];
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Utility for constructing a ResourceSchema with the recommended
|
|
142
|
+
* fields for the PolarisMode experience.
|
|
143
|
+
*
|
|
144
|
+
* Using this requires registering the PolarisMode derivations
|
|
145
|
+
*
|
|
146
|
+
* ```ts
|
|
147
|
+
* import { registerDerivations } from '@warp-drive/schema-record';
|
|
148
|
+
*
|
|
149
|
+
* registerDerivations(schema);
|
|
150
|
+
* ```
|
|
151
|
+
*
|
|
152
|
+
* @public
|
|
153
|
+
* @param schema
|
|
154
|
+
* @return {PolarisResourceSchema}
|
|
155
|
+
*/
|
|
156
|
+
export declare function withDefaults(schema: WithPartial<PolarisResourceSchema, "identity">): PolarisResourceSchema;
|
|
157
|
+
interface FromIdentityDerivation {
|
|
158
|
+
(record: ReactiveResource, options: {
|
|
159
|
+
key: "lid";
|
|
160
|
+
} | {
|
|
161
|
+
key: "type";
|
|
162
|
+
}, key: string): string;
|
|
163
|
+
(record: ReactiveResource, options: {
|
|
164
|
+
key: "id";
|
|
165
|
+
}, key: string): string | null;
|
|
166
|
+
(record: ReactiveResource, options: {
|
|
167
|
+
key: "^";
|
|
168
|
+
}, key: string): ResourceKey;
|
|
169
|
+
(record: ReactiveResource, options: null, key: string): asserts options;
|
|
170
|
+
(record: ReactiveResource, options: {
|
|
171
|
+
key: "id" | "lid" | "type" | "^";
|
|
172
|
+
} | null, key: string): ResourceKey | string | null;
|
|
173
|
+
[Type]: "@identity";
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* A derivation that computes its value from the
|
|
177
|
+
* record's identity.
|
|
178
|
+
*
|
|
179
|
+
* It can be used via a derived field definition like:
|
|
180
|
+
*
|
|
181
|
+
* ```ts
|
|
182
|
+
* {
|
|
183
|
+
* kind: 'derived',
|
|
184
|
+
* name: 'id',
|
|
185
|
+
* type: '@identity',
|
|
186
|
+
* options: { key: 'id' }
|
|
187
|
+
* }
|
|
188
|
+
* ```
|
|
189
|
+
*
|
|
190
|
+
* Valid keys are `'id'`, `'lid'`, `'type'`, and `'^'`.
|
|
191
|
+
*
|
|
192
|
+
* `^` returns the entire identifier object.
|
|
193
|
+
*
|
|
194
|
+
* @public
|
|
195
|
+
*/
|
|
196
|
+
export declare const fromIdentity: FromIdentityDerivation;
|
|
197
|
+
/**
|
|
198
|
+
* Registers the default derivations for records that want
|
|
199
|
+
* to use the PolarisMode defaults provided by
|
|
200
|
+
*
|
|
201
|
+
* ```ts
|
|
202
|
+
* import { withDefaults } from '@warp-drive/schema-record';
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* @public
|
|
206
|
+
*/
|
|
207
|
+
export declare function registerDerivations(schema: SchemaServiceInterface): void;
|
|
208
|
+
interface InternalSchema {
|
|
209
|
+
original: ResourceSchema | ObjectSchema;
|
|
210
|
+
finalized: boolean;
|
|
211
|
+
traits: Set<string>;
|
|
212
|
+
fields: Map<string, FieldSchema>;
|
|
213
|
+
cacheFields: Map<string, Exclude<CacheableFieldSchema, IdentityField>>;
|
|
214
|
+
attributes: Record<string, LegacyAttributeField>;
|
|
215
|
+
relationships: Record<string, LegacyRelationshipField>;
|
|
216
|
+
}
|
|
217
|
+
export type Transformation<
|
|
218
|
+
T extends Value = Value,
|
|
219
|
+
PT = unknown
|
|
220
|
+
> = {
|
|
221
|
+
serialize(value: PT, options: Record<string, unknown> | null, record: ReactiveResource): T;
|
|
222
|
+
hydrate(value: T | undefined, options: Record<string, unknown> | null, record: ReactiveResource): PT;
|
|
223
|
+
defaultValue?(options: Record<string, unknown> | null, identifier: ResourceKey): T;
|
|
224
|
+
[Type]: string;
|
|
225
|
+
};
|
|
226
|
+
export interface SchemaService {
|
|
227
|
+
doesTypeExist(type: string): boolean;
|
|
228
|
+
attributesDefinitionFor(identifier: {
|
|
229
|
+
type: string;
|
|
230
|
+
}): InternalSchema["attributes"];
|
|
231
|
+
relationshipsDefinitionFor(identifier: {
|
|
232
|
+
type: string;
|
|
233
|
+
}): InternalSchema["relationships"];
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* A SchemaService designed to work with dynamically registered schemas.
|
|
237
|
+
*
|
|
238
|
+
* @public
|
|
239
|
+
*/
|
|
240
|
+
export declare class SchemaService implements SchemaServiceInterface {
|
|
241
|
+
constructor();
|
|
242
|
+
resourceTypes(): Readonly<string[]>;
|
|
243
|
+
hasTrait(type: string): boolean;
|
|
244
|
+
resourceHasTrait(resource: ResourceKey | {
|
|
245
|
+
type: string;
|
|
246
|
+
}, trait: string): boolean;
|
|
247
|
+
transformation(field: GenericField | ObjectField | ArrayField | {
|
|
248
|
+
type: string;
|
|
249
|
+
}): Transformation;
|
|
250
|
+
derivation(field: DerivedField | {
|
|
251
|
+
type: string;
|
|
252
|
+
}): Derivation;
|
|
253
|
+
hashFn(field: HashField | {
|
|
254
|
+
type: string;
|
|
255
|
+
}): HashFn;
|
|
256
|
+
resource(resource: ResourceKey | {
|
|
257
|
+
type: string;
|
|
258
|
+
}): ResourceSchema | ObjectSchema;
|
|
259
|
+
registerResources(schemas: Array<ResourceSchema | ObjectSchema>): void;
|
|
260
|
+
registerResource(schema: ResourceSchema | ObjectSchema): void;
|
|
261
|
+
/**
|
|
262
|
+
* Registers a {@link Trait} for use by resource schemas.
|
|
263
|
+
*
|
|
264
|
+
* Traits are re-usable collections of fields that can be composed to
|
|
265
|
+
* build up a resource schema. Often they represent polymorphic behaviors
|
|
266
|
+
* a resource should exhibit.
|
|
267
|
+
*
|
|
268
|
+
* When we finalize a resource, we walk its traits and apply their fields
|
|
269
|
+
* to the resource's fields. All specified traits must be registered by
|
|
270
|
+
* this time or an error will be thrown.
|
|
271
|
+
*
|
|
272
|
+
* Traits are applied left-to-right, with traits of traits being applied in the same
|
|
273
|
+
* way. Thus for the most part, application of traits is a post-order graph traversal
|
|
274
|
+
* problem.
|
|
275
|
+
*
|
|
276
|
+
* A trait is only ever processed once. If multiple traits (A, B, C) have the same
|
|
277
|
+
* trait (D) as a dependency, D will be included only once when first encountered by
|
|
278
|
+
* A.
|
|
279
|
+
*
|
|
280
|
+
* If a cycle exists such that trait A has trait B which has Trait A, trait A will
|
|
281
|
+
* be applied *after* trait B in production. In development a cycle error will be thrown.
|
|
282
|
+
*
|
|
283
|
+
* Fields are finalized on a "last wins principle". Thus traits appearing higher in
|
|
284
|
+
* the tree and further to the right of a traits array take precedence, with the
|
|
285
|
+
* resource's fields always being applied last and winning out.
|
|
286
|
+
*
|
|
287
|
+
* @public
|
|
288
|
+
*/
|
|
289
|
+
registerTrait(trait: Trait): void;
|
|
290
|
+
registerTransformation<
|
|
291
|
+
T extends Value = string,
|
|
292
|
+
PT = unknown
|
|
293
|
+
>(transformation: Transformation<T, PT>): void;
|
|
294
|
+
registerDerivation<
|
|
295
|
+
R,
|
|
296
|
+
T,
|
|
297
|
+
FM extends ObjectValue | null
|
|
298
|
+
>(derivation: Derivation<R, T, FM>): void;
|
|
299
|
+
CAUTION_MEGA_DANGER_ZONE_registerExtension(extension: CAUTION_MEGA_DANGER_ZONE_Extension): void;
|
|
300
|
+
CAUTION_MEGA_DANGER_ZONE_resourceExtensions(resource: ResourceKey | {
|
|
301
|
+
type: string;
|
|
302
|
+
}): null | ProcessedExtension["features"];
|
|
303
|
+
CAUTION_MEGA_DANGER_ZONE_objectExtensions(field: ExtensibleField, resolvedType: string | null): null | ProcessedExtension["features"];
|
|
304
|
+
CAUTION_MEGA_DANGER_ZONE_arrayExtensions(field: ExtensibleField): null | ProcessedExtension["features"];
|
|
305
|
+
CAUTION_MEGA_DANGER_ZONE_hasExtension(ext: {
|
|
306
|
+
kind: "object" | "array";
|
|
307
|
+
name: string;
|
|
308
|
+
}): boolean;
|
|
309
|
+
/**
|
|
310
|
+
* Registers a {@link HashFn} for use with a {@link HashField} for
|
|
311
|
+
* either {@link ObjectSchema} identity or polymorphic type calculation.
|
|
312
|
+
*
|
|
313
|
+
* @public
|
|
314
|
+
*/
|
|
315
|
+
registerHashFn<T extends object>(hashFn: HashFn<T>): void;
|
|
316
|
+
fields({ type }: {
|
|
317
|
+
type: string;
|
|
318
|
+
}): InternalSchema["fields"];
|
|
319
|
+
cacheFields({ type }: {
|
|
320
|
+
type: string;
|
|
321
|
+
}): InternalSchema["cacheFields"];
|
|
322
|
+
hasResource(resource: {
|
|
323
|
+
type: string;
|
|
324
|
+
}): boolean;
|
|
325
|
+
}
|
|
326
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const SOURCE: "___(unique) Symbol(SOURCE)";
|
|
2
|
+
export declare const Destroy: "___(unique) Symbol(Destroy)";
|
|
3
|
+
export declare const Checkout: "___(unique) Symbol(Checkout)";
|
|
4
|
+
export declare const Commit: "___(unique) Symbol(Commit)";
|
|
5
|
+
export declare const Context: "___(unique) Symbol(Context)";
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* # About
|
|
3
|
+
*
|
|
4
|
+
* This module provides an implementation of reactive objects that a Store may use for creating
|
|
5
|
+
* reactive representations of the raw data for requests, resources and their relationships
|
|
6
|
+
* stored in the cache.
|
|
7
|
+
*
|
|
8
|
+
* - For configuring the store to use these reactive objects, see [The Setup Guide](/guides/configuration/)
|
|
9
|
+
* - For defining resource schemas, see [The Schema Guide](/guides/the-manual/schemas/)
|
|
10
|
+
*
|
|
11
|
+
* Any method that returns a record instance will use the `instantiateRecord`
|
|
12
|
+
* hook configured above to instantiate a ReactiveResource once this is in place.
|
|
13
|
+
* After that, its up to you what ReactiveResource can do.
|
|
14
|
+
*
|
|
15
|
+
* ## Modes
|
|
16
|
+
*
|
|
17
|
+
* ReactiveResource has two modes: `legacy` and `polaris`.
|
|
18
|
+
*
|
|
19
|
+
* **LegacyMode** can be used to emulate the behaviors and capabilities of WarpDrive's `Model` class,
|
|
20
|
+
* and because there is little distinction between Model and a ReactiveResource in LegacyMode we refer
|
|
21
|
+
* to both of these approaches as LegacyMode. This mode is the default experience in V5.
|
|
22
|
+
*
|
|
23
|
+
* In LegacyMode:
|
|
24
|
+
*
|
|
25
|
+
* - records are mutable
|
|
26
|
+
* - local changes immediately reflect app wide
|
|
27
|
+
* - records have all the APIs of Model (references, state props, currentState, methods etc)
|
|
28
|
+
* - the continued use of `@warp-drive/legacy` is required (though most imports from it can be removed)
|
|
29
|
+
* - `async: true` relationships are supported (but not recommended outside of [LinksMode](/guides/the-manual/misc/links-mode.md))
|
|
30
|
+
*
|
|
31
|
+
* ---
|
|
32
|
+
*
|
|
33
|
+
* **PolarisMode** is an upcoming suite of features that will become the default experience in V6.
|
|
34
|
+
*
|
|
35
|
+
* In PolarisMode:
|
|
36
|
+
*
|
|
37
|
+
* - records are immutable, unless creating a new resource or explicitly checking out a record for editing
|
|
38
|
+
* - local changes are isolated until committed, displaying only via the editable version of the record
|
|
39
|
+
* - records have a more limited API, focused on only what is in their schema.
|
|
40
|
+
* - some common operations may have more friction to perform because intended utilities are not yet available
|
|
41
|
+
* - `async: true` relationships are not supported (see [LinksMode](/guides/the-manual/misc/links-mode.md))
|
|
42
|
+
* - The `@warp-drive/legacy` package is not required
|
|
43
|
+
*
|
|
44
|
+
* These modes are interopable. The reactive object (record) for a resource in PolarisMode can relate to
|
|
45
|
+
* a record in LegacyMode and vice-versa. This interopability is true whether the record in LegacyMode is
|
|
46
|
+
* a ReactiveResource or a Model.
|
|
47
|
+
*
|
|
48
|
+
* ---
|
|
49
|
+
*
|
|
50
|
+
* ## Basic Usage
|
|
51
|
+
*
|
|
52
|
+
* ReactiveResource is a reactive object that transforms raw data from an associated
|
|
53
|
+
* cache into reactive data backed by Signals.
|
|
54
|
+
*
|
|
55
|
+
* The shape of the object and the transformation of raw cache data into its
|
|
56
|
+
* reactive form is controlled by a resource schema.
|
|
57
|
+
*
|
|
58
|
+
* For instance, lets say your API is a [{json:api}](https://jsonapi.org) and your store is using
|
|
59
|
+
* the Cache provided by {@link @warp-drive/json-api! | @warp-drive/json-api}, and a request
|
|
60
|
+
* returns the following raw data:
|
|
61
|
+
*
|
|
62
|
+
* ```ts
|
|
63
|
+
* {
|
|
64
|
+
* data: {
|
|
65
|
+
* type: 'user',
|
|
66
|
+
* id: '1',
|
|
67
|
+
* attributes: { firstName: 'Chris', lastName: 'Thoburn' },
|
|
68
|
+
* relationships: { pets: { data: [{ type: 'dog', id: '1' }] }}
|
|
69
|
+
* },
|
|
70
|
+
* included: [
|
|
71
|
+
* {
|
|
72
|
+
* type: 'dog',
|
|
73
|
+
* id: '1',
|
|
74
|
+
* attributes: { name: 'Rey' },
|
|
75
|
+
* relationships: { owner: { data: { type: 'user', id: '1' }}}
|
|
76
|
+
* }
|
|
77
|
+
* ]
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* We could describe the `'user'` and `'dog'` resources in the above payload
|
|
82
|
+
* with the following schemas:
|
|
83
|
+
*
|
|
84
|
+
* ```ts
|
|
85
|
+
* store.schema.registerResources([
|
|
86
|
+
* {
|
|
87
|
+
* type: 'user',
|
|
88
|
+
* identity: { type: '@id', name: 'id' },
|
|
89
|
+
* fields: [
|
|
90
|
+
* {
|
|
91
|
+
* type: '@identity',
|
|
92
|
+
* name: '$type',
|
|
93
|
+
* kind: 'derived',
|
|
94
|
+
* options: { key: 'type' },
|
|
95
|
+
* },
|
|
96
|
+
* { kind: 'field', name: 'firstName' },
|
|
97
|
+
* { kind: 'field', name: 'lastName' },
|
|
98
|
+
* {
|
|
99
|
+
* kind: 'derived',
|
|
100
|
+
* name: 'name',
|
|
101
|
+
* type: 'concat',
|
|
102
|
+
* options: { fields: ['firstName', 'lastName'], separator: ' ' }
|
|
103
|
+
* },
|
|
104
|
+
* {
|
|
105
|
+
* kind: 'hasMany',
|
|
106
|
+
* name: 'pets',
|
|
107
|
+
* type: 'pet',
|
|
108
|
+
* options: {
|
|
109
|
+
* async: false,
|
|
110
|
+
* inverse: 'owner',
|
|
111
|
+
* polymorphic: true,
|
|
112
|
+
* linksMode: true,
|
|
113
|
+
* }
|
|
114
|
+
* }
|
|
115
|
+
* ]
|
|
116
|
+
* },
|
|
117
|
+
* {
|
|
118
|
+
* type: 'dog',
|
|
119
|
+
* identity: { type: '@id', name: 'id' },
|
|
120
|
+
* fields: [
|
|
121
|
+
* {
|
|
122
|
+
* type: '@identity',
|
|
123
|
+
* name: '$type',
|
|
124
|
+
* kind: 'derived',
|
|
125
|
+
* options: { key: 'type' },
|
|
126
|
+
* },
|
|
127
|
+
* { kind: 'field', name: 'name' },
|
|
128
|
+
* {
|
|
129
|
+
* kind: 'belongsTo',
|
|
130
|
+
* name: 'owner',
|
|
131
|
+
* type: 'user',
|
|
132
|
+
* options: {
|
|
133
|
+
* async: false,
|
|
134
|
+
* inverse: 'pets',
|
|
135
|
+
* as: 'pet',
|
|
136
|
+
* linksMode: true,
|
|
137
|
+
* }
|
|
138
|
+
* }
|
|
139
|
+
* ]
|
|
140
|
+
* }
|
|
141
|
+
* ]);
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* With these schemas in place, the reactive objects that the store would
|
|
145
|
+
* provide us whenever we encountered a `'user'` or a `'dog'` would be:
|
|
146
|
+
*
|
|
147
|
+
* ```ts
|
|
148
|
+
* interface Pet {
|
|
149
|
+
* readonly id: string;
|
|
150
|
+
* readonly owner: User;
|
|
151
|
+
* }
|
|
152
|
+
*
|
|
153
|
+
* interface Dog extends Pet {
|
|
154
|
+
* readonly $type: 'dog';
|
|
155
|
+
* readonly name: string;
|
|
156
|
+
* }
|
|
157
|
+
*
|
|
158
|
+
* interface EditableUser {
|
|
159
|
+
* readonly $type: 'user';
|
|
160
|
+
* readonly id: string;
|
|
161
|
+
* firstName: string;
|
|
162
|
+
* lastName: string;
|
|
163
|
+
* readonly name: string;
|
|
164
|
+
* pets: Array<Dog | Pet>;
|
|
165
|
+
* }
|
|
166
|
+
*
|
|
167
|
+
* interface User {
|
|
168
|
+
* readonly $type: 'user';
|
|
169
|
+
* readonly id: string;
|
|
170
|
+
* readonly firstName: string;
|
|
171
|
+
* readonly lastName: string;
|
|
172
|
+
* readonly name: string;
|
|
173
|
+
* readonly pets: Readonly<Array<Dog | Pet>>;
|
|
174
|
+
* [Checkout](): Promise<EditableUser>
|
|
175
|
+
* }>
|
|
176
|
+
* ```
|
|
177
|
+
*
|
|
178
|
+
* Note how based on the schema the reactive object we receive is able to produce
|
|
179
|
+
* `name` on user (despite no name field being in the cache), provide `$type`
|
|
180
|
+
* pulled from the identity of the resource, and flatten the individual attributes
|
|
181
|
+
* and relationships onto the record for easier use.
|
|
182
|
+
*
|
|
183
|
+
* Notice also how we typed this object with `readonly`. This is because while
|
|
184
|
+
* ReactiveResource instances are ***deeply reactive***, they are also ***immutable***.
|
|
185
|
+
*
|
|
186
|
+
* We can mutate a ReactiveResource only be explicitly asking permission to do so, and
|
|
187
|
+
* in the process gaining access to an editable copy. The immutable version will
|
|
188
|
+
* not show any in-process edits made to this editable copy.
|
|
189
|
+
*
|
|
190
|
+
* ```ts
|
|
191
|
+
* import { Checkout } from '@warp-drive/schema-record';
|
|
192
|
+
*
|
|
193
|
+
* const editable = await user[Checkout]();
|
|
194
|
+
* ```
|
|
195
|
+
*
|
|
196
|
+
* ## Utilities
|
|
197
|
+
*
|
|
198
|
+
* ReactiveResource provides a schema builder that simplifies setting up a couple of
|
|
199
|
+
* conventional fields like identity and `$type`. We can rewrite the schema
|
|
200
|
+
* definition above using this utility like so:
|
|
201
|
+
*
|
|
202
|
+
* ```ts
|
|
203
|
+
* import { withDefaults } from '@warp-drive/core/reactive';
|
|
204
|
+
*
|
|
205
|
+
* store.schema.registerResources([
|
|
206
|
+
* withDefaults({
|
|
207
|
+
* type: 'user',
|
|
208
|
+
* fields: [
|
|
209
|
+
* { kind: 'field', name: 'firstName' },
|
|
210
|
+
* { kind: 'field', name: 'lastName' },
|
|
211
|
+
* {
|
|
212
|
+
* kind: 'derived',
|
|
213
|
+
* name: 'name',
|
|
214
|
+
* type: 'concat',
|
|
215
|
+
* options: { fields: ['firstName', 'lastName'], separator: ' ' }
|
|
216
|
+
* },
|
|
217
|
+
* {
|
|
218
|
+
* kind: 'hasMany',
|
|
219
|
+
* name: 'pets',
|
|
220
|
+
* type: 'pet',
|
|
221
|
+
* options: {
|
|
222
|
+
* async: false,
|
|
223
|
+
* inverse: 'owner',
|
|
224
|
+
* polymorphic: true,
|
|
225
|
+
* linksMode: true,
|
|
226
|
+
* resetOnRemoteUpdate: false,
|
|
227
|
+
* }
|
|
228
|
+
* }
|
|
229
|
+
* ]
|
|
230
|
+
* }),
|
|
231
|
+
* withDefaults({
|
|
232
|
+
* type: 'dog',
|
|
233
|
+
* fields: [
|
|
234
|
+
* { kind: 'field', name: 'name' },
|
|
235
|
+
* {
|
|
236
|
+
* kind: 'belongsTo',
|
|
237
|
+
* name: 'owner',
|
|
238
|
+
* type: 'user',
|
|
239
|
+
* options: {
|
|
240
|
+
* async: false,
|
|
241
|
+
* inverse: 'pets',
|
|
242
|
+
* as: 'pet',
|
|
243
|
+
* linksMode: true,
|
|
244
|
+
* resetOnRemoteUpdate: false,
|
|
245
|
+
* }
|
|
246
|
+
* }
|
|
247
|
+
* ]
|
|
248
|
+
* })
|
|
249
|
+
* ]);
|
|
250
|
+
* ```
|
|
251
|
+
*
|
|
252
|
+
* ## Type Support
|
|
253
|
+
*
|
|
254
|
+
* ### Resource Schemas
|
|
255
|
+
*
|
|
256
|
+
* - {@link PolarisResourceSchema}
|
|
257
|
+
* - {@link LegacyResourceSchema}
|
|
258
|
+
* - {@link ObjectSchema}
|
|
259
|
+
*
|
|
260
|
+
* ### Resource Schema Type Utils
|
|
261
|
+
*
|
|
262
|
+
* - {@link resourceSchema}
|
|
263
|
+
* - {@link objectSchema}
|
|
264
|
+
* - {@link isResourceSchema}
|
|
265
|
+
* - {@link isLegacyResourceSchema}
|
|
266
|
+
*
|
|
267
|
+
* ### Field Schemas
|
|
268
|
+
*
|
|
269
|
+
* - {@link LegacyModeFieldSchema}
|
|
270
|
+
* - {@link PolarisModeFieldSchema}
|
|
271
|
+
*
|
|
272
|
+
* @module
|
|
273
|
+
*/
|
|
274
|
+
import { checkout } from "./reactive/-private/record.js";
|
|
275
|
+
export { instantiateRecord, teardownRecord } from "./reactive/-private/hooks.js";
|
|
276
|
+
export { type CAUTION_MEGA_DANGER_ZONE_Extension, type ProcessedExtension, type ExtensionDef, type Transformation, SchemaService, withDefaults, fromIdentity, registerDerivations } from "./reactive/-private/schema.js";
|
|
277
|
+
export { commit, type ReactiveResource } from "./reactive/-private/record.js";
|
|
278
|
+
export { checkout };
|
|
279
|
+
export { Checkout } from "./reactive/-private/symbols.js";
|
|
280
|
+
export { type ReactiveDocument, type ReactiveDataDocument, type ReactiveErrorDocument } from "./reactive/-private/document.js";
|
|
281
|
+
export { getExpensiveRequestSubscription } from "./store/-private/new-core-tmp/expensive-subscription.js";
|
|
282
|
+
export { createRequestSubscription, getRequestState, type RequestState } from "./store/-private.js";
|
|
283
|
+
export { getPromiseState, type PromiseState, type ResolvedPromise, type RejectedPromise, type PendingPromise } from "./store/-private/new-core-tmp/promise-state.js";
|
|
284
|
+
export type { LegacyLiveArray } from "./store/-private/record-arrays/legacy-live-array.js";
|
|
285
|
+
export type { LegacyManyArray } from "./store/-private/record-arrays/legacy-many-array.js";
|
|
286
|
+
export type { LegacyQueryArray } from "./store/-private/record-arrays/legacy-query.js";
|
|
287
|
+
export type { ReactiveResourceArray } from "./store/-private/record-arrays/resource-array.js";
|