@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
@@ -0,0 +1,590 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const SQLModernFilter_1 = require("../../src/filters/modern/SQLModernFilter");
4
+ const SQL_1 = require("../../src/SQL");
5
+ const utils_1 = require("../utils");
6
+ describe('$in', () => {
7
+ /**
8
+ * Tests that should be repeated for all filter types
9
+ */
10
+ describe('Common checks', () => {
11
+ // todo
12
+ });
13
+ it('throws when not passing an array', async () => {
14
+ const filters = {
15
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
16
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
17
+ };
18
+ await (0, utils_1.testError)({
19
+ filter: {
20
+ age: {
21
+ $in: 18,
22
+ },
23
+ },
24
+ filters,
25
+ error: 'Expected array at $in filter',
26
+ });
27
+ });
28
+ it('throws when passing more than 100 values to the filter', async () => {
29
+ const filters = {
30
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
31
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
32
+ };
33
+ await (0, utils_1.testError)({
34
+ filter: {
35
+ age: {
36
+ $in: Array.from({ length: 101 }, (_, i) => i + 1),
37
+ },
38
+ },
39
+ filters,
40
+ error: 'Too many values in $in filter, maximum is 100',
41
+ });
42
+ });
43
+ it('can filter on $in', async () => {
44
+ const filters = {
45
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
46
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
47
+ };
48
+ await (0, utils_1.test)({
49
+ filter: {
50
+ age: {
51
+ $in: [18, 19, 20],
52
+ },
53
+ },
54
+ filters,
55
+ query: {
56
+ query: '`default`.`age` IN (?)',
57
+ params: [
58
+ [18, 19, 20],
59
+ ],
60
+ },
61
+ });
62
+ });
63
+ it('can filter on single $in', async () => {
64
+ const filters = {
65
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
66
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
67
+ };
68
+ await (0, utils_1.test)({
69
+ filter: {
70
+ age: {
71
+ $in: [18],
72
+ },
73
+ },
74
+ filters,
75
+ query: {
76
+ query: '`default`.`age` = ?',
77
+ params: [18],
78
+ },
79
+ });
80
+ });
81
+ it('can filter on empty $in', async () => {
82
+ const filters = {
83
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
84
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
85
+ };
86
+ await (0, utils_1.test)({
87
+ filter: {
88
+ age: {
89
+ $in: [],
90
+ },
91
+ },
92
+ filters,
93
+ query: {
94
+ query: '',
95
+ params: [],
96
+ },
97
+ });
98
+ });
99
+ it('can invert $in inside', async () => {
100
+ const filters = {
101
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
102
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
103
+ };
104
+ await (0, utils_1.test)({
105
+ filter: {
106
+ age: {
107
+ $not: {
108
+ $in: [18, 19, 20],
109
+ },
110
+ },
111
+ },
112
+ filters,
113
+ query: {
114
+ query: '`default`.`age` NOT IN (?)',
115
+ params: [
116
+ [18, 19, 20],
117
+ ],
118
+ },
119
+ });
120
+ });
121
+ it('can invert $in outside', async () => {
122
+ const filters = {
123
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
124
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
125
+ };
126
+ await (0, utils_1.test)({
127
+ filter: {
128
+ $not: {
129
+ age: {
130
+ $in: [18, 19, 20],
131
+ },
132
+ },
133
+ },
134
+ filters,
135
+ query: {
136
+ query: '`default`.`age` NOT IN (?)',
137
+ params: [
138
+ [18, 19, 20],
139
+ ],
140
+ },
141
+ });
142
+ });
143
+ it('splits up when using null', async () => {
144
+ const filters = {
145
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
146
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
147
+ };
148
+ await (0, utils_1.test)({
149
+ filter: {
150
+ age: {
151
+ $in: [18, 19, 20, null],
152
+ },
153
+ },
154
+ filters,
155
+ query: {
156
+ query: '`default`.`age` IS NULL OR `default`.`age` IN (?)',
157
+ params: [
158
+ [18, 19, 20],
159
+ ],
160
+ },
161
+ });
162
+ });
163
+ it('works when only including null', async () => {
164
+ const filters = {
165
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
166
+ age: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('age'), type: SQLModernFilter_1.SQLModernValueType.Number, nullable: false }),
167
+ };
168
+ await (0, utils_1.test)({
169
+ filter: {
170
+ age: {
171
+ $in: [null],
172
+ },
173
+ },
174
+ filters,
175
+ query: {
176
+ query: '`default`.`age` IS NULL',
177
+ params: [],
178
+ },
179
+ });
180
+ });
181
+ it('throws an error when trying to search in json objects', async () => {
182
+ const filters = {
183
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
184
+ settings: (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.column('settings'), type: SQLModernFilter_1.SQLModernValueType.JSONObject, nullable: false }),
185
+ };
186
+ await (0, utils_1.testError)({
187
+ filter: {
188
+ settings: {
189
+ $in: ['apple', 'banana'],
190
+ },
191
+ },
192
+ filters,
193
+ error: 'Cannot compare with a JSON object',
194
+ });
195
+ });
196
+ describe('JSON', () => {
197
+ const tableDefinition = {
198
+ settings: {
199
+ type: 'json',
200
+ nullable: true,
201
+ },
202
+ };
203
+ const filters = {
204
+ ...SQLModernFilter_1.baseModernSQLFilterCompilers,
205
+ 'settings.randomValues': (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.jsonValue(SQL_1.SQL.column('settings'), '$.randomValues'), type: SQLModernFilter_1.SQLModernValueType.JSONArray, nullable: true }),
206
+ 'settings.name': (0, SQLModernFilter_1.createColumnFilter)({ expression: SQL_1.SQL.jsonValue(SQL_1.SQL.column('settings'), '$.name'), type: SQLModernFilter_1.SQLModernValueType.JSONString, nullable: true }),
207
+ };
208
+ it('Can check if a string is in a JSON string array, case insensitive', async () => {
209
+ await (0, utils_1.testMatch)({
210
+ tableDefinition,
211
+ filters,
212
+ rows: [
213
+ {
214
+ settings: {
215
+ randomValues: [
216
+ 'apple',
217
+ 'Banana',
218
+ 'cherrY',
219
+ ],
220
+ },
221
+ },
222
+ ],
223
+ doMatch: [
224
+ {
225
+ 'settings.randomValues': {
226
+ $in: ['apple', 'banana', 'cherry', 'other'],
227
+ },
228
+ },
229
+ {
230
+ 'settings.randomValues': {
231
+ $in: ['apple', 'banana', 'other'],
232
+ },
233
+ },
234
+ {
235
+ 'settings.randomValues': {
236
+ $in: ['Apple', 'banana', 'other'],
237
+ },
238
+ },
239
+ ],
240
+ doNotMatch: [
241
+ {
242
+ 'settings.randomValues': {
243
+ $in: ['orange', 'kiwi'],
244
+ },
245
+ },
246
+ {
247
+ 'settings.randomValues': {
248
+ $in: ['pple'],
249
+ },
250
+ },
251
+ {
252
+ 'settings.randomValues': {
253
+ $in: ['àpple'],
254
+ },
255
+ },
256
+ ],
257
+ });
258
+ });
259
+ it('Can check if a JSON string equals values, case insensitive', async () => {
260
+ await (0, utils_1.testMatch)({
261
+ tableDefinition,
262
+ filters,
263
+ rows: [
264
+ {
265
+ settings: {
266
+ name: 'aPple',
267
+ },
268
+ },
269
+ {
270
+ settings: {
271
+ name: 'apple',
272
+ },
273
+ },
274
+ {
275
+ settings: {
276
+ name: 'APPLE',
277
+ },
278
+ },
279
+ ],
280
+ doMatch: [
281
+ {
282
+ 'settings.name': {
283
+ $in: ['apple', 'banana', 'other'],
284
+ },
285
+ },
286
+ {
287
+ 'settings.name': {
288
+ $in: ['apple'],
289
+ },
290
+ },
291
+ {
292
+ 'settings.name': {
293
+ $in: ['Apple', 'other'],
294
+ },
295
+ },
296
+ ],
297
+ doNotMatch: [],
298
+ });
299
+ });
300
+ it('Can check if an emoji is in a JSON string array', async () => {
301
+ await (0, utils_1.testMatch)({
302
+ tableDefinition,
303
+ filters,
304
+ rows: [
305
+ {
306
+ settings: {
307
+ randomValues: [
308
+ '🍎',
309
+ '🍌',
310
+ '👩🏽‍🎤',
311
+ ],
312
+ },
313
+ },
314
+ ],
315
+ doMatch: [
316
+ {
317
+ 'settings.randomValues': {
318
+ $in: ['🍎', '🍌', '👩🏽‍🎤', 'other'],
319
+ },
320
+ },
321
+ {
322
+ 'settings.randomValues': {
323
+ $in: ['🍎', '🍌', 'other'],
324
+ },
325
+ },
326
+ {
327
+ 'settings.randomValues': {
328
+ $in: ['👩🏽‍🎤', 'other'],
329
+ },
330
+ },
331
+ {
332
+ 'settings.randomValues': {
333
+ $in: ['👩🏽‍🎤'],
334
+ },
335
+ },
336
+ ],
337
+ doNotMatch: [
338
+ {
339
+ 'settings.randomValues': {
340
+ $in: ['other'],
341
+ },
342
+ },
343
+ {
344
+ 'settings.randomValues': {
345
+ $in: ['👩🏽'],
346
+ },
347
+ },
348
+ {
349
+ 'settings.randomValues': {
350
+ $in: ['👩🏻‍🎤'],
351
+ },
352
+ },
353
+ ],
354
+ });
355
+ });
356
+ it('Can check if null is in a JSON array', async () => {
357
+ await (0, utils_1.testMatch)({
358
+ tableDefinition,
359
+ filters,
360
+ rows: [
361
+ {
362
+ settings: {
363
+ randomValues: [
364
+ null,
365
+ 'Banana',
366
+ false,
367
+ 0,
368
+ ],
369
+ },
370
+ },
371
+ ],
372
+ doMatch: [
373
+ {
374
+ 'settings.randomValues': {
375
+ $in: ['apple', null],
376
+ },
377
+ },
378
+ ],
379
+ doNotMatch: [
380
+ {
381
+ 'settings.randomValues': {
382
+ $in: ['apple'],
383
+ },
384
+ },
385
+ ],
386
+ });
387
+ });
388
+ it('Including null will also check on key existence for json arrays', async () => {
389
+ await (0, utils_1.testMatch)({
390
+ tableDefinition,
391
+ filters,
392
+ rows: [
393
+ {
394
+ settings: null,
395
+ },
396
+ {
397
+ settings: {},
398
+ },
399
+ {
400
+ settings: {
401
+ randomValues: null,
402
+ },
403
+ },
404
+ ],
405
+ doMatch: [
406
+ {
407
+ 'settings.randomValues': {
408
+ $in: ['apple', null],
409
+ },
410
+ },
411
+ {
412
+ 'settings.randomValues': {
413
+ $in: [null],
414
+ },
415
+ },
416
+ ],
417
+ doNotMatch: [
418
+ {
419
+ 'settings.randomValues': {
420
+ $in: ['apple'],
421
+ },
422
+ },
423
+ ],
424
+ });
425
+ });
426
+ it('If a json array exists and does not contain null, it is not included when checking for null', async () => {
427
+ await (0, utils_1.testMatch)({
428
+ tableDefinition,
429
+ filters,
430
+ rows: [
431
+ {
432
+ settings: {
433
+ randomValues: [
434
+ 'Banana',
435
+ false,
436
+ 0,
437
+ ],
438
+ },
439
+ },
440
+ ],
441
+ doMatch: [
442
+ {
443
+ 'settings.randomValues': {
444
+ $in: [false],
445
+ },
446
+ },
447
+ ],
448
+ doNotMatch: [
449
+ {
450
+ 'settings.randomValues': {
451
+ $in: ['apple', null],
452
+ },
453
+ },
454
+ ],
455
+ });
456
+ });
457
+ it('Including null also matches when a JSON path does not exist', async () => {
458
+ await (0, utils_1.testMatch)({
459
+ tableDefinition,
460
+ filters,
461
+ rows: [
462
+ {
463
+ settings: {},
464
+ },
465
+ ],
466
+ doMatch: [
467
+ {
468
+ 'settings.randomValues': {
469
+ $in: ['apple', 'banana', 'cherry', null],
470
+ },
471
+ },
472
+ ],
473
+ doNotMatch: [
474
+ {
475
+ 'settings.randomValues': {
476
+ $in: ['apple', 'banana', 'cherry'],
477
+ },
478
+ },
479
+ ],
480
+ });
481
+ });
482
+ it('Can search numbers in a JSON array', async () => {
483
+ await (0, utils_1.testMatch)({
484
+ tableDefinition,
485
+ filters,
486
+ rows: [
487
+ {
488
+ settings: {
489
+ randomValues: [
490
+ null,
491
+ 'Banana',
492
+ false,
493
+ 0,
494
+ 5,
495
+ 15,
496
+ ],
497
+ },
498
+ },
499
+ ],
500
+ doMatch: [
501
+ {
502
+ 'settings.randomValues': {
503
+ $in: [5, 15],
504
+ },
505
+ },
506
+ {
507
+ 'settings.randomValues': {
508
+ $in: [5],
509
+ },
510
+ },
511
+ {
512
+ 'settings.randomValues': {
513
+ $in: [15],
514
+ },
515
+ },
516
+ {
517
+ 'settings.randomValues': {
518
+ $in: [99, 15],
519
+ },
520
+ },
521
+ ],
522
+ doNotMatch: [
523
+ {
524
+ 'settings.randomValues': {
525
+ $in: [6, 10],
526
+ },
527
+ },
528
+ {
529
+ 'settings.randomValues': {
530
+ $in: [99, 14],
531
+ },
532
+ },
533
+ {
534
+ 'settings.randomValues': {
535
+ $in: [],
536
+ },
537
+ },
538
+ ],
539
+ });
540
+ });
541
+ it('Can search booleans in a JSON array', async () => {
542
+ await (0, utils_1.testMatch)({
543
+ tableDefinition,
544
+ filters,
545
+ rows: [
546
+ {
547
+ settings: {
548
+ randomValues: [
549
+ null,
550
+ 'Banana',
551
+ false,
552
+ 1,
553
+ ],
554
+ },
555
+ },
556
+ ],
557
+ doMatch: [
558
+ {
559
+ 'settings.randomValues': {
560
+ $in: [false, true],
561
+ },
562
+ },
563
+ {
564
+ 'settings.randomValues': {
565
+ $in: [false],
566
+ },
567
+ },
568
+ ],
569
+ doNotMatch: [
570
+ {
571
+ 'settings.randomValues': {
572
+ $in: [true],
573
+ },
574
+ },
575
+ {
576
+ 'settings.randomValues': {
577
+ $in: [0],
578
+ },
579
+ },
580
+ {
581
+ 'settings.randomValues': {
582
+ $in: [],
583
+ },
584
+ },
585
+ ],
586
+ });
587
+ });
588
+ });
589
+ });
590
+ //# sourceMappingURL=$in.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$in.test.js","sourceRoot":"","sources":["../../../tests/filters/$in.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=$lt.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"$lt.test.d.ts","sourceRoot":"","sources":["../../../tests/filters/$lt.test.ts"],"names":[],"mappings":""}