@stamhoofd/sql 2.83.5 → 2.84.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 (176) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +9 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/QueryableModel.d.ts +1 -0
  6. package/dist/src/QueryableModel.d.ts.map +1 -1
  7. package/dist/src/QueryableModel.js +20 -2
  8. package/dist/src/QueryableModel.js.map +1 -1
  9. package/dist/src/SQL.d.ts +9 -16
  10. package/dist/src/SQL.d.ts.map +1 -1
  11. package/dist/src/SQL.js +16 -13
  12. package/dist/src/SQL.js.map +1 -1
  13. package/dist/src/SQLDelete.d.ts +2 -2
  14. package/dist/src/SQLDelete.d.ts.map +1 -1
  15. package/dist/src/SQLDelete.js +13 -3
  16. package/dist/src/SQLDelete.js.map +1 -1
  17. package/dist/src/SQLExpression.d.ts +3 -0
  18. package/dist/src/SQLExpression.d.ts.map +1 -1
  19. package/dist/src/SQLExpression.js.map +1 -1
  20. package/dist/src/SQLExpressions.d.ts +17 -6
  21. package/dist/src/SQLExpressions.d.ts.map +1 -1
  22. package/dist/src/SQLExpressions.js +20 -12
  23. package/dist/src/SQLExpressions.js.map +1 -1
  24. package/dist/src/SQLJoin.d.ts +3 -3
  25. package/dist/src/SQLJoin.d.ts.map +1 -1
  26. package/dist/src/SQLJoin.js +5 -1
  27. package/dist/src/SQLJoin.js.map +1 -1
  28. package/dist/src/SQLJsonExpressions.d.ts +22 -0
  29. package/dist/src/SQLJsonExpressions.d.ts.map +1 -1
  30. package/dist/src/SQLJsonExpressions.js +56 -4
  31. package/dist/src/SQLJsonExpressions.js.map +1 -1
  32. package/dist/src/SQLSelect.d.ts +10 -4
  33. package/dist/src/SQLSelect.d.ts.map +1 -1
  34. package/dist/src/SQLSelect.js +25 -11
  35. package/dist/src/SQLSelect.js.map +1 -1
  36. package/dist/src/SQLWhere.d.ts +29 -1
  37. package/dist/src/SQLWhere.d.ts.map +1 -1
  38. package/dist/src/SQLWhere.js +181 -12
  39. package/dist/src/SQLWhere.js.map +1 -1
  40. package/dist/src/filters/SQLFilter.d.ts +1 -0
  41. package/dist/src/filters/SQLFilter.d.ts.map +1 -1
  42. package/dist/src/filters/SQLFilter.js +8 -0
  43. package/dist/src/filters/SQLFilter.js.map +1 -1
  44. package/dist/src/filters/modern/SQLModernFilter.d.ts +73 -0
  45. package/dist/src/filters/modern/SQLModernFilter.d.ts.map +1 -0
  46. package/dist/src/filters/modern/SQLModernFilter.js +200 -0
  47. package/dist/src/filters/modern/SQLModernFilter.js.map +1 -0
  48. package/dist/src/filters/modern/compilers/contains.d.ts +4 -0
  49. package/dist/src/filters/modern/compilers/contains.d.ts.map +1 -0
  50. package/dist/src/filters/modern/compilers/contains.js +28 -0
  51. package/dist/src/filters/modern/compilers/contains.js.map +1 -0
  52. package/dist/src/filters/modern/compilers/equals.d.ts +4 -0
  53. package/dist/src/filters/modern/compilers/equals.d.ts.map +1 -0
  54. package/dist/src/filters/modern/compilers/equals.js +46 -0
  55. package/dist/src/filters/modern/compilers/equals.js.map +1 -0
  56. package/dist/src/filters/modern/compilers/greater.d.ts +4 -0
  57. package/dist/src/filters/modern/compilers/greater.d.ts.map +1 -0
  58. package/dist/src/filters/modern/compilers/greater.js +17 -0
  59. package/dist/src/filters/modern/compilers/greater.js.map +1 -0
  60. package/dist/src/filters/modern/compilers/in.d.ts +4 -0
  61. package/dist/src/filters/modern/compilers/in.d.ts.map +1 -0
  62. package/dist/src/filters/modern/compilers/in.js +50 -0
  63. package/dist/src/filters/modern/compilers/in.js.map +1 -0
  64. package/dist/src/filters/modern/compilers/index.d.ts +5 -0
  65. package/dist/src/filters/modern/compilers/index.d.ts.map +1 -0
  66. package/dist/src/filters/modern/compilers/index.js +8 -0
  67. package/dist/src/filters/modern/compilers/index.js.map +1 -0
  68. package/dist/src/filters/modern/compilers/less.d.ts +4 -0
  69. package/dist/src/filters/modern/compilers/less.d.ts.map +1 -0
  70. package/dist/src/filters/modern/compilers/less.js +17 -0
  71. package/dist/src/filters/modern/compilers/less.js.map +1 -0
  72. package/dist/src/filters/modern/helpers/isJSONColumn.d.ts +4 -0
  73. package/dist/src/filters/modern/helpers/isJSONColumn.d.ts.map +1 -0
  74. package/dist/src/filters/modern/helpers/isJSONColumn.js +16 -0
  75. package/dist/src/filters/modern/helpers/isJSONColumn.js.map +1 -0
  76. package/dist/src/filters/modern/helpers/normalizeCompareValue.d.ts +9 -0
  77. package/dist/src/filters/modern/helpers/normalizeCompareValue.d.ts.map +1 -0
  78. package/dist/src/filters/modern/helpers/normalizeCompareValue.js +82 -0
  79. package/dist/src/filters/modern/helpers/normalizeCompareValue.js.map +1 -0
  80. package/dist/tests/filters/$and.test.d.ts +2 -0
  81. package/dist/tests/filters/$and.test.d.ts.map +1 -0
  82. package/dist/tests/filters/$and.test.js +185 -0
  83. package/dist/tests/filters/$and.test.js.map +1 -0
  84. package/dist/tests/filters/$contains.test.d.ts +2 -0
  85. package/dist/tests/filters/$contains.test.d.ts.map +1 -0
  86. package/dist/tests/filters/$contains.test.js +701 -0
  87. package/dist/tests/filters/$contains.test.js.map +1 -0
  88. package/dist/tests/filters/$eq.test.d.ts +2 -0
  89. package/dist/tests/filters/$eq.test.d.ts.map +1 -0
  90. package/dist/tests/filters/$eq.test.js +986 -0
  91. package/dist/tests/filters/$eq.test.js.map +1 -0
  92. package/dist/tests/filters/$gt.test.d.ts +2 -0
  93. package/dist/tests/filters/$gt.test.d.ts.map +1 -0
  94. package/dist/tests/filters/$gt.test.js +463 -0
  95. package/dist/tests/filters/$gt.test.js.map +1 -0
  96. package/dist/tests/filters/$gte.test.d.ts +2 -0
  97. package/dist/tests/filters/$gte.test.d.ts.map +1 -0
  98. package/dist/tests/filters/$gte.test.js +433 -0
  99. package/dist/tests/filters/$gte.test.js.map +1 -0
  100. package/dist/tests/filters/$in.test.d.ts +2 -0
  101. package/dist/tests/filters/$in.test.d.ts.map +1 -0
  102. package/dist/tests/filters/$in.test.js +590 -0
  103. package/dist/tests/filters/$in.test.js.map +1 -0
  104. package/dist/tests/filters/$lt.test.d.ts +2 -0
  105. package/dist/tests/filters/$lt.test.d.ts.map +1 -0
  106. package/dist/tests/filters/$lt.test.js +433 -0
  107. package/dist/tests/filters/$lt.test.js.map +1 -0
  108. package/dist/tests/filters/$lte.test.d.ts +2 -0
  109. package/dist/tests/filters/$lte.test.d.ts.map +1 -0
  110. package/dist/tests/filters/$lte.test.js +472 -0
  111. package/dist/tests/filters/$lte.test.js.map +1 -0
  112. package/dist/tests/filters/$neq.test.d.ts +2 -0
  113. package/dist/tests/filters/$neq.test.d.ts.map +1 -0
  114. package/dist/tests/filters/$neq.test.js +32 -0
  115. package/dist/tests/filters/$neq.test.js.map +1 -0
  116. package/dist/tests/filters/$not.test.d.ts +2 -0
  117. package/dist/tests/filters/$not.test.d.ts.map +1 -0
  118. package/dist/tests/filters/$not.test.js +50 -0
  119. package/dist/tests/filters/$not.test.js.map +1 -0
  120. package/dist/tests/filters/$or.test.d.ts +2 -0
  121. package/dist/tests/filters/$or.test.d.ts.map +1 -0
  122. package/dist/tests/filters/$or.test.js +185 -0
  123. package/dist/tests/filters/$or.test.js.map +1 -0
  124. package/dist/tests/filters/dot-syntax.test.d.ts +2 -0
  125. package/dist/tests/filters/dot-syntax.test.d.ts.map +1 -0
  126. package/dist/tests/filters/dot-syntax.test.js +210 -0
  127. package/dist/tests/filters/dot-syntax.test.js.map +1 -0
  128. package/dist/tests/filters/exists.test.d.ts +2 -0
  129. package/dist/tests/filters/exists.test.d.ts.map +1 -0
  130. package/dist/tests/filters/exists.test.js +106 -0
  131. package/dist/tests/filters/exists.test.js.map +1 -0
  132. package/dist/tests/filters/joined-relations.test.d.ts +2 -0
  133. package/dist/tests/filters/joined-relations.test.d.ts.map +1 -0
  134. package/dist/tests/filters/joined-relations.test.js +167 -0
  135. package/dist/tests/filters/joined-relations.test.js.map +1 -0
  136. package/dist/tests/filters/special-cases.test.d.ts +2 -0
  137. package/dist/tests/filters/special-cases.test.d.ts.map +1 -0
  138. package/dist/tests/filters/special-cases.test.js +114 -0
  139. package/dist/tests/filters/special-cases.test.js.map +1 -0
  140. package/dist/tests/filters/wildcard.test.d.ts +2 -0
  141. package/dist/tests/filters/wildcard.test.d.ts.map +1 -0
  142. package/dist/tests/filters/wildcard.test.js +67 -0
  143. package/dist/tests/filters/wildcard.test.js.map +1 -0
  144. package/dist/tests/jest.global.setup.d.ts +3 -0
  145. package/dist/tests/jest.global.setup.d.ts.map +1 -0
  146. package/dist/tests/jest.global.setup.js +7 -0
  147. package/dist/tests/jest.global.setup.js.map +1 -0
  148. package/dist/tests/jest.setup.d.ts +2 -0
  149. package/dist/tests/jest.setup.d.ts.map +1 -0
  150. package/dist/tests/jest.setup.js +5 -0
  151. package/dist/tests/jest.setup.js.map +1 -0
  152. package/dist/tests/utils/index.d.ts +57 -0
  153. package/dist/tests/utils/index.d.ts.map +1 -0
  154. package/dist/tests/utils/index.js +206 -0
  155. package/dist/tests/utils/index.js.map +1 -0
  156. package/dist/tsconfig.tsbuildinfo +1 -1
  157. package/package.json +4 -3
  158. package/src/QueryableModel.ts +22 -2
  159. package/src/SQL.ts +21 -30
  160. package/src/SQLDelete.ts +26 -15
  161. package/src/SQLExpression.ts +4 -0
  162. package/src/SQLExpressions.ts +23 -14
  163. package/src/SQLJoin.ts +8 -4
  164. package/src/SQLJsonExpressions.ts +65 -4
  165. package/src/SQLSelect.ts +31 -15
  166. package/src/SQLWhere.ts +208 -13
  167. package/src/filters/SQLFilter.ts +8 -0
  168. package/src/filters/modern/SQLModernFilter.ts +256 -0
  169. package/src/filters/modern/compilers/contains.ts +43 -0
  170. package/src/filters/modern/compilers/equals.ts +72 -0
  171. package/src/filters/modern/compilers/greater.ts +20 -0
  172. package/src/filters/modern/compilers/in.ts +62 -0
  173. package/src/filters/modern/compilers/index.ts +4 -0
  174. package/src/filters/modern/compilers/less.ts +19 -0
  175. package/src/filters/modern/helpers/isJSONColumn.ts +13 -0
  176. package/src/filters/modern/helpers/normalizeCompareValue.ts +95 -0
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './src/SQLJsonExpressions';
5
5
  export * from './src/SQLWhere';
6
6
  export * from './src/SQLSelect';
7
7
  export * from './src/filters/SQLFilter';
8
+ export { createColumnFilter, createWildcardColumnFilter, createExistsFilter, createJoinedRelationFilter, SQLModernValueType, compileToModernSQLFilter, baseModernSQLFilterCompilers, SQLModernFilterDefinitions } from './src/filters/modern/SQLModernFilter';
8
9
  export * from './src/filters/SQLSorter';
9
10
  export * from './src/SQLOrderBy';
10
11
  export * from './src/SQLInsert';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAC9P,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.baseModernSQLFilterCompilers = exports.compileToModernSQLFilter = exports.SQLModernValueType = exports.createJoinedRelationFilter = exports.createExistsFilter = exports.createWildcardColumnFilter = exports.createColumnFilter = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  tslib_1.__exportStar(require("./src/SQL"), exports);
5
6
  tslib_1.__exportStar(require("./src/SQLExpression"), exports);
@@ -8,6 +9,14 @@ tslib_1.__exportStar(require("./src/SQLJsonExpressions"), exports);
8
9
  tslib_1.__exportStar(require("./src/SQLWhere"), exports);
9
10
  tslib_1.__exportStar(require("./src/SQLSelect"), exports);
10
11
  tslib_1.__exportStar(require("./src/filters/SQLFilter"), exports);
12
+ var SQLModernFilter_1 = require("./src/filters/modern/SQLModernFilter");
13
+ Object.defineProperty(exports, "createColumnFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createColumnFilter; } });
14
+ Object.defineProperty(exports, "createWildcardColumnFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createWildcardColumnFilter; } });
15
+ Object.defineProperty(exports, "createExistsFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createExistsFilter; } });
16
+ Object.defineProperty(exports, "createJoinedRelationFilter", { enumerable: true, get: function () { return SQLModernFilter_1.createJoinedRelationFilter; } });
17
+ Object.defineProperty(exports, "SQLModernValueType", { enumerable: true, get: function () { return SQLModernFilter_1.SQLModernValueType; } });
18
+ Object.defineProperty(exports, "compileToModernSQLFilter", { enumerable: true, get: function () { return SQLModernFilter_1.compileToModernSQLFilter; } });
19
+ Object.defineProperty(exports, "baseModernSQLFilterCompilers", { enumerable: true, get: function () { return SQLModernFilter_1.baseModernSQLFilterCompilers; } });
11
20
  tslib_1.__exportStar(require("./src/filters/SQLSorter"), exports);
12
21
  tslib_1.__exportStar(require("./src/SQLOrderBy"), exports);
13
22
  tslib_1.__exportStar(require("./src/SQLInsert"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,8DAAoC;AACpC,+DAAqC;AACrC,mEAAyC;AACzC,yDAA+B;AAC/B,0DAAgC;AAChC,kEAAwC;AACxC,kEAAwC;AACxC,2DAAiC;AACjC,0DAAgC;AAChC,+DAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAC1B,8DAAoC;AACpC,+DAAqC;AACrC,mEAAyC;AACzC,yDAA+B;AAC/B,0DAAgC;AAChC,kEAAwC;AACxC,wEAA8P;AAArP,qHAAA,kBAAkB,OAAA;AAAE,6HAAA,0BAA0B,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,6HAAA,0BAA0B,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AAAE,2HAAA,wBAAwB,OAAA;AAAE,+HAAA,4BAA4B,OAAA;AACnL,kEAAwC;AACxC,2DAAiC;AACjC,0DAAgC;AAChC,+DAAqC"}
@@ -9,5 +9,6 @@ export declare class QueryableModel extends Model {
9
9
  static update(): SQLUpdate;
10
10
  static insert(): SQLInsert;
11
11
  refresh(): Promise<void>;
12
+ static refreshAll<T extends typeof QueryableModel>(this: T, list: InstanceType<T>[]): Promise<void>;
12
13
  }
13
14
  //# sourceMappingURL=QueryableModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryableModel.d.ts","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA0B,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,cAAe,SAAQ,KAAK;IACrC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAe1E,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAIpB,OAAO;CAahB"}
1
+ {"version":3,"file":"QueryableModel.d.ts","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAA0B,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,cAAe,SAAQ,KAAK;IACrC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAe1E,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAI1B,MAAM,CAAC,MAAM,IAAI,SAAS;IAIpB,OAAO;WAWA,UAAU,CAAC,CAAC,SAAS,OAAO,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE;CAsB5F"}
@@ -31,8 +31,26 @@ class QueryableModel extends simple_database_1.Model {
31
31
  throw new Error('Cannot refresh a model that has unsaved changes');
32
32
  }
33
33
  const me = await this.static.select().where(this.static.primary.name, this.getPrimaryKey()).first(true);
34
- for (const column of this.static.columns.values()) {
35
- this[column.name] = me[column.name];
34
+ this.copyFrom(me);
35
+ }
36
+ static async refreshAll(list) {
37
+ // Cut up in batches of max 100
38
+ const batchSize = 100;
39
+ for (let i = 0; i < list.length; i += batchSize) {
40
+ const batch = list.slice(i, i + batchSize);
41
+ const ids = list.map(item => item.getPrimaryKey()).filter(id => id !== null);
42
+ if (ids.length === 0) {
43
+ continue;
44
+ }
45
+ const refreshed = await this.getByIDs(...ids);
46
+ for (const item of batch) {
47
+ const refreshedItem = refreshed.find(r => r.getPrimaryKey() === item.getPrimaryKey());
48
+ if (refreshedItem) {
49
+ for (const column of this.columns.values()) {
50
+ item[column.name] = refreshedItem[column.name];
51
+ }
52
+ }
53
+ }
36
54
  }
37
55
  }
38
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QueryableModel.js","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":";;;AAAA,iEAA4E;AAC5E,2CAAwC;AACxC,+BAA4B;AAK5B,MAAa,cAAe,SAAQ,uBAAK;IACrC,MAAM,CAAC,MAAM;QACT,MAAM,WAAW,GAAG,CAAC,GAA2B,EAAmB,EAAE;YACjE,MAAM,CAAC,GAAI,IAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAgC,CAAC;YAErF,IAAI,CAAC,CAAC,EAAE,CAAC;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,qBAAS,CAAC,WAAW,EAAE,SAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEnE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,EAAE,GAAG,MAAO,IAAI,CAAC,MAAgC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnI,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;CACJ;AAzCD,wCAyCC"}
1
+ {"version":3,"file":"QueryableModel.js","sourceRoot":"","sources":["../../src/QueryableModel.ts"],"names":[],"mappings":";;;AAAA,iEAA4E;AAC5E,2CAAwC;AACxC,+BAA4B;AAK5B,MAAa,cAAe,SAAQ,uBAAK;IACrC,MAAM,CAAC,MAAM;QACT,MAAM,WAAW,GAAG,CAAC,GAA2B,EAAmB,EAAE;YACjE,MAAM,CAAC,GAAI,IAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAQ,CAAgC,CAAC;YAErF,IAAI,CAAC,CAAC,EAAE,CAAC;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,CAAC,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,qBAAS,CAAC,WAAW,EAAE,SAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,MAAM;QACT,OAAO,SAAG,CAAC,MAAM,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEnE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,EAAE,GAAG,MAAO,IAAI,CAAC,MAAgC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAA2C,IAAuB;QACrF,+BAA+B;QAC/B,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YAC7E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;YAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBACtF,IAAI,aAAa,EAAE,CAAC;oBAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;wBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA7DD,wCA6DC"}
package/dist/src/SQL.d.ts CHANGED
@@ -4,19 +4,20 @@ import { SQLExpression } from './SQLExpression';
4
4
  import { SQLAssignment, SQLColumnExpression, SQLColumnExpressionParams, SQLIf, SQLScalarValue, SQLTableExpression, SQLWildcardSelectExpression } from './SQLExpressions';
5
5
  import { SQLInsert } from './SQLInsert';
6
6
  import { SQLJoin } from './SQLJoin';
7
- import { SQLJsonExtract, SQLJsonLength, SQLJsonUnquote, SQLLpad } from './SQLJsonExpressions';
8
- import { SQLSelect } from './SQLSelect';
7
+ import { SQLJsonExtract, SQLJsonKeys, SQLJsonLength, SQLJsonUnquote, SQLLpad } from './SQLJsonExpressions';
8
+ import { parseTable, SQLSelect } from './SQLSelect';
9
9
  import { SQLUpdate } from './SQLUpdate';
10
10
  import { ParseWhereArguments, SQLWhere } from './SQLWhere';
11
11
  declare class StaticSQL {
12
12
  wildcard(namespace?: string): SQLWildcardSelectExpression;
13
13
  column(...args: SQLColumnExpressionParams): SQLColumnExpression;
14
+ parentColumn(column: string): SQLColumnExpression;
14
15
  jsonValue(column: SQLExpression, path: string, asScalar?: boolean): SQLJsonExtract;
16
+ jsonKeys(column: SQLExpression): SQLJsonKeys;
15
17
  lpad(column: SQLExpression, length: number, value: string): SQLLpad;
16
18
  jsonUnquotedValue(column: SQLExpression, path: string): SQLJsonUnquote;
17
19
  jsonLength(column: SQLExpression, path?: string): SQLJsonLength;
18
- table(namespace: string, table: string): SQLTableExpression;
19
- table(table: string): SQLTableExpression;
20
+ table(table: string, asNamespace?: string): SQLTableExpression;
20
21
  select(...columns: (SQLExpression | string)[]): InstanceType<typeof SQLSelect<SQLResultNamespacedRow>>;
21
22
  insert(tableName: SQLTableExpression | string): InstanceType<typeof SQLInsert>;
22
23
  update(tableName: SQLTableExpression | string): InstanceType<typeof SQLUpdate>;
@@ -24,18 +25,10 @@ declare class StaticSQL {
24
25
  where(...args: ParseWhereArguments): SQLWhere;
25
26
  whereNot(...args: ParseWhereArguments): SQLWhere;
26
27
  delete(): InstanceType<typeof SQLDelete>;
27
- leftJoin(namespace: string, table: string): SQLJoin;
28
- leftJoin(table: string): SQLJoin;
29
- leftJoin(expression: SQLExpression): SQLJoin;
30
- rightJoin(namespace: string, table: string): SQLJoin;
31
- rightJoin(table: string): SQLJoin;
32
- rightJoin(expression: SQLExpression): SQLJoin;
33
- innerJoin(namespace: string, table: string): SQLJoin;
34
- innerJoin(table: string): SQLJoin;
35
- innerJoin(expression: SQLExpression): SQLJoin;
36
- join(namespace: string, table: string): SQLJoin;
37
- join(table: string): SQLJoin;
38
- join(expression: SQLExpression): SQLJoin;
28
+ leftJoin(...args: Parameters<typeof parseTable>): SQLJoin;
29
+ rightJoin(...args: Parameters<typeof parseTable>): SQLJoin;
30
+ innerJoin(...args: Parameters<typeof parseTable>): SQLJoin;
31
+ join(...args: Parameters<typeof parseTable>): SQLJoin;
39
32
  if(...args: ConstructorParameters<typeof SQLIf>): SQLIf;
40
33
  }
41
34
  export declare const SQL: StaticSQL;
@@ -1 +1 @@
1
- {"version":3,"file":"SQL.d.ts","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQL.d.ts","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAmB,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,KAAK,EAA+C,cAAc,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACtN,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAe,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAiB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,cAAM,SAAS;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAI3B,MAAM,CAAC,GAAG,IAAI,EAAE,yBAAyB,GAAG,mBAAmB;IAI/D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAIjD,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,cAAc;IAIhF,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IAI5C,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAInE,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAItE,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa;IAI/D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAI9D,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,sBAAsB,CAAC,CAAC;IAOtG,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC;IAI9E,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC;IAI9E,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,aAAa;IAI7F,KAAK,CAAC,GAAG,IAAI,EAAE,mBAAmB,GAAG,QAAQ;IAI7C,QAAQ,CAAC,GAAG,IAAI,EAAE,mBAAmB,GAAG,QAAQ;IAIhD,MAAM,IAAI,YAAY,CAAC,OAAO,SAAS,CAAC;IAIxC,QAAQ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAIzD,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAI1D,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAI1D,IAAI,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,OAAO;IAIrD,EAAE,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK;CAG1D;AAED,eAAO,MAAM,GAAG,WAAkB,CAAC"}
package/dist/src/SQL.js CHANGED
@@ -17,9 +17,15 @@ class StaticSQL {
17
17
  column(...args) {
18
18
  return new SQLExpressions_1.SQLColumnExpression(...args);
19
19
  }
20
+ parentColumn(column) {
21
+ return new SQLExpressions_1.SQLColumnExpression(SQLExpressions_1.SQLParentNamespace, column);
22
+ }
20
23
  jsonValue(column, path, asScalar = false) {
21
24
  return new SQLJsonExpressions_1.SQLJsonExtract(column, asScalar ? new SQLExpressions_1.SQLScalar(path) : new SQLExpressions_1.SQLSafeValue(path));
22
25
  }
26
+ jsonKeys(column) {
27
+ return new SQLJsonExpressions_1.SQLJsonKeys(column);
28
+ }
23
29
  lpad(column, length, value) {
24
30
  return new SQLJsonExpressions_1.SQLLpad(column, new SQLExpressions_1.SQLSafeValue(length), new SQLExpressions_1.SQLSafeValue(value));
25
31
  }
@@ -29,11 +35,8 @@ class StaticSQL {
29
35
  jsonLength(column, path) {
30
36
  return new SQLJsonExpressions_1.SQLJsonLength(column, path ? new SQLExpressions_1.SQLSafeValue(path) : undefined);
31
37
  }
32
- table(namespaceOrTable, table) {
33
- if (table === undefined) {
34
- return new SQLExpressions_1.SQLTableExpression(namespaceOrTable);
35
- }
36
- return new SQLExpressions_1.SQLTableExpression(namespaceOrTable, table);
38
+ table(table, asNamespace) {
39
+ return new SQLExpressions_1.SQLTableExpression(table, asNamespace);
37
40
  }
38
41
  select(...columns) {
39
42
  if (columns.length === 0) {
@@ -59,17 +62,17 @@ class StaticSQL {
59
62
  delete() {
60
63
  return new SQLDelete_1.SQLDelete();
61
64
  }
62
- leftJoin(tableOrExpressiongOrNamespace, table) {
63
- return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Left, (0, SQLSelect_1.parseTable)(tableOrExpressiongOrNamespace, table));
65
+ leftJoin(...args) {
66
+ return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Left, (0, SQLSelect_1.parseTable)(...args));
64
67
  }
65
- rightJoin(tableOrExpressiongOrNamespace, table) {
66
- return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Right, (0, SQLSelect_1.parseTable)(tableOrExpressiongOrNamespace, table));
68
+ rightJoin(...args) {
69
+ return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Right, (0, SQLSelect_1.parseTable)(...args));
67
70
  }
68
- innerJoin(tableOrExpressiongOrNamespace, table) {
69
- return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(tableOrExpressiongOrNamespace, table));
71
+ innerJoin(...args) {
72
+ return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(...args));
70
73
  }
71
- join(tableOrExpressiongOrNamespace, table) {
72
- return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(tableOrExpressiongOrNamespace, table));
74
+ join(...args) {
75
+ return new SQLJoin_1.SQLJoin(SQLJoin_1.SQLJoinType.Inner, (0, SQLSelect_1.parseTable)(...args));
73
76
  }
74
77
  if(...args) {
75
78
  return new SQLExpressions_1.SQLIf(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQL.js","sourceRoot":"","sources":["../../src/SQL.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from "./SQLExpression";
1
+ import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
2
2
  import { SQLJoin } from './SQLJoin';
3
- import { SQLWhere } from "./SQLWhere";
3
+ import { SQLWhere } from './SQLWhere';
4
4
  declare class EmptyClass {
5
5
  }
6
6
  declare const SQLDelete_base: {
@@ -1 +1 @@
1
- {"version":3,"file":"SQLDelete.d.ts","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAEjD,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAE9C,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKhC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAK9C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAwB1C,MAAM,IAAI,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,CAAC;IAQzC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGlH"}
1
+ {"version":3,"file":"SQLDelete.d.ts","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAmC,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAa,MAAM,YAAY,CAAC;AAEjD,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAM;IAE9C,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKhC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,IAAI;IAK9C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IA+B1C,MAAM,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAY3C,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAGpH"}
@@ -24,20 +24,30 @@ class SQLDelete extends (0, SQLWhere_1.Whereable)(EmptyClass) {
24
24
  }
25
25
  getSQL(options) {
26
26
  const query = [
27
- 'DELETE'
27
+ 'DELETE',
28
28
  ];
29
29
  options = options ?? {};
30
30
  options.defaultNamespace = this._from.namespace ?? this._from.table ?? undefined;
31
31
  query.push('FROM');
32
32
  query.push(this._from.getSQL(options));
33
33
  query.push(...this._joins.map(j => j.getSQL(options)));
34
+ // Where
34
35
  if (this._where) {
35
- query.push('WHERE');
36
- query.push(this._where.getSQL(options));
36
+ const always = this._where.isAlways;
37
+ if (always === false) {
38
+ throw new Error('Cannot use SQLDelete with a where that is not always true');
39
+ }
40
+ else if (always === null) {
41
+ query.push('WHERE');
42
+ query.push(this._where.getSQL(options));
43
+ }
37
44
  }
38
45
  return (0, SQLExpression_1.joinSQLQuery)(query, ' ');
39
46
  }
40
47
  async delete() {
48
+ if (this._where && this._where.isAlways === false) {
49
+ return { affectedRows: 0 };
50
+ }
41
51
  const { query, params } = (0, SQLExpression_1.normalizeSQLQuery)(this.getSQL());
42
52
  console.log(query, params);
43
53
  const [rows] = await simple_database_1.Database.delete(query, params);
@@ -1 +1 @@
1
- {"version":3,"file":"SQLDelete.js","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAiH;AAEjH,yCAAiD;AAEjD,MAAM,UAAU;CAAG;AACnB,MAAa,SAAU,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAChD,KAAK,CAAgB;IACrB,MAAM,GAAqC,EAAE,CAAC;IAE9C,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAA;QACzB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO,CAAQ,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,KAAoB;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAkC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,MAAM,KAAK,GAAe;YACtB,QAAQ;SACX,CAAA;QAED,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,OAAO,CAAC,gBAAgB,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,IAAK,IAAI,CAAC,KAAa,CAAC,KAAK,IAAI,SAAS,CAAC;QAEnG,KAAK,CAAC,IAAI,CACN,MAAM,CACT,CAAA;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAExD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAmD,EAAE,UAAgC;QAC5F,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;CACJ;AAvDD,8BAuDC"}
1
+ {"version":3,"file":"SQLDelete.js","sourceRoot":"","sources":["../../src/SQLDelete.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AACvD,mDAAiH;AAEjH,yCAAiD;AAEjD,MAAM,UAAU;CAAG;AACnB,MAAa,SAAU,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAChD,KAAK,CAAgB;IACrB,MAAM,GAAqC,EAAE,CAAC;IAE9C,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvB,OAAO,CAAQ,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,KAAoB;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,IAAkC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,MAAM,KAAK,GAAe;YACtB,QAAQ;SACX,CAAC;QAEF,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,gBAAgB,GAAI,IAAI,CAAC,KAAa,CAAC,SAAS,IAAK,IAAI,CAAC,KAAa,CAAC,KAAK,IAAI,SAAS,CAAC;QAEnG,KAAK,CAAC,IAAI,CACN,MAAM,CACT,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEvD,QAAQ;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YACjF,CAAC;iBACI,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAED,OAAO,IAAA,4BAAY,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,0BAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAqD,EAAE,UAAgC;QAC9F,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;CACJ;AAlED,8BAkEC"}
@@ -12,5 +12,8 @@ export declare function normalizeSQLQuery(q: SQLQuery): NormalizedSQLQuery;
12
12
  export interface SQLExpression {
13
13
  getSQL(options?: SQLExpressionOptions): SQLQuery;
14
14
  }
15
+ export interface SQLNamedExpression extends SQLExpression {
16
+ getName(): string;
17
+ }
15
18
  export declare function isSQLExpression(obj: unknown): obj is SQLExpression;
16
19
  //# sourceMappingURL=SQLExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLExpression.d.ts","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAEnD,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAM7G;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKjE;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC;CACpD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAElE"}
1
+ {"version":3,"file":"SQLExpression.d.ts","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,MAAM,CAAC;AAEnD,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAM7G;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAKjE;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC;CACpD;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACrD,OAAO,IAAI,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAElE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SQLExpression.js","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":";;AAQA,oCAMC;AAED,8CAKC;AAMD,0CAEC;AArBD,SAAgB,YAAY,CAAC,OAAwC,EAAE,SAAkB;IACrF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7D,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACnF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;KACvE,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAW;IACzC,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1C,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;KAChD,CAAC;AACN,CAAC;AAMD,SAAgB,eAAe,CAAC,GAAY;IACxC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAE,GAAW,CAAC,MAAM,IAAI,OAAQ,GAAW,CAAC,MAAM,KAAK,UAAU,CAAC;AACzH,CAAC"}
1
+ {"version":3,"file":"SQLExpression.js","sourceRoot":"","sources":["../../src/SQLExpression.ts"],"names":[],"mappings":";;AAQA,oCAMC;AAED,8CAKC;AAUD,0CAEC;AAzBD,SAAgB,YAAY,CAAC,OAAwC,EAAE,SAAkB;IACrF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7D,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACnF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;KACvE,CAAC;AACN,CAAC;AAED,SAAgB,iBAAiB,CAAC,CAAW;IACzC,OAAO;QACH,KAAK,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1C,MAAM,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;KAChD,CAAC;AACN,CAAC;AAUD,SAAgB,eAAe,CAAC,GAAY;IACxC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAE,GAAW,CAAC,MAAM,IAAI,OAAQ,GAAW,CAAC,MAAM,KAAK,UAAU,CAAC;AACzH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
1
+ import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery } from './SQLExpression';
2
2
  import { ParseWhereArguments } from './SQLWhere';
3
3
  export type SQLScalarValue = string | number | boolean | Date;
4
4
  export type SQLDynamicExpression = SQLScalarValue | SQLScalarValue[] | null | SQLExpression;
@@ -86,11 +86,14 @@ export declare class SQLCast implements SQLExpression {
86
86
  constructor(value: SQLExpression, as?: string);
87
87
  getSQL(options?: SQLExpressionOptions): SQLQuery;
88
88
  }
89
- export declare class SQLJSONValue implements SQLExpression {
89
+ declare class SQLCastedJson implements SQLExpression {
90
90
  value: null | true | false;
91
91
  constructor(value: null | true | false);
92
92
  getSQL(options?: SQLExpressionOptions): SQLQuery;
93
93
  }
94
+ export declare const SQLJSONNull: SQLCastedJson;
95
+ export declare const SQLJSONTrue: SQLCastedJson;
96
+ export declare const SQLJSONFalse: SQLCastedJson;
94
97
  export declare class SQLNull implements SQLExpression {
95
98
  getSQL(options?: SQLExpressionOptions): SQLQuery;
96
99
  }
@@ -139,12 +142,19 @@ export declare class SQLColumnExpression implements SQLExpression {
139
142
  constructor(...args: SQLColumnExpressionParams);
140
143
  getSQL(options?: SQLExpressionOptions): SQLQuery;
141
144
  }
142
- export declare class SQLTableExpression implements SQLExpression {
143
- namespace?: string;
145
+ export declare class SQLTableExpression implements SQLNamedExpression {
146
+ /**
147
+ * By default the table name will be used as the namespace by MySQL.
148
+ */
149
+ asNamespace?: string;
150
+ /**
151
+ * For now this is just a string, but thearetically it could be a subquery.
152
+ * We don't support that yet, as those queries are not optimized for performance.
153
+ */
144
154
  table: string;
145
- constructor(namespace: string, table: string);
146
- constructor(table: string);
155
+ constructor(table: string, asNamespace?: string);
147
156
  getSQL(options?: SQLExpressionOptions): SQLQuery;
157
+ getName(): string;
148
158
  }
149
159
  export declare class SQLIf implements SQLExpression {
150
160
  _if: SQLExpression;
@@ -155,4 +165,5 @@ export declare class SQLIf implements SQLExpression {
155
165
  else(_else: SQLDynamicExpression): SQLIf;
156
166
  getSQL(options?: SQLExpressionOptions): SQLQuery;
157
167
  }
168
+ export {};
158
169
  //# sourceMappingURL=SQLExpressions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLExpressions.d.ts","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLExpressions.d.ts","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,cAAc,EAAE,GAAG,IAAI,GAAG,aAAa,CAAC;AAE5F,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,aAAa,CAM7E;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,oBAAoB,GAAG,aAAa,CAa/E;AAED,qBAAa,WAAY,YAAW,aAAa;IAC7C,UAAU,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,aAAa;IAIrC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAMnD;AAED,qBAAa,aAAc,YAAW,aAAa;IAC/C,UAAU,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,aAAa;IAIrC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,QAAS,YAAW,aAAa;IAC1C,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;gBAErB,UAAU,GAAE,aAAa,GAAG,IAAW;IAInD,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,QAAS,YAAW,aAAa;IAC1C,UAAU,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,aAAa;IAIrC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,WAAY,YAAW,aAAa;IAC7C,MAAM,IAAI,QAAQ;CAGrB;AAED,qBAAa,qBAAsB,YAAW,aAAa;IACvD,MAAM,IAAI,QAAQ;CAGrB;AAED,qBAAa,YAAa,YAAW,aAAa;IAC9C,MAAM,IAAI,QAAQ;CAGrB;AAED,qBAAa,WAAY,YAAW,aAAa;IAC7C,WAAW,EAAE,oBAAoB,EAAE,CAAC;gBAExB,GAAG,WAAW,EAAE,oBAAoB,EAAE;IAIlD,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,cAAe,YAAW,aAAa;IAChD,WAAW,EAAE,aAAa,EAAE,CAAC;gBAEjB,GAAG,WAAW,EAAE,aAAa,EAAE;IAI3C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AAED,qBAAa,MAAO,YAAW,aAAa;IACxC,UAAU,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,aAAa;IAIrC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,MAAO,YAAW,aAAa;IACxC,UAAU,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,aAAa;IAIrC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,WAAY,YAAW,aAAa;IAC7C,UAAU,EAAE,aAAa,CAAC;IAC1B,EAAE,EAAE,QAAQ,CAAC;gBAED,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ;IAKnD,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,aAAc,YAAW,aAAa;IAC/C,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;gBAET,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAKpD,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,QAAS,YAAW,aAAa;IAC1C,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM;IAIxB,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AAED,qBAAa,SAAU,YAAW,aAAa;IAC3C,WAAW,EAAE,aAAa,EAAE,CAAC;gBAEjB,GAAG,WAAW,EAAE,aAAa,EAAE;IAI3C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,MAAO,YAAW,aAAa;IACxC,UAAU,EAAE,aAAa,CAAC;gBAEd,UAAU,EAAE,aAAa;IAIrC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,OAAQ,YAAW,aAAa;IACzC,KAAK,EAAE,aAAa,CAAC;IACrB,EAAE,SAAU;gBAEA,KAAK,EAAE,aAAa,EAAE,EAAE,SAAS;IAK7C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CASnD;AAED,cAAM,aAAc,YAAW,aAAa;IACxC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;gBAEf,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK;IAItC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AACD,eAAO,MAAM,WAAW,eAA0B,CAAC;AACnD,eAAO,MAAM,WAAW,eAA0B,CAAC;AACnD,eAAO,MAAM,YAAY,eAA2B,CAAC;AAErD,qBAAa,OAAQ,YAAW,aAAa;IACzC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AAED,qBAAa,MAAO,YAAW,aAAa;IACxC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AAED,qBAAa,SAAU,YAAW,aAAa;IAC3C,KAAK,EAAE,cAAc,CAAC;gBAEV,KAAK,EAAE,cAAc;IAIjC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAMnD;AAED,qBAAa,YAAa,YAAW,aAAa;IAC9C,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;gBAEX,KAAK,EAAE,MAAM,GAAG,MAAM;IAIlC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AAED,qBAAa,QAAS,YAAW,aAAa;IAC1C,KAAK,EAAE,cAAc,EAAE,CAAC;gBAEZ,KAAK,EAAE,cAAc,EAAE;IAInC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAMnD;AAED,qBAAa,2BAA4B,YAAW,aAAa;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEP,SAAS,CAAC,EAAE,MAAM;IAI9B,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AAED,qBAAa,sBAAuB,YAAW,aAAa;IACxD,SAAS,EAAE,MAAM,CAAC;gBAEN,SAAS,EAAE,MAAM;IAI7B,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAGnD;AAED,eAAO,MAAM,mBAAmB,EAAE,aAOjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAOhC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,SAAS,EAAE,MAAM,GAAG,aAAa;IACjC,MAAM,EAAE,MAAM;CACjB,GAAG;IACA,MAAM,EAAE,MAAM;CACjB,CAAC;AAEF,qBAAa,mBAAoB,YAAW,aAAa;IACrD,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;gBAEH,GAAG,IAAI,EAAE,yBAAyB;IAkB9C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAOnD;AAED,qBAAa,kBAAmB,YAAW,kBAAkB;IACzD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAK/C,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAOhD,OAAO,IAAI,MAAM;CAGpB;AAED,qBAAa,KAAM,YAAW,aAAa;IACvC,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,aAAa,CAAiB;IACrC,KAAK,EAAE,aAAa,CAAiB;gBAEzB,GAAG,IAAI,EAAE,mBAAmB;IAIxC,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,KAAK;IAKvC,IAAI,CAAC,KAAK,EAAE,oBAAoB,GAAG,KAAK;IAKxC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAWnD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SQLIf = exports.SQLTableExpression = exports.SQLColumnExpression = exports.SQLParentNamespace = exports.SQLDefaultNamespace = exports.SQLNamespaceExpression = exports.SQLWildcardSelectExpression = exports.SQLArray = exports.SQLSafeValue = exports.SQLScalar = exports.SQLNow = exports.SQLNull = exports.SQLJSONValue = exports.SQLCast = exports.SQLAge = exports.SQLConcat = exports.SQLAlias = exports.SQLAssignment = exports.SQLSelectAs = exports.SQLMin = exports.SQLSum = exports.SQLCalculation = exports.SQLGreatest = exports.SQLMinusSign = exports.SQLMultiplicationSign = exports.SQLPlusSign = exports.SQLLower = exports.SQLCount = exports.SQLCharLength = exports.SQLDistinct = void 0;
3
+ exports.SQLIf = exports.SQLTableExpression = exports.SQLColumnExpression = exports.SQLParentNamespace = exports.SQLDefaultNamespace = exports.SQLNamespaceExpression = exports.SQLWildcardSelectExpression = exports.SQLArray = exports.SQLSafeValue = exports.SQLScalar = exports.SQLNow = exports.SQLNull = exports.SQLJSONFalse = exports.SQLJSONTrue = exports.SQLJSONNull = exports.SQLCast = exports.SQLAge = exports.SQLConcat = exports.SQLAlias = exports.SQLAssignment = exports.SQLSelectAs = exports.SQLMin = exports.SQLSum = exports.SQLCalculation = exports.SQLGreatest = exports.SQLMinusSign = exports.SQLMultiplicationSign = exports.SQLPlusSign = exports.SQLLower = exports.SQLCount = exports.SQLCharLength = exports.SQLDistinct = void 0;
4
4
  exports.scalarToSQLExpression = scalarToSQLExpression;
5
5
  exports.readDynamicSQLExpression = readDynamicSQLExpression;
6
6
  const simple_database_1 = require("@simonbackx/simple-database");
@@ -237,7 +237,7 @@ class SQLCast {
237
237
  }
238
238
  }
239
239
  exports.SQLCast = SQLCast;
240
- class SQLJSONValue {
240
+ class SQLCastedJson {
241
241
  value;
242
242
  constructor(value) {
243
243
  this.value = value;
@@ -246,7 +246,9 @@ class SQLJSONValue {
246
246
  return "CAST('" + JSON.stringify(this.value) + "' AS JSON)";
247
247
  }
248
248
  }
249
- exports.SQLJSONValue = SQLJSONValue;
249
+ exports.SQLJSONNull = new SQLCastedJson(null);
250
+ exports.SQLJSONTrue = new SQLCastedJson(true);
251
+ exports.SQLJSONFalse = new SQLCastedJson(false);
250
252
  class SQLNull {
251
253
  getSQL(options) {
252
254
  return 'NULL';
@@ -362,21 +364,27 @@ class SQLColumnExpression {
362
364
  }
363
365
  exports.SQLColumnExpression = SQLColumnExpression;
364
366
  class SQLTableExpression {
365
- namespace;
367
+ /**
368
+ * By default the table name will be used as the namespace by MySQL.
369
+ */
370
+ asNamespace;
371
+ /**
372
+ * For now this is just a string, but thearetically it could be a subquery.
373
+ * We don't support that yet, as those queries are not optimized for performance.
374
+ */
366
375
  table;
367
- constructor(namespaceOrTable, table) {
368
- if (table === undefined) {
369
- this.table = namespaceOrTable;
370
- return;
371
- }
372
- this.namespace = namespaceOrTable;
376
+ constructor(table, asNamespace) {
377
+ this.asNamespace = asNamespace;
373
378
  this.table = table;
374
379
  }
375
380
  getSQL(options) {
376
- if (!this.namespace) {
381
+ if (!this.asNamespace) {
377
382
  return simple_database_1.Database.escapeId(this.table);
378
383
  }
379
- return simple_database_1.Database.escapeId(this.table) + ' ' + simple_database_1.Database.escapeId(this.namespace);
384
+ return simple_database_1.Database.escapeId(this.table) + ' ' + simple_database_1.Database.escapeId(this.asNamespace);
385
+ }
386
+ getName() {
387
+ return this.asNamespace ?? this.table;
380
388
  }
381
389
  }
382
390
  exports.SQLTableExpression = SQLTableExpression;
@@ -1 +1 @@
1
- {"version":3,"file":"SQLExpressions.js","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLExpressions.js","sourceRoot":"","sources":["../../src/SQLExpressions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression';
1
+ import { SQLExpression, SQLExpressionOptions, SQLNamedExpression, SQLQuery } from './SQLExpression';
2
2
  export declare enum SQLJoinType {
3
3
  Left = "Left",
4
4
  Right = "Right",
@@ -21,8 +21,8 @@ declare const SQLJoin_base: {
21
21
  } & typeof EmptyClass;
22
22
  export declare class SQLJoin extends SQLJoin_base implements SQLExpression {
23
23
  type: SQLJoinType;
24
- table: SQLExpression;
25
- constructor(type: SQLJoinType, table: SQLExpression);
24
+ table: SQLNamedExpression;
25
+ constructor(type: SQLJoinType, table: SQLNamedExpression);
26
26
  private getJoinPrefix;
27
27
  getSQL(options?: SQLExpressionOptions): SQLQuery;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SQLJoin.d.ts","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAG9F,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,OAAQ,SAAQ,YAAsB,YAAW,aAAa;IACvE,IAAI,cAAoB;IACxB,KAAK,EAAE,aAAa,CAAC;gBAET,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa;IAMnD,OAAO,CAAC,aAAa;IASrB,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAQnD"}
1
+ {"version":3,"file":"SQLJoin.d.ts","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAGlH,oBAAY,WAAW;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,cAAM,UAAU;CAAG;;;;;;;;;;;;;AACnB,qBAAa,OAAQ,SAAQ,YAAsB,YAAW,aAAa;IACvE,IAAI,cAAoB;IACxB,KAAK,EAAE,kBAAkB,CAAC;gBAEd,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB;IAMxD,OAAO,CAAC,aAAa;IASrB,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAYnD"}
@@ -33,7 +33,11 @@ class SQLJoin extends (0, SQLWhere_1.Whereable)(EmptyClass) {
33
33
  this.getJoinPrefix(),
34
34
  this.table?.getSQL(options),
35
35
  this._where ? 'ON' : undefined,
36
- this._where?.getSQL(options),
36
+ this._where?.getSQL({
37
+ ...options,
38
+ parentNamespace: options?.defaultNamespace,
39
+ defaultNamespace: this.table.getName(),
40
+ }),
37
41
  ], ' ');
38
42
  }
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,mDAA8F;AAC9F,yCAAuC;AAEvC,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,8BAAe,CAAA;AACnB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,MAAM,UAAU;CAAG;AACnB,MAAa,OAAQ,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAC9C,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IACxB,KAAK,CAAgB;IAErB,YAAY,IAAiB,EAAE,KAAoB;QAC/C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;YAC1C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;YAC5C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC;YACtC,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;QAChD,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;SAC/B,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;CACJ;AA3BD,0BA2BC"}
1
+ {"version":3,"file":"SQLJoin.js","sourceRoot":"","sources":["../../src/SQLJoin.ts"],"names":[],"mappings":";;;AAAA,mDAAkH;AAClH,yCAAuC;AAEvC,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,8BAAe,CAAA;AACnB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,MAAM,UAAU;CAAG;AACnB,MAAa,OAAQ,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;IAC9C,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IACxB,KAAK,CAAqB;IAE1B,YAAY,IAAiB,EAAE,KAAyB;QACpD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEO,aAAa;QACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,WAAW,CAAC;YAC1C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;YAC5C,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC;YACtC,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,YAAY,CAAC;QAChD,CAAC;IACL,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,OAAO,IAAA,4BAAY,EAAC;YAChB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChB,GAAG,OAAO;gBACV,eAAe,EAAE,OAAO,EAAE,gBAAgB;gBAC1C,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;aACzC,CAAC;SACL,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;CACJ;AA/BD,0BA+BC"}
@@ -7,6 +7,14 @@ export declare class SQLJsonUnquote implements SQLExpression {
7
7
  constructor(target: SQLExpression);
8
8
  getSQL(options?: SQLExpressionOptions): SQLQuery;
9
9
  }
10
+ export type SQLJsonValueType = 'FLOAT' | 'DOUBLE' | 'DECIMAL' | 'SIGNED' | 'UNSIGNED' | 'DATE' | 'TIME' | 'DATETIME' | 'YEAR' | 'CHAR' | 'JSON';
11
+ export declare class SQLJsonValue implements SQLExpression {
12
+ target: SQLExpression;
13
+ path: SQLExpression;
14
+ type?: SQLJsonValueType;
15
+ constructor(target: SQLExpression, type?: SQLJsonValueType, path?: SQLExpression);
16
+ getSQL(options?: SQLExpressionOptions): SQLQuery;
17
+ }
10
18
  /**
11
19
  * Same as target->path, JSON_EXTRACT(target, path)
12
20
  */
@@ -15,6 +23,20 @@ export declare class SQLJsonExtract implements SQLExpression {
15
23
  path: SQLExpression;
16
24
  constructor(target: SQLExpression, path: SQLExpression);
17
25
  getSQL(options?: SQLExpressionOptions): SQLQuery;
26
+ /**
27
+ * NOTE: this has to be combined with asScalar = true! Never let user input in a query without passing it as a parameter.
28
+ *
29
+ * E.g. SQL.jsonValue(SQL.column('settings'), `$.value.prices[*].bundleDiscounts.${SQLJsonExtract.escapePathComponent(key)}`, true) (note that last true!)
30
+ */
31
+ static escapePathComponent(str: string): string;
32
+ }
33
+ /**
34
+ * Same as target->path, JSON_EXTRACT(target, path)
35
+ */
36
+ export declare class SQLJsonKeys implements SQLExpression {
37
+ target: SQLExpression;
38
+ constructor(target: SQLExpression);
39
+ getSQL(options?: SQLExpressionOptions): SQLQuery;
18
40
  }
19
41
  export declare class SQLJsonLength implements SQLExpression {
20
42
  target: SQLExpression;