@warp-drive/core 5.6.0-alpha.5 → 5.6.0-beta.0

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.
Files changed (219) hide show
  1. package/README.md +8 -7
  2. package/cjs-dist/addon-shim.cjs +1 -0
  3. package/cjs-dist/cjs-set-config.cjs +1 -0
  4. package/declarations/build-config/babel-macros.d.ts +1 -0
  5. package/declarations/build-config/canary-features.d.ts +1 -0
  6. package/declarations/build-config/debugging.d.ts +1 -0
  7. package/declarations/build-config/deprecations.d.ts +1 -0
  8. package/declarations/build-config/env.d.ts +1 -0
  9. package/declarations/build-config/macros.d.ts +1 -0
  10. package/declarations/build-config.d.ts +1 -0
  11. package/declarations/configure.d.ts +7 -0
  12. package/declarations/graph/-private/-diff.d.ts +32 -0
  13. package/declarations/graph/-private/-edge-definition.d.ts +148 -0
  14. package/declarations/graph/-private/-state.d.ts +96 -0
  15. package/declarations/graph/-private/-utils.d.ts +31 -0
  16. package/declarations/graph/-private/coerce-id.d.ts +10 -0
  17. package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +18 -0
  18. package/declarations/graph/-private/edges/collection.d.ts +39 -0
  19. package/declarations/graph/-private/edges/implicit.d.ts +43 -0
  20. package/declarations/graph/-private/edges/resource.d.ts +24 -0
  21. package/declarations/graph/-private/graph.d.ts +90 -0
  22. package/declarations/graph/-private/normalize-link.d.ts +8 -0
  23. package/declarations/graph/-private/operations/add-to-related-records.d.ts +4 -0
  24. package/declarations/graph/-private/operations/merge-identifier.d.ts +3 -0
  25. package/declarations/graph/-private/operations/remove-from-related-records.d.ts +4 -0
  26. package/declarations/graph/-private/operations/replace-related-record.d.ts +3 -0
  27. package/declarations/graph/-private/operations/replace-related-records.d.ts +62 -0
  28. package/declarations/graph/-private/operations/update-relationship.d.ts +13 -0
  29. package/declarations/graph/-private.d.ts +13 -0
  30. package/declarations/index.d.ts +14 -3
  31. package/declarations/reactive/-private/document.d.ts +146 -0
  32. package/declarations/reactive/-private/fields/compute.d.ts +43 -0
  33. package/declarations/reactive/-private/fields/extension.d.ts +8 -0
  34. package/declarations/reactive/-private/fields/managed-array.d.ts +22 -0
  35. package/declarations/reactive/-private/fields/managed-object.d.ts +21 -0
  36. package/declarations/reactive/-private/fields/many-array-manager.d.ts +19 -0
  37. package/declarations/reactive/-private/hooks.d.ts +5 -0
  38. package/declarations/reactive/-private/record.d.ts +64 -0
  39. package/declarations/reactive/-private/schema.d.ts +271 -0
  40. package/declarations/reactive/-private/symbols.d.ts +36 -0
  41. package/declarations/reactive/-private.d.ts +1 -0
  42. package/declarations/reactive.d.ts +4 -0
  43. package/declarations/request/-private/context.d.ts +34 -35
  44. package/declarations/request/-private/debug.d.ts +2 -3
  45. package/declarations/request/-private/fetch.d.ts +24 -36
  46. package/declarations/request/-private/future.d.ts +3 -4
  47. package/declarations/request/-private/manager.d.ts +159 -132
  48. package/declarations/request/-private/promise-cache.d.ts +21 -13
  49. package/declarations/request/-private/types.d.ts +124 -123
  50. package/declarations/request/-private/utils.d.ts +8 -9
  51. package/declarations/request.d.ts +5 -433
  52. package/declarations/store/-private/cache-handler/handler.d.ts +62 -0
  53. package/declarations/store/-private/cache-handler/types.d.ts +98 -0
  54. package/declarations/store/-private/cache-handler/utils.d.ts +32 -0
  55. package/declarations/store/-private/caches/cache-utils.d.ts +12 -0
  56. package/declarations/store/-private/caches/identifier-cache.d.ts +304 -0
  57. package/declarations/store/-private/caches/instance-cache.d.ts +65 -0
  58. package/declarations/store/-private/caches/resource-utils.d.ts +9 -0
  59. package/declarations/store/-private/debug/utils.d.ts +6 -0
  60. package/declarations/store/-private/default-cache-policy.d.ts +384 -0
  61. package/declarations/store/-private/legacy-model-support/record-reference.d.ts +159 -0
  62. package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts +17 -0
  63. package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +25 -0
  64. package/declarations/store/-private/managers/cache-manager.d.ts +443 -0
  65. package/declarations/store/-private/managers/notification-manager.d.ts +98 -0
  66. package/declarations/store/-private/managers/record-array-manager.d.ts +97 -0
  67. package/declarations/store/-private/network/request-cache.d.ts +107 -0
  68. package/declarations/store/-private/new-core-tmp/promise-state.d.ts +263 -0
  69. package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +176 -0
  70. package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +169 -0
  71. package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +35 -0
  72. package/declarations/store/-private/new-core-tmp/request-state.d.ts +277 -0
  73. package/declarations/store/-private/new-core-tmp/request-subscription.d.ts +261 -0
  74. package/declarations/store/-private/record-arrays/identifier-array.d.ts +147 -0
  75. package/declarations/store/-private/record-arrays/many-array.d.ts +197 -0
  76. package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +126 -0
  77. package/declarations/store/-private/store-service.d.ts +1605 -0
  78. package/declarations/store/-private/utils/coerce-id.d.ts +10 -0
  79. package/declarations/store/-private/utils/construct-resource.d.ts +6 -0
  80. package/declarations/store/-private/utils/is-non-empty-string.d.ts +1 -0
  81. package/declarations/store/-private/utils/normalize-model-name.d.ts +1 -0
  82. package/declarations/store/-private/utils/uuid-polyfill.d.ts +1 -0
  83. package/declarations/store/-private.d.ts +31 -0
  84. package/declarations/store/-types/q/cache-capabilities-manager.d.ts +99 -0
  85. package/declarations/store/-types/q/ds-model.d.ts +21 -0
  86. package/declarations/store/-types/q/identifier.d.ts +20 -0
  87. package/declarations/store/-types/q/record-instance.d.ts +23 -0
  88. package/declarations/store/-types/q/schema-service.d.ts +354 -0
  89. package/declarations/store/-types/q/store.d.ts +32 -0
  90. package/declarations/store.d.ts +1 -0
  91. package/declarations/types/-private.d.ts +16 -8
  92. package/declarations/types/cache/aliases.d.ts +11 -1
  93. package/declarations/types/cache/change.d.ts +4 -5
  94. package/declarations/types/cache/mutations.d.ts +51 -28
  95. package/declarations/types/cache/operations.d.ts +60 -47
  96. package/declarations/types/cache/relationship.d.ts +11 -9
  97. package/declarations/types/cache.d.ts +495 -484
  98. package/declarations/types/graph.d.ts +31 -40
  99. package/declarations/types/identifier.d.ts +83 -82
  100. package/declarations/types/json/raw.d.ts +1 -2
  101. package/declarations/types/params.d.ts +4 -5
  102. package/declarations/types/record.d.ts +117 -76
  103. package/declarations/types/request.d.ts +289 -266
  104. package/declarations/types/runtime.d.ts +8 -9
  105. package/declarations/types/schema/concepts.d.ts +19 -13
  106. package/declarations/types/schema/fields.d.ts +1712 -1741
  107. package/declarations/types/schema/fields.type-test.d.ts +0 -1
  108. package/declarations/types/spec/document.d.ts +28 -22
  109. package/declarations/types/spec/error.d.ts +16 -17
  110. package/declarations/types/spec/json-api-raw.d.ts +102 -102
  111. package/declarations/types/symbols.d.ts +74 -75
  112. package/declarations/types/utils.d.ts +5 -5
  113. package/declarations/types.d.ts +10 -7
  114. package/declarations/utils/string.d.ts +48 -0
  115. package/dist/build-config/babel-macros.js +1 -0
  116. package/dist/build-config/canary-features.js +1 -0
  117. package/dist/build-config/debugging.js +1 -0
  118. package/dist/build-config/deprecations.js +1 -0
  119. package/dist/build-config/env.js +1 -0
  120. package/dist/build-config/macros.js +1 -0
  121. package/dist/build-config.js +1 -0
  122. package/dist/configure-B48bFHOl.js +181 -0
  123. package/dist/configure.js +1 -0
  124. package/dist/{context-DE5sFezZ.js → context-COmAnXUQ.js} +2 -2
  125. package/dist/graph/-private.js +3372 -0
  126. package/dist/handler-C2T-IyJK.js +339 -0
  127. package/dist/index.js +37 -104
  128. package/dist/reactive/-private.js +1 -0
  129. package/dist/reactive.js +1988 -0
  130. package/dist/request-state-CjLph1LP.js +8139 -0
  131. package/dist/request.js +1 -1
  132. package/dist/store/-private.js +3 -0
  133. package/dist/store.js +545 -0
  134. package/dist/symbols-SIstXMLI.js +44 -0
  135. package/dist/types/-private.js +3 -3
  136. package/dist/types/record.js +1 -1
  137. package/dist/types/request.js +2 -2
  138. package/dist/types/runtime.js +1 -1
  139. package/dist/types/schema/fields.js +8 -41
  140. package/dist/types/symbols.js +3 -3
  141. package/dist/utils/string.js +92 -0
  142. package/logos/NCC-1701-a-blue.svg +4 -0
  143. package/logos/NCC-1701-a-gold.svg +4 -0
  144. package/logos/NCC-1701-a-gold_100.svg +1 -0
  145. package/logos/NCC-1701-a-gold_base-64.txt +1 -0
  146. package/logos/NCC-1701-a.svg +4 -0
  147. package/logos/README.md +4 -0
  148. package/logos/docs-badge.svg +2 -0
  149. package/logos/ember-data-logo-dark.svg +12 -0
  150. package/logos/ember-data-logo-light.svg +12 -0
  151. package/logos/github-header.svg +444 -0
  152. package/logos/social1.png +0 -0
  153. package/logos/social2.png +0 -0
  154. package/logos/warp-drive-logo-dark.svg +4 -0
  155. package/logos/warp-drive-logo-gold.svg +4 -0
  156. package/package.json +11 -8
  157. package/declarations/index.d.ts.map +0 -1
  158. package/declarations/request/-private/context.d.ts.map +0 -1
  159. package/declarations/request/-private/debug.d.ts.map +0 -1
  160. package/declarations/request/-private/fetch.d.ts.map +0 -1
  161. package/declarations/request/-private/future.d.ts.map +0 -1
  162. package/declarations/request/-private/manager.d.ts.map +0 -1
  163. package/declarations/request/-private/promise-cache.d.ts.map +0 -1
  164. package/declarations/request/-private/types.d.ts.map +0 -1
  165. package/declarations/request/-private/utils.d.ts.map +0 -1
  166. package/declarations/request.d.ts.map +0 -1
  167. package/declarations/types/-private.d.ts.map +0 -1
  168. package/declarations/types/cache/aliases.d.ts.map +0 -1
  169. package/declarations/types/cache/change.d.ts.map +0 -1
  170. package/declarations/types/cache/mutations.d.ts.map +0 -1
  171. package/declarations/types/cache/operations.d.ts.map +0 -1
  172. package/declarations/types/cache/relationship.d.ts.map +0 -1
  173. package/declarations/types/cache.d.ts.map +0 -1
  174. package/declarations/types/graph.d.ts.map +0 -1
  175. package/declarations/types/identifier.d.ts.map +0 -1
  176. package/declarations/types/json/raw.d.ts.map +0 -1
  177. package/declarations/types/params.d.ts.map +0 -1
  178. package/declarations/types/record.d.ts.map +0 -1
  179. package/declarations/types/record.type-test.d.ts +0 -2
  180. package/declarations/types/record.type-test.d.ts.map +0 -1
  181. package/declarations/types/request.d.ts.map +0 -1
  182. package/declarations/types/request.type-test.d.ts +0 -2
  183. package/declarations/types/request.type-test.d.ts.map +0 -1
  184. package/declarations/types/runtime.d.ts.map +0 -1
  185. package/declarations/types/schema/concepts.d.ts.map +0 -1
  186. package/declarations/types/schema/fields.d.ts.map +0 -1
  187. package/declarations/types/schema/fields.type-test.d.ts.map +0 -1
  188. package/declarations/types/spec/document.d.ts.map +0 -1
  189. package/declarations/types/spec/error.d.ts.map +0 -1
  190. package/declarations/types/spec/json-api-raw.d.ts.map +0 -1
  191. package/declarations/types/symbols.d.ts.map +0 -1
  192. package/declarations/types/utils.d.ts.map +0 -1
  193. package/declarations/types.d.ts.map +0 -1
  194. package/dist/context-DE5sFezZ.js.map +0 -1
  195. package/dist/index.js.map +0 -1
  196. package/dist/request.js.map +0 -1
  197. package/dist/types/-private.js.map +0 -1
  198. package/dist/types/cache/aliases.js.map +0 -1
  199. package/dist/types/cache/change.js.map +0 -1
  200. package/dist/types/cache/mutations.js.map +0 -1
  201. package/dist/types/cache/operations.js.map +0 -1
  202. package/dist/types/cache/relationship.js.map +0 -1
  203. package/dist/types/cache.js.map +0 -1
  204. package/dist/types/graph.js.map +0 -1
  205. package/dist/types/identifier.js.map +0 -1
  206. package/dist/types/json/raw.js.map +0 -1
  207. package/dist/types/params.js.map +0 -1
  208. package/dist/types/record.js.map +0 -1
  209. package/dist/types/request.js.map +0 -1
  210. package/dist/types/runtime.js.map +0 -1
  211. package/dist/types/schema/concepts.js.map +0 -1
  212. package/dist/types/schema/fields.js.map +0 -1
  213. package/dist/types/schema/fields.type-test.js.map +0 -1
  214. package/dist/types/spec/document.js.map +0 -1
  215. package/dist/types/spec/error.js.map +0 -1
  216. package/dist/types/spec/json-api-raw.js.map +0 -1
  217. package/dist/types/symbols.js.map +0 -1
  218. package/dist/types/utils.js.map +0 -1
  219. package/dist/types.js.map +0 -1
@@ -1,2 +1,12 @@
1
+ // The ResourceBlob is an opaque type that must
2
+ // satisfy two constraints.
3
+ // (1) it should be possible for the IdentifierCache
4
+ // to be able to generate a RecordIdentifier for it
5
+ // whether by default or due to configuration.
6
+ // (2) it should be in a format expected by the Cache.
7
+ // This format is Cache declared.
8
+ //
9
+ // this Opaqueness allows arbitrary storage of any
10
+ // serializable / transferable state including such things
11
+ // as Buffers and Strings.
1
12
  export type ResourceBlob = unknown;
2
- //# sourceMappingURL=aliases.d.ts.map
@@ -1,7 +1,6 @@
1
- import type { StableDocumentIdentifier, StableRecordIdentifier } from '../identifier.ts';
1
+ import type { StableDocumentIdentifier, StableRecordIdentifier } from "../identifier.js";
2
2
  export interface Change {
3
- identifier: StableRecordIdentifier | StableDocumentIdentifier;
4
- op: 'upsert' | 'remove';
5
- patch?: unknown;
3
+ identifier: StableRecordIdentifier | StableDocumentIdentifier;
4
+ op: "upsert" | "remove";
5
+ patch?: unknown;
6
6
  }
7
- //# sourceMappingURL=change.d.ts.map
@@ -1,39 +1,62 @@
1
- import type { StableRecordIdentifier } from '../identifier.ts';
1
+ import type { StableRecordIdentifier } from "../identifier.js";
2
2
  export interface AddToResourceRelationshipMutation {
3
- op: 'add';
4
- record: StableRecordIdentifier;
5
- field: string;
6
- value: StableRecordIdentifier | StableRecordIdentifier[];
7
- index?: number;
3
+ op: "add";
4
+ record: StableRecordIdentifier;
5
+ field: string;
6
+ value: StableRecordIdentifier | StableRecordIdentifier[];
7
+ index?: number;
8
8
  }
9
9
  export interface RemoveFromResourceRelationshipMutation {
10
- op: 'remove';
11
- record: StableRecordIdentifier;
12
- field: string;
13
- value: StableRecordIdentifier | StableRecordIdentifier[];
14
- index?: number;
10
+ op: "remove";
11
+ record: StableRecordIdentifier;
12
+ field: string;
13
+ value: StableRecordIdentifier | StableRecordIdentifier[];
14
+ index?: number;
15
15
  }
16
16
  export interface ReplaceRelatedRecordMutation {
17
- op: 'replaceRelatedRecord';
18
- record: StableRecordIdentifier;
19
- field: string;
20
- value: StableRecordIdentifier | null;
21
- prior?: StableRecordIdentifier;
22
- index?: number;
17
+ op: "replaceRelatedRecord";
18
+ record: StableRecordIdentifier;
19
+ field: string;
20
+ // never null if field is a collection
21
+ value: StableRecordIdentifier | null;
22
+ // if field is a collection,
23
+ // the value we are swapping with
24
+ prior?: StableRecordIdentifier;
25
+ index?: number;
23
26
  }
24
27
  export interface ReplaceRelatedRecordsMutation {
25
- op: 'replaceRelatedRecords';
26
- record: StableRecordIdentifier;
27
- field: string;
28
- value: StableRecordIdentifier[];
29
- prior?: StableRecordIdentifier[];
30
- index?: number;
28
+ op: "replaceRelatedRecords";
29
+ record: StableRecordIdentifier;
30
+ field: string;
31
+ // the records to add. If no prior/index
32
+ // specified all existing should be removed
33
+ value: StableRecordIdentifier[];
34
+ // if this is a "splice" the
35
+ // records we expect to be removed
36
+ prior?: StableRecordIdentifier[];
37
+ // if this is a "splice" the
38
+ // index to start from
39
+ index?: number;
31
40
  }
32
41
  export interface SortRelatedRecordsMutation {
33
- op: 'sortRelatedRecords';
34
- record: StableRecordIdentifier;
35
- field: string;
36
- value: StableRecordIdentifier[];
42
+ op: "sortRelatedRecords";
43
+ record: StableRecordIdentifier;
44
+ field: string;
45
+ value: StableRecordIdentifier[];
37
46
  }
47
+ // A Mutation is an action that updates
48
+ // the local state of the Cache in some
49
+ // manner.
50
+ // Most Mutations are in theory also
51
+ // Operations; with the difference being
52
+ // that the change should be applied as
53
+ // "local" or "dirty" state instead of
54
+ // as "remote" or "clean" state.
55
+ //
56
+ // Note: this RFC does not publicly surface
57
+ // any of the mutations listed here as
58
+ // "operations", though the (private) Graph
59
+ // already expects and utilizes these.
60
+ // and we look forward to an RFC that makes
61
+ // the Graph a fully public API.
38
62
  export type Mutation = ReplaceRelatedRecordsMutation | ReplaceRelatedRecordMutation | RemoveFromResourceRelationshipMutation | AddToResourceRelationshipMutation | SortRelatedRecordsMutation;
39
- //# sourceMappingURL=mutations.d.ts.map
@@ -1,72 +1,85 @@
1
- import type { StableDocumentIdentifier, StableExistingRecordIdentifier, StableRecordIdentifier } from '../identifier.ts';
2
- import type { Value } from '../json/raw.ts';
3
- import type { ExistingResourceObject } from '../spec/json-api-raw.ts';
4
- import type { Relationship } from './relationship.ts';
1
+ import type { StableDocumentIdentifier, StableExistingRecordIdentifier, StableRecordIdentifier } from "../identifier.js";
2
+ import type { Value } from "../json/raw.js";
3
+ import type { ExistingResourceObject } from "../spec/json-api-raw.js";
4
+ import type { Relationship } from "./relationship.js";
5
5
  export interface Op {
6
- op: string;
6
+ op: string;
7
7
  }
8
+ // Occasionally the IdentifierCache
9
+ // discovers that two previously thought
10
+ // to be distinct Identifiers refer to
11
+ // the same ResourceBlob. This Operation
12
+ // will be performed giving the Cache the
13
+ // change to cleanup and merge internal
14
+ // state as desired when this discovery
15
+ // is made.
8
16
  export interface MergeOperation extends Op {
9
- op: 'mergeIdentifiers';
10
- record: StableRecordIdentifier;
11
- value: StableRecordIdentifier;
17
+ op: "mergeIdentifiers";
18
+ // existing
19
+ record: StableRecordIdentifier;
20
+ // new
21
+ value: StableRecordIdentifier;
12
22
  }
13
23
  export interface RemoveDocumentOperation extends Op {
14
- op: 'remove';
15
- record: StableDocumentIdentifier;
24
+ op: "remove";
25
+ record: StableDocumentIdentifier;
16
26
  }
17
27
  export interface RemoveResourceOperation extends Op {
18
- op: 'remove';
19
- record: StableExistingRecordIdentifier;
28
+ op: "remove";
29
+ record: StableExistingRecordIdentifier;
20
30
  }
21
31
  export interface AddResourceOperation extends Op {
22
- op: 'add';
23
- record: StableExistingRecordIdentifier;
24
- value: ExistingResourceObject;
32
+ op: "add";
33
+ record: StableExistingRecordIdentifier;
34
+ value: ExistingResourceObject;
25
35
  }
26
36
  export interface UpdateResourceOperation extends Op {
27
- op: 'update';
28
- record: StableExistingRecordIdentifier;
29
- value: ExistingResourceObject;
37
+ op: "update";
38
+ record: StableExistingRecordIdentifier;
39
+ value: ExistingResourceObject;
30
40
  }
31
41
  export interface UpdateResourceFieldOperation extends Op {
32
- op: 'update';
33
- record: StableExistingRecordIdentifier;
34
- field: string;
35
- value: Value;
42
+ op: "update";
43
+ record: StableExistingRecordIdentifier;
44
+ field: string;
45
+ value: Value;
36
46
  }
37
47
  export interface UpdateResourceRelationshipOperation extends Op {
38
- op: 'update';
39
- record: StableExistingRecordIdentifier;
40
- field: string;
41
- value: Relationship<StableExistingRecordIdentifier>;
48
+ op: "update";
49
+ record: StableExistingRecordIdentifier;
50
+ field: string;
51
+ value: Relationship<StableExistingRecordIdentifier>;
42
52
  }
43
53
  export interface AddToDocumentOperation extends Op {
44
- op: 'add';
45
- record: StableDocumentIdentifier;
46
- field: 'data' | 'included';
47
- value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
48
- index?: number;
54
+ op: "add";
55
+ record: StableDocumentIdentifier;
56
+ field: "data" | "included";
57
+ value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
58
+ index?: number;
49
59
  }
50
60
  export interface AddToResourceRelationshipOperation extends Op {
51
- op: 'add';
52
- record: StableExistingRecordIdentifier;
53
- field: string;
54
- value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
55
- index?: number;
61
+ op: "add";
62
+ record: StableExistingRecordIdentifier;
63
+ field: string;
64
+ value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
65
+ index?: number;
56
66
  }
57
67
  export interface RemoveFromResourceRelationshipOperation extends Op {
58
- op: 'remove';
59
- record: StableExistingRecordIdentifier;
60
- field: string;
61
- value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
62
- index?: number;
68
+ op: "remove";
69
+ record: StableExistingRecordIdentifier;
70
+ field: string;
71
+ value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
72
+ index?: number;
63
73
  }
64
74
  export interface RemoveFromDocumentOperation extends Op {
65
- op: 'remove';
66
- record: StableDocumentIdentifier;
67
- field: 'data' | 'included';
68
- value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
69
- index?: number;
75
+ op: "remove";
76
+ record: StableDocumentIdentifier;
77
+ field: "data" | "included";
78
+ value: StableExistingRecordIdentifier | StableExistingRecordIdentifier[];
79
+ index?: number;
70
80
  }
81
+ // An Operation is an action that updates
82
+ // the remote state of the Cache in some
83
+ // manner. Additional Operations will be
84
+ // added in the future.
71
85
  export type Operation = MergeOperation | RemoveResourceOperation | RemoveDocumentOperation | AddResourceOperation | UpdateResourceOperation | UpdateResourceFieldOperation | AddToResourceRelationshipOperation | RemoveFromResourceRelationshipOperation | AddToDocumentOperation | RemoveFromDocumentOperation;
72
- //# sourceMappingURL=operations.d.ts.map
@@ -1,14 +1,16 @@
1
- import type { StableRecordIdentifier } from '../identifier.ts';
2
- import type { Links, Meta, PaginationLinks } from '../spec/json-api-raw.ts';
1
+ import type { StableRecordIdentifier } from "../identifier.js";
2
+ import type { Links, Meta, PaginationLinks } from "../spec/json-api-raw.js";
3
+ // we request that it be in the stable form already.
3
4
  export interface ResourceRelationship<T = StableRecordIdentifier> {
4
- data?: T | null;
5
- meta?: Meta;
6
- links?: Links;
5
+ data?: T | null;
6
+ meta?: Meta;
7
+ links?: Links;
7
8
  }
9
+ // Note: in v1 data could be a ResourceIdentifier, now
10
+ // we request that it be in the stable form already.
8
11
  export interface CollectionRelationship<T = StableRecordIdentifier> {
9
- data?: T[];
10
- meta?: Meta;
11
- links?: PaginationLinks;
12
+ data?: T[];
13
+ meta?: Meta;
14
+ links?: PaginationLinks;
12
15
  }
13
16
  export type Relationship<T = StableRecordIdentifier> = ResourceRelationship<T> | CollectionRelationship<T>;
14
- //# sourceMappingURL=relationship.d.ts.map