@aws-amplify/datastore 3.5.2 → 3.6.0
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/CHANGELOG.md +11 -0
- package/dist/aws-amplify-datastore.js +154 -15
- package/dist/aws-amplify-datastore.js.map +1 -1
- package/dist/aws-amplify-datastore.min.js +7 -7
- package/dist/aws-amplify-datastore.min.js.map +1 -1
- package/lib/datastore/datastore.d.ts +2 -2
- package/lib/datastore/datastore.js +20 -9
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/types.d.ts +10 -0
- package/lib/types.js +5 -0
- package/lib/types.js.map +1 -1
- package/lib/util.d.ts +23 -1
- package/lib/util.js +77 -0
- package/lib/util.js.map +1 -1
- package/lib-esm/datastore/datastore.d.ts +2 -2
- package/lib-esm/datastore/datastore.js +21 -10
- package/lib-esm/datastore/datastore.js.map +1 -1
- package/lib-esm/types.d.ts +10 -0
- package/lib-esm/types.js +5 -0
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/util.d.ts +23 -1
- package/lib-esm/util.js +78 -1
- package/lib-esm/util.js.map +1 -1
- package/package.json +6 -6
- package/src/datastore/datastore.ts +32 -16
- package/src/types.ts +16 -0
- package/src/util.ts +80 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.6.0](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@3.5.2...@aws-amplify/datastore@3.6.0) (2021-11-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **@aws-amplify/datastore:** ObserveQuery performance and type enhancements ([#9141](https://github.com/aws-amplify/amplify-js/issues/9141)) ([755ce09](https://github.com/aws-amplify/amplify-js/commit/755ce09f5152c54d215f023089f30b2c98ace33a))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [3.5.2](https://github.com/aws-amplify/amplify-js/compare/@aws-amplify/datastore@3.5.1...@aws-amplify/datastore@3.5.2) (2021-11-09)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -70458,7 +70458,7 @@ var getAmplifyUserAgent = function getAmplifyUserAgent() {
|
|
|
70458
70458
|
__webpack_require__.r(__webpack_exports__);
|
|
70459
70459
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "version", function() { return version; });
|
|
70460
70460
|
// generated by genversion
|
|
70461
|
-
var version = '4.3.
|
|
70461
|
+
var version = '4.3.5';
|
|
70462
70462
|
|
|
70463
70463
|
/***/ }),
|
|
70464
70464
|
|
|
@@ -82341,6 +82341,23 @@ function () {
|
|
|
82341
82341
|
var deletedItemIds = [];
|
|
82342
82342
|
var handle;
|
|
82343
82343
|
|
|
82344
|
+
var generateAndEmitSnapshot = function generateAndEmitSnapshot() {
|
|
82345
|
+
var snapshot = generateSnapshot();
|
|
82346
|
+
emitSnapshot(snapshot);
|
|
82347
|
+
}; // a mechanism to return data after X amount of seconds OR after the
|
|
82348
|
+
// "limit" (itemsChanged >= this.syncPageSize) has been reached, whichever comes first
|
|
82349
|
+
|
|
82350
|
+
|
|
82351
|
+
var limitTimerRace = new _util__WEBPACK_IMPORTED_MODULE_9__["DeferredCallbackResolver"]({
|
|
82352
|
+
callback: generateAndEmitSnapshot,
|
|
82353
|
+
errorHandler: observer.error,
|
|
82354
|
+
maxInterval: 2000
|
|
82355
|
+
});
|
|
82356
|
+
var sort = (options || {}).sort;
|
|
82357
|
+
var sortOptions = sort ? {
|
|
82358
|
+
sort: sort
|
|
82359
|
+
} : undefined;
|
|
82360
|
+
|
|
82344
82361
|
(function () {
|
|
82345
82362
|
return __awaiter(_this, void 0, void 0, function () {
|
|
82346
82363
|
var err_1;
|
|
@@ -82354,7 +82371,7 @@ function () {
|
|
|
82354
82371
|
|
|
82355
82372
|
return [4
|
|
82356
82373
|
/*yield*/
|
|
82357
|
-
, this.query(model, criteria,
|
|
82374
|
+
, this.query(model, criteria, sortOptions)];
|
|
82358
82375
|
|
|
82359
82376
|
case 1:
|
|
82360
82377
|
// first, query and return any locally-available records
|
|
@@ -82380,10 +82397,15 @@ function () {
|
|
|
82380
82397
|
|
|
82381
82398
|
var isSynced = _this.sync.getModelSyncedStatus(model);
|
|
82382
82399
|
|
|
82383
|
-
|
|
82384
|
-
|
|
82385
|
-
|
|
82386
|
-
|
|
82400
|
+
var limit = itemsChanged.size - deletedItemIds.length >= _this.syncPageSize;
|
|
82401
|
+
|
|
82402
|
+
if (limit || isSynced) {
|
|
82403
|
+
limitTimerRace.resolve();
|
|
82404
|
+
} // kicks off every subsequent race as results sync down
|
|
82405
|
+
|
|
82406
|
+
|
|
82407
|
+
limitTimerRace.start();
|
|
82408
|
+
}); // returns a set of initial/locally-available results
|
|
82387
82409
|
|
|
82388
82410
|
generateAndEmitSnapshot();
|
|
82389
82411
|
return [3
|
|
@@ -82438,11 +82460,6 @@ function () {
|
|
|
82438
82460
|
deletedItemIds = [];
|
|
82439
82461
|
};
|
|
82440
82462
|
|
|
82441
|
-
var generateAndEmitSnapshot = function generateAndEmitSnapshot() {
|
|
82442
|
-
var snapshot = generateSnapshot();
|
|
82443
|
-
emitSnapshot(snapshot);
|
|
82444
|
-
};
|
|
82445
|
-
|
|
82446
82463
|
var sortItems = function sortItems(itemsToSort) {
|
|
82447
82464
|
var modelDefinition = getModelDefinition(model);
|
|
82448
82465
|
|
|
@@ -82821,7 +82838,7 @@ _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["Amplify"].register(instance);
|
|
|
82821
82838
|
/*!**************************!*\
|
|
82822
82839
|
!*** ./lib-esm/index.js ***!
|
|
82823
82840
|
\**************************/
|
|
82824
|
-
/*! exports provided: DataStore, DataStoreClass, initSchema, Predicates, ModelPredicateCreator, ModelSortPredicateCreator, utils, isSchemaModel, isAssociatedWith, isTargetNameAssociation, isModelAttributeAuth, isModelAttributeKey, isModelAttributePrimaryKey, isModelAttributeCompositeKey, ModelAttributeAuthAllow, ModelAttributeAuthProvider, GraphQLScalarType, isGraphQLScalarType, isModelFieldType, isNonModelFieldType, isEnumFieldType, OpType, isPredicateObj, isPredicateGroup, QueryOne, SortDirection, AuthModeStrategyType, ModelOperation, syncExpression, DISCARD */
|
|
82841
|
+
/*! exports provided: DataStore, DataStoreClass, initSchema, Predicates, ModelPredicateCreator, ModelSortPredicateCreator, utils, isSchemaModel, isAssociatedWith, isTargetNameAssociation, isModelAttributeAuth, isModelAttributeKey, isModelAttributePrimaryKey, isModelAttributeCompositeKey, ModelAttributeAuthAllow, ModelAttributeAuthProvider, GraphQLScalarType, isGraphQLScalarType, isModelFieldType, isNonModelFieldType, isEnumFieldType, OpType, isPredicateObj, isPredicateGroup, QueryOne, SortDirection, AuthModeStrategyType, ModelOperation, syncExpression, DISCARD, LimitTimerRaceResolvedValues */
|
|
82825
82842
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
82826
82843
|
|
|
82827
82844
|
"use strict";
|
|
@@ -82889,6 +82906,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
82889
82906
|
|
|
82890
82907
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DISCARD", function() { return _types__WEBPACK_IMPORTED_MODULE_3__["DISCARD"]; });
|
|
82891
82908
|
|
|
82909
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LimitTimerRaceResolvedValues", function() { return _types__WEBPACK_IMPORTED_MODULE_3__["LimitTimerRaceResolvedValues"]; });
|
|
82910
|
+
|
|
82892
82911
|
|
|
82893
82912
|
|
|
82894
82913
|
|
|
@@ -94599,7 +94618,7 @@ function getTokenForCustomAuth(authMode, amplifyConfig) {
|
|
|
94599
94618
|
/*!**************************!*\
|
|
94600
94619
|
!*** ./lib-esm/types.js ***!
|
|
94601
94620
|
\**************************/
|
|
94602
|
-
/*! exports provided: isSchemaModel, isAssociatedWith, isTargetNameAssociation, isModelAttributeAuth, isModelAttributeKey, isModelAttributePrimaryKey, isModelAttributeCompositeKey, ModelAttributeAuthAllow, ModelAttributeAuthProvider, GraphQLScalarType, isGraphQLScalarType, isModelFieldType, isNonModelFieldType, isEnumFieldType, OpType, isPredicateObj, isPredicateGroup, QueryOne, SortDirection, AuthModeStrategyType, ModelOperation, syncExpression, DISCARD */
|
|
94621
|
+
/*! exports provided: isSchemaModel, isAssociatedWith, isTargetNameAssociation, isModelAttributeAuth, isModelAttributeKey, isModelAttributePrimaryKey, isModelAttributeCompositeKey, ModelAttributeAuthAllow, ModelAttributeAuthProvider, GraphQLScalarType, isGraphQLScalarType, isModelFieldType, isNonModelFieldType, isEnumFieldType, OpType, isPredicateObj, isPredicateGroup, QueryOne, SortDirection, AuthModeStrategyType, ModelOperation, syncExpression, DISCARD, LimitTimerRaceResolvedValues */
|
|
94603
94622
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
94604
94623
|
|
|
94605
94624
|
"use strict";
|
|
@@ -94627,6 +94646,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
94627
94646
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModelOperation", function() { return ModelOperation; });
|
|
94628
94647
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "syncExpression", function() { return syncExpression; });
|
|
94629
94648
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DISCARD", function() { return DISCARD; });
|
|
94649
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LimitTimerRaceResolvedValues", function() { return LimitTimerRaceResolvedValues; });
|
|
94630
94650
|
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "./lib-esm/util.js");
|
|
94631
94651
|
var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
94632
94652
|
function adopt(value) {
|
|
@@ -94977,7 +94997,13 @@ function syncExpression(modelConstructor, conditionProducer) {
|
|
|
94977
94997
|
});
|
|
94978
94998
|
});
|
|
94979
94999
|
}
|
|
94980
|
-
var DISCARD = Symbol('DISCARD');
|
|
95000
|
+
var DISCARD = Symbol('DISCARD');
|
|
95001
|
+
var LimitTimerRaceResolvedValues;
|
|
95002
|
+
|
|
95003
|
+
(function (LimitTimerRaceResolvedValues) {
|
|
95004
|
+
LimitTimerRaceResolvedValues["LIMIT"] = "LIMIT";
|
|
95005
|
+
LimitTimerRaceResolvedValues["TIMER"] = "TIMER";
|
|
95006
|
+
})(LimitTimerRaceResolvedValues || (LimitTimerRaceResolvedValues = {})); //#endregion
|
|
94981
95007
|
|
|
94982
95008
|
/***/ }),
|
|
94983
95009
|
|
|
@@ -94985,7 +95011,7 @@ var DISCARD = Symbol('DISCARD'); //#endregion
|
|
|
94985
95011
|
/*!*************************!*\
|
|
94986
95012
|
!*** ./lib-esm/util.js ***!
|
|
94987
95013
|
\*************************/
|
|
94988
|
-
/*! exports provided: exhaustiveCheck, isNullOrUndefined, validatePredicate, validatePredicateField, isModelConstructor, registerNonModelClass, isNonModelConstructor, processCompositeKeys, establishRelationAndKeys, traverseModel, getIndex, getIndexFromAssociation, NAMESPACES, USER, SYNC, STORAGE, DATASTORE, isPrivateMode, monotonicUlidFactory, getNow, sortCompareFunction, valuesEqual, isAWSDate, isAWSTime, isAWSDateTime, isAWSTimestamp, isAWSEmail, isAWSJSON, isAWSURL, isAWSPhone, isAWSIPAddress */
|
|
95014
|
+
/*! exports provided: exhaustiveCheck, isNullOrUndefined, validatePredicate, validatePredicateField, isModelConstructor, registerNonModelClass, isNonModelConstructor, processCompositeKeys, establishRelationAndKeys, traverseModel, getIndex, getIndexFromAssociation, NAMESPACES, USER, SYNC, STORAGE, DATASTORE, isPrivateMode, monotonicUlidFactory, getNow, sortCompareFunction, valuesEqual, isAWSDate, isAWSTime, isAWSDateTime, isAWSTimestamp, isAWSEmail, isAWSJSON, isAWSURL, isAWSPhone, isAWSIPAddress, DeferredPromise, DeferredCallbackResolver */
|
|
94989
95015
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
94990
95016
|
|
|
94991
95017
|
"use strict";
|
|
@@ -95021,6 +95047,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
95021
95047
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isAWSURL", function() { return isAWSURL; });
|
|
95022
95048
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isAWSPhone", function() { return isAWSPhone; });
|
|
95023
95049
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isAWSIPAddress", function() { return isAWSIPAddress; });
|
|
95050
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DeferredPromise", function() { return DeferredPromise; });
|
|
95051
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DeferredCallbackResolver", function() { return DeferredCallbackResolver; });
|
|
95024
95052
|
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! buffer */ "../../node_modules/buffer/index.js");
|
|
95025
95053
|
/* harmony import */ var buffer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(buffer__WEBPACK_IMPORTED_MODULE_0__);
|
|
95026
95054
|
/* harmony import */ var ulid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ulid */ "../../node_modules/ulid/dist/index.esm.js");
|
|
@@ -95884,6 +95912,117 @@ var isAWSIPAddress = function isAWSIPAddress(val) {
|
|
|
95884
95912
|
return !!/((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?$))$/.exec(val);
|
|
95885
95913
|
};
|
|
95886
95914
|
|
|
95915
|
+
var DeferredPromise =
|
|
95916
|
+
/** @class */
|
|
95917
|
+
function () {
|
|
95918
|
+
function DeferredPromise() {
|
|
95919
|
+
var self = this;
|
|
95920
|
+
this.promise = new Promise(function (resolve, reject) {
|
|
95921
|
+
self.resolve = resolve;
|
|
95922
|
+
self.reject = reject;
|
|
95923
|
+
});
|
|
95924
|
+
}
|
|
95925
|
+
|
|
95926
|
+
return DeferredPromise;
|
|
95927
|
+
}();
|
|
95928
|
+
|
|
95929
|
+
|
|
95930
|
+
|
|
95931
|
+
var DeferredCallbackResolver =
|
|
95932
|
+
/** @class */
|
|
95933
|
+
function () {
|
|
95934
|
+
function DeferredCallbackResolver(options) {
|
|
95935
|
+
this.limitPromise = new DeferredPromise();
|
|
95936
|
+
this.raceInFlight = false;
|
|
95937
|
+
|
|
95938
|
+
this.callback = function () {};
|
|
95939
|
+
|
|
95940
|
+
this.defaultErrorHandler = function (msg) {
|
|
95941
|
+
if (msg === void 0) {
|
|
95942
|
+
msg = 'DeferredCallbackResolver error';
|
|
95943
|
+
}
|
|
95944
|
+
|
|
95945
|
+
throw new Error(msg);
|
|
95946
|
+
};
|
|
95947
|
+
|
|
95948
|
+
this.callback = options.callback;
|
|
95949
|
+
this.errorHandler = options.errorHandler || this.defaultErrorHandler;
|
|
95950
|
+
this.maxInterval = options.maxInterval || 2000;
|
|
95951
|
+
}
|
|
95952
|
+
|
|
95953
|
+
DeferredCallbackResolver.prototype.startTimer = function () {
|
|
95954
|
+
var _this = this;
|
|
95955
|
+
|
|
95956
|
+
this.timerPromise = new Promise(function (resolve, reject) {
|
|
95957
|
+
_this.timer = setTimeout(function () {
|
|
95958
|
+
resolve(_types__WEBPACK_IMPORTED_MODULE_3__["LimitTimerRaceResolvedValues"].TIMER);
|
|
95959
|
+
}, _this.maxInterval);
|
|
95960
|
+
});
|
|
95961
|
+
};
|
|
95962
|
+
|
|
95963
|
+
DeferredCallbackResolver.prototype.racePromises = function () {
|
|
95964
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
95965
|
+
var winner, err_1;
|
|
95966
|
+
return __generator(this, function (_c) {
|
|
95967
|
+
switch (_c.label) {
|
|
95968
|
+
case 0:
|
|
95969
|
+
_c.trys.push([0, 2, 3, 4]);
|
|
95970
|
+
|
|
95971
|
+
this.raceInFlight = true;
|
|
95972
|
+
this.startTimer();
|
|
95973
|
+
return [4
|
|
95974
|
+
/*yield*/
|
|
95975
|
+
, Promise.race([this.timerPromise, this.limitPromise.promise])];
|
|
95976
|
+
|
|
95977
|
+
case 1:
|
|
95978
|
+
winner = _c.sent();
|
|
95979
|
+
this.callback();
|
|
95980
|
+
return [3
|
|
95981
|
+
/*break*/
|
|
95982
|
+
, 4];
|
|
95983
|
+
|
|
95984
|
+
case 2:
|
|
95985
|
+
err_1 = _c.sent();
|
|
95986
|
+
this.errorHandler(err_1);
|
|
95987
|
+
return [3
|
|
95988
|
+
/*break*/
|
|
95989
|
+
, 4];
|
|
95990
|
+
|
|
95991
|
+
case 3:
|
|
95992
|
+
// reset for the next race
|
|
95993
|
+
this.clear();
|
|
95994
|
+
this.raceInFlight = false;
|
|
95995
|
+
this.limitPromise = new DeferredPromise();
|
|
95996
|
+
return [2
|
|
95997
|
+
/*return*/
|
|
95998
|
+
, winner];
|
|
95999
|
+
|
|
96000
|
+
case 4:
|
|
96001
|
+
return [2
|
|
96002
|
+
/*return*/
|
|
96003
|
+
];
|
|
96004
|
+
}
|
|
96005
|
+
});
|
|
96006
|
+
});
|
|
96007
|
+
};
|
|
96008
|
+
|
|
96009
|
+
DeferredCallbackResolver.prototype.start = function () {
|
|
96010
|
+
if (!this.raceInFlight) this.racePromises();
|
|
96011
|
+
};
|
|
96012
|
+
|
|
96013
|
+
DeferredCallbackResolver.prototype.clear = function () {
|
|
96014
|
+
clearTimeout(this.timer);
|
|
96015
|
+
};
|
|
96016
|
+
|
|
96017
|
+
DeferredCallbackResolver.prototype.resolve = function () {
|
|
96018
|
+
this.limitPromise.resolve(_types__WEBPACK_IMPORTED_MODULE_3__["LimitTimerRaceResolvedValues"].LIMIT);
|
|
96019
|
+
};
|
|
96020
|
+
|
|
96021
|
+
return DeferredCallbackResolver;
|
|
96022
|
+
}();
|
|
96023
|
+
|
|
96024
|
+
|
|
96025
|
+
|
|
95887
96026
|
/***/ }),
|
|
95888
96027
|
|
|
95889
96028
|
/***/ "./node_modules/immer/dist/immer.esm.js":
|