@stamhoofd/sql 2.119.0 → 2.120.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 (272) hide show
  1. package/dist/{src/ModelCache.d.ts → ModelCache.d.ts} +1 -1
  2. package/dist/ModelCache.d.ts.map +1 -0
  3. package/{src/ModelCache.ts → dist/ModelCache.js} +8 -16
  4. package/dist/ModelCache.js.map +1 -0
  5. package/dist/{src/QueryableModel.d.ts → QueryableModel.d.ts} +7 -6
  6. package/dist/QueryableModel.d.ts.map +1 -0
  7. package/dist/{src/QueryableModel.js → QueryableModel.js} +9 -13
  8. package/dist/QueryableModel.js.map +1 -0
  9. package/dist/{src/SQL.d.ts → SQL.d.ts} +7 -5
  10. package/dist/SQL.d.ts.map +1 -0
  11. package/dist/SQL.js +100 -0
  12. package/dist/SQL.js.map +1 -0
  13. package/dist/{src/SQLDelete.d.ts → SQLDelete.d.ts} +2 -2
  14. package/dist/SQLDelete.d.ts.map +1 -0
  15. package/dist/{src/SQLDelete.js → SQLDelete.js} +8 -12
  16. package/dist/SQLDelete.js.map +1 -0
  17. package/dist/SQLExpression.d.ts.map +1 -0
  18. package/dist/{src/SQLExpression.js → SQLExpression.js} +3 -8
  19. package/dist/SQLExpression.js.map +1 -0
  20. package/dist/{src/SQLExpressions.d.ts → SQLExpressions.d.ts} +2 -2
  21. package/dist/SQLExpressions.d.ts.map +1 -0
  22. package/dist/{src/SQLExpressions.js → SQLExpressions.js} +78 -115
  23. package/dist/SQLExpressions.js.map +1 -0
  24. package/dist/{src/SQLInsert.d.ts → SQLInsert.d.ts} +3 -2
  25. package/dist/SQLInsert.d.ts.map +1 -0
  26. package/dist/{src/SQLInsert.js → SQLInsert.js} +17 -21
  27. package/dist/SQLInsert.js.map +1 -0
  28. package/dist/{src/SQLJoin.d.ts → SQLJoin.d.ts} +1 -1
  29. package/dist/SQLJoin.d.ts.map +1 -0
  30. package/{src/SQLJoin.ts → dist/SQLJoin.js} +15 -18
  31. package/dist/SQLJoin.js.map +1 -0
  32. package/dist/{src/SQLJsonExpressions.d.ts → SQLJsonExpressions.d.ts} +2 -2
  33. package/dist/SQLJsonExpressions.d.ts.map +1 -0
  34. package/dist/{src/SQLJsonExpressions.js → SQLJsonExpressions.js} +31 -44
  35. package/dist/SQLJsonExpressions.js.map +1 -0
  36. package/dist/SQLLogger.d.ts.map +1 -0
  37. package/dist/{src/SQLLogger.js → SQLLogger.js} +5 -8
  38. package/dist/SQLLogger.js.map +1 -0
  39. package/dist/{src/SQLOrderBy.d.ts → SQLOrderBy.d.ts} +1 -1
  40. package/dist/SQLOrderBy.d.ts.map +1 -0
  41. package/dist/{src/SQLOrderBy.js → SQLOrderBy.js} +8 -13
  42. package/dist/SQLOrderBy.js.map +1 -0
  43. package/dist/{src/SQLSelect.d.ts → SQLSelect.d.ts} +3 -3
  44. package/dist/SQLSelect.d.ts.map +1 -0
  45. package/dist/{src/SQLSelect.js → SQLSelect.js} +24 -29
  46. package/dist/SQLSelect.js.map +1 -0
  47. package/dist/{src/SQLTranslatedStringHelper.d.ts → SQLTranslatedStringHelper.d.ts} +3 -2
  48. package/dist/SQLTranslatedStringHelper.d.ts.map +1 -0
  49. package/dist/SQLTranslatedStringHelper.js +33 -0
  50. package/dist/SQLTranslatedStringHelper.js.map +1 -0
  51. package/dist/{src/SQLUpdate.d.ts → SQLUpdate.d.ts} +3 -2
  52. package/dist/SQLUpdate.d.ts.map +1 -0
  53. package/{src/SQLUpdate.ts → dist/SQLUpdate.js} +18 -35
  54. package/dist/SQLUpdate.js.map +1 -0
  55. package/dist/{src/SQLWhere.d.ts → SQLWhere.d.ts} +3 -3
  56. package/dist/SQLWhere.d.ts.map +1 -0
  57. package/dist/{src/SQLWhere.js → SQLWhere.js} +42 -56
  58. package/dist/SQLWhere.js.map +1 -0
  59. package/dist/{src/filters → filters}/SQLFilter.d.ts +5 -5
  60. package/dist/filters/SQLFilter.d.ts.map +1 -0
  61. package/{src/filters/SQLFilter.ts → dist/filters/SQLFilter.js} +55 -121
  62. package/dist/filters/SQLFilter.js.map +1 -0
  63. package/dist/{src/filters → filters}/SQLSorter.d.ts +6 -6
  64. package/dist/filters/SQLSorter.d.ts.map +1 -0
  65. package/dist/{src/filters → filters}/SQLSorter.js +4 -7
  66. package/dist/filters/SQLSorter.js.map +1 -0
  67. package/dist/filters/compilers/contains.d.ts +4 -0
  68. package/dist/filters/compilers/contains.d.ts.map +1 -0
  69. package/{src/filters/compilers/contains.ts → dist/filters/compilers/contains.js} +7 -25
  70. package/dist/filters/compilers/contains.js.map +1 -0
  71. package/dist/filters/compilers/equals.d.ts +4 -0
  72. package/dist/filters/compilers/equals.d.ts.map +1 -0
  73. package/dist/filters/compilers/equals.js +44 -0
  74. package/dist/filters/compilers/equals.js.map +1 -0
  75. package/dist/filters/compilers/greater.d.ts +4 -0
  76. package/dist/filters/compilers/greater.d.ts.map +1 -0
  77. package/dist/filters/compilers/greater.js +15 -0
  78. package/dist/filters/compilers/greater.js.map +1 -0
  79. package/dist/filters/compilers/in.d.ts +4 -0
  80. package/dist/filters/compilers/in.d.ts.map +1 -0
  81. package/{src/filters/compilers/in.ts → dist/filters/compilers/in.js} +7 -21
  82. package/dist/filters/compilers/in.js.map +1 -0
  83. package/dist/filters/compilers/index.d.ts.map +1 -0
  84. package/{src/filters/compilers/index.ts → dist/filters/compilers/index.js} +1 -0
  85. package/dist/filters/compilers/index.js.map +1 -0
  86. package/dist/filters/compilers/less.d.ts +4 -0
  87. package/dist/filters/compilers/less.d.ts.map +1 -0
  88. package/dist/filters/compilers/less.js +15 -0
  89. package/dist/filters/compilers/less.js.map +1 -0
  90. package/dist/filters/helpers/isJSONColumn.d.ts +5 -0
  91. package/dist/filters/helpers/isJSONColumn.d.ts.map +1 -0
  92. package/{src/filters/helpers/isJSONColumn.ts → dist/filters/helpers/isJSONColumn.js} +4 -5
  93. package/dist/filters/helpers/isJSONColumn.js.map +1 -0
  94. package/dist/{src/filters → filters}/helpers/normalizeCompareValue.d.ts +1 -1
  95. package/dist/filters/helpers/normalizeCompareValue.d.ts.map +1 -0
  96. package/{src/filters/helpers/normalizeCompareValue.ts → dist/filters/helpers/normalizeCompareValue.js} +2 -20
  97. package/dist/filters/helpers/normalizeCompareValue.js.map +1 -0
  98. package/dist/index.d.ts +14 -14
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +14 -25
  101. package/dist/index.js.map +1 -1
  102. package/package.json +6 -6
  103. package/dist/src/ModelCache.d.ts.map +0 -1
  104. package/dist/src/ModelCache.js +0 -57
  105. package/dist/src/ModelCache.js.map +0 -1
  106. package/dist/src/QueryableModel.d.ts.map +0 -1
  107. package/dist/src/QueryableModel.js.map +0 -1
  108. package/dist/src/SQL.d.ts.map +0 -1
  109. package/dist/src/SQL.js +0 -103
  110. package/dist/src/SQL.js.map +0 -1
  111. package/dist/src/SQLDelete.d.ts.map +0 -1
  112. package/dist/src/SQLDelete.js.map +0 -1
  113. package/dist/src/SQLExpression.d.ts.map +0 -1
  114. package/dist/src/SQLExpression.js.map +0 -1
  115. package/dist/src/SQLExpressions.d.ts.map +0 -1
  116. package/dist/src/SQLExpressions.js.map +0 -1
  117. package/dist/src/SQLInsert.d.ts.map +0 -1
  118. package/dist/src/SQLInsert.js.map +0 -1
  119. package/dist/src/SQLJoin.d.ts.map +0 -1
  120. package/dist/src/SQLJoin.js +0 -61
  121. package/dist/src/SQLJoin.js.map +0 -1
  122. package/dist/src/SQLJsonExpressions.d.ts.map +0 -1
  123. package/dist/src/SQLJsonExpressions.js.map +0 -1
  124. package/dist/src/SQLLogger.d.ts.map +0 -1
  125. package/dist/src/SQLLogger.js.map +0 -1
  126. package/dist/src/SQLOrderBy.d.ts.map +0 -1
  127. package/dist/src/SQLOrderBy.js.map +0 -1
  128. package/dist/src/SQLSelect.d.ts.map +0 -1
  129. package/dist/src/SQLSelect.js.map +0 -1
  130. package/dist/src/SQLTranslatedStringHelper.d.ts.map +0 -1
  131. package/dist/src/SQLTranslatedStringHelper.js +0 -37
  132. package/dist/src/SQLTranslatedStringHelper.js.map +0 -1
  133. package/dist/src/SQLUpdate.d.ts.map +0 -1
  134. package/dist/src/SQLUpdate.js +0 -60
  135. package/dist/src/SQLUpdate.js.map +0 -1
  136. package/dist/src/SQLWhere.d.ts.map +0 -1
  137. package/dist/src/SQLWhere.js.map +0 -1
  138. package/dist/src/filters/SQLFilter.d.ts.map +0 -1
  139. package/dist/src/filters/SQLFilter.js +0 -220
  140. package/dist/src/filters/SQLFilter.js.map +0 -1
  141. package/dist/src/filters/SQLSorter.d.ts.map +0 -1
  142. package/dist/src/filters/SQLSorter.js.map +0 -1
  143. package/dist/src/filters/compilers/contains.d.ts +0 -4
  144. package/dist/src/filters/compilers/contains.d.ts.map +0 -1
  145. package/dist/src/filters/compilers/contains.js +0 -29
  146. package/dist/src/filters/compilers/contains.js.map +0 -1
  147. package/dist/src/filters/compilers/equals.d.ts +0 -4
  148. package/dist/src/filters/compilers/equals.d.ts.map +0 -1
  149. package/dist/src/filters/compilers/equals.js +0 -47
  150. package/dist/src/filters/compilers/equals.js.map +0 -1
  151. package/dist/src/filters/compilers/greater.d.ts +0 -4
  152. package/dist/src/filters/compilers/greater.d.ts.map +0 -1
  153. package/dist/src/filters/compilers/greater.js +0 -18
  154. package/dist/src/filters/compilers/greater.js.map +0 -1
  155. package/dist/src/filters/compilers/in.d.ts +0 -4
  156. package/dist/src/filters/compilers/in.d.ts.map +0 -1
  157. package/dist/src/filters/compilers/in.js +0 -51
  158. package/dist/src/filters/compilers/in.js.map +0 -1
  159. package/dist/src/filters/compilers/index.d.ts.map +0 -1
  160. package/dist/src/filters/compilers/index.js +0 -8
  161. package/dist/src/filters/compilers/index.js.map +0 -1
  162. package/dist/src/filters/compilers/less.d.ts +0 -4
  163. package/dist/src/filters/compilers/less.d.ts.map +0 -1
  164. package/dist/src/filters/compilers/less.js +0 -18
  165. package/dist/src/filters/compilers/less.js.map +0 -1
  166. package/dist/src/filters/helpers/isJSONColumn.d.ts +0 -4
  167. package/dist/src/filters/helpers/isJSONColumn.d.ts.map +0 -1
  168. package/dist/src/filters/helpers/isJSONColumn.js +0 -17
  169. package/dist/src/filters/helpers/isJSONColumn.js.map +0 -1
  170. package/dist/src/filters/helpers/normalizeCompareValue.d.ts.map +0 -1
  171. package/dist/src/filters/helpers/normalizeCompareValue.js +0 -87
  172. package/dist/src/filters/helpers/normalizeCompareValue.js.map +0 -1
  173. package/dist/tests/filters/$and.test.d.ts +0 -2
  174. package/dist/tests/filters/$and.test.d.ts.map +0 -1
  175. package/dist/tests/filters/$and.test.js +0 -216
  176. package/dist/tests/filters/$and.test.js.map +0 -1
  177. package/dist/tests/filters/$contains.test.d.ts +0 -2
  178. package/dist/tests/filters/$contains.test.d.ts.map +0 -1
  179. package/dist/tests/filters/$contains.test.js +0 -917
  180. package/dist/tests/filters/$contains.test.js.map +0 -1
  181. package/dist/tests/filters/$eq.test.d.ts +0 -2
  182. package/dist/tests/filters/$eq.test.d.ts.map +0 -1
  183. package/dist/tests/filters/$eq.test.js +0 -1464
  184. package/dist/tests/filters/$eq.test.js.map +0 -1
  185. package/dist/tests/filters/$gt.test.d.ts +0 -2
  186. package/dist/tests/filters/$gt.test.d.ts.map +0 -1
  187. package/dist/tests/filters/$gt.test.js +0 -641
  188. package/dist/tests/filters/$gt.test.js.map +0 -1
  189. package/dist/tests/filters/$gte.test.d.ts +0 -2
  190. package/dist/tests/filters/$gte.test.d.ts.map +0 -1
  191. package/dist/tests/filters/$gte.test.js +0 -433
  192. package/dist/tests/filters/$gte.test.js.map +0 -1
  193. package/dist/tests/filters/$in.test.d.ts +0 -2
  194. package/dist/tests/filters/$in.test.d.ts.map +0 -1
  195. package/dist/tests/filters/$in.test.js +0 -773
  196. package/dist/tests/filters/$in.test.js.map +0 -1
  197. package/dist/tests/filters/$lt.test.d.ts +0 -2
  198. package/dist/tests/filters/$lt.test.d.ts.map +0 -1
  199. package/dist/tests/filters/$lt.test.js +0 -433
  200. package/dist/tests/filters/$lt.test.js.map +0 -1
  201. package/dist/tests/filters/$lte.test.d.ts +0 -2
  202. package/dist/tests/filters/$lte.test.d.ts.map +0 -1
  203. package/dist/tests/filters/$lte.test.js +0 -472
  204. package/dist/tests/filters/$lte.test.js.map +0 -1
  205. package/dist/tests/filters/$neq.test.d.ts +0 -2
  206. package/dist/tests/filters/$neq.test.d.ts.map +0 -1
  207. package/dist/tests/filters/$neq.test.js +0 -32
  208. package/dist/tests/filters/$neq.test.js.map +0 -1
  209. package/dist/tests/filters/$not.test.d.ts +0 -2
  210. package/dist/tests/filters/$not.test.d.ts.map +0 -1
  211. package/dist/tests/filters/$not.test.js +0 -50
  212. package/dist/tests/filters/$not.test.js.map +0 -1
  213. package/dist/tests/filters/$or.test.d.ts +0 -2
  214. package/dist/tests/filters/$or.test.d.ts.map +0 -1
  215. package/dist/tests/filters/$or.test.js +0 -185
  216. package/dist/tests/filters/$or.test.js.map +0 -1
  217. package/dist/tests/filters/SQLTranslatedStringHelper.test.d.ts +0 -2
  218. package/dist/tests/filters/SQLTranslatedStringHelper.test.d.ts.map +0 -1
  219. package/dist/tests/filters/SQLTranslatedStringHelper.test.js +0 -491
  220. package/dist/tests/filters/SQLTranslatedStringHelper.test.js.map +0 -1
  221. package/dist/tests/filters/dot-syntax.test.d.ts +0 -2
  222. package/dist/tests/filters/dot-syntax.test.d.ts.map +0 -1
  223. package/dist/tests/filters/dot-syntax.test.js +0 -210
  224. package/dist/tests/filters/dot-syntax.test.js.map +0 -1
  225. package/dist/tests/filters/exists.test.d.ts +0 -2
  226. package/dist/tests/filters/exists.test.d.ts.map +0 -1
  227. package/dist/tests/filters/exists.test.js +0 -96
  228. package/dist/tests/filters/exists.test.js.map +0 -1
  229. package/dist/tests/filters/joined-relations.test.d.ts +0 -2
  230. package/dist/tests/filters/joined-relations.test.d.ts.map +0 -1
  231. package/dist/tests/filters/joined-relations.test.js +0 -167
  232. package/dist/tests/filters/joined-relations.test.js.map +0 -1
  233. package/dist/tests/filters/special-cases.test.d.ts +0 -2
  234. package/dist/tests/filters/special-cases.test.d.ts.map +0 -1
  235. package/dist/tests/filters/special-cases.test.js +0 -114
  236. package/dist/tests/filters/special-cases.test.js.map +0 -1
  237. package/dist/tests/filters/wildcard.test.d.ts +0 -2
  238. package/dist/tests/filters/wildcard.test.d.ts.map +0 -1
  239. package/dist/tests/filters/wildcard.test.js +0 -67
  240. package/dist/tests/filters/wildcard.test.js.map +0 -1
  241. package/dist/tests/jest.global.setup.d.ts +0 -3
  242. package/dist/tests/jest.global.setup.d.ts.map +0 -1
  243. package/dist/tests/jest.global.setup.js +0 -7
  244. package/dist/tests/jest.global.setup.js.map +0 -1
  245. package/dist/tests/jest.setup.d.ts +0 -2
  246. package/dist/tests/jest.setup.d.ts.map +0 -1
  247. package/dist/tests/jest.setup.js +0 -5
  248. package/dist/tests/jest.setup.js.map +0 -1
  249. package/dist/tests/utils/index.d.ts +0 -57
  250. package/dist/tests/utils/index.d.ts.map +0 -1
  251. package/dist/tests/utils/index.js +0 -206
  252. package/dist/tests/utils/index.js.map +0 -1
  253. package/dist/tsconfig.tsbuildinfo +0 -1
  254. package/src/QueryableModel.ts +0 -134
  255. package/src/SQL.ts +0 -128
  256. package/src/SQLDelete.ts +0 -73
  257. package/src/SQLExpression.ts +0 -34
  258. package/src/SQLExpressions.ts +0 -587
  259. package/src/SQLInsert.ts +0 -113
  260. package/src/SQLJsonExpressions.ts +0 -283
  261. package/src/SQLLogger.ts +0 -82
  262. package/src/SQLOrderBy.ts +0 -69
  263. package/src/SQLSelect.ts +0 -520
  264. package/src/SQLTranslatedStringHelper.ts +0 -40
  265. package/src/SQLWhere.ts +0 -744
  266. package/src/filters/SQLSorter.ts +0 -60
  267. package/src/filters/compilers/equals.ts +0 -73
  268. package/src/filters/compilers/greater.ts +0 -21
  269. package/src/filters/compilers/less.ts +0 -20
  270. /package/dist/{src/SQLExpression.d.ts → SQLExpression.d.ts} +0 -0
  271. /package/dist/{src/SQLLogger.d.ts → SQLLogger.d.ts} +0 -0
  272. /package/dist/{src/filters → filters}/compilers/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLSelect.js","sourceRoot":"","sources":["../src/SQLSelect.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { SQLColumnExpression, SQLExpression, SQLExpressionOptions, SQLQuery } from '@stamhoofd/sql';
2
- import { Language } from '@stamhoofd/structures';
1
+ import type { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
+ import type { SQLColumnExpression } from './SQLExpressions.js';
3
+ import { Language } from '@stamhoofd/types/Language';
3
4
  export declare class SQLTranslatedStringHelper implements SQLExpression {
4
5
  private columnExpression;
5
6
  private path;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLTranslatedStringHelper.d.ts","sourceRoot":"","sources":["../src/SQLTranslatedStringHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,qBAAa,yBAA0B,YAAW,aAAa;IAC/C,OAAO,CAAC,gBAAgB;IAAuB,OAAO,CAAC,IAAI;IAAU,OAAO,CAAC,WAAW;gBAAhF,gBAAgB,EAAE,mBAAmB,EAAU,IAAI,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM,QAAQ;IAGpH,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;CAyBnD"}
@@ -0,0 +1,33 @@
1
+ import { SQL } from './SQL.js';
2
+ import { Language } from '@stamhoofd/types/Language';
3
+ export class SQLTranslatedStringHelper {
4
+ columnExpression;
5
+ path;
6
+ getLanguage;
7
+ constructor(columnExpression, path, getLanguage) {
8
+ this.columnExpression = columnExpression;
9
+ this.path = path;
10
+ this.getLanguage = getLanguage;
11
+ }
12
+ getSQL(options) {
13
+ const currentLanguage = this.getLanguage();
14
+ const languageOrder = [
15
+ Language.English,
16
+ Language.Dutch,
17
+ Language.French,
18
+ ];
19
+ const languages = moveToFront(languageOrder, currentLanguage);
20
+ const languageValues = languages.map((language) => {
21
+ return SQL.jsonValue(this.columnExpression, `${this.path}.${language}`, 'CHAR');
22
+ });
23
+ const type = SQL.jsonType(SQL.jsonExtract(this.columnExpression, this.path));
24
+ return SQL.if(type, '=', 'STRING').then(SQL.jsonValue(this.columnExpression, this.path, 'CHAR')).else(SQL.coalesce(...languageValues)).getSQL(options);
25
+ }
26
+ }
27
+ function moveToFront(arr, value) {
28
+ const index = arr.indexOf(value);
29
+ if (index === -1 || index === 0)
30
+ return arr;
31
+ return [arr[index], ...arr.slice(0, index), ...arr.slice(index + 1)];
32
+ }
33
+ //# sourceMappingURL=SQLTranslatedStringHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLTranslatedStringHelper.js","sourceRoot":"","sources":["../src/SQLTranslatedStringHelper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,OAAO,yBAAyB;IACd;IAA+C;IAAsB;IAAzF,YAAoB,gBAAqC,EAAU,IAAY,EAAU,WAA2B;QAAhG,qBAAgB,GAAhB,gBAAgB,CAAqB;QAAU,SAAI,GAAJ,IAAI,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAgB;IACpH,CAAC;IAED,MAAM,CAAC,OAA8B;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE3C,MAAM,aAAa,GAAe;YAC9B,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,KAAK;YACd,QAAQ,CAAC,MAAM;SAClB,CAAC;QAEF,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/D,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAkB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,GAAG,CAAC,EAAE,CACT,IAAI,EAAE,GAAG,EAAE,QAAQ,CACtB,CAAC,IAAI,CACF,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAC1D,CAAC,IAAI,CACF,GAAG,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAkB,CACnD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACJ;AAED,SAAS,WAAW,CAAI,GAAQ,EAAE,KAAQ;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}
@@ -1,5 +1,6 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
- import { SQLAssignment, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions.js';
1
+ import type { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
+ import type { SQLDynamicExpression } from './SQLExpressions.js';
3
+ import { SQLAssignment, SQLTableExpression } from './SQLExpressions.js';
3
4
  declare class EmptyClass {
4
5
  }
5
6
  declare const SQLUpdate_base: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLUpdate.d.ts","sourceRoot":"","sources":["../src/SQLUpdate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,KAAK,EAAE,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAA4B,aAAa,EAAuB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIvH,cAAM,UAAU;CAAG;;;;;;;;;;;;;AAEnB,qBAAa,SAAU,SAAQ,cAAsB,YAAW,aAAa;IACzE,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAQ;gBAExB,SAAS,EAAE,kBAAkB,GAAG,MAAM;IAKlD,KAAK,IAAI,IAAI;IAMb,GAAG,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAS7E,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ;IAmC1C,MAAM,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAKnD"}
@@ -1,73 +1,56 @@
1
1
  import { Database } from '@simonbackx/simple-database';
2
- import { joinSQLQuery, normalizeSQLQuery, SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
3
- import { readDynamicSQLExpression, SQLAssignment, SQLColumnExpression, SQLDynamicExpression, SQLTableExpression } from './SQLExpressions.js';
2
+ import { joinSQLQuery, normalizeSQLQuery } from './SQLExpression.js';
3
+ import { readDynamicSQLExpression, SQLAssignment, SQLColumnExpression, SQLTableExpression } from './SQLExpressions.js';
4
4
  import { Whereable } from './SQLWhere.js';
5
5
  import { SQLLogger } from './SQLLogger.js';
6
-
7
- class EmptyClass {}
8
-
9
- export class SQLUpdate extends Whereable(EmptyClass) implements SQLExpression {
10
- _table: SQLTableExpression;
11
- _set: SQLAssignment[] | null = null;
12
-
13
- constructor(tableName: SQLTableExpression | string) {
6
+ class EmptyClass {
7
+ }
8
+ export class SQLUpdate extends Whereable(EmptyClass) {
9
+ _table;
10
+ _set = null;
11
+ constructor(tableName) {
14
12
  super();
15
13
  this._table = typeof tableName === 'string' ? new SQLTableExpression(tableName) : tableName;
16
14
  }
17
-
18
- clone(): this {
15
+ clone() {
19
16
  const c = new SQLUpdate(this._table);
20
17
  Object.assign(c, this);
21
- return c as any;
18
+ return c;
22
19
  }
23
-
24
- set(whereOrColumn: SQLExpression | string, value: SQLDynamicExpression): this {
20
+ set(whereOrColumn, value) {
25
21
  if (!this._set) {
26
22
  this._set = [];
27
23
  }
28
-
29
24
  this._set.push(new SQLAssignment(typeof whereOrColumn === 'string' ? new SQLColumnExpression(whereOrColumn) : whereOrColumn, readDynamicSQLExpression(value)));
30
25
  return this;
31
26
  }
32
-
33
- getSQL(options?: SQLExpressionOptions): SQLQuery {
27
+ getSQL(options) {
34
28
  if (!this._set) {
35
29
  throw new Error('No assignments provided');
36
30
  }
37
-
38
31
  // Create a clone since we are mutating the default namespaces
39
32
  const parentOptions = options;
40
33
  options = options ? { ...options } : {};
41
- options.defaultNamespace = (this._table as any).namespace ?? (this._table).table ?? undefined;
42
-
34
+ options.defaultNamespace = this._table.namespace ?? (this._table).table ?? undefined;
43
35
  if (parentOptions?.defaultNamespace) {
44
36
  options.parentNamespace = parentOptions.defaultNamespace;
45
37
  }
46
-
47
- const query: SQLQuery[] = [
38
+ const query = [
48
39
  'UPDATE ',
49
40
  this._table.getSQL(options),
50
41
  ];
51
-
52
- query.push(
53
- 'SET',
54
- );
55
-
56
- query.push(
57
- joinSQLQuery(this._set.map(a => a.getSQL(options)), ', '),
58
- );
59
-
42
+ query.push('SET');
43
+ query.push(joinSQLQuery(this._set.map(a => a.getSQL(options)), ', '));
60
44
  if (this._where) {
61
45
  query.push('WHERE');
62
46
  query.push(this._where.getSQL(options));
63
47
  }
64
-
65
48
  return joinSQLQuery(query, ' ');
66
49
  }
67
-
68
- async update(): Promise<{ changedRows: number }> {
50
+ async update() {
69
51
  const { query, params } = normalizeSQLQuery(this.getSQL());
70
52
  const result = await SQLLogger.log(Database.update(query, params), query, params);
71
53
  return result[0];
72
54
  }
73
55
  }
56
+ //# sourceMappingURL=SQLUpdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLUpdate.js","sourceRoot":"","sources":["../src/SQLUpdate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
- import { SQLDynamicExpression } from './SQLExpressions.js';
3
- import { SQLJoin } from './SQLJoin.js';
1
+ import type { SQLExpression, SQLExpressionOptions, SQLQuery } from './SQLExpression.js';
2
+ import type { SQLDynamicExpression } from './SQLExpressions.js';
3
+ import type { SQLJoin } from './SQLJoin.js';
4
4
  type Constructor<T = object> = new (...args: any[]) => T;
5
5
  export declare enum SQLWhereSign {
6
6
  Equal = "=",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLWhere.d.ts","sourceRoot":"","sources":["../src/SQLWhere.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SQLWhereNot = exports.SQLWhereOr = exports.SQLWhereAnd = exports.SQLWhereJoin = exports.SQLWhereExists = exports.SQLMatch = exports.SQLWhereLike = exports.SQLWhereEqual = exports.SQLEmptyWhere = exports.SQLWhere = exports.SQLWhereSignMap = exports.SQLWhereSign = void 0;
4
- exports.Whereable = Whereable;
5
- const SQLExpression_js_1 = require("./SQLExpression.js");
6
- const SQLExpressions_js_1 = require("./SQLExpressions.js");
7
- const SQLJoin_js_1 = require("./SQLJoin.js");
8
- const SQLSelect_js_1 = require("./SQLSelect.js");
9
- var SQLWhereSign;
1
+ import { joinSQLQuery, normalizeSQLQuery } from './SQLExpression.js';
2
+ import { SQLArray, SQLColumnExpression, SQLNull, readDynamicSQLExpression } from './SQLExpressions.js';
3
+ import { SQLJoinType } from './SQLJoin.js';
4
+ import { SQLSelect } from './SQLSelect.js';
5
+ export var SQLWhereSign;
10
6
  (function (SQLWhereSign) {
11
7
  SQLWhereSign["Equal"] = "=";
12
8
  SQLWhereSign["Greater"] = ">";
@@ -14,9 +10,9 @@ var SQLWhereSign;
14
10
  SQLWhereSign["Less"] = "<";
15
11
  SQLWhereSign["LessEqual"] = "<=";
16
12
  SQLWhereSign["NotEqual"] = "!=";
17
- })(SQLWhereSign || (exports.SQLWhereSign = SQLWhereSign = {}));
13
+ })(SQLWhereSign || (SQLWhereSign = {}));
18
14
  ;
19
- exports.SQLWhereSignMap = {
15
+ export const SQLWhereSignMap = {
20
16
  '=': SQLWhereSign.Equal,
21
17
  '>': SQLWhereSign.Greater,
22
18
  '>=': SQLWhereSign.GreaterEqual,
@@ -25,15 +21,15 @@ exports.SQLWhereSignMap = {
25
21
  '!=': SQLWhereSign.NotEqual,
26
22
  };
27
23
  function parseWhereSign(sign) {
28
- if (typeof sign === 'string' && Object.hasOwnProperty.call(exports.SQLWhereSignMap, sign)) {
29
- return exports.SQLWhereSignMap[sign];
24
+ if (typeof sign === 'string' && Object.hasOwnProperty.call(SQLWhereSignMap, sign)) {
25
+ return SQLWhereSignMap[sign];
30
26
  }
31
27
  return sign;
32
28
  }
33
29
  function assertWhereable(o) {
34
30
  return o;
35
31
  }
36
- function Whereable(Base) {
32
+ export function Whereable(Base) {
37
33
  return class extends Base {
38
34
  _where = null;
39
35
  get __where() {
@@ -71,7 +67,7 @@ function Whereable(Base) {
71
67
  }
72
68
  };
73
69
  }
74
- class SQLWhere {
70
+ export class SQLWhere {
75
71
  and(...args) {
76
72
  return new SQLWhereAnd([this, SQLWhereEqual.parseWhere(...args)]);
77
73
  }
@@ -106,8 +102,7 @@ class SQLWhere {
106
102
  return [];
107
103
  }
108
104
  }
109
- exports.SQLWhere = SQLWhere;
110
- class SQLEmptyWhere extends SQLWhere {
105
+ export class SQLEmptyWhere extends SQLWhere {
111
106
  and(...args) {
112
107
  return SQLWhereEqual.parseWhere(...args);
113
108
  }
@@ -130,8 +125,7 @@ class SQLEmptyWhere extends SQLWhere {
130
125
  return new SQLEmptyWhere();
131
126
  }
132
127
  }
133
- exports.SQLEmptyWhere = SQLEmptyWhere;
134
- class SQLWhereEqual extends SQLWhere {
128
+ export class SQLWhereEqual extends SQLWhere {
135
129
  column;
136
130
  sign = SQLWhereSign.Equal;
137
131
  value;
@@ -141,9 +135,9 @@ class SQLWhereEqual extends SQLWhere {
141
135
  return parsed[0];
142
136
  }
143
137
  if (parsed.length === 3) {
144
- return new SQLWhereEqual(typeof parsed[0] === 'string' ? new SQLExpressions_js_1.SQLColumnExpression(parsed[0]) : parsed[0], parseWhereSign(parsed[1]), (0, SQLExpressions_js_1.readDynamicSQLExpression)(parsed[2]));
138
+ return new SQLWhereEqual(typeof parsed[0] === 'string' ? new SQLColumnExpression(parsed[0]) : parsed[0], parseWhereSign(parsed[1]), readDynamicSQLExpression(parsed[2]));
145
139
  }
146
- return new SQLWhereEqual(typeof parsed[0] === 'string' ? new SQLExpressions_js_1.SQLColumnExpression(parsed[0]) : parsed[0], SQLWhereSign.Equal, (0, SQLExpressions_js_1.readDynamicSQLExpression)(parsed[1]));
140
+ return new SQLWhereEqual(typeof parsed[0] === 'string' ? new SQLColumnExpression(parsed[0]) : parsed[0], SQLWhereSign.Equal, readDynamicSQLExpression(parsed[1]));
147
141
  }
148
142
  constructor(column, signOrValue, value) {
149
143
  super();
@@ -198,7 +192,7 @@ class SQLWhereEqual extends SQLWhere {
198
192
  return this;
199
193
  }
200
194
  get transformed() {
201
- if (this.value instanceof SQLExpressions_js_1.SQLNull) {
195
+ if (this.value instanceof SQLNull) {
202
196
  // We'll do some transformations to make this query work as expected.
203
197
  // < null = always false
204
198
  // > null = (IS NOT null)
@@ -222,13 +216,13 @@ class SQLWhereEqual extends SQLWhere {
222
216
  }
223
217
  }
224
218
  // If the expression is nullable, we'll need to do some handling to make sure the query works as expected.
225
- if (this.nullable && !(this.value instanceof SQLExpressions_js_1.SQLNull)) {
219
+ if (this.nullable && !(this.value instanceof SQLNull)) {
226
220
  // <: should also include null values
227
221
  // <=: should also include null values
228
222
  if (this.sign === SQLWhereSign.Less || this.sign === SQLWhereSign.LessEqual) {
229
223
  return new SQLWhereOr([
230
224
  this.clone().setNullable(false),
231
- new SQLWhereEqual(this.column, SQLWhereSign.Equal, new SQLExpressions_js_1.SQLNull()),
225
+ new SQLWhereEqual(this.column, SQLWhereSign.Equal, new SQLNull()),
232
226
  ]);
233
227
  }
234
228
  }
@@ -238,21 +232,21 @@ class SQLWhereEqual extends SQLWhere {
238
232
  if (this.transformed) {
239
233
  return this.transformed.getSQL(options);
240
234
  }
241
- if (this.value instanceof SQLExpressions_js_1.SQLArray) {
235
+ if (this.value instanceof SQLArray) {
242
236
  if (this.sign !== SQLWhereSign.Equal && this.sign !== SQLWhereSign.NotEqual) {
243
237
  throw new Error('Unsupported sign for array: ' + this.sign);
244
238
  }
245
- return (0, SQLExpression_js_1.joinSQLQuery)([
239
+ return joinSQLQuery([
246
240
  this.column.getSQL(options),
247
241
  ` ${(this.sign === SQLWhereSign.NotEqual) ? 'NOT IN' : 'IN'} `,
248
242
  this.value.getSQL(options),
249
243
  ]);
250
244
  }
251
- if (this.value instanceof SQLExpressions_js_1.SQLNull) {
245
+ if (this.value instanceof SQLNull) {
252
246
  if (this.sign !== SQLWhereSign.Equal && this.sign !== SQLWhereSign.NotEqual) {
253
247
  throw new Error('Unsupported sign for NULL: ' + this.sign);
254
248
  }
255
- return (0, SQLExpression_js_1.joinSQLQuery)([
249
+ return joinSQLQuery([
256
250
  this.column.getSQL(options),
257
251
  ` IS ${(this.sign === SQLWhereSign.NotEqual) ? 'NOT ' : ''}`,
258
252
  this.value.getSQL(options),
@@ -265,7 +259,7 @@ class SQLWhereEqual extends SQLWhere {
265
259
  }
266
260
  else if (this.sign === SQLWhereSign.NotEqual && this.nullable) {
267
261
  // Swap with null-safe not equal
268
- return (0, SQLExpression_js_1.joinSQLQuery)([
262
+ return joinSQLQuery([
269
263
  'NOT (',
270
264
  this.column.getSQL(options),
271
265
  ` <=> `,
@@ -273,15 +267,14 @@ class SQLWhereEqual extends SQLWhere {
273
267
  ')',
274
268
  ]);
275
269
  }
276
- return (0, SQLExpression_js_1.joinSQLQuery)([
270
+ return joinSQLQuery([
277
271
  this.column.getSQL(options),
278
272
  ` ${sign} `,
279
273
  this.value.getSQL(options),
280
274
  ]);
281
275
  }
282
276
  }
283
- exports.SQLWhereEqual = SQLWhereEqual;
284
- class SQLWhereLike extends SQLWhere {
277
+ export class SQLWhereLike extends SQLWhere {
285
278
  column;
286
279
  notLike = false;
287
280
  value;
@@ -309,15 +302,14 @@ class SQLWhereLike extends SQLWhere {
309
302
  return this;
310
303
  }
311
304
  getSQL(options) {
312
- return (0, SQLExpression_js_1.joinSQLQuery)([
305
+ return joinSQLQuery([
313
306
  this.column.getSQL(options),
314
307
  ` ${this.notLike ? 'NOT LIKE' : 'LIKE'} `,
315
308
  this.value.getSQL(options),
316
309
  ]);
317
310
  }
318
311
  }
319
- exports.SQLWhereLike = SQLWhereLike;
320
- class SQLMatch extends SQLWhere {
312
+ export class SQLMatch extends SQLWhere {
321
313
  column;
322
314
  notMatch = false;
323
315
  value;
@@ -354,11 +346,10 @@ class SQLMatch extends SQLWhere {
354
346
  if (this.notMatch) {
355
347
  queries.unshift('NOT ');
356
348
  }
357
- return (0, SQLExpression_js_1.joinSQLQuery)(queries);
349
+ return joinSQLQuery(queries);
358
350
  }
359
351
  }
360
- exports.SQLMatch = SQLMatch;
361
- class SQLWhereExists extends SQLWhere {
352
+ export class SQLWhereExists extends SQLWhere {
362
353
  subquery;
363
354
  notExists = false;
364
355
  constructor(subquery) {
@@ -381,7 +372,7 @@ class SQLWhereExists extends SQLWhere {
381
372
  return this;
382
373
  }
383
374
  get isAlways() {
384
- if (this.subquery instanceof SQLSelect_js_1.SQLSelect) {
375
+ if (this.subquery instanceof SQLSelect) {
385
376
  const value = this.subquery.isAlways;
386
377
  if (this.notExists) {
387
378
  if (value === true) {
@@ -398,18 +389,17 @@ class SQLWhereExists extends SQLWhere {
398
389
  return null;
399
390
  }
400
391
  getSQL(options) {
401
- return (0, SQLExpression_js_1.joinSQLQuery)([
392
+ return joinSQLQuery([
402
393
  `${this.notExists ? 'NOT EXISTS' : 'EXISTS'} (`,
403
394
  this.subquery.getSQL(options),
404
395
  `)`,
405
396
  ]);
406
397
  }
407
398
  }
408
- exports.SQLWhereExists = SQLWhereExists;
409
399
  /**
410
400
  * Convenience helper which also caries a separate join that should be injected in the query for the where to work
411
401
  */
412
- class SQLWhereJoin extends SQLWhere {
402
+ export class SQLWhereJoin extends SQLWhere {
413
403
  join;
414
404
  where;
415
405
  /**
@@ -431,7 +421,7 @@ class SQLWhereJoin extends SQLWhere {
431
421
  return this.where.isAlways;
432
422
  }
433
423
  getSQL(options) {
434
- if (this.where.isAlways !== null && (this.doesRelationAlwaysExist || this.join.type === SQLJoin_js_1.SQLJoinType.Left)) {
424
+ if (this.where.isAlways !== null && (this.doesRelationAlwaysExist || this.join.type === SQLJoinType.Left)) {
435
425
  throw new Error('SQLWhereJoin: should not be included in query if result is determined');
436
426
  }
437
427
  return this.where.getSQL({
@@ -441,7 +431,7 @@ class SQLWhereJoin extends SQLWhere {
441
431
  });
442
432
  }
443
433
  getJoins() {
444
- if (this.where.isAlways !== null && (this.doesRelationAlwaysExist || this.join.type === SQLJoin_js_1.SQLJoinType.Left)) {
434
+ if (this.where.isAlways !== null && (this.doesRelationAlwaysExist || this.join.type === SQLJoinType.Left)) {
445
435
  return [];
446
436
  }
447
437
  return [this.join, ...this.where.getJoins()];
@@ -452,8 +442,7 @@ class SQLWhereJoin extends SQLWhere {
452
442
  return c;
453
443
  }
454
444
  }
455
- exports.SQLWhereJoin = SQLWhereJoin;
456
- class SQLWhereAnd extends SQLWhere {
445
+ export class SQLWhereAnd extends SQLWhere {
457
446
  children;
458
447
  constructor(children) {
459
448
  super();
@@ -463,11 +452,11 @@ class SQLWhereAnd extends SQLWhere {
463
452
  if (this.isAlways === false) {
464
453
  throw new Error('SQLWhereAnd: $and is always false and should be removed from the query');
465
454
  }
466
- return (0, SQLExpression_js_1.joinSQLQuery)(this.filteredChildren.map((c) => {
455
+ return joinSQLQuery(this.filteredChildren.map((c) => {
467
456
  if (c.isSingle || this.filteredChildren.length === 1) {
468
457
  return c.getSQL(options);
469
458
  }
470
- return (0, SQLExpression_js_1.joinSQLQuery)(['(', c.getSQL(options), ')']);
459
+ return joinSQLQuery(['(', c.getSQL(options), ')']);
471
460
  }), ' AND ');
472
461
  }
473
462
  get filteredChildren() {
@@ -503,8 +492,7 @@ class SQLWhereAnd extends SQLWhere {
503
492
  return c;
504
493
  }
505
494
  }
506
- exports.SQLWhereAnd = SQLWhereAnd;
507
- class SQLWhereOr extends SQLWhere {
495
+ export class SQLWhereOr extends SQLWhere {
508
496
  children;
509
497
  constructor(children) {
510
498
  super();
@@ -515,11 +503,11 @@ class SQLWhereOr extends SQLWhere {
515
503
  // Always false: throw an error (the parent should filter out this query)
516
504
  throw new Error('SQLWhereOr: empty $or is always false and should be removed from the query');
517
505
  }
518
- return (0, SQLExpression_js_1.joinSQLQuery)(this.filteredChildren.map((c) => {
506
+ return joinSQLQuery(this.filteredChildren.map((c) => {
519
507
  if (c.isSingle || this.filteredChildren.length === 1) {
520
508
  return c.getSQL(options);
521
509
  }
522
- return (0, SQLExpression_js_1.joinSQLQuery)(['(', c.getSQL(options), ')']);
510
+ return joinSQLQuery(['(', c.getSQL(options), ')']);
523
511
  }), ' OR ');
524
512
  }
525
513
  getJoins() {
@@ -555,8 +543,7 @@ class SQLWhereOr extends SQLWhere {
555
543
  return c;
556
544
  }
557
545
  }
558
- exports.SQLWhereOr = SQLWhereOr;
559
- class SQLWhereNot extends SQLWhere {
546
+ export class SQLWhereNot extends SQLWhere {
560
547
  a;
561
548
  constructor(a) {
562
549
  super();
@@ -573,7 +560,7 @@ class SQLWhereNot extends SQLWhere {
573
560
  if (this.a instanceof SQLWhereEqual || this.a instanceof SQLWhereAnd || this.a instanceof SQLWhereOr || this.a instanceof SQLWhereNot) {
574
561
  return this.a.inverted().getSQL(options);
575
562
  }
576
- const sqlA = (0, SQLExpression_js_1.normalizeSQLQuery)(this.a.getSQL(options));
563
+ const sqlA = normalizeSQLQuery(this.a.getSQL(options));
577
564
  return {
578
565
  query: `NOT (${sqlA.query})`,
579
566
  params: sqlA.params,
@@ -600,5 +587,4 @@ class SQLWhereNot extends SQLWhere {
600
587
  return c;
601
588
  }
602
589
  }
603
- exports.SQLWhereNot = SQLWhereNot;
604
590
  //# sourceMappingURL=SQLWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLWhere.js","sourceRoot":"","sources":["../src/SQLWhere.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { FilterCompiler, FilterDefinitions, RequiredFilterCompiler, type StamhoofdCompareValue, StamhoofdFilter } from '@stamhoofd/structures';
2
- import { SQLExpression } from '../SQLExpression.js';
3
- import { SQLJoin } from '../SQLJoin.js';
4
- import { SQLSelect } from '../SQLSelect.js';
5
- import { SQLWhere } from '../SQLWhere.js';
1
+ import type { FilterCompiler, FilterDefinitions, RequiredFilterCompiler, StamhoofdCompareValue, StamhoofdFilter } from '@stamhoofd/structures';
2
+ import type { SQLExpression } from '../SQLExpression.js';
3
+ import type { SQLJoin } from '../SQLJoin.js';
4
+ import type { SQLSelect } from '../SQLSelect.js';
5
+ import type { SQLWhere } from '../SQLWhere.js';
6
6
  export type SQLSyncFilterRunner = (column: SQLCurrentColumn) => SQLWhere;
7
7
  export type SQLFilterRunner = (column: SQLCurrentColumn) => Promise<SQLWhere> | SQLWhere;
8
8
  export type SQLFilterCompiler = FilterCompiler<SQLFilterRunner>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLFilter.d.ts","sourceRoot":"","sources":["../../src/filters/SQLFilter.ts"],"names":[],"mappings":"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"}