@warp-drive/legacy 5.8.0-alpha.4 → 5.8.0-alpha.40

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 (213) hide show
  1. package/README.md +14 -27
  2. package/declarations/adapter/error.d.ts +5 -5
  3. package/declarations/adapter/json-api.d.ts +6 -8
  4. package/declarations/adapter/rest.d.ts +5 -8
  5. package/declarations/adapter.d.ts +4 -6
  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 +8 -8
  22. package/declarations/model/-private/record-state.d.ts +1 -1
  23. package/declarations/model/-private/references/belongs-to.d.ts +5 -5
  24. package/declarations/model/-private/references/has-many.d.ts +3 -3
  25. package/declarations/model/migration-support.d.ts +46 -21
  26. package/declarations/model-fragments/extensions/fragment-array.d.ts +16 -0
  27. package/declarations/model-fragments/extensions/fragment.d.ts +15 -0
  28. package/declarations/model-fragments/hooks/model-for.d.ts +20 -0
  29. package/declarations/model-fragments/index.d.ts +5 -0
  30. package/declarations/model-fragments/instance-initializers/fragment-extensions.d.ts +9 -0
  31. package/declarations/model-fragments/utilities/with-array-defaults.d.ts +15 -0
  32. package/declarations/model-fragments/utilities/with-fragment-array-defaults.d.ts +20 -0
  33. package/declarations/model-fragments/utilities/with-fragment-defaults.d.ts +19 -0
  34. package/declarations/model-fragments/utilities/with-legacy.d.ts +3 -0
  35. package/declarations/model-fragments.d.ts +9 -0
  36. package/declarations/model.d.ts +2 -2
  37. package/declarations/serializer/-private/embedded-records-mixin.d.ts +1 -6
  38. package/declarations/serializer/-private/transforms/boolean.d.ts +2 -2
  39. package/declarations/serializer/-private/transforms/date.d.ts +2 -2
  40. package/declarations/serializer/-private/transforms/number.d.ts +1 -1
  41. package/declarations/serializer/-private/transforms/string.d.ts +1 -1
  42. package/declarations/serializer/json-api.d.ts +7 -9
  43. package/declarations/serializer/json.d.ts +7 -9
  44. package/declarations/serializer/rest.d.ts +4 -6
  45. package/declarations/serializer.d.ts +9 -12
  46. package/dist/{-private-8UmnAf9J.js → -private-B1pSSN52.js} +1 -1
  47. package/dist/adapter/-private.js +1 -1
  48. package/dist/adapter/error.js +12 -13
  49. package/dist/adapter/json-api.js +4 -1
  50. package/dist/adapter/rest.js +6 -9
  51. package/dist/adapter.js +4 -6
  52. package/dist/compat/-private.js +1 -1
  53. package/dist/compat/builders.js +26 -26
  54. package/dist/compat/utils.js +17 -18
  55. package/dist/compat.js +58 -41
  56. package/dist/{errors-8kD2mSe_.js → errors-CIGPcDvd.js} +87 -65
  57. package/dist/hooks-QqRnX108.js +74 -0
  58. package/dist/index.js +195 -0
  59. package/dist/{json-DziiodPf.js → json-BNrV8EYG.js} +12 -16
  60. package/dist/model/-private.js +1 -1
  61. package/dist/model/migration-support.js +54 -24
  62. package/dist/model-for-CqXsIKws.js +221 -0
  63. package/dist/model-fragments.js +76 -0
  64. package/dist/model.js +18 -90
  65. package/dist/{schema-provider-DQu4Rjco.js → schema-provider-g5MfTj8n.js} +18 -20
  66. package/dist/{serialize-into-hash-CS0MIv4F.js → serialize-into-hash-BnYvPex3.js} +1 -1
  67. package/dist/serializer/json-api.js +17 -44
  68. package/dist/serializer/json.js +1 -1
  69. package/dist/serializer/rest.js +14 -21
  70. package/dist/serializer/transform.js +15 -6
  71. package/dist/serializer.js +9 -13
  72. package/dist/store.js +3 -0
  73. package/dist/unpkg/dev/-private-DbaSCSym.js +1205 -0
  74. package/dist/unpkg/dev/adapter/-private.js +1 -0
  75. package/dist/unpkg/dev/adapter/error.js +335 -0
  76. package/dist/unpkg/dev/adapter/json-api.js +271 -0
  77. package/dist/unpkg/dev/adapter/rest.js +1255 -0
  78. package/dist/unpkg/dev/adapter.js +1252 -0
  79. package/dist/unpkg/dev/compat/-private.js +1 -0
  80. package/dist/unpkg/dev/compat/builders.js +275 -0
  81. package/dist/unpkg/dev/compat/extensions.js +242 -0
  82. package/dist/unpkg/dev/compat/utils.js +223 -0
  83. package/dist/unpkg/dev/compat.js +1146 -0
  84. package/dist/unpkg/dev/errors-DD96TBEs.js +2591 -0
  85. package/dist/unpkg/dev/hooks-CqWjNWeL.js +73 -0
  86. package/dist/unpkg/dev/index.js +197 -0
  87. package/dist/unpkg/dev/json-CCU-ZQ4b.js +1269 -0
  88. package/dist/unpkg/dev/model/-private.js +1 -0
  89. package/dist/unpkg/dev/model/migration-support.js +551 -0
  90. package/dist/unpkg/dev/model-for-CqXsIKws.js +221 -0
  91. package/dist/unpkg/dev/model-fragments.js +76 -0
  92. package/dist/unpkg/dev/model.js +678 -0
  93. package/dist/unpkg/dev/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  94. package/dist/unpkg/dev/schema-provider-B8jiJOYC.js +2229 -0
  95. package/dist/unpkg/dev/serialize-into-hash-CPAZXrQU.js +259 -0
  96. package/dist/unpkg/dev/serializer/json-api.js +648 -0
  97. package/dist/unpkg/dev/serializer/json.js +4 -0
  98. package/dist/unpkg/dev/serializer/rest.js +1242 -0
  99. package/dist/unpkg/dev/serializer/transform.js +278 -0
  100. package/dist/unpkg/dev/serializer.js +248 -0
  101. package/dist/unpkg/dev/store.js +636 -0
  102. package/dist/unpkg/dev/util-DvanW33H.js +20 -0
  103. package/dist/unpkg/dev/utils-BhvS1iTS.js +8 -0
  104. package/dist/unpkg/dev-deprecated/-private-DbaSCSym.js +1205 -0
  105. package/dist/unpkg/dev-deprecated/adapter/-private.js +1 -0
  106. package/dist/unpkg/dev-deprecated/adapter/error.js +335 -0
  107. package/dist/unpkg/dev-deprecated/adapter/json-api.js +271 -0
  108. package/dist/unpkg/dev-deprecated/adapter/rest.js +1255 -0
  109. package/dist/unpkg/dev-deprecated/adapter.js +1252 -0
  110. package/dist/unpkg/dev-deprecated/compat/-private.js +1 -0
  111. package/dist/unpkg/dev-deprecated/compat/builders.js +275 -0
  112. package/dist/unpkg/dev-deprecated/compat/extensions.js +242 -0
  113. package/dist/unpkg/dev-deprecated/compat/utils.js +223 -0
  114. package/dist/unpkg/dev-deprecated/compat.js +1146 -0
  115. package/dist/unpkg/dev-deprecated/errors-DEnabIZj.js +2594 -0
  116. package/dist/unpkg/dev-deprecated/hooks-CAll-Ets.js +73 -0
  117. package/dist/unpkg/dev-deprecated/index.js +196 -0
  118. package/dist/unpkg/dev-deprecated/json-CCU-ZQ4b.js +1269 -0
  119. package/dist/unpkg/dev-deprecated/model/-private.js +1 -0
  120. package/dist/unpkg/dev-deprecated/model/migration-support.js +568 -0
  121. package/dist/unpkg/dev-deprecated/model-for-CqXsIKws.js +221 -0
  122. package/dist/unpkg/dev-deprecated/model-fragments.js +76 -0
  123. package/dist/unpkg/dev-deprecated/model.js +682 -0
  124. package/dist/unpkg/dev-deprecated/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  125. package/dist/unpkg/dev-deprecated/schema-provider-k2qXQTBg.js +2254 -0
  126. package/dist/unpkg/dev-deprecated/serialize-into-hash-CPAZXrQU.js +259 -0
  127. package/dist/unpkg/dev-deprecated/serializer/json-api.js +648 -0
  128. package/dist/unpkg/dev-deprecated/serializer/json.js +4 -0
  129. package/dist/unpkg/dev-deprecated/serializer/rest.js +1242 -0
  130. package/dist/unpkg/dev-deprecated/serializer/transform.js +278 -0
  131. package/dist/unpkg/dev-deprecated/serializer.js +248 -0
  132. package/dist/unpkg/dev-deprecated/store.js +636 -0
  133. package/dist/unpkg/dev-deprecated/util-CWr5WQOT.js +24 -0
  134. package/dist/unpkg/dev-deprecated/utils-C9PJehtL.js +12 -0
  135. package/dist/unpkg/prod/-private-Cvf_97EG.js +970 -0
  136. package/dist/unpkg/prod/adapter/-private.js +1 -0
  137. package/dist/unpkg/prod/adapter/error.js +330 -0
  138. package/dist/unpkg/prod/adapter/json-api.js +266 -0
  139. package/dist/unpkg/prod/adapter/rest.js +1218 -0
  140. package/dist/unpkg/prod/adapter.js +1219 -0
  141. package/dist/unpkg/prod/compat/-private.js +1 -0
  142. package/dist/unpkg/prod/compat/builders.js +210 -0
  143. package/dist/unpkg/prod/compat/extensions.js +232 -0
  144. package/dist/unpkg/prod/compat/utils.js +218 -0
  145. package/dist/unpkg/prod/compat.js +726 -0
  146. package/dist/unpkg/prod/errors-CXnfnBfQ.js +2343 -0
  147. package/dist/unpkg/prod/hooks-DvyWhLNg.js +41 -0
  148. package/dist/unpkg/prod/index.js +151 -0
  149. package/dist/unpkg/prod/json-BYrUP8ao.js +1256 -0
  150. package/dist/unpkg/prod/model/-private.js +1 -0
  151. package/dist/unpkg/prod/model/migration-support.js +544 -0
  152. package/dist/unpkg/prod/model-for-CqXsIKws.js +221 -0
  153. package/dist/unpkg/prod/model-fragments.js +76 -0
  154. package/dist/unpkg/prod/model.js +593 -0
  155. package/dist/unpkg/prod/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  156. package/dist/unpkg/prod/schema-provider-CHujJvA9.js +1904 -0
  157. package/dist/unpkg/prod/serialize-into-hash-DYU2egXl.js +215 -0
  158. package/dist/unpkg/prod/serializer/json-api.js +591 -0
  159. package/dist/unpkg/prod/serializer/json.js +4 -0
  160. package/dist/unpkg/prod/serializer/rest.js +1210 -0
  161. package/dist/unpkg/prod/serializer/transform.js +278 -0
  162. package/dist/unpkg/prod/serializer.js +248 -0
  163. package/dist/unpkg/prod/store.js +504 -0
  164. package/dist/unpkg/prod/util-DvanW33H.js +20 -0
  165. package/dist/unpkg/prod/utils-BhvS1iTS.js +8 -0
  166. package/dist/unpkg/prod-deprecated/-private-Cvf_97EG.js +970 -0
  167. package/dist/unpkg/prod-deprecated/adapter/-private.js +1 -0
  168. package/dist/unpkg/prod-deprecated/adapter/error.js +330 -0
  169. package/dist/unpkg/prod-deprecated/adapter/json-api.js +266 -0
  170. package/dist/unpkg/prod-deprecated/adapter/rest.js +1218 -0
  171. package/dist/unpkg/prod-deprecated/adapter.js +1219 -0
  172. package/dist/unpkg/prod-deprecated/compat/-private.js +1 -0
  173. package/dist/unpkg/prod-deprecated/compat/builders.js +210 -0
  174. package/dist/unpkg/prod-deprecated/compat/extensions.js +232 -0
  175. package/dist/unpkg/prod-deprecated/compat/utils.js +218 -0
  176. package/dist/unpkg/prod-deprecated/compat.js +726 -0
  177. package/dist/unpkg/prod-deprecated/errors-CG1SPYVg.js +2346 -0
  178. package/dist/unpkg/prod-deprecated/hooks-BIUBiNGR.js +41 -0
  179. package/dist/unpkg/prod-deprecated/index.js +150 -0
  180. package/dist/unpkg/prod-deprecated/json-BYrUP8ao.js +1256 -0
  181. package/dist/unpkg/prod-deprecated/model/-private.js +1 -0
  182. package/dist/unpkg/prod-deprecated/model/migration-support.js +561 -0
  183. package/dist/unpkg/prod-deprecated/model-for-CqXsIKws.js +221 -0
  184. package/dist/unpkg/prod-deprecated/model-fragments.js +76 -0
  185. package/dist/unpkg/prod-deprecated/model.js +596 -0
  186. package/dist/unpkg/prod-deprecated/runtime-BPCpkOf1-BKOwiRJp.js +65 -0
  187. package/dist/unpkg/prod-deprecated/schema-provider-BJ4TWnZf.js +1947 -0
  188. package/dist/unpkg/prod-deprecated/serialize-into-hash-DYU2egXl.js +215 -0
  189. package/dist/unpkg/prod-deprecated/serializer/json-api.js +591 -0
  190. package/dist/unpkg/prod-deprecated/serializer/json.js +4 -0
  191. package/dist/unpkg/prod-deprecated/serializer/rest.js +1210 -0
  192. package/dist/unpkg/prod-deprecated/serializer/transform.js +278 -0
  193. package/dist/unpkg/prod-deprecated/serializer.js +248 -0
  194. package/dist/unpkg/prod-deprecated/store.js +504 -0
  195. package/dist/unpkg/prod-deprecated/util-B6cn-i93.js +23 -0
  196. package/dist/unpkg/prod-deprecated/utils-BUWwQwCh.js +11 -0
  197. package/logos/README.md +2 -2
  198. package/logos/logo-yellow-slab.svg +1 -0
  199. package/logos/word-mark-black.svg +1 -0
  200. package/logos/word-mark-white.svg +1 -0
  201. package/package.json +14 -6
  202. package/logos/NCC-1701-a-blue.svg +0 -4
  203. package/logos/NCC-1701-a-gold.svg +0 -4
  204. package/logos/NCC-1701-a-gold_100.svg +0 -1
  205. package/logos/NCC-1701-a-gold_base-64.txt +0 -1
  206. package/logos/NCC-1701-a.svg +0 -4
  207. package/logos/docs-badge.svg +0 -2
  208. package/logos/ember-data-logo-dark.svg +0 -12
  209. package/logos/ember-data-logo-light.svg +0 -12
  210. package/logos/social1.png +0 -0
  211. package/logos/social2.png +0 -0
  212. package/logos/warp-drive-logo-dark.svg +0 -4
  213. package/logos/warp-drive-logo-gold.svg +0 -4
@@ -0,0 +1,215 @@
1
+ import '@warp-drive/core/reactive/-private';
2
+ import "./-private-Cvf_97EG.js";
3
+ import '@warp-drive/core/store/-private';
4
+ const newline = /\r?\n/;
5
+ function parseResponseHeaders(headersString) {
6
+ const headers = Object.create(null);
7
+ if (!headersString) {
8
+ return headers;
9
+ }
10
+ const headerPairs = headersString.split(newline);
11
+ for (let i = 0; i < headerPairs.length; i++) {
12
+ const header = headerPairs[i];
13
+ let j = 0;
14
+ let foundSep = false;
15
+ for (; j < header.length; j++) {
16
+ if (header.charCodeAt(j) === 58 /* ':' */) {
17
+ foundSep = true;
18
+ break;
19
+ }
20
+ }
21
+ if (foundSep === false) {
22
+ continue;
23
+ }
24
+ const field = header.substring(0, j).trim();
25
+ const value = header.substring(j + 1, header.length).trim();
26
+ if (value) {
27
+ const lowerCasedField = field.toLowerCase();
28
+ headers[lowerCasedField] = value;
29
+ headers[field] = value;
30
+ }
31
+ }
32
+ return headers;
33
+ }
34
+
35
+ /**
36
+ * A utility function that returns a promise that resolves
37
+ * even when the source promise rejects.
38
+ *
39
+ * @internal
40
+ */
41
+ function continueOnReject(promise) {
42
+ return Promise.resolve(promise).catch(e => e);
43
+ }
44
+
45
+ /*
46
+ * Function that always attempts to parse the response as json, and if an error is thrown,
47
+ * returns `undefined` if the response is successful and has a status code of 204 (No Content),
48
+ * or 205 (Reset Content) or if the request method was 'HEAD', and the plain payload otherwise.
49
+ */
50
+ function _determineContent(response, requestData, payload) {
51
+ let ret = payload;
52
+ let error = null;
53
+ if (!response.ok) {
54
+ return payload;
55
+ }
56
+ const status = response.status;
57
+ const payloadIsEmpty = payload === '' || payload === null;
58
+ const statusIndicatesEmptyResponse = status === 204 || status === 205 || requestData.method === 'HEAD';
59
+ if (response.ok && (statusIndicatesEmptyResponse || payloadIsEmpty)) {
60
+ return;
61
+ }
62
+ try {
63
+ ret = JSON.parse(payload);
64
+ } catch (e) {
65
+ if (!(e instanceof SyntaxError)) {
66
+ return e;
67
+ }
68
+ e.payload = payload;
69
+ error = e;
70
+ }
71
+ if (error) {
72
+ return error;
73
+ }
74
+ return ret;
75
+ }
76
+ function determineBodyPromise(response, requestData) {
77
+ // response.text() may resolve or reject
78
+ // it is a native promise, may not have finally
79
+ return continueOnReject(response.text()).then(payload => _determineContent(response, requestData, payload));
80
+ }
81
+ const RBRACKET = /\[\]$/;
82
+ function isPlainObject(obj) {
83
+ return Object.prototype.toString.call(obj) === '[object Object]';
84
+ }
85
+ function isPrimitiveArray(obj) {
86
+ return Array.isArray(obj);
87
+ }
88
+ function isParamsArray(obj) {
89
+ return Array.isArray(obj);
90
+ }
91
+ function buildParams(prefix, obj, s) {
92
+ let i, len, key;
93
+ if (prefix) {
94
+ if (isPrimitiveArray(obj)) {
95
+ for (i = 0, len = obj.length; i < len; i++) {
96
+ if (RBRACKET.test(prefix)) {
97
+ add(s, prefix, obj[i]);
98
+ } else {
99
+ buildParams(prefix + '[' + (typeof obj[i] === 'object' && obj[i] !== null ? i : '') + ']', obj[i], s);
100
+ }
101
+ }
102
+ } else if (isPlainObject(obj)) {
103
+ for (key in obj) {
104
+ buildParams(prefix + '[' + key + ']', obj[key], s);
105
+ }
106
+ } else {
107
+ add(s, prefix, obj);
108
+ }
109
+ } else if (isParamsArray(obj)) {
110
+ for (i = 0, len = obj.length; i < len; i++) {
111
+ add(s, obj[i].name, obj[i].value);
112
+ }
113
+ } else {
114
+ for (key in obj) {
115
+ buildParams(key, obj[key], s);
116
+ }
117
+ }
118
+ return s;
119
+ }
120
+
121
+ /*
122
+ * Helper function that turns the data/body of a request into a query param string.
123
+ * This is directly copied from jQuery.param.
124
+ */
125
+ function serializeQueryParams(queryParamsObject) {
126
+ return buildParams('', queryParamsObject, []).join('&');
127
+ }
128
+
129
+ /*
130
+ * Part of the `serializeQueryParams` helper function.
131
+ */
132
+ function add(s, k, v) {
133
+ // Strip out keys with undefined value and replace null values with
134
+ // empty strings (mimics jQuery.ajax)
135
+ if (v === undefined) {
136
+ return;
137
+ } else if (v === null) {
138
+ v = '';
139
+ }
140
+ v = typeof v === 'function' ? v() : v;
141
+ s[s.length] = `${encodeURIComponent(k)}=${encodeURIComponent(v)}`;
142
+ }
143
+ let _fetch = null;
144
+ let REQUEST = null;
145
+ function getFetchFunction() {
146
+ // return cached fetch function
147
+ if (_fetch !== null) {
148
+ return _fetch();
149
+ }
150
+
151
+ // grab browser native fetch if available, or global fetch if otherwise configured
152
+ if (typeof fetch === 'function') {
153
+ // fallback to using global fetch
154
+ _fetch = () => fetch;
155
+
156
+ /* global FastBoot */
157
+ // grab fetch from node-fetch
158
+ } else if (typeof FastBoot !== 'undefined') {
159
+ try {
160
+ const nodeFetch = FastBoot.require('node-fetch');
161
+ const httpRegex = /^https?:\/\//;
162
+ const protocolRelativeRegex = /^\/\//;
163
+ function parseRequest(request) {
164
+ if (request === null) {
165
+ throw new Error("Trying to fetch with relative url but the application hasn't finished loading FastBootInfo, see details at https://github.com/ember-cli/ember-fetch#relative-url");
166
+ }
167
+ // Old Prember version is not sending protocol
168
+ const protocol = request.protocol === 'undefined:' ? 'http:' : request.protocol;
169
+ return [request.get('host'), protocol];
170
+ }
171
+ function buildAbsoluteUrl(url) {
172
+ if (protocolRelativeRegex.test(url)) {
173
+ const [host] = parseRequest(REQUEST);
174
+ url = host + url;
175
+ } else if (!httpRegex.test(url)) {
176
+ const [host, protocol] = parseRequest(REQUEST);
177
+ url = protocol + '//' + host + url;
178
+ }
179
+ return url;
180
+ }
181
+ function patchedFetch(input, options) {
182
+ if (input && typeof input === 'object' && 'href' in input) {
183
+ const url = buildAbsoluteUrl(input.href);
184
+ const info = Object.assign({}, input, {
185
+ url
186
+ });
187
+ return nodeFetch(info, options);
188
+ } else if (typeof input === 'string') {
189
+ const url = buildAbsoluteUrl(input);
190
+ return nodeFetch(url, options);
191
+ }
192
+ return nodeFetch(input, options);
193
+ }
194
+ _fetch = () => patchedFetch;
195
+ } catch {
196
+ throw new Error(`Unable to create a compatible 'fetch' for FastBoot with node-fetch`);
197
+ }
198
+ }
199
+ return _fetch();
200
+ }
201
+ function setupFastboot(fastBootRequest) {
202
+ REQUEST = fastBootRequest;
203
+ }
204
+ function serializeIntoHash(store, modelClass, snapshot, options = {
205
+ includeId: true
206
+ }) {
207
+ const serializer = store.serializerFor(modelClass.modelName);
208
+ if (typeof serializer.serializeIntoHash === 'function') {
209
+ const data = {};
210
+ serializer.serializeIntoHash(data, modelClass, snapshot, options);
211
+ return data;
212
+ }
213
+ return serializer.serialize(snapshot, options);
214
+ }
215
+ export { setupFastboot as a, serializeIntoHash as b, determineBodyPromise as d, getFetchFunction as g, parseResponseHeaders as p, serializeQueryParams as s };