@routier/core 0.0.1-alpha.2 → 0.0.1-alpha.3

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
@@ -2958,24 +2958,49 @@ class MemoryDataCollection {
2958
2958
 
2959
2959
 
2960
2960
  }),
2961
- "./src/collections/SchemaCollection.ts":
2962
- /*!*********************************************!*\
2963
- !*** ./src/collections/SchemaCollection.ts ***!
2964
- \*********************************************/
2961
+ "./src/collections/ReadonlySchemaCollection.ts":
2962
+ /*!*****************************************************!*\
2963
+ !*** ./src/collections/ReadonlySchemaCollection.ts ***!
2964
+ \*****************************************************/
2965
2965
  (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2966
2966
  __webpack_require__.r(__webpack_exports__);
2967
2967
  __webpack_require__.d(__webpack_exports__, {
2968
- SchemaCollection: () => (SchemaCollection)
2968
+ ReadonlySchemaCollection: () => (ReadonlySchemaCollection)
2969
2969
  });
2970
2970
  /**
2971
2971
  * Collection of schemas with generic typing for type-safe schema retrieval
2972
2972
  */
2973
- class SchemaCollection extends Map {
2973
+ class ReadonlySchemaCollection {
2974
+ data;
2975
+ constructor(data) {
2976
+ this.data = new Map(data);
2977
+ }
2974
2978
  get(schemaId) {
2975
- return super.get(schemaId);
2979
+ return this.data.get(schemaId);
2980
+ }
2981
+ has(schemaId) {
2982
+ return this.data.has(schemaId);
2983
+ }
2984
+ get size() {
2985
+ return this.data.size;
2986
+ }
2987
+ keys() {
2988
+ return this.data.keys();
2989
+ }
2990
+ values() {
2991
+ return this.data.values();
2992
+ }
2993
+ entries() {
2994
+ return this.data.entries();
2995
+ }
2996
+ forEach(callbackfn, thisArg) {
2997
+ this.data.forEach(callbackfn, thisArg);
2998
+ }
2999
+ [Symbol.iterator]() {
3000
+ return this.data[Symbol.iterator]();
2976
3001
  }
2977
3002
  getByName(collectionName) {
2978
- const found = [...this].find(x => x[1].collectionName === collectionName);
3003
+ const found = [...this.data].find(x => x[1].collectionName === collectionName);
2979
3004
  if (found != null) {
2980
3005
  return found[1];
2981
3006
  }
@@ -2984,6 +3009,35 @@ class SchemaCollection extends Map {
2984
3009
  }
2985
3010
 
2986
3011
 
3012
+ }),
3013
+ "./src/collections/SchemaCollection.ts":
3014
+ /*!*********************************************!*\
3015
+ !*** ./src/collections/SchemaCollection.ts ***!
3016
+ \*********************************************/
3017
+ (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3018
+ __webpack_require__.r(__webpack_exports__);
3019
+ __webpack_require__.d(__webpack_exports__, {
3020
+ SchemaCollection: () => (SchemaCollection)
3021
+ });
3022
+ /* ESM import */var _ReadonlySchemaCollection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ReadonlySchemaCollection */ "./src/collections/ReadonlySchemaCollection.ts");
3023
+
3024
+ /**
3025
+ * Collection of schemas with generic typing for type-safe schema retrieval
3026
+ */
3027
+ class SchemaCollection extends _ReadonlySchemaCollection__WEBPACK_IMPORTED_MODULE_0__.ReadonlySchemaCollection {
3028
+ set(schemaId, schema) {
3029
+ this.data.set(schemaId, schema);
3030
+ return this;
3031
+ }
3032
+ delete(schemaId) {
3033
+ return this.data.delete(schemaId);
3034
+ }
3035
+ clear() {
3036
+ this.data.clear();
3037
+ }
3038
+ }
3039
+
3040
+
2987
3041
  }),
2988
3042
  "./src/collections/TagCollection.ts":
2989
3043
  /*!******************************************!*\
@@ -3056,6 +3110,7 @@ __webpack_require__.d(__webpack_exports__, {
3056
3110
  BulkPersistResult: () => (/* reexport safe */ _Changes__WEBPACK_IMPORTED_MODULE_0__.BulkPersistResult),
3057
3111
  IdSet: () => (/* reexport safe */ _IdSet__WEBPACK_IMPORTED_MODULE_2__.IdSet),
3058
3112
  MemoryDataCollection: () => (/* reexport safe */ _MemoryDataCollection__WEBPACK_IMPORTED_MODULE_3__.MemoryDataCollection),
3113
+ ReadonlySchemaCollection: () => (/* reexport safe */ _ReadonlySchemaCollection__WEBPACK_IMPORTED_MODULE_5__.ReadonlySchemaCollection),
3059
3114
  SchemaCollection: () => (/* reexport safe */ _SchemaCollection__WEBPACK_IMPORTED_MODULE_4__.SchemaCollection),
3060
3115
  SchemaPersistChanges: () => (/* reexport safe */ _Changes__WEBPACK_IMPORTED_MODULE_0__.SchemaPersistChanges),
3061
3116
  SchemaPersistResult: () => (/* reexport safe */ _Changes__WEBPACK_IMPORTED_MODULE_0__.SchemaPersistResult),
@@ -3066,6 +3121,8 @@ __webpack_require__.d(__webpack_exports__, {
3066
3121
  /* ESM import */var _IdSet__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./IdSet */ "./src/collections/IdSet.ts");
3067
3122
  /* ESM import */var _MemoryDataCollection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MemoryDataCollection */ "./src/collections/MemoryDataCollection.ts");
3068
3123
  /* ESM import */var _SchemaCollection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SchemaCollection */ "./src/collections/SchemaCollection.ts");
3124
+ /* ESM import */var _ReadonlySchemaCollection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ReadonlySchemaCollection */ "./src/collections/ReadonlySchemaCollection.ts");
3125
+
3069
3126
 
3070
3127
 
3071
3128
 
@@ -5158,6 +5215,7 @@ class OptimisticReplicationDbPlugin {
5158
5215
  sourcePlugin.query({
5159
5216
  id: (0,_utilities__WEBPACK_IMPORTED_MODULE_0__.uuid)(8),
5160
5217
  schemas: event.schemas,
5218
+ source: "collection",
5161
5219
  // Select All Data
5162
5220
  operation: _query__WEBPACK_IMPORTED_MODULE_1__.Query.EMPTY(event.operation.schema)
5163
5221
  }, (sourceResult) => {
@@ -5180,7 +5238,8 @@ class OptimisticReplicationDbPlugin {
5180
5238
  readPlugin.bulkPersist({
5181
5239
  id: (0,_utilities__WEBPACK_IMPORTED_MODULE_0__.uuid)(8),
5182
5240
  schemas: event.schemas,
5183
- operation: changesCollection
5241
+ operation: changesCollection,
5242
+ source: "collection",
5184
5243
  }, (readPersistResult) => {
5185
5244
  if (readPersistResult.ok === _results__WEBPACK_IMPORTED_MODULE_2__.Result.ERROR) {
5186
5245
  done(readPersistResult);
@@ -5234,7 +5293,8 @@ class OptimisticReplicationDbPlugin {
5234
5293
  this.plugins.read.bulkPersist({
5235
5294
  id: (0,_utilities__WEBPACK_IMPORTED_MODULE_0__.uuid)(8),
5236
5295
  operation: event.operation,
5237
- schemas: event.schemas
5296
+ schemas: event.schemas,
5297
+ source: "data-store",
5238
5298
  }, (r) => {
5239
5299
  if (r.ok !== _results__WEBPACK_IMPORTED_MODULE_2__.Result.SUCCESS) {
5240
5300
  done(r);
@@ -5253,7 +5313,8 @@ class OptimisticReplicationDbPlugin {
5253
5313
  plugin.bulkPersist({
5254
5314
  id: (0,_utilities__WEBPACK_IMPORTED_MODULE_0__.uuid)(8),
5255
5315
  operation: optimisticBulkPersistChanges,
5256
- schemas: event.schemas
5316
+ schemas: event.schemas,
5317
+ source: "data-store",
5257
5318
  }, (r) => {
5258
5319
  if (r.ok === _results__WEBPACK_IMPORTED_MODULE_2__.Result.ERROR) {
5259
5320
  d(r);
@@ -6147,28 +6208,28 @@ __webpack_require__.r(__webpack_exports__);
6147
6208
  __webpack_require__.d(__webpack_exports__, {
6148
6209
  SchemaDefinition: () => (SchemaDefinition)
6149
6210
  });
6150
- /* ESM import */var _table_SchemaFunction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./table/SchemaFunction */ "./src/schema/table/SchemaFunction.ts");
6151
- /* ESM import */var _table_SchemaComputed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./table/SchemaComputed */ "./src/schema/table/SchemaComputed.ts");
6152
- /* ESM import */var _property_base_SchemaBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./property/base/SchemaBase */ "./src/schema/property/base/SchemaBase.ts");
6153
- /* ESM import */var _PropertyInfo__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PropertyInfo */ "./src/schema/PropertyInfo.ts");
6154
- /* ESM import */var _codegen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../codegen */ "./src/codegen/blocks.ts");
6155
- /* ESM import */var _codegen_handlers_EnrichmentHandlerBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../codegen/handlers/EnrichmentHandlerBuilder */ "./src/codegen/handlers/EnrichmentHandlerBuilder.ts");
6156
- /* ESM import */var _codegen_handlers_MergeHandlerBuilder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../codegen/handlers/MergeHandlerBuilder */ "./src/codegen/handlers/MergeHandlerBuilder.ts");
6157
- /* ESM import */var _codegen_handlers_PrepareHandlerBuilder__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../codegen/handlers/PrepareHandlerBuilder */ "./src/codegen/handlers/PrepareHandlerBuilder.ts");
6158
- /* ESM import */var _codegen_handlers_StripHandlerBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../codegen/handlers/StripHandlerBuilder */ "./src/codegen/handlers/StripHandlerBuilder.ts");
6159
- /* ESM import */var _codegen_handlers_CloneHandlerBuilder__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../codegen/handlers/CloneHandlerBuilder */ "./src/codegen/handlers/CloneHandlerBuilder.ts");
6160
- /* ESM import */var _codegen_handlers_CompareHandlerBuilder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../codegen/handlers/CompareHandlerBuilder */ "./src/codegen/handlers/CompareHandlerBuilder.ts");
6161
- /* ESM import */var _codegen_handlers_DeserializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../codegen/handlers/DeserializeHandlerBuilder */ "./src/codegen/handlers/DeserializeHandlerBuilder.ts");
6162
- /* ESM import */var _codegen_handlers_HashTypeHandlerBuilder__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../codegen/handlers/HashTypeHandlerBuilder */ "./src/codegen/handlers/HashTypeHandlerBuilder.ts");
6163
- /* ESM import */var _codegen_handlers_IdSelectorHandlerBuilder__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../codegen/handlers/IdSelectorHandlerBuilder */ "./src/codegen/handlers/IdSelectorHandlerBuilder.ts");
6164
- /* ESM import */var _codegen_handlers_HashHandlerBuilder__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../codegen/handlers/HashHandlerBuilder */ "./src/codegen/handlers/HashHandlerBuilder.ts");
6165
- /* ESM import */var _codegen_handlers_EnableChangeTrackingHandlerBuilder__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../codegen/handlers/EnableChangeTrackingHandlerBuilder */ "./src/codegen/handlers/EnableChangeTrackingHandlerBuilder.ts");
6166
- /* ESM import */var _codegen_handlers_FreezeHandlerBuilder__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../codegen/handlers/FreezeHandlerBuilder */ "./src/codegen/handlers/FreezeHandlerBuilder.ts");
6211
+ /* ESM import */var _table_SchemaFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./table/SchemaFunction */ "./src/schema/table/SchemaFunction.ts");
6212
+ /* ESM import */var _table_SchemaComputed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./table/SchemaComputed */ "./src/schema/table/SchemaComputed.ts");
6213
+ /* ESM import */var _property_base_SchemaBase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./property/base/SchemaBase */ "./src/schema/property/base/SchemaBase.ts");
6214
+ /* ESM import */var _PropertyInfo__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PropertyInfo */ "./src/schema/PropertyInfo.ts");
6215
+ /* ESM import */var _codegen__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../codegen */ "./src/codegen/blocks.ts");
6216
+ /* ESM import */var _codegen_handlers_EnrichmentHandlerBuilder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../codegen/handlers/EnrichmentHandlerBuilder */ "./src/codegen/handlers/EnrichmentHandlerBuilder.ts");
6217
+ /* ESM import */var _codegen_handlers_MergeHandlerBuilder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../codegen/handlers/MergeHandlerBuilder */ "./src/codegen/handlers/MergeHandlerBuilder.ts");
6218
+ /* ESM import */var _codegen_handlers_PrepareHandlerBuilder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../codegen/handlers/PrepareHandlerBuilder */ "./src/codegen/handlers/PrepareHandlerBuilder.ts");
6219
+ /* ESM import */var _codegen_handlers_StripHandlerBuilder__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../codegen/handlers/StripHandlerBuilder */ "./src/codegen/handlers/StripHandlerBuilder.ts");
6220
+ /* ESM import */var _codegen_handlers_CloneHandlerBuilder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../codegen/handlers/CloneHandlerBuilder */ "./src/codegen/handlers/CloneHandlerBuilder.ts");
6221
+ /* ESM import */var _codegen_handlers_CompareHandlerBuilder__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../codegen/handlers/CompareHandlerBuilder */ "./src/codegen/handlers/CompareHandlerBuilder.ts");
6222
+ /* ESM import */var _codegen_handlers_DeserializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../codegen/handlers/DeserializeHandlerBuilder */ "./src/codegen/handlers/DeserializeHandlerBuilder.ts");
6223
+ /* ESM import */var _codegen_handlers_HashTypeHandlerBuilder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../codegen/handlers/HashTypeHandlerBuilder */ "./src/codegen/handlers/HashTypeHandlerBuilder.ts");
6224
+ /* ESM import */var _codegen_handlers_IdSelectorHandlerBuilder__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../codegen/handlers/IdSelectorHandlerBuilder */ "./src/codegen/handlers/IdSelectorHandlerBuilder.ts");
6225
+ /* ESM import */var _codegen_handlers_HashHandlerBuilder__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../codegen/handlers/HashHandlerBuilder */ "./src/codegen/handlers/HashHandlerBuilder.ts");
6226
+ /* ESM import */var _codegen_handlers_EnableChangeTrackingHandlerBuilder__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../codegen/handlers/EnableChangeTrackingHandlerBuilder */ "./src/codegen/handlers/EnableChangeTrackingHandlerBuilder.ts");
6227
+ /* ESM import */var _codegen_handlers_FreezeHandlerBuilder__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../codegen/handlers/FreezeHandlerBuilder */ "./src/codegen/handlers/FreezeHandlerBuilder.ts");
6167
6228
  /* ESM import */var _errors_SchemaError__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../errors/SchemaError */ "./src/errors/SchemaError.ts");
6168
- /* ESM import */var _codegen_handlers_SerializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../codegen/handlers/SerializeHandlerBuilder */ "./src/codegen/handlers/SerializeHandlerBuilder.ts");
6169
- /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utilities */ "./src/utilities/uuid.ts");
6170
- /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utilities */ "./src/utilities/strings.ts");
6171
- /* ESM import */var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ "./src/schema/types.ts");
6229
+ /* ESM import */var _codegen_handlers_SerializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../codegen/handlers/SerializeHandlerBuilder */ "./src/codegen/handlers/SerializeHandlerBuilder.ts");
6230
+ /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utilities */ "./src/utilities/strings.ts");
6231
+ /* ESM import */var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "./src/schema/types.ts");
6232
+ /* ESM import */var _communication_broadcast__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./communication/broadcast */ "./src/schema/communication/broadcast.ts");
6172
6233
 
6173
6234
 
6174
6235
 
@@ -6190,54 +6251,10 @@ __webpack_require__.d(__webpack_exports__, {
6190
6251
 
6191
6252
 
6192
6253
 
6193
- // This is intented to run the "OnMessage" event whenever we "send". For context
6194
- // when we make a change, we query to see if we have any changes. We need to run a fetch because we could have
6195
- // many db sets
6196
- class CollectionSubscription {
6197
- _channel;
6198
- _id = (0,_utilities__WEBPACK_IMPORTED_MODULE_0__.uuid)();
6199
- _callback = null;
6200
- constructor(id, signal) {
6201
- // The id is the computed id from the collection. We need a static id so we can communicate across different
6202
- // instances of a data store
6203
- this._channel = new BroadcastChannel(`__routier-unidirectional-subscription-channel-${id}`);
6204
- this._channel.onmessage = (event) => {
6205
- const message = event.data;
6206
- if (message.id === this._id) {
6207
- return;
6208
- }
6209
- if (this._callback != null) {
6210
- this._callback(message.changes);
6211
- }
6212
- };
6213
- if (signal) {
6214
- signal.addEventListener("abort", () => {
6215
- this[Symbol.dispose]();
6216
- }, { once: true });
6217
- }
6218
- }
6219
- send(changes) {
6220
- const message = {
6221
- id: this._id,
6222
- changes
6223
- };
6224
- this._channel.postMessage(message);
6225
- }
6226
- onMessage(callback) {
6227
- this._callback = callback;
6228
- }
6229
- dispose() {
6230
- this[Symbol.dispose]();
6231
- }
6232
- [Symbol.dispose]() {
6233
- this._channel.onmessage = null;
6234
- this._channel.close();
6235
- this._channel = null;
6236
- }
6237
- }
6238
- class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODULE_1__.SchemaBase {
6254
+
6255
+ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODULE_0__.SchemaBase {
6239
6256
  instance;
6240
- type = _types__WEBPACK_IMPORTED_MODULE_2__.SchemaTypes.Definition;
6257
+ type = _types__WEBPACK_IMPORTED_MODULE_1__.SchemaTypes.Definition;
6241
6258
  collectionName;
6242
6259
  constructor(collectionName, schema) {
6243
6260
  super();
@@ -6248,8 +6265,8 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6248
6265
  }
6249
6266
  modify(builder) {
6250
6267
  const b = {
6251
- function: (fn, injected) => new _table_SchemaFunction__WEBPACK_IMPORTED_MODULE_3__.SchemaFunction(fn, injected),
6252
- computed: (fn, injected) => new _table_SchemaComputed__WEBPACK_IMPORTED_MODULE_4__.SchemaComputed(fn, injected)
6268
+ function: (fn, injected) => new _table_SchemaFunction__WEBPACK_IMPORTED_MODULE_2__.SchemaFunction(fn, injected),
6269
+ computed: (fn, injected) => new _table_SchemaComputed__WEBPACK_IMPORTED_MODULE_3__.SchemaComputed(fn, injected)
6253
6270
  };
6254
6271
  const r = builder(b);
6255
6272
  return new SchemaDefinition(this.collectionName, { ...this.instance, ...r });
@@ -6261,7 +6278,7 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6261
6278
  const properties = [];
6262
6279
  for (let i = 0; i < explore.length; i++) {
6263
6280
  const item = explore[i];
6264
- if (item.instance.type === _types__WEBPACK_IMPORTED_MODULE_2__.SchemaTypes.Definition) {
6281
+ if (item.instance.type === _types__WEBPACK_IMPORTED_MODULE_1__.SchemaTypes.Definition) {
6265
6282
  explore.push({
6266
6283
  path: null,
6267
6284
  instance: item.instance.instance,
@@ -6276,8 +6293,8 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6276
6293
  const previousParent = item.parents.length === 0
6277
6294
  ? null
6278
6295
  : item.parents[item.parents.length - 1].propertyInfo;
6279
- if (propertyInstance.type === _types__WEBPACK_IMPORTED_MODULE_2__.SchemaTypes.Object) {
6280
- const propertyInfo = new _PropertyInfo__WEBPACK_IMPORTED_MODULE_5__.PropertyInfo(propertyInstance, key, previousParent);
6296
+ if (propertyInstance.type === _types__WEBPACK_IMPORTED_MODULE_1__.SchemaTypes.Object) {
6297
+ const propertyInfo = new _PropertyInfo__WEBPACK_IMPORTED_MODULE_4__.PropertyInfo(propertyInstance, key, previousParent);
6281
6298
  explore.push({
6282
6299
  path: [item.path, key].filter((w) => w != null).join("."),
6283
6300
  instance: propertyInstance.instance,
@@ -6294,7 +6311,7 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6294
6311
  previousParent.children.push(propertyInfo);
6295
6312
  continue;
6296
6313
  }
6297
- const childPrimitivePropertyInfo = new _PropertyInfo__WEBPACK_IMPORTED_MODULE_5__.PropertyInfo(item.instance[key], key, previousParent);
6314
+ const childPrimitivePropertyInfo = new _PropertyInfo__WEBPACK_IMPORTED_MODULE_4__.PropertyInfo(item.instance[key], key, previousParent);
6298
6315
  if (previousParent === null) {
6299
6316
  properties.push(childPrimitivePropertyInfo);
6300
6317
  continue;
@@ -6384,19 +6401,19 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6384
6401
  const schema = this;
6385
6402
  const properties = [];
6386
6403
  const propertyMap = new Map();
6387
- const enrichmentHandlerBuilder = new _codegen_handlers_EnrichmentHandlerBuilder__WEBPACK_IMPORTED_MODULE_6__.EnrichmentHandlerBuilder();
6388
- const mergeHandlerFactory = new _codegen_handlers_MergeHandlerBuilder__WEBPACK_IMPORTED_MODULE_7__.MergeHandlerBuilder();
6389
- const prepareHandlerBuilder = new _codegen_handlers_PrepareHandlerBuilder__WEBPACK_IMPORTED_MODULE_8__.PrepareHandlerBuilder();
6390
- const stripHandlerBuilder = new _codegen_handlers_StripHandlerBuilder__WEBPACK_IMPORTED_MODULE_9__.StripHandlerBuilder();
6391
- const cloneHandlerBuilder = new _codegen_handlers_CloneHandlerBuilder__WEBPACK_IMPORTED_MODULE_10__.CloneHandlerBuilder();
6392
- const compareHandlerBuilder = new _codegen_handlers_CompareHandlerBuilder__WEBPACK_IMPORTED_MODULE_11__.CompareHandlerBuilder();
6393
- const deserializeHandlerBuilder = new _codegen_handlers_DeserializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_12__.DeserializeHandlerBuilder();
6394
- const hashTypeHandlerBuilder = new _codegen_handlers_HashTypeHandlerBuilder__WEBPACK_IMPORTED_MODULE_13__.HashTypeHandlerBuilder();
6395
- const idSelectorHandlerBuilder = new _codegen_handlers_IdSelectorHandlerBuilder__WEBPACK_IMPORTED_MODULE_14__.IdSelectorHandlerBuilder();
6396
- const hashHandlerBuilder = new _codegen_handlers_HashHandlerBuilder__WEBPACK_IMPORTED_MODULE_15__.HashHandlerBuilder();
6397
- const enableChangeTrackingHandlerBuilder = new _codegen_handlers_EnableChangeTrackingHandlerBuilder__WEBPACK_IMPORTED_MODULE_16__.EnableChangeTrackingHandlerBuilder();
6398
- const freezeHandlerBuilder = new _codegen_handlers_FreezeHandlerBuilder__WEBPACK_IMPORTED_MODULE_17__.FreezeHandlerBuilder();
6399
- const serializeHandlerBuilder = new _codegen_handlers_SerializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_18__.SerializeHandlerBuilder();
6404
+ const enrichmentHandlerBuilder = new _codegen_handlers_EnrichmentHandlerBuilder__WEBPACK_IMPORTED_MODULE_5__.EnrichmentHandlerBuilder();
6405
+ const mergeHandlerFactory = new _codegen_handlers_MergeHandlerBuilder__WEBPACK_IMPORTED_MODULE_6__.MergeHandlerBuilder();
6406
+ const prepareHandlerBuilder = new _codegen_handlers_PrepareHandlerBuilder__WEBPACK_IMPORTED_MODULE_7__.PrepareHandlerBuilder();
6407
+ const stripHandlerBuilder = new _codegen_handlers_StripHandlerBuilder__WEBPACK_IMPORTED_MODULE_8__.StripHandlerBuilder();
6408
+ const cloneHandlerBuilder = new _codegen_handlers_CloneHandlerBuilder__WEBPACK_IMPORTED_MODULE_9__.CloneHandlerBuilder();
6409
+ const compareHandlerBuilder = new _codegen_handlers_CompareHandlerBuilder__WEBPACK_IMPORTED_MODULE_10__.CompareHandlerBuilder();
6410
+ const deserializeHandlerBuilder = new _codegen_handlers_DeserializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_11__.DeserializeHandlerBuilder();
6411
+ const hashTypeHandlerBuilder = new _codegen_handlers_HashTypeHandlerBuilder__WEBPACK_IMPORTED_MODULE_12__.HashTypeHandlerBuilder();
6412
+ const idSelectorHandlerBuilder = new _codegen_handlers_IdSelectorHandlerBuilder__WEBPACK_IMPORTED_MODULE_13__.IdSelectorHandlerBuilder();
6413
+ const hashHandlerBuilder = new _codegen_handlers_HashHandlerBuilder__WEBPACK_IMPORTED_MODULE_14__.HashHandlerBuilder();
6414
+ const enableChangeTrackingHandlerBuilder = new _codegen_handlers_EnableChangeTrackingHandlerBuilder__WEBPACK_IMPORTED_MODULE_15__.EnableChangeTrackingHandlerBuilder();
6415
+ const freezeHandlerBuilder = new _codegen_handlers_FreezeHandlerBuilder__WEBPACK_IMPORTED_MODULE_16__.FreezeHandlerBuilder();
6416
+ const serializeHandlerBuilder = new _codegen_handlers_SerializeHandlerBuilder__WEBPACK_IMPORTED_MODULE_17__.SerializeHandlerBuilder();
6400
6417
  const enricher = enrichmentHandlerBuilder.build();
6401
6418
  const merge = mergeHandlerFactory.build();
6402
6419
  const prepare = prepareHandlerBuilder.build();
@@ -6410,15 +6427,15 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6410
6427
  const enableChangeTrackingHandler = enableChangeTrackingHandlerBuilder.build();
6411
6428
  const freezeHandler = freezeHandlerBuilder.build();
6412
6429
  const serializeHandler = serializeHandlerBuilder.build();
6413
- const changeTrackingCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6430
+ const changeTrackingCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6414
6431
  changeTrackingCodeBuilder.raw(`function ${this.createChangeTracker.toString()}`);
6415
6432
  changeTrackingCodeBuilder.slot("declarations").variable("enableChangeTracking").value('createChangeTracker()');
6416
6433
  changeTrackingCodeBuilder.slot("assignment");
6417
6434
  changeTrackingCodeBuilder.slot("return").raw('\treturn enableChangeTracking(entity);');
6418
- const freezeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6435
+ const freezeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6419
6436
  freezeCodeBuilder.slot("assignment");
6420
6437
  freezeCodeBuilder.slot("return").raw('\treturn Object.freeze(entity);');
6421
- const enricherCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6438
+ const enricherCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6422
6439
  const enricherFunctionRoot = enricherCodeBuilder.factory("factory", { name: "factory" }).parameters({ name: "collectionName", value: this.collectionName });
6423
6440
  const enricherFunctionBody = enricherFunctionRoot.function(undefined, { name: "function" }).parameters("entity", "changeTrackingType").return();
6424
6441
  enricherFunctionBody.raw(`function ${this.createChangeTracker.toString()}`);
@@ -6429,7 +6446,7 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6429
6446
  enricherFunctionBody.slot("ifs");
6430
6447
  enricherFunctionBody.slot("tracking").if('changeTrackingType === "immutable"', { name: "freeze" });
6431
6448
  enricherFunctionBody.raw('\treturn enableChangeTracking(enriched);');
6432
- const mergeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6449
+ const mergeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6433
6450
  const mergeFunctionRoot = mergeCodeBuilder.factory("factory", { name: "factory" }).parameters({ name: "collectionName", value: this.collectionName });
6434
6451
  const mergeFunctionBody = mergeFunctionRoot.function(undefined, { name: "function" }).parameters("destination", "source").return();
6435
6452
  const pauseFunctionBody = mergeFunctionBody.function("pause")
@@ -6448,34 +6465,34 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6448
6465
  unpause();
6449
6466
 
6450
6467
  return destination;`);
6451
- const prepareCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6468
+ const prepareCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6452
6469
  prepareCodeBuilder.slot("result");
6453
6470
  prepareCodeBuilder.slot("assignments");
6454
6471
  prepareCodeBuilder.slot("return").raw(` return result;`);
6455
- const stripCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6472
+ const stripCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6456
6473
  stripCodeBuilder.slot("result");
6457
6474
  stripCodeBuilder.slot("return").raw(` return result;`);
6458
- const cloneCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6475
+ const cloneCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6459
6476
  cloneCodeBuilder.slot("result");
6460
6477
  cloneCodeBuilder.slot("return").raw(` return result;`);
6461
- const compareCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6478
+ const compareCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6462
6479
  compareCodeBuilder.slot("result");
6463
6480
  compareCodeBuilder.slot("return").raw(` return result;`);
6464
- const deserializeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6481
+ const deserializeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6465
6482
  deserializeCodeBuilder.slot("result");
6466
6483
  deserializeCodeBuilder.slot("if");
6467
6484
  deserializeCodeBuilder.slot("return").raw(` return result;`);
6468
- const serializeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6485
+ const serializeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6469
6486
  serializeCodeBuilder.slot("result");
6470
6487
  serializeCodeBuilder.slot("if");
6471
6488
  serializeCodeBuilder.slot("return").raw(` return result;`);
6472
- const idSelectorCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6489
+ const idSelectorCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6473
6490
  idSelectorCodeBuilder.slot("result");
6474
6491
  idSelectorCodeBuilder.slot("return").raw(` return result;`);
6475
- const hashTypeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6492
+ const hashTypeCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6476
6493
  hashTypeCodeBuilder.slot("ifs");
6477
6494
  hashTypeCodeBuilder.slot("return").raw(` return "Ids";`);
6478
- const hashCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_19__.CodeBuilder();
6495
+ const hashCodeBuilder = new _codegen__WEBPACK_IMPORTED_MODULE_18__.CodeBuilder();
6479
6496
  hashCodeBuilder.slot("functions").raw(`
6480
6497
  function stringifyDate(d) {
6481
6498
 
@@ -6501,7 +6518,7 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6501
6518
  hashCodeBuilder.raw(` return result;`);
6502
6519
  const idProperties = [];
6503
6520
  const allPropertyNamesAndPaths = [];
6504
- let hashType = _types__WEBPACK_IMPORTED_MODULE_2__.HashType.Ids;
6521
+ let hashType = _types__WEBPACK_IMPORTED_MODULE_1__.HashType.Ids;
6505
6522
  let hasIdentities = false;
6506
6523
  let hasIdentityKeys = false;
6507
6524
  this._iterate(schema, (property) => {
@@ -6557,12 +6574,12 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6557
6574
  const idPropertyNames = idProperties.map(w => w.name);
6558
6575
  const getId = (entity) => {
6559
6576
  if (idPropertyNames.length > 1) {
6560
- return hashFunction(entity, _types__WEBPACK_IMPORTED_MODULE_2__.HashType.Ids);
6577
+ return hashFunction(entity, _types__WEBPACK_IMPORTED_MODULE_1__.HashType.Ids);
6561
6578
  }
6562
6579
  return getIdsFunction(entity)[0];
6563
6580
  };
6564
6581
  const getProperty = (id) => propertyMap.get(id);
6565
- const id = (0,_utilities__WEBPACK_IMPORTED_MODULE_20__.hash)([...allPropertyNamesAndPaths, this.collectionName].join(","));
6582
+ const id = (0,_utilities__WEBPACK_IMPORTED_MODULE_19__.hash)([...allPropertyNamesAndPaths, this.collectionName].join(","));
6566
6583
  const paths = new Set(properties.map(x => x.getAssignmentPath()));
6567
6584
  // memoize this by the validProperties
6568
6585
  // TODO: See if we can generate a function to do this and eliminate loops
@@ -6579,7 +6596,7 @@ class SchemaDefinition extends _property_base_SchemaBase__WEBPACK_IMPORTED_MODUL
6579
6596
  return item;
6580
6597
  };
6581
6598
  return {
6582
- createSubscription: (signal) => new CollectionSubscription(id, signal),
6599
+ createSubscription: (signal) => new _communication_broadcast__WEBPACK_IMPORTED_MODULE_20__.SchemaSubscription(id, signal),
6583
6600
  getId,
6584
6601
  getProperty,
6585
6602
  properties,
@@ -6698,6 +6715,124 @@ const s = {
6698
6715
  };
6699
6716
 
6700
6717
 
6718
+ }),
6719
+ "./src/schema/communication/broadcast.ts":
6720
+ /*!***********************************************!*\
6721
+ !*** ./src/schema/communication/broadcast.ts ***!
6722
+ \***********************************************/
6723
+ (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6724
+ __webpack_require__.r(__webpack_exports__);
6725
+ __webpack_require__.d(__webpack_exports__, {
6726
+ SchemaSubscription: () => (SchemaSubscription)
6727
+ });
6728
+ /* ESM import */var _performance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../performance */ "./src/performance/index.ts");
6729
+ /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utilities */ "./src/utilities/uuid.ts");
6730
+
6731
+
6732
+ const registry = {};
6733
+ const getChannelRegistry = (schemaId) => {
6734
+ if (registry[schemaId]) {
6735
+ return registry[schemaId];
6736
+ }
6737
+ const channel = new SchemaChannel(schemaId);
6738
+ registry[schemaId] = channel;
6739
+ return channel;
6740
+ };
6741
+ // Must have a sender and receiver. Sender cannot listen for it's own message
6742
+ class SchemaChannel {
6743
+ sender;
6744
+ receiver;
6745
+ constructor(schemaId) {
6746
+ this.sender = new SchemaChannelSender(schemaId);
6747
+ this.receiver = new SchemaChannelReceiver(schemaId);
6748
+ }
6749
+ }
6750
+ class SchemaChannelSender {
6751
+ broadcastChannel;
6752
+ constructor(schemaId) {
6753
+ this.broadcastChannel = new BroadcastChannel(`__routier-schema-subscription-channel:${schemaId}`);
6754
+ }
6755
+ send(changes) {
6756
+ this.broadcastChannel.postMessage(changes);
6757
+ }
6758
+ }
6759
+ class SchemaChannelReceiver {
6760
+ broadcastChannel;
6761
+ subscriptions = [];
6762
+ constructor(schemaId) {
6763
+ this.broadcastChannel = new BroadcastChannel(`__routier-schema-subscription-channel:${schemaId}`);
6764
+ this.broadcastChannel.onmessage = (e) => {
6765
+ // We can't send to the same instance it is not possbile
6766
+ const stampedChanges = e.data;
6767
+ for (let i = 0, length = this.subscriptions.length; i < length; i++) {
6768
+ const subscription = this.subscriptions[i];
6769
+ subscription.action(stampedChanges);
6770
+ }
6771
+ };
6772
+ }
6773
+ addListener(id, listener) {
6774
+ this.subscriptions.push(new SubscriptionListener(id, listener));
6775
+ }
6776
+ removeListeners(id) {
6777
+ this.subscriptions = this.subscriptions.filter(w => w.id !== id);
6778
+ }
6779
+ }
6780
+ class SubscriptionListener {
6781
+ id;
6782
+ listener;
6783
+ constructor(id, listener) {
6784
+ this.id = id;
6785
+ this.listener = listener;
6786
+ }
6787
+ action(changes) {
6788
+ this.listener(changes);
6789
+ }
6790
+ }
6791
+ class SchemaSubscription {
6792
+ id;
6793
+ schemaId;
6794
+ createdAt;
6795
+ constructor(schemaId, signal) {
6796
+ this.createdAt = (0,_performance__WEBPACK_IMPORTED_MODULE_0__.now)();
6797
+ this.id = (0,_utilities__WEBPACK_IMPORTED_MODULE_1__.uuid)(8);
6798
+ this.schemaId = schemaId;
6799
+ signal?.addEventListener("abort", () => {
6800
+ this.dispose();
6801
+ }, { once: true });
6802
+ }
6803
+ send(changes) {
6804
+ const regisry = getChannelRegistry(this.schemaId);
6805
+ // Send message to all listeners.
6806
+ // Since we create a new listener when we do onMessage,
6807
+ // we don't need to worry about sending to ourselves, it
6808
+ // can't happen
6809
+ regisry.sender.send({
6810
+ data: changes,
6811
+ timestamp: (0,_performance__WEBPACK_IMPORTED_MODULE_0__.now)()
6812
+ });
6813
+ }
6814
+ onMessage(callback) {
6815
+ const regisry = getChannelRegistry(this.schemaId);
6816
+ // Link the callback to an instance
6817
+ regisry.receiver.addListener(this.id, ({ data, timestamp }) => {
6818
+ if (timestamp < this.createdAt) {
6819
+ // Sent before the receiver was even created
6820
+ return;
6821
+ }
6822
+ callback(data);
6823
+ });
6824
+ }
6825
+ dispose() {
6826
+ this[Symbol.dispose]();
6827
+ }
6828
+ [Symbol.dispose]() {
6829
+ const regisry = getChannelRegistry(this.schemaId);
6830
+ // Remove listeners for this instance only
6831
+ regisry.receiver.removeListeners(this.id);
6832
+ }
6833
+ }
6834
+
6835
+
6701
6836
  }),
6702
6837
  "./src/schema/index.ts":
6703
6838
  /*!*****************************!*\
@@ -7931,6 +8066,19 @@ const toEventArray = (event) => {
7931
8066
  };
7932
8067
 
7933
8068
 
8069
+ }),
8070
+ "./src/utilities/functions.ts":
8071
+ /*!************************************!*\
8072
+ !*** ./src/utilities/functions.ts ***!
8073
+ \************************************/
8074
+ (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8075
+ __webpack_require__.r(__webpack_exports__);
8076
+ __webpack_require__.d(__webpack_exports__, {
8077
+ noop: () => (noop)
8078
+ });
8079
+ const noop = (...args) => { };
8080
+
8081
+
7934
8082
  }),
7935
8083
  "./src/utilities/index.ts":
7936
8084
  /*!********************************!*\
@@ -7945,6 +8093,7 @@ __webpack_require__.d(__webpack_exports__, {
7945
8093
  hash: () => (/* reexport safe */ _strings__WEBPACK_IMPORTED_MODULE_1__.hash),
7946
8094
  isDate: () => (/* reexport safe */ _dates__WEBPACK_IMPORTED_MODULE_2__.isDate),
7947
8095
  isNodeRuntime: () => (/* reexport safe */ _runtime__WEBPACK_IMPORTED_MODULE_4__.isNodeRuntime),
8096
+ noop: () => (/* reexport safe */ _functions__WEBPACK_IMPORTED_MODULE_9__.noop),
7948
8097
  resolveBulkPersistChanges: () => (/* reexport safe */ _replication__WEBPACK_IMPORTED_MODULE_6__.resolveBulkPersistChanges),
7949
8098
  toEventArray: () => (/* reexport safe */ _dbPluginEventUtils__WEBPACK_IMPORTED_MODULE_8__.toEventArray),
7950
8099
  toMap: () => (/* reexport safe */ _arrays__WEBPACK_IMPORTED_MODULE_0__.toMap),
@@ -7960,6 +8109,8 @@ __webpack_require__.d(__webpack_exports__, {
7960
8109
  /* ESM import */var _replication__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./replication */ "./src/utilities/replication.ts");
7961
8110
  /* ESM import */var _queryOptionsCollection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./queryOptionsCollection */ "./src/utilities/queryOptionsCollection.ts");
7962
8111
  /* ESM import */var _dbPluginEventUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./dbPluginEventUtils */ "./src/utilities/dbPluginEventUtils.ts");
8112
+ /* ESM import */var _functions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./functions */ "./src/utilities/functions.ts");
8113
+
7963
8114
 
7964
8115
 
7965
8116
 
@@ -8244,6 +8395,7 @@ __webpack_require__.d(__webpack_exports__, {
8244
8395
  QueryOptionsCollection: () => (/* reexport safe */ _plugins__WEBPACK_IMPORTED_MODULE_7__.QueryOptionsCollection),
8245
8396
  QueryOrdering: () => (/* reexport safe */ _plugins__WEBPACK_IMPORTED_MODULE_7__.QueryOrdering),
8246
8397
  RawBuilder: () => (/* reexport safe */ _codegen__WEBPACK_IMPORTED_MODULE_1__.RawBuilder),
8398
+ ReadonlySchemaCollection: () => (/* reexport safe */ _collections__WEBPACK_IMPORTED_MODULE_2__.ReadonlySchemaCollection),
8247
8399
  ReplicationDbPlugin: () => (/* reexport safe */ _plugins__WEBPACK_IMPORTED_MODULE_7__.ReplicationDbPlugin),
8248
8400
  Result: () => (/* reexport safe */ _results__WEBPACK_IMPORTED_MODULE_8__.Result),
8249
8401
  SchemaArray: () => (/* reexport safe */ _schema__WEBPACK_IMPORTED_MODULE_9__.SchemaArray),
@@ -8297,6 +8449,7 @@ __webpack_require__.d(__webpack_exports__, {
8297
8449
  isNodeRuntime: () => (/* reexport safe */ _utilities__WEBPACK_IMPORTED_MODULE_10__.isNodeRuntime),
8298
8450
  isPropertyExpression: () => (/* reexport safe */ _expressions__WEBPACK_IMPORTED_MODULE_4__.isPropertyExpression),
8299
8451
  measure: () => (/* reexport safe */ _performance__WEBPACK_IMPORTED_MODULE_5__.measure),
8452
+ noop: () => (/* reexport safe */ _utilities__WEBPACK_IMPORTED_MODULE_10__.noop),
8300
8453
  now: () => (/* reexport safe */ _performance__WEBPACK_IMPORTED_MODULE_5__.now),
8301
8454
  resolveBulkPersistChanges: () => (/* reexport safe */ _utilities__WEBPACK_IMPORTED_MODULE_10__.resolveBulkPersistChanges),
8302
8455
  s: () => (/* reexport safe */ _schema__WEBPACK_IMPORTED_MODULE_9__.s),
@@ -8367,6 +8520,7 @@ var __webpack_exports__Query = __webpack_exports__.Query;
8367
8520
  var __webpack_exports__QueryOptionsCollection = __webpack_exports__.QueryOptionsCollection;
8368
8521
  var __webpack_exports__QueryOrdering = __webpack_exports__.QueryOrdering;
8369
8522
  var __webpack_exports__RawBuilder = __webpack_exports__.RawBuilder;
8523
+ var __webpack_exports__ReadonlySchemaCollection = __webpack_exports__.ReadonlySchemaCollection;
8370
8524
  var __webpack_exports__ReplicationDbPlugin = __webpack_exports__.ReplicationDbPlugin;
8371
8525
  var __webpack_exports__Result = __webpack_exports__.Result;
8372
8526
  var __webpack_exports__SchemaArray = __webpack_exports__.SchemaArray;
@@ -8420,6 +8574,7 @@ var __webpack_exports__isDate = __webpack_exports__.isDate;
8420
8574
  var __webpack_exports__isNodeRuntime = __webpack_exports__.isNodeRuntime;
8421
8575
  var __webpack_exports__isPropertyExpression = __webpack_exports__.isPropertyExpression;
8422
8576
  var __webpack_exports__measure = __webpack_exports__.measure;
8577
+ var __webpack_exports__noop = __webpack_exports__.noop;
8423
8578
  var __webpack_exports__now = __webpack_exports__.now;
8424
8579
  var __webpack_exports__resolveBulkPersistChanges = __webpack_exports__.resolveBulkPersistChanges;
8425
8580
  var __webpack_exports__s = __webpack_exports__.s;
@@ -8429,6 +8584,6 @@ var __webpack_exports__toMap = __webpack_exports__.toMap;
8429
8584
  var __webpack_exports__toPromise = __webpack_exports__.toPromise;
8430
8585
  var __webpack_exports__uuid = __webpack_exports__.uuid;
8431
8586
  var __webpack_exports__uuidv4 = __webpack_exports__.uuidv4;
8432
- 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__CodeBuilder as CodeBuilder, __webpack_exports__ComparatorExpression as ComparatorExpression, __webpack_exports__ContainerBlock as ContainerBlock, __webpack_exports__DataTranslator as DataTranslator, __webpack_exports__DbPluginCapability as DbPluginCapability, __webpack_exports__DbPluginLoggingCapability as DbPluginLoggingCapability, __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__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__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__TrampolinePipeline as TrampolinePipeline, __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__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__now as now, __webpack_exports__resolveBulkPersistChanges as resolveBulkPersistChanges, __webpack_exports__s as s, __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 };
8587
+ 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__CodeBuilder as CodeBuilder, __webpack_exports__ComparatorExpression as ComparatorExpression, __webpack_exports__ContainerBlock as ContainerBlock, __webpack_exports__DataTranslator as DataTranslator, __webpack_exports__DbPluginCapability as DbPluginCapability, __webpack_exports__DbPluginLoggingCapability as DbPluginLoggingCapability, __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__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__TrampolinePipeline as TrampolinePipeline, __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__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__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 };
8433
8588
 
8434
8589
  //# sourceMappingURL=index.js.map