@warp-drive/legacy 5.8.0-beta.0 → 5.8.0-beta.1

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 (214) hide show
  1. package/README.md +16 -26
  2. package/declarations/adapter/error.d.ts +7 -7
  3. package/declarations/adapter/json-api.d.ts +6 -8
  4. package/declarations/adapter/rest.d.ts +26 -112
  5. package/declarations/adapter.d.ts +6 -8
  6. package/declarations/compat/-private.d.ts +1 -1
  7. package/declarations/compat/builders/find-all.d.ts +6 -6
  8. package/declarations/compat/builders/find-record.d.ts +8 -8
  9. package/declarations/compat/builders/query.d.ts +12 -12
  10. package/declarations/compat/extensions.d.ts +1 -1
  11. package/declarations/compat/legacy-network-handler/minimum-adapter-interface.d.ts +7 -9
  12. package/declarations/compat/legacy-network-handler/minimum-serializer-interface.d.ts +20 -30
  13. package/declarations/compat/utils.d.ts +17 -17
  14. package/declarations/compat.d.ts +35 -11
  15. package/declarations/index.d.ts +70 -0
  16. package/declarations/model/-private/attr.d.ts +5 -6
  17. package/declarations/model/-private/belongs-to.d.ts +4 -5
  18. package/declarations/model/-private/has-many.d.ts +4 -5
  19. package/declarations/model/-private/hooks.d.ts +1 -1
  20. package/declarations/model/-private/legacy-relationships-support.d.ts +2 -2
  21. package/declarations/model/-private/model.d.ts +18 -59
  22. package/declarations/model/-private/promise-many-array.d.ts +0 -18
  23. package/declarations/model/-private/record-state.d.ts +1 -1
  24. package/declarations/model/-private/references/belongs-to.d.ts +19 -29
  25. package/declarations/model/-private/references/has-many.d.ts +14 -16
  26. package/declarations/model/migration-support.d.ts +46 -21
  27. package/declarations/model-fragments/extensions/fragment-array.d.ts +16 -0
  28. package/declarations/model-fragments/extensions/fragment.d.ts +15 -0
  29. package/declarations/model-fragments/hooks/model-for.d.ts +20 -0
  30. package/declarations/model-fragments/index.d.ts +5 -0
  31. package/declarations/model-fragments/instance-initializers/fragment-extensions.d.ts +9 -0
  32. package/declarations/model-fragments/utilities/with-array-defaults.d.ts +15 -0
  33. package/declarations/model-fragments/utilities/with-fragment-array-defaults.d.ts +20 -0
  34. package/declarations/model-fragments/utilities/with-fragment-defaults.d.ts +19 -0
  35. package/declarations/model-fragments/utilities/with-legacy.d.ts +3 -0
  36. package/declarations/model-fragments.d.ts +9 -0
  37. package/declarations/model.d.ts +2 -2
  38. package/declarations/serializer/-private/embedded-records-mixin.d.ts +1 -6
  39. package/declarations/serializer/-private/transforms/boolean.d.ts +2 -2
  40. package/declarations/serializer/-private/transforms/date.d.ts +2 -2
  41. package/declarations/serializer/-private/transforms/number.d.ts +1 -1
  42. package/declarations/serializer/-private/transforms/string.d.ts +1 -1
  43. package/declarations/serializer/json-api.d.ts +11 -12
  44. package/declarations/serializer/json.d.ts +9 -11
  45. package/declarations/serializer/rest.d.ts +4 -6
  46. package/declarations/serializer.d.ts +9 -12
  47. package/dist/{-private-8UmnAf9J.js → -private-BG3bMiKp.js} +3 -2
  48. package/dist/adapter/-private.js +1 -1
  49. package/dist/adapter/error.js +14 -15
  50. package/dist/adapter/json-api.js +4 -1
  51. package/dist/adapter/rest.js +38 -125
  52. package/dist/adapter.js +6 -8
  53. package/dist/compat/-private.js +1 -1
  54. package/dist/compat/builders.js +26 -26
  55. package/dist/compat/utils.js +17 -18
  56. package/dist/compat.js +61 -43
  57. package/dist/{errors-8kD2mSe_.js → errors-Cz5KrzBk.js} +115 -122
  58. package/dist/hooks-D6diaM34.js +74 -0
  59. package/dist/index.js +195 -0
  60. package/dist/{json-Et4mt_LM.js → json-ChdEfB0X.js} +18 -35
  61. package/dist/model/-private.js +1 -1
  62. package/dist/model/migration-support.js +59 -27
  63. package/dist/model-for-CqXsIKws.js +221 -0
  64. package/dist/model-fragments.js +76 -0
  65. package/dist/model.js +18 -90
  66. package/dist/{schema-provider-DQu4Rjco.js → schema-provider-DJCV_6AF.js} +50 -95
  67. package/dist/{serialize-into-hash-CS0MIv4F.js → serialize-into-hash-DPZYoF-i.js} +1 -1
  68. package/dist/serializer/json-api.js +18 -45
  69. package/dist/serializer/json.js +1 -1
  70. package/dist/serializer/rest.js +14 -21
  71. package/dist/serializer/transform.js +15 -6
  72. package/dist/serializer.js +9 -13
  73. package/dist/store.js +5 -1
  74. package/dist/unpkg/dev/-private-DtjBbEgy.js +1206 -0
  75. package/dist/unpkg/dev/adapter/-private.js +1 -0
  76. package/dist/unpkg/dev/adapter/error.js +335 -0
  77. package/dist/unpkg/dev/adapter/json-api.js +271 -0
  78. package/dist/unpkg/dev/adapter/rest.js +1171 -0
  79. package/dist/unpkg/dev/adapter.js +1252 -0
  80. package/dist/unpkg/dev/compat/-private.js +1 -0
  81. package/dist/unpkg/dev/compat/builders.js +275 -0
  82. package/dist/unpkg/dev/compat/extensions.js +242 -0
  83. package/dist/unpkg/dev/compat/utils.js +223 -0
  84. package/dist/unpkg/dev/compat.js +1147 -0
  85. package/dist/unpkg/dev/errors-DmGGJr3T.js +2562 -0
  86. package/dist/unpkg/dev/hooks-CkYiE6Ud.js +73 -0
  87. package/dist/unpkg/dev/index.js +197 -0
  88. package/dist/unpkg/dev/json-Cu1LNgmQ.js +1256 -0
  89. package/dist/unpkg/dev/model/-private.js +1 -0
  90. package/dist/unpkg/dev/model/migration-support.js +553 -0
  91. package/dist/unpkg/dev/model-for-CqXsIKws.js +221 -0
  92. package/dist/unpkg/dev/model-fragments.js +76 -0
  93. package/dist/unpkg/dev/model.js +678 -0
  94. package/dist/unpkg/dev/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  95. package/dist/unpkg/dev/schema-provider-DDVYxmUV.js +2186 -0
  96. package/dist/unpkg/dev/serialize-into-hash-B2xDbuo5.js +259 -0
  97. package/dist/unpkg/dev/serializer/json-api.js +649 -0
  98. package/dist/unpkg/dev/serializer/json.js +4 -0
  99. package/dist/unpkg/dev/serializer/rest.js +1242 -0
  100. package/dist/unpkg/dev/serializer/transform.js +278 -0
  101. package/dist/unpkg/dev/serializer.js +248 -0
  102. package/dist/unpkg/dev/store.js +637 -0
  103. package/dist/unpkg/dev/util-DvanW33H.js +20 -0
  104. package/dist/unpkg/dev/utils-BhvS1iTS.js +8 -0
  105. package/dist/unpkg/dev-deprecated/-private-DtjBbEgy.js +1206 -0
  106. package/dist/unpkg/dev-deprecated/adapter/-private.js +1 -0
  107. package/dist/unpkg/dev-deprecated/adapter/error.js +335 -0
  108. package/dist/unpkg/dev-deprecated/adapter/json-api.js +271 -0
  109. package/dist/unpkg/dev-deprecated/adapter/rest.js +1171 -0
  110. package/dist/unpkg/dev-deprecated/adapter.js +1252 -0
  111. package/dist/unpkg/dev-deprecated/compat/-private.js +1 -0
  112. package/dist/unpkg/dev-deprecated/compat/builders.js +275 -0
  113. package/dist/unpkg/dev-deprecated/compat/extensions.js +242 -0
  114. package/dist/unpkg/dev-deprecated/compat/utils.js +223 -0
  115. package/dist/unpkg/dev-deprecated/compat.js +1147 -0
  116. package/dist/unpkg/dev-deprecated/errors-Spt6ubMd.js +2565 -0
  117. package/dist/unpkg/dev-deprecated/hooks-DOXegvhL.js +73 -0
  118. package/dist/unpkg/dev-deprecated/index.js +196 -0
  119. package/dist/unpkg/dev-deprecated/json-Cu1LNgmQ.js +1256 -0
  120. package/dist/unpkg/dev-deprecated/model/-private.js +1 -0
  121. package/dist/unpkg/dev-deprecated/model/migration-support.js +570 -0
  122. package/dist/unpkg/dev-deprecated/model-for-CqXsIKws.js +221 -0
  123. package/dist/unpkg/dev-deprecated/model-fragments.js +76 -0
  124. package/dist/unpkg/dev-deprecated/model.js +682 -0
  125. package/dist/unpkg/dev-deprecated/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  126. package/dist/unpkg/dev-deprecated/schema-provider-BP6_8N-V.js +2211 -0
  127. package/dist/unpkg/dev-deprecated/serialize-into-hash-B2xDbuo5.js +259 -0
  128. package/dist/unpkg/dev-deprecated/serializer/json-api.js +649 -0
  129. package/dist/unpkg/dev-deprecated/serializer/json.js +4 -0
  130. package/dist/unpkg/dev-deprecated/serializer/rest.js +1242 -0
  131. package/dist/unpkg/dev-deprecated/serializer/transform.js +278 -0
  132. package/dist/unpkg/dev-deprecated/serializer.js +248 -0
  133. package/dist/unpkg/dev-deprecated/store.js +637 -0
  134. package/dist/unpkg/dev-deprecated/util-CWr5WQOT.js +24 -0
  135. package/dist/unpkg/dev-deprecated/utils-C9PJehtL.js +12 -0
  136. package/dist/unpkg/prod/-private-BdyZaGEh.js +971 -0
  137. package/dist/unpkg/prod/adapter/-private.js +1 -0
  138. package/dist/unpkg/prod/adapter/error.js +330 -0
  139. package/dist/unpkg/prod/adapter/json-api.js +266 -0
  140. package/dist/unpkg/prod/adapter/rest.js +1134 -0
  141. package/dist/unpkg/prod/adapter.js +1219 -0
  142. package/dist/unpkg/prod/compat/-private.js +1 -0
  143. package/dist/unpkg/prod/compat/builders.js +210 -0
  144. package/dist/unpkg/prod/compat/extensions.js +232 -0
  145. package/dist/unpkg/prod/compat/utils.js +218 -0
  146. package/dist/unpkg/prod/compat.js +727 -0
  147. package/dist/unpkg/prod/errors-BGVFCBmi.js +2314 -0
  148. package/dist/unpkg/prod/hooks-BztVA_x0.js +41 -0
  149. package/dist/unpkg/prod/index.js +151 -0
  150. package/dist/unpkg/prod/json-BWrZ5546.js +1243 -0
  151. package/dist/unpkg/prod/model/-private.js +1 -0
  152. package/dist/unpkg/prod/model/migration-support.js +546 -0
  153. package/dist/unpkg/prod/model-for-CqXsIKws.js +221 -0
  154. package/dist/unpkg/prod/model-fragments.js +76 -0
  155. package/dist/unpkg/prod/model.js +593 -0
  156. package/dist/unpkg/prod/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  157. package/dist/unpkg/prod/schema-provider-DJtD_8jZ.js +1861 -0
  158. package/dist/unpkg/prod/serialize-into-hash-DGlzQteF.js +215 -0
  159. package/dist/unpkg/prod/serializer/json-api.js +592 -0
  160. package/dist/unpkg/prod/serializer/json.js +4 -0
  161. package/dist/unpkg/prod/serializer/rest.js +1210 -0
  162. package/dist/unpkg/prod/serializer/transform.js +278 -0
  163. package/dist/unpkg/prod/serializer.js +248 -0
  164. package/dist/unpkg/prod/store.js +505 -0
  165. package/dist/unpkg/prod/util-DvanW33H.js +20 -0
  166. package/dist/unpkg/prod/utils-BhvS1iTS.js +8 -0
  167. package/dist/unpkg/prod-deprecated/-private-BdyZaGEh.js +971 -0
  168. package/dist/unpkg/prod-deprecated/adapter/-private.js +1 -0
  169. package/dist/unpkg/prod-deprecated/adapter/error.js +330 -0
  170. package/dist/unpkg/prod-deprecated/adapter/json-api.js +266 -0
  171. package/dist/unpkg/prod-deprecated/adapter/rest.js +1134 -0
  172. package/dist/unpkg/prod-deprecated/adapter.js +1219 -0
  173. package/dist/unpkg/prod-deprecated/compat/-private.js +1 -0
  174. package/dist/unpkg/prod-deprecated/compat/builders.js +210 -0
  175. package/dist/unpkg/prod-deprecated/compat/extensions.js +232 -0
  176. package/dist/unpkg/prod-deprecated/compat/utils.js +218 -0
  177. package/dist/unpkg/prod-deprecated/compat.js +727 -0
  178. package/dist/unpkg/prod-deprecated/errors-CdDaK81x.js +2317 -0
  179. package/dist/unpkg/prod-deprecated/hooks-yId87yyG.js +41 -0
  180. package/dist/unpkg/prod-deprecated/index.js +150 -0
  181. package/dist/unpkg/prod-deprecated/json-BWrZ5546.js +1243 -0
  182. package/dist/unpkg/prod-deprecated/model/-private.js +1 -0
  183. package/dist/unpkg/prod-deprecated/model/migration-support.js +563 -0
  184. package/dist/unpkg/prod-deprecated/model-for-CqXsIKws.js +221 -0
  185. package/dist/unpkg/prod-deprecated/model-fragments.js +76 -0
  186. package/dist/unpkg/prod-deprecated/model.js +596 -0
  187. package/dist/unpkg/prod-deprecated/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  188. package/dist/unpkg/prod-deprecated/schema-provider-CjX55uSY.js +1904 -0
  189. package/dist/unpkg/prod-deprecated/serialize-into-hash-DGlzQteF.js +215 -0
  190. package/dist/unpkg/prod-deprecated/serializer/json-api.js +592 -0
  191. package/dist/unpkg/prod-deprecated/serializer/json.js +4 -0
  192. package/dist/unpkg/prod-deprecated/serializer/rest.js +1210 -0
  193. package/dist/unpkg/prod-deprecated/serializer/transform.js +278 -0
  194. package/dist/unpkg/prod-deprecated/serializer.js +248 -0
  195. package/dist/unpkg/prod-deprecated/store.js +505 -0
  196. package/dist/unpkg/prod-deprecated/util-B6cn-i93.js +23 -0
  197. package/dist/unpkg/prod-deprecated/utils-BUWwQwCh.js +11 -0
  198. package/logos/README.md +2 -2
  199. package/logos/logo-yellow-slab.svg +1 -0
  200. package/logos/word-mark-black.svg +1 -0
  201. package/logos/word-mark-white.svg +1 -0
  202. package/package.json +15 -7
  203. package/logos/NCC-1701-a-blue.svg +0 -4
  204. package/logos/NCC-1701-a-gold.svg +0 -4
  205. package/logos/NCC-1701-a-gold_100.svg +0 -1
  206. package/logos/NCC-1701-a-gold_base-64.txt +0 -1
  207. package/logos/NCC-1701-a.svg +0 -4
  208. package/logos/docs-badge.svg +0 -2
  209. package/logos/ember-data-logo-dark.svg +0 -12
  210. package/logos/ember-data-logo-light.svg +0 -12
  211. package/logos/social1.png +0 -0
  212. package/logos/social2.png +0 -0
  213. package/logos/warp-drive-logo-dark.svg +0 -4
  214. package/logos/warp-drive-logo-gold.svg +0 -4
@@ -0,0 +1,73 @@
1
+ import { setOwner, getOwner } from '@ember/application';
2
+ import { assertPrivateStore, setRecordIdentifier, StoreMap } from '@warp-drive/core/store/-private';
3
+ import { g as getModelFactory } from "./schema-provider-DDVYxmUV.js";
4
+ import { n as normalizeModelName } from "./util-DvanW33H.js";
5
+ function instantiateRecord(identifier, createRecordArgs) {
6
+ const type = identifier.type;
7
+
8
+ // TODO deprecate allowing unknown args setting
9
+ const createOptions = {
10
+ _createProps: createRecordArgs ?? {},
11
+ // TODO @deprecate consider deprecating accessing record properties during init which the below is necessary for
12
+ _secretInit: {
13
+ identifier,
14
+ store: this,
15
+ cb: secretInit
16
+ }
17
+ };
18
+
19
+ // ensure that `getOwner(this)` works inside a model instance
20
+ setOwner(createOptions, getOwner(this));
21
+ const factory = getModelFactory(this, type);
22
+ (test => {
23
+ if (!test) {
24
+ throw new Error(`No model was found for '${type}'`);
25
+ }
26
+ })(factory);
27
+ return factory.class.create(createOptions);
28
+ }
29
+ function teardownRecord(record) {
30
+ (test => {
31
+ if (!test) {
32
+ throw new Error(`expected to receive an instance of Model from @ember-data/model. If using a custom model make sure you implement teardownRecord`);
33
+ }
34
+ })('destroy' in record);
35
+ record.destroy();
36
+ }
37
+ function modelFor(modelName) {
38
+ assertPrivateStore(this);
39
+ (test => {
40
+ if (!test) {
41
+ throw new Error(`Attempted to call store.modelFor(), but the store instance has already been destroyed.`);
42
+ }
43
+ })(!this.isDestroyed && !this.isDestroying);
44
+ (test => {
45
+ if (!test) {
46
+ throw new Error(`You need to pass a model name to the store's modelFor method`);
47
+ }
48
+ })(modelName);
49
+ (test => {
50
+ if (!test) {
51
+ throw new Error(`Please pass a proper model name to the store's modelFor method`);
52
+ }
53
+ })(typeof modelName === 'string' && modelName.length);
54
+ const type = normalizeModelName(modelName);
55
+ const maybeFactory = getModelFactory(this, type);
56
+ const klass = maybeFactory && maybeFactory.class ? maybeFactory.class : null;
57
+ const ignoreType = !klass || !klass.isModel || this._forceShim;
58
+ if (!ignoreType) {
59
+ return klass;
60
+ }
61
+ (test => {
62
+ if (!test) {
63
+ throw new Error(`No model was found for '${type}' and no schema handles the type`);
64
+ }
65
+ })(this.schema.hasResource({
66
+ type
67
+ }));
68
+ }
69
+ function secretInit(record, identifier, store) {
70
+ setRecordIdentifier(record, identifier);
71
+ StoreMap.set(record, store);
72
+ }
73
+ export { instantiateRecord as i, modelFor as m, teardownRecord as t };
@@ -0,0 +1,197 @@
1
+ import { Store, RequestManager, Fetch, CacheHandler, recordIdentifierFor } from '@warp-drive/core';
2
+ import { SchemaService, registerDerivations, instantiateRecord as instantiateRecord$1, teardownRecord as teardownRecord$1 } from '@warp-drive/core/reactive';
3
+ import { DefaultCachePolicy } from '@warp-drive/core/store';
4
+ import { LegacyNetworkHandler, adapterFor, serializerFor, pushPayload, normalize, serializeRecord, cleanup } from './compat.js';
5
+ import { EmberArrayLikeExtension, EmberObjectArrayExtension, EmberObjectExtension } from './compat/extensions.js';
6
+ import '@ember/object';
7
+ import '@warp-drive/core/types/symbols';
8
+ import '@warp-drive/utilities/string';
9
+ import '@warp-drive/core/store/-private';
10
+ import "./errors-DmGGJr3T.js";
11
+ import "./schema-provider-DDVYxmUV.js";
12
+ import { i as instantiateRecord, t as teardownRecord, m as modelFor } from "./hooks-CkYiE6Ud.js";
13
+ import '@ember/application';
14
+ import { registerDerivations as registerDerivations$1, DelegatingSchemaService } from './model/migration-support.js';
15
+ import { F as FragmentExtension, a as FragmentArrayExtension, f as fragmentsModelFor } from "./model-for-CqXsIKws.js";
16
+ import { restoreDeprecatedStoreBehaviors } from './store.js';
17
+
18
+ /**
19
+ * @module
20
+ * @mergeModuleWith <project>
21
+ */
22
+
23
+ //export type ConfiguredStore<T = unknown> = typeof Store;
24
+
25
+ /**
26
+ * Use the legacy store with the given options.
27
+ */
28
+
29
+ function useLegacyStore(options, StoreKlass = Store) {
30
+ (test => {
31
+ if (!test) {
32
+ throw new Error(`If legacyRequests is true, linksMode must be false`);
33
+ }
34
+ })(!(options.linksMode && options.legacyRequests));
35
+ // we extend the store to ensure we don't leak our prototype overrides to other stores below.
36
+ class BaseKlass extends StoreKlass {}
37
+ class LegacyConfiguredStore extends BaseKlass {
38
+ requestManager = new RequestManager().use([options.linksMode ? null : LegacyNetworkHandler, ...(options.handlers ?? []), Fetch].filter(Boolean)).useCache(CacheHandler);
39
+ lifetimes = options.policy ?? new DefaultCachePolicy({
40
+ apiCacheHardExpires: 15 * 60 * 1000,
41
+ // 15 minutes
42
+ apiCacheSoftExpires: 1 * 30 * 1000,
43
+ // 30 seconds
44
+ constraints: {
45
+ headers: {
46
+ 'X-WarpDrive-Expires': true,
47
+ 'Cache-Control': true,
48
+ Expires: true
49
+ }
50
+ }
51
+ });
52
+ createSchemaService() {
53
+ // prepare for PolarisMode
54
+ const schema = new SchemaService();
55
+ registerDerivations(schema);
56
+ if (options.schemas) schema.registerResources(options.schemas);
57
+ if (options.traits) {
58
+ for (const trait of options.traits) {
59
+ schema.registerTrait(trait);
60
+ }
61
+ }
62
+ if (options.derivations) {
63
+ for (const derivation of options.derivations) {
64
+ schema.registerDerivation(derivation);
65
+ }
66
+ }
67
+ if (options.transformations) {
68
+ for (const transformation of options.transformations) {
69
+ schema.registerTransformation(transformation);
70
+ }
71
+ }
72
+ if (options.hashFns) {
73
+ for (const hashFn of options.hashFns) {
74
+ schema.registerHashFn(hashFn);
75
+ }
76
+ }
77
+ if (options.CAUTION_MEGA_DANGER_ZONE_extensions) {
78
+ for (const extension of options.CAUTION_MEGA_DANGER_ZONE_extensions) {
79
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(extension);
80
+ }
81
+ }
82
+
83
+ // Add support for LegacyMode ReactiveResource with Maximal coverage
84
+ // for upgrading from 4.x
85
+ registerDerivations$1(schema);
86
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberArrayLikeExtension);
87
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectArrayExtension);
88
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension(EmberObjectExtension);
89
+
90
+ // add support for fragments
91
+ if (options.modelFragments) {
92
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentExtension);
93
+ schema.CAUTION_MEGA_DANGER_ZONE_registerExtension?.(FragmentArrayExtension);
94
+ }
95
+
96
+ // Add fallback for Models
97
+ return new DelegatingSchemaService(this, schema);
98
+ }
99
+ createCache(capabilities) {
100
+ // eslint-disable-next-line new-cap
101
+ return new options.cache(capabilities);
102
+ }
103
+ instantiateRecord(key, createArgs) {
104
+ if (this.schema.isDelegated(key)) {
105
+ return instantiateRecord.call(this, key, createArgs);
106
+ }
107
+ return instantiateRecord$1(this, key, createArgs);
108
+ }
109
+ teardownRecord(record) {
110
+ const key = recordIdentifierFor(record);
111
+ if (this.schema.isDelegated(key)) {
112
+ return teardownRecord.call(this, record);
113
+ }
114
+ return teardownRecord$1(record);
115
+ }
116
+ modelFor(type) {
117
+ assertType(this.schema, type);
118
+ // TODO I'm not sure this is right
119
+ (test => {
120
+ if (!test) {
121
+ throw new Error(`modelFor should only be used to lookup legacy models when in linksMode: false`);
122
+ }
123
+ })(!options.linksMode || !this.schema.isDelegated({
124
+ type
125
+ }));
126
+ const klass =
127
+ // prefer real models if present
128
+ modelFor.call(this, type) || (
129
+ // fallback to ShimModelClass specific to fragments if fragments support in use
130
+ options.modelFragments ? fragmentsModelFor.call(this, type) : false) ||
131
+ // fallback to ShimModelClass
132
+ super.modelFor(type);
133
+ return klass;
134
+ }
135
+ adapterFor(modelName, _allowMissing) {
136
+ (test => {
137
+ if (!test) {
138
+ throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
139
+ }
140
+ })(!options.linksMode);
141
+ // @ts-expect-error
142
+ return adapterFor.call(this, modelName, _allowMissing);
143
+ }
144
+ serializerFor(...args) {
145
+ (test => {
146
+ if (!test) {
147
+ throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
148
+ }
149
+ })(!options.linksMode);
150
+ return serializerFor.call(this, ...args);
151
+ }
152
+ pushPayload(...args) {
153
+ (test => {
154
+ if (!test) {
155
+ throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
156
+ }
157
+ })(!options.linksMode);
158
+ return pushPayload.call(this, ...args);
159
+ }
160
+ normalize(...args) {
161
+ (test => {
162
+ if (!test) {
163
+ throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
164
+ }
165
+ })(!options.linksMode);
166
+ return normalize.call(this, ...args);
167
+ }
168
+ serializeRecord(...args) {
169
+ (test => {
170
+ if (!test) {
171
+ throw new Error(`useLegacyStore was setup in linksMode. linksMode assumes that all requests have been migrated away from adapters and serializers.`);
172
+ }
173
+ })(!options.linksMode);
174
+ return serializeRecord.call(this, ...args);
175
+ }
176
+ destroy() {
177
+ if (!options.linksMode) {
178
+ cleanup.call(this);
179
+ }
180
+ super.destroy();
181
+ }
182
+ }
183
+ if (options.legacyRequests) {
184
+ restoreDeprecatedStoreBehaviors(BaseKlass);
185
+ }
186
+ return LegacyConfiguredStore;
187
+ }
188
+ function assertType(schema, type) {
189
+ (test => {
190
+ if (!test) {
191
+ throw new Error(`Expected type ${type} to be a valid ResourceType`);
192
+ }
193
+ })(schema.hasResource({
194
+ type
195
+ }));
196
+ }
197
+ export { useLegacyStore };