@aws-amplify/datastore 3.14.5-unstable.2 → 3.14.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 (178) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/build.js +5 -0
  3. package/dist/aws-amplify-datastore.js +92853 -0
  4. package/dist/aws-amplify-datastore.js.map +1 -0
  5. package/dist/aws-amplify-datastore.min.js +65 -0
  6. package/dist/aws-amplify-datastore.min.js.map +1 -0
  7. package/index.js +7 -0
  8. package/lib/authModeStrategies/multiAuthStrategy.js +64 -6
  9. package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
  10. package/lib/datastore/datastore.js +297 -703
  11. package/lib/datastore/datastore.js.map +1 -1
  12. package/lib/index.js +4 -6
  13. package/lib/index.js.map +1 -1
  14. package/lib/predicates/index.js +6 -127
  15. package/lib/predicates/index.js.map +1 -1
  16. package/lib/predicates/sort.js +4 -10
  17. package/lib/predicates/sort.js.map +1 -1
  18. package/lib/storage/adapter/AsyncStorageAdapter.js +381 -138
  19. package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  20. package/lib/storage/adapter/AsyncStorageDatabase.js +98 -37
  21. package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  22. package/lib/storage/adapter/InMemoryStore.js +67 -16
  23. package/lib/storage/adapter/InMemoryStore.js.map +1 -1
  24. package/lib/storage/adapter/InMemoryStore.native.js +4 -2
  25. package/lib/storage/adapter/InMemoryStore.native.js.map +1 -1
  26. package/lib/storage/adapter/IndexedDBAdapter.js +420 -272
  27. package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
  28. package/lib/storage/adapter/getDefaultAdapter/index.js +5 -3
  29. package/lib/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  30. package/lib/storage/adapter/getDefaultAdapter/index.native.js +4 -2
  31. package/lib/storage/adapter/getDefaultAdapter/index.native.js.map +1 -1
  32. package/lib/storage/storage.js +143 -72
  33. package/lib/storage/storage.js.map +1 -1
  34. package/lib/sync/datastoreConnectivity.js +55 -6
  35. package/lib/sync/datastoreConnectivity.js.map +1 -1
  36. package/lib/sync/datastoreReachability/index.native.js +4 -2
  37. package/lib/sync/datastoreReachability/index.native.js.map +1 -1
  38. package/lib/sync/index.js +124 -49
  39. package/lib/sync/index.js.map +1 -1
  40. package/lib/sync/merger.js +74 -8
  41. package/lib/sync/merger.js.map +1 -1
  42. package/lib/sync/outbox.js +97 -24
  43. package/lib/sync/outbox.js.map +1 -1
  44. package/lib/sync/processors/errorMaps.js +35 -5
  45. package/lib/sync/processors/errorMaps.js.map +1 -1
  46. package/lib/sync/processors/mutation.js +131 -47
  47. package/lib/sync/processors/mutation.js.map +1 -1
  48. package/lib/sync/processors/subscription.js +102 -29
  49. package/lib/sync/processors/subscription.js.map +1 -1
  50. package/lib/sync/processors/sync.js +102 -26
  51. package/lib/sync/processors/sync.js.map +1 -1
  52. package/lib/sync/utils.js +103 -40
  53. package/lib/sync/utils.js.map +1 -1
  54. package/lib/types.js +39 -9
  55. package/lib/types.js.map +1 -1
  56. package/lib/util.js +188 -192
  57. package/lib/util.js.map +1 -1
  58. package/lib-esm/authModeStrategies/multiAuthStrategy.js +57 -2
  59. package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
  60. package/lib-esm/datastore/datastore.d.ts +8 -59
  61. package/lib-esm/datastore/datastore.js +234 -642
  62. package/lib-esm/datastore/datastore.js.map +1 -1
  63. package/lib-esm/index.d.ts +2 -3
  64. package/lib-esm/index.js +1 -2
  65. package/lib-esm/index.js.map +1 -1
  66. package/lib-esm/predicates/index.d.ts +2 -16
  67. package/lib-esm/predicates/index.js +7 -128
  68. package/lib-esm/predicates/index.js.map +1 -1
  69. package/lib-esm/predicates/sort.js +4 -10
  70. package/lib-esm/predicates/sort.js.map +1 -1
  71. package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +1 -2
  72. package/lib-esm/storage/adapter/AsyncStorageAdapter.js +349 -109
  73. package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
  74. package/lib-esm/storage/adapter/AsyncStorageDatabase.js +68 -7
  75. package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
  76. package/lib-esm/storage/adapter/InMemoryStore.d.ts +1 -1
  77. package/lib-esm/storage/adapter/InMemoryStore.js +52 -1
  78. package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
  79. package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +2 -4
  80. package/lib-esm/storage/adapter/IndexedDBAdapter.js +368 -227
  81. package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
  82. package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +1 -1
  83. package/lib-esm/storage/storage.d.ts +6 -7
  84. package/lib-esm/storage/storage.js +101 -33
  85. package/lib-esm/storage/storage.js.map +1 -1
  86. package/lib-esm/sync/datastoreConnectivity.js +47 -1
  87. package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
  88. package/lib-esm/sync/index.js +76 -4
  89. package/lib-esm/sync/index.js.map +1 -1
  90. package/lib-esm/sync/merger.js +67 -1
  91. package/lib-esm/sync/merger.js.map +1 -1
  92. package/lib-esm/sync/outbox.js +74 -1
  93. package/lib-esm/sync/outbox.js.map +1 -1
  94. package/lib-esm/sync/processors/errorMaps.js +32 -2
  95. package/lib-esm/sync/processors/errorMaps.js.map +1 -1
  96. package/lib-esm/sync/processors/mutation.js +93 -12
  97. package/lib-esm/sync/processors/mutation.js.map +1 -1
  98. package/lib-esm/sync/processors/subscription.js +69 -6
  99. package/lib-esm/sync/processors/subscription.js.map +1 -1
  100. package/lib-esm/sync/processors/sync.js +75 -2
  101. package/lib-esm/sync/processors/sync.js.map +1 -1
  102. package/lib-esm/sync/utils.d.ts +1 -1
  103. package/lib-esm/sync/utils.js +95 -32
  104. package/lib-esm/sync/utils.js.map +1 -1
  105. package/lib-esm/types.d.ts +10 -63
  106. package/lib-esm/types.js +38 -7
  107. package/lib-esm/types.js.map +1 -1
  108. package/lib-esm/util.d.ts +6 -39
  109. package/lib-esm/util.js +171 -171
  110. package/lib-esm/util.js.map +1 -1
  111. package/package.json +14 -21
  112. package/src/authModeStrategies/multiAuthStrategy.ts +2 -2
  113. package/src/datastore/datastore.ts +206 -699
  114. package/src/index.ts +0 -4
  115. package/src/predicates/index.ts +17 -143
  116. package/src/predicates/sort.ts +2 -8
  117. package/src/storage/adapter/AsyncStorageAdapter.ts +178 -56
  118. package/src/storage/adapter/AsyncStorageDatabase.ts +15 -16
  119. package/src/storage/adapter/InMemoryStore.ts +2 -5
  120. package/src/storage/adapter/IndexedDBAdapter.ts +191 -166
  121. package/src/storage/adapter/getDefaultAdapter/index.ts +2 -2
  122. package/src/storage/storage.ts +37 -56
  123. package/src/sync/datastoreConnectivity.ts +4 -4
  124. package/src/sync/index.ts +28 -22
  125. package/src/sync/merger.ts +1 -1
  126. package/src/sync/outbox.ts +6 -6
  127. package/src/sync/processors/errorMaps.ts +1 -1
  128. package/src/sync/processors/mutation.ts +19 -23
  129. package/src/sync/processors/subscription.ts +16 -20
  130. package/src/sync/processors/sync.ts +17 -17
  131. package/src/sync/utils.ts +48 -42
  132. package/src/types.ts +16 -128
  133. package/src/util.ts +150 -108
  134. package/webpack.config.dev.js +6 -0
  135. package/lib/authModeStrategies/defaultAuthStrategy.d.ts +0 -2
  136. package/lib/authModeStrategies/index.d.ts +0 -2
  137. package/lib/authModeStrategies/multiAuthStrategy.d.ts +0 -13
  138. package/lib/datastore/datastore.d.ts +0 -207
  139. package/lib/index.d.ts +0 -16
  140. package/lib/predicates/index.d.ts +0 -30
  141. package/lib/predicates/next.d.ts +0 -301
  142. package/lib/predicates/next.js +0 -816
  143. package/lib/predicates/next.js.map +0 -1
  144. package/lib/predicates/sort.d.ts +0 -8
  145. package/lib/ssr/index.d.ts +0 -3
  146. package/lib/storage/adapter/AsyncStorageAdapter.d.ts +0 -42
  147. package/lib/storage/adapter/AsyncStorageDatabase.d.ts +0 -39
  148. package/lib/storage/adapter/InMemoryStore.d.ts +0 -11
  149. package/lib/storage/adapter/InMemoryStore.native.d.ts +0 -1
  150. package/lib/storage/adapter/IndexedDBAdapter.d.ts +0 -61
  151. package/lib/storage/adapter/getDefaultAdapter/index.d.ts +0 -3
  152. package/lib/storage/adapter/getDefaultAdapter/index.native.d.ts +0 -3
  153. package/lib/storage/adapter/index.d.ts +0 -9
  154. package/lib/storage/relationship.d.ts +0 -140
  155. package/lib/storage/relationship.js +0 -335
  156. package/lib/storage/relationship.js.map +0 -1
  157. package/lib/storage/storage.d.ts +0 -50
  158. package/lib/sync/datastoreConnectivity.d.ts +0 -16
  159. package/lib/sync/datastoreReachability/index.d.ts +0 -3
  160. package/lib/sync/datastoreReachability/index.native.d.ts +0 -3
  161. package/lib/sync/index.d.ts +0 -89
  162. package/lib/sync/merger.d.ts +0 -17
  163. package/lib/sync/outbox.d.ts +0 -27
  164. package/lib/sync/processors/errorMaps.d.ts +0 -17
  165. package/lib/sync/processors/mutation.d.ts +0 -58
  166. package/lib/sync/processors/subscription.d.ts +0 -33
  167. package/lib/sync/processors/sync.d.ts +0 -28
  168. package/lib/sync/utils.d.ts +0 -42
  169. package/lib/types.d.ts +0 -554
  170. package/lib/util.d.ts +0 -189
  171. package/lib-esm/predicates/next.d.ts +0 -301
  172. package/lib-esm/predicates/next.js +0 -812
  173. package/lib-esm/predicates/next.js.map +0 -1
  174. package/lib-esm/storage/relationship.d.ts +0 -140
  175. package/lib-esm/storage/relationship.js +0 -333
  176. package/lib-esm/storage/relationship.js.map +0 -1
  177. package/src/predicates/next.ts +0 -967
  178. package/src/storage/relationship.ts +0 -272
@@ -1 +0,0 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/predicates/next.ts"],"names":[],"mappings":"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"}
@@ -1,140 +0,0 @@
1
- import { ModelMeta } from '../types';
2
- /**
3
- * Defines a relationship from a LOCAL model.field to a REMOTE model.field and helps
4
- * navigate the relationship, providing a simplified peek at the relationship details
5
- * pertinent to setting FK's and constructing join conditions.
6
- *
7
- * Because I mean, relationships are tough.
8
- *
9
- */
10
- export declare class ModelRelationship<T> {
11
- private localModel;
12
- private _field;
13
- /**
14
- * @param modelDefinition The "local" model.
15
- * @param field The "local" model field.
16
- */
17
- constructor(model: ModelMeta<T>, field: string);
18
- /**
19
- * Returns a ModelRelationship for the the given model and field if the pair
20
- * indicates a relationship to another model. Else, returns `null`.
21
- *
22
- * @param model The model the relationship field exists in.
23
- * @param field The field that may relates the local model to the remote model.
24
- */
25
- static from<T>(model: ModelMeta<T>, field: string): ModelRelationship<T>;
26
- /**
27
- * Enumerates all valid `ModelRelationship`'s on the given model.
28
- *
29
- * @param model The model definition to enumerate relationships of.
30
- */
31
- static allFrom<T>(model: ModelMeta<T>): ModelRelationship<T>[];
32
- private get localDefinition();
33
- /**
34
- * The virtual/computed field on the local model that should contain
35
- * the related model.
36
- */
37
- get field(): string;
38
- /**
39
- * The constructor that can be used to query DataStore or create instance for
40
- * the local model.
41
- */
42
- get localConstructor(): import("../types").PersistentModelConstructor<T>;
43
- /**
44
- * The name/type of the relationship the local model has with the remote model
45
- * via the defined local model field.
46
- */
47
- get type(): "HAS_MANY" | "HAS_ONE" | "BELONGS_TO";
48
- /**
49
- * Raw details about the local FK as-is from the local model's field definition in
50
- * the schema. This field requires interpretation.
51
- *
52
- * @see localJoinFields
53
- * @see localAssociatedWith
54
- */
55
- private get localAssocation();
56
- /**
57
- * The field names on the local model that can be used to query or queried to match
58
- * with instances of the remote model.
59
- *
60
- * Fields are returned in-order to match the order of `this.remoteKeyFields`.
61
- */
62
- get localJoinFields(): string[];
63
- /**
64
- * The field names on the local model that uniquely identify it.
65
- *
66
- * These fields may or may not be relevant to the join fields.
67
- */
68
- get localPKFields(): string[];
69
- get remoteDefinition(): import("../types").SchemaModel;
70
- private get remoteModelType();
71
- /**
72
- * Constructor that can be used to query DataStore or create instances for
73
- * the remote model.
74
- */
75
- get remoteModelConstructor(): import("../types").PersistentModelConstructor<Readonly<Record<string, any>>>;
76
- /**
77
- * The field names on the remote model that uniquely identify it.
78
- *
79
- * These fields may or may not be relevant to the join fields.
80
- */
81
- get remotePKFields(): string[];
82
- /**
83
- * The `associatedWith` fields from the local perspective.
84
- *
85
- * When present, these fields indicate which fields on the remote model to use
86
- * when looking for a remote association and/or determining the final remote
87
- * key fields.
88
- */
89
- private get localAssociatedWith();
90
- private get explicitRemoteAssociation();
91
- /**
92
- * The field names on the remote model that can used to query or queried to match
93
- * with instances of the local model.
94
- *
95
- * Fields are returned in-order to match the order of `this.localKeyFields`.
96
- */
97
- get remoteJoinFields(): string[];
98
- /**
99
- * Whether this relationship everything necessary to get, set, and query from
100
- * the perspective of the local model provided at instantiation.
101
- */
102
- get isComplete(): boolean;
103
- /**
104
- * Creates an FK mapper object with respect to the given related instance.
105
- *
106
- * E.g., if the local FK fields are `[parentId, parentName]` and point to
107
- * `[customId, name]` on the remote model, `createLocalFKObject(remote)`
108
- * will return:
109
- *
110
- * ```
111
- * {
112
- * parentId: remote.customId,
113
- * parentName: remote.name
114
- * }
115
- * ```
116
- *
117
- * @param remote The remote related instance.
118
- */
119
- createLocalFKObject(remote: any): Record<string, string>;
120
- /**
121
- * Creates an query mapper object to help fetch the remote instance(s) or
122
- * `null` if any of the necessary local fields are `null` or `undefined`.
123
- *
124
- * E.g., if the local FK fields are `[parentId, parentName]` and point to
125
- * `[customId, name]` on the remote model, `createLocalFKObject(remote)`
126
- * will return:
127
- *
128
- * ```
129
- * {
130
- * customId: local.parentId
131
- * name: local.parentName
132
- * }
133
- * ```
134
- *
135
- * If the local fields are not populated, returns
136
- *
137
- * @param local The local instance.
138
- */
139
- createRemoteQueryObject(local: T): Record<string, string>;
140
- }
@@ -1,333 +0,0 @@
1
- import { __values } from "tslib";
2
- import { isFieldAssociation } from '../types';
3
- /**
4
- * Defines a relationship from a LOCAL model.field to a REMOTE model.field and helps
5
- * navigate the relationship, providing a simplified peek at the relationship details
6
- * pertinent to setting FK's and constructing join conditions.
7
- *
8
- * Because I mean, relationships are tough.
9
- *
10
- */
11
- var ModelRelationship = /** @class */ (function () {
12
- /**
13
- * @param modelDefinition The "local" model.
14
- * @param field The "local" model field.
15
- */
16
- function ModelRelationship(model, field) {
17
- if (!isFieldAssociation(model.schema, field)) {
18
- throw new Error(model.schema.name + "." + field + " is not a relationship.");
19
- }
20
- this.localModel = model;
21
- this._field = field;
22
- }
23
- /**
24
- * Returns a ModelRelationship for the the given model and field if the pair
25
- * indicates a relationship to another model. Else, returns `null`.
26
- *
27
- * @param model The model the relationship field exists in.
28
- * @param field The field that may relates the local model to the remote model.
29
- */
30
- ModelRelationship.from = function (model, field) {
31
- if (isFieldAssociation(model.schema, field)) {
32
- return new this(model, field);
33
- }
34
- else {
35
- return null;
36
- }
37
- };
38
- /**
39
- * Enumerates all valid `ModelRelationship`'s on the given model.
40
- *
41
- * @param model The model definition to enumerate relationships of.
42
- */
43
- ModelRelationship.allFrom = function (model) {
44
- var e_1, _a;
45
- var relationships = [];
46
- try {
47
- for (var _b = __values(Object.keys(model.schema.fields)), _c = _b.next(); !_c.done; _c = _b.next()) {
48
- var field = _c.value;
49
- var relationship = ModelRelationship.from(model, field);
50
- relationship && relationships.push(relationship);
51
- }
52
- }
53
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
- finally {
55
- try {
56
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
57
- }
58
- finally { if (e_1) throw e_1.error; }
59
- }
60
- return relationships;
61
- };
62
- Object.defineProperty(ModelRelationship.prototype, "localDefinition", {
63
- get: function () {
64
- return this.localModel.schema;
65
- },
66
- enumerable: true,
67
- configurable: true
68
- });
69
- Object.defineProperty(ModelRelationship.prototype, "field", {
70
- /**
71
- * The virtual/computed field on the local model that should contain
72
- * the related model.
73
- */
74
- get: function () {
75
- return this._field;
76
- },
77
- enumerable: true,
78
- configurable: true
79
- });
80
- Object.defineProperty(ModelRelationship.prototype, "localConstructor", {
81
- /**
82
- * The constructor that can be used to query DataStore or create instance for
83
- * the local model.
84
- */
85
- get: function () {
86
- return this.localModel.builder;
87
- },
88
- enumerable: true,
89
- configurable: true
90
- });
91
- Object.defineProperty(ModelRelationship.prototype, "type", {
92
- /**
93
- * The name/type of the relationship the local model has with the remote model
94
- * via the defined local model field.
95
- */
96
- get: function () {
97
- return this.localAssocation.connectionType;
98
- },
99
- enumerable: true,
100
- configurable: true
101
- });
102
- Object.defineProperty(ModelRelationship.prototype, "localAssocation", {
103
- /**
104
- * Raw details about the local FK as-is from the local model's field definition in
105
- * the schema. This field requires interpretation.
106
- *
107
- * @see localJoinFields
108
- * @see localAssociatedWith
109
- */
110
- get: function () {
111
- return this.localDefinition.fields[this.field].association;
112
- },
113
- enumerable: true,
114
- configurable: true
115
- });
116
- Object.defineProperty(ModelRelationship.prototype, "localJoinFields", {
117
- /**
118
- * The field names on the local model that can be used to query or queried to match
119
- * with instances of the remote model.
120
- *
121
- * Fields are returned in-order to match the order of `this.remoteKeyFields`.
122
- */
123
- get: function () {
124
- /**
125
- * This is relatively straightforward, actually.
126
- *
127
- * If we have explicitly stated targetNames, codegen is telling us authoritatively
128
- * to use those fields for this relationship. The local model "points to" fields
129
- * in the remote one.
130
- *
131
- * In other cases, the remote model points to this one's
132
- */
133
- if (this.localAssocation.targetName) {
134
- // This case is theoretically unnecessary going forward.
135
- return [this.localAssocation.targetName];
136
- }
137
- else if (this.localAssocation.targetNames) {
138
- return this.localAssocation.targetNames;
139
- }
140
- else {
141
- return this.localPKFields;
142
- }
143
- },
144
- enumerable: true,
145
- configurable: true
146
- });
147
- Object.defineProperty(ModelRelationship.prototype, "localPKFields", {
148
- /**
149
- * The field names on the local model that uniquely identify it.
150
- *
151
- * These fields may or may not be relevant to the join fields.
152
- */
153
- get: function () {
154
- return this.localModel.pkField;
155
- },
156
- enumerable: true,
157
- configurable: true
158
- });
159
- Object.defineProperty(ModelRelationship.prototype, "remoteDefinition", {
160
- get: function () {
161
- var _a;
162
- return (_a = this.remoteModelType.modelConstructor) === null || _a === void 0 ? void 0 : _a.schema;
163
- },
164
- enumerable: true,
165
- configurable: true
166
- });
167
- Object.defineProperty(ModelRelationship.prototype, "remoteModelType", {
168
- get: function () {
169
- return this.localDefinition.fields[this.field].type;
170
- },
171
- enumerable: true,
172
- configurable: true
173
- });
174
- Object.defineProperty(ModelRelationship.prototype, "remoteModelConstructor", {
175
- /**
176
- * Constructor that can be used to query DataStore or create instances for
177
- * the remote model.
178
- */
179
- get: function () {
180
- return this.remoteModelType.modelConstructor.builder;
181
- },
182
- enumerable: true,
183
- configurable: true
184
- });
185
- Object.defineProperty(ModelRelationship.prototype, "remotePKFields", {
186
- /**
187
- * The field names on the remote model that uniquely identify it.
188
- *
189
- * These fields may or may not be relevant to the join fields.
190
- */
191
- get: function () {
192
- var _a;
193
- return ((_a = this.remoteModelType.modelConstructor) === null || _a === void 0 ? void 0 : _a.pkField) || ['id'];
194
- },
195
- enumerable: true,
196
- configurable: true
197
- });
198
- Object.defineProperty(ModelRelationship.prototype, "localAssociatedWith", {
199
- /**
200
- * The `associatedWith` fields from the local perspective.
201
- *
202
- * When present, these fields indicate which fields on the remote model to use
203
- * when looking for a remote association and/or determining the final remote
204
- * key fields.
205
- */
206
- get: function () {
207
- if (this.localAssocation.connectionType === 'HAS_MANY' ||
208
- this.localAssocation.connectionType === 'HAS_ONE') {
209
- // This de-arraying is theoretically unnecessary going forward.
210
- return Array.isArray(this.localAssocation.associatedWith)
211
- ? this.localAssocation.associatedWith
212
- : [this.localAssocation.associatedWith];
213
- }
214
- else {
215
- return undefined;
216
- }
217
- },
218
- enumerable: true,
219
- configurable: true
220
- });
221
- Object.defineProperty(ModelRelationship.prototype, "explicitRemoteAssociation", {
222
- get: function () {
223
- var _a;
224
- if (this.localAssociatedWith) {
225
- if (this.localAssociatedWith.length === 1) {
226
- return (_a = this.remoteDefinition.fields[this.localAssociatedWith[0]]) === null || _a === void 0 ? void 0 : _a.association;
227
- }
228
- else {
229
- return undefined;
230
- }
231
- }
232
- },
233
- enumerable: true,
234
- configurable: true
235
- });
236
- Object.defineProperty(ModelRelationship.prototype, "remoteJoinFields", {
237
- /**
238
- * The field names on the remote model that can used to query or queried to match
239
- * with instances of the local model.
240
- *
241
- * Fields are returned in-order to match the order of `this.localKeyFields`.
242
- */
243
- get: function () {
244
- /**
245
- * If the local relationship explicitly names "associated with" fields, we
246
- * need to see if this points direction to a reciprocating assocation. If it
247
- * does, the remote assocation indicates what fields to use.
248
- */
249
- var _a, _b, _c;
250
- if ((_a = this.explicitRemoteAssociation) === null || _a === void 0 ? void 0 : _a.targetName) {
251
- // This case is theoretically unnecessary going forward.
252
- return [this.explicitRemoteAssociation.targetName];
253
- }
254
- else if ((_b = this.explicitRemoteAssociation) === null || _b === void 0 ? void 0 : _b.targetNames) {
255
- return (_c = this.explicitRemoteAssociation) === null || _c === void 0 ? void 0 : _c.targetNames;
256
- }
257
- else if (this.localAssociatedWith) {
258
- return this.localAssociatedWith;
259
- }
260
- else {
261
- return this.remotePKFields;
262
- }
263
- },
264
- enumerable: true,
265
- configurable: true
266
- });
267
- Object.defineProperty(ModelRelationship.prototype, "isComplete", {
268
- /**
269
- * Whether this relationship everything necessary to get, set, and query from
270
- * the perspective of the local model provided at instantiation.
271
- */
272
- get: function () {
273
- return this.localJoinFields.length > 0 && this.remoteJoinFields.length > 0;
274
- },
275
- enumerable: true,
276
- configurable: true
277
- });
278
- /**
279
- * Creates an FK mapper object with respect to the given related instance.
280
- *
281
- * E.g., if the local FK fields are `[parentId, parentName]` and point to
282
- * `[customId, name]` on the remote model, `createLocalFKObject(remote)`
283
- * will return:
284
- *
285
- * ```
286
- * {
287
- * parentId: remote.customId,
288
- * parentName: remote.name
289
- * }
290
- * ```
291
- *
292
- * @param remote The remote related instance.
293
- */
294
- ModelRelationship.prototype.createLocalFKObject = function (remote) {
295
- var fk = {};
296
- for (var i = 0; i < this.localJoinFields.length; i++) {
297
- fk[this.localJoinFields[i]] = remote[this.remoteJoinFields[i]];
298
- }
299
- return fk;
300
- };
301
- /**
302
- * Creates an query mapper object to help fetch the remote instance(s) or
303
- * `null` if any of the necessary local fields are `null` or `undefined`.
304
- *
305
- * E.g., if the local FK fields are `[parentId, parentName]` and point to
306
- * `[customId, name]` on the remote model, `createLocalFKObject(remote)`
307
- * will return:
308
- *
309
- * ```
310
- * {
311
- * customId: local.parentId
312
- * name: local.parentName
313
- * }
314
- * ```
315
- *
316
- * If the local fields are not populated, returns
317
- *
318
- * @param local The local instance.
319
- */
320
- ModelRelationship.prototype.createRemoteQueryObject = function (local) {
321
- var query = {};
322
- for (var i = 0; i < this.remoteJoinFields.length; i++) {
323
- var localValue = local[this.localJoinFields[i]];
324
- if (localValue === null || localValue === undefined)
325
- return null;
326
- query[this.remoteJoinFields[i]] = local[this.localJoinFields[i]];
327
- }
328
- return query;
329
- };
330
- return ModelRelationship;
331
- }());
332
- export { ModelRelationship };
333
- //# sourceMappingURL=relationship.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../src/storage/relationship.ts"],"names":[],"mappings":"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"}