@stamhoofd/sql 2.10.2 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/SQL.d.ts +16 -43
  6. package/dist/src/SQL.d.ts.map +1 -1
  7. package/dist/src/SQL.js +10 -10
  8. package/dist/src/SQL.js.map +1 -1
  9. package/dist/src/SQLDelete.d.ts +15 -15
  10. package/dist/src/SQLDelete.d.ts.map +1 -1
  11. package/dist/src/SQLDelete.js +9 -10
  12. package/dist/src/SQLDelete.js.map +1 -1
  13. package/dist/src/SQLExpression.js +4 -5
  14. package/dist/src/SQLExpression.js.map +1 -1
  15. package/dist/src/SQLExpressions.d.ts +6 -0
  16. package/dist/src/SQLExpressions.d.ts.map +1 -1
  17. package/dist/src/SQLExpressions.js +41 -8
  18. package/dist/src/SQLExpressions.js.map +1 -1
  19. package/dist/src/SQLJoin.d.ts +16 -14
  20. package/dist/src/SQLJoin.d.ts.map +1 -1
  21. package/dist/src/SQLJoin.js +10 -9
  22. package/dist/src/SQLJoin.js.map +1 -1
  23. package/dist/src/SQLJsonExpressions.js +14 -0
  24. package/dist/src/SQLJsonExpressions.js.map +1 -1
  25. package/dist/src/SQLOrderBy.d.ts +5 -8
  26. package/dist/src/SQLOrderBy.d.ts.map +1 -1
  27. package/dist/src/SQLOrderBy.js +11 -9
  28. package/dist/src/SQLOrderBy.js.map +1 -1
  29. package/dist/src/SQLSelect.d.ts +32 -29
  30. package/dist/src/SQLSelect.d.ts.map +1 -1
  31. package/dist/src/SQLSelect.js +41 -20
  32. package/dist/src/SQLSelect.js.map +1 -1
  33. package/dist/src/SQLWhere.d.ts +11 -14
  34. package/dist/src/SQLWhere.d.ts.map +1 -1
  35. package/dist/src/SQLWhere.js +46 -28
  36. package/dist/src/SQLWhere.js.map +1 -1
  37. package/dist/src/filters/SQLFilter.d.ts +9 -2
  38. package/dist/src/filters/SQLFilter.d.ts.map +1 -1
  39. package/dist/src/filters/SQLFilter.js +34 -21
  40. package/dist/src/filters/SQLFilter.js.map +1 -1
  41. package/dist/src/filters/SQLSorter.js +1 -2
  42. package/dist/src/filters/SQLSorter.js.map +1 -1
  43. package/package.json +2 -2
  44. package/src/SQL.ts +25 -12
  45. package/src/SQLDelete.ts +3 -8
  46. package/src/SQLExpressions.ts +20 -0
  47. package/src/SQLJoin.ts +4 -5
  48. package/src/SQLOrderBy.ts +14 -12
  49. package/src/SQLSelect.ts +47 -24
  50. package/src/SQLWhere.ts +46 -33
  51. package/src/filters/SQLFilter.ts +42 -15
@@ -1 +1 @@
1
- {"version":3,"file":"SQLWhere.js","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLWhere.js","sourceRoot":"","sources":["../../src/SQLWhere.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,15 @@ export declare function orSQLFilterCompiler(filter: StamhoofdFilter, filters: SQ
10
10
  export declare function notSQLFilterCompiler(filter: StamhoofdFilter, filters: SQLFilterDefinitions): SQLWhere;
11
11
  export declare function createSQLRelationFilterCompiler(baseSelect: InstanceType<typeof SQLSelect> & SQLExpression, definitions: SQLFilterDefinitions): SQLFilterCompiler;
12
12
  export declare function createSQLFilterNamespace(definitions: SQLFilterDefinitions): SQLFilterCompiler;
13
- export declare function createSQLExpressionFilterCompiler(sqlExpression: SQLExpression, normalizeValue?: (v: SQLScalarValue | null) => SQLScalarValue | null, isJSONValue?: boolean, isJSONObject?: boolean): SQLFilterCompiler;
14
- export declare function createSQLColumnFilterCompiler(name: string | SQLColumnExpression, normalizeValue?: (v: SQLScalarValue | null) => SQLScalarValue | null): SQLFilterCompiler;
13
+ type SQLExpressionFilterOptions = {
14
+ normalizeValue?: (v: SQLScalarValue | null) => SQLScalarValue | null;
15
+ isJSONValue?: boolean;
16
+ isJSONObject?: boolean;
17
+ nullable?: boolean;
18
+ };
19
+ export declare function createSQLExpressionFilterCompiler(sqlExpression: SQLExpression, { normalizeValue, isJSONObject, isJSONValue, nullable }?: SQLExpressionFilterOptions): SQLFilterCompiler;
20
+ export declare function createSQLColumnFilterCompiler(name: string | SQLColumnExpression, options?: SQLExpressionFilterOptions): SQLFilterCompiler;
15
21
  export declare const baseSQLFilterCompilers: SQLFilterDefinitions;
16
22
  export declare const compileToSQLFilter: typeof andSQLFilterCompiler;
23
+ export {};
17
24
  //# sourceMappingURL=SQLFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA2B,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAY,mBAAmB,EAAyB,cAAc,EAAoD,MAAM,mBAAmB,CAAC;AAE3J,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAmG,MAAM,aAAa,CAAC;AAExI,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,KAAK,QAAQ,GAAC,IAAI,CAAC;AAC1G,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAEpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAGrG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAGpG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAGrG;AAqBD,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,aAAa,EAAE,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAYhK;AAGD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAI7F;AAED,wBAAgB,iCAAiC,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,GAAC,IAAI,KAAK,cAAc,GAAC,IAAI,EAAE,WAAW,UAAQ,EAAE,YAAY,UAAQ,GAAG,iBAAiB,CAoN9M;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,GAAC,IAAI,KAAK,cAAc,GAAC,IAAI,GAAG,iBAAiB,CAGrK;AAED,eAAO,MAAM,sBAAsB,EAAE,oBAIpC,CAAA;AAuCD,eAAO,MAAM,kBAAkB,6BAAuB,CAAA"}
1
+ {"version":3,"file":"SQLFilter.d.ts","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAqB,mBAAmB,EAAyB,cAAc,EAAoD,MAAM,mBAAmB,CAAC;AAEpK,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAmG,MAAM,aAAa,CAAC;AAExI,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,KAAK,QAAQ,GAAC,IAAI,CAAC;AAC1G,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAEpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAGrG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAGpG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAGrG;AAqBD,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,aAAa,EAAE,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAYhK;AAGD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,oBAAoB,GAAG,iBAAiB,CAI7F;AAED,KAAK,0BAA0B,GAAG;IAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,GAAC,IAAI,KAAK,cAAc,GAAC,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,CAAA;AAEvK,wBAAgB,iCAAiC,CAAC,aAAa,EAAE,aAAa,EAAE,EAAC,cAAc,EAAE,YAAoB,EAAE,WAAmB,EAAE,QAAgB,EAAC,GAAE,0BAA+B,GAAG,iBAAiB,CA6OjN;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,iBAAiB,CAGzI;AAED,eAAO,MAAM,sBAAsB,EAAE,oBAIpC,CAAA;AAuCD,eAAO,MAAM,kBAAkB,6BAAuB,CAAA"}
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compileToSQLFilter = exports.baseSQLFilterCompilers = exports.createSQLColumnFilterCompiler = exports.createSQLExpressionFilterCompiler = exports.createSQLFilterNamespace = exports.createSQLRelationFilterCompiler = exports.notSQLFilterCompiler = exports.orSQLFilterCompiler = exports.andSQLFilterCompiler = void 0;
3
+ exports.compileToSQLFilter = exports.baseSQLFilterCompilers = void 0;
4
+ exports.andSQLFilterCompiler = andSQLFilterCompiler;
5
+ exports.orSQLFilterCompiler = orSQLFilterCompiler;
6
+ exports.notSQLFilterCompiler = notSQLFilterCompiler;
7
+ exports.createSQLRelationFilterCompiler = createSQLRelationFilterCompiler;
8
+ exports.createSQLFilterNamespace = createSQLFilterNamespace;
9
+ exports.createSQLExpressionFilterCompiler = createSQLExpressionFilterCompiler;
10
+ exports.createSQLColumnFilterCompiler = createSQLColumnFilterCompiler;
4
11
  const simple_errors_1 = require("@simonbackx/simple-errors");
5
12
  const SQL_1 = require("../SQL");
6
13
  const SQLExpressions_1 = require("../SQLExpressions");
@@ -10,17 +17,14 @@ function andSQLFilterCompiler(filter, filters) {
10
17
  const runners = compileSQLFilter(filter, filters);
11
18
  return new SQLWhere_1.SQLWhereAnd(runners);
12
19
  }
13
- exports.andSQLFilterCompiler = andSQLFilterCompiler;
14
20
  function orSQLFilterCompiler(filter, filters) {
15
21
  const runners = compileSQLFilter(filter, filters);
16
22
  return new SQLWhere_1.SQLWhereOr(runners);
17
23
  }
18
- exports.orSQLFilterCompiler = orSQLFilterCompiler;
19
24
  function notSQLFilterCompiler(filter, filters) {
20
25
  const andRunner = andSQLFilterCompiler(filter, filters);
21
26
  return new SQLWhere_1.SQLWhereNot(andRunner);
22
27
  }
23
- exports.notSQLFilterCompiler = notSQLFilterCompiler;
24
28
  function guardScalar(s) {
25
29
  if (typeof s !== 'string' && typeof s !== 'number' && typeof s !== 'boolean' && !(s instanceof Date) && s !== null) {
26
30
  throw new Error('Invalid scalar value');
@@ -47,16 +51,14 @@ function createSQLRelationFilterCompiler(baseSelect, definitions) {
47
51
  throw new Error('Invalid filter');
48
52
  };
49
53
  }
50
- exports.createSQLRelationFilterCompiler = createSQLRelationFilterCompiler;
51
54
  // Already joined, but creates a namespace
52
55
  function createSQLFilterNamespace(definitions) {
53
56
  return (filter) => {
54
57
  return andSQLFilterCompiler(filter, definitions);
55
58
  };
56
59
  }
57
- exports.createSQLFilterNamespace = createSQLFilterNamespace;
58
- function createSQLExpressionFilterCompiler(sqlExpression, normalizeValue, isJSONValue = false, isJSONObject = false) {
59
- const norm = normalizeValue !== null && normalizeValue !== void 0 ? normalizeValue : ((v) => v);
60
+ function createSQLExpressionFilterCompiler(sqlExpression, { normalizeValue, isJSONObject = false, isJSONValue = false, nullable = false } = {}) {
61
+ const norm = normalizeValue ?? ((v) => v);
60
62
  const convertToExpression = isJSONValue ? SQLExpressions_1.scalarToSQLJSONExpression : SQLExpressions_1.scalarToSQLExpression;
61
63
  return (filter, filters) => {
62
64
  if (typeof filter === 'string' || typeof filter === 'number' || typeof filter === 'boolean' || filter === null || filter === undefined) {
@@ -125,14 +127,6 @@ function createSQLExpressionFilterCompiler(sqlExpression, normalizeValue, isJSON
125
127
  guardScalar(f.$neq);
126
128
  if (isJSONObject) {
127
129
  const v = norm(f.$eq);
128
- // if (typeof v === 'string') {
129
- // return new SQLWhereEqual(
130
- // new SQLJsonSearch(sqlExpression, 'one', convertToExpression(v)),
131
- // SQLWhereSign.Equal,
132
- // new SQLNull()
133
- // );
134
- // }
135
- // else
136
130
  return new SQLWhere_1.SQLWhereEqual(new SQLJsonExpressions_1.SQLJsonContains(sqlExpression, convertToExpression(JSON.stringify(v))), SQLWhere_1.SQLWhereSign.Equal, new SQLExpressions_1.SQLSafeValue(0));
137
131
  }
138
132
  return new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.NotEqual, convertToExpression(norm(f.$neq)));
@@ -146,6 +140,7 @@ function createSQLExpressionFilterCompiler(sqlExpression, normalizeValue, isJSON
146
140
  // > null is same as not equal to null (everything is larger than null in mysql) - to be consistent with order by behaviour
147
141
  return new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.NotEqual, convertToExpression(null));
148
142
  }
143
+ // For MySQL null values are never included in greater than, but we need this for consistent sorting behaviour
149
144
  return new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.Greater, convertToExpression(norm(f.$gt)));
150
145
  }
151
146
  if ('$gte' in f) {
@@ -168,6 +163,14 @@ function createSQLExpressionFilterCompiler(sqlExpression, normalizeValue, isJSON
168
163
  // <= null is same as equal to null
169
164
  return new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.Equal, convertToExpression(norm(f.$lte)));
170
165
  }
166
+ const base = new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.LessEqual, convertToExpression(norm(f.$lte)));
167
+ if (nullable) {
168
+ return new SQLWhere_1.SQLWhereOr([
169
+ // Null values are also smaller than any value - required for sorting
170
+ new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.Equal, new SQLExpressions_1.SQLNull()),
171
+ base
172
+ ]);
173
+ }
171
174
  return new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.LessEqual, convertToExpression(norm(f.$lte)));
172
175
  }
173
176
  if ('$lt' in f) {
@@ -179,24 +182,34 @@ function createSQLExpressionFilterCompiler(sqlExpression, normalizeValue, isJSON
179
182
  // < null is always nothing, there is nothing smaller than null in MySQL - to be consistent with order by behaviour
180
183
  return new SQLWhere_1.SQLWhereEqual(new SQLExpressions_1.SQLSafeValue(1), SQLWhere_1.SQLWhereSign.Equal, new SQLExpressions_1.SQLSafeValue(0));
181
184
  }
182
- return new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.Less, convertToExpression(norm(f.$lt)));
185
+ const base = new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.Less, convertToExpression(norm(f.$lt)));
186
+ if (nullable) {
187
+ return new SQLWhere_1.SQLWhereOr([
188
+ // Null values are also smaller than any value - required for sorting
189
+ new SQLWhere_1.SQLWhereEqual(sqlExpression, SQLWhere_1.SQLWhereSign.Equal, new SQLExpressions_1.SQLNull()),
190
+ base
191
+ ]);
192
+ }
193
+ return base;
183
194
  }
184
195
  if ('$contains' in f) {
185
196
  guardString(f.$contains);
186
197
  if (isJSONObject) {
187
198
  return new SQLWhere_1.SQLWhereEqual(new SQLJsonExpressions_1.SQLJsonSearch(sqlExpression, 'one', convertToExpression('%' + SQLWhere_1.SQLWhereLike.escape(f.$contains) + '%')), SQLWhere_1.SQLWhereSign.NotEqual, new SQLExpressions_1.SQLNull());
188
199
  }
200
+ if (isJSONValue) {
201
+ // We need to do case insensitive search, so need to convert the sqlExpression from utf8mb4 to varchar
202
+ return new SQLWhere_1.SQLWhereLike(new SQLExpressions_1.SQLCast(new SQLJsonExpressions_1.SQLJsonUnquote(sqlExpression), 'CHAR'), convertToExpression('%' + SQLWhere_1.SQLWhereLike.escape(f.$contains) + '%'));
203
+ }
189
204
  return new SQLWhere_1.SQLWhereLike(sqlExpression, convertToExpression('%' + SQLWhere_1.SQLWhereLike.escape(f.$contains) + '%'));
190
205
  }
191
206
  throw new Error('Invalid filter ' + JSON.stringify(f));
192
207
  };
193
208
  }
194
- exports.createSQLExpressionFilterCompiler = createSQLExpressionFilterCompiler;
195
- function createSQLColumnFilterCompiler(name, normalizeValue) {
209
+ function createSQLColumnFilterCompiler(name, options) {
196
210
  const column = name instanceof SQLExpressions_1.SQLColumnExpression ? name : SQL_1.SQL.column(name);
197
- return createSQLExpressionFilterCompiler(column, normalizeValue);
211
+ return createSQLExpressionFilterCompiler(column, options);
198
212
  }
199
- exports.createSQLColumnFilterCompiler = createSQLColumnFilterCompiler;
200
213
  exports.baseSQLFilterCompilers = {
201
214
  '$and': andSQLFilterCompiler,
202
215
  '$or': orSQLFilterCompiler,
@@ -1 +1 @@
1
- {"version":3,"file":"SQLFilter.js","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLFilter.js","sourceRoot":"","sources":["../../../src/filters/SQLFilter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compileToSQLSorter = void 0;
3
+ exports.compileToSQLSorter = compileToSQLSorter;
4
4
  const SQLOrderBy_1 = require("../SQLOrderBy");
5
5
  function compileToSQLSorter(sortBy, definitions) {
6
6
  const sorters = [];
@@ -16,5 +16,4 @@ function compileToSQLSorter(sortBy, definitions) {
16
16
  }
17
17
  return SQLOrderBy_1.SQLOrderBy.combine(sorters);
18
18
  }
19
- exports.compileToSQLSorter = compileToSQLSorter;
20
19
  //# sourceMappingURL=SQLSorter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLSorter.js","sourceRoot":"","sources":["../../../src/filters/SQLSorter.ts"],"names":[],"mappings":";;;AAGA,8CAAgE;AAQhE,SAAgB,kBAAkB,CAAC,MAAgB,EAAE,WAA+B;IAChF,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QAChD,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,uBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACtC,CAAC;AAjBD,gDAiBC"}
1
+ {"version":3,"file":"SQLSorter.js","sourceRoot":"","sources":["../../../src/filters/SQLSorter.ts"],"names":[],"mappings":";;AAWA,gDAiBC;AAzBD,8CAAgE;AAQhE,SAAgB,kBAAkB,CAAC,MAAgB,EAAE,WAA+B;IAChF,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QAChD,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,uBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/sql",
3
- "version": "2.10.2",
3
+ "version": "2.16.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -12,5 +12,5 @@
12
12
  "scripts": {
13
13
  "build": "tsc -b"
14
14
  },
15
- "gitHead": "07413822cace1cd39c94c24b8ebef2dda9a89ff9"
15
+ "gitHead": "d5f1a4dda2c1623058e96e8ff25d837b28e51bd6"
16
16
  }
package/src/SQL.ts CHANGED
@@ -1,9 +1,10 @@
1
+ import { SQLResultNamespacedRow } from "@simonbackx/simple-database";
2
+ import { SQLDelete } from "./SQLDelete";
1
3
  import { SQLExpression } from "./SQLExpression";
2
- import { SQLSelect } from "./SQLSelect";
3
- import { SQLColumnExpression, SQLSafeValue, SQLTableExpression, SQLWildcardSelectExpression, scalarToSQLExpression } from "./SQLExpressions";
4
+ import { SQLColumnExpression, SQLSafeValue, SQLTableExpression, SQLWildcardSelectExpression } from "./SQLExpressions";
4
5
  import { SQLJoin, SQLJoinType } from "./SQLJoin";
5
6
  import { SQLJsonExtract, SQLJsonLength } from "./SQLJsonExpressions";
6
- import { SQLDelete } from "./SQLDelete";
7
+ import { parseTable, SQLSelect } from "./SQLSelect";
7
8
 
8
9
  class StaticSQL {
9
10
  wildcard(namespace?: string) {
@@ -36,7 +37,7 @@ class StaticSQL {
36
37
  return new SQLTableExpression(namespaceOrTable, table)
37
38
  }
38
39
 
39
- select(...columns: SQLExpression[]): InstanceType<typeof SQLSelect> {
40
+ select(...columns: (SQLExpression|string)[]): InstanceType<typeof SQLSelect<SQLResultNamespacedRow>> {
40
41
  if (columns.length === 0) {
41
42
  return new SQLSelect(this.wildcard())
42
43
  }
@@ -47,20 +48,32 @@ class StaticSQL {
47
48
  return new SQLDelete()
48
49
  }
49
50
 
50
- leftJoin(table: SQLExpression) {
51
- return new SQLJoin(SQLJoinType.Left, table)
51
+ leftJoin(namespace: string, table: string);
52
+ leftJoin(table: string);
53
+ leftJoin(expression: SQLExpression);
54
+ leftJoin(tableOrExpressiongOrNamespace: SQLExpression|string, table?: string) {
55
+ return new SQLJoin(SQLJoinType.Left, parseTable(tableOrExpressiongOrNamespace, table))
52
56
  }
53
57
 
54
- rightJoin(table: SQLExpression) {
55
- return new SQLJoin(SQLJoinType.Right, table)
58
+ rightJoin(namespace: string, table: string);
59
+ rightJoin(table: string);
60
+ rightJoin(expression: SQLExpression);
61
+ rightJoin(tableOrExpressiongOrNamespace: SQLExpression|string, table?: string) {
62
+ return new SQLJoin(SQLJoinType.Right, parseTable(tableOrExpressiongOrNamespace, table))
56
63
  }
57
64
 
58
- innerJoin(table: SQLExpression) {
59
- return new SQLJoin(SQLJoinType.Inner, table)
65
+ innerJoin(namespace: string, table: string);
66
+ innerJoin(table: string);
67
+ innerJoin(expression: SQLExpression);
68
+ innerJoin(tableOrExpressiongOrNamespace: SQLExpression|string, table?: string) {
69
+ return new SQLJoin(SQLJoinType.Inner, parseTable(tableOrExpressiongOrNamespace, table))
60
70
  }
61
71
 
62
- join(table: SQLExpression) {
63
- return new SQLJoin(SQLJoinType.Inner, table)
72
+ join(namespace: string, table: string);
73
+ join(table: string);
74
+ join(expression: SQLExpression);
75
+ join(tableOrExpressiongOrNamespace: SQLExpression|string, table?: string) {
76
+ return new SQLJoin(SQLJoinType.Inner, parseTable(tableOrExpressiongOrNamespace, table))
64
77
  }
65
78
  }
66
79
 
package/src/SQLDelete.ts CHANGED
@@ -1,16 +1,13 @@
1
1
  import { Database } from "@simonbackx/simple-database";
2
2
  import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery, normalizeSQLQuery } from "./SQLExpression";
3
3
  import { SQLJoin } from './SQLJoin';
4
- import { SQLWhere, addWhereHelpers } from "./SQLWhere";
4
+ import { SQLWhere, Whereable } from "./SQLWhere";
5
5
 
6
- class DeleteBase implements SQLExpression {
6
+ class EmptyClass {}
7
+ export class SQLDelete extends Whereable(EmptyClass) implements SQLExpression {
7
8
  _from: SQLExpression;
8
- _where: SQLWhere|null = null;
9
9
  _joins: (InstanceType<typeof SQLJoin>)[] = [];
10
10
 
11
- constructor() {
12
- }
13
-
14
11
  clone(): this {
15
12
  const c = new SQLDelete()
16
13
  Object.assign(c, this);
@@ -63,5 +60,3 @@ class DeleteBase implements SQLExpression {
63
60
  return this.delete().then(onFulfilled, onRejected);
64
61
  }
65
62
  }
66
-
67
- export const SQLDelete = addWhereHelpers(DeleteBase)
@@ -150,6 +150,26 @@ export class SQLAge implements SQLExpression {
150
150
  }
151
151
  }
152
152
 
153
+ export class SQLCast implements SQLExpression {
154
+ value: SQLExpression
155
+ as = 'CHAR'
156
+
157
+ constructor(value: SQLExpression, as = 'CHAR') {
158
+ this.value = value;
159
+ this.as = as;
160
+ }
161
+
162
+ getSQL(options?: SQLExpressionOptions): SQLQuery {
163
+ return joinSQLQuery([
164
+ 'CAST( ',
165
+ this.value.getSQL(options),
166
+ ' AS ',
167
+ this.as,
168
+ ')'
169
+ ])
170
+ }
171
+ }
172
+
153
173
  export class SQLJSONValue implements SQLExpression {
154
174
  value: null|true|false;
155
175
 
package/src/SQLJoin.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery } from "./SQLExpression";
2
- import { SQLWhere, addWhereHelpers } from "./SQLWhere";
2
+ import { SQLWhere, Whereable } from "./SQLWhere";
3
3
 
4
4
  export enum SQLJoinType {
5
5
  Left = "Left",
@@ -8,12 +8,13 @@ export enum SQLJoinType {
8
8
  Outer = "Outer"
9
9
  }
10
10
 
11
- export class JoinBase implements SQLExpression {
11
+ class EmptyClass {}
12
+ export class SQLJoin extends Whereable(EmptyClass) implements SQLExpression {
12
13
  type = SQLJoinType.Left
13
14
  table: SQLExpression;
14
- _where: SQLWhere|null = null;
15
15
 
16
16
  constructor(type: SQLJoinType, table: SQLExpression) {
17
+ super();
17
18
  this.type = type;
18
19
  this.table = table;
19
20
  }
@@ -36,5 +37,3 @@ export class JoinBase implements SQLExpression {
36
37
  ], ' ')
37
38
  }
38
39
  }
39
-
40
- export const SQLJoin = addWhereHelpers(JoinBase)
package/src/SQLOrderBy.ts CHANGED
@@ -1,26 +1,28 @@
1
1
  import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery } from "./SQLExpression";
2
2
 
3
- type GConstructor<T = {}> = new (...args: any[]) => T;
4
- type Orderable = GConstructor<{ _orderBy: SQLOrderBy|null }>;
3
+ type Constructor<T = {}> = new (...args: any[]) => T;
5
4
 
6
- export function addOrderByHelpers<TBase extends Orderable>(Base: TBase) {
5
+ export function Orderable<Sup extends Constructor<{}>>(Base: Sup) {
7
6
  return class extends Base {
8
-
9
- orderBy(orderBy: SQLOrderBy)
10
- orderBy(column: SQLExpression, direction?: SQLOrderByDirection)
11
- orderBy(columnOrOrderBy: SQLExpression, direction?: SQLOrderByDirection) {
7
+ _orderBy: SQLOrderBy|null = null
8
+
9
+ orderBy<T>(this: T, orderBy: SQLOrderBy): T
10
+ orderBy<T>(this: T, column: SQLExpression, direction?: SQLOrderByDirection) : T
11
+ orderBy<T>(this: T, columnOrOrderBy: SQLExpression, direction?: SQLOrderByDirection): T {
12
12
  let o = columnOrOrderBy as SQLOrderBy
13
13
  if (!(columnOrOrderBy instanceof SQLOrderBy)) {
14
14
  o = new SQLOrderBy({column: columnOrOrderBy, direction: direction ?? 'ASC'})
15
15
  }
16
16
 
17
- if (this._orderBy) {
18
- this._orderBy.add(o)
17
+ const me = this as any; // stupid typescript looses type information if we don't do the this: T dance
18
+
19
+ if (me._orderBy) {
20
+ me._orderBy.add(o)
19
21
  } else {
20
- this._orderBy = o;
22
+ me._orderBy = o;
21
23
  }
22
24
 
23
- return this;
25
+ return me;
24
26
  }
25
27
  }
26
28
  }
@@ -60,4 +62,4 @@ export class SQLOrderBy implements SQLExpression {
60
62
  )
61
63
  ])
62
64
  }
63
- }
65
+ }
package/src/SQLSelect.ts CHANGED
@@ -1,24 +1,42 @@
1
+ import { Database, SQLResultNamespacedRow } from "@simonbackx/simple-database";
1
2
  import { SQLExpression, SQLExpressionOptions, SQLQuery, joinSQLQuery, normalizeSQLQuery } from "./SQLExpression";
2
- import { SQLOrderBy, addOrderByHelpers } from "./SQLOrderBy";
3
- import { SQLWhere, addWhereHelpers } from "./SQLWhere";
4
- import {Database, SQLResultNamespacedRow} from "@simonbackx/simple-database"
5
- import {SQLJoin} from './SQLJoin'
6
- import { SQLAlias, SQLCount, SQLSelectAs, SQLSum, SQLWildcardSelectExpression } from "./SQLExpressions";
3
+ import { SQLAlias, SQLColumnExpression, SQLCount, SQLSelectAs, SQLSum, SQLTableExpression } from "./SQLExpressions";
4
+ import { SQLJoin } from './SQLJoin';
5
+ import { Orderable } from "./SQLOrderBy";
6
+ import { Whereable } from "./SQLWhere";
7
+
8
+ class EmptyClass {}
9
+
10
+ export function parseTable(tableOrExpressiongOrNamespace: SQLExpression|string, table?: string): SQLExpression {
11
+ if (table !== undefined && typeof tableOrExpressiongOrNamespace === 'string') {
12
+ return new SQLTableExpression(tableOrExpressiongOrNamespace, table)
13
+ } else if (typeof tableOrExpressiongOrNamespace === 'string') {
14
+ return new SQLTableExpression(tableOrExpressiongOrNamespace)
15
+ } else {
16
+ return tableOrExpressiongOrNamespace;
17
+ }
18
+ }
7
19
 
8
- class SelectBase implements SQLExpression {
20
+ export class SQLSelect<T = SQLResultNamespacedRow> extends Whereable(Orderable(EmptyClass)) implements SQLExpression {
9
21
  _columns: SQLExpression[]
10
22
  _from: SQLExpression;
11
23
 
12
24
  _limit: number|null = null;
13
25
  _offset: number|null = null;
14
-
15
- _where: SQLWhere|null = null;
16
- _orderBy: SQLOrderBy|null = null;
17
26
  _groupBy: SQLExpression[] = [];
18
27
  _joins: (InstanceType<typeof SQLJoin>)[] = [];
19
28
 
20
- constructor(...columns: SQLExpression[]) {
21
- this._columns = columns;
29
+ _transformer: ((row: SQLResultNamespacedRow) => T)|null = null;
30
+
31
+ constructor(...columns: (SQLExpression|string)[])
32
+ constructor(transformer: ((row: SQLResultNamespacedRow) => T),...columns: (SQLExpression|string)[])
33
+ constructor(...columns: (SQLExpression|string|((row: SQLResultNamespacedRow) => T))[]) {
34
+ super();
35
+
36
+ if (typeof columns[0] === 'function') {
37
+ this._transformer = columns.shift() as any;
38
+ }
39
+ this._columns = columns.map(c => typeof c === 'string' ? new SQLColumnExpression(c) : c ) as any;
22
40
  }
23
41
 
24
42
  clone(): this {
@@ -27,8 +45,12 @@ class SelectBase implements SQLExpression {
27
45
  return c as any;
28
46
  }
29
47
 
30
- from(table: SQLExpression): this {
31
- this._from = table;
48
+ from(namespace: string, table: string): this
49
+ from(table: string): this
50
+ from(expression: SQLExpression): this
51
+ from(tableOrExpressiongOrNamespace: SQLExpression|string, table?: string): this {
52
+ this._from = parseTable(tableOrExpressiongOrNamespace, table);
53
+
32
54
  return this;
33
55
  }
34
56
 
@@ -98,10 +120,11 @@ class SelectBase implements SQLExpression {
98
120
  return this;
99
121
  }
100
122
 
101
- async fetch(): Promise<SQLResultNamespacedRow[]> {
123
+ async fetch(): Promise<T[]> {
102
124
  const {query, params} = normalizeSQLQuery(this.getSQL())
103
125
 
104
- console.log(query, params);
126
+ // when debugging: log all queries
127
+ //console.log(query, params);
105
128
  const [rows] = await Database.select(query, params, {nestTables: true});
106
129
 
107
130
  // Now map aggregated queries to the correct namespace
@@ -121,12 +144,16 @@ class SelectBase implements SQLExpression {
121
144
  delete row[''];
122
145
  }
123
146
  }
124
- return rows;
147
+
148
+ if (this._transformer) {
149
+ return rows.map(this._transformer);
150
+ }
151
+ return rows as T[];
125
152
  }
126
153
 
127
- first(required: false): Promise<SQLResultNamespacedRow|null>
128
- first(required: true): Promise<SQLResultNamespacedRow>
129
- async first(required = true): Promise<SQLResultNamespacedRow|null> {
154
+ first(required: false): Promise<T|null>
155
+ first(required: true): Promise<T>
156
+ async first(required = true): Promise<T|null> {
130
157
  const rows = await this.limit(1).fetch();
131
158
  if (rows.length === 0) {
132
159
  if (required) {
@@ -134,6 +161,7 @@ class SelectBase implements SQLExpression {
134
161
  }
135
162
  return null;
136
163
  }
164
+
137
165
  return rows[0]
138
166
  }
139
167
 
@@ -199,8 +227,3 @@ class SelectBase implements SQLExpression {
199
227
  return 0;
200
228
  }
201
229
  }
202
-
203
- export const SQLSelect = addOrderByHelpers(
204
- addWhereHelpers(SelectBase)
205
- )
206
-