@aws-amplify/datastore 3.7.4-custom-pk.79 → 3.7.4-custom-pk.87
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.
- package/dist/aws-amplify-datastore.js +458 -256
- package/dist/aws-amplify-datastore.js.map +1 -1
- package/dist/aws-amplify-datastore.min.js +3 -3
- package/dist/aws-amplify-datastore.min.js.map +1 -1
- package/lib/datastore/datastore.js +47 -11
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageAdapter.js +229 -135
- package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageDatabase.js +3 -2
- package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib/storage/adapter/IndexedDBAdapter.js +12 -17
- package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib/sync/utils.js +7 -3
- package/lib/sync/utils.js.map +1 -1
- package/lib/types.d.ts +5 -1
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +7 -2
- package/lib/util.js +76 -54
- package/lib/util.js.map +1 -1
- package/lib-esm/datastore/datastore.js +48 -12
- package/lib-esm/datastore/datastore.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js +229 -135
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js +4 -3
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +12 -17
- package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib-esm/sync/utils.js +7 -3
- package/lib-esm/sync/utils.js.map +1 -1
- package/lib-esm/types.d.ts +5 -1
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/util.d.ts +7 -2
- package/lib-esm/util.js +74 -54
- package/lib-esm/util.js.map +1 -1
- package/package.json +7 -7
- package/src/datastore/datastore.ts +60 -13
- package/src/storage/adapter/AsyncStorageAdapter.ts +162 -35
- package/src/storage/adapter/AsyncStorageDatabase.ts +4 -2
- package/src/storage/adapter/IndexedDBAdapter.ts +14 -25
- package/src/sync/utils.ts +7 -4
- package/src/types.ts +10 -1
- package/src/util.ts +71 -35
|
@@ -81825,6 +81825,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
81825
81825
|
/* harmony import */ var _sync__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../sync */ "./lib-esm/sync/index.js");
|
|
81826
81826
|
/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../types */ "./lib-esm/types.js");
|
|
81827
81827
|
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../util */ "./lib-esm/util.js");
|
|
81828
|
+
/* harmony import */ var _sync_utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../sync/utils */ "./lib-esm/sync/utils.js");
|
|
81828
81829
|
function _typeof(obj) {
|
|
81829
81830
|
"@babel/helpers - typeof";
|
|
81830
81831
|
|
|
@@ -82072,6 +82073,7 @@ var __spread = undefined && undefined.__spread || function () {
|
|
|
82072
82073
|
|
|
82073
82074
|
|
|
82074
82075
|
|
|
82076
|
+
|
|
82075
82077
|
Object(immer__WEBPACK_IMPORTED_MODULE_4__["setAutoFreeze"])(true);
|
|
82076
82078
|
Object(immer__WEBPACK_IMPORTED_MODULE_4__["enablePatches"])();
|
|
82077
82079
|
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"]('DataStore');
|
|
@@ -82242,6 +82244,10 @@ function modelInstanceCreator(modelConstructor, init) {
|
|
|
82242
82244
|
return new modelConstructor(init);
|
|
82243
82245
|
}
|
|
82244
82246
|
|
|
82247
|
+
function isSchemaModel(m) {
|
|
82248
|
+
return m.attributes !== undefined;
|
|
82249
|
+
}
|
|
82250
|
+
|
|
82245
82251
|
var validateModelFields = function validateModelFields(modelDefinition) {
|
|
82246
82252
|
return function (k, v) {
|
|
82247
82253
|
var fieldDefinition = modelDefinition.fields[k];
|
|
@@ -82257,6 +82263,18 @@ var validateModelFields = function validateModelFields(modelDefinition) {
|
|
|
82257
82263
|
throw new Error("Field " + name_1 + " is required");
|
|
82258
82264
|
}
|
|
82259
82265
|
|
|
82266
|
+
if (isSchemaModel(modelDefinition) && !Object(_util__WEBPACK_IMPORTED_MODULE_12__["isIdManaged"])(modelDefinition)) {
|
|
82267
|
+
var keys = Object(_util__WEBPACK_IMPORTED_MODULE_12__["extractPrimaryKeyFieldNames"])(modelDefinition);
|
|
82268
|
+
|
|
82269
|
+
if (keys.includes(k) && v === '') {
|
|
82270
|
+
logger.error(_util__WEBPACK_IMPORTED_MODULE_12__["errorMessages"].idEmptyString, {
|
|
82271
|
+
k: k,
|
|
82272
|
+
value: v
|
|
82273
|
+
});
|
|
82274
|
+
throw new Error(_util__WEBPACK_IMPORTED_MODULE_12__["errorMessages"].idEmptyString);
|
|
82275
|
+
}
|
|
82276
|
+
}
|
|
82277
|
+
|
|
82260
82278
|
if (Object(_types__WEBPACK_IMPORTED_MODULE_11__["isGraphQLScalarType"])(type)) {
|
|
82261
82279
|
var jsType_1 = _types__WEBPACK_IMPORTED_MODULE_11__["GraphQLScalarType"].getJSType(type);
|
|
82262
82280
|
var validateScalar_1 = _types__WEBPACK_IMPORTED_MODULE_11__["GraphQLScalarType"].getValidationFunction(type);
|
|
@@ -82412,7 +82430,6 @@ var createModelClass = function createModelClass(modelDefinition) {
|
|
|
82412
82430
|
var model = Object(immer__WEBPACK_IMPORTED_MODULE_4__["produce"])(source, function (draft) {
|
|
82413
82431
|
fn(draft);
|
|
82414
82432
|
var keyNames = Object(_util__WEBPACK_IMPORTED_MODULE_12__["extractPrimaryKeyFieldNames"])(modelDefinition); // Keys are immutable
|
|
82415
|
-
// CPK TODO: Previous comment from Ivan:
|
|
82416
82433
|
// @ts-ignore TODO: fix type
|
|
82417
82434
|
|
|
82418
82435
|
keyNames.forEach(function (key) {
|
|
@@ -83205,7 +83222,7 @@ function () {
|
|
|
83205
83222
|
}).subscribe({
|
|
83206
83223
|
next: function next(item) {
|
|
83207
83224
|
return __awaiter(_this, void 0, void 0, function () {
|
|
83208
|
-
var message, freshElement;
|
|
83225
|
+
var message, modelDefinition, keyFields, primaryKeysAndValues, freshElement;
|
|
83209
83226
|
return __generator(this, function (_a) {
|
|
83210
83227
|
switch (_a.label) {
|
|
83211
83228
|
case 0:
|
|
@@ -83213,9 +83230,12 @@ function () {
|
|
|
83213
83230
|
if (!(item.opType !== 'DELETE')) return [3
|
|
83214
83231
|
/*break*/
|
|
83215
83232
|
, 2];
|
|
83233
|
+
modelDefinition = getModelDefinition(item.model);
|
|
83234
|
+
keyFields = Object(_util__WEBPACK_IMPORTED_MODULE_12__["extractPrimaryKeyFieldNames"])(modelDefinition);
|
|
83235
|
+
primaryKeysAndValues = Object(_util__WEBPACK_IMPORTED_MODULE_12__["extractPrimaryKeysAndValues"])(item.element, keyFields);
|
|
83216
83236
|
return [4
|
|
83217
83237
|
/*yield*/
|
|
83218
|
-
, this.query(item.model,
|
|
83238
|
+
, this.query(item.model, primaryKeysAndValues)];
|
|
83219
83239
|
|
|
83220
83240
|
case 1:
|
|
83221
83241
|
freshElement = _a.sent();
|
|
@@ -83328,7 +83348,15 @@ function () {
|
|
|
83328
83348
|
case 1:
|
|
83329
83349
|
// first, query and return any locally-available records
|
|
83330
83350
|
_a.sent().forEach(function (item) {
|
|
83331
|
-
|
|
83351
|
+
var record = item; // TODO: fix query
|
|
83352
|
+
|
|
83353
|
+
if (Array.isArray(item)) {
|
|
83354
|
+
record = item[0];
|
|
83355
|
+
}
|
|
83356
|
+
|
|
83357
|
+
var itemModelDefinition = getModelDefinition(model);
|
|
83358
|
+
var idOrPk = Object(_sync_utils__WEBPACK_IMPORTED_MODULE_13__["getIdentifierValue"])(itemModelDefinition, record);
|
|
83359
|
+
items.set(idOrPk, record);
|
|
83332
83360
|
}); // Observe the model and send a stream of updates (debounced).
|
|
83333
83361
|
// We need to post-filter results instead of passing criteria through
|
|
83334
83362
|
// to have visibility into items that move from in-set to out-of-set.
|
|
@@ -83342,13 +83370,22 @@ function () {
|
|
|
83342
83370
|
|
|
83343
83371
|
var _b, _c;
|
|
83344
83372
|
|
|
83345
|
-
|
|
83346
|
-
|
|
83373
|
+
var record = element; // TODO: fix query
|
|
83374
|
+
|
|
83375
|
+
if (Array.isArray(element)) {
|
|
83376
|
+
record = element[0];
|
|
83377
|
+
}
|
|
83378
|
+
|
|
83379
|
+
var itemModelDefinition = getModelDefinition(model);
|
|
83380
|
+
var idOrPk = Object(_sync_utils__WEBPACK_IMPORTED_MODULE_13__["getIdentifierValue"])(itemModelDefinition, record);
|
|
83381
|
+
|
|
83382
|
+
if (hasPredicate && !Object(_util__WEBPACK_IMPORTED_MODULE_12__["validatePredicate"])(record, predicateGroupType, predicates)) {
|
|
83383
|
+
if (opType === 'UPDATE' && (items.has(idOrPk) || itemsChanged.has(idOrPk))) {
|
|
83347
83384
|
// tracking as a "deleted item" will include the item in
|
|
83348
83385
|
// page limit calculations and ensure it is removed from the
|
|
83349
83386
|
// final items collection, regardless of which collection(s)
|
|
83350
83387
|
// it is currently in. (I mean, it could be in both, right!?)
|
|
83351
|
-
deletedItemIds.push(
|
|
83388
|
+
deletedItemIds.push(idOrPk);
|
|
83352
83389
|
} else {
|
|
83353
83390
|
// ignore updates for irrelevant/filtered items.
|
|
83354
83391
|
return;
|
|
@@ -83360,9 +83397,9 @@ function () {
|
|
|
83360
83397
|
|
|
83361
83398
|
|
|
83362
83399
|
if (opType === 'DELETE') {
|
|
83363
|
-
deletedItemIds.push(
|
|
83400
|
+
deletedItemIds.push(idOrPk);
|
|
83364
83401
|
} else {
|
|
83365
|
-
itemsChanged.set(
|
|
83402
|
+
itemsChanged.set(idOrPk, record);
|
|
83366
83403
|
}
|
|
83367
83404
|
|
|
83368
83405
|
var isSynced = (_c = (_b = _this.sync) === null || _b === void 0 ? void 0 : _b.getModelSyncedStatus(model)) !== null && _c !== void 0 ? _c : false;
|
|
@@ -83417,11 +83454,20 @@ function () {
|
|
|
83417
83454
|
|
|
83418
83455
|
items.clear();
|
|
83419
83456
|
itemsArray.forEach(function (item) {
|
|
83420
|
-
|
|
83457
|
+
// CPK TODO: fix query
|
|
83458
|
+
var record = item;
|
|
83459
|
+
|
|
83460
|
+
if (Array.isArray(item)) {
|
|
83461
|
+
record = item[0];
|
|
83462
|
+
}
|
|
83463
|
+
|
|
83464
|
+
var itemModelDefinition = getModelDefinition(model);
|
|
83465
|
+
var idOrPk = Object(_sync_utils__WEBPACK_IMPORTED_MODULE_13__["getIdentifierValue"])(itemModelDefinition, record);
|
|
83466
|
+
items.set(idOrPk, record);
|
|
83421
83467
|
}); // remove deleted items from the final result set
|
|
83422
83468
|
|
|
83423
|
-
deletedItemIds.forEach(function (
|
|
83424
|
-
return items["delete"](
|
|
83469
|
+
deletedItemIds.forEach(function (idOrPk) {
|
|
83470
|
+
return items["delete"](idOrPk);
|
|
83425
83471
|
});
|
|
83426
83472
|
return {
|
|
83427
83473
|
items: Array.from(items.values()),
|
|
@@ -84418,9 +84464,10 @@ function () {
|
|
|
84418
84464
|
|
|
84419
84465
|
|
|
84420
84466
|
AsyncStorageAdapter.prototype.getIndexKeys = function (namespaceName, modelName) {
|
|
84421
|
-
var _a
|
|
84467
|
+
var _a;
|
|
84422
84468
|
|
|
84423
|
-
var
|
|
84469
|
+
var namespace = this.schema.namespaces[namespaceName];
|
|
84470
|
+
var keyPath = (_a = namespace === null || namespace === void 0 ? void 0 : namespace.keys[modelName]) === null || _a === void 0 ? void 0 : _a.primaryKey;
|
|
84424
84471
|
|
|
84425
84472
|
if (keyPath) {
|
|
84426
84473
|
return keyPath;
|
|
@@ -84712,7 +84759,7 @@ function () {
|
|
|
84712
84759
|
var e_2, _a, e_3, _b, e_4, _c;
|
|
84713
84760
|
|
|
84714
84761
|
return __awaiter(this, void 0, void 0, function () {
|
|
84715
|
-
var namespace, relations, connectionStoreNames, modelConstructor, relations_1, relations_1_1, relation, fieldName, modelName, targetName, relationType, storeName, modelConstructor_1, _d, recordItem, getByfield, key, connectionRecord, e_3_1, recordItem, key, connectionRecord, e_4_1, e_2_1;
|
|
84762
|
+
var namespace, relations, connectionStoreNames, modelConstructor, relations_1, relations_1_1, relation, fieldName, modelName, targetName, targetNames, relationType, storeName, modelConstructor_1, _d, recordItem, getByFields, allPresent, keys, connectionRecord, getByfield, key, connectionRecord, e_3_1, recordItem, allPresent, keys, connectionRecord, key, connectionRecord, e_4_1, e_2_1;
|
|
84716
84763
|
|
|
84717
84764
|
var _this = this;
|
|
84718
84765
|
|
|
@@ -84738,7 +84785,7 @@ function () {
|
|
|
84738
84785
|
_e.label = 1;
|
|
84739
84786
|
|
|
84740
84787
|
case 1:
|
|
84741
|
-
_e.trys.push([1,
|
|
84788
|
+
_e.trys.push([1, 38, 39, 44]);
|
|
84742
84789
|
|
|
84743
84790
|
relations_1 = __asyncValues(relations);
|
|
84744
84791
|
_e.label = 2;
|
|
@@ -84751,9 +84798,9 @@ function () {
|
|
|
84751
84798
|
case 3:
|
|
84752
84799
|
if (!(relations_1_1 = _e.sent(), !relations_1_1.done)) return [3
|
|
84753
84800
|
/*break*/
|
|
84754
|
-
,
|
|
84801
|
+
, 37];
|
|
84755
84802
|
relation = relations_1_1.value;
|
|
84756
|
-
fieldName = relation.fieldName, modelName = relation.modelName, targetName = relation.targetName, relationType = relation.relationType;
|
|
84803
|
+
fieldName = relation.fieldName, modelName = relation.modelName, targetName = relation.targetName, targetNames = relation.targetNames, relationType = relation.relationType;
|
|
84757
84804
|
storeName = this.getStorename(namespaceName, modelName);
|
|
84758
84805
|
modelConstructor_1 = this.getModelConstructorByModelName(namespaceName, modelName);
|
|
84759
84806
|
_d = relationType;
|
|
@@ -84767,20 +84814,20 @@ function () {
|
|
|
84767
84814
|
case 'BELONGS_TO':
|
|
84768
84815
|
return [3
|
|
84769
84816
|
/*break*/
|
|
84770
|
-
,
|
|
84817
|
+
, 19];
|
|
84771
84818
|
|
|
84772
84819
|
case 'HAS_MANY':
|
|
84773
84820
|
return [3
|
|
84774
84821
|
/*break*/
|
|
84775
|
-
,
|
|
84822
|
+
, 34];
|
|
84776
84823
|
}
|
|
84777
84824
|
|
|
84778
84825
|
return [3
|
|
84779
84826
|
/*break*/
|
|
84780
|
-
,
|
|
84827
|
+
, 35];
|
|
84781
84828
|
|
|
84782
84829
|
case 4:
|
|
84783
|
-
_e.trys.push([4,
|
|
84830
|
+
_e.trys.push([4, 12, 13, 18]);
|
|
84784
84831
|
|
|
84785
84832
|
records_1 = __asyncValues(records);
|
|
84786
84833
|
_e.label = 5;
|
|
@@ -84793,225 +84840,290 @@ function () {
|
|
|
84793
84840
|
case 6:
|
|
84794
84841
|
if (!(records_1_1 = _e.sent(), !records_1_1.done)) return [3
|
|
84795
84842
|
/*break*/
|
|
84796
|
-
,
|
|
84843
|
+
, 11];
|
|
84797
84844
|
recordItem = records_1_1.value;
|
|
84845
|
+
if (!(targetNames === null || targetNames === void 0 ? void 0 : targetNames.length)) return [3
|
|
84846
|
+
/*break*/
|
|
84847
|
+
, 8];
|
|
84848
|
+
getByFields = [];
|
|
84849
|
+
allPresent = void 0; // iterate through all targetnames to make sure they are all present in the recordItem
|
|
84850
|
+
|
|
84851
|
+
allPresent = targetNames.every(function (targetName) {
|
|
84852
|
+
return recordItem[targetName] != null;
|
|
84853
|
+
});
|
|
84854
|
+
|
|
84855
|
+
if (!allPresent) {
|
|
84856
|
+
return [3
|
|
84857
|
+
/*break*/
|
|
84858
|
+
, 11];
|
|
84859
|
+
}
|
|
84860
|
+
|
|
84861
|
+
getByFields = targetNames;
|
|
84862
|
+
keys = getByFields.map(function (getByField) {
|
|
84863
|
+
return recordItem[getByField];
|
|
84864
|
+
}).join(DEFAULT_PRIMARY_KEY_SEPARATOR);
|
|
84865
|
+
return [4
|
|
84866
|
+
/*yield*/
|
|
84867
|
+
, this.db.get(keys, storeName)];
|
|
84868
|
+
|
|
84869
|
+
case 7:
|
|
84870
|
+
connectionRecord = _e.sent();
|
|
84871
|
+
recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
84872
|
+
return [3
|
|
84873
|
+
/*break*/
|
|
84874
|
+
, 10];
|
|
84875
|
+
|
|
84876
|
+
case 8:
|
|
84798
84877
|
getByfield = recordItem[targetName] ? targetName : fieldName;
|
|
84799
84878
|
if (!recordItem[getByfield]) return [3
|
|
84800
84879
|
/*break*/
|
|
84801
|
-
,
|
|
84880
|
+
, 11];
|
|
84802
84881
|
key = recordItem[getByfield];
|
|
84803
84882
|
return [4
|
|
84804
84883
|
/*yield*/
|
|
84805
84884
|
, this.db.get(key, storeName)];
|
|
84806
84885
|
|
|
84807
|
-
case
|
|
84886
|
+
case 9:
|
|
84808
84887
|
connectionRecord = _e.sent();
|
|
84809
84888
|
recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
84810
|
-
_e.label =
|
|
84889
|
+
_e.label = 10;
|
|
84811
84890
|
|
|
84812
|
-
case
|
|
84891
|
+
case 10:
|
|
84813
84892
|
return [3
|
|
84814
84893
|
/*break*/
|
|
84815
84894
|
, 5];
|
|
84816
84895
|
|
|
84817
|
-
case
|
|
84896
|
+
case 11:
|
|
84818
84897
|
return [3
|
|
84819
84898
|
/*break*/
|
|
84820
|
-
,
|
|
84899
|
+
, 18];
|
|
84821
84900
|
|
|
84822
|
-
case
|
|
84901
|
+
case 12:
|
|
84823
84902
|
e_3_1 = _e.sent();
|
|
84824
84903
|
e_3 = {
|
|
84825
84904
|
error: e_3_1
|
|
84826
84905
|
};
|
|
84827
84906
|
return [3
|
|
84828
84907
|
/*break*/
|
|
84829
|
-
,
|
|
84908
|
+
, 18];
|
|
84830
84909
|
|
|
84831
|
-
case
|
|
84832
|
-
_e.trys.push([
|
|
84910
|
+
case 13:
|
|
84911
|
+
_e.trys.push([13,, 16, 17]);
|
|
84833
84912
|
|
|
84834
84913
|
if (!(records_1_1 && !records_1_1.done && (_b = records_1["return"]))) return [3
|
|
84835
84914
|
/*break*/
|
|
84836
|
-
,
|
|
84915
|
+
, 15];
|
|
84837
84916
|
return [4
|
|
84838
84917
|
/*yield*/
|
|
84839
84918
|
, _b.call(records_1)];
|
|
84840
84919
|
|
|
84841
|
-
case
|
|
84920
|
+
case 14:
|
|
84842
84921
|
_e.sent();
|
|
84843
84922
|
|
|
84844
|
-
_e.label =
|
|
84923
|
+
_e.label = 15;
|
|
84845
84924
|
|
|
84846
|
-
case
|
|
84925
|
+
case 15:
|
|
84847
84926
|
return [3
|
|
84848
84927
|
/*break*/
|
|
84849
|
-
,
|
|
84928
|
+
, 17];
|
|
84850
84929
|
|
|
84851
|
-
case
|
|
84930
|
+
case 16:
|
|
84852
84931
|
if (e_3) throw e_3.error;
|
|
84853
84932
|
return [7
|
|
84854
84933
|
/*endfinally*/
|
|
84855
84934
|
];
|
|
84856
84935
|
|
|
84857
|
-
case
|
|
84936
|
+
case 17:
|
|
84858
84937
|
return [7
|
|
84859
84938
|
/*endfinally*/
|
|
84860
84939
|
];
|
|
84861
84940
|
|
|
84862
|
-
case
|
|
84941
|
+
case 18:
|
|
84863
84942
|
return [3
|
|
84864
84943
|
/*break*/
|
|
84865
|
-
,
|
|
84944
|
+
, 36];
|
|
84866
84945
|
|
|
84867
|
-
case
|
|
84868
|
-
_e.trys.push([
|
|
84946
|
+
case 19:
|
|
84947
|
+
_e.trys.push([19, 27, 28, 33]);
|
|
84869
84948
|
|
|
84870
84949
|
records_2 = __asyncValues(records);
|
|
84871
|
-
_e.label =
|
|
84950
|
+
_e.label = 20;
|
|
84872
84951
|
|
|
84873
|
-
case
|
|
84952
|
+
case 20:
|
|
84874
84953
|
return [4
|
|
84875
84954
|
/*yield*/
|
|
84876
84955
|
, records_2.next()];
|
|
84877
84956
|
|
|
84878
|
-
case
|
|
84957
|
+
case 21:
|
|
84879
84958
|
if (!(records_2_1 = _e.sent(), !records_2_1.done)) return [3
|
|
84880
84959
|
/*break*/
|
|
84881
|
-
,
|
|
84960
|
+
, 26];
|
|
84882
84961
|
recordItem = records_2_1.value;
|
|
84962
|
+
if (!(targetNames === null || targetNames === void 0 ? void 0 : targetNames.length)) return [3
|
|
84963
|
+
/*break*/
|
|
84964
|
+
, 23];
|
|
84965
|
+
allPresent = void 0; // iterate through all targetnames to make sure they are all present in the recordItem
|
|
84966
|
+
|
|
84967
|
+
allPresent = targetNames.every(function (targetName) {
|
|
84968
|
+
return recordItem[targetName] != null;
|
|
84969
|
+
}); // If not present, there is not yet a connected record
|
|
84970
|
+
|
|
84971
|
+
if (!allPresent) {
|
|
84972
|
+
return [3
|
|
84973
|
+
/*break*/
|
|
84974
|
+
, 26];
|
|
84975
|
+
}
|
|
84976
|
+
|
|
84977
|
+
keys = targetNames.map(function (targetName) {
|
|
84978
|
+
return recordItem[targetName];
|
|
84979
|
+
}).join(DEFAULT_PRIMARY_KEY_SEPARATOR);
|
|
84980
|
+
return [4
|
|
84981
|
+
/*yield*/
|
|
84982
|
+
, this.db.get(keys, storeName)];
|
|
84983
|
+
|
|
84984
|
+
case 22:
|
|
84985
|
+
connectionRecord = _e.sent();
|
|
84986
|
+
recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
84987
|
+
targetNames === null || targetNames === void 0 ? void 0 : targetNames.map(function (targetName) {
|
|
84988
|
+
delete recordItem[targetName];
|
|
84989
|
+
});
|
|
84990
|
+
return [3
|
|
84991
|
+
/*break*/
|
|
84992
|
+
, 25];
|
|
84993
|
+
|
|
84994
|
+
case 23:
|
|
84883
84995
|
if (!recordItem[targetName]) return [3
|
|
84884
84996
|
/*break*/
|
|
84885
|
-
,
|
|
84997
|
+
, 25];
|
|
84886
84998
|
key = recordItem[targetName];
|
|
84887
84999
|
return [4
|
|
84888
85000
|
/*yield*/
|
|
84889
85001
|
, this.db.get(key, storeName)];
|
|
84890
85002
|
|
|
84891
|
-
case
|
|
85003
|
+
case 24:
|
|
84892
85004
|
connectionRecord = _e.sent();
|
|
84893
85005
|
recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
84894
85006
|
delete recordItem[targetName];
|
|
84895
|
-
_e.label =
|
|
85007
|
+
_e.label = 25;
|
|
84896
85008
|
|
|
84897
|
-
case
|
|
85009
|
+
case 25:
|
|
84898
85010
|
return [3
|
|
84899
85011
|
/*break*/
|
|
84900
|
-
,
|
|
85012
|
+
, 20];
|
|
84901
85013
|
|
|
84902
|
-
case
|
|
85014
|
+
case 26:
|
|
84903
85015
|
return [3
|
|
84904
85016
|
/*break*/
|
|
84905
|
-
,
|
|
85017
|
+
, 33];
|
|
84906
85018
|
|
|
84907
|
-
case
|
|
85019
|
+
case 27:
|
|
84908
85020
|
e_4_1 = _e.sent();
|
|
84909
85021
|
e_4 = {
|
|
84910
85022
|
error: e_4_1
|
|
84911
85023
|
};
|
|
84912
85024
|
return [3
|
|
84913
85025
|
/*break*/
|
|
84914
|
-
,
|
|
85026
|
+
, 33];
|
|
84915
85027
|
|
|
84916
|
-
case
|
|
84917
|
-
_e.trys.push([
|
|
85028
|
+
case 28:
|
|
85029
|
+
_e.trys.push([28,, 31, 32]);
|
|
84918
85030
|
|
|
84919
85031
|
if (!(records_2_1 && !records_2_1.done && (_c = records_2["return"]))) return [3
|
|
84920
85032
|
/*break*/
|
|
84921
|
-
,
|
|
85033
|
+
, 30];
|
|
84922
85034
|
return [4
|
|
84923
85035
|
/*yield*/
|
|
84924
85036
|
, _c.call(records_2)];
|
|
84925
85037
|
|
|
84926
|
-
case
|
|
85038
|
+
case 29:
|
|
84927
85039
|
_e.sent();
|
|
84928
85040
|
|
|
84929
|
-
_e.label =
|
|
85041
|
+
_e.label = 30;
|
|
84930
85042
|
|
|
84931
|
-
case
|
|
85043
|
+
case 30:
|
|
84932
85044
|
return [3
|
|
84933
85045
|
/*break*/
|
|
84934
|
-
,
|
|
85046
|
+
, 32];
|
|
84935
85047
|
|
|
84936
|
-
case
|
|
85048
|
+
case 31:
|
|
84937
85049
|
if (e_4) throw e_4.error;
|
|
84938
85050
|
return [7
|
|
84939
85051
|
/*endfinally*/
|
|
84940
85052
|
];
|
|
84941
85053
|
|
|
84942
|
-
case
|
|
85054
|
+
case 32:
|
|
84943
85055
|
return [7
|
|
84944
85056
|
/*endfinally*/
|
|
84945
85057
|
];
|
|
84946
85058
|
|
|
84947
|
-
case
|
|
85059
|
+
case 33:
|
|
84948
85060
|
return [3
|
|
84949
85061
|
/*break*/
|
|
84950
|
-
,
|
|
85062
|
+
, 36];
|
|
84951
85063
|
|
|
84952
|
-
case
|
|
85064
|
+
case 34:
|
|
84953
85065
|
// TODO: Lazy loading
|
|
84954
85066
|
return [3
|
|
84955
85067
|
/*break*/
|
|
84956
|
-
,
|
|
85068
|
+
, 36];
|
|
84957
85069
|
|
|
84958
|
-
case
|
|
85070
|
+
case 35:
|
|
84959
85071
|
Object(_util__WEBPACK_IMPORTED_MODULE_4__["exhaustiveCheck"])(relationType);
|
|
84960
85072
|
return [3
|
|
84961
85073
|
/*break*/
|
|
84962
|
-
,
|
|
85074
|
+
, 36];
|
|
84963
85075
|
|
|
84964
|
-
case
|
|
85076
|
+
case 36:
|
|
84965
85077
|
return [3
|
|
84966
85078
|
/*break*/
|
|
84967
85079
|
, 2];
|
|
84968
85080
|
|
|
84969
|
-
case
|
|
85081
|
+
case 37:
|
|
84970
85082
|
return [3
|
|
84971
85083
|
/*break*/
|
|
84972
|
-
,
|
|
85084
|
+
, 44];
|
|
84973
85085
|
|
|
84974
|
-
case
|
|
85086
|
+
case 38:
|
|
84975
85087
|
e_2_1 = _e.sent();
|
|
84976
85088
|
e_2 = {
|
|
84977
85089
|
error: e_2_1
|
|
84978
85090
|
};
|
|
84979
85091
|
return [3
|
|
84980
85092
|
/*break*/
|
|
84981
|
-
,
|
|
85093
|
+
, 44];
|
|
84982
85094
|
|
|
84983
|
-
case
|
|
84984
|
-
_e.trys.push([
|
|
85095
|
+
case 39:
|
|
85096
|
+
_e.trys.push([39,, 42, 43]);
|
|
84985
85097
|
|
|
84986
85098
|
if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1["return"]))) return [3
|
|
84987
85099
|
/*break*/
|
|
84988
|
-
,
|
|
85100
|
+
, 41];
|
|
84989
85101
|
return [4
|
|
84990
85102
|
/*yield*/
|
|
84991
85103
|
, _a.call(relations_1)];
|
|
84992
85104
|
|
|
84993
|
-
case
|
|
85105
|
+
case 40:
|
|
84994
85106
|
_e.sent();
|
|
84995
85107
|
|
|
84996
|
-
_e.label =
|
|
85108
|
+
_e.label = 41;
|
|
84997
85109
|
|
|
84998
|
-
case
|
|
85110
|
+
case 41:
|
|
84999
85111
|
return [3
|
|
85000
85112
|
/*break*/
|
|
85001
|
-
,
|
|
85113
|
+
, 43];
|
|
85002
85114
|
|
|
85003
|
-
case
|
|
85115
|
+
case 42:
|
|
85004
85116
|
if (e_2) throw e_2.error;
|
|
85005
85117
|
return [7
|
|
85006
85118
|
/*endfinally*/
|
|
85007
85119
|
];
|
|
85008
85120
|
|
|
85009
|
-
case
|
|
85121
|
+
case 43:
|
|
85010
85122
|
return [7
|
|
85011
85123
|
/*endfinally*/
|
|
85012
85124
|
];
|
|
85013
85125
|
|
|
85014
|
-
case
|
|
85126
|
+
case 44:
|
|
85015
85127
|
return [2
|
|
85016
85128
|
/*return*/
|
|
85017
85129
|
, records.map(function (record) {
|
|
@@ -85603,14 +85715,14 @@ function () {
|
|
|
85603
85715
|
var e_8, _a, e_9, _b, e_10, _c;
|
|
85604
85716
|
|
|
85605
85717
|
return __awaiter(this, void 0, void 0, function () {
|
|
85606
|
-
var rel, relationType, modelName, targetName, targetNames, associatedWith, storeName, index, _d, model,
|
|
85718
|
+
var rel, relationType, modelName, targetName, targetNames, associatedWith, storeName, index, _d, model, hasOneIndex_1, hasConnectedModelFields, keyValuesPath, values_1, allRecords, recordToDelete, hasOneIndex_2, hasOneCustomField, keyValuesPath, value_1, allRecords, recordToDelete, e_9_1, model, keyValues, allRecords, indices, childrenArray, e_10_1, e_8_1;
|
|
85607
85719
|
|
|
85608
85720
|
var _this = this;
|
|
85609
85721
|
|
|
85610
85722
|
return __generator(this, function (_e) {
|
|
85611
85723
|
switch (_e.label) {
|
|
85612
85724
|
case 0:
|
|
85613
|
-
_e.trys.push([0,
|
|
85725
|
+
_e.trys.push([0, 38, 39, 44]);
|
|
85614
85726
|
|
|
85615
85727
|
relations_2 = __asyncValues(relations);
|
|
85616
85728
|
_e.label = 1;
|
|
@@ -85623,7 +85735,7 @@ function () {
|
|
|
85623
85735
|
case 2:
|
|
85624
85736
|
if (!(relations_2_1 = _e.sent(), !relations_2_1.done)) return [3
|
|
85625
85737
|
/*break*/
|
|
85626
|
-
,
|
|
85738
|
+
, 37];
|
|
85627
85739
|
rel = relations_2_1.value;
|
|
85628
85740
|
relationType = rel.relationType, modelName = rel.modelName, targetName = rel.targetName, targetNames = rel.targetNames, associatedWith = rel.associatedWith;
|
|
85629
85741
|
storeName = this.getStorename(nameSpace, modelName);
|
|
@@ -85642,20 +85754,20 @@ function () {
|
|
|
85642
85754
|
case 'HAS_MANY':
|
|
85643
85755
|
return [3
|
|
85644
85756
|
/*break*/
|
|
85645
|
-
,
|
|
85757
|
+
, 20];
|
|
85646
85758
|
|
|
85647
85759
|
case 'BELONGS_TO':
|
|
85648
85760
|
return [3
|
|
85649
85761
|
/*break*/
|
|
85650
|
-
,
|
|
85762
|
+
, 34];
|
|
85651
85763
|
}
|
|
85652
85764
|
|
|
85653
85765
|
return [3
|
|
85654
85766
|
/*break*/
|
|
85655
|
-
,
|
|
85767
|
+
, 35];
|
|
85656
85768
|
|
|
85657
85769
|
case 3:
|
|
85658
|
-
_e.trys.push([3,
|
|
85770
|
+
_e.trys.push([3, 13, 14, 19]);
|
|
85659
85771
|
|
|
85660
85772
|
models_1 = __asyncValues(models);
|
|
85661
85773
|
_e.label = 4;
|
|
@@ -85668,24 +85780,55 @@ function () {
|
|
|
85668
85780
|
case 5:
|
|
85669
85781
|
if (!(models_1_1 = _e.sent(), !models_1_1.done)) return [3
|
|
85670
85782
|
/*break*/
|
|
85671
|
-
,
|
|
85783
|
+
, 12];
|
|
85672
85784
|
model = models_1_1.value;
|
|
85673
|
-
|
|
85674
|
-
|
|
85785
|
+
if (!(targetNames && (targetNames === null || targetNames === void 0 ? void 0 : targetNames.length))) return [3
|
|
85786
|
+
/*break*/
|
|
85787
|
+
, 8];
|
|
85788
|
+
hasOneIndex_1 = index || associatedWith;
|
|
85789
|
+
hasConnectedModelFields = targetNames.every(function (targetName) {
|
|
85790
|
+
return model.hasOwnProperty(targetName);
|
|
85791
|
+
});
|
|
85675
85792
|
keyValuesPath = this.getIndexKeyValuesPath(model);
|
|
85676
|
-
|
|
85677
|
-
if (
|
|
85793
|
+
|
|
85794
|
+
if (hasConnectedModelFields) {
|
|
85795
|
+
// Values will be that of the child model
|
|
85796
|
+
values_1 = targetNames.map(function (targetName) {
|
|
85797
|
+
return model[targetName];
|
|
85798
|
+
});
|
|
85799
|
+
} else {
|
|
85800
|
+
// values will be that of the parent model
|
|
85801
|
+
values_1 = keyValuesPath;
|
|
85802
|
+
}
|
|
85803
|
+
|
|
85804
|
+
if (values_1.length === 0) return [3
|
|
85678
85805
|
/*break*/
|
|
85679
|
-
,
|
|
85806
|
+
, 12];
|
|
85680
85807
|
return [4
|
|
85681
85808
|
/*yield*/
|
|
85682
85809
|
, this.db.getAll(storeName)];
|
|
85683
85810
|
|
|
85684
85811
|
case 6:
|
|
85685
85812
|
allRecords = _e.sent();
|
|
85686
|
-
recordToDelete =
|
|
85687
|
-
|
|
85688
|
-
|
|
85813
|
+
recordToDelete = void 0; // values === targetNames
|
|
85814
|
+
|
|
85815
|
+
if (hasConnectedModelFields) {
|
|
85816
|
+
/**
|
|
85817
|
+
* Retrieve record by finding the record where all
|
|
85818
|
+
* targetNames are present on the connected model
|
|
85819
|
+
*/
|
|
85820
|
+
recordToDelete = allRecords.filter(function (childItem) {
|
|
85821
|
+
return values_1.every(function (value) {
|
|
85822
|
+
return childItem[value] != null;
|
|
85823
|
+
});
|
|
85824
|
+
});
|
|
85825
|
+
} else {
|
|
85826
|
+
// values === keyValuePath
|
|
85827
|
+
recordToDelete = allRecords.filter(function (childItem) {
|
|
85828
|
+
return childItem[hasOneIndex_1] === values_1;
|
|
85829
|
+
});
|
|
85830
|
+
}
|
|
85831
|
+
|
|
85689
85832
|
return [4
|
|
85690
85833
|
/*yield*/
|
|
85691
85834
|
, this.deleteTraverse(this.schema.namespaces[nameSpace].relationships[modelName].relationTypes, recordToDelete, modelName, nameSpace, deleteQueue)];
|
|
@@ -85693,216 +85836,247 @@ function () {
|
|
|
85693
85836
|
case 7:
|
|
85694
85837
|
_e.sent();
|
|
85695
85838
|
|
|
85696
|
-
|
|
85839
|
+
return [3
|
|
85840
|
+
/*break*/
|
|
85841
|
+
, 11];
|
|
85697
85842
|
|
|
85698
85843
|
case 8:
|
|
85844
|
+
hasOneIndex_2 = index || associatedWith;
|
|
85845
|
+
hasOneCustomField = targetName in model;
|
|
85846
|
+
keyValuesPath = this.getIndexKeyValuesPath(model);
|
|
85847
|
+
value_1 = hasOneCustomField ? model[targetName] : keyValuesPath;
|
|
85848
|
+
if (!value_1) return [3
|
|
85849
|
+
/*break*/
|
|
85850
|
+
, 12];
|
|
85851
|
+
return [4
|
|
85852
|
+
/*yield*/
|
|
85853
|
+
, this.db.getAll(storeName)];
|
|
85854
|
+
|
|
85855
|
+
case 9:
|
|
85856
|
+
allRecords = _e.sent();
|
|
85857
|
+
recordToDelete = allRecords.filter(function (childItem) {
|
|
85858
|
+
return childItem[hasOneIndex_2] === value_1;
|
|
85859
|
+
});
|
|
85860
|
+
return [4
|
|
85861
|
+
/*yield*/
|
|
85862
|
+
, this.deleteTraverse(this.schema.namespaces[nameSpace].relationships[modelName].relationTypes, recordToDelete, modelName, nameSpace, deleteQueue)];
|
|
85863
|
+
|
|
85864
|
+
case 10:
|
|
85865
|
+
_e.sent();
|
|
85866
|
+
|
|
85867
|
+
_e.label = 11;
|
|
85868
|
+
|
|
85869
|
+
case 11:
|
|
85699
85870
|
return [3
|
|
85700
85871
|
/*break*/
|
|
85701
85872
|
, 4];
|
|
85702
85873
|
|
|
85703
|
-
case
|
|
85874
|
+
case 12:
|
|
85704
85875
|
return [3
|
|
85705
85876
|
/*break*/
|
|
85706
|
-
,
|
|
85877
|
+
, 19];
|
|
85707
85878
|
|
|
85708
|
-
case
|
|
85879
|
+
case 13:
|
|
85709
85880
|
e_9_1 = _e.sent();
|
|
85710
85881
|
e_9 = {
|
|
85711
85882
|
error: e_9_1
|
|
85712
85883
|
};
|
|
85713
85884
|
return [3
|
|
85714
85885
|
/*break*/
|
|
85715
|
-
,
|
|
85886
|
+
, 19];
|
|
85716
85887
|
|
|
85717
|
-
case
|
|
85718
|
-
_e.trys.push([
|
|
85888
|
+
case 14:
|
|
85889
|
+
_e.trys.push([14,, 17, 18]);
|
|
85719
85890
|
|
|
85720
85891
|
if (!(models_1_1 && !models_1_1.done && (_b = models_1["return"]))) return [3
|
|
85721
85892
|
/*break*/
|
|
85722
|
-
,
|
|
85893
|
+
, 16];
|
|
85723
85894
|
return [4
|
|
85724
85895
|
/*yield*/
|
|
85725
85896
|
, _b.call(models_1)];
|
|
85726
85897
|
|
|
85727
|
-
case
|
|
85898
|
+
case 15:
|
|
85728
85899
|
_e.sent();
|
|
85729
85900
|
|
|
85730
|
-
_e.label =
|
|
85901
|
+
_e.label = 16;
|
|
85731
85902
|
|
|
85732
|
-
case
|
|
85903
|
+
case 16:
|
|
85733
85904
|
return [3
|
|
85734
85905
|
/*break*/
|
|
85735
|
-
,
|
|
85906
|
+
, 18];
|
|
85736
85907
|
|
|
85737
|
-
case
|
|
85908
|
+
case 17:
|
|
85738
85909
|
if (e_9) throw e_9.error;
|
|
85739
85910
|
return [7
|
|
85740
85911
|
/*endfinally*/
|
|
85741
85912
|
];
|
|
85742
85913
|
|
|
85743
|
-
case
|
|
85914
|
+
case 18:
|
|
85744
85915
|
return [7
|
|
85745
85916
|
/*endfinally*/
|
|
85746
85917
|
];
|
|
85747
85918
|
|
|
85748
|
-
case
|
|
85919
|
+
case 19:
|
|
85749
85920
|
return [3
|
|
85750
85921
|
/*break*/
|
|
85751
|
-
,
|
|
85922
|
+
, 36];
|
|
85752
85923
|
|
|
85753
|
-
case
|
|
85754
|
-
_e.trys.push([
|
|
85924
|
+
case 20:
|
|
85925
|
+
_e.trys.push([20, 27, 28, 33]);
|
|
85755
85926
|
|
|
85756
85927
|
models_2 = __asyncValues(models);
|
|
85757
|
-
_e.label =
|
|
85928
|
+
_e.label = 21;
|
|
85758
85929
|
|
|
85759
|
-
case
|
|
85930
|
+
case 21:
|
|
85760
85931
|
return [4
|
|
85761
85932
|
/*yield*/
|
|
85762
85933
|
, models_2.next()];
|
|
85763
85934
|
|
|
85764
|
-
case
|
|
85935
|
+
case 22:
|
|
85765
85936
|
if (!(models_2_1 = _e.sent(), !models_2_1.done)) return [3
|
|
85766
85937
|
/*break*/
|
|
85767
|
-
,
|
|
85938
|
+
, 26];
|
|
85768
85939
|
model = models_2_1.value;
|
|
85769
|
-
|
|
85940
|
+
keyValues = this.getIndexKeyValues(model);
|
|
85770
85941
|
return [4
|
|
85771
85942
|
/*yield*/
|
|
85772
85943
|
, this.db.getAll(storeName)];
|
|
85773
85944
|
|
|
85774
|
-
case
|
|
85945
|
+
case 23:
|
|
85775
85946
|
allRecords = _e.sent();
|
|
85947
|
+
indices = index.split('-');
|
|
85776
85948
|
childrenArray = allRecords.filter(function (childItem) {
|
|
85777
|
-
return
|
|
85949
|
+
return indices.every(function (index) {
|
|
85950
|
+
return keyValues.includes(childItem[index]);
|
|
85951
|
+
});
|
|
85778
85952
|
});
|
|
85779
85953
|
return [4
|
|
85780
85954
|
/*yield*/
|
|
85781
85955
|
, this.deleteTraverse(this.schema.namespaces[nameSpace].relationships[modelName].relationTypes, childrenArray, modelName, nameSpace, deleteQueue)];
|
|
85782
85956
|
|
|
85783
|
-
case
|
|
85957
|
+
case 24:
|
|
85784
85958
|
_e.sent();
|
|
85785
85959
|
|
|
85786
|
-
_e.label =
|
|
85960
|
+
_e.label = 25;
|
|
85787
85961
|
|
|
85788
|
-
case
|
|
85962
|
+
case 25:
|
|
85789
85963
|
return [3
|
|
85790
85964
|
/*break*/
|
|
85791
|
-
,
|
|
85965
|
+
, 21];
|
|
85792
85966
|
|
|
85793
|
-
case
|
|
85967
|
+
case 26:
|
|
85794
85968
|
return [3
|
|
85795
85969
|
/*break*/
|
|
85796
|
-
,
|
|
85970
|
+
, 33];
|
|
85797
85971
|
|
|
85798
|
-
case
|
|
85972
|
+
case 27:
|
|
85799
85973
|
e_10_1 = _e.sent();
|
|
85800
85974
|
e_10 = {
|
|
85801
85975
|
error: e_10_1
|
|
85802
85976
|
};
|
|
85803
85977
|
return [3
|
|
85804
85978
|
/*break*/
|
|
85805
|
-
,
|
|
85979
|
+
, 33];
|
|
85806
85980
|
|
|
85807
|
-
case
|
|
85808
|
-
_e.trys.push([
|
|
85981
|
+
case 28:
|
|
85982
|
+
_e.trys.push([28,, 31, 32]);
|
|
85809
85983
|
|
|
85810
85984
|
if (!(models_2_1 && !models_2_1.done && (_c = models_2["return"]))) return [3
|
|
85811
85985
|
/*break*/
|
|
85812
|
-
,
|
|
85986
|
+
, 30];
|
|
85813
85987
|
return [4
|
|
85814
85988
|
/*yield*/
|
|
85815
85989
|
, _c.call(models_2)];
|
|
85816
85990
|
|
|
85817
|
-
case
|
|
85991
|
+
case 29:
|
|
85818
85992
|
_e.sent();
|
|
85819
85993
|
|
|
85820
|
-
_e.label =
|
|
85994
|
+
_e.label = 30;
|
|
85821
85995
|
|
|
85822
|
-
case
|
|
85996
|
+
case 30:
|
|
85823
85997
|
return [3
|
|
85824
85998
|
/*break*/
|
|
85825
|
-
,
|
|
85999
|
+
, 32];
|
|
85826
86000
|
|
|
85827
|
-
case
|
|
86001
|
+
case 31:
|
|
85828
86002
|
if (e_10) throw e_10.error;
|
|
85829
86003
|
return [7
|
|
85830
86004
|
/*endfinally*/
|
|
85831
86005
|
];
|
|
85832
86006
|
|
|
85833
|
-
case
|
|
86007
|
+
case 32:
|
|
85834
86008
|
return [7
|
|
85835
86009
|
/*endfinally*/
|
|
85836
86010
|
];
|
|
85837
86011
|
|
|
85838
|
-
case
|
|
86012
|
+
case 33:
|
|
85839
86013
|
return [3
|
|
85840
86014
|
/*break*/
|
|
85841
|
-
,
|
|
86015
|
+
, 36];
|
|
85842
86016
|
|
|
85843
|
-
case
|
|
86017
|
+
case 34:
|
|
85844
86018
|
// Intentionally blank
|
|
85845
86019
|
return [3
|
|
85846
86020
|
/*break*/
|
|
85847
|
-
,
|
|
86021
|
+
, 36];
|
|
85848
86022
|
|
|
85849
|
-
case
|
|
86023
|
+
case 35:
|
|
85850
86024
|
Object(_util__WEBPACK_IMPORTED_MODULE_4__["exhaustiveCheck"])(relationType);
|
|
85851
86025
|
return [3
|
|
85852
86026
|
/*break*/
|
|
85853
|
-
,
|
|
86027
|
+
, 36];
|
|
85854
86028
|
|
|
85855
|
-
case
|
|
86029
|
+
case 36:
|
|
85856
86030
|
return [3
|
|
85857
86031
|
/*break*/
|
|
85858
86032
|
, 1];
|
|
85859
86033
|
|
|
85860
|
-
case
|
|
86034
|
+
case 37:
|
|
85861
86035
|
return [3
|
|
85862
86036
|
/*break*/
|
|
85863
|
-
,
|
|
86037
|
+
, 44];
|
|
85864
86038
|
|
|
85865
|
-
case
|
|
86039
|
+
case 38:
|
|
85866
86040
|
e_8_1 = _e.sent();
|
|
85867
86041
|
e_8 = {
|
|
85868
86042
|
error: e_8_1
|
|
85869
86043
|
};
|
|
85870
86044
|
return [3
|
|
85871
86045
|
/*break*/
|
|
85872
|
-
,
|
|
86046
|
+
, 44];
|
|
85873
86047
|
|
|
85874
|
-
case
|
|
85875
|
-
_e.trys.push([
|
|
86048
|
+
case 39:
|
|
86049
|
+
_e.trys.push([39,, 42, 43]);
|
|
85876
86050
|
|
|
85877
86051
|
if (!(relations_2_1 && !relations_2_1.done && (_a = relations_2["return"]))) return [3
|
|
85878
86052
|
/*break*/
|
|
85879
|
-
,
|
|
86053
|
+
, 41];
|
|
85880
86054
|
return [4
|
|
85881
86055
|
/*yield*/
|
|
85882
86056
|
, _a.call(relations_2)];
|
|
85883
86057
|
|
|
85884
|
-
case
|
|
86058
|
+
case 40:
|
|
85885
86059
|
_e.sent();
|
|
85886
86060
|
|
|
85887
|
-
_e.label =
|
|
86061
|
+
_e.label = 41;
|
|
85888
86062
|
|
|
85889
|
-
case
|
|
86063
|
+
case 41:
|
|
85890
86064
|
return [3
|
|
85891
86065
|
/*break*/
|
|
85892
|
-
,
|
|
86066
|
+
, 43];
|
|
85893
86067
|
|
|
85894
|
-
case
|
|
86068
|
+
case 42:
|
|
85895
86069
|
if (e_8) throw e_8.error;
|
|
85896
86070
|
return [7
|
|
85897
86071
|
/*endfinally*/
|
|
85898
86072
|
];
|
|
85899
86073
|
|
|
85900
|
-
case
|
|
86074
|
+
case 43:
|
|
85901
86075
|
return [7
|
|
85902
86076
|
/*endfinally*/
|
|
85903
86077
|
];
|
|
85904
86078
|
|
|
85905
|
-
case
|
|
86079
|
+
case 44:
|
|
85906
86080
|
deleteQueue.push({
|
|
85907
86081
|
storeName: this.getStorename(nameSpace, srcModel),
|
|
85908
86082
|
items: models.map(function (record) {
|
|
@@ -86392,11 +86566,12 @@ function () {
|
|
|
86392
86566
|
|
|
86393
86567
|
AsyncStorageDatabase.prototype.save = function (item, storeName, keys, keyValuesPath) {
|
|
86394
86568
|
return __awaiter(this, void 0, void 0, function () {
|
|
86395
|
-
var ulid, itemKey;
|
|
86569
|
+
var idxName, ulid, itemKey;
|
|
86396
86570
|
return __generator(this, function (_a) {
|
|
86397
86571
|
switch (_a.label) {
|
|
86398
86572
|
case 0:
|
|
86399
|
-
|
|
86573
|
+
idxName = Object(_util__WEBPACK_IMPORTED_MODULE_1__["indexNameFromKeys"])(keys);
|
|
86574
|
+
ulid = this.getCollectionIndex(storeName).get(idxName) || this.getMonotonicFactory(storeName)();
|
|
86400
86575
|
itemKey = this.getKeyForItem(storeName, keyValuesPath, ulid); // Set key in collection index
|
|
86401
86576
|
|
|
86402
86577
|
this.getCollectionIndex(storeName).set(keyValuesPath, ulid); // Save item in db
|
|
@@ -87463,9 +87638,10 @@ function () {
|
|
|
87463
87638
|
};
|
|
87464
87639
|
|
|
87465
87640
|
IndexedDBAdapter.prototype.getIndexKeyPath = function (namespaceName, modelName) {
|
|
87466
|
-
var _a
|
|
87641
|
+
var _a;
|
|
87467
87642
|
|
|
87468
|
-
var
|
|
87643
|
+
var namespace = this.schema.namespaces[namespaceName];
|
|
87644
|
+
var keyPath = (_a = namespace === null || namespace === void 0 ? void 0 : namespace.keys[modelName]) === null || _a === void 0 ? void 0 : _a.primaryKey;
|
|
87469
87645
|
|
|
87470
87646
|
if (keyPath) {
|
|
87471
87647
|
return keyPath;
|
|
@@ -89108,7 +89284,7 @@ function () {
|
|
|
89108
89284
|
var e_10, _a, e_11, _b, e_12, _c;
|
|
89109
89285
|
|
|
89110
89286
|
return __awaiter(this, void 0, void 0, function () {
|
|
89111
|
-
var rel, relationType, fieldName, modelName, targetName, targetNames, storeName, index, _d, model, hasOneIndex, hasConnectedModelFields, keyValues, values, recordToDelete, hasOneIndex_1, hasOneCustomField, keyValues, value, recordToDelete, e_11_1, model, keyValues,
|
|
89287
|
+
var rel, relationType, fieldName, modelName, targetName, targetNames, storeName, index, _d, model, hasOneIndex, hasConnectedModelFields, keyValues, values, recordToDelete, hasOneIndex_1, hasOneCustomField, keyValues, value, recordToDelete, e_11_1, model, keyValues, childrenArray, e_12_1, e_10_1;
|
|
89112
89288
|
|
|
89113
89289
|
var _this = this;
|
|
89114
89290
|
|
|
@@ -89219,13 +89395,7 @@ function () {
|
|
|
89219
89395
|
hasOneIndex_1 = index || 'byPk';
|
|
89220
89396
|
hasOneCustomField = targetName in model;
|
|
89221
89397
|
keyValues = this.getIndexKeyValues(model);
|
|
89222
|
-
value = hasOneCustomField ? model[targetName] : keyValues
|
|
89223
|
-
|
|
89224
|
-
if (hasOneIndex_1 === 'byPk') {
|
|
89225
|
-
// byPk requires an array keyValue
|
|
89226
|
-
value = [value];
|
|
89227
|
-
}
|
|
89228
|
-
|
|
89398
|
+
value = hasOneCustomField ? [model[targetName]] : keyValues;
|
|
89229
89399
|
if (!value) return [3
|
|
89230
89400
|
/*break*/
|
|
89231
89401
|
, 12];
|
|
@@ -89316,20 +89486,17 @@ function () {
|
|
|
89316
89486
|
, 26];
|
|
89317
89487
|
model = models_2_1.value;
|
|
89318
89488
|
keyValues = this.getIndexKeyValues(model);
|
|
89319
|
-
hasManyIndex = index || 'byPk';
|
|
89320
89489
|
return [4
|
|
89321
89490
|
/*yield*/
|
|
89322
|
-
, this.db.transaction(storeName, 'readwrite').objectStore(storeName).index(
|
|
89491
|
+
, this.db.transaction(storeName, 'readwrite').objectStore(storeName).index(index).getAll(keyValues)];
|
|
89323
89492
|
|
|
89324
89493
|
case 23:
|
|
89325
|
-
childrenArray = _e.sent();
|
|
89326
|
-
|
|
89494
|
+
childrenArray = _e.sent();
|
|
89327
89495
|
return [4
|
|
89328
89496
|
/*yield*/
|
|
89329
89497
|
, this.deleteTraverse(this.schema.namespaces[nameSpace].relationships[modelName].relationTypes, childrenArray, modelName, nameSpace, deleteQueue)];
|
|
89330
89498
|
|
|
89331
89499
|
case 24:
|
|
89332
|
-
// .getAll(keyValues); // TODO
|
|
89333
89500
|
_e.sent();
|
|
89334
89501
|
|
|
89335
89502
|
_e.label = 25;
|
|
@@ -89660,18 +89827,19 @@ function () {
|
|
|
89660
89827
|
|
|
89661
89828
|
IndexedDBAdapter.prototype.createObjectStoreForModel = function (db, namespaceName, storeName, modelName) {
|
|
89662
89829
|
return __awaiter(this, void 0, void 0, function () {
|
|
89663
|
-
var store, indexes
|
|
89830
|
+
var store, indexes;
|
|
89664
89831
|
return __generator(this, function (_a) {
|
|
89665
89832
|
store = db.createObjectStore(storeName, {
|
|
89666
89833
|
autoIncrement: true
|
|
89667
89834
|
});
|
|
89668
89835
|
indexes = this.schema.namespaces[namespaceName].relationships[modelName].indexes;
|
|
89669
|
-
indexes.forEach(function (
|
|
89670
|
-
|
|
89671
|
-
|
|
89672
|
-
|
|
89673
|
-
|
|
89674
|
-
|
|
89836
|
+
indexes.forEach(function (_a) {
|
|
89837
|
+
var _b = __read(_a, 3),
|
|
89838
|
+
idxName = _b[0],
|
|
89839
|
+
keyPath = _b[1],
|
|
89840
|
+
options = _b[2];
|
|
89841
|
+
|
|
89842
|
+
store.createIndex(idxName, keyPath, options);
|
|
89675
89843
|
});
|
|
89676
89844
|
return [2
|
|
89677
89845
|
/*return*/
|
|
@@ -96161,11 +96329,17 @@ function getConnectionFields(modelDefinition, namespace) {
|
|
|
96161
96329
|
var _b = __read(Object(_util__WEBPACK_IMPORTED_MODULE_4__["establishRelationAndKeys"])(namespace), 1),
|
|
96162
96330
|
relations = _b[0];
|
|
96163
96331
|
|
|
96164
|
-
var connectedModelName = modelDefinition.fields[name].type['model'];
|
|
96332
|
+
var connectedModelName = modelDefinition.fields[name].type['model'];
|
|
96333
|
+
var byPkIndex = relations[connectedModelName].indexes.find(function (_a) {
|
|
96334
|
+
var _b = __read(_a, 1),
|
|
96335
|
+
name = _b[0];
|
|
96165
96336
|
|
|
96166
|
-
|
|
96337
|
+
return name === 'byPk';
|
|
96338
|
+
});
|
|
96339
|
+
var keyFields = byPkIndex && byPkIndex[1];
|
|
96340
|
+
var keyFieldSelectionSet = keyFields === null || keyFields === void 0 ? void 0 : keyFields.join(' '); // We rely on `_deleted` when we process the sync query (e.g. in batchSave in the adapters)
|
|
96167
96341
|
|
|
96168
|
-
result.push(name + " { " +
|
|
96342
|
+
result.push(name + " { " + keyFieldSelectionSet + " _deleted }");
|
|
96169
96343
|
} else {
|
|
96170
96344
|
// backwards-compatability for schema generated prior to custom primary key support
|
|
96171
96345
|
result.push(name + " { id _deleted }");
|
|
@@ -97094,14 +97268,16 @@ var LimitTimerRaceResolvedValues;
|
|
|
97094
97268
|
/*!*************************!*\
|
|
97095
97269
|
!*** ./lib-esm/util.js ***!
|
|
97096
97270
|
\*************************/
|
|
97097
|
-
/*! exports provided: extractKeyIfExists, extractPrimaryKeyFieldNames, extractPrimaryKeyValues, isIdManaged, isIdOptionallyManaged, NAMESPACES, USER, SYNC, STORAGE, DATASTORE, USER_AGENT_SUFFIX_DATASTORE, exhaustiveCheck, isNullOrUndefined, validatePredicate, validatePredicateField, isModelConstructor, registerNonModelClass, isNonModelConstructor, processCompositeKeys, establishRelationAndKeys, traverseModel, getIndex, getIndexFromAssociation, isPrivateMode, monotonicUlidFactory, getNow, sortCompareFunction, valuesEqual, isAWSDate, isAWSTime, isAWSDateTime, isAWSTimestamp, isAWSEmail, isAWSJSON, isAWSURL, isAWSPhone, isAWSIPAddress, DeferredPromise, DeferredCallbackResolver, mergePatches, extractTargetNamesFromSrc */
|
|
97271
|
+
/*! exports provided: errorMessages, extractKeyIfExists, extractPrimaryKeyFieldNames, extractPrimaryKeyValues, extractPrimaryKeysAndValues, isIdManaged, isIdOptionallyManaged, NAMESPACES, USER, SYNC, STORAGE, DATASTORE, USER_AGENT_SUFFIX_DATASTORE, exhaustiveCheck, isNullOrUndefined, validatePredicate, validatePredicateField, isModelConstructor, registerNonModelClass, isNonModelConstructor, processCompositeKeys, establishRelationAndKeys, traverseModel, getIndex, getIndexFromAssociation, isPrivateMode, monotonicUlidFactory, getNow, sortCompareFunction, valuesEqual, isAWSDate, isAWSTime, isAWSDateTime, isAWSTimestamp, isAWSEmail, isAWSJSON, isAWSURL, isAWSPhone, isAWSIPAddress, DeferredPromise, DeferredCallbackResolver, mergePatches, extractTargetNamesFromSrc, indexNameFromKeys */
|
|
97098
97272
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
97099
97273
|
|
|
97100
97274
|
"use strict";
|
|
97101
97275
|
__webpack_require__.r(__webpack_exports__);
|
|
97276
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "errorMessages", function() { return errorMessages; });
|
|
97102
97277
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extractKeyIfExists", function() { return extractKeyIfExists; });
|
|
97103
97278
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extractPrimaryKeyFieldNames", function() { return extractPrimaryKeyFieldNames; });
|
|
97104
97279
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extractPrimaryKeyValues", function() { return extractPrimaryKeyValues; });
|
|
97280
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extractPrimaryKeysAndValues", function() { return extractPrimaryKeysAndValues; });
|
|
97105
97281
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isIdManaged", function() { return isIdManaged; });
|
|
97106
97282
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isIdOptionallyManaged", function() { return isIdOptionallyManaged; });
|
|
97107
97283
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NAMESPACES", function() { return NAMESPACES; });
|
|
@@ -97140,6 +97316,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
97140
97316
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DeferredCallbackResolver", function() { return DeferredCallbackResolver; });
|
|
97141
97317
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergePatches", function() { return mergePatches; });
|
|
97142
97318
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extractTargetNamesFromSrc", function() { return extractTargetNamesFromSrc; });
|
|
97319
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "indexNameFromKeys", function() { return indexNameFromKeys; });
|
|
97143
97320
|
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! buffer */ "../../node_modules/buffer/index.js");
|
|
97144
97321
|
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(buffer__WEBPACK_IMPORTED_MODULE_0__);
|
|
97145
97322
|
/* harmony import */ var ulid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ulid */ "../../node_modules/ulid/dist/index.esm.js");
|
|
@@ -97360,6 +97537,9 @@ var __values = undefined && undefined.__values || function (o) {
|
|
|
97360
97537
|
|
|
97361
97538
|
|
|
97362
97539
|
var ID = 'id';
|
|
97540
|
+
var errorMessages = {
|
|
97541
|
+
idEmptyString: 'An index field cannot contain an empty string value'
|
|
97542
|
+
};
|
|
97363
97543
|
function extractKeyIfExists(modelDefinition) {
|
|
97364
97544
|
var _c;
|
|
97365
97545
|
|
|
@@ -97379,6 +97559,13 @@ function extractPrimaryKeyValues(model, keyFields) {
|
|
|
97379
97559
|
return keyFields.map(function (key) {
|
|
97380
97560
|
return model[key];
|
|
97381
97561
|
});
|
|
97562
|
+
}
|
|
97563
|
+
function extractPrimaryKeysAndValues(model, keyFields) {
|
|
97564
|
+
var primaryKeysAndValues = {};
|
|
97565
|
+
keyFields.forEach(function (key) {
|
|
97566
|
+
return primaryKeysAndValues[key] = model[key];
|
|
97567
|
+
});
|
|
97568
|
+
return primaryKeysAndValues;
|
|
97382
97569
|
} // IdentifierFields<ManagedIdentifier>
|
|
97383
97570
|
// Default behavior without explicit @primaryKey defined
|
|
97384
97571
|
|
|
@@ -97616,7 +97803,7 @@ var establishRelationAndKeys = function establishRelationAndKeys(namespace) {
|
|
|
97616
97803
|
var relationship = {};
|
|
97617
97804
|
var keys = {};
|
|
97618
97805
|
Object.keys(namespace.models).forEach(function (mKey) {
|
|
97619
|
-
var e_1, _c
|
|
97806
|
+
var e_1, _c;
|
|
97620
97807
|
|
|
97621
97808
|
relationship[mKey] = {
|
|
97622
97809
|
indexes: [],
|
|
@@ -97639,20 +97826,11 @@ var establishRelationAndKeys = function establishRelationAndKeys(namespace) {
|
|
|
97639
97826
|
});
|
|
97640
97827
|
|
|
97641
97828
|
if (connectionType === 'BELONGS_TO') {
|
|
97642
|
-
|
|
97643
|
-
|
|
97644
|
-
|
|
97645
|
-
|
|
97646
|
-
|
|
97647
|
-
// });
|
|
97648
|
-
if (fieldAttribute.association.targetName) {
|
|
97649
|
-
// backwards-compatability for schema generated prior to custom primary key support
|
|
97650
|
-
relationship[mKey].indexes.push(fieldAttribute.association['targetName']);
|
|
97651
|
-
} else {
|
|
97652
|
-
// iterate through fieldAttribute.association.targetNames, and push to relationship[mKey].indexes
|
|
97653
|
-
fieldAttribute.association.targetNames.forEach(function (targetName) {
|
|
97654
|
-
relationship[mKey].indexes.push(targetName);
|
|
97655
|
-
});
|
|
97829
|
+
var targetNames = extractTargetNamesFromSrc(fieldAttribute.association);
|
|
97830
|
+
|
|
97831
|
+
if (targetNames) {
|
|
97832
|
+
var idxName = indexNameFromKeys(targetNames);
|
|
97833
|
+
relationship[mKey].indexes.push([idxName, targetNames]);
|
|
97656
97834
|
}
|
|
97657
97835
|
}
|
|
97658
97836
|
}
|
|
@@ -97661,41 +97839,37 @@ var establishRelationAndKeys = function establishRelationAndKeys(namespace) {
|
|
|
97661
97839
|
if (model.attributes) {
|
|
97662
97840
|
keys[mKey].compositeKeys = processCompositeKeys(model.attributes);
|
|
97663
97841
|
|
|
97664
|
-
|
|
97665
|
-
|
|
97666
|
-
|
|
97842
|
+
var _loop_1 = function _loop_1(attribute) {
|
|
97843
|
+
if (!Object(_types__WEBPACK_IMPORTED_MODULE_4__["isModelAttributeKey"])(attribute)) {
|
|
97844
|
+
return "continue";
|
|
97845
|
+
}
|
|
97667
97846
|
|
|
97668
|
-
|
|
97669
|
-
continue;
|
|
97670
|
-
}
|
|
97847
|
+
var fields = attribute.properties.fields;
|
|
97671
97848
|
|
|
97672
|
-
|
|
97673
|
-
|
|
97674
|
-
|
|
97849
|
+
if (Object(_types__WEBPACK_IMPORTED_MODULE_4__["isModelAttributePrimaryKey"])(attribute)) {
|
|
97850
|
+
keys[mKey].primaryKey = fields;
|
|
97851
|
+
return "continue";
|
|
97852
|
+
} // create indexes for all other keys
|
|
97675
97853
|
|
|
97676
|
-
var fields = attribute.properties.fields;
|
|
97677
97854
|
|
|
97678
|
-
|
|
97679
|
-
|
|
97680
|
-
|
|
97855
|
+
var idxName = indexNameFromKeys(fields);
|
|
97856
|
+
var idxExists = relationship[mKey].indexes.find(function (_c) {
|
|
97857
|
+
var _d = __read(_c, 1),
|
|
97858
|
+
index = _d[0];
|
|
97681
97859
|
|
|
97682
|
-
|
|
97860
|
+
return index === idxName;
|
|
97861
|
+
});
|
|
97683
97862
|
|
|
97684
|
-
|
|
97685
|
-
|
|
97686
|
-
|
|
97687
|
-
|
|
97688
|
-
|
|
97689
|
-
|
|
97690
|
-
|
|
97691
|
-
|
|
97692
|
-
|
|
97693
|
-
|
|
97694
|
-
if (fields_1_1 && !fields_1_1.done && (_d = fields_1["return"])) _d.call(fields_1);
|
|
97695
|
-
} finally {
|
|
97696
|
-
if (e_2) throw e_2.error;
|
|
97697
|
-
}
|
|
97698
|
-
}
|
|
97863
|
+
if (!idxExists) {
|
|
97864
|
+
relationship[mKey].indexes.push([idxName, fields]);
|
|
97865
|
+
}
|
|
97866
|
+
};
|
|
97867
|
+
|
|
97868
|
+
try {
|
|
97869
|
+
for (var _d = __values(model.attributes), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
97870
|
+
var attribute = _e.value;
|
|
97871
|
+
|
|
97872
|
+
_loop_1(attribute);
|
|
97699
97873
|
}
|
|
97700
97874
|
} catch (e_1_1) {
|
|
97701
97875
|
e_1 = {
|
|
@@ -97703,16 +97877,22 @@ var establishRelationAndKeys = function establishRelationAndKeys(namespace) {
|
|
|
97703
97877
|
};
|
|
97704
97878
|
} finally {
|
|
97705
97879
|
try {
|
|
97706
|
-
if (
|
|
97880
|
+
if (_e && !_e.done && (_c = _d["return"])) _c.call(_d);
|
|
97707
97881
|
} finally {
|
|
97708
97882
|
if (e_1) throw e_1.error;
|
|
97709
97883
|
}
|
|
97710
97884
|
}
|
|
97885
|
+
} // set 'id' as the PK for models without a custom PK explicitly defined
|
|
97711
97886
|
|
|
97712
|
-
|
|
97713
|
-
|
|
97714
|
-
|
|
97715
|
-
}
|
|
97887
|
+
|
|
97888
|
+
if (!keys[mKey].primaryKey) {
|
|
97889
|
+
keys[mKey].primaryKey = [ID];
|
|
97890
|
+
} // create primary index
|
|
97891
|
+
|
|
97892
|
+
|
|
97893
|
+
relationship[mKey].indexes.push(['byPk', keys[mKey].primaryKey, {
|
|
97894
|
+
unique: true
|
|
97895
|
+
}]);
|
|
97716
97896
|
});
|
|
97717
97897
|
return [relationship, keys];
|
|
97718
97898
|
};
|
|
@@ -97852,10 +98032,21 @@ var getIndex = function getIndex(rel, src) {
|
|
|
97852
98032
|
return index;
|
|
97853
98033
|
};
|
|
97854
98034
|
var getIndexFromAssociation = function getIndexFromAssociation(indexes, src) {
|
|
97855
|
-
var
|
|
97856
|
-
|
|
98035
|
+
var indexName;
|
|
98036
|
+
|
|
98037
|
+
if (Array.isArray(src)) {
|
|
98038
|
+
indexName = indexNameFromKeys(src);
|
|
98039
|
+
} else {
|
|
98040
|
+
indexName = src;
|
|
98041
|
+
}
|
|
98042
|
+
|
|
98043
|
+
var associationIndex = indexes.find(function (_c) {
|
|
98044
|
+
var _d = __read(_c, 1),
|
|
98045
|
+
idxName = _d[0];
|
|
98046
|
+
|
|
98047
|
+
return idxName === indexName;
|
|
97857
98048
|
});
|
|
97858
|
-
return
|
|
98049
|
+
return associationIndex && associationIndex[0];
|
|
97859
98050
|
};
|
|
97860
98051
|
var privateModeCheckResult;
|
|
97861
98052
|
var isPrivateMode = function isPrivateMode() {
|
|
@@ -97953,7 +98144,7 @@ function getNow() {
|
|
|
97953
98144
|
}
|
|
97954
98145
|
function sortCompareFunction(sortPredicates) {
|
|
97955
98146
|
return function compareFunction(a, b) {
|
|
97956
|
-
var
|
|
98147
|
+
var e_2, _c;
|
|
97957
98148
|
|
|
97958
98149
|
try {
|
|
97959
98150
|
// enable multi-field sort by iterating over predicates until
|
|
@@ -97973,15 +98164,15 @@ function sortCompareFunction(sortPredicates) {
|
|
|
97973
98164
|
return 1 * sortMultiplier;
|
|
97974
98165
|
}
|
|
97975
98166
|
}
|
|
97976
|
-
} catch (
|
|
97977
|
-
|
|
97978
|
-
error:
|
|
98167
|
+
} catch (e_2_1) {
|
|
98168
|
+
e_2 = {
|
|
98169
|
+
error: e_2_1
|
|
97979
98170
|
};
|
|
97980
98171
|
} finally {
|
|
97981
98172
|
try {
|
|
97982
98173
|
if (sortPredicates_1_1 && !sortPredicates_1_1.done && (_c = sortPredicates_1["return"])) _c.call(sortPredicates_1);
|
|
97983
98174
|
} finally {
|
|
97984
|
-
if (
|
|
98175
|
+
if (e_2) throw e_2.error;
|
|
97985
98176
|
}
|
|
97986
98177
|
}
|
|
97987
98178
|
|
|
@@ -97994,7 +98185,7 @@ function sortCompareFunction(sortPredicates) {
|
|
|
97994
98185
|
// to normalize for GQL response values for undefined fields
|
|
97995
98186
|
|
|
97996
98187
|
function valuesEqual(valA, valB, nullish) {
|
|
97997
|
-
var
|
|
98188
|
+
var e_3, _c;
|
|
97998
98189
|
|
|
97999
98190
|
if (nullish === void 0) {
|
|
98000
98191
|
nullish = false;
|
|
@@ -98058,15 +98249,15 @@ function valuesEqual(valA, valB, nullish) {
|
|
|
98058
98249
|
return false;
|
|
98059
98250
|
}
|
|
98060
98251
|
}
|
|
98061
|
-
} catch (
|
|
98062
|
-
|
|
98063
|
-
error:
|
|
98252
|
+
} catch (e_3_1) {
|
|
98253
|
+
e_3 = {
|
|
98254
|
+
error: e_3_1
|
|
98064
98255
|
};
|
|
98065
98256
|
} finally {
|
|
98066
98257
|
try {
|
|
98067
98258
|
if (keys_1_1 && !keys_1_1.done && (_c = keys_1["return"])) _c.call(keys_1);
|
|
98068
98259
|
} finally {
|
|
98069
|
-
if (
|
|
98260
|
+
if (e_3) throw e_3.error;
|
|
98070
98261
|
}
|
|
98071
98262
|
}
|
|
98072
98263
|
|
|
@@ -98262,6 +98453,17 @@ function extractTargetNamesFromSrc(src) {
|
|
|
98262
98453
|
} else {
|
|
98263
98454
|
return undefined;
|
|
98264
98455
|
}
|
|
98456
|
+
} // Generates snake-cased index name from an aray of key field names
|
|
98457
|
+
// E.g. for keys `[id, title]` => 'id-title'
|
|
98458
|
+
|
|
98459
|
+
function indexNameFromKeys(keys) {
|
|
98460
|
+
return keys.reduce(function (prev, cur, idx) {
|
|
98461
|
+
if (idx === 0) {
|
|
98462
|
+
return cur;
|
|
98463
|
+
}
|
|
98464
|
+
|
|
98465
|
+
return prev + "-" + cur;
|
|
98466
|
+
}, '');
|
|
98265
98467
|
}
|
|
98266
98468
|
|
|
98267
98469
|
/***/ }),
|