@routier/core 0.0.7 → 0.1.0-rc.1

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/index.js CHANGED
@@ -3676,6 +3676,16 @@ class MemoryDataCollection {
3676
3676
  this.nextNumericalIds.set(property.id, nextId);
3677
3677
  return nextId;
3678
3678
  }
3679
+ resolveId(property, value) {
3680
+ if (typeof value !== "number") {
3681
+ return;
3682
+ }
3683
+ const currentIdForProperty = this.nextNumericalIds.get(property.id);
3684
+ if (value <= currentIdForProperty) {
3685
+ return;
3686
+ }
3687
+ this.nextNumericalIds.set(property.id, value);
3688
+ }
3679
3689
  getAndSetId(item, property) {
3680
3690
  if (item[property.name] != null) {
3681
3691
  return item[property.name];
@@ -3714,14 +3724,20 @@ class MemoryDataCollection {
3714
3724
  }
3715
3725
  resolveIdSet(item) {
3716
3726
  if (this.schema.hasIdentityKeys) {
3717
- const ids = [];
3718
3727
  const idProperties = this.schema.idProperties;
3728
+ const ids = new Array(idProperties.length);
3729
+ // Need to make sure we allow for seeding the collection when we call add vs seed
3730
+ // There will be an existing id, but the id type could still be identity
3719
3731
  if (idProperties.length === 1) {
3720
- ids.push(this.getAndSetId(item, idProperties[0]));
3732
+ const value = this.getAndSetId(item, idProperties[0]);
3733
+ this.resolveId(idProperties[0], value);
3734
+ ids[0] = value;
3721
3735
  }
3722
3736
  else {
3723
3737
  for (let j = 0, l = idProperties.length; j < l; j++) {
3724
- ids.push(this.getAndSetId(item, idProperties[j]));
3738
+ const value = this.getAndSetId(item, idProperties[j]);
3739
+ this.resolveId(idProperties[j], value);
3740
+ ids[j] = value;
3725
3741
  }
3726
3742
  }
3727
3743
  return new _IdSet__WEBPACK_IMPORTED_MODULE_2__.IdSet(...ids);
@@ -3887,7 +3903,7 @@ class TagCollection {
3887
3903
  return this.data.keys();
3888
3904
  }
3889
3905
  [Symbol.dispose]() {
3890
- this.data = null;
3906
+ this.data.clear();
3891
3907
  }
3892
3908
  [Symbol.iterator]() {
3893
3909
  return this.data[Symbol.iterator]();
@@ -3998,8 +4014,10 @@ __webpack_require__.d(__webpack_exports__, {
3998
4014
  combineExpressions: () => (combineExpressions),
3999
4015
  toExpression: () => (toExpression)
4000
4016
  });
4017
+ /* ESM import */var _assertions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../assertions */ "./src/assertions/index.ts");
4001
4018
  /* ESM import */var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "./src/expressions/types.ts");
4002
4019
 
4020
+
4003
4021
  // Pre-compiled regex patterns for better performance
4004
4022
  const METHOD_REGEX = /([a-zA-Z0-9_.]+)\.(startsWith|endsWith|includes)\(([^)]+)\)(\s*(===|==|!==|!=)\s*(true|false))?/;
4005
4023
  const TRANSFORM_METHOD_REGEX = /([a-zA-Z0-9_.]+)\.(toLowerCase|toUpperCase|toLocaleLowerCase|toLocaleUpperCase)\(\)\.(startsWith|endsWith|includes)\(((?:[^()]|\([^)]*\))*)\)(\s*(===|==|!==|!=)\s*(true|false))?/;
@@ -4087,6 +4105,10 @@ const ERROR_MESSAGES = {
4087
4105
  PARAM_PATH_NOT_FOUND: (value, params) => `Cannot find path in params for .where(). Make sure parameters are not used inline.\r\nPath: ${value}, Params: ${JSON.stringify(params)}`
4088
4106
  };
4089
4107
  const STRINGIFIED_COMPARE_OPERATORS = ["true", "false"];
4108
+ const parseUnknown = (value) => {
4109
+ (0,_assertions__WEBPACK_IMPORTED_MODULE_1__.assertString)(value);
4110
+ return JSON.parse(value);
4111
+ };
4090
4112
  const combineExpressions = (...expressions) => {
4091
4113
  if (expressions.length === 0) {
4092
4114
  throw new Error("combineExpressions requires at least 1 expression");
@@ -4107,8 +4129,8 @@ const combineExpressions = (...expressions) => {
4107
4129
  return result;
4108
4130
  };
4109
4131
  const toExpression = (schema, fn, params) => {
4132
+ const stringifiedFunction = fn.toString();
4110
4133
  try {
4111
- const stringifiedFunction = fn.toString();
4112
4134
  // Optimized string parsing
4113
4135
  const arrowIndex = stringifiedFunction.indexOf('=>');
4114
4136
  if (arrowIndex === -1) {
@@ -4142,8 +4164,13 @@ const toExpression = (schema, fn, params) => {
4142
4164
  }
4143
4165
  return parseExpressionToTree(schema, expression, parameterData);
4144
4166
  }
4145
- catch (e) {
4146
- console.warn("Error parsing expression", e);
4167
+ catch (error) {
4168
+ console.warn("Error parsing expression", {
4169
+ error,
4170
+ collectionName: schema.collectionName,
4171
+ params,
4172
+ selector: stringifiedFunction
4173
+ });
4147
4174
  return _types__WEBPACK_IMPORTED_MODULE_0__.Expression.NOT_PARSABLE;
4148
4175
  }
4149
4176
  };
@@ -4312,7 +4339,7 @@ const parseCondition = (schema, expression, params) => {
4312
4339
  const property = getProperty(schema, rightSide, params);
4313
4340
  const value = getValue(leftSide, params); // retrieve the original value
4314
4341
  const serializer = property.property.valueSerializer;
4315
- comparator.left = serializer ? getValue(String(property.property.valueSerializer(JSON.parse(value.value)))) : value;
4342
+ comparator.left = serializer ? getValue(String(property.property.valueSerializer(parseUnknown(value.value)))) : value;
4316
4343
  comparator.right = property;
4317
4344
  }
4318
4345
  else {
@@ -4326,7 +4353,7 @@ const parseCondition = (schema, expression, params) => {
4326
4353
  const serializer = property.property.valueSerializer;
4327
4354
  const value = getValue(rightSide, params); // retrieve the original value
4328
4355
  comparator.left = property;
4329
- comparator.right = serializer ? getValue(String(property.property.valueSerializer(JSON.parse(value.value)))) : value;
4356
+ comparator.right = serializer ? getValue(String(property.property.valueSerializer(parseUnknown(value.value)))) : value;
4330
4357
  }
4331
4358
  // If the comparison is explicitly to false, mark it as negated
4332
4359
  if (methodMatch[6] === "false") {
@@ -4347,7 +4374,7 @@ const parseCondition = (schema, expression, params) => {
4347
4374
  // Create the property expression for the left side (no transformer)
4348
4375
  const propertyExpression = property;
4349
4376
  // Create a ValueExpression for the right side with transformer
4350
- const valueExpression = serializer ? getValue(String(property.property.valueSerializer(JSON.parse(value.value)))) : value;
4377
+ const valueExpression = serializer ? getValue(String(property.property.valueSerializer(parseUnknown(value.value)))) : value;
4351
4378
  // Set transformer and locale based on the method
4352
4379
  const method = valueTransformMatch[4];
4353
4380
  if (method === 'toLowerCase' || method === 'toLocaleLowerCase') {
@@ -4414,7 +4441,7 @@ const parseCondition = (schema, expression, params) => {
4414
4441
  }
4415
4442
  const serializer = property.property.valueSerializer;
4416
4443
  comparator.left = property;
4417
- comparator.right = serializer ? getValue(String(property.property.valueSerializer(JSON.parse(value.value)))) : value;
4444
+ comparator.right = serializer ? getValue(String(property.property.valueSerializer(parseUnknown(value.value)))) : value;
4418
4445
  // If the comparison is explicitly to false, mark it as negated
4419
4446
  if (transformMethodMatch[7] === "false") {
4420
4447
  comparator.negated = true;
@@ -4455,7 +4482,7 @@ const parseCondition = (schema, expression, params) => {
4455
4482
  const value = getValue(valueSide, params);
4456
4483
  const serializer = property.property.valueSerializer;
4457
4484
  comparator.left = property;
4458
- comparator.right = serializer ? getValue(String(property.property.valueSerializer(JSON.parse(value.value)))) : value;
4485
+ comparator.right = serializer ? getValue(String(property.property.valueSerializer(parseUnknown(value.value)))) : value;
4459
4486
  convertAndAssignValue(comparator.right, comparator.left);
4460
4487
  return comparator;
4461
4488
  }
@@ -4493,7 +4520,7 @@ const parseCondition = (schema, expression, params) => {
4493
4520
  const value = getValue(valueSide, params);
4494
4521
  const serializer = property.property.valueSerializer;
4495
4522
  comparator.left = property;
4496
- comparator.right = serializer ? getValue(String(property.property.valueSerializer(JSON.parse(value.value)))) : value;
4523
+ comparator.right = serializer ? getValue(String(property.property.valueSerializer(parseUnknown(value.value)))) : value;
4497
4524
  convertAndAssignValue(comparator.right, comparator.left);
4498
4525
  return comparator;
4499
4526
  }
@@ -4510,7 +4537,7 @@ const parseCondition = (schema, expression, params) => {
4510
4537
  const serializer = property.property.valueSerializer;
4511
4538
  comparator.left = property;
4512
4539
  // need to parse the value so it matches what the serializer expects
4513
- comparator.right = serializer ? getValue(String(property.property.valueSerializer(JSON.parse(value.value)))) : value;
4540
+ comparator.right = serializer ? getValue(String(property.property.valueSerializer(parseUnknown(value.value)))) : value;
4514
4541
  return comparator;
4515
4542
  }
4516
4543
  // If we get here, the expression is too complex for the current parser
@@ -5735,23 +5762,27 @@ __webpack_require__.d(__webpack_exports__, {
5735
5762
  OptimisticReplicationDbPlugin: () => (OptimisticReplicationDbPlugin)
5736
5763
  });
5737
5764
  /* ESM import */var _results__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../results */ "./src/results/Result.ts");
5738
- /* ESM import */var _pipeline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../pipeline */ "./src/pipeline/TrampolinePipeline.ts");
5765
+ /* ESM import */var _pipeline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../pipeline */ "./src/pipeline/TrampolinePipeline.ts");
5739
5766
  /* ESM import */var _query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../query */ "./src/plugins/query/Query.ts");
5740
5767
  /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utilities */ "./src/utilities/uuid.ts");
5741
- /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utilities */ "./src/utilities/replication.ts");
5768
+ /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utilities */ "./src/utilities/replication.ts");
5742
5769
  /* ESM import */var _collections__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../collections */ "./src/collections/Changes.ts");
5770
+ /* ESM import */var _performance__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../performance */ "./src/performance/index.ts");
5743
5771
 
5744
5772
 
5745
5773
  7;
5746
5774
 
5747
5775
 
5748
5776
 
5777
+
5749
5778
  const getMemoryPluginCollectionSize = (plugin, schema) => {
5750
5779
  if ("getCollectionSize" in plugin && typeof plugin.getCollectionSize === "function") {
5751
5780
  return plugin.getCollectionSize(schema.collectionName);
5752
5781
  }
5753
5782
  throw new Error("Cannot get size of collection for MemoryPlugin, not an instance of MemoryPlugin");
5754
5783
  };
5784
+ const MAX_HYDRATION_WAIT_MS = 60_000; // 60 seconds max wait
5785
+ const HYDRATION_POLL_INTERVAL_MS = 10; // Check ever 10 ms
5755
5786
  let hydrationStatus = "hydration-not-started";
5756
5787
  class OptimisticReplicationDbPlugin {
5757
5788
  plugins;
@@ -5779,7 +5810,6 @@ class OptimisticReplicationDbPlugin {
5779
5810
  if (collectionSize === 0 && hydrationStatus === "hydration-not-started") {
5780
5811
  // Notify the cache that the db was hydrated right away
5781
5812
  hydrationStatus = "hydration-pending";
5782
- console.log('[ROUTIER] - Optimistic Query', hydrationStatus);
5783
5813
  // nothing is hydrated, let's try and hydrate before querying
5784
5814
  // Memory plugin might not be hydrated, lets hydrate it for the targeted schema only,
5785
5815
  // Other queries will do the same and hydrate if needed
@@ -5794,28 +5824,20 @@ class OptimisticReplicationDbPlugin {
5794
5824
  if (sourceResult.ok === _results__WEBPACK_IMPORTED_MODULE_2__.Result.ERROR) {
5795
5825
  // Notify that hydration failed
5796
5826
  hydrationStatus = "hydration-error";
5797
- console.log("[ROUTIER] - Hydration Error - Source Query", sourceResult);
5798
- done(sourceResult);
5799
- return;
5800
- }
5801
- if (sourceResult == null || (Array.isArray(sourceResult.data) && sourceResult.data.length === 0)) {
5802
- // Notify that hydration had no data
5803
- hydrationStatus = "hydration-error";
5804
- console.log("[ROUTIER] - Hydration Error - No Data", sourceResult);
5805
5827
  done(sourceResult);
5806
5828
  return;
5807
5829
  }
5808
- if (Array.isArray(sourceResult.data) === false) {
5830
+ // Source plugin can have no data, still should succeed
5831
+ if (Array.isArray(sourceResult.data.value) === false) {
5809
5832
  // Notify that hydration failed
5810
5833
  hydrationStatus = "hydration-error";
5811
- console.log("[ROUTIER] - Hydration Error - Bad Result", sourceResult);
5812
5834
  done(_results__WEBPACK_IMPORTED_MODULE_2__.PluginEventResult.error(event.id, "Query result is not an array"));
5813
5835
  return;
5814
5836
  }
5815
5837
  const changesCollection = new _collections__WEBPACK_IMPORTED_MODULE_3__.BulkPersistChanges();
5816
5838
  const schemaChanges = changesCollection.resolve(event.operation.schema.id);
5817
5839
  // Add the existing items into the persist payload as adds
5818
- schemaChanges.adds = sourceResult.data;
5840
+ schemaChanges.adds = sourceResult.data.value;
5819
5841
  readPlugin.bulkPersist({
5820
5842
  id: (0,_utilities__WEBPACK_IMPORTED_MODULE_0__.uuid)(8),
5821
5843
  schemas: event.schemas,
@@ -5825,7 +5847,6 @@ class OptimisticReplicationDbPlugin {
5825
5847
  if (readPersistResult.ok === _results__WEBPACK_IMPORTED_MODULE_2__.Result.ERROR) {
5826
5848
  // Notify that hydration failed
5827
5849
  hydrationStatus = "hydration-error";
5828
- console.log("[ROUTIER] - Hydration Error - Could Not Save", readPersistResult);
5829
5850
  done(readPersistResult);
5830
5851
  return;
5831
5852
  }
@@ -5836,6 +5857,41 @@ class OptimisticReplicationDbPlugin {
5836
5857
  });
5837
5858
  return;
5838
5859
  }
5860
+ if (hydrationStatus === "hydration-error") {
5861
+ done(_results__WEBPACK_IMPORTED_MODULE_2__.PluginEventResult.error(event.id, "Hydration failed, unable to query read plugin"));
5862
+ return;
5863
+ }
5864
+ // If hydration is pending, do not query empty collection, wait for hydration
5865
+ if (hydrationStatus === "hydration-pending") {
5866
+ const start = (0,_performance__WEBPACK_IMPORTED_MODULE_4__.now)();
5867
+ const pollHydrationStatus = () => {
5868
+ const delta = (0,_performance__WEBPACK_IMPORTED_MODULE_4__.now)() - start;
5869
+ if (delta > MAX_HYDRATION_WAIT_MS) {
5870
+ hydrationStatus = "hydration-error";
5871
+ done(_results__WEBPACK_IMPORTED_MODULE_2__.PluginEventResult.error(event.id, `Hydration timeout: exceeded maximum wait time of ${MAX_HYDRATION_WAIT_MS}ms`));
5872
+ return;
5873
+ }
5874
+ if (hydrationStatus === "hydration-error") {
5875
+ done(_results__WEBPACK_IMPORTED_MODULE_2__.PluginEventResult.error(event.id, "Hydration failed, unable to query read plugin"));
5876
+ return;
5877
+ }
5878
+ if (hydrationStatus === "hydration-success") {
5879
+ // Hydration completed successfully, proceed with query
5880
+ readPlugin.query(event, (readResult) => {
5881
+ if (readResult.ok === _results__WEBPACK_IMPORTED_MODULE_2__.Result.ERROR) {
5882
+ done(readResult);
5883
+ return;
5884
+ }
5885
+ done(readResult);
5886
+ });
5887
+ return;
5888
+ }
5889
+ // Still pending, check again after interval
5890
+ setTimeout(pollHydrationStatus, HYDRATION_POLL_INTERVAL_MS);
5891
+ };
5892
+ pollHydrationStatus();
5893
+ return;
5894
+ }
5839
5895
  // Collection is hydrated for the targeted collection and should be in sync
5840
5896
  readPlugin.query(event, (readResult) => {
5841
5897
  if (readResult.ok === _results__WEBPACK_IMPORTED_MODULE_2__.Result.ERROR) {
@@ -5852,7 +5908,7 @@ class OptimisticReplicationDbPlugin {
5852
5908
  }
5853
5909
  destroy(event, done) {
5854
5910
  try {
5855
- const workPipeline = new _pipeline__WEBPACK_IMPORTED_MODULE_4__.WorkPipeline();
5911
+ const workPipeline = new _pipeline__WEBPACK_IMPORTED_MODULE_5__.WorkPipeline();
5856
5912
  const plugins = [this.plugins.source, ...this.plugins.replicas];
5857
5913
  for (let i = 0, length = plugins.length; i < length; i++) {
5858
5914
  workPipeline.pipe((done) => plugins[i].destroy(event, done));
@@ -5871,7 +5927,7 @@ class OptimisticReplicationDbPlugin {
5871
5927
  }
5872
5928
  bulkPersist(event, done) {
5873
5929
  try {
5874
- const workPipeline = new _pipeline__WEBPACK_IMPORTED_MODULE_4__.WorkPipeline();
5930
+ const workPipeline = new _pipeline__WEBPACK_IMPORTED_MODULE_5__.WorkPipeline();
5875
5931
  const deferredPlugins = [this.plugins.source, ...this.plugins.replicas];
5876
5932
  // Since we are doing optimistic, we insert into the read plugin first and assume later plugins will succeed
5877
5933
  // This means the read plugin will generate ids for the source plugin
@@ -5891,7 +5947,7 @@ class OptimisticReplicationDbPlugin {
5891
5947
  const optimisticBulkPersistChanges = new _collections__WEBPACK_IMPORTED_MODULE_3__.BulkPersistChanges();
5892
5948
  // make sure we swap the adds here, that way we can make sure other persist events
5893
5949
  // don't take their additions and try to change subsequent calls
5894
- (0,_utilities__WEBPACK_IMPORTED_MODULE_5__.resolveBulkPersistChanges)(event, r.data, optimisticBulkPersistChanges);
5950
+ (0,_utilities__WEBPACK_IMPORTED_MODULE_6__.resolveBulkPersistChanges)(event, r.data, optimisticBulkPersistChanges);
5895
5951
  for (let i = 0, length = deferredPlugins.length; i < length; i++) {
5896
5952
  workPipeline.pipe((d) => {
5897
5953
  const plugin = deferredPlugins[i];
@@ -8988,6 +9044,7 @@ __webpack_require__.d(__webpack_exports__, {
8988
9044
  stringifyObject: () => (/* reexport safe */ _strings__WEBPACK_IMPORTED_MODULE_1__.stringifyObject),
8989
9045
  toEventArray: () => (/* reexport safe */ _dbPluginEventUtils__WEBPACK_IMPORTED_MODULE_8__.toEventArray),
8990
9046
  toMap: () => (/* reexport safe */ _arrays__WEBPACK_IMPORTED_MODULE_0__.toMap),
9047
+ unsafeCast: () => (/* reexport safe */ _unsafeCast__WEBPACK_IMPORTED_MODULE_10__.unsafeCast),
8991
9048
  uuid: () => (/* reexport safe */ _uuid__WEBPACK_IMPORTED_MODULE_5__.uuid),
8992
9049
  uuidv4: () => (/* reexport safe */ _uuid__WEBPACK_IMPORTED_MODULE_5__.uuidv4)
8993
9050
  });
@@ -9001,6 +9058,8 @@ __webpack_require__.d(__webpack_exports__, {
9001
9058
  /* ESM import */var _queryOptionsCollection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./queryOptionsCollection */ "./src/utilities/queryOptionsCollection.ts");
9002
9059
  /* ESM import */var _dbPluginEventUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dbPluginEventUtils */ "./src/utilities/dbPluginEventUtils.ts");
9003
9060
  /* ESM import */var _functions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./functions */ "./src/utilities/functions.ts");
9061
+ /* ESM import */var _unsafeCast__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./unsafeCast */ "./src/utilities/unsafeCast.ts");
9062
+
9004
9063
 
9005
9064
 
9006
9065
 
@@ -9267,6 +9326,21 @@ function stringifyPlainObject(obj, maxDepth, currentDepth) {
9267
9326
  }
9268
9327
 
9269
9328
 
9329
+ }),
9330
+ "./src/utilities/unsafeCast.ts":
9331
+ /*!*************************************!*\
9332
+ !*** ./src/utilities/unsafeCast.ts ***!
9333
+ \*************************************/
9334
+ (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9335
+ __webpack_require__.r(__webpack_exports__);
9336
+ __webpack_require__.d(__webpack_exports__, {
9337
+ unsafeCast: () => (unsafeCast)
9338
+ });
9339
+ const unsafeCast = (value) => {
9340
+ return value;
9341
+ };
9342
+
9343
+
9270
9344
  }),
9271
9345
  "./src/utilities/uuid.ts":
9272
9346
  /*!*******************************!*\
@@ -9493,6 +9567,7 @@ __webpack_require__.d(__webpack_exports__, {
9493
9567
  toExpression: () => (/* reexport safe */ _expressions__WEBPACK_IMPORTED_MODULE_4__.toExpression),
9494
9568
  toMap: () => (/* reexport safe */ _utilities__WEBPACK_IMPORTED_MODULE_10__.toMap),
9495
9569
  toPromise: () => (/* reexport safe */ _results__WEBPACK_IMPORTED_MODULE_8__.toPromise),
9570
+ unsafeCast: () => (/* reexport safe */ _utilities__WEBPACK_IMPORTED_MODULE_10__.unsafeCast),
9496
9571
  uuid: () => (/* reexport safe */ _utilities__WEBPACK_IMPORTED_MODULE_10__.uuid),
9497
9572
  uuidv4: () => (/* reexport safe */ _utilities__WEBPACK_IMPORTED_MODULE_10__.uuidv4)
9498
9573
  });
@@ -9626,8 +9701,9 @@ var __webpack_exports__toEventArray = __webpack_exports__.toEventArray;
9626
9701
  var __webpack_exports__toExpression = __webpack_exports__.toExpression;
9627
9702
  var __webpack_exports__toMap = __webpack_exports__.toMap;
9628
9703
  var __webpack_exports__toPromise = __webpack_exports__.toPromise;
9704
+ var __webpack_exports__unsafeCast = __webpack_exports__.unsafeCast;
9629
9705
  var __webpack_exports__uuid = __webpack_exports__.uuid;
9630
9706
  var __webpack_exports__uuidv4 = __webpack_exports__.uuidv4;
9631
- export { __webpack_exports__AndBuilder as AndBuilder, __webpack_exports__ArrayBuilder as ArrayBuilder, __webpack_exports__AssignmentBuilder as AssignmentBuilder, __webpack_exports__AsyncPipeline as AsyncPipeline, __webpack_exports__Block as Block, __webpack_exports__BulkPersistChanges as BulkPersistChanges, __webpack_exports__BulkPersistResult as BulkPersistResult, __webpack_exports__Capability as Capability, __webpack_exports__CodeBuilder as CodeBuilder, __webpack_exports__ComparatorExpression as ComparatorExpression, __webpack_exports__ContainerBlock as ContainerBlock, __webpack_exports__DataTranslator as DataTranslator, __webpack_exports__EmptyExpression as EmptyExpression, __webpack_exports__EphemeralDataPlugin as EphemeralDataPlugin, __webpack_exports__Expression as Expression, __webpack_exports__FunctionBuilder as FunctionBuilder, __webpack_exports__FunctionFactoryBuilder as FunctionFactoryBuilder, __webpack_exports__HashType as HashType, __webpack_exports__IdSet as IdSet, __webpack_exports__IfBuilder as IfBuilder, __webpack_exports__JsonTranslator as JsonTranslator, __webpack_exports__MemoryDataCollection as MemoryDataCollection, __webpack_exports__NotParsableExpression as NotParsableExpression, __webpack_exports__ObjectBuilder as ObjectBuilder, __webpack_exports__OperatorExpression as OperatorExpression, __webpack_exports__OptimisticReplicationDbPlugin as OptimisticReplicationDbPlugin, __webpack_exports__PerformanceCapability as PerformanceCapability, __webpack_exports__PluginEventResult as PluginEventResult, __webpack_exports__PropertyExpression as PropertyExpression, __webpack_exports__PropertyInfo as PropertyInfo, __webpack_exports__Query as Query, __webpack_exports__QueryOptionsCollection as QueryOptionsCollection, __webpack_exports__QueryOrdering as QueryOrdering, __webpack_exports__RawBuilder as RawBuilder, __webpack_exports__ReadonlySchemaCollection as ReadonlySchemaCollection, __webpack_exports__ReplicationDbPlugin as ReplicationDbPlugin, __webpack_exports__Result as Result, __webpack_exports__SchemaArray as SchemaArray, __webpack_exports__SchemaBase as SchemaBase, __webpack_exports__SchemaBoolean as SchemaBoolean, __webpack_exports__SchemaCollection as SchemaCollection, __webpack_exports__SchemaComputed as SchemaComputed, __webpack_exports__SchemaDate as SchemaDate, __webpack_exports__SchemaDefault as SchemaDefault, __webpack_exports__SchemaDeserialize as SchemaDeserialize, __webpack_exports__SchemaDistinct as SchemaDistinct, __webpack_exports__SchemaError as SchemaError, __webpack_exports__SchemaFrom as SchemaFrom, __webpack_exports__SchemaFunction as SchemaFunction, __webpack_exports__SchemaIdentity as SchemaIdentity, __webpack_exports__SchemaIndex as SchemaIndex, __webpack_exports__SchemaKey as SchemaKey, __webpack_exports__SchemaNullable as SchemaNullable, __webpack_exports__SchemaNumber as SchemaNumber, __webpack_exports__SchemaObject as SchemaObject, __webpack_exports__SchemaOptional as SchemaOptional, __webpack_exports__SchemaPersistChanges as SchemaPersistChanges, __webpack_exports__SchemaPersistResult as SchemaPersistResult, __webpack_exports__SchemaReadonly as SchemaReadonly, __webpack_exports__SchemaSerialize as SchemaSerialize, __webpack_exports__SchemaString as SchemaString, __webpack_exports__SchemaTracked as SchemaTracked, __webpack_exports__SchemaTypes as SchemaTypes, __webpack_exports__SlotBlock as SlotBlock, __webpack_exports__SqlTranslator as SqlTranslator, __webpack_exports__StringBuilder as StringBuilder, __webpack_exports__SyncronousQueue as SyncronousQueue, __webpack_exports__TagCollection as TagCollection, __webpack_exports__TracingCapability as TracingCapability, __webpack_exports__TrampolinePipeline as TrampolinePipeline, __webpack_exports__TranslatedArrayValue as TranslatedArrayValue, __webpack_exports__TranslatedGroupValue as TranslatedGroupValue, __webpack_exports__TranslatedSingleValue as TranslatedSingleValue, __webpack_exports__ValueExpression as ValueExpression, __webpack_exports__VariableBuilder as VariableBuilder, __webpack_exports__WorkPipeline as WorkPipeline, __webpack_exports__assertDate as assertDate, __webpack_exports__assertInstanceOf as assertInstanceOf, __webpack_exports__assertIsArray as assertIsArray, __webpack_exports__assertIsNotNull as assertIsNotNull, __webpack_exports__assertString as assertString, __webpack_exports__cast as cast, __webpack_exports__clone as clone, __webpack_exports__combineExpressions as combineExpressions, __webpack_exports__combineQueryOptionsCollections as combineQueryOptionsCollections, __webpack_exports__fastHash as fastHash, __webpack_exports__forEach as forEach, __webpack_exports__getProperties as getProperties, __webpack_exports__hash as hash, __webpack_exports__isDate as isDate, __webpack_exports__isNodeRuntime as isNodeRuntime, __webpack_exports__isPropertyExpression as isPropertyExpression, __webpack_exports__measure as measure, __webpack_exports__noop as noop, __webpack_exports__now as now, __webpack_exports__resolveBulkPersistChanges as resolveBulkPersistChanges, __webpack_exports__s as s, __webpack_exports__stringifyObject as stringifyObject, __webpack_exports__toEventArray as toEventArray, __webpack_exports__toExpression as toExpression, __webpack_exports__toMap as toMap, __webpack_exports__toPromise as toPromise, __webpack_exports__uuid as uuid, __webpack_exports__uuidv4 as uuidv4 };
9707
+ export { __webpack_exports__AndBuilder as AndBuilder, __webpack_exports__ArrayBuilder as ArrayBuilder, __webpack_exports__AssignmentBuilder as AssignmentBuilder, __webpack_exports__AsyncPipeline as AsyncPipeline, __webpack_exports__Block as Block, __webpack_exports__BulkPersistChanges as BulkPersistChanges, __webpack_exports__BulkPersistResult as BulkPersistResult, __webpack_exports__Capability as Capability, __webpack_exports__CodeBuilder as CodeBuilder, __webpack_exports__ComparatorExpression as ComparatorExpression, __webpack_exports__ContainerBlock as ContainerBlock, __webpack_exports__DataTranslator as DataTranslator, __webpack_exports__EmptyExpression as EmptyExpression, __webpack_exports__EphemeralDataPlugin as EphemeralDataPlugin, __webpack_exports__Expression as Expression, __webpack_exports__FunctionBuilder as FunctionBuilder, __webpack_exports__FunctionFactoryBuilder as FunctionFactoryBuilder, __webpack_exports__HashType as HashType, __webpack_exports__IdSet as IdSet, __webpack_exports__IfBuilder as IfBuilder, __webpack_exports__JsonTranslator as JsonTranslator, __webpack_exports__MemoryDataCollection as MemoryDataCollection, __webpack_exports__NotParsableExpression as NotParsableExpression, __webpack_exports__ObjectBuilder as ObjectBuilder, __webpack_exports__OperatorExpression as OperatorExpression, __webpack_exports__OptimisticReplicationDbPlugin as OptimisticReplicationDbPlugin, __webpack_exports__PerformanceCapability as PerformanceCapability, __webpack_exports__PluginEventResult as PluginEventResult, __webpack_exports__PropertyExpression as PropertyExpression, __webpack_exports__PropertyInfo as PropertyInfo, __webpack_exports__Query as Query, __webpack_exports__QueryOptionsCollection as QueryOptionsCollection, __webpack_exports__QueryOrdering as QueryOrdering, __webpack_exports__RawBuilder as RawBuilder, __webpack_exports__ReadonlySchemaCollection as ReadonlySchemaCollection, __webpack_exports__ReplicationDbPlugin as ReplicationDbPlugin, __webpack_exports__Result as Result, __webpack_exports__SchemaArray as SchemaArray, __webpack_exports__SchemaBase as SchemaBase, __webpack_exports__SchemaBoolean as SchemaBoolean, __webpack_exports__SchemaCollection as SchemaCollection, __webpack_exports__SchemaComputed as SchemaComputed, __webpack_exports__SchemaDate as SchemaDate, __webpack_exports__SchemaDefault as SchemaDefault, __webpack_exports__SchemaDeserialize as SchemaDeserialize, __webpack_exports__SchemaDistinct as SchemaDistinct, __webpack_exports__SchemaError as SchemaError, __webpack_exports__SchemaFrom as SchemaFrom, __webpack_exports__SchemaFunction as SchemaFunction, __webpack_exports__SchemaIdentity as SchemaIdentity, __webpack_exports__SchemaIndex as SchemaIndex, __webpack_exports__SchemaKey as SchemaKey, __webpack_exports__SchemaNullable as SchemaNullable, __webpack_exports__SchemaNumber as SchemaNumber, __webpack_exports__SchemaObject as SchemaObject, __webpack_exports__SchemaOptional as SchemaOptional, __webpack_exports__SchemaPersistChanges as SchemaPersistChanges, __webpack_exports__SchemaPersistResult as SchemaPersistResult, __webpack_exports__SchemaReadonly as SchemaReadonly, __webpack_exports__SchemaSerialize as SchemaSerialize, __webpack_exports__SchemaString as SchemaString, __webpack_exports__SchemaTracked as SchemaTracked, __webpack_exports__SchemaTypes as SchemaTypes, __webpack_exports__SlotBlock as SlotBlock, __webpack_exports__SqlTranslator as SqlTranslator, __webpack_exports__StringBuilder as StringBuilder, __webpack_exports__SyncronousQueue as SyncronousQueue, __webpack_exports__TagCollection as TagCollection, __webpack_exports__TracingCapability as TracingCapability, __webpack_exports__TrampolinePipeline as TrampolinePipeline, __webpack_exports__TranslatedArrayValue as TranslatedArrayValue, __webpack_exports__TranslatedGroupValue as TranslatedGroupValue, __webpack_exports__TranslatedSingleValue as TranslatedSingleValue, __webpack_exports__ValueExpression as ValueExpression, __webpack_exports__VariableBuilder as VariableBuilder, __webpack_exports__WorkPipeline as WorkPipeline, __webpack_exports__assertDate as assertDate, __webpack_exports__assertInstanceOf as assertInstanceOf, __webpack_exports__assertIsArray as assertIsArray, __webpack_exports__assertIsNotNull as assertIsNotNull, __webpack_exports__assertString as assertString, __webpack_exports__cast as cast, __webpack_exports__clone as clone, __webpack_exports__combineExpressions as combineExpressions, __webpack_exports__combineQueryOptionsCollections as combineQueryOptionsCollections, __webpack_exports__fastHash as fastHash, __webpack_exports__forEach as forEach, __webpack_exports__getProperties as getProperties, __webpack_exports__hash as hash, __webpack_exports__isDate as isDate, __webpack_exports__isNodeRuntime as isNodeRuntime, __webpack_exports__isPropertyExpression as isPropertyExpression, __webpack_exports__measure as measure, __webpack_exports__noop as noop, __webpack_exports__now as now, __webpack_exports__resolveBulkPersistChanges as resolveBulkPersistChanges, __webpack_exports__s as s, __webpack_exports__stringifyObject as stringifyObject, __webpack_exports__toEventArray as toEventArray, __webpack_exports__toExpression as toExpression, __webpack_exports__toMap as toMap, __webpack_exports__toPromise as toPromise, __webpack_exports__unsafeCast as unsafeCast, __webpack_exports__uuid as uuid, __webpack_exports__uuidv4 as uuidv4 };
9632
9708
 
9633
9709
  //# sourceMappingURL=index.js.map