@aws-amplify/datastore 3.14.4 → 3.14.5-unstable.2

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 (178) hide show
  1. package/CHANGELOG.md +0 -8
  2. package/lib/authModeStrategies/defaultAuthStrategy.d.ts +2 -0
  3. package/lib/authModeStrategies/index.d.ts +2 -0
  4. package/lib/authModeStrategies/multiAuthStrategy.d.ts +13 -0
  5. package/lib/authModeStrategies/multiAuthStrategy.js +6 -64
  6. package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
  7. package/lib/datastore/datastore.d.ts +207 -0
  8. package/lib/datastore/datastore.js +703 -297
  9. package/lib/datastore/datastore.js.map +1 -1
  10. package/lib/index.d.ts +16 -0
  11. package/lib/index.js +6 -4
  12. package/lib/index.js.map +1 -1
  13. package/lib/predicates/index.d.ts +30 -0
  14. package/lib/predicates/index.js +127 -6
  15. package/lib/predicates/index.js.map +1 -1
  16. package/lib/predicates/next.d.ts +301 -0
  17. package/lib/predicates/next.js +816 -0
  18. package/lib/predicates/next.js.map +1 -0
  19. package/lib/predicates/sort.d.ts +8 -0
  20. package/lib/predicates/sort.js +10 -4
  21. package/lib/predicates/sort.js.map +1 -1
  22. package/lib/ssr/index.d.ts +3 -0
  23. package/lib/storage/adapter/AsyncStorageAdapter.d.ts +42 -0
  24. package/lib/storage/adapter/AsyncStorageAdapter.js +141 -382
  25. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  26. package/lib/storage/adapter/AsyncStorageDatabase.d.ts +39 -0
  27. package/lib/storage/adapter/AsyncStorageDatabase.js +37 -98
  28. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  29. package/lib/storage/adapter/InMemoryStore.d.ts +11 -0
  30. package/lib/storage/adapter/InMemoryStore.js +16 -67
  31. package/lib/storage/adapter/InMemoryStore.js.map +1 -1
  32. package/lib/storage/adapter/InMemoryStore.native.d.ts +1 -0
  33. package/lib/storage/adapter/InMemoryStore.native.js +2 -4
  34. package/lib/storage/adapter/InMemoryStore.native.js.map +1 -1
  35. package/lib/storage/adapter/IndexedDBAdapter.d.ts +61 -0
  36. package/lib/storage/adapter/IndexedDBAdapter.js +275 -419
  37. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  38. package/lib/storage/adapter/getDefaultAdapter/index.d.ts +3 -0
  39. package/lib/storage/adapter/getDefaultAdapter/index.js +3 -5
  40. package/lib/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  41. package/lib/storage/adapter/getDefaultAdapter/index.native.d.ts +3 -0
  42. package/lib/storage/adapter/getDefaultAdapter/index.native.js +2 -4
  43. package/lib/storage/adapter/getDefaultAdapter/index.native.js.map +1 -1
  44. package/lib/storage/adapter/index.d.ts +9 -0
  45. package/lib/storage/relationship.d.ts +140 -0
  46. package/lib/storage/relationship.js +335 -0
  47. package/lib/storage/relationship.js.map +1 -0
  48. package/lib/storage/storage.d.ts +50 -0
  49. package/lib/storage/storage.js +72 -143
  50. package/lib/storage/storage.js.map +1 -1
  51. package/lib/sync/datastoreConnectivity.d.ts +16 -0
  52. package/lib/sync/datastoreConnectivity.js +6 -55
  53. package/lib/sync/datastoreConnectivity.js.map +1 -1
  54. package/lib/sync/datastoreReachability/index.d.ts +3 -0
  55. package/lib/sync/datastoreReachability/index.native.d.ts +3 -0
  56. package/lib/sync/datastoreReachability/index.native.js +2 -4
  57. package/lib/sync/datastoreReachability/index.native.js.map +1 -1
  58. package/lib/sync/index.d.ts +89 -0
  59. package/lib/sync/index.js +49 -124
  60. package/lib/sync/index.js.map +1 -1
  61. package/lib/sync/merger.d.ts +17 -0
  62. package/lib/sync/merger.js +8 -74
  63. package/lib/sync/merger.js.map +1 -1
  64. package/lib/sync/outbox.d.ts +27 -0
  65. package/lib/sync/outbox.js +24 -97
  66. package/lib/sync/outbox.js.map +1 -1
  67. package/lib/sync/processors/errorMaps.d.ts +17 -0
  68. package/lib/sync/processors/errorMaps.js +5 -35
  69. package/lib/sync/processors/errorMaps.js.map +1 -1
  70. package/lib/sync/processors/mutation.d.ts +58 -0
  71. package/lib/sync/processors/mutation.js +47 -131
  72. package/lib/sync/processors/mutation.js.map +1 -1
  73. package/lib/sync/processors/subscription.d.ts +33 -0
  74. package/lib/sync/processors/subscription.js +29 -102
  75. package/lib/sync/processors/subscription.js.map +1 -1
  76. package/lib/sync/processors/sync.d.ts +28 -0
  77. package/lib/sync/processors/sync.js +26 -102
  78. package/lib/sync/processors/sync.js.map +1 -1
  79. package/lib/sync/utils.d.ts +42 -0
  80. package/lib/sync/utils.js +40 -103
  81. package/lib/sync/utils.js.map +1 -1
  82. package/lib/types.d.ts +554 -0
  83. package/lib/types.js +9 -39
  84. package/lib/types.js.map +1 -1
  85. package/lib/util.d.ts +189 -0
  86. package/lib/util.js +192 -188
  87. package/lib/util.js.map +1 -1
  88. package/lib-esm/authModeStrategies/multiAuthStrategy.js +2 -57
  89. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
  90. package/lib-esm/datastore/datastore.d.ts +59 -8
  91. package/lib-esm/datastore/datastore.js +642 -234
  92. package/lib-esm/datastore/datastore.js.map +1 -1
  93. package/lib-esm/index.d.ts +3 -2
  94. package/lib-esm/index.js +2 -1
  95. package/lib-esm/index.js.map +1 -1
  96. package/lib-esm/predicates/index.d.ts +16 -2
  97. package/lib-esm/predicates/index.js +128 -7
  98. package/lib-esm/predicates/index.js.map +1 -1
  99. package/lib-esm/predicates/next.d.ts +301 -0
  100. package/lib-esm/predicates/next.js +812 -0
  101. package/lib-esm/predicates/next.js.map +1 -0
  102. package/lib-esm/predicates/sort.js +10 -4
  103. package/lib-esm/predicates/sort.js.map +1 -1
  104. package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +2 -1
  105. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +112 -350
  106. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  107. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +7 -68
  108. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  109. package/lib-esm/storage/adapter/InMemoryStore.d.ts +1 -1
  110. package/lib-esm/storage/adapter/InMemoryStore.js +1 -52
  111. package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
  112. package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +4 -2
  113. package/lib-esm/storage/adapter/IndexedDBAdapter.js +230 -367
  114. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  115. package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  116. package/lib-esm/storage/relationship.d.ts +140 -0
  117. package/lib-esm/storage/relationship.js +333 -0
  118. package/lib-esm/storage/relationship.js.map +1 -0
  119. package/lib-esm/storage/storage.d.ts +7 -6
  120. package/lib-esm/storage/storage.js +33 -101
  121. package/lib-esm/storage/storage.js.map +1 -1
  122. package/lib-esm/sync/datastoreConnectivity.js +1 -47
  123. package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
  124. package/lib-esm/sync/index.js +4 -76
  125. package/lib-esm/sync/index.js.map +1 -1
  126. package/lib-esm/sync/merger.js +1 -67
  127. package/lib-esm/sync/merger.js.map +1 -1
  128. package/lib-esm/sync/outbox.js +1 -74
  129. package/lib-esm/sync/outbox.js.map +1 -1
  130. package/lib-esm/sync/processors/errorMaps.js +2 -32
  131. package/lib-esm/sync/processors/errorMaps.js.map +1 -1
  132. package/lib-esm/sync/processors/mutation.js +12 -93
  133. package/lib-esm/sync/processors/mutation.js.map +1 -1
  134. package/lib-esm/sync/processors/subscription.js +6 -69
  135. package/lib-esm/sync/processors/subscription.js.map +1 -1
  136. package/lib-esm/sync/processors/sync.js +2 -75
  137. package/lib-esm/sync/processors/sync.js.map +1 -1
  138. package/lib-esm/sync/utils.d.ts +1 -1
  139. package/lib-esm/sync/utils.js +32 -95
  140. package/lib-esm/sync/utils.js.map +1 -1
  141. package/lib-esm/types.d.ts +63 -10
  142. package/lib-esm/types.js +7 -38
  143. package/lib-esm/types.js.map +1 -1
  144. package/lib-esm/util.d.ts +39 -6
  145. package/lib-esm/util.js +171 -171
  146. package/lib-esm/util.js.map +1 -1
  147. package/package.json +21 -14
  148. package/src/authModeStrategies/multiAuthStrategy.ts +2 -2
  149. package/src/datastore/datastore.ts +699 -206
  150. package/src/index.ts +4 -0
  151. package/src/predicates/index.ts +143 -17
  152. package/src/predicates/next.ts +967 -0
  153. package/src/predicates/sort.ts +8 -2
  154. package/src/storage/adapter/AsyncStorageAdapter.ts +59 -181
  155. package/src/storage/adapter/AsyncStorageDatabase.ts +16 -15
  156. package/src/storage/adapter/InMemoryStore.ts +5 -2
  157. package/src/storage/adapter/IndexedDBAdapter.ts +169 -192
  158. package/src/storage/adapter/getDefaultAdapter/index.ts +2 -2
  159. package/src/storage/relationship.ts +272 -0
  160. package/src/storage/storage.ts +56 -37
  161. package/src/sync/datastoreConnectivity.ts +4 -4
  162. package/src/sync/index.ts +22 -28
  163. package/src/sync/merger.ts +1 -1
  164. package/src/sync/outbox.ts +6 -6
  165. package/src/sync/processors/errorMaps.ts +1 -1
  166. package/src/sync/processors/mutation.ts +23 -19
  167. package/src/sync/processors/subscription.ts +20 -16
  168. package/src/sync/processors/sync.ts +17 -17
  169. package/src/sync/utils.ts +42 -48
  170. package/src/types.ts +128 -16
  171. package/src/util.ts +108 -150
  172. package/build.js +0 -5
  173. package/dist/aws-amplify-datastore.js +0 -92787
  174. package/dist/aws-amplify-datastore.js.map +0 -1
  175. package/dist/aws-amplify-datastore.min.js +0 -66
  176. package/dist/aws-amplify-datastore.min.js.map +0 -1
  177. package/index.js +0 -7
  178. package/webpack.config.dev.js +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib-esm/util.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ULID } from 'ulid';
2
2
  import { Patch } from 'immer';
3
- import { PersistentModel, PersistentModelConstructor, PredicateObject, PredicatesGroup, RelationshipType, RelationType, ModelKeys, ModelAttributes, SchemaNamespace, SortPredicatesGroup, NonModelTypeConstructor, DeferredCallbackResolverOptions, SchemaModel, ModelAttribute, IndexesType } from './types';
3
+ import { PersistentModel, PersistentModelConstructor, PredicateObject, PredicatesGroup, RelationshipType, RelationType, ModelKeys, ModelAttributes, SchemaNamespace, SortPredicatesGroup, NonModelTypeConstructor, PaginationInput, DeferredCallbackResolverOptions, SchemaModel, ModelAttribute, IndexesType } from './types';
4
4
  export declare const ID = "id";
5
5
  /**
6
6
  * Used by the Async Storage Adapter to concatenate key values
@@ -37,11 +37,11 @@ export declare const USER_AGENT_SUFFIX_DATASTORE = "/DataStore";
37
37
  export declare const exhaustiveCheck: (obj: never, throwOnError?: boolean) => void;
38
38
  export declare const isNullOrUndefined: (val: any) => boolean;
39
39
  export declare const validatePredicate: <T extends Readonly<Record<string, any>>>(model: T, groupType: "and" | "or" | "not", predicatesOrGroups: (PredicateObject<T> | PredicatesGroup<T>)[]) => any;
40
- export declare const validatePredicateField: <T>(value: T, operator: "ne" | "eq" | "le" | "lt" | "ge" | "gt" | "between" | "beginsWith" | "contains" | "notContains", operand: T | [T, T]) => boolean;
40
+ export declare const validatePredicateField: <T>(value: T, operator: "eq" | "ne" | "gt" | "lt" | "ge" | "le" | "contains" | "notContains" | "beginsWith" | "between", operand: T | [T, T]) => boolean;
41
41
  export declare const isModelConstructor: <T extends Readonly<Record<string, any>>>(obj: any) => obj is PersistentModelConstructor<T>;
42
42
  export declare function registerNonModelClass(clazz: NonModelTypeConstructor<any>): void;
43
43
  export declare const isNonModelConstructor: (obj: any) => obj is NonModelTypeConstructor<any>;
44
- export declare const traverseModel: <T extends Readonly<Record<string, any>>>(srcModelName: string, instance: T, namespace: SchemaNamespace, modelInstanceCreator: <T_1 extends Readonly<Record<string, any>>>(modelConstructor: PersistentModelConstructor<T_1>, init: Partial<T_1>) => T_1, getModelConstructorByModelName: (namsespaceName: string, modelName: string) => PersistentModelConstructor<any>) => {
44
+ export declare const traverseModel: <T extends Readonly<Record<string, any>>>(srcModelName: string, instance: T, namespace: SchemaNamespace, modelInstanceCreator: <T_1 extends Readonly<Record<string, any>>>(modelConstructor: PersistentModelConstructor<T_1>, init: Partial<T_1>) => T_1, getModelConstructorByModelName: (namsespaceName: NAMESPACES, modelName: string) => PersistentModelConstructor<any>) => {
45
45
  modelName: string;
46
46
  item: T;
47
47
  instance: T;
@@ -74,6 +74,39 @@ export declare function monotonicUlidFactory(seed?: number): ULID;
74
74
  export declare function getNow(): number;
75
75
  export declare function sortCompareFunction<T extends PersistentModel>(sortPredicates: SortPredicatesGroup<T>): (a: any, b: any) => number;
76
76
  export declare function valuesEqual(valA: any, valB: any, nullish?: boolean): boolean;
77
+ /**
78
+ * Statelessly extracts the specified page from an array.
79
+ *
80
+ * @param records - The source array to extract a page from.
81
+ * @param pagination - A definition of the page to extract.
82
+ * @returns This items from `records` matching the `pagination` definition.
83
+ */
84
+ export declare function inMemoryPagination<T extends PersistentModel>(records: T[], pagination?: PaginationInput<T>): T[];
85
+ /**
86
+ * An `aysnc` implementation of `Array.some()`. Returns as soon as a match is found.
87
+ * @param items The items to check.
88
+ * @param matches The async matcher function, expected to
89
+ * return Promise<boolean>: `true` for a matching item, `false` otherwise.
90
+ * @returns A `Promise<boolean>`, `true` if "some" items match; `false` otherwise.
91
+ */
92
+ export declare function asyncSome(items: Record<string, any>[], matches: (item: Record<string, any>) => Promise<boolean>): Promise<boolean>;
93
+ /**
94
+ * An `aysnc` implementation of `Array.every()`. Returns as soon as a non-match is found.
95
+ * @param items The items to check.
96
+ * @param matches The async matcher function, expected to
97
+ * return Promise<boolean>: `true` for a matching item, `false` otherwise.
98
+ * @returns A `Promise<boolean>`, `true` if every item matches; `false` otherwise.
99
+ */
100
+ export declare function asyncEvery(items: Record<string, any>[], matches: (item: Record<string, any>) => Promise<boolean>): Promise<boolean>;
101
+ /**
102
+ * An `async` implementation of `Array.filter()`. Returns after all items have been filtered.
103
+ * TODO: Return AsyncIterable.
104
+ * @param items The items to filter.
105
+ * @param matches The `async` matcher function, expected to
106
+ * return Promise<boolean>: `true` for a matching item, `false` otherwise.
107
+ * @returns A `Promise<T>` of matching items.
108
+ */
109
+ export declare function asyncFilter<T>(items: T[], matches: (item: T) => Promise<boolean>): Promise<T[]>;
77
110
  export declare const isAWSDate: (val: string) => boolean;
78
111
  export declare const isAWSTime: (val: string) => boolean;
79
112
  export declare const isAWSDateTime: (val: string) => boolean;
@@ -141,8 +174,8 @@ the single field `targetName` has been replaced with an array of `targetNames`.
141
174
  * @param src {RelationType | ModelAssociation | undefined}
142
175
  * @returns array of targetNames, or `undefined`
143
176
  */
144
- export declare const extractTargetNamesFromSrc: (src: RelationType | {
145
- connectionType: "HAS_ONE" | "HAS_MANY";
177
+ export declare const extractTargetNamesFromSrc: (src: {
178
+ connectionType: "HAS_MANY" | "HAS_ONE";
146
179
  associatedWith: string | string[];
147
180
  targetName?: string;
148
181
  targetNames?: string[];
@@ -150,7 +183,7 @@ export declare const extractTargetNamesFromSrc: (src: RelationType | {
150
183
  connectionType: "BELONGS_TO";
151
184
  targetName?: string;
152
185
  targetNames?: string[];
153
- }) => string[];
186
+ } | RelationType) => string[];
154
187
  export declare const indexNameFromKeys: (keys: string[]) => string;
155
188
  export declare const keysEqual: (keysA: any, keysB: any) => boolean;
156
189
  export declare const getIndexKeys: (namespace: SchemaNamespace, modelName: string) => string[];
package/lib-esm/util.js CHANGED
@@ -1,76 +1,11 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- var __read = (this && this.__read) || function (o, n) {
38
- var m = typeof Symbol === "function" && o[Symbol.iterator];
39
- if (!m) return o;
40
- var i = m.call(o), r, ar = [], e;
41
- try {
42
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
43
- }
44
- catch (error) { e = { error: error }; }
45
- finally {
46
- try {
47
- if (r && !r.done && (m = i["return"])) m.call(i);
48
- }
49
- finally { if (e) throw e.error; }
50
- }
51
- return ar;
52
- };
53
- var __values = (this && this.__values) || function(o) {
54
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
55
- if (m) return m.call(o);
56
- if (o && typeof o.length === "number") return {
57
- next: function () {
58
- if (o && i >= o.length) o = void 0;
59
- return { value: o && o[i++], done: !o };
60
- }
61
- };
62
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
63
- };
64
- var __spread = (this && this.__spread) || function () {
65
- for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
66
- return ar;
67
- };
1
+ import { __awaiter, __generator, __read, __spread, __values } from "tslib";
68
2
  import { Buffer } from 'buffer';
69
3
  import { monotonicFactory } from 'ulid';
70
4
  import { v4 as uuid } from 'uuid';
71
5
  import { produce, applyPatches } from 'immer';
72
6
  import { isPredicateGroup, isPredicateObj, SortDirection, isModelAttributeKey, isModelAttributePrimaryKey, isModelAttributeCompositeKey, LimitTimerRaceResolvedValues, } from './types';
73
7
  import { WordArray } from 'amazon-cognito-identity-js';
8
+ import { ModelSortPredicateCreator } from './predicates';
74
9
  export var ID = 'id';
75
10
  /**
76
11
  * Used by the Async Storage Adapter to concatenate key values
@@ -132,7 +67,7 @@ export var validatePredicate = function (model, groupType, predicatesOrGroups) {
132
67
  filterType = 'some';
133
68
  break;
134
69
  default:
135
- exhaustiveCheck(groupType);
70
+ throw new Error("Invalid " + groupType);
136
71
  }
137
72
  var result = predicatesOrGroups[filterType](function (predicateOrGroup) {
138
73
  if (isPredicateObj(predicateOrGroup)) {
@@ -175,7 +110,6 @@ export var validatePredicateField = function (value, operator, operand) {
175
110
  return (isNullOrUndefined(value) ||
176
111
  value.indexOf(operand) === -1);
177
112
  default:
178
- exhaustiveCheck(operator, false);
179
113
  return false;
180
114
  }
181
115
  };
@@ -191,105 +125,9 @@ export var isNonModelConstructor = function (obj) {
191
125
  };
192
126
  var topologicallySortedModels = new WeakMap();
193
127
  export var traverseModel = function (srcModelName, instance, namespace, modelInstanceCreator, getModelConstructorByModelName) {
194
- var relationships = namespace.relationships;
195
128
  var modelConstructor = getModelConstructorByModelName(namespace.name, srcModelName);
196
- var relation = relationships[srcModelName];
197
129
  var result = [];
198
- var newInstance = modelConstructor.copyOf(instance, function (draftInstance) {
199
- relation.relationTypes.forEach(function (rItem) {
200
- var modelConstructor = getModelConstructorByModelName(namespace.name, rItem.modelName);
201
- switch (rItem.relationType) {
202
- case 'HAS_ONE':
203
- if (instance[rItem.fieldName]) {
204
- var modelInstance = void 0;
205
- try {
206
- modelInstance = modelInstanceCreator(modelConstructor, instance[rItem.fieldName]);
207
- }
208
- catch (error) {
209
- // Do nothing
210
- console.log(error);
211
- }
212
- result.push({
213
- modelName: rItem.modelName,
214
- item: instance[rItem.fieldName],
215
- instance: modelInstance,
216
- });
217
- var targetNames = extractTargetNamesFromSrc(rItem);
218
- // `targetName` will be defined for Has One if feature flag
219
- // https://docs.amplify.aws/cli/reference/feature-flags/#useAppsyncModelgenPlugin
220
- // is true (default as of 5/7/21)
221
- // Making this conditional for backward-compatibility
222
- if (targetNames) {
223
- targetNames.forEach(function (targetName, idx) {
224
- // Get the connected record
225
- var relatedRecordInProxy = (draftInstance[rItem.fieldName]);
226
- // Previously, we used the hardcoded 'id' as they key,
227
- // now we need the value of the key to get the PK (and SK)
228
- // values from the related record
229
- var primaryKey = namespace.keys[modelConstructor.name].primaryKey;
230
- var keyField = primaryKey && primaryKey[idx];
231
- // Get the value
232
- var relatedRecordInProxyPkValue = relatedRecordInProxy[keyField];
233
- // Set the targetName value
234
- draftInstance[targetName] = relatedRecordInProxyPkValue;
235
- });
236
- // Delete the instance from the proxy
237
- delete draftInstance[rItem.fieldName];
238
- }
239
- else {
240
- draftInstance[rItem.fieldName] = (draftInstance[rItem.fieldName]).id;
241
- }
242
- }
243
- break;
244
- case 'BELONGS_TO':
245
- if (instance[rItem.fieldName]) {
246
- var modelInstance = void 0;
247
- try {
248
- modelInstance = modelInstanceCreator(modelConstructor, instance[rItem.fieldName]);
249
- }
250
- catch (error) {
251
- // Do nothing
252
- }
253
- var isDeleted = (draftInstance[rItem.fieldName])._deleted;
254
- if (!isDeleted) {
255
- result.push({
256
- modelName: rItem.modelName,
257
- item: instance[rItem.fieldName],
258
- instance: modelInstance,
259
- });
260
- }
261
- }
262
- if (draftInstance[rItem.fieldName]) {
263
- var targetNames = extractTargetNamesFromSrc(rItem);
264
- if (targetNames) {
265
- targetNames.forEach(function (targetName, idx) {
266
- // Get the connected record
267
- var relatedRecordInProxy = (draftInstance[rItem.fieldName]);
268
- // Previously, we used the hardcoded `id` for the key.
269
- // Now, we need the value of the key to get the PK (and SK)
270
- // values from the related record
271
- var primaryKey = namespace.keys[modelConstructor.name].primaryKey;
272
- // fall back to ID if
273
- var keyField = primaryKey && primaryKey[idx];
274
- // Get the value
275
- var relatedRecordInProxyPkValue = relatedRecordInProxy[keyField];
276
- // Set the targetName value
277
- draftInstance[targetName] = relatedRecordInProxyPkValue;
278
- });
279
- // Delete the instance from the proxy
280
- delete draftInstance[rItem.fieldName];
281
- }
282
- }
283
- break;
284
- case 'HAS_MANY':
285
- // Intentionally blank
286
- break;
287
- default:
288
- exhaustiveCheck(rItem.relationType);
289
- break;
290
- }
291
- });
292
- });
130
+ var newInstance = modelConstructor.copyOf(instance, function () { });
293
131
  result.unshift({
294
132
  modelName: srcModelName,
295
133
  item: newInstance,
@@ -560,6 +398,168 @@ export function valuesEqual(valA, valB, nullish) {
560
398
  }
561
399
  return true;
562
400
  }
401
+ /**
402
+ * Statelessly extracts the specified page from an array.
403
+ *
404
+ * @param records - The source array to extract a page from.
405
+ * @param pagination - A definition of the page to extract.
406
+ * @returns This items from `records` matching the `pagination` definition.
407
+ */
408
+ export function inMemoryPagination(records, pagination) {
409
+ if (pagination && records.length > 1) {
410
+ if (pagination.sort) {
411
+ var sortPredicates = ModelSortPredicateCreator.getPredicates(pagination.sort);
412
+ if (sortPredicates.length) {
413
+ var compareFn = sortCompareFunction(sortPredicates);
414
+ records.sort(compareFn);
415
+ }
416
+ }
417
+ var _c = pagination.page, page = _c === void 0 ? 0 : _c, _d = pagination.limit, limit = _d === void 0 ? 0 : _d;
418
+ var start = Math.max(0, page * limit) || 0;
419
+ var end = limit > 0 ? start + limit : records.length;
420
+ return records.slice(start, end);
421
+ }
422
+ return records;
423
+ }
424
+ /**
425
+ * An `aysnc` implementation of `Array.some()`. Returns as soon as a match is found.
426
+ * @param items The items to check.
427
+ * @param matches The async matcher function, expected to
428
+ * return Promise<boolean>: `true` for a matching item, `false` otherwise.
429
+ * @returns A `Promise<boolean>`, `true` if "some" items match; `false` otherwise.
430
+ */
431
+ export function asyncSome(items, matches) {
432
+ return __awaiter(this, void 0, void 0, function () {
433
+ var items_1, items_1_1, item, e_3_1;
434
+ var e_3, _c;
435
+ return __generator(this, function (_d) {
436
+ switch (_d.label) {
437
+ case 0:
438
+ _d.trys.push([0, 5, 6, 7]);
439
+ items_1 = __values(items), items_1_1 = items_1.next();
440
+ _d.label = 1;
441
+ case 1:
442
+ if (!!items_1_1.done) return [3 /*break*/, 4];
443
+ item = items_1_1.value;
444
+ return [4 /*yield*/, matches(item)];
445
+ case 2:
446
+ if (_d.sent()) {
447
+ return [2 /*return*/, true];
448
+ }
449
+ _d.label = 3;
450
+ case 3:
451
+ items_1_1 = items_1.next();
452
+ return [3 /*break*/, 1];
453
+ case 4: return [3 /*break*/, 7];
454
+ case 5:
455
+ e_3_1 = _d.sent();
456
+ e_3 = { error: e_3_1 };
457
+ return [3 /*break*/, 7];
458
+ case 6:
459
+ try {
460
+ if (items_1_1 && !items_1_1.done && (_c = items_1.return)) _c.call(items_1);
461
+ }
462
+ finally { if (e_3) throw e_3.error; }
463
+ return [7 /*endfinally*/];
464
+ case 7: return [2 /*return*/, false];
465
+ }
466
+ });
467
+ });
468
+ }
469
+ /**
470
+ * An `aysnc` implementation of `Array.every()`. Returns as soon as a non-match is found.
471
+ * @param items The items to check.
472
+ * @param matches The async matcher function, expected to
473
+ * return Promise<boolean>: `true` for a matching item, `false` otherwise.
474
+ * @returns A `Promise<boolean>`, `true` if every item matches; `false` otherwise.
475
+ */
476
+ export function asyncEvery(items, matches) {
477
+ return __awaiter(this, void 0, void 0, function () {
478
+ var items_2, items_2_1, item, e_4_1;
479
+ var e_4, _c;
480
+ return __generator(this, function (_d) {
481
+ switch (_d.label) {
482
+ case 0:
483
+ _d.trys.push([0, 5, 6, 7]);
484
+ items_2 = __values(items), items_2_1 = items_2.next();
485
+ _d.label = 1;
486
+ case 1:
487
+ if (!!items_2_1.done) return [3 /*break*/, 4];
488
+ item = items_2_1.value;
489
+ return [4 /*yield*/, matches(item)];
490
+ case 2:
491
+ if (!(_d.sent())) {
492
+ return [2 /*return*/, false];
493
+ }
494
+ _d.label = 3;
495
+ case 3:
496
+ items_2_1 = items_2.next();
497
+ return [3 /*break*/, 1];
498
+ case 4: return [3 /*break*/, 7];
499
+ case 5:
500
+ e_4_1 = _d.sent();
501
+ e_4 = { error: e_4_1 };
502
+ return [3 /*break*/, 7];
503
+ case 6:
504
+ try {
505
+ if (items_2_1 && !items_2_1.done && (_c = items_2.return)) _c.call(items_2);
506
+ }
507
+ finally { if (e_4) throw e_4.error; }
508
+ return [7 /*endfinally*/];
509
+ case 7: return [2 /*return*/, true];
510
+ }
511
+ });
512
+ });
513
+ }
514
+ /**
515
+ * An `async` implementation of `Array.filter()`. Returns after all items have been filtered.
516
+ * TODO: Return AsyncIterable.
517
+ * @param items The items to filter.
518
+ * @param matches The `async` matcher function, expected to
519
+ * return Promise<boolean>: `true` for a matching item, `false` otherwise.
520
+ * @returns A `Promise<T>` of matching items.
521
+ */
522
+ export function asyncFilter(items, matches) {
523
+ return __awaiter(this, void 0, void 0, function () {
524
+ var results, items_3, items_3_1, item, e_5_1;
525
+ var e_5, _c;
526
+ return __generator(this, function (_d) {
527
+ switch (_d.label) {
528
+ case 0:
529
+ results = [];
530
+ _d.label = 1;
531
+ case 1:
532
+ _d.trys.push([1, 6, 7, 8]);
533
+ items_3 = __values(items), items_3_1 = items_3.next();
534
+ _d.label = 2;
535
+ case 2:
536
+ if (!!items_3_1.done) return [3 /*break*/, 5];
537
+ item = items_3_1.value;
538
+ return [4 /*yield*/, matches(item)];
539
+ case 3:
540
+ if (_d.sent()) {
541
+ results.push(item);
542
+ }
543
+ _d.label = 4;
544
+ case 4:
545
+ items_3_1 = items_3.next();
546
+ return [3 /*break*/, 2];
547
+ case 5: return [3 /*break*/, 8];
548
+ case 6:
549
+ e_5_1 = _d.sent();
550
+ e_5 = { error: e_5_1 };
551
+ return [3 /*break*/, 8];
552
+ case 7:
553
+ try {
554
+ if (items_3_1 && !items_3_1.done && (_c = items_3.return)) _c.call(items_3);
555
+ }
556
+ finally { if (e_5) throw e_5.error; }
557
+ return [7 /*endfinally*/];
558
+ case 8: return [2 /*return*/, results];
559
+ }
560
+ });
561
+ });
562
+ }
563
563
  export var isAWSDate = function (val) {
564
564
  return !!/^\d{4}-\d{2}-\d{2}(Z|[+-]\d{2}:\d{2}($|:\d{2}))?$/.exec(val);
565
565
  };
@@ -824,7 +824,7 @@ export var establishRelationAndKeys = function (namespace) {
824
824
  var relationship = {};
825
825
  var keys = {};
826
826
  Object.keys(namespace.models).forEach(function (mKey) {
827
- var e_3, _c;
827
+ var e_6, _c;
828
828
  relationship[mKey] = { indexes: [], relationTypes: [] };
829
829
  keys[mKey] = {};
830
830
  var model = namespace.models[mKey];
@@ -877,12 +877,12 @@ export var establishRelationAndKeys = function (namespace) {
877
877
  _loop_1(attribute);
878
878
  }
879
879
  }
880
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
880
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
881
881
  finally {
882
882
  try {
883
883
  if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
884
884
  }
885
- finally { if (e_3) throw e_3.error; }
885
+ finally { if (e_6) throw e_6.error; }
886
886
  }
887
887
  }
888
888
  // set 'id' as the PK for models without a custom PK explicitly defined
@@ -961,8 +961,8 @@ export var keysEqual = function (keysA, keysB) {
961
961
  };
962
962
  // Returns primary keys for a model
963
963
  export var getIndexKeys = function (namespace, modelName) {
964
- var _c;
965
- var keyPath = (_c = namespace === null || namespace === void 0 ? void 0 : namespace.keys[modelName]) === null || _c === void 0 ? void 0 : _c.primaryKey;
964
+ var _c, _d;
965
+ var keyPath = (_d = (_c = namespace === null || namespace === void 0 ? void 0 : namespace.keys) === null || _c === void 0 ? void 0 : _c[modelName]) === null || _d === void 0 ? void 0 : _d.primaryKey;
966
966
  if (keyPath) {
967
967
  return keyPath;
968
968
  }
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}