@warp-drive/core 5.6.0-alpha.17 → 5.6.0-alpha.5

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 +7 -8
  2. package/declarations/index.d.ts +3 -14
  3. package/declarations/index.d.ts.map +1 -0
  4. package/declarations/request/-private/context.d.ts +35 -34
  5. package/declarations/request/-private/context.d.ts.map +1 -0
  6. package/declarations/request/-private/debug.d.ts +3 -2
  7. package/declarations/request/-private/debug.d.ts.map +1 -0
  8. package/declarations/request/-private/fetch.d.ts +36 -24
  9. package/declarations/request/-private/fetch.d.ts.map +1 -0
  10. package/declarations/request/-private/future.d.ts +4 -3
  11. package/declarations/request/-private/future.d.ts.map +1 -0
  12. package/declarations/request/-private/manager.d.ts +132 -159
  13. package/declarations/request/-private/manager.d.ts.map +1 -0
  14. package/declarations/request/-private/promise-cache.d.ts +13 -21
  15. package/declarations/request/-private/promise-cache.d.ts.map +1 -0
  16. package/declarations/request/-private/types.d.ts +123 -124
  17. package/declarations/request/-private/types.d.ts.map +1 -0
  18. package/declarations/request/-private/utils.d.ts +9 -8
  19. package/declarations/request/-private/utils.d.ts.map +1 -0
  20. package/declarations/request.d.ts +433 -5
  21. package/declarations/request.d.ts.map +1 -0
  22. package/declarations/types/-private.d.ts +8 -16
  23. package/declarations/types/-private.d.ts.map +1 -0
  24. package/declarations/types/cache/aliases.d.ts +1 -11
  25. package/declarations/types/cache/aliases.d.ts.map +1 -0
  26. package/declarations/types/cache/change.d.ts +5 -4
  27. package/declarations/types/cache/change.d.ts.map +1 -0
  28. package/declarations/types/cache/mutations.d.ts +28 -51
  29. package/declarations/types/cache/mutations.d.ts.map +1 -0
  30. package/declarations/types/cache/operations.d.ts +47 -60
  31. package/declarations/types/cache/operations.d.ts.map +1 -0
  32. package/declarations/types/cache/relationship.d.ts +9 -11
  33. package/declarations/types/cache/relationship.d.ts.map +1 -0
  34. package/declarations/types/cache.d.ts +484 -495
  35. package/declarations/types/cache.d.ts.map +1 -0
  36. package/declarations/types/graph.d.ts +40 -31
  37. package/declarations/types/graph.d.ts.map +1 -0
  38. package/declarations/types/identifier.d.ts +82 -83
  39. package/declarations/types/identifier.d.ts.map +1 -0
  40. package/declarations/types/json/raw.d.ts +2 -1
  41. package/declarations/types/json/raw.d.ts.map +1 -0
  42. package/declarations/types/params.d.ts +5 -4
  43. package/declarations/types/params.d.ts.map +1 -0
  44. package/declarations/types/record.d.ts +76 -117
  45. package/declarations/types/record.d.ts.map +1 -0
  46. package/declarations/types/record.type-test.d.ts +2 -0
  47. package/declarations/types/record.type-test.d.ts.map +1 -0
  48. package/declarations/types/request.d.ts +266 -289
  49. package/declarations/types/request.d.ts.map +1 -0
  50. package/declarations/types/request.type-test.d.ts +2 -0
  51. package/declarations/types/request.type-test.d.ts.map +1 -0
  52. package/declarations/types/runtime.d.ts +9 -8
  53. package/declarations/types/runtime.d.ts.map +1 -0
  54. package/declarations/types/schema/concepts.d.ts +13 -19
  55. package/declarations/types/schema/concepts.d.ts.map +1 -0
  56. package/declarations/types/schema/fields.d.ts +1741 -1712
  57. package/declarations/types/schema/fields.d.ts.map +1 -0
  58. package/declarations/types/schema/fields.type-test.d.ts +1 -0
  59. package/declarations/types/schema/fields.type-test.d.ts.map +1 -0
  60. package/declarations/types/spec/document.d.ts +22 -28
  61. package/declarations/types/spec/document.d.ts.map +1 -0
  62. package/declarations/types/spec/error.d.ts +17 -16
  63. package/declarations/types/spec/error.d.ts.map +1 -0
  64. package/declarations/types/spec/json-api-raw.d.ts +102 -102
  65. package/declarations/types/spec/json-api-raw.d.ts.map +1 -0
  66. package/declarations/types/symbols.d.ts +75 -74
  67. package/declarations/types/symbols.d.ts.map +1 -0
  68. package/declarations/types/utils.d.ts +5 -5
  69. package/declarations/types/utils.d.ts.map +1 -0
  70. package/declarations/types.d.ts +7 -10
  71. package/declarations/types.d.ts.map +1 -0
  72. package/dist/{context-COmAnXUQ.js → context-DE5sFezZ.js} +2 -2
  73. package/dist/context-DE5sFezZ.js.map +1 -0
  74. package/dist/index.js +104 -37
  75. package/dist/index.js.map +1 -0
  76. package/dist/request.js +1 -1
  77. package/dist/request.js.map +1 -0
  78. package/dist/types/-private.js +3 -3
  79. package/dist/types/-private.js.map +1 -0
  80. package/dist/types/cache/aliases.js.map +1 -0
  81. package/dist/types/cache/change.js.map +1 -0
  82. package/dist/types/cache/mutations.js.map +1 -0
  83. package/dist/types/cache/operations.js.map +1 -0
  84. package/dist/types/cache/relationship.js.map +1 -0
  85. package/dist/types/cache.js.map +1 -0
  86. package/dist/types/graph.js.map +1 -0
  87. package/dist/types/identifier.js.map +1 -0
  88. package/dist/types/json/raw.js.map +1 -0
  89. package/dist/types/params.js.map +1 -0
  90. package/dist/types/record.js +1 -1
  91. package/dist/types/record.js.map +1 -0
  92. package/dist/types/request.js +2 -2
  93. package/dist/types/request.js.map +1 -0
  94. package/dist/types/runtime.js +1 -1
  95. package/dist/types/runtime.js.map +1 -0
  96. package/dist/types/schema/concepts.js.map +1 -0
  97. package/dist/types/schema/fields.js +41 -8
  98. package/dist/types/schema/fields.js.map +1 -0
  99. package/dist/types/schema/fields.type-test.js.map +1 -0
  100. package/dist/types/spec/document.js.map +1 -0
  101. package/dist/types/spec/error.js.map +1 -0
  102. package/dist/types/spec/json-api-raw.js.map +1 -0
  103. package/dist/types/symbols.js +3 -3
  104. package/dist/types/symbols.js.map +1 -0
  105. package/dist/types/utils.js.map +1 -0
  106. package/dist/types.js.map +1 -0
  107. package/package.json +8 -11
  108. package/cjs-dist/addon-shim.cjs +0 -1
  109. package/cjs-dist/cjs-set-config.cjs +0 -1
  110. package/declarations/build-config/babel-macros.d.ts +0 -1
  111. package/declarations/build-config/canary-features.d.ts +0 -1
  112. package/declarations/build-config/debugging.d.ts +0 -1
  113. package/declarations/build-config/deprecations.d.ts +0 -1
  114. package/declarations/build-config/env.d.ts +0 -1
  115. package/declarations/build-config/macros.d.ts +0 -1
  116. package/declarations/build-config.d.ts +0 -1
  117. package/declarations/configure.d.ts +0 -7
  118. package/declarations/graph/-private/-diff.d.ts +0 -32
  119. package/declarations/graph/-private/-edge-definition.d.ts +0 -148
  120. package/declarations/graph/-private/-state.d.ts +0 -96
  121. package/declarations/graph/-private/-utils.d.ts +0 -31
  122. package/declarations/graph/-private/coerce-id.d.ts +0 -10
  123. package/declarations/graph/-private/debug/assert-polymorphic-type.d.ts +0 -18
  124. package/declarations/graph/-private/edges/collection.d.ts +0 -39
  125. package/declarations/graph/-private/edges/implicit.d.ts +0 -43
  126. package/declarations/graph/-private/edges/resource.d.ts +0 -24
  127. package/declarations/graph/-private/graph.d.ts +0 -90
  128. package/declarations/graph/-private/normalize-link.d.ts +0 -8
  129. package/declarations/graph/-private/operations/add-to-related-records.d.ts +0 -4
  130. package/declarations/graph/-private/operations/merge-identifier.d.ts +0 -3
  131. package/declarations/graph/-private/operations/remove-from-related-records.d.ts +0 -4
  132. package/declarations/graph/-private/operations/replace-related-record.d.ts +0 -3
  133. package/declarations/graph/-private/operations/replace-related-records.d.ts +0 -62
  134. package/declarations/graph/-private/operations/update-relationship.d.ts +0 -13
  135. package/declarations/graph/-private.d.ts +0 -13
  136. package/declarations/reactive/-private/document.d.ts +0 -146
  137. package/declarations/reactive/-private/fields/compute.d.ts +0 -43
  138. package/declarations/reactive/-private/fields/extension.d.ts +0 -8
  139. package/declarations/reactive/-private/fields/managed-array.d.ts +0 -22
  140. package/declarations/reactive/-private/fields/managed-object.d.ts +0 -21
  141. package/declarations/reactive/-private/fields/many-array-manager.d.ts +0 -19
  142. package/declarations/reactive/-private/hooks.d.ts +0 -5
  143. package/declarations/reactive/-private/record.d.ts +0 -64
  144. package/declarations/reactive/-private/schema.d.ts +0 -271
  145. package/declarations/reactive/-private/symbols.d.ts +0 -36
  146. package/declarations/reactive/-private.d.ts +0 -1
  147. package/declarations/reactive.d.ts +0 -4
  148. package/declarations/store/-private/cache-handler/handler.d.ts +0 -62
  149. package/declarations/store/-private/cache-handler/types.d.ts +0 -98
  150. package/declarations/store/-private/cache-handler/utils.d.ts +0 -32
  151. package/declarations/store/-private/caches/cache-utils.d.ts +0 -12
  152. package/declarations/store/-private/caches/identifier-cache.d.ts +0 -304
  153. package/declarations/store/-private/caches/instance-cache.d.ts +0 -65
  154. package/declarations/store/-private/caches/resource-utils.d.ts +0 -9
  155. package/declarations/store/-private/debug/utils.d.ts +0 -6
  156. package/declarations/store/-private/default-cache-policy.d.ts +0 -384
  157. package/declarations/store/-private/legacy-model-support/record-reference.d.ts +0 -159
  158. package/declarations/store/-private/legacy-model-support/shim-model-class.d.ts +0 -17
  159. package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +0 -25
  160. package/declarations/store/-private/managers/cache-manager.d.ts +0 -443
  161. package/declarations/store/-private/managers/notification-manager.d.ts +0 -98
  162. package/declarations/store/-private/managers/record-array-manager.d.ts +0 -97
  163. package/declarations/store/-private/network/request-cache.d.ts +0 -107
  164. package/declarations/store/-private/new-core-tmp/promise-state.d.ts +0 -263
  165. package/declarations/store/-private/new-core-tmp/reactivity/configure.d.ts +0 -176
  166. package/declarations/store/-private/new-core-tmp/reactivity/internal.d.ts +0 -169
  167. package/declarations/store/-private/new-core-tmp/reactivity/signal.d.ts +0 -35
  168. package/declarations/store/-private/new-core-tmp/request-state.d.ts +0 -277
  169. package/declarations/store/-private/new-core-tmp/request-subscription.d.ts +0 -261
  170. package/declarations/store/-private/record-arrays/identifier-array.d.ts +0 -147
  171. package/declarations/store/-private/record-arrays/many-array.d.ts +0 -197
  172. package/declarations/store/-private/record-arrays/native-proxy-type-fix.d.ts +0 -126
  173. package/declarations/store/-private/store-service.d.ts +0 -1605
  174. package/declarations/store/-private/utils/coerce-id.d.ts +0 -10
  175. package/declarations/store/-private/utils/construct-resource.d.ts +0 -6
  176. package/declarations/store/-private/utils/is-non-empty-string.d.ts +0 -1
  177. package/declarations/store/-private/utils/normalize-model-name.d.ts +0 -1
  178. package/declarations/store/-private/utils/uuid-polyfill.d.ts +0 -1
  179. package/declarations/store/-private.d.ts +0 -31
  180. package/declarations/store/-types/q/cache-capabilities-manager.d.ts +0 -99
  181. package/declarations/store/-types/q/ds-model.d.ts +0 -21
  182. package/declarations/store/-types/q/identifier.d.ts +0 -20
  183. package/declarations/store/-types/q/record-instance.d.ts +0 -23
  184. package/declarations/store/-types/q/schema-service.d.ts +0 -354
  185. package/declarations/store/-types/q/store.d.ts +0 -32
  186. package/declarations/store.d.ts +0 -1
  187. package/declarations/utils/string.d.ts +0 -48
  188. package/dist/build-config/babel-macros.js +0 -1
  189. package/dist/build-config/canary-features.js +0 -1
  190. package/dist/build-config/debugging.js +0 -1
  191. package/dist/build-config/deprecations.js +0 -1
  192. package/dist/build-config/env.js +0 -1
  193. package/dist/build-config/macros.js +0 -1
  194. package/dist/build-config.js +0 -1
  195. package/dist/configure-B48bFHOl.js +0 -181
  196. package/dist/configure.js +0 -1
  197. package/dist/graph/-private.js +0 -3372
  198. package/dist/handler-C2T-IyJK.js +0 -339
  199. package/dist/reactive/-private.js +0 -1
  200. package/dist/reactive.js +0 -1988
  201. package/dist/request-state-CjLph1LP.js +0 -8139
  202. package/dist/store/-private.js +0 -3
  203. package/dist/store.js +0 -545
  204. package/dist/symbols-SIstXMLI.js +0 -44
  205. package/dist/utils/string.js +0 -92
  206. package/logos/NCC-1701-a-blue.svg +0 -4
  207. package/logos/NCC-1701-a-gold.svg +0 -4
  208. package/logos/NCC-1701-a-gold_100.svg +0 -1
  209. package/logos/NCC-1701-a-gold_base-64.txt +0 -1
  210. package/logos/NCC-1701-a.svg +0 -4
  211. package/logos/README.md +0 -4
  212. package/logos/docs-badge.svg +0 -2
  213. package/logos/ember-data-logo-dark.svg +0 -12
  214. package/logos/ember-data-logo-light.svg +0 -12
  215. package/logos/github-header.svg +0 -444
  216. package/logos/social1.png +0 -0
  217. package/logos/social2.png +0 -0
  218. package/logos/warp-drive-logo-dark.svg +0 -4
  219. package/logos/warp-drive-logo-gold.svg +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,56 @@
1
- import type { AddToResourceRelationshipMutation as AddResourceMutation, RemoveFromResourceRelationshipMutation as RemoveResourceMutation } from "./cache/mutations.js";
2
- import type { AddToResourceRelationshipOperation as AddResourceOperation, RemoveFromResourceRelationshipOperation as RemoveResourceOperation, UpdateResourceRelationshipOperation } from "./cache/operations.js";
3
- import type { StableRecordIdentifier } from "./identifier.js";
4
- import type { CollectionResourceRelationship, SingleResourceRelationship } from "./spec/json-api-raw.js";
1
+ import type { AddToResourceRelationshipMutation as AddResourceMutation, RemoveFromResourceRelationshipMutation as RemoveResourceMutation } from './cache/mutations.ts';
2
+ import type { AddToResourceRelationshipOperation as AddResourceOperation, RemoveFromResourceRelationshipOperation as RemoveResourceOperation, UpdateResourceRelationshipOperation } from './cache/operations.ts';
3
+ import type { CollectionRelationship, ResourceRelationship } from './cache/relationship.ts';
4
+ import type { StableRecordIdentifier } from './identifier.ts';
5
+ import type { CollectionResourceRelationship, SingleResourceRelationship } from './spec/json-api-raw.ts';
6
+ export interface Graph {
7
+ identifiers: Map<StableRecordIdentifier, unknown>;
8
+ getData(identifier: StableRecordIdentifier, field: string): ResourceRelationship | CollectionRelationship;
9
+ remove(identifier: StableRecordIdentifier): void;
10
+ registerPolymorphicType(abstract: string, concrete: string): void;
11
+ destroy(): void;
12
+ }
5
13
  export interface Operation {
6
- op: string;
14
+ op: string;
7
15
  }
8
16
  export interface UpdateRelationshipOperation {
9
- op: "updateRelationship";
10
- record: StableRecordIdentifier;
11
- field: string;
12
- value: SingleResourceRelationship | CollectionResourceRelationship;
17
+ op: 'updateRelationship';
18
+ record: StableRecordIdentifier;
19
+ field: string;
20
+ value: SingleResourceRelationship | CollectionResourceRelationship;
13
21
  }
14
22
  export interface DeleteRecordOperation {
15
- op: "deleteRecord";
16
- record: StableRecordIdentifier;
17
- isNew: boolean;
23
+ op: 'deleteRecord';
24
+ record: StableRecordIdentifier;
25
+ isNew: boolean;
18
26
  }
19
27
  export interface UnknownOperation {
20
- op: "never";
21
- record: StableRecordIdentifier;
22
- field: string;
28
+ op: 'never';
29
+ record: StableRecordIdentifier;
30
+ field: string;
23
31
  }
24
32
  export interface ReplaceRelatedRecordOperation {
25
- op: "replaceRelatedRecord";
26
- record: StableRecordIdentifier;
27
- field: string;
28
- value: StableRecordIdentifier | null;
29
- prior?: StableRecordIdentifier;
30
- index?: number;
33
+ op: 'replaceRelatedRecord';
34
+ record: StableRecordIdentifier;
35
+ field: string;
36
+ value: StableRecordIdentifier | null;
37
+ prior?: StableRecordIdentifier;
38
+ index?: number;
31
39
  }
32
40
  export interface SortRelatedRecords {
33
- op: "sortRelatedRecords";
34
- record: StableRecordIdentifier;
35
- field: string;
36
- value: StableRecordIdentifier[];
41
+ op: 'sortRelatedRecords';
42
+ record: StableRecordIdentifier;
43
+ field: string;
44
+ value: StableRecordIdentifier[];
37
45
  }
38
46
  export interface ReplaceRelatedRecordsOperation {
39
- op: "replaceRelatedRecords";
40
- record: StableRecordIdentifier;
41
- field: string;
42
- value: StableRecordIdentifier[];
43
- prior?: StableRecordIdentifier[];
44
- index?: number;
47
+ op: 'replaceRelatedRecords';
48
+ record: StableRecordIdentifier;
49
+ field: string;
50
+ value: StableRecordIdentifier[];
51
+ prior?: StableRecordIdentifier[];
52
+ index?: number;
45
53
  }
46
54
  export type RemoteRelationshipOperation = UpdateResourceRelationshipOperation | UpdateRelationshipOperation | ReplaceRelatedRecordOperation | ReplaceRelatedRecordsOperation | RemoveResourceOperation | AddResourceOperation | DeleteRecordOperation | SortRelatedRecords;
47
55
  export type LocalRelationshipOperation = ReplaceRelatedRecordsOperation | ReplaceRelatedRecordOperation | AddResourceMutation | RemoveResourceMutation | SortRelatedRecords;
56
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/types/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iCAAiC,IAAI,mBAAmB,EACxD,sCAAsC,IAAI,sBAAsB,EACjE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,kCAAkC,IAAI,oBAAoB,EAC1D,uCAAuC,IAAI,uBAAuB,EAClE,mCAAmC,EACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEzG,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAElD,OAAO,CAAC,UAAU,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;IAE1G,MAAM,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACjD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAClE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,oBAAoB,CAAC;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,0BAA0B,GAAG,8BAA8B,CAAC;CACpE;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,sBAAsB,CAAC;IAC3B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,oBAAoB,CAAC;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,uBAAuB,CAAC;IAC5B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,2BAA2B,GACnC,mCAAmC,GACnC,2BAA2B,GAC3B,6BAA6B,GAC7B,8BAA8B,GAC9B,uBAAuB,GACvB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,0BAA0B,GAClC,8BAA8B,GAC9B,6BAA6B,GAC7B,mBAAmB,GACnB,sBAAsB,GACtB,kBAAkB,CAAC"}
@@ -1,112 +1,111 @@
1
- // provided for additional debuggability
2
1
  export declare const DEBUG_CLIENT_ORIGINATED: unique symbol;
3
2
  export declare const DEBUG_IDENTIFIER_BUCKET: unique symbol;
4
3
  export declare const DEBUG_STALE_CACHE_OWNER: unique symbol;
5
- // also present in production
6
- export declare const CACHE_OWNER: "__$co";
7
- export type IdentifierBucket = "record" | "document";
4
+ export declare const CACHE_OWNER: '__$co';
5
+ export type IdentifierBucket = 'record' | 'document';
8
6
  export interface Identifier {
9
- lid: string;
10
- clientId?: string;
7
+ lid: string;
8
+ clientId?: string;
11
9
  }
12
10
  export interface ExistingRecordIdentifier<T extends string = string> extends Identifier {
13
- id: string;
14
- type: T;
11
+ id: string;
12
+ type: T;
15
13
  }
16
14
  export interface NewRecordIdentifier<T extends string = string> extends Identifier {
17
- id: string | null;
18
- type: T;
15
+ id: string | null;
16
+ type: T;
19
17
  }
20
18
  export type StableDocumentIdentifier = {
21
- lid: string;
19
+ lid: string;
22
20
  };
23
21
  export type RequestKey = StableDocumentIdentifier;
24
22
  /**
25
- * An Identifier specific to a record which may or may not
26
- * be present in the cache.
27
- *
28
- * The absence of an `id` DOES NOT indicate that this
29
- * Identifier is for a new client-created record as it
30
- * may also indicate that it was generated for a secondary
31
- * index and the primary `id` index is not yet known.
32
- *
33
- * @internal
34
- */
23
+ * An Identifier specific to a record which may or may not
24
+ * be present in the cache.
25
+ *
26
+ * The absence of an `id` DOES NOT indicate that this
27
+ * Identifier is for a new client-created record as it
28
+ * may also indicate that it was generated for a secondary
29
+ * index and the primary `id` index is not yet known.
30
+ *
31
+ * @internal
32
+ */
35
33
  export type RecordIdentifier<T extends string = string> = ExistingRecordIdentifier<T> | NewRecordIdentifier<T>;
36
34
  /**
37
- * Used when an Identifier is known to be the stable version
38
- *
39
- * @internal
40
- */
35
+ * Used when an Identifier is known to be the stable version
36
+ *
37
+ * @internal
38
+ */
41
39
  export interface StableIdentifier extends Identifier {
42
- [DEBUG_IDENTIFIER_BUCKET]?: string;
40
+ [DEBUG_IDENTIFIER_BUCKET]?: string;
43
41
  }
44
42
  /**
45
- * Used when a StableRecordIdentifier was not created locally as part
46
- * of a call to store.createRecord
47
- *
48
- * Distinguishing between this Identifier and one for a client created
49
- * record that was created with an ID is generally speaking not possible
50
- * at runtime, so anything with an ID typically narrows to this.
51
- *
52
- * @internal
53
- */
43
+ * Used when a StableRecordIdentifier was not created locally as part
44
+ * of a call to store.createRecord
45
+ *
46
+ * Distinguishing between this Identifier and one for a client created
47
+ * record that was created with an ID is generally speaking not possible
48
+ * at runtime, so anything with an ID typically narrows to this.
49
+ *
50
+ * @internal
51
+ */
54
52
  export interface StableExistingRecordIdentifier<T extends string = string> extends StableIdentifier {
55
- id: string;
56
- type: T;
57
- [DEBUG_CLIENT_ORIGINATED]?: boolean;
58
- [CACHE_OWNER]: number | undefined;
59
- [DEBUG_STALE_CACHE_OWNER]?: number | undefined;
53
+ id: string;
54
+ type: T;
55
+ [DEBUG_CLIENT_ORIGINATED]?: boolean;
56
+ [CACHE_OWNER]: number | undefined;
57
+ [DEBUG_STALE_CACHE_OWNER]?: number | undefined;
60
58
  }
61
59
  /**
62
- * Used when a StableRecordIdentifier was created locally
63
- * (by a call to store.createRecord).
64
- *
65
- * It is possible in rare circumstances to have a StableRecordIdentifier
66
- * that is not for a new record but does not have an ID. This would
67
- * happen if a user intentionally created one for use with a secondary-index
68
- * prior to the record having been fully loaded.
69
- *
70
- * @internal
71
- */
60
+ * Used when a StableRecordIdentifier was created locally
61
+ * (by a call to store.createRecord).
62
+ *
63
+ * It is possible in rare circumstances to have a StableRecordIdentifier
64
+ * that is not for a new record but does not have an ID. This would
65
+ * happen if a user intentionally created one for use with a secondary-index
66
+ * prior to the record having been fully loaded.
67
+ *
68
+ * @internal
69
+ */
72
70
  export interface StableNewRecordIdentifier<T extends string = string> extends StableIdentifier {
73
- id: string | null;
74
- type: T;
75
- [DEBUG_CLIENT_ORIGINATED]?: boolean;
76
- [CACHE_OWNER]: number | undefined;
77
- [DEBUG_STALE_CACHE_OWNER]?: number | undefined;
71
+ id: string | null;
72
+ type: T;
73
+ [DEBUG_CLIENT_ORIGINATED]?: boolean;
74
+ [CACHE_OWNER]: number | undefined;
75
+ [DEBUG_STALE_CACHE_OWNER]?: number | undefined;
78
76
  }
79
77
  /**
80
- * A referentially stable object with a unique string (lid) that can be used
81
- * as a reference to data in the cache.
82
- *
83
- * Every record instance has a unique identifier, and identifiers may refer
84
- * to data that has never been loaded (for instance, in an async relationship).
85
- *
86
- * @class StableRecordIdentifier
87
- * @public
88
- */
78
+ * A referentially stable object with a unique string (lid) that can be used
79
+ * as a reference to data in the cache.
80
+ *
81
+ * Every record instance has a unique identifier, and identifiers may refer
82
+ * to data that has never been loaded (for instance, in an async relationship).
83
+ *
84
+ * @class StableRecordIdentifier
85
+ * @public
86
+ */
89
87
  /**
90
- * A string representing a unique identity.
91
- *
92
- * @property lid
93
- * @type {String}
94
- * @public
95
- */
88
+ * A string representing a unique identity.
89
+ *
90
+ * @property lid
91
+ * @type {String}
92
+ * @public
93
+ */
96
94
  /**
97
- * the primary resource `type` or `modelName` this identity belongs to.
98
- *
99
- * @property type
100
- * @type {String}
101
- * @public
102
- */
95
+ * the primary resource `type` or `modelName` this identity belongs to.
96
+ *
97
+ * @property type
98
+ * @type {String}
99
+ * @public
100
+ */
103
101
  /**
104
- * the primary id for the record this identity belongs to. `null`
105
- * if not yet assigned an id.
106
- *
107
- * @property id
108
- * @type {String | null}
109
- * @public
110
- */
102
+ * the primary id for the record this identity belongs to. `null`
103
+ * if not yet assigned an id.
104
+ *
105
+ * @property id
106
+ * @type {String | null}
107
+ * @public
108
+ */
111
109
  export type StableRecordIdentifier<T extends string = string> = StableExistingRecordIdentifier<T> | StableNewRecordIdentifier<T>;
112
110
  export type ResourceKey<T extends string = string> = StableRecordIdentifier<T>;
111
+ //# sourceMappingURL=identifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../src/types/identifier.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAA8C,CAAC;AAC5F,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAAoC,CAAC;AAClF,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAAsC,CAAC;AAOpF,eAAO,MAAM,WAAW,EAAE,OAA4C,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,UAAU;IACrF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,UAAU;IAChF,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE/G;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,gBAAgB;IACjG,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;IACR,CAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC;IACpC,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,gBAAgB;IAC5F,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;IACR,CAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC;IACpC,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IACxD,8BAA8B,CAAC,CAAC,CAAC,GACjC,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAEjC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,sBAAsB,CAAC,CAAC,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export type PrimitiveValue = string | number | boolean | null;
2
2
  export interface ObjectValue {
3
- [key: string]: Value;
3
+ [key: string]: Value;
4
4
  }
5
5
  export type ArrayValue = Value[];
6
6
  export type Value = PrimitiveValue | ArrayValue | ObjectValue;
7
+ //# sourceMappingURL=raw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../../src/types/json/raw.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC9D,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AACD,MAAM,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;AAEjC,MAAM,MAAM,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC"}
@@ -1,9 +1,10 @@
1
- import type { Includes, TypedRecordInstance } from "./record.js";
1
+ import type { Includes, TypedRecordInstance } from './record.ts';
2
2
  export type SerializablePrimitive = string | number | boolean | null;
3
3
  export type Serializable = SerializablePrimitive | SerializablePrimitive[];
4
4
  export type QueryParamsSerializationOptions = {
5
- arrayFormat?: "bracket" | "indices" | "repeat" | "comma";
5
+ arrayFormat?: 'bracket' | 'indices' | 'repeat' | 'comma';
6
6
  };
7
7
  export type QueryParamsSource<T = unknown> = ({
8
- include?: T extends TypedRecordInstance ? Includes<T>[] : string | string[];
9
- } & Record<Exclude<string, "include">, Serializable>) | URLSearchParams;
8
+ include?: T extends TypedRecordInstance ? Includes<T>[] : string | string[];
9
+ } & Record<Exclude<string, 'include'>, Serializable>) | URLSearchParams;
10
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;AAC3E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,OAAO,IACrC,CAAC;IAAE,OAAO,CAAC,EAAE,CAAC,SAAS,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CACvF,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAC1B,YAAY,CACb,CAAC,GACF,eAAe,CAAC"}
@@ -1,137 +1,96 @@
1
- import type { Type } from "./symbols.js";
1
+ import type { Type } from './symbols.ts';
2
2
  /**
3
- * Records may be anything, They don't even
4
- * have to be objects.
5
- *
6
- * Whatever they are, if they have a Type
7
- * property, that property will be used by WarpDrive
8
- * and WarpDrive to provide better type safety and
9
- * intellisense.
10
- *
11
- * @class TypedRecordInstance
12
- */
3
+ * Records may be anything, They don't even
4
+ * have to be objects.
5
+ *
6
+ * Whatever they are, if they have a Type
7
+ * property, that property will be used by EmberData
8
+ * and WarpDrive to provide better type safety and
9
+ * intellisense.
10
+ *
11
+ * @class TypedRecordInstance
12
+ */
13
13
  export interface TypedRecordInstance {
14
- /**
15
- * The type of the resource.
16
- *
17
- * This is an optional feature that can be used by
18
- * record implementations to provide a typescript
19
- * hint for the type of the resource.
20
- *
21
- * When used, WarpDrive APIs can
22
- * take advantage of this to provide better type
23
- * safety and intellisense.
24
- *
25
- * @property [Type]
26
- * @type {Type}
27
- * @type {String}
28
- */
29
- [Type]: string;
14
+ /**
15
+ * The type of the resource.
16
+ *
17
+ * This is an optional feature that can be used by
18
+ * record implementations to provide a typescript
19
+ * hint for the type of the resource.
20
+ *
21
+ * When used, EmberData and WarpDrive APIs can
22
+ * take advantage of this to provide better type
23
+ * safety and intellisense.
24
+ *
25
+ * @property [Type]
26
+ * @type {Type}
27
+ * @type {String}
28
+ */
29
+ [Type]: string;
30
30
  }
31
31
  /**
32
- * A type utility that extracts the Type if available,
33
- * otherwise it returns never.
34
- *
35
- */
32
+ * A type utility that extracts the Type if available,
33
+ * otherwise it returns never.
34
+ *
35
+ */
36
36
  export type TypeFromInstance<T> = T extends TypedRecordInstance ? T[typeof Type] : never;
37
37
  /**
38
- * A type utility that extracts the Type if available,
39
- * otherwise it returns string
40
- *
41
- */
38
+ * A type utility that extracts the Type if available,
39
+ * otherwise it returns string
40
+ *
41
+ */
42
42
  export type TypeFromInstanceOrString<T> = T extends TypedRecordInstance ? T[typeof Type] : string;
43
43
  type IsUniqueSymbol<T> = T extends `___(unique) Symbol(${string})` ? true : false;
44
44
  type Unpacked<T> = T extends (infer U)[] ? U : T;
45
45
  type NONE = {
46
- __NONE: never;
46
+ __NONE: never;
47
47
  };
48
- type __InternalExtract<
49
- MAX_DEPTH extends _DEPTHCOUNT,
50
- T extends TypedRecordInstance,
51
- V extends TypedRecordInstance,
52
- IncludePrefix extends boolean,
53
- Ignore,
54
- Pre extends string,
55
- DEPTH extends _DEPTHCOUNT
56
- > = V extends T ? IncludePrefix extends false ? V[typeof Type] : Pre : V extends Ignore ? IncludePrefix extends false ? V[typeof Type] : Pre : IS_MAX_DEPTH<DEPTH, MAX_DEPTH> extends true ? Pre : ExtractUnion<MAX_DEPTH, V, IncludePrefix, Ignore | T, Pre, INC_DEPTH<DEPTH>>;
57
- type __ExtractIfRecord<
58
- MAX_DEPTH extends _DEPTHCOUNT,
59
- T extends TypedRecordInstance,
60
- V,
61
- IncludePrefix extends boolean,
62
- Ignore,
63
- Pre extends string,
64
- DEPTH extends _DEPTHCOUNT
65
- > = V extends TypedRecordInstance ? __InternalExtract<MAX_DEPTH, T, V, IncludePrefix, Ignore, Pre, DEPTH> : never;
66
- type _ExtractUnion<
67
- MAX_DEPTH extends _DEPTHCOUNT,
68
- T extends TypedRecordInstance,
69
- IncludePrefix extends boolean,
70
- Ignore,
71
- Pre,
72
- DEPTH extends _DEPTHCOUNT
73
- > = { [K in keyof T] : IsUniqueSymbol<K> extends true ? never : K extends string ? __ExtractIfRecord<MAX_DEPTH, T, Unpacked<Awaited<T[K]>>, IncludePrefix, Ignore, Pre extends string ? `${Pre}.${K}` : K, DEPTH> : never }[keyof T];
48
+ type __InternalExtract<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, V extends TypedRecordInstance, IncludePrefix extends boolean, Ignore, Pre extends string, DEPTH extends _DEPTHCOUNT> = V extends T ? IncludePrefix extends false ? V[typeof Type] : Pre : V extends Ignore ? IncludePrefix extends false ? V[typeof Type] : Pre : IS_MAX_DEPTH<DEPTH, MAX_DEPTH> extends true ? Pre : ExtractUnion<MAX_DEPTH, V, IncludePrefix, Ignore | T, Pre, INC_DEPTH<DEPTH>>;
49
+ type __ExtractIfRecord<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, V, IncludePrefix extends boolean, Ignore, Pre extends string, DEPTH extends _DEPTHCOUNT> = V extends TypedRecordInstance ? __InternalExtract<MAX_DEPTH, T, V, IncludePrefix, Ignore, Pre, DEPTH> : never;
50
+ type _ExtractUnion<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, IncludePrefix extends boolean, Ignore, Pre, DEPTH extends _DEPTHCOUNT> = {
51
+ [K in keyof T]: IsUniqueSymbol<K> extends true ? never : K extends string ? __ExtractIfRecord<MAX_DEPTH, T, Unpacked<Awaited<T[K]>>, IncludePrefix, Ignore, Pre extends string ? `${Pre}.${K}` : K, DEPTH> : never;
52
+ }[keyof T];
74
53
  /**
75
- * A Utility that extracts either resource types or resource paths from a TypedRecordInstance.
76
- *
77
- * Its limitations are mostly around its intentional non-recursiveness. It presumes that APIs which
78
- * implement includes will not allow cyclical include paths, and will collapse includes by type.
79
- *
80
- * This follows closer to the JSON:API fields spec than to the includes spec in nature, but in
81
- * practice it is so impracticle for an API to allow z-algo include paths that this is probably
82
- * reasonable.
83
- *
84
- * We may need to revisit this in the future, opting to either make this restriction optional or
85
- * to allow for other strategies.
86
- *
87
- * There's a 90% chance this particular implementation belongs being in the JSON:API package instead
88
- * of core-types, but it's here for now.
89
- *
90
- */
91
- type ExtractUnion<
92
- MAX_DEPTH extends _DEPTHCOUNT,
93
- T extends TypedRecordInstance,
94
- IncludePrefix extends boolean = false,
95
- Ignore = NONE,
96
- Pre = NONE,
97
- DEPTH extends _DEPTHCOUNT = 1
98
- > = Exclude<IncludePrefix extends true ? _ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | Pre : _ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | T[typeof Type], NONE>;
54
+ * A Utility that extracts either resource types or resource paths from a TypedRecordInstance.
55
+ *
56
+ * Its limitations are mostly around its intentional non-recursiveness. It presumes that APIs which
57
+ * implement includes will not allow cyclical include paths, and will collapse includes by type.
58
+ *
59
+ * This follows closer to the JSON:API fields spec than to the includes spec in nature, but in
60
+ * practice it is so impracticle for an API to allow z-algo include paths that this is probably
61
+ * reasonable.
62
+ *
63
+ * We may need to revisit this in the future, opting to either make this restriction optional or
64
+ * to allow for other strategies.
65
+ *
66
+ * There's a 90% chance this particular implementation belongs being in the JSON:API package instead
67
+ * of core-types, but it's here for now.
68
+ *
69
+ */
70
+ type ExtractUnion<MAX_DEPTH extends _DEPTHCOUNT, T extends TypedRecordInstance, IncludePrefix extends boolean = false, Ignore = NONE, Pre = NONE, DEPTH extends _DEPTHCOUNT = 1> = Exclude<IncludePrefix extends true ? // if we want to include prefix, we union with the prefix. Outer Exclude will filter any "NONE" types
71
+ _ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | Pre : // Else we just union the types.
72
+ _ExtractUnion<MAX_DEPTH, T, IncludePrefix, Ignore, Pre, DEPTH> | T[typeof Type], NONE>;
99
73
  type _DEPTHCOUNT = 1 | 2 | 3 | 4 | 5;
100
74
  type INC_DEPTH<START extends _DEPTHCOUNT> = START extends 1 ? 2 : START extends 2 ? 3 : START extends 3 ? 4 : 5;
101
- type IS_MAX_DEPTH<
102
- DEPTH extends _DEPTHCOUNT,
103
- MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH
104
- > = DEPTH extends MAX_DEPTH ? true : false;
75
+ type IS_MAX_DEPTH<DEPTH extends _DEPTHCOUNT, MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH> = DEPTH extends MAX_DEPTH ? true : false;
105
76
  type DEFAULT_MAX_DEPTH = 3;
106
77
  /**
107
- * A utility that provides the union of all ResourceName for all potential
108
- * includes for the given TypedRecordInstance.
109
- *
110
- */
111
- export type ExtractSuggestedCacheTypes<
112
- T extends TypedRecordInstance,
113
- MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH
114
- > = ExtractUnion<MAX_DEPTH, T>;
78
+ * A utility that provides the union of all ResourceName for all potential
79
+ * includes for the given TypedRecordInstance.
80
+ *
81
+ */
82
+ export type ExtractSuggestedCacheTypes<T extends TypedRecordInstance, MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH> = ExtractUnion<MAX_DEPTH, T>;
115
83
  /**
116
- * A utility that provides the union type of all valid include paths for the given
117
- * TypedRecordInstance.
118
- *
119
- * Cyclical paths are filtered out.
120
- *
121
- */
122
- export type Includes<
123
- T extends TypedRecordInstance,
124
- MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH
125
- > = ExtractUnion<MAX_DEPTH, T, true>;
84
+ * A utility that provides the union type of all valid include paths for the given
85
+ * TypedRecordInstance.
86
+ *
87
+ * Cyclical paths are filtered out.
88
+ *
89
+ */
90
+ export type Includes<T extends TypedRecordInstance, MAX_DEPTH extends _DEPTHCOUNT = DEFAULT_MAX_DEPTH> = ExtractUnion<MAX_DEPTH, T, true>;
126
91
  export type OpaqueRecordInstance = unknown;
127
- export type _StringSatisfiesIncludes<
128
- T extends string,
129
- SET extends string,
130
- FT extends string
131
- > = T extends SET ? FT : T extends `${infer U},${infer V}` ? U extends SET ? _StringSatisfiesIncludes<V, Exclude<SET, U>, FT> : never : never;
132
- export type StringSatisfiesIncludes<
133
- T extends string,
134
- SET extends string
135
- > = _StringSatisfiesIncludes<T, SET, T>;
92
+ export type _StringSatisfiesIncludes<T extends string, SET extends string, FT extends string> = T extends SET ? FT : T extends `${infer U},${infer V}` ? U extends SET ? _StringSatisfiesIncludes<V, Exclude<SET, U>, FT> : never : never;
93
+ export type StringSatisfiesIncludes<T extends string, SET extends string> = _StringSatisfiesIncludes<T, SET, T>;
136
94
  export declare function createIncludeValidator<T extends TypedRecordInstance>(): <U extends string>(includes: StringSatisfiesIncludes<U, Includes<T>>) => U;
137
95
  export {};
96
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/types/record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=record.type-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.type-test.d.ts","sourceRoot":"","sources":["../../src/types/record.type-test.ts"],"names":[],"mappings":""}