@warp-drive/core 5.6.0-alpha.11
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/CHANGELOG.md +1 -0
- package/LICENSE.md +23 -0
- package/README.md +70 -0
- package/addon-main.cjs +5 -0
- package/cjs-dist/addon-shim.cjs +1 -0
- package/cjs-dist/cjs-set-config.cjs +1 -0
- package/declarations/build-config/babel-macros.d.ts +2 -0
- package/declarations/build-config/babel-macros.d.ts.map +1 -0
- package/declarations/build-config/canary-features.d.ts +2 -0
- package/declarations/build-config/canary-features.d.ts.map +1 -0
- package/declarations/build-config/debugging.d.ts +2 -0
- package/declarations/build-config/debugging.d.ts.map +1 -0
- package/declarations/build-config/deprecations.d.ts +2 -0
- package/declarations/build-config/deprecations.d.ts.map +1 -0
- package/declarations/build-config/env.d.ts +2 -0
- package/declarations/build-config/env.d.ts.map +1 -0
- package/declarations/build-config/macros.d.ts +2 -0
- package/declarations/build-config/macros.d.ts.map +1 -0
- package/declarations/build-config.d.ts +2 -0
- package/declarations/build-config.d.ts.map +1 -0
- package/declarations/configure.d.ts +8 -0
- package/declarations/configure.d.ts.map +1 -0
- package/declarations/graph/-private/-diff.d.ts +33 -0
- package/declarations/graph/-private/-diff.d.ts.map +1 -0
- package/declarations/graph/-private/-edge-definition.d.ts +149 -0
- package/declarations/graph/-private/-edge-definition.d.ts.map +1 -0
- package/declarations/graph/-private/-state.d.ts +10 -0
- package/declarations/graph/-private/-state.d.ts.map +1 -0
- package/declarations/graph/-private/-utils.d.ts +26 -0
- package/declarations/graph/-private/-utils.d.ts.map +1 -0
- package/declarations/graph/-private/coerce-id.d.ts +5 -0
- package/declarations/graph/-private/coerce-id.d.ts.map +1 -0
- package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +7 -0
- package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts.map +1 -0
- package/declarations/graph/-private/edges/collection.d.ts +40 -0
- package/declarations/graph/-private/edges/collection.d.ts.map +1 -0
- package/declarations/graph/-private/edges/implicit.d.ts +14 -0
- package/declarations/graph/-private/edges/implicit.d.ts.map +1 -0
- package/declarations/graph/-private/edges/resource.d.ts +25 -0
- package/declarations/graph/-private/edges/resource.d.ts.map +1 -0
- package/declarations/graph/-private/graph.d.ts +55 -0
- package/declarations/graph/-private/graph.d.ts.map +1 -0
- package/declarations/graph/-private/normalize-link.d.ts +3 -0
- package/declarations/graph/-private/normalize-link.d.ts.map +1 -0
- package/declarations/graph/-private/operations/add-to-related-records.d.ts +5 -0
- package/declarations/graph/-private/operations/add-to-related-records.d.ts.map +1 -0
- package/declarations/graph/-private/operations/merge-identifier.d.ts +4 -0
- package/declarations/graph/-private/operations/merge-identifier.d.ts.map +1 -0
- package/declarations/graph/-private/operations/remove-from-related-records.d.ts +5 -0
- package/declarations/graph/-private/operations/remove-from-related-records.d.ts.map +1 -0
- package/declarations/graph/-private/operations/replace-related-record.d.ts +4 -0
- package/declarations/graph/-private/operations/replace-related-record.d.ts.map +1 -0
- package/declarations/graph/-private/operations/replace-related-records.d.ts +8 -0
- package/declarations/graph/-private/operations/replace-related-records.d.ts.map +1 -0
- package/declarations/graph/-private/operations/update-relationship.d.ts +11 -0
- package/declarations/graph/-private/operations/update-relationship.d.ts.map +1 -0
- package/declarations/graph/-private.d.ts +14 -0
- package/declarations/graph/-private.d.ts.map +1 -0
- package/declarations/index.d.ts +15 -0
- package/declarations/index.d.ts.map +1 -0
- package/declarations/reactive/-private/document.d.ts +147 -0
- package/declarations/reactive/-private/document.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/compute.d.ts +40 -0
- package/declarations/reactive/-private/fields/compute.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/managed-array.d.ts +23 -0
- package/declarations/reactive/-private/fields/managed-array.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/managed-object.d.ts +21 -0
- package/declarations/reactive/-private/fields/managed-object.d.ts.map +1 -0
- package/declarations/reactive/-private/fields/many-array-manager.d.ts +20 -0
- package/declarations/reactive/-private/fields/many-array-manager.d.ts.map +1 -0
- package/declarations/reactive/-private/hooks.d.ts +6 -0
- package/declarations/reactive/-private/hooks.d.ts.map +1 -0
- package/declarations/reactive/-private/record.d.ts +61 -0
- package/declarations/reactive/-private/record.d.ts.map +1 -0
- package/declarations/reactive/-private/schema.d.ts +180 -0
- package/declarations/reactive/-private/schema.d.ts.map +1 -0
- package/declarations/reactive/-private/symbols.d.ts +11 -0
- package/declarations/reactive/-private/symbols.d.ts.map +1 -0
- package/declarations/reactive/-private.d.ts +2 -0
- package/declarations/reactive/-private.d.ts.map +1 -0
- package/declarations/reactive.d.ts +5 -0
- package/declarations/reactive.d.ts.map +1 -0
- package/declarations/request/-private/context.d.ts +42 -0
- package/declarations/request/-private/context.d.ts.map +1 -0
- package/declarations/request/-private/debug.d.ts +5 -0
- package/declarations/request/-private/debug.d.ts.map +1 -0
- package/declarations/request/-private/fetch.d.ts +40 -0
- package/declarations/request/-private/fetch.d.ts.map +1 -0
- package/declarations/request/-private/future.d.ts +8 -0
- package/declarations/request/-private/future.d.ts.map +1 -0
- package/declarations/request/-private/manager.d.ts +160 -0
- package/declarations/request/-private/manager.d.ts.map +1 -0
- package/declarations/request/-private/promise-cache.d.ts +20 -0
- package/declarations/request/-private/promise-cache.d.ts.map +1 -0
- package/declarations/request/-private/types.d.ts +236 -0
- package/declarations/request/-private/types.d.ts.map +1 -0
- package/declarations/request/-private/utils.d.ts +16 -0
- package/declarations/request/-private/utils.d.ts.map +1 -0
- package/declarations/request.d.ts +6 -0
- package/declarations/request.d.ts.map +1 -0
- package/declarations/store/-private/cache-handler/handler.d.ts +57 -0
- package/declarations/store/-private/cache-handler/handler.d.ts.map +1 -0
- package/declarations/store/-private/cache-handler/types.d.ts +99 -0
- package/declarations/store/-private/cache-handler/types.d.ts.map +1 -0
- package/declarations/store/-private/cache-handler/utils.d.ts +32 -0
- package/declarations/store/-private/cache-handler/utils.d.ts.map +1 -0
- package/declarations/store/-private/caches/cache-utils.d.ts +9 -0
- package/declarations/store/-private/caches/cache-utils.d.ts.map +1 -0
- package/declarations/store/-private/caches/identifier-cache.d.ts +316 -0
- package/declarations/store/-private/caches/identifier-cache.d.ts.map +1 -0
- package/declarations/store/-private/caches/instance-cache.d.ts +65 -0
- package/declarations/store/-private/caches/instance-cache.d.ts.map +1 -0
- package/declarations/store/-private/caches/resource-utils.d.ts +10 -0
- package/declarations/store/-private/caches/resource-utils.d.ts.map +1 -0
- package/declarations/store/-private/debug/utils.d.ts +7 -0
- package/declarations/store/-private/debug/utils.d.ts.map +1 -0
- package/declarations/store/-private/default-cache-policy.d.ts +383 -0
- package/declarations/store/-private/default-cache-policy.d.ts.map +1 -0
- package/declarations/store/-private/legacy-model-support/record-reference.d.ts +164 -0
- package/declarations/store/-private/legacy-model-support/record-reference.d.ts.map +1 -0
- package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts +17 -0
- package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts.map +1 -0
- package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +26 -0
- package/declarations/store/-private/managers/cache-capabilities-manager.d.ts.map +1 -0
- package/declarations/store/-private/managers/cache-manager.d.ts +428 -0
- package/declarations/store/-private/managers/cache-manager.d.ts.map +1 -0
- package/declarations/store/-private/managers/notification-manager.d.ts +93 -0
- package/declarations/store/-private/managers/notification-manager.d.ts.map +1 -0
- package/declarations/store/-private/managers/record-array-manager.d.ts +98 -0
- package/declarations/store/-private/managers/record-array-manager.d.ts.map +1 -0
- package/declarations/store/-private/network/request-cache.d.ts +104 -0
- package/declarations/store/-private/network/request-cache.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/promise-state.d.ts +255 -0
- package/declarations/store/-private/new-core-tmp/promise-state.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +93 -0
- package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +170 -0
- package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +30 -0
- package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts.map +1 -0
- package/declarations/store/-private/new-core-tmp/request-state.d.ts +255 -0
- package/declarations/store/-private/new-core-tmp/request-state.d.ts.map +1 -0
- package/declarations/store/-private/record-arrays/identifier-array.d.ts +141 -0
- package/declarations/store/-private/record-arrays/identifier-array.d.ts.map +1 -0
- package/declarations/store/-private/record-arrays/many-array.d.ts +199 -0
- package/declarations/store/-private/record-arrays/many-array.d.ts.map +1 -0
- package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +116 -0
- package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts.map +1 -0
- package/declarations/store/-private/store-service.d.ts +1597 -0
- package/declarations/store/-private/store-service.d.ts.map +1 -0
- package/declarations/store/-private/store-service.type-test.d.ts +2 -0
- package/declarations/store/-private/store-service.type-test.d.ts.map +1 -0
- package/declarations/store/-private/utils/coerce-id.d.ts +5 -0
- package/declarations/store/-private/utils/coerce-id.d.ts.map +1 -0
- package/declarations/store/-private/utils/construct-resource.d.ts +7 -0
- package/declarations/store/-private/utils/construct-resource.d.ts.map +1 -0
- package/declarations/store/-private/utils/is-non-empty-string.d.ts +2 -0
- package/declarations/store/-private/utils/is-non-empty-string.d.ts.map +1 -0
- package/declarations/store/-private/utils/normalize-model-name.d.ts +2 -0
- package/declarations/store/-private/utils/normalize-model-name.d.ts.map +1 -0
- package/declarations/store/-private/utils/uuid-polyfill.d.ts +2 -0
- package/declarations/store/-private/utils/uuid-polyfill.d.ts.map +1 -0
- package/declarations/store/-private.d.ts +27 -0
- package/declarations/store/-private.d.ts.map +1 -0
- package/declarations/store/-types/q/cache-capabilities-manager.d.ts +100 -0
- package/declarations/store/-types/q/cache-capabilities-manager.d.ts.map +1 -0
- package/declarations/store/-types/q/ds-model.d.ts +22 -0
- package/declarations/store/-types/q/ds-model.d.ts.map +1 -0
- package/declarations/store/-types/q/identifier.d.ts +21 -0
- package/declarations/store/-types/q/identifier.d.ts.map +1 -0
- package/declarations/store/-types/q/promise-proxies.d.ts +2 -0
- package/declarations/store/-types/q/promise-proxies.d.ts.map +1 -0
- package/declarations/store/-types/q/record-data-json-api.d.ts +31 -0
- package/declarations/store/-types/q/record-data-json-api.d.ts.map +1 -0
- package/declarations/store/-types/q/record-instance.d.ts +24 -0
- package/declarations/store/-types/q/record-instance.d.ts.map +1 -0
- package/declarations/store/-types/q/schema-service.d.ts +331 -0
- package/declarations/store/-types/q/schema-service.d.ts.map +1 -0
- package/declarations/store/-types/q/store.d.ts +35 -0
- package/declarations/store/-types/q/store.d.ts.map +1 -0
- package/declarations/store.d.ts +2 -0
- package/declarations/store.d.ts.map +1 -0
- package/declarations/types/-private.d.ts +14 -0
- package/declarations/types/-private.d.ts.map +1 -0
- package/declarations/types/cache/aliases.d.ts +2 -0
- package/declarations/types/cache/aliases.d.ts.map +1 -0
- package/declarations/types/cache/change.d.ts +7 -0
- package/declarations/types/cache/change.d.ts.map +1 -0
- package/declarations/types/cache/mutations.d.ts +39 -0
- package/declarations/types/cache/mutations.d.ts.map +1 -0
- package/declarations/types/cache/operations.d.ts +72 -0
- package/declarations/types/cache/operations.d.ts.map +1 -0
- package/declarations/types/cache/relationship.d.ts +14 -0
- package/declarations/types/cache/relationship.d.ts.map +1 -0
- package/declarations/types/cache.d.ts +492 -0
- package/declarations/types/cache.d.ts.map +1 -0
- package/declarations/types/graph.d.ts +48 -0
- package/declarations/types/graph.d.ts.map +1 -0
- package/declarations/types/identifier.d.ts +111 -0
- package/declarations/types/identifier.d.ts.map +1 -0
- package/declarations/types/json/raw.d.ts +7 -0
- package/declarations/types/json/raw.d.ts.map +1 -0
- package/declarations/types/params.d.ts +10 -0
- package/declarations/types/params.d.ts.map +1 -0
- package/declarations/types/record.d.ts +96 -0
- package/declarations/types/record.d.ts.map +1 -0
- package/declarations/types/record.type-test.d.ts +2 -0
- package/declarations/types/record.type-test.d.ts.map +1 -0
- package/declarations/types/request.d.ts +308 -0
- package/declarations/types/request.d.ts.map +1 -0
- package/declarations/types/request.type-test.d.ts +2 -0
- package/declarations/types/request.type-test.d.ts.map +1 -0
- package/declarations/types/runtime.d.ts +15 -0
- package/declarations/types/runtime.d.ts.map +1 -0
- package/declarations/types/schema/concepts.d.ts +17 -0
- package/declarations/types/schema/concepts.d.ts.map +1 -0
- package/declarations/types/schema/fields.d.ts +1674 -0
- package/declarations/types/schema/fields.d.ts.map +1 -0
- package/declarations/types/schema/fields.type-test.d.ts +2 -0
- package/declarations/types/schema/fields.type-test.d.ts.map +1 -0
- package/declarations/types/spec/document.d.ts +31 -0
- package/declarations/types/spec/document.d.ts.map +1 -0
- package/declarations/types/spec/error.d.ts +19 -0
- package/declarations/types/spec/error.d.ts.map +1 -0
- package/declarations/types/spec/json-api-raw.d.ts +142 -0
- package/declarations/types/spec/json-api-raw.d.ts.map +1 -0
- package/declarations/types/symbols.d.ts +79 -0
- package/declarations/types/symbols.d.ts.map +1 -0
- package/declarations/types/utils.d.ts +5 -0
- package/declarations/types/utils.d.ts.map +1 -0
- package/declarations/types.d.ts +12 -0
- package/declarations/types.d.ts.map +1 -0
- package/declarations/utils/string.d.ts +45 -0
- package/declarations/utils/string.d.ts.map +1 -0
- package/dist/build-config/babel-macros.js +1 -0
- package/dist/build-config/babel-macros.js.map +1 -0
- package/dist/build-config/canary-features.js +1 -0
- package/dist/build-config/canary-features.js.map +1 -0
- package/dist/build-config/debugging.js +1 -0
- package/dist/build-config/debugging.js.map +1 -0
- package/dist/build-config/deprecations.js +1 -0
- package/dist/build-config/deprecations.js.map +1 -0
- package/dist/build-config/env.js +1 -0
- package/dist/build-config/env.js.map +1 -0
- package/dist/build-config/macros.js +1 -0
- package/dist/build-config/macros.js.map +1 -0
- package/dist/build-config.js +1 -0
- package/dist/build-config.js.map +1 -0
- package/dist/configure-Bz49BEZQ.js +145 -0
- package/dist/configure-Bz49BEZQ.js.map +1 -0
- package/dist/configure.js +1 -0
- package/dist/configure.js.map +1 -0
- package/dist/context-DE5sFezZ.js +636 -0
- package/dist/context-DE5sFezZ.js.map +1 -0
- package/dist/graph/-private.js +3364 -0
- package/dist/graph/-private.js.map +1 -0
- package/dist/handler-DYUefHNU.js +339 -0
- package/dist/handler-DYUefHNU.js.map +1 -0
- package/dist/index.js +382 -0
- package/dist/index.js.map +1 -0
- package/dist/reactive/-private.js +1 -0
- package/dist/reactive/-private.js.map +1 -0
- package/dist/reactive.js +1802 -0
- package/dist/reactive.js.map +1 -0
- package/dist/request-state-Bv5CY_H0.js +7358 -0
- package/dist/request-state-Bv5CY_H0.js.map +1 -0
- package/dist/request.js +1 -0
- package/dist/request.js.map +1 -0
- package/dist/store/-private.js +3 -0
- package/dist/store/-private.js.map +1 -0
- package/dist/store.js +545 -0
- package/dist/store.js.map +1 -0
- package/dist/symbols-DyqeYQTe.js +44 -0
- package/dist/symbols-DyqeYQTe.js.map +1 -0
- package/dist/types/-private.js +79 -0
- package/dist/types/-private.js.map +1 -0
- package/dist/types/cache/aliases.js +0 -0
- package/dist/types/cache/aliases.js.map +1 -0
- package/dist/types/cache/change.js +0 -0
- package/dist/types/cache/change.js.map +1 -0
- package/dist/types/cache/mutations.js +0 -0
- package/dist/types/cache/mutations.js.map +1 -0
- package/dist/types/cache/operations.js +0 -0
- package/dist/types/cache/operations.js.map +1 -0
- package/dist/types/cache/relationship.js +0 -0
- package/dist/types/cache/relationship.js.map +1 -0
- package/dist/types/cache.js +0 -0
- package/dist/types/cache.js.map +1 -0
- package/dist/types/graph.js +0 -0
- package/dist/types/graph.js.map +1 -0
- package/dist/types/identifier.js +89 -0
- package/dist/types/identifier.js.map +1 -0
- package/dist/types/json/raw.js +0 -0
- package/dist/types/json/raw.js.map +1 -0
- package/dist/types/params.js +0 -0
- package/dist/types/params.js.map +1 -0
- package/dist/types/record.js +64 -0
- package/dist/types/record.js.map +1 -0
- package/dist/types/request.js +33 -0
- package/dist/types/request.js.map +1 -0
- package/dist/types/runtime.js +34 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/schema/concepts.js +0 -0
- package/dist/types/schema/concepts.js.map +1 -0
- package/dist/types/schema/fields.js +470 -0
- package/dist/types/schema/fields.js.map +1 -0
- package/dist/types/schema/fields.type-test.js +0 -0
- package/dist/types/schema/fields.type-test.js.map +1 -0
- package/dist/types/spec/document.js +0 -0
- package/dist/types/spec/document.js.map +1 -0
- package/dist/types/spec/error.js +0 -0
- package/dist/types/spec/error.js.map +1 -0
- package/dist/types/spec/json-api-raw.js +0 -0
- package/dist/types/spec/json-api-raw.js.map +1 -0
- package/dist/types/symbols.js +84 -0
- package/dist/types/symbols.js.map +1 -0
- package/dist/types/utils.js +0 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types.js +0 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/string.js +92 -0
- package/dist/utils/string.js.map +1 -0
- package/logos/NCC-1701-a-blue.svg +4 -0
- package/logos/NCC-1701-a-gold.svg +4 -0
- package/logos/NCC-1701-a-gold_100.svg +1 -0
- package/logos/NCC-1701-a-gold_base-64.txt +1 -0
- package/logos/NCC-1701-a.svg +4 -0
- package/logos/README.md +4 -0
- package/logos/docs-badge.svg +2 -0
- package/logos/ember-data-logo-dark.svg +12 -0
- package/logos/ember-data-logo-light.svg +12 -0
- package/logos/github-header.svg +444 -0
- package/logos/social1.png +0 -0
- package/logos/social2.png +0 -0
- package/logos/warp-drive-logo-dark.svg +4 -0
- package/logos/warp-drive-logo-gold.svg +4 -0
- package/package.json +70 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { Store } from '../../store/-private.ts';
|
|
2
|
+
import type { SchemaService as SchemaServiceInterface } from '../../types.ts';
|
|
3
|
+
import type { StableRecordIdentifier } from '../../types/identifier.ts';
|
|
4
|
+
import type { ObjectValue, Value } from '../../types/json/raw.ts';
|
|
5
|
+
import type { Derivation, HashFn } from '../../types/schema/concepts.ts';
|
|
6
|
+
import { type ArrayField, type DerivedField, type FieldSchema, type GenericField, type HashField, type LegacyAttributeField, type LegacyBelongsToField, type LegacyHasManyField, type LegacyRelationshipField, type ObjectField, type ObjectSchema, type PolarisResourceSchema, type ResourceSchema } from '../../types/schema/fields.ts';
|
|
7
|
+
import { Type } from '../../types/symbols.ts';
|
|
8
|
+
import type { WithPartial } from '../../types/utils.ts';
|
|
9
|
+
import type { ReactiveResource } from './record.ts';
|
|
10
|
+
/**
|
|
11
|
+
* Utility for constructing a ResourceSchema with the recommended
|
|
12
|
+
* fields for the PolarisMode experience.
|
|
13
|
+
*
|
|
14
|
+
* Using this requires registering the PolarisMode derivations
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { registerDerivations } from '@warp-drive/schema-record';
|
|
18
|
+
*
|
|
19
|
+
* registerDerivations(schema);
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
* @param schema
|
|
24
|
+
* @return {PolarisResourceSchema}
|
|
25
|
+
*/
|
|
26
|
+
export declare function withDefaults(schema: WithPartial<PolarisResourceSchema, 'identity'>): ResourceSchema;
|
|
27
|
+
/**
|
|
28
|
+
* A derivation that computes its value from the
|
|
29
|
+
* record's identity.
|
|
30
|
+
*
|
|
31
|
+
* It can be used via a derived field definition like:
|
|
32
|
+
*
|
|
33
|
+
* ```ts
|
|
34
|
+
* {
|
|
35
|
+
* kind: 'derived',
|
|
36
|
+
* name: 'id',
|
|
37
|
+
* type: '@identity',
|
|
38
|
+
* options: { key: 'id' }
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* Valid keys are `'id'`, `'lid'`, `'type'`, and `'^'`.
|
|
43
|
+
*
|
|
44
|
+
* `^` returns the entire identifier object.
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
export declare function fromIdentity(record: ReactiveResource, options: {
|
|
49
|
+
key: 'lid';
|
|
50
|
+
} | {
|
|
51
|
+
key: 'type';
|
|
52
|
+
}, key: string): string;
|
|
53
|
+
export declare function fromIdentity(record: ReactiveResource, options: {
|
|
54
|
+
key: 'id';
|
|
55
|
+
}, key: string): string | null;
|
|
56
|
+
export declare function fromIdentity(record: ReactiveResource, options: {
|
|
57
|
+
key: '^';
|
|
58
|
+
}, key: string): StableRecordIdentifier;
|
|
59
|
+
export declare function fromIdentity(record: ReactiveResource, options: null, key: string): asserts options;
|
|
60
|
+
export declare namespace fromIdentity { }
|
|
61
|
+
/**
|
|
62
|
+
* Registers the default derivations for records that want
|
|
63
|
+
* to use the PolarisMode defaults provided by
|
|
64
|
+
*
|
|
65
|
+
* ```ts
|
|
66
|
+
* import { withDefaults } from '@warp-drive/schema-record';
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @public
|
|
70
|
+
* @param {SchemaService} schema
|
|
71
|
+
*/
|
|
72
|
+
export declare function registerDerivations(schema: SchemaServiceInterface): void;
|
|
73
|
+
interface InternalSchema {
|
|
74
|
+
original: ResourceSchema | ObjectSchema;
|
|
75
|
+
traits: Set<string>;
|
|
76
|
+
fields: Map<string, FieldSchema>;
|
|
77
|
+
attributes: Record<string, LegacyAttributeField>;
|
|
78
|
+
relationships: Record<string, LegacyRelationshipField>;
|
|
79
|
+
}
|
|
80
|
+
export type Transformation<T extends Value = Value, PT = unknown> = {
|
|
81
|
+
serialize(value: PT, options: Record<string, unknown> | null, record: ReactiveResource): T;
|
|
82
|
+
hydrate(value: T | undefined, options: Record<string, unknown> | null, record: ReactiveResource): PT;
|
|
83
|
+
defaultValue?(options: Record<string, unknown> | null, identifier: StableRecordIdentifier): T;
|
|
84
|
+
[Type]: string;
|
|
85
|
+
};
|
|
86
|
+
interface KindFns {
|
|
87
|
+
belongsTo: {
|
|
88
|
+
get: (store: Store, record: object, resourceKey: StableRecordIdentifier, field: LegacyBelongsToField) => unknown;
|
|
89
|
+
set: (store: Store, record: object, cacheKey: StableRecordIdentifier, field: LegacyBelongsToField, value: unknown) => void;
|
|
90
|
+
};
|
|
91
|
+
hasMany: {
|
|
92
|
+
get: (store: Store, record: object, resourceKey: StableRecordIdentifier, field: LegacyHasManyField) => unknown;
|
|
93
|
+
set: (store: Store, record: object, cacheKey: StableRecordIdentifier, field: LegacyHasManyField, value: unknown) => void;
|
|
94
|
+
notify: (store: Store, record: object, cacheKey: StableRecordIdentifier, field: LegacyHasManyField) => boolean;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export interface SchemaService {
|
|
98
|
+
doesTypeExist(type: string): boolean;
|
|
99
|
+
attributesDefinitionFor(identifier: {
|
|
100
|
+
type: string;
|
|
101
|
+
}): InternalSchema['attributes'];
|
|
102
|
+
relationshipsDefinitionFor(identifier: {
|
|
103
|
+
type: string;
|
|
104
|
+
}): InternalSchema['relationships'];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* A SchemaService designed to work with dynamically registered schemas.
|
|
108
|
+
*
|
|
109
|
+
* @class SchemaService
|
|
110
|
+
* @public
|
|
111
|
+
*/
|
|
112
|
+
export declare class SchemaService implements SchemaServiceInterface {
|
|
113
|
+
/** @internal */
|
|
114
|
+
_schemas: Map<string, InternalSchema>;
|
|
115
|
+
/** @internal */
|
|
116
|
+
_transforms: Map<string, Transformation>;
|
|
117
|
+
/** @internal */
|
|
118
|
+
_hashFns: Map<string, HashFn>;
|
|
119
|
+
/** @internal */
|
|
120
|
+
_derivations: Map<string, Derivation<any, any, any>>;
|
|
121
|
+
/** @internal */
|
|
122
|
+
_traits: Set<string>;
|
|
123
|
+
/** @internal */
|
|
124
|
+
_modes: Map<string, KindFns>;
|
|
125
|
+
constructor();
|
|
126
|
+
resourceTypes(): Readonly<string[]>;
|
|
127
|
+
hasTrait(type: string): boolean;
|
|
128
|
+
resourceHasTrait(resource: StableRecordIdentifier | {
|
|
129
|
+
type: string;
|
|
130
|
+
}, trait: string): boolean;
|
|
131
|
+
transformation(field: GenericField | ObjectField | ArrayField | {
|
|
132
|
+
type: string;
|
|
133
|
+
}): Transformation;
|
|
134
|
+
derivation(field: DerivedField | {
|
|
135
|
+
type: string;
|
|
136
|
+
}): Derivation;
|
|
137
|
+
hashFn(field: HashField | {
|
|
138
|
+
type: string;
|
|
139
|
+
}): HashFn;
|
|
140
|
+
resource(resource: StableRecordIdentifier | {
|
|
141
|
+
type: string;
|
|
142
|
+
}): ResourceSchema | ObjectSchema;
|
|
143
|
+
registerResources(schemas: Array<ResourceSchema | ObjectSchema>): void;
|
|
144
|
+
registerResource(schema: ResourceSchema | ObjectSchema): void;
|
|
145
|
+
registerTransformation<T extends Value = string, PT = unknown>(transformation: Transformation<T, PT>): void;
|
|
146
|
+
registerDerivation<R, T, FM extends ObjectValue | null>(derivation: Derivation<R, T, FM>): void;
|
|
147
|
+
/**
|
|
148
|
+
* This is an internal method used to register behaviors for legacy mode.
|
|
149
|
+
* It is not intended for public use.
|
|
150
|
+
*
|
|
151
|
+
* We do think a generalized `kind` registration system would be useful,
|
|
152
|
+
* but we have not yet designed it.
|
|
153
|
+
*
|
|
154
|
+
* See https://github.com/emberjs/data/issues/9534
|
|
155
|
+
*
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
_registerMode(mode: string, kinds: KindFns): void;
|
|
159
|
+
/**
|
|
160
|
+
* This is an internal method used to enable legacy behaviors for legacy mode.
|
|
161
|
+
* It is not intended for public use.
|
|
162
|
+
*
|
|
163
|
+
* We do think a generalized `kind` registration system would be useful,
|
|
164
|
+
* but we have not yet designed it.
|
|
165
|
+
*
|
|
166
|
+
* See https://github.com/emberjs/data/issues/9534
|
|
167
|
+
*
|
|
168
|
+
* @internal
|
|
169
|
+
*/
|
|
170
|
+
_kind<T extends keyof KindFns>(mode: string, kind: T): KindFns[T];
|
|
171
|
+
registerHashFn<T extends object>(hashFn: HashFn<T>): void;
|
|
172
|
+
fields({ type }: {
|
|
173
|
+
type: string;
|
|
174
|
+
}): InternalSchema['fields'];
|
|
175
|
+
hasResource(resource: {
|
|
176
|
+
type: string;
|
|
177
|
+
}): boolean;
|
|
178
|
+
}
|
|
179
|
+
export {};
|
|
180
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/reactive/-private/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const SOURCE: "___(unique) Symbol(SOURCE)";
|
|
2
|
+
export declare const MUTATE: "___(unique) Symbol(MUTATE)";
|
|
3
|
+
export declare const Destroy: "___(unique) Symbol(Destroy)";
|
|
4
|
+
export declare const Identifier: "___(unique) Symbol(Identifier)";
|
|
5
|
+
export declare const Editable: "___(unique) Symbol(Editable)";
|
|
6
|
+
export declare const Parent: "___(unique) Symbol(Parent)";
|
|
7
|
+
export declare const Checkout: "___(unique) Symbol(Checkout)";
|
|
8
|
+
export declare const Legacy: "___(unique) Symbol(Legacy)";
|
|
9
|
+
export declare const EmbeddedPath: "___(unique) Symbol(EmbeddedPath)";
|
|
10
|
+
export declare const EmbeddedType: "___(unique) Symbol(EmbeddedType)";
|
|
11
|
+
//# sourceMappingURL=symbols.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../../src/reactive/-private/symbols.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,MAAM,8BAA8C,CAAC;AAClE,eAAO,MAAM,MAAM,8BAA8C,CAAC;AAElE,eAAO,MAAM,OAAO,+BAA+C,CAAC;AACpE,eAAO,MAAM,UAAU,kCAAqD,CAAC;AAC7E,eAAO,MAAM,QAAQ,gCAAiD,CAAC;AACvE,eAAO,MAAM,MAAM,8BAA6C,CAAC;AACjE,eAAO,MAAM,QAAQ,gCAAiD,CAAC;AACvE,eAAO,MAAM,MAAM,8BAA6C,CAAC;AAEjE,eAAO,MAAM,YAAY,oCAAyD,CAAC;AACnF,eAAO,MAAM,YAAY,oCAAyD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"-private.d.ts","sourceRoot":"","sources":["../../src/reactive/-private.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { instantiateRecord, teardownRecord } from './reactive/-private/hooks';
|
|
2
|
+
export { type Transformation, SchemaService, withDefaults, fromIdentity, registerDerivations, } from './reactive/-private/schema';
|
|
3
|
+
export { type ReactiveResource } from './reactive/-private/record';
|
|
4
|
+
export { Checkout } from './reactive/-private/symbols';
|
|
5
|
+
//# sourceMappingURL=reactive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../src/reactive.ts"],"names":[],"mappings":"AAsSA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,KAAK,cAAc,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { StableDocumentIdentifier } from '../../types/identifier';
|
|
2
|
+
import type { ImmutableHeaders, ImmutableRequestInfo, RequestInfo, ResponseInfo } from '../../types/request';
|
|
3
|
+
import type { DeferredStream, GodContext } from './types';
|
|
4
|
+
export declare function upgradeHeaders(headers: Headers | ImmutableHeaders): ImmutableHeaders;
|
|
5
|
+
export declare function cloneResponseProperties(response: Response): ResponseInfo;
|
|
6
|
+
export declare class ContextOwner {
|
|
7
|
+
hasSetStream: boolean;
|
|
8
|
+
hasSetResponse: boolean;
|
|
9
|
+
hasSubscribers: boolean;
|
|
10
|
+
stream: DeferredStream;
|
|
11
|
+
response: ResponseInfo | null;
|
|
12
|
+
request: ImmutableRequestInfo;
|
|
13
|
+
enhancedRequest: ImmutableRequestInfo;
|
|
14
|
+
nextCalled: number;
|
|
15
|
+
god: GodContext;
|
|
16
|
+
controller: AbortController;
|
|
17
|
+
requestId: number;
|
|
18
|
+
isRoot: boolean;
|
|
19
|
+
constructor(request: RequestInfo, god: GodContext, isRoot?: boolean);
|
|
20
|
+
get hasRequestedStream(): boolean;
|
|
21
|
+
getResponse(): ResponseInfo | null;
|
|
22
|
+
getStream(): Promise<ReadableStream | null>;
|
|
23
|
+
abort(reason: DOMException): void;
|
|
24
|
+
setStream(stream: ReadableStream | Promise<ReadableStream | null> | null): void;
|
|
25
|
+
resolveStream(): void;
|
|
26
|
+
setResponse(response: ResponseInfo | Response | null): void;
|
|
27
|
+
}
|
|
28
|
+
export declare class Context {
|
|
29
|
+
#private;
|
|
30
|
+
request: ImmutableRequestInfo;
|
|
31
|
+
id: number;
|
|
32
|
+
private _isCacheHandler;
|
|
33
|
+
private _finalized;
|
|
34
|
+
constructor(owner: ContextOwner, isCacheHandler: boolean);
|
|
35
|
+
setStream(stream: ReadableStream | Promise<ReadableStream | null>): void;
|
|
36
|
+
setResponse(response: ResponseInfo | Response | null): void;
|
|
37
|
+
setIdentifier(identifier: StableDocumentIdentifier): void;
|
|
38
|
+
get hasRequestedStream(): boolean;
|
|
39
|
+
_finalize(): void;
|
|
40
|
+
}
|
|
41
|
+
export type HandlerRequestContext = Context;
|
|
42
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/request/-private/context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAI7G,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,CAQpF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAYxE;AAED,qBAAa,YAAY;IACvB,YAAY,UAAS;IACrB,cAAc,UAAS;IACvB,cAAc,UAAS;IACvB,MAAM,EAAE,cAAc,CAA2C;IACjE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC7B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,eAAe,EAAE,oBAAoB,CAAC;IAC9C,UAAU,SAAK;IACP,GAAG,EAAE,UAAU,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;gBAEZ,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,UAAQ;IAuCjE,IAAI,kBAAkB,IAAI,OAAO,CAEhC;IAED,WAAW,IAAI,YAAY,GAAG,IAAI;IASlC,SAAS,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAW3C,KAAK,CAAC,MAAM,EAAE,YAAY;IAI1B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,IAAI;IAYxE,aAAa;IAIb,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI;CAwBrD;AAED,qBAAa,OAAO;;IAEV,OAAO,EAAE,oBAAoB,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACnB,QAAgB,eAAe,CAAU;IACzC,QAAgB,UAAU,CAAU;gBAExB,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO;IAOxD,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAGjE,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI;IAIpD,aAAa,CAAC,UAAU,EAAE,wBAAwB;IAQlD,IAAI,kBAAkB,YAErB;IAED,SAAS;CAGV;AACD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RequestInfo } from '../../types/request';
|
|
2
|
+
import { Context } from './context';
|
|
3
|
+
export declare function deepFreeze<T = unknown>(value: T): T;
|
|
4
|
+
export declare function assertValidRequest(request: RequestInfo | Context, isTopLevel: boolean): asserts request is RequestInfo;
|
|
5
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/request/-private/debug.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAmFpD,wBAAgB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAuDnD;AAmJD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,GAAG,OAAO,EAC9B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,IAAI,WAAW,CA8DhC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A basic Fetch Handler which converts a request into a
|
|
3
|
+
* `fetch` call presuming the response to be `json`.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import Fetch from '@ember-data/request/fetch';
|
|
7
|
+
*
|
|
8
|
+
* manager.use([Fetch]);
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import { type Context } from './context';
|
|
14
|
+
interface FastbootRequest extends Request {
|
|
15
|
+
protocol: string;
|
|
16
|
+
host: string;
|
|
17
|
+
}
|
|
18
|
+
export interface FastBoot {
|
|
19
|
+
require(moduleName: string): unknown;
|
|
20
|
+
isFastBoot: boolean;
|
|
21
|
+
request: FastbootRequest;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A basic handler which converts a request into a
|
|
25
|
+
* `fetch` call presuming the response to be `json`.
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
28
|
+
* import Fetch from '@ember-data/request/fetch';
|
|
29
|
+
*
|
|
30
|
+
* manager.use([Fetch]);
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @class Fetch
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
declare const Fetch: {
|
|
37
|
+
request<T>(context: Context): Promise<T>;
|
|
38
|
+
};
|
|
39
|
+
export { Fetch };
|
|
40
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/request/-private/fetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAA2B,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAGlE,UAAU,eAAgB,SAAQ,OAAO;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;CAC1B;AA6ED;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,KAAK;YACK,CAAC,WAAW,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAoJ/C,CAAC;AAMF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type StructuredDocument } from '../../types/request';
|
|
2
|
+
import type { ContextOwner } from './context';
|
|
3
|
+
import type { Deferred, DeferredFuture, Future } from './types';
|
|
4
|
+
export declare function isFuture<T>(maybe: unknown): maybe is Future<T>;
|
|
5
|
+
export declare function createDeferred<T>(): Deferred<T>;
|
|
6
|
+
export declare function upgradePromise<T>(promise: Promise<StructuredDocument<T>>, future: Future<T>): Future<T>;
|
|
7
|
+
export declare function createFuture<T>(owner: ContextOwner): DeferredFuture<T>;
|
|
8
|
+
//# sourceMappingURL=future.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"future.d.ts","sourceRoot":"","sources":["../../../src/request/-private/future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGhE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAE9D;AAED,wBAAgB,cAAc,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAQ/C;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAYvG;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CA0BtE"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { StableDocumentIdentifier } from '../../types/identifier';
|
|
2
|
+
import type { RequestInfo } from '../../types/request';
|
|
3
|
+
import type { CacheHandler, Future, GenericCreateArgs, Handler, ManagedRequestPriority } from './types';
|
|
4
|
+
import { IS_CACHE_HANDLER } from './utils';
|
|
5
|
+
/**
|
|
6
|
+
* ## Import
|
|
7
|
+
*
|
|
8
|
+
* ```js
|
|
9
|
+
* import { RequestManager } from '@warp-drive/core';
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* For complete usage guide see the [RequestManager Documentation](/guides/).
|
|
13
|
+
*
|
|
14
|
+
* ## How It Works
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* interface RequestManager {
|
|
18
|
+
* request<T>(req: RequestInfo): Future<T>;
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* A RequestManager provides a request/response flow in which configured
|
|
23
|
+
* handlers are successively given the opportunity to handle, modify, or
|
|
24
|
+
* pass-along a request.
|
|
25
|
+
*
|
|
26
|
+
* <img src="/images/handlers-all-labeled.gif" alt="RequestManager Flow Animation" width="100%" />
|
|
27
|
+
*
|
|
28
|
+
* For example:
|
|
29
|
+
*
|
|
30
|
+
* ::: code-group
|
|
31
|
+
*
|
|
32
|
+
* ```ts [Setup.ts]
|
|
33
|
+
* import { RequestManager, Fetch } from '@warp-drive/core';
|
|
34
|
+
* import { AutoCompress } from '@warp-drive/utilities/handlers';
|
|
35
|
+
* import Auth from 'ember-simple-auth/handler';
|
|
36
|
+
*
|
|
37
|
+
* // ... create manager
|
|
38
|
+
* const manager = new RequestManager()
|
|
39
|
+
* .use([Auth, new AutoCompress(), Fetch]); // [!code focus]
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* ```ts [Usage.ts]
|
|
43
|
+
* import Config from './config';
|
|
44
|
+
*
|
|
45
|
+
* const { apiUrl } = Config;
|
|
46
|
+
*
|
|
47
|
+
* // ... execute a request
|
|
48
|
+
* const response = await manager.request({
|
|
49
|
+
* url: `${apiUrl}/users`
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* :::
|
|
54
|
+
*
|
|
55
|
+
* ### Futures
|
|
56
|
+
*
|
|
57
|
+
* The return value of `manager.request` is a `Future`, which allows
|
|
58
|
+
* access to limited information about the request while it is still
|
|
59
|
+
* pending and fulfills with the final state when the request completes.
|
|
60
|
+
*
|
|
61
|
+
* A `Future` is cancellable via `abort`.
|
|
62
|
+
*
|
|
63
|
+
* Handlers may optionally expose a `ReadableStream` to the `Future` for
|
|
64
|
+
* streaming data; however, when doing so the future should not resolve
|
|
65
|
+
* until the response stream is fully read.
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* interface Future<T> extends Promise<StructuredDocument<T>> {
|
|
69
|
+
* abort(): void;
|
|
70
|
+
*
|
|
71
|
+
* async getStream(): ReadableStream | null;
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* ### StructuredDocuments
|
|
76
|
+
*
|
|
77
|
+
* A Future resolves with a `StructuredDataDocument` or rejects with a `StructuredErrorDocument`.
|
|
78
|
+
*
|
|
79
|
+
* ```ts
|
|
80
|
+
* interface StructuredDataDocument<T> {
|
|
81
|
+
* request: ImmutableRequestInfo;
|
|
82
|
+
* response: ImmutableResponseInfo;
|
|
83
|
+
* content: T;
|
|
84
|
+
* }
|
|
85
|
+
* interface StructuredErrorDocument extends Error {
|
|
86
|
+
* request: ImmutableRequestInfo;
|
|
87
|
+
* response: ImmutableResponseInfo;
|
|
88
|
+
* error: string | object;
|
|
89
|
+
* }
|
|
90
|
+
* type StructuredDocument<T> = StructuredDataDocument<T> | StructuredErrorDocument;
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @class RequestManager
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
export declare class RequestManager {
|
|
97
|
+
#private;
|
|
98
|
+
/** @internal */
|
|
99
|
+
_hasCacheHandler: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* A map of pending requests from request.id to their
|
|
102
|
+
* associated CacheHandler promise.
|
|
103
|
+
*
|
|
104
|
+
* This queue is managed by the CacheHandler
|
|
105
|
+
*
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
_pending: Map<number, Promise<unknown>>;
|
|
109
|
+
/** @internal */
|
|
110
|
+
_deduped: Map<StableDocumentIdentifier, {
|
|
111
|
+
priority: ManagedRequestPriority;
|
|
112
|
+
promise: Promise<unknown>;
|
|
113
|
+
}>;
|
|
114
|
+
constructor(options?: GenericCreateArgs);
|
|
115
|
+
/**
|
|
116
|
+
* Register a handler to use for primary cache intercept.
|
|
117
|
+
*
|
|
118
|
+
* Only one such handler may exist. If using the same
|
|
119
|
+
* RequestManager as the Store instance the Store
|
|
120
|
+
* registers itself as a Cache handler.
|
|
121
|
+
*
|
|
122
|
+
* @public
|
|
123
|
+
*/
|
|
124
|
+
useCache(cacheHandler: CacheHandler & {
|
|
125
|
+
[IS_CACHE_HANDLER]?: true;
|
|
126
|
+
}): this;
|
|
127
|
+
/**
|
|
128
|
+
* Register handler(s) to use when a request is issued.
|
|
129
|
+
*
|
|
130
|
+
* Handlers will be invoked in the order they are registered.
|
|
131
|
+
* Each Handler is given the opportunity to handle the request,
|
|
132
|
+
* curry the request, or pass along a modified request.
|
|
133
|
+
*
|
|
134
|
+
* @public
|
|
135
|
+
* @param {Handler[]} newHandlers
|
|
136
|
+
* @return {ThisType}
|
|
137
|
+
*/
|
|
138
|
+
use(newHandlers: Handler[]): this;
|
|
139
|
+
/**
|
|
140
|
+
* Issue a Request.
|
|
141
|
+
*
|
|
142
|
+
* Returns a Future that fulfills with a StructuredDocument
|
|
143
|
+
*
|
|
144
|
+
* @public
|
|
145
|
+
* @param {RequestInfo} request
|
|
146
|
+
* @return {Future}
|
|
147
|
+
*/
|
|
148
|
+
request<RT, T = unknown>(request: RequestInfo<RT, T>): Future<RT>;
|
|
149
|
+
/**
|
|
150
|
+
* This method exists so that the RequestManager can be created
|
|
151
|
+
* can be created by container/factory systems that expect to
|
|
152
|
+
* call a static `create` method to instantiate the class.
|
|
153
|
+
*
|
|
154
|
+
* Using `new RequestManager()` directly is preferred.
|
|
155
|
+
*
|
|
156
|
+
* @private
|
|
157
|
+
*/
|
|
158
|
+
static create(options?: GenericCreateArgs): RequestManager;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/request/-private/manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAA2B,MAAM,qBAAqB,CAAC;AAIhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACxG,OAAO,EAAsB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AACH,qBAAa,cAAc;;IAEzB,gBAAgB;IACR,gBAAgB,EAAE,OAAO,CAAC;IAClC;;;;;;;OAOG;IACK,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,gBAAgB;IACR,QAAQ,EAAE,GAAG,CAAC,wBAAwB,EAAE;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;gBAErG,OAAO,CAAC,EAAE,iBAAiB;IAMvC;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG;QAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI;IAiB1E;;;;;;;;;;OAUG;IACH,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI;IA2BjC;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IAuFjE;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB;CAG1C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type CacheResult<T = unknown, E = unknown> = {
|
|
2
|
+
isError: true;
|
|
3
|
+
result: E;
|
|
4
|
+
} | {
|
|
5
|
+
isError: false;
|
|
6
|
+
result: T;
|
|
7
|
+
};
|
|
8
|
+
export type Awaitable<T = unknown, E = unknown> = {
|
|
9
|
+
then: (onFulfilled: (value: T) => unknown, onRejected: (reason: E) => unknown) => unknown;
|
|
10
|
+
catch: (onRejected: (reason: E) => unknown) => unknown;
|
|
11
|
+
finally: (onFinally: () => unknown) => unknown;
|
|
12
|
+
};
|
|
13
|
+
export declare const PromiseCache: WeakMap<Awaitable<unknown, unknown>, CacheResult<unknown, unknown>>;
|
|
14
|
+
export declare const RequestMap: Map<number, CacheResult<unknown, unknown>>;
|
|
15
|
+
export declare function setRequestResult(requestId: number, result: CacheResult): void;
|
|
16
|
+
export declare function clearRequestResult(requestId: number): void;
|
|
17
|
+
export declare function getRequestResult(requestId: number): CacheResult | undefined;
|
|
18
|
+
export declare function setPromiseResult(promise: Promise<unknown> | Awaitable, result: CacheResult): void;
|
|
19
|
+
export declare function getPromiseResult<T, E>(promise: Promise<T> | Awaitable<T, E>): CacheResult<T, E> | undefined;
|
|
20
|
+
//# sourceMappingURL=promise-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-cache.d.ts","sourceRoot":"","sources":["../../../src/request/-private/promise-cache.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AAEjH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IAChD,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,KAAK,OAAO,CAAC;IAC1F,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,KAAK,OAAO,CAAC;IACvD,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,OAAO,KAAK,OAAO,CAAC;CAChD,CAAC;AAEF,eAAO,MAAM,YAAY,qEAA2E,CAAC;AACrG,eAAO,MAAM,UAAU,4CAAkE,CAAC;AAE1F,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,QAEtE;AACD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,QAEnD;AACD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,WAAW,QAE1F;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAE3G"}
|