@routier/core 0.1.0-rc.2 → 0.2.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.
Files changed (91) hide show
  1. package/dist/assertions/index.d.ts +30 -0
  2. package/dist/assertions/index.js +92 -19
  3. package/dist/assertions/index.js.map +1 -1
  4. package/dist/capabilities/index.js +75 -105
  5. package/dist/capabilities/index.js.map +1 -1
  6. package/dist/codegen/blocks.test.d.ts +1 -0
  7. package/dist/codegen/handlers/SetHandlerBuilder.d.ts +4 -0
  8. package/dist/codegen/handlers/index.d.ts +1 -0
  9. package/dist/codegen/handlers/serialize/SerializeComputedHandler.d.ts +6 -0
  10. package/dist/codegen/handlers/set/SetComplexHandler.d.ts +6 -0
  11. package/dist/codegen/index.js +22 -36
  12. package/dist/codegen/index.js.map +1 -1
  13. package/dist/codegen/utils.test.d.ts +1 -0
  14. package/dist/collections/Changes.d.ts +2 -2
  15. package/dist/collections/IdSet.test.d.ts +1 -0
  16. package/dist/collections/TagCollection.contract.test.d.ts +1 -0
  17. package/dist/collections/TagCollection.d.ts +7 -7
  18. package/dist/collections/index.js +50 -93
  19. package/dist/collections/index.js.map +1 -1
  20. package/dist/errors/index.js +4 -15
  21. package/dist/errors/index.js.map +1 -1
  22. package/dist/expressions/constants.d.ts +2 -0
  23. package/dist/expressions/index.d.ts +2 -0
  24. package/dist/expressions/index.js +450 -114
  25. package/dist/expressions/index.js.map +1 -1
  26. package/dist/expressions/sql.d.ts +28 -0
  27. package/dist/expressions/sql.test.d.ts +1 -0
  28. package/dist/expressions/utils.d.ts +1 -2
  29. package/dist/index.js +3058 -2618
  30. package/dist/index.js.map +1 -1
  31. package/dist/performance/index.js +22 -22
  32. package/dist/performance/index.js.map +1 -1
  33. package/dist/pipeline/index.js +48 -60
  34. package/dist/pipeline/index.js.map +1 -1
  35. package/dist/plugins/index.d.ts +0 -1
  36. package/dist/plugins/index.js +268 -937
  37. package/dist/plugins/index.js.map +1 -1
  38. package/dist/plugins/query/Query.test.d.ts +1 -0
  39. package/dist/plugins/query/QueryOptionsCollection.d.ts +1 -0
  40. package/dist/plugins/translators/SqlTranslator.test.d.ts +1 -0
  41. package/dist/plugins/translators/TranslatedArrayValue.d.ts +3 -1
  42. package/dist/plugins/translators/TranslatedGroupValue.d.ts +3 -1
  43. package/dist/plugins/translators/TranslatedSingleValue.d.ts +3 -1
  44. package/dist/plugins/translators/TranslatedValues.test.d.ts +1 -0
  45. package/dist/plugins/translators/types.d.ts +8 -1
  46. package/dist/plugins/types.d.ts +6 -10
  47. package/dist/results/Result.d.ts +2 -2
  48. package/dist/results/Result.test.d.ts +1 -0
  49. package/dist/results/index.js +11 -26
  50. package/dist/results/index.js.map +1 -1
  51. package/dist/results/utils.test.d.ts +1 -0
  52. package/dist/schema/PropertyInfo.d.ts +5 -1
  53. package/dist/schema/SchemaDefinition.d.ts +35 -6
  54. package/dist/schema/communication/broadcast.test.d.ts +1 -0
  55. package/dist/schema/index.d.ts +2 -0
  56. package/dist/schema/index.js +2115 -1513
  57. package/dist/schema/index.js.map +1 -1
  58. package/dist/schema/property/base/SchemaBase.d.ts +3 -1
  59. package/dist/schema/property/modifiers/SchemaDeserialize.d.ts +5 -1
  60. package/dist/schema/property/modifiers/SchemaForeignKey.d.ts +15 -0
  61. package/dist/schema/property/modifiers/SchemaKey.d.ts +2 -0
  62. package/dist/schema/property/modifiers/SchemaNullable.d.ts +5 -1
  63. package/dist/schema/property/modifiers/SchemaOptional.d.ts +3 -1
  64. package/dist/schema/property/modifiers/SchemaTag.d.ts +27 -0
  65. package/dist/schema/property/modifiers/SchemaTracked.d.ts +5 -1
  66. package/dist/schema/property/modifiers/index.d.ts +2 -0
  67. package/dist/schema/property/types/SchemaArray.d.ts +2 -0
  68. package/dist/schema/property/types/SchemaBoolean.d.ts +2 -0
  69. package/dist/schema/property/types/SchemaDate.d.ts +2 -0
  70. package/dist/schema/property/types/SchemaNumber.d.ts +5 -1
  71. package/dist/schema/property/types/SchemaObject.d.ts +2 -0
  72. package/dist/schema/property/types/SchemaString.d.ts +5 -1
  73. package/dist/schema/types.d.ts +41 -29
  74. package/dist/schema/utils/standardJsonSchema.d.ts +90 -0
  75. package/dist/schema/utils/standardJsonSchema.test.d.ts +1 -0
  76. package/dist/types/index.js +0 -6
  77. package/dist/types/index.js.map +1 -1
  78. package/dist/utilities/functions.d.ts +1 -1
  79. package/dist/utilities/index.js +213 -138
  80. package/dist/utilities/index.js.map +1 -1
  81. package/dist/utilities/runtime.test.d.ts +1 -0
  82. package/dist/utilities/types.d.ts +17 -2
  83. package/dist/utilities/uuid.test.d.ts +1 -0
  84. package/package.json +2 -2
  85. package/readme.md +1 -1
  86. package/dist/plugins/replication/OptimisticReplicationDbPlugin.d.ts +0 -22
  87. package/dist/plugins/replication/ReplicationDbPlugin.d.ts +0 -22
  88. package/dist/plugins/replication/index.d.ts +0 -3
  89. package/dist/plugins/replication/types.d.ts +0 -4
  90. package/dist/schema/testSchemas.test.d.ts +0 -314
  91. /package/dist/{pipeline/WorkPipeline.test.d.ts → codegen/SlotPath.test.d.ts} +0 -0
@@ -1,21 +1,27 @@
1
1
  var __webpack_modules__ = ({
2
- "./src/assertions/index.ts":
3
- /*!*********************************!*\
4
- !*** ./src/assertions/index.ts ***!
5
- \*********************************/
6
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2
+ "./src/assertions/index.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
7
3
  __webpack_require__.r(__webpack_exports__);
8
4
  __webpack_require__.d(__webpack_exports__, {
9
5
  assertDate: () => (assertDate),
10
6
  assertInstanceOf: () => (assertInstanceOf),
11
7
  assertIsArray: () => (assertIsArray),
12
8
  assertIsNotNull: () => (assertIsNotNull),
13
- assertString: () => (assertString)
9
+ assertIsNumber: () => (assertIsNumber),
10
+ assertString: () => (assertString),
11
+ isComparatorExpression: () => (isComparatorExpression),
12
+ isEmptyExpression: () => (isEmptyExpression),
13
+ isExpression: () => (isExpression),
14
+ isNotParsableExpression: () => (isNotParsableExpression),
15
+ isOperatorExpression: () => (isOperatorExpression),
16
+ isPropertyExpression: () => (isPropertyExpression),
17
+ isValueExpression: () => (isValueExpression)
14
18
  });
15
- /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utilities */ "./src/utilities/dates.ts");
19
+ /* import */ var _expressions_constants__rspack_import_1 = __webpack_require__("./src/expressions/constants.ts");
20
+ /* import */ var _utilities__rspack_import_0 = __webpack_require__("./src/utilities/dates.ts");
21
+
16
22
 
17
23
  function assertDate(data) {
18
- if ((0,_utilities__WEBPACK_IMPORTED_MODULE_0__.isDate)(data) === false) {
24
+ if ((0,_utilities__rspack_import_0.isDate)(data) === false) {
19
25
  throw new TypeError('Value is not a Date');
20
26
  }
21
27
  }
@@ -45,26 +51,88 @@ function assertInstanceOf(value, Instance) {
45
51
  return;
46
52
  }
47
53
  if (value != null && typeof value === "object" && "constructor" in value) {
48
- throw new TypeError(`Value is not instance of type. Type: ${value.constructor.name}`);
54
+ throw new TypeError(`value is not instance of type. Type: ${value.constructor.name}`);
55
+ }
56
+ throw new TypeError(`value is not instance of type`);
57
+ }
58
+ function assertIsNumber(value) {
59
+ if (typeof value !== "number") {
60
+ throw new TypeError("value is not of type `number`");
49
61
  }
50
- throw new TypeError(`Value is not instance of type`);
62
+ }
63
+ function isObjectWithType(value) {
64
+ return typeof value === "object" && value !== null && "type" in value;
65
+ }
66
+ /**
67
+ * Type guard: narrows `value` to `Expression` when it is an object with a valid `type` property.
68
+ */
69
+ function isExpression(value) {
70
+ return isObjectWithType(value) && _expressions_constants__rspack_import_1.EXPRESSION_TYPES.includes(value.type);
71
+ }
72
+ /**
73
+ * Type guard: narrows `value` to `OperatorExpression` when it is an object with `type === "operator"`.
74
+ */
75
+ function isOperatorExpression(value) {
76
+ return isObjectWithType(value) && value.type === "operator";
77
+ }
78
+ /**
79
+ * Type guard: narrows `value` to `ComparatorExpression` when it is an object with `type === "comparator"`.
80
+ */
81
+ function isComparatorExpression(value) {
82
+ return isObjectWithType(value) && value.type === "comparator";
83
+ }
84
+ /**
85
+ * Type guard: narrows `value` to `PropertyExpression` when it is an object with `type === "property"`.
86
+ */
87
+ function isPropertyExpression(value) {
88
+ return isObjectWithType(value) && value.type === "property";
89
+ }
90
+ /**
91
+ * Type guard: narrows `value` to `ValueExpression` when it is an object with `type === "value"`.
92
+ */
93
+ function isValueExpression(value) {
94
+ return isObjectWithType(value) && value.type === "value";
95
+ }
96
+ /**
97
+ * Type guard: narrows `value` to `EmptyExpression` when it is an object with `type === "empty"`.
98
+ */
99
+ function isEmptyExpression(value) {
100
+ return isObjectWithType(value) && value.type === "empty";
101
+ }
102
+ /**
103
+ * Type guard: narrows `value` to `NotParsableExpression` when it is an object with `type === "not-parsable"`.
104
+ */
105
+ function isNotParsableExpression(value) {
106
+ return isObjectWithType(value) && value.type === "not-parsable";
51
107
  }
52
108
 
53
109
 
54
- }),
55
- "./src/expressions/parser.ts":
56
- /*!***********************************!*\
57
- !*** ./src/expressions/parser.ts ***!
58
- \***********************************/
59
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
110
+ },
111
+ "./src/expressions/constants.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
112
+ __webpack_require__.r(__webpack_exports__);
113
+ __webpack_require__.d(__webpack_exports__, {
114
+ EXPRESSION_TYPES: () => (EXPRESSION_TYPES)
115
+ });
116
+ const EXPRESSION_TYPES = [
117
+ "operator",
118
+ "comparator",
119
+ "property",
120
+ "value",
121
+ "empty",
122
+ "not-parsable",
123
+ ];
124
+
125
+
126
+ },
127
+ "./src/expressions/parser.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
60
128
  __webpack_require__.r(__webpack_exports__);
61
129
  __webpack_require__.d(__webpack_exports__, {
62
130
  combineExpressions: () => (combineExpressions),
63
131
  toExpression: () => (toExpression)
64
132
  });
65
- /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utilities */ "./src/utilities/logger.ts");
66
- /* ESM import */var _assertions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../assertions */ "./src/assertions/index.ts");
67
- /* ESM import */var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "./src/expressions/types.ts");
133
+ /* import */ var _utilities__rspack_import_2 = __webpack_require__("./src/utilities/logger.ts");
134
+ /* import */ var _assertions__rspack_import_1 = __webpack_require__("./src/assertions/index.ts");
135
+ /* import */ var _types__rspack_import_0 = __webpack_require__("./src/expressions/types.ts");
68
136
 
69
137
 
70
138
 
@@ -80,67 +148,67 @@ const MULTI_LINE_COMMENT_REGEX = /\/\*[\s\S]*?\*\//g;
80
148
  const WHITESPACE_REGEX = /\s+/g;
81
149
  // need to have negated + strict
82
150
  const comparators = {
83
- startsWith: new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
151
+ startsWith: new _types__rspack_import_0.ComparatorExpression({
84
152
  comparator: "starts-with",
85
153
  negated: false,
86
154
  strict: false
87
155
  }),
88
- endsWith: new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
156
+ endsWith: new _types__rspack_import_0.ComparatorExpression({
89
157
  comparator: "ends-with",
90
158
  negated: false,
91
159
  strict: false
92
160
  }),
93
- includes: new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
161
+ includes: new _types__rspack_import_0.ComparatorExpression({
94
162
  comparator: "includes",
95
163
  negated: false,
96
164
  strict: false
97
165
  }),
98
- "==": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
166
+ "==": new _types__rspack_import_0.ComparatorExpression({
99
167
  comparator: "equals",
100
168
  negated: false,
101
169
  strict: false
102
170
  }),
103
- "===": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
171
+ "===": new _types__rspack_import_0.ComparatorExpression({
104
172
  comparator: "equals",
105
173
  negated: false,
106
174
  strict: true
107
175
  }),
108
- "!=": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
176
+ "!=": new _types__rspack_import_0.ComparatorExpression({
109
177
  comparator: "equals",
110
178
  negated: true,
111
179
  strict: false
112
180
  }),
113
- "!==": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
181
+ "!==": new _types__rspack_import_0.ComparatorExpression({
114
182
  comparator: "equals",
115
183
  negated: true,
116
184
  strict: true
117
185
  }),
118
- ">=": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
186
+ ">=": new _types__rspack_import_0.ComparatorExpression({
119
187
  comparator: "greater-than-equals",
120
188
  negated: false,
121
189
  strict: false
122
190
  }),
123
- ">==": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
191
+ ">==": new _types__rspack_import_0.ComparatorExpression({
124
192
  comparator: "greater-than-equals",
125
193
  negated: false,
126
194
  strict: true
127
195
  }),
128
- "<=": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
196
+ "<=": new _types__rspack_import_0.ComparatorExpression({
129
197
  comparator: "less-than-equals",
130
198
  negated: false,
131
199
  strict: false
132
200
  }),
133
- "<==": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
201
+ "<==": new _types__rspack_import_0.ComparatorExpression({
134
202
  comparator: "less-than-equals",
135
203
  negated: false,
136
204
  strict: true
137
205
  }),
138
- ">": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
206
+ ">": new _types__rspack_import_0.ComparatorExpression({
139
207
  comparator: "greater-than",
140
208
  negated: false,
141
209
  strict: false
142
210
  }),
143
- "<": new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
211
+ "<": new _types__rspack_import_0.ComparatorExpression({
144
212
  comparator: "less-than",
145
213
  negated: false,
146
214
  strict: false
@@ -156,7 +224,7 @@ const ERROR_MESSAGES = {
156
224
  };
157
225
  const STRINGIFIED_COMPARE_OPERATORS = ["true", "false"];
158
226
  const parseUnknown = (value) => {
159
- (0,_assertions__WEBPACK_IMPORTED_MODULE_1__.assertString)(value);
227
+ (0,_assertions__rspack_import_1.assertString)(value);
160
228
  return JSON.parse(value);
161
229
  };
162
230
  const combineExpressions = (...expressions) => {
@@ -170,7 +238,7 @@ const combineExpressions = (...expressions) => {
170
238
  let result = expressions[0];
171
239
  // Loop through remaining expressions and combine them
172
240
  for (let i = 1; i < expressions.length; i++) {
173
- result = new _types__WEBPACK_IMPORTED_MODULE_0__.OperatorExpression({
241
+ result = new _types__rspack_import_0.OperatorExpression({
174
242
  operator: "&&",
175
243
  left: result,
176
244
  right: expressions[i]
@@ -215,13 +283,13 @@ const toExpression = (schema, fn, params) => {
215
283
  return parseExpressionToTree(schema, expression, parameterData);
216
284
  }
217
285
  catch (error) {
218
- _utilities__WEBPACK_IMPORTED_MODULE_2__.logger.warn("Error parsing expression", {
286
+ _utilities__rspack_import_2.logger.warn("Error parsing expression", {
219
287
  error,
220
288
  collectionName: schema.collectionName,
221
289
  params,
222
290
  selector: stringifiedFunction
223
291
  });
224
- return _types__WEBPACK_IMPORTED_MODULE_0__.Expression.NOT_PARSABLE;
292
+ return _types__rspack_import_0.Expression.NOT_PARSABLE;
225
293
  }
226
294
  };
227
295
  const parseExpressionToTree = (schema, expression, params) => {
@@ -280,7 +348,7 @@ const parseExpressionToTree = (schema, expression, params) => {
280
348
  if (operator) {
281
349
  const left = exp.slice(0, splitIndex).trim();
282
350
  const right = exp.slice(splitIndex + 2).trim();
283
- return new _types__WEBPACK_IMPORTED_MODULE_0__.OperatorExpression({
351
+ return new _types__rspack_import_0.OperatorExpression({
284
352
  operator,
285
353
  left: parse(left),
286
354
  right: parse(right)
@@ -394,7 +462,7 @@ const parseCondition = (schema, expression, params) => {
394
462
  }
395
463
  else {
396
464
  // For other methods, return NOT_PARSABLE for now
397
- return _types__WEBPACK_IMPORTED_MODULE_0__.Expression.NOT_PARSABLE;
465
+ return _types__rspack_import_0.Expression.NOT_PARSABLE;
398
466
  }
399
467
  }
400
468
  else {
@@ -471,7 +539,7 @@ const parseCondition = (schema, expression, params) => {
471
539
  const valueTransformMatch = transformMethodMatch[4].match(/^([^)]+)\.(toLowerCase|toUpperCase|toLocaleLowerCase|toLocaleUpperCase)\(\)$/);
472
540
  if (valueTransformMatch) {
473
541
  // Create a new ValueExpression with the base value and transformer
474
- value = new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({
542
+ value = new _types__rspack_import_0.ValueExpression({
475
543
  value: valueTransformMatch[1].replace(/^["']|["']$/g, '') // Remove quotes
476
544
  });
477
545
  // Set transformer and locale based on the method
@@ -600,7 +668,7 @@ const getComparator = (value) => {
600
668
  throw new Error(ERROR_MESSAGES.COMPARATOR_NOT_FOUND(value));
601
669
  }
602
670
  // Return a new instance to avoid modifying the cached one
603
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ComparatorExpression({
671
+ return new _types__rspack_import_0.ComparatorExpression({
604
672
  comparator: comparator.comparator,
605
673
  negated: comparator.negated,
606
674
  strict: comparator.strict
@@ -608,28 +676,28 @@ const getComparator = (value) => {
608
676
  };
609
677
  const getValue = (value, params) => {
610
678
  // Early return for string literals
611
- if (value.startsWith("\'") || value.startsWith("\"")) {
612
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({
613
- value: value.replace(/\"|\'/g, "")
679
+ if (value.startsWith("'") || value.startsWith("\"")) {
680
+ return new _types__rspack_import_0.ValueExpression({
681
+ value: value.replace(/"|'/g, "")
614
682
  });
615
683
  }
616
684
  // Early return for null/undefined
617
685
  if (value === "null") {
618
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({ value: null });
686
+ return new _types__rspack_import_0.ValueExpression({ value: null });
619
687
  }
620
688
  if (value === "undefined" || value === "void 0") {
621
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({ value: undefined });
689
+ return new _types__rspack_import_0.ValueExpression({ value: undefined });
622
690
  }
623
691
  // Optimized number parsing with early return
624
692
  const numValue = +value;
625
693
  if (!isNaN(numValue) && isFinite(numValue)) {
626
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({ value: numValue });
694
+ return new _types__rspack_import_0.ValueExpression({ value: numValue });
627
695
  }
628
696
  // Handle parameter paths if params are provided
629
697
  if (params != null) {
630
698
  // Check if this is a parameter path (starts with params.name)
631
699
  if (value.startsWith(params.name)) {
632
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({
700
+ return new _types__rspack_import_0.ValueExpression({
633
701
  value: getValueFromParams(value, params)
634
702
  });
635
703
  }
@@ -641,16 +709,16 @@ const getValue = (value, params) => {
641
709
  const potentialParamPath = paramMatch[1];
642
710
  try {
643
711
  const paramValue = getValueFromParams(`${params.name}.${potentialParamPath}`, params);
644
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({ value: paramValue });
712
+ return new _types__rspack_import_0.ValueExpression({ value: paramValue });
645
713
  }
646
- catch (e) {
714
+ catch {
647
715
  // Not a parameter path, continue with normal parsing
648
716
  }
649
717
  }
650
718
  }
651
719
  }
652
720
  if (STRINGIFIED_COMPARE_OPERATORS.includes(value)) {
653
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({ value });
721
+ return new _types__rspack_import_0.ValueExpression({ value });
654
722
  }
655
723
  if (isNaN(numValue)) {
656
724
  // value is a variable passed in by the dev, we cannot evaluate it's value
@@ -661,7 +729,7 @@ Example: .where(([x, params]) => x.id === params.id, { id: someVar.id })
661
729
  Issue At: ${value}`);
662
730
  }
663
731
  // Default case: return as-is
664
- return new _types__WEBPACK_IMPORTED_MODULE_0__.ValueExpression({ value });
732
+ return new _types__rspack_import_0.ValueExpression({ value });
665
733
  };
666
734
  const getValueFromParams = (value, params) => {
667
735
  const split = value.split('.');
@@ -730,7 +798,7 @@ const getProperty = (schema, value, params) => {
730
798
  throw new Error(ERROR_MESSAGES.PROPERTY_NOT_FOUND(value));
731
799
  }
732
800
  }
733
- catch (e) {
801
+ catch {
734
802
  // Not a valid parameter path, continue to error
735
803
  throw new Error(ERROR_MESSAGES.PROPERTY_NOT_FOUND(value));
736
804
  }
@@ -764,16 +832,288 @@ const getProperty = (schema, value, params) => {
764
832
  if (found == null) {
765
833
  throw new Error(ERROR_MESSAGES.PROPERTY_NOT_FOUND(value));
766
834
  }
767
- return new _types__WEBPACK_IMPORTED_MODULE_0__.PropertyExpression({ property: found });
835
+ return new _types__rspack_import_0.PropertyExpression({ property: found });
836
+ };
837
+
838
+
839
+ },
840
+ "./src/expressions/sql.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
841
+ __webpack_require__.r(__webpack_exports__);
842
+ __webpack_require__.d(__webpack_exports__, {
843
+ getDialect: () => (getDialect),
844
+ toSql: () => (toSql)
845
+ });
846
+ /* import */ var _assertions__rspack_import_0 = __webpack_require__("./src/assertions/index.ts");
847
+
848
+ const DIALECTS = {
849
+ sqlite: {
850
+ quoteIdentifier(name) {
851
+ return `"${name.replace(/"/g, '""')}"`;
852
+ },
853
+ getPlaceholder(_i) {
854
+ return "?";
855
+ },
856
+ stringMatchKind: "GLOB",
857
+ likeEscapeClause() {
858
+ return "";
859
+ },
860
+ },
861
+ postgresql: {
862
+ quoteIdentifier(name) {
863
+ return `"${name.replace(/"/g, '""')}"`;
864
+ },
865
+ getPlaceholder(i) {
866
+ return `$${i + 1}`;
867
+ },
868
+ stringMatchKind: "LIKE",
869
+ likeEscapeClause() {
870
+ return " ESCAPE E'\\\\'";
871
+ },
872
+ },
873
+ mysql: {
874
+ quoteIdentifier(name) {
875
+ return "`" + name.replace(/`/g, "``") + "`";
876
+ },
877
+ getPlaceholder(_i) {
878
+ return "?";
879
+ },
880
+ stringMatchKind: "LIKE",
881
+ likeEscapeClause() {
882
+ return " ESCAPE '\\\\'";
883
+ },
884
+ },
885
+ mssql: {
886
+ quoteIdentifier(name) {
887
+ return "[" + name.replace(/]/g, "]]") + "]";
888
+ },
889
+ getPlaceholder(i) {
890
+ return `@p${i + 1}`;
891
+ },
892
+ stringMatchKind: "LIKE",
893
+ likeEscapeClause() {
894
+ return " ESCAPE '\\\\'";
895
+ },
896
+ },
897
+ };
898
+ function getDialect(name) {
899
+ const d = DIALECTS[name];
900
+ if (!d)
901
+ throw new Error(`Unknown SQL dialect: ${name}`);
902
+ return d;
903
+ }
904
+ function escapeLikeLiteral(value) {
905
+ return value.replace(/\\/g, "\\\\").replace(/%/g, "\\%").replace(/_/g, "\\_");
906
+ }
907
+ function escapeGlobLiteral(value) {
908
+ return value.replace(/\\/g, "\\\\").replace(/\*/g, "\\*").replace(/\?/g, "\\?");
909
+ }
910
+ function escapeForPattern(value, kind) {
911
+ return kind === "LIKE" ? escapeLikeLiteral(value) : escapeGlobLiteral(value);
912
+ }
913
+ function buildPattern(escapedValue, match, kind) {
914
+ if (kind === "LIKE") {
915
+ switch (match) {
916
+ case "contains":
917
+ return `%${escapedValue}%`;
918
+ case "starts-with":
919
+ return `${escapedValue}%`;
920
+ case "ends-with":
921
+ return `%${escapedValue}`;
922
+ }
923
+ }
924
+ switch (match) {
925
+ case "contains":
926
+ return `*${escapedValue}*`;
927
+ case "starts-with":
928
+ return `${escapedValue}*`;
929
+ case "ends-with":
930
+ return `*${escapedValue}`;
931
+ }
932
+ }
933
+ function getPropertyValueSides(cmp) {
934
+ const propLeft = cmp.left && (0,_assertions__rspack_import_0.isPropertyExpression)(cmp.left) ? cmp.left : null;
935
+ const propRight = cmp.right && (0,_assertions__rspack_import_0.isPropertyExpression)(cmp.right) ? cmp.right : null;
936
+ const valLeft = cmp.left && (0,_assertions__rspack_import_0.isValueExpression)(cmp.left) ? cmp.left.value : null;
937
+ const valRight = cmp.right && (0,_assertions__rspack_import_0.isValueExpression)(cmp.right) ? cmp.right.value : null;
938
+ return { propLeft, propRight, valLeft, valRight };
939
+ }
940
+ function getEqualsCase(value, columnOnLeft, columnOnRight) {
941
+ if (value === null && columnOnLeft)
942
+ return "null-column-left";
943
+ if (value === null && columnOnRight)
944
+ return "null-column-right";
945
+ if (value !== null && columnOnLeft)
946
+ return "value-column-left";
947
+ if (value !== null && columnOnRight)
948
+ return "value-column-right";
949
+ return null;
950
+ }
951
+ function equalsNullColumnLeft(ctx) {
952
+ return ctx.negated ? `${ctx.col} IS NOT NULL` : `${ctx.col} IS NULL`;
953
+ }
954
+ function equalsNullColumnRight(ctx) {
955
+ ctx.params.push(null);
956
+ const ph = ctx.placeholder();
957
+ return ctx.negated ? `${ph} IS NOT NULL` : `${ph} IS NULL`;
958
+ }
959
+ function equalsValueColumnLeft(ctx) {
960
+ ctx.params.push(ctx.value);
961
+ const ph = ctx.placeholder();
962
+ return ctx.negated ? `${ctx.col} != ${ph}` : `${ctx.col} = ${ph}`;
963
+ }
964
+ function equalsValueColumnRight(ctx) {
965
+ ctx.params.push(ctx.value);
966
+ const ph = ctx.placeholder();
967
+ return ctx.negated ? `${ph} != ${ctx.col}` : `${ph} = ${ctx.col}`;
968
+ }
969
+ const EQUALS_STRATEGIES = {
970
+ "null-column-left": equalsNullColumnLeft,
971
+ "null-column-right": equalsNullColumnRight,
972
+ "value-column-left": equalsValueColumnLeft,
973
+ "value-column-right": equalsValueColumnRight,
768
974
  };
975
+ // --- String-pattern comparison (includes / starts-with / ends-with) ---
976
+ function renderStringPatternComparison(cmp, d, params, placeholder) {
977
+ const { propLeft, propRight, valLeft, valRight } = getPropertyValueSides(cmp);
978
+ const kind = d.stringMatchKind;
979
+ if (cmp.comparator === "includes") {
980
+ const col = propLeft && valRight !== null
981
+ ? d.quoteIdentifier(propLeft.property.name)
982
+ : propRight && valLeft !== null
983
+ ? d.quoteIdentifier(propRight.property.name)
984
+ : null;
985
+ const value = valRight !== null ? valRight : valLeft;
986
+ if (col === null) {
987
+ throw new Error("Complex expressions not supported for includes operations");
988
+ }
989
+ if (Array.isArray(value)) {
990
+ const placeholders = value.map(() => placeholder()).join(", ");
991
+ params.push(...value);
992
+ return cmp.negated ? `${col} NOT IN (${placeholders})` : `${col} IN (${placeholders})`;
993
+ }
994
+ const escaped = escapeForPattern(String(value), kind);
995
+ const pattern = buildPattern(escaped, "contains", kind);
996
+ params.push(pattern);
997
+ const ph = placeholder();
998
+ const op = kind === "GLOB" ? "GLOB" : "LIKE";
999
+ const escape = kind === "LIKE" ? d.likeEscapeClause() : "";
1000
+ if (propLeft && valRight !== null) {
1001
+ return cmp.negated ? `${col} NOT ${op} ${ph}${escape}` : `${col} ${op} ${ph}${escape}`;
1002
+ }
1003
+ return cmp.negated ? `${ph} NOT ${op} ${col}${escape}` : `${ph} ${op} ${col}${escape}`;
1004
+ }
1005
+ const col = propLeft && valRight !== null
1006
+ ? d.quoteIdentifier(propLeft.property.name)
1007
+ : propRight && valLeft !== null
1008
+ ? d.quoteIdentifier(propRight.property.name)
1009
+ : null;
1010
+ const value = valRight !== null ? String(valRight) : valLeft !== null ? String(valLeft) : null;
1011
+ if (col === null || value === null) {
1012
+ throw new Error(`Complex expressions not supported for ${cmp.comparator} operations`);
1013
+ }
1014
+ const escaped = escapeForPattern(value, kind);
1015
+ const pattern = buildPattern(escaped, cmp.comparator === "starts-with" ? "starts-with" : "ends-with", kind);
1016
+ params.push(pattern);
1017
+ const ph = placeholder();
1018
+ const op = kind === "GLOB" ? "GLOB" : "LIKE";
1019
+ const escape = kind === "LIKE" ? d.likeEscapeClause() : "";
1020
+ if (propLeft && valRight !== null) {
1021
+ return cmp.negated ? `${col} NOT ${op} ${ph}${escape}` : `${col} ${op} ${ph}${escape}`;
1022
+ }
1023
+ return cmp.negated ? `${ph} NOT ${op} ${col}${escape}` : `${ph} ${op} ${col}${escape}`;
1024
+ }
1025
+ // --- Generic comparison ---
1026
+ function renderGenericComparison(cmp, walk) {
1027
+ const leftExpr = walk(cmp.left);
1028
+ const rightExpr = walk(cmp.right);
1029
+ switch (cmp.comparator) {
1030
+ case "equals":
1031
+ return cmp.negated ? `${leftExpr} != ${rightExpr}` : `${leftExpr} = ${rightExpr}`;
1032
+ case "greater-than":
1033
+ return cmp.negated ? `${leftExpr} <= ${rightExpr}` : `${leftExpr} > ${rightExpr}`;
1034
+ case "greater-than-equals":
1035
+ return cmp.negated ? `${leftExpr} < ${rightExpr}` : `${leftExpr} >= ${rightExpr}`;
1036
+ case "less-than":
1037
+ return cmp.negated ? `${leftExpr} >= ${rightExpr}` : `${leftExpr} < ${rightExpr}`;
1038
+ case "less-than-equals":
1039
+ return cmp.negated ? `${leftExpr} > ${rightExpr}` : `${leftExpr} <= ${rightExpr}`;
1040
+ default:
1041
+ throw new Error(`Unsupported comparator: ${cmp.comparator}`);
1042
+ }
1043
+ }
1044
+ /**
1045
+ * Converts an Expression to a SQL WHERE clause and bound parameters for the given dialect.
1046
+ */
1047
+ function toSql(expr, dialect) {
1048
+ const d = typeof dialect === "string" ? getDialect(dialect) : dialect;
1049
+ const params = [];
1050
+ let paramIndex = 0;
1051
+ function placeholder() {
1052
+ const p = d.getPlaceholder(paramIndex);
1053
+ paramIndex += 1;
1054
+ return p;
1055
+ }
1056
+ /** Visitor: map each expression node type to a SQL fragment. */
1057
+ function walk(e) {
1058
+ if ((0,_assertions__rspack_import_0.isOperatorExpression)(e)) {
1059
+ const left = e.left ? walk(e.left) : "";
1060
+ const right = e.right ? walk(e.right) : "";
1061
+ const sqlOp = e.operator === "&&" ? "AND" : e.operator === "||" ? "OR" : e.operator;
1062
+ return `(${left} ${sqlOp} ${right})`;
1063
+ }
1064
+ if ((0,_assertions__rspack_import_0.isComparatorExpression)(e)) {
1065
+ const cmp = e;
1066
+ const isStringPattern = cmp.comparator === "starts-with" ||
1067
+ cmp.comparator === "ends-with" ||
1068
+ cmp.comparator === "includes";
1069
+ if (isStringPattern) {
1070
+ /* String pattern: includes / starts-with / ends-with → one renderer. */
1071
+ return renderStringPatternComparison(cmp, d, params, placeholder);
1072
+ }
1073
+ if (cmp.comparator === "equals") {
1074
+ /* Equals: Strategy per (column-side, null vs value) case. */
1075
+ const { propLeft, propRight, valLeft, valRight } = getPropertyValueSides(cmp);
1076
+ const col = propLeft && (valRight !== undefined || propRight)
1077
+ ? d.quoteIdentifier(propLeft.property.name)
1078
+ : propRight && (valLeft !== undefined || propLeft)
1079
+ ? d.quoteIdentifier(propRight.property.name)
1080
+ : null;
1081
+ const value = valRight !== undefined ? valRight : valLeft;
1082
+ const columnOnLeft = Boolean(propLeft && cmp.right && (0,_assertions__rspack_import_0.isValueExpression)(cmp.right));
1083
+ const columnOnRight = Boolean(propRight && cmp.left && (0,_assertions__rspack_import_0.isValueExpression)(cmp.left));
1084
+ if (col !== null && value !== undefined) {
1085
+ const caseKey = getEqualsCase(value, columnOnLeft, columnOnRight);
1086
+ if (caseKey !== null) {
1087
+ const strategy = EQUALS_STRATEGIES[caseKey];
1088
+ return strategy({
1089
+ col,
1090
+ value,
1091
+ negated: cmp.negated,
1092
+ params,
1093
+ placeholder,
1094
+ });
1095
+ }
1096
+ }
1097
+ }
1098
+ /* Generic: walk both sides and emit comparison operator. */
1099
+ return renderGenericComparison(cmp, walk);
1100
+ }
1101
+ if ((0,_assertions__rspack_import_0.isPropertyExpression)(e)) {
1102
+ return d.quoteIdentifier(e.property.name);
1103
+ }
1104
+ if ((0,_assertions__rspack_import_0.isValueExpression)(e)) {
1105
+ params.push(e.value);
1106
+ return placeholder();
1107
+ }
1108
+ throw new Error(`Unknown expression type: ${e.type}`);
1109
+ }
1110
+ const where = walk(expr);
1111
+ return { where, params };
1112
+ }
769
1113
 
770
1114
 
771
- }),
772
- "./src/expressions/types.ts":
773
- /*!**********************************!*\
774
- !*** ./src/expressions/types.ts ***!
775
- \**********************************/
776
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1115
+ },
1116
+ "./src/expressions/types.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
777
1117
  __webpack_require__.r(__webpack_exports__);
778
1118
  __webpack_require__.d(__webpack_exports__, {
779
1119
  ComparatorExpression: () => (ComparatorExpression),
@@ -879,17 +1219,12 @@ class ValueExpression extends Expression {
879
1219
  }
880
1220
 
881
1221
 
882
- }),
883
- "./src/expressions/utils.ts":
884
- /*!**********************************!*\
885
- !*** ./src/expressions/utils.ts ***!
886
- \**********************************/
887
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1222
+ },
1223
+ "./src/expressions/utils.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
888
1224
  __webpack_require__.r(__webpack_exports__);
889
1225
  __webpack_require__.d(__webpack_exports__, {
890
1226
  forEach: () => (forEach),
891
- getProperties: () => (getProperties),
892
- isPropertyExpression: () => (isPropertyExpression)
1227
+ getProperties: () => (getProperties)
893
1228
  });
894
1229
  /**
895
1230
  * Extracts all properties referenced in an expression
@@ -914,9 +1249,6 @@ function getProperties(expression) {
914
1249
  traverse(expression);
915
1250
  return properties;
916
1251
  }
917
- function isPropertyExpression(expression) {
918
- return expression.type === "property";
919
- }
920
1252
  function forEach(expression, callback) {
921
1253
  function traverse(expr) {
922
1254
  // Call the callback for this expression
@@ -941,12 +1273,8 @@ function forEach(expression, callback) {
941
1273
  }
942
1274
 
943
1275
 
944
- }),
945
- "./src/utilities/dates.ts":
946
- /*!********************************!*\
947
- !*** ./src/utilities/dates.ts ***!
948
- \********************************/
949
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1276
+ },
1277
+ "./src/utilities/dates.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
950
1278
  __webpack_require__.r(__webpack_exports__);
951
1279
  __webpack_require__.d(__webpack_exports__, {
952
1280
  isDate: () => (isDate)
@@ -962,26 +1290,33 @@ const isDate = (data) => {
962
1290
  };
963
1291
 
964
1292
 
965
- }),
966
- "./src/utilities/logger.ts":
967
- /*!*********************************!*\
968
- !*** ./src/utilities/logger.ts ***!
969
- \*********************************/
970
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1293
+ },
1294
+ "./src/utilities/logger.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
971
1295
  __webpack_require__.r(__webpack_exports__);
972
1296
  __webpack_require__.d(__webpack_exports__, {
973
1297
  logger: () => (logger)
974
1298
  });
975
- const isDevelopment = () => {
976
- if (typeof process === 'undefined' || process.env == null) {
977
- return false;
1299
+ /**
1300
+ * Enable logging by setting `globalThis.__ROUTIER_DEBUG__ = true` before any routier code runs.
1301
+ */
1302
+ const shouldLog = () => {
1303
+ if (typeof globalThis !== 'undefined') {
1304
+ const g = globalThis;
1305
+ if (g.__ROUTIER_DEBUG__ === true)
1306
+ return true;
978
1307
  }
979
- const env = "development"?.toLowerCase();
980
- return env === 'dev' || env === 'development' || env === 'test';
1308
+ if (typeof process !== 'undefined' && process.env != null) {
1309
+ const debug = process.env.DEBUG;
1310
+ if (debug === 'routier' || debug === '*')
1311
+ return true;
1312
+ const env = "development"?.toLowerCase();
1313
+ if (env === 'dev' || env === 'development' || env === 'test')
1314
+ return true;
1315
+ }
1316
+ return false;
981
1317
  };
982
- const shouldLog = isDevelopment();
983
1318
  const tryLog = (type, ...args) => {
984
- if (shouldLog) {
1319
+ if (shouldLog()) {
985
1320
  console[type](...args);
986
1321
  }
987
1322
  };
@@ -1007,10 +1342,9 @@ const logger = {
1007
1342
  };
1008
1343
 
1009
1344
 
1010
- }),
1345
+ },
1011
1346
 
1012
1347
  });
1013
- /************************************************************************/
1014
1348
  // The module cache
1015
1349
  var __webpack_module_cache__ = {};
1016
1350
 
@@ -1034,7 +1368,6 @@ return module.exports;
1034
1368
 
1035
1369
  }
1036
1370
 
1037
- /************************************************************************/
1038
1371
  // webpack/runtime/define_property_getters
1039
1372
  (() => {
1040
1373
  __webpack_require__.d = (exports, definition) => {
@@ -1059,32 +1392,33 @@ __webpack_require__.r = (exports) => {
1059
1392
  Object.defineProperty(exports, '__esModule', { value: true });
1060
1393
  };
1061
1394
  })();
1062
- /************************************************************************/
1063
1395
  var __webpack_exports__ = {};
1064
1396
  // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
1065
1397
  (() => {
1066
-
1067
- /*!**********************************!*\
1068
- !*** ./src/expressions/index.ts ***!
1069
- \**********************************/
1070
1398
  __webpack_require__.r(__webpack_exports__);
1071
1399
  __webpack_require__.d(__webpack_exports__, {
1072
- ComparatorExpression: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_1__.ComparatorExpression),
1073
- EmptyExpression: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_1__.EmptyExpression),
1074
- Expression: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_1__.Expression),
1075
- NotParsableExpression: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_1__.NotParsableExpression),
1076
- OperatorExpression: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_1__.OperatorExpression),
1077
- PropertyExpression: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_1__.PropertyExpression),
1078
- ValueExpression: () => (/* reexport safe */ _types__WEBPACK_IMPORTED_MODULE_1__.ValueExpression),
1079
- combineExpressions: () => (/* reexport safe */ _parser__WEBPACK_IMPORTED_MODULE_0__.combineExpressions),
1080
- forEach: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_2__.forEach),
1081
- getProperties: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_2__.getProperties),
1082
- isPropertyExpression: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_2__.isPropertyExpression),
1083
- toExpression: () => (/* reexport safe */ _parser__WEBPACK_IMPORTED_MODULE_0__.toExpression)
1400
+ ComparatorExpression: () => (/* reexport safe */ _types__rspack_import_2.ComparatorExpression),
1401
+ EXPRESSION_TYPES: () => (/* reexport safe */ _constants__rspack_import_4.EXPRESSION_TYPES),
1402
+ EmptyExpression: () => (/* reexport safe */ _types__rspack_import_2.EmptyExpression),
1403
+ Expression: () => (/* reexport safe */ _types__rspack_import_2.Expression),
1404
+ NotParsableExpression: () => (/* reexport safe */ _types__rspack_import_2.NotParsableExpression),
1405
+ OperatorExpression: () => (/* reexport safe */ _types__rspack_import_2.OperatorExpression),
1406
+ PropertyExpression: () => (/* reexport safe */ _types__rspack_import_2.PropertyExpression),
1407
+ ValueExpression: () => (/* reexport safe */ _types__rspack_import_2.ValueExpression),
1408
+ combineExpressions: () => (/* reexport safe */ _parser__rspack_import_0.combineExpressions),
1409
+ forEach: () => (/* reexport safe */ _utils__rspack_import_3.forEach),
1410
+ getDialect: () => (/* reexport safe */ _sql__rspack_import_1.getDialect),
1411
+ getProperties: () => (/* reexport safe */ _utils__rspack_import_3.getProperties),
1412
+ toExpression: () => (/* reexport safe */ _parser__rspack_import_0.toExpression),
1413
+ toSql: () => (/* reexport safe */ _sql__rspack_import_1.toSql)
1084
1414
  });
1085
- /* ESM import */var _parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parser */ "./src/expressions/parser.ts");
1086
- /* ESM import */var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "./src/expressions/types.ts");
1087
- /* ESM import */var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/expressions/utils.ts");
1415
+ /* import */ var _parser__rspack_import_0 = __webpack_require__("./src/expressions/parser.ts");
1416
+ /* import */ var _sql__rspack_import_1 = __webpack_require__("./src/expressions/sql.ts");
1417
+ /* import */ var _types__rspack_import_2 = __webpack_require__("./src/expressions/types.ts");
1418
+ /* import */ var _utils__rspack_import_3 = __webpack_require__("./src/expressions/utils.ts");
1419
+ /* import */ var _constants__rspack_import_4 = __webpack_require__("./src/expressions/constants.ts");
1420
+
1421
+
1088
1422
 
1089
1423
 
1090
1424
 
@@ -1092,6 +1426,7 @@ __webpack_require__.d(__webpack_exports__, {
1092
1426
  })();
1093
1427
 
1094
1428
  var __webpack_exports__ComparatorExpression = __webpack_exports__.ComparatorExpression;
1429
+ var __webpack_exports__EXPRESSION_TYPES = __webpack_exports__.EXPRESSION_TYPES;
1095
1430
  var __webpack_exports__EmptyExpression = __webpack_exports__.EmptyExpression;
1096
1431
  var __webpack_exports__Expression = __webpack_exports__.Expression;
1097
1432
  var __webpack_exports__NotParsableExpression = __webpack_exports__.NotParsableExpression;
@@ -1100,9 +1435,10 @@ var __webpack_exports__PropertyExpression = __webpack_exports__.PropertyExpressi
1100
1435
  var __webpack_exports__ValueExpression = __webpack_exports__.ValueExpression;
1101
1436
  var __webpack_exports__combineExpressions = __webpack_exports__.combineExpressions;
1102
1437
  var __webpack_exports__forEach = __webpack_exports__.forEach;
1438
+ var __webpack_exports__getDialect = __webpack_exports__.getDialect;
1103
1439
  var __webpack_exports__getProperties = __webpack_exports__.getProperties;
1104
- var __webpack_exports__isPropertyExpression = __webpack_exports__.isPropertyExpression;
1105
1440
  var __webpack_exports__toExpression = __webpack_exports__.toExpression;
1106
- export { __webpack_exports__ComparatorExpression as ComparatorExpression, __webpack_exports__EmptyExpression as EmptyExpression, __webpack_exports__Expression as Expression, __webpack_exports__NotParsableExpression as NotParsableExpression, __webpack_exports__OperatorExpression as OperatorExpression, __webpack_exports__PropertyExpression as PropertyExpression, __webpack_exports__ValueExpression as ValueExpression, __webpack_exports__combineExpressions as combineExpressions, __webpack_exports__forEach as forEach, __webpack_exports__getProperties as getProperties, __webpack_exports__isPropertyExpression as isPropertyExpression, __webpack_exports__toExpression as toExpression };
1441
+ var __webpack_exports__toSql = __webpack_exports__.toSql;
1442
+ export { __webpack_exports__ComparatorExpression as ComparatorExpression, __webpack_exports__EXPRESSION_TYPES as EXPRESSION_TYPES, __webpack_exports__EmptyExpression as EmptyExpression, __webpack_exports__Expression as Expression, __webpack_exports__NotParsableExpression as NotParsableExpression, __webpack_exports__OperatorExpression as OperatorExpression, __webpack_exports__PropertyExpression as PropertyExpression, __webpack_exports__ValueExpression as ValueExpression, __webpack_exports__combineExpressions as combineExpressions, __webpack_exports__forEach as forEach, __webpack_exports__getDialect as getDialect, __webpack_exports__getProperties as getProperties, __webpack_exports__toExpression as toExpression, __webpack_exports__toSql as toSql };
1107
1443
 
1108
1444
  //# sourceMappingURL=index.js.map