@pgarbe/cdk-ecr-sync 0.5.25 → 0.5.26

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 (134) hide show
  1. package/.jsii +147 -4
  2. package/.projenrc.ts +1 -1
  3. package/CHANGELOG.md +1 -1
  4. package/lib/ecr-sync.d.ts +4 -22
  5. package/lib/ecr-sync.js +3 -10
  6. package/lib/image.d.ts +5 -8
  7. package/lib/image.js +1 -1
  8. package/node_modules/aws-sdk/CHANGELOG.md +69 -1
  9. package/node_modules/aws-sdk/README.md +1 -1
  10. package/node_modules/aws-sdk/apis/appconfig-2019-10-09.min.json +3 -1
  11. package/node_modules/aws-sdk/apis/appconfigdata-2021-11-11.min.json +11 -11
  12. package/node_modules/aws-sdk/apis/appflow-2020-08-23.min.json +677 -237
  13. package/node_modules/aws-sdk/apis/appflow-2020-08-23.paginators.json +7 -1
  14. package/node_modules/aws-sdk/apis/apprunner-2020-05-15.min.json +171 -15
  15. package/node_modules/aws-sdk/apis/apprunner-2020-05-15.paginators.json +5 -0
  16. package/node_modules/aws-sdk/apis/athena-2017-05-18.min.json +43 -30
  17. package/node_modules/aws-sdk/apis/auditmanager-2017-07-25.min.json +5 -1
  18. package/node_modules/aws-sdk/apis/cloudformation-2010-05-15.min.json +86 -25
  19. package/node_modules/aws-sdk/apis/codeguru-reviewer-2019-09-19.waiters2.json +14 -2
  20. package/node_modules/aws-sdk/apis/comprehend-2017-11-27.min.json +167 -79
  21. package/node_modules/aws-sdk/apis/connect-2017-08-08.min.json +408 -133
  22. package/node_modules/aws-sdk/apis/connect-2017-08-08.paginators.json +12 -0
  23. package/node_modules/aws-sdk/apis/ec2-2016-11-15.min.json +122 -43
  24. package/node_modules/aws-sdk/apis/ec2-2016-11-15.paginators.json +6 -0
  25. package/node_modules/aws-sdk/apis/elasticfilesystem-2015-02-01.min.json +149 -21
  26. package/node_modules/aws-sdk/apis/es-2015-01-01.min.json +125 -49
  27. package/node_modules/aws-sdk/apis/fis-2020-12-01.min.json +136 -30
  28. package/node_modules/aws-sdk/apis/fis-2020-12-01.paginators.json +5 -0
  29. package/node_modules/aws-sdk/apis/frauddetector-2019-11-15.min.json +212 -6
  30. package/node_modules/aws-sdk/apis/frauddetector-2019-11-15.paginators.json +5 -0
  31. package/node_modules/aws-sdk/apis/fsx-2018-03-01.min.json +4 -1
  32. package/node_modules/aws-sdk/apis/guardduty-2017-11-28.min.json +352 -77
  33. package/node_modules/aws-sdk/apis/kafka-2018-11-14.min.json +114 -94
  34. package/node_modules/aws-sdk/apis/kendra-2019-02-03.min.json +80 -55
  35. package/node_modules/aws-sdk/apis/lakeformation-2017-03-31.min.json +0 -1
  36. package/node_modules/aws-sdk/apis/mediaconvert-2017-08-29.min.json +148 -127
  37. package/node_modules/aws-sdk/apis/mediatailor-2018-04-23.min.json +79 -51
  38. package/node_modules/aws-sdk/apis/meteringmarketplace-2016-01-14.min.json +2 -1
  39. package/node_modules/aws-sdk/apis/opensearch-2021-01-01.min.json +125 -49
  40. package/node_modules/aws-sdk/apis/personalize-2018-05-22.min.json +3 -0
  41. package/node_modules/aws-sdk/apis/robomaker-2018-06-29.min.json +135 -45
  42. package/node_modules/aws-sdk/apis/s3control-2018-08-20.min.json +152 -52
  43. package/node_modules/aws-sdk/apis/sagemaker-2017-07-24.min.json +131 -123
  44. package/node_modules/aws-sdk/apis/secretsmanager-2017-10-17.min.json +15 -10
  45. package/node_modules/aws-sdk/apis/securityhub-2018-10-26.min.json +47 -33
  46. package/node_modules/aws-sdk/apis/synthetics-2017-10-11.min.json +11 -3
  47. package/node_modules/aws-sdk/apis/transcribe-2017-10-26.min.json +44 -40
  48. package/node_modules/aws-sdk/clients/amplify.d.ts +7 -7
  49. package/node_modules/aws-sdk/clients/appconfig.d.ts +13 -13
  50. package/node_modules/aws-sdk/clients/appconfigdata.d.ts +18 -18
  51. package/node_modules/aws-sdk/clients/appflow.d.ts +611 -3
  52. package/node_modules/aws-sdk/clients/apprunner.d.ts +179 -12
  53. package/node_modules/aws-sdk/clients/athena.d.ts +31 -8
  54. package/node_modules/aws-sdk/clients/auditmanager.d.ts +2 -2
  55. package/node_modules/aws-sdk/clients/cloudformation.d.ts +407 -264
  56. package/node_modules/aws-sdk/clients/codegurureviewer.d.ts +6 -5
  57. package/node_modules/aws-sdk/clients/cognitoidentityserviceprovider.d.ts +287 -287
  58. package/node_modules/aws-sdk/clients/comprehend.d.ts +138 -0
  59. package/node_modules/aws-sdk/clients/connect.d.ts +327 -10
  60. package/node_modules/aws-sdk/clients/costexplorer.d.ts +17 -17
  61. package/node_modules/aws-sdk/clients/dynamodb.d.ts +5 -5
  62. package/node_modules/aws-sdk/clients/ebs.d.ts +6 -6
  63. package/node_modules/aws-sdk/clients/ec2.d.ts +124 -10
  64. package/node_modules/aws-sdk/clients/efs.d.ts +131 -4
  65. package/node_modules/aws-sdk/clients/elasticache.d.ts +3 -3
  66. package/node_modules/aws-sdk/clients/emr.d.ts +14 -14
  67. package/node_modules/aws-sdk/clients/es.d.ts +97 -0
  68. package/node_modules/aws-sdk/clients/eventbridge.d.ts +8 -8
  69. package/node_modules/aws-sdk/clients/fis.d.ts +142 -22
  70. package/node_modules/aws-sdk/clients/frauddetector.d.ts +308 -0
  71. package/node_modules/aws-sdk/clients/fsx.d.ts +15 -11
  72. package/node_modules/aws-sdk/clients/glue.d.ts +7 -7
  73. package/node_modules/aws-sdk/clients/guardduty.d.ts +309 -44
  74. package/node_modules/aws-sdk/clients/iot.d.ts +1 -1
  75. package/node_modules/aws-sdk/clients/kafka.d.ts +19 -1
  76. package/node_modules/aws-sdk/clients/kendra.d.ts +95 -59
  77. package/node_modules/aws-sdk/clients/lakeformation.d.ts +1 -1
  78. package/node_modules/aws-sdk/clients/marketplacemetering.d.ts +17 -12
  79. package/node_modules/aws-sdk/clients/mediaconvert.d.ts +40 -6
  80. package/node_modules/aws-sdk/clients/mediatailor.d.ts +11 -0
  81. package/node_modules/aws-sdk/clients/opensearch.d.ts +97 -0
  82. package/node_modules/aws-sdk/clients/personalize.d.ts +7 -3
  83. package/node_modules/aws-sdk/clients/rbin.d.ts +41 -41
  84. package/node_modules/aws-sdk/clients/rds.d.ts +17 -17
  85. package/node_modules/aws-sdk/clients/robomaker.d.ts +30 -30
  86. package/node_modules/aws-sdk/clients/route53recoveryreadiness.d.ts +275 -230
  87. package/node_modules/aws-sdk/clients/s3control.d.ts +137 -10
  88. package/node_modules/aws-sdk/clients/sagemaker.d.ts +27 -7
  89. package/node_modules/aws-sdk/clients/secretsmanager.d.ts +62 -48
  90. package/node_modules/aws-sdk/clients/securityhub.d.ts +15 -0
  91. package/node_modules/aws-sdk/clients/ssmincidents.d.ts +1 -1
  92. package/node_modules/aws-sdk/clients/synthetics.d.ts +15 -5
  93. package/node_modules/aws-sdk/clients/transcribeservice.d.ts +6 -0
  94. package/node_modules/aws-sdk/dist/aws-sdk-core-react-native.js +35 -28
  95. package/node_modules/aws-sdk/dist/aws-sdk-react-native.js +73 -66
  96. package/node_modules/aws-sdk/dist/aws-sdk.js +1048 -371
  97. package/node_modules/aws-sdk/dist/aws-sdk.min.js +90 -90
  98. package/node_modules/aws-sdk/lib/core.js +1 -1
  99. package/node_modules/aws-sdk/lib/dynamodb/document_client.d.ts +1 -1
  100. package/node_modules/aws-sdk/lib/param_validator.js +2 -0
  101. package/node_modules/aws-sdk/package.json +2 -2
  102. package/node_modules/jmespath/jmespath.js +32 -27
  103. package/node_modules/jmespath/package.json +2 -7
  104. package/package.json +3 -3
  105. package/releasetag.txt +1 -1
  106. package/version.txt +1 -1
  107. package/node_modules/jmespath/.eslintrc +0 -10
  108. package/node_modules/jmespath/.npmignore +0 -1
  109. package/node_modules/jmespath/.travis.yml +0 -6
  110. package/node_modules/jmespath/BASELINE +0 -15
  111. package/node_modules/jmespath/Gruntfile.js +0 -36
  112. package/node_modules/jmespath/g.sh +0 -5
  113. package/node_modules/jmespath/index.html +0 -93
  114. package/node_modules/jmespath/james.html +0 -7
  115. package/node_modules/jmespath/l.js +0 -189
  116. package/node_modules/jmespath/perf.js +0 -33
  117. package/node_modules/jmespath/reservedWords.json +0 -4
  118. package/node_modules/jmespath/test/compliance/basic.json +0 -96
  119. package/node_modules/jmespath/test/compliance/boolean.json +0 -257
  120. package/node_modules/jmespath/test/compliance/current.json +0 -25
  121. package/node_modules/jmespath/test/compliance/escape.json +0 -46
  122. package/node_modules/jmespath/test/compliance/filters.json +0 -468
  123. package/node_modules/jmespath/test/compliance/functions.json +0 -825
  124. package/node_modules/jmespath/test/compliance/identifiers.json +0 -1377
  125. package/node_modules/jmespath/test/compliance/indices.json +0 -346
  126. package/node_modules/jmespath/test/compliance/literal.json +0 -190
  127. package/node_modules/jmespath/test/compliance/multiselect.json +0 -393
  128. package/node_modules/jmespath/test/compliance/pipe.json +0 -131
  129. package/node_modules/jmespath/test/compliance/slice.json +0 -187
  130. package/node_modules/jmespath/test/compliance/syntax.json +0 -616
  131. package/node_modules/jmespath/test/compliance/unicode.json +0 -38
  132. package/node_modules/jmespath/test/compliance/wildcard.json +0 -460
  133. package/node_modules/jmespath/test/compliance.js +0 -56
  134. package/node_modules/jmespath/test/jmespath.js +0 -217
@@ -1,468 +0,0 @@
1
- [
2
- {
3
- "given": {"foo": [{"name": "a"}, {"name": "b"}]},
4
- "cases": [
5
- {
6
- "comment": "Matching a literal",
7
- "expression": "foo[?name == 'a']",
8
- "result": [{"name": "a"}]
9
- }
10
- ]
11
- },
12
- {
13
- "given": {"foo": [0, 1], "bar": [2, 3]},
14
- "cases": [
15
- {
16
- "comment": "Matching a literal",
17
- "expression": "*[?[0] == `0`]",
18
- "result": [[], []]
19
- }
20
- ]
21
- },
22
- {
23
- "given": {"foo": [{"first": "foo", "last": "bar"},
24
- {"first": "foo", "last": "foo"},
25
- {"first": "foo", "last": "baz"}]},
26
- "cases": [
27
- {
28
- "comment": "Matching an expression",
29
- "expression": "foo[?first == last]",
30
- "result": [{"first": "foo", "last": "foo"}]
31
- },
32
- {
33
- "comment": "Verify projection created from filter",
34
- "expression": "foo[?first == last].first",
35
- "result": ["foo"]
36
- }
37
- ]
38
- },
39
- {
40
- "given": {"foo": [{"age": 20},
41
- {"age": 25},
42
- {"age": 30}]},
43
- "cases": [
44
- {
45
- "comment": "Greater than with a number",
46
- "expression": "foo[?age > `25`]",
47
- "result": [{"age": 30}]
48
- },
49
- {
50
- "expression": "foo[?age >= `25`]",
51
- "result": [{"age": 25}, {"age": 30}]
52
- },
53
- {
54
- "comment": "Greater than with a number",
55
- "expression": "foo[?age > `30`]",
56
- "result": []
57
- },
58
- {
59
- "comment": "Greater than with a number",
60
- "expression": "foo[?age < `25`]",
61
- "result": [{"age": 20}]
62
- },
63
- {
64
- "comment": "Greater than with a number",
65
- "expression": "foo[?age <= `25`]",
66
- "result": [{"age": 20}, {"age": 25}]
67
- },
68
- {
69
- "comment": "Greater than with a number",
70
- "expression": "foo[?age < `20`]",
71
- "result": []
72
- },
73
- {
74
- "expression": "foo[?age == `20`]",
75
- "result": [{"age": 20}]
76
- },
77
- {
78
- "expression": "foo[?age != `20`]",
79
- "result": [{"age": 25}, {"age": 30}]
80
- }
81
- ]
82
- },
83
- {
84
- "given": {"foo": [{"top": {"name": "a"}},
85
- {"top": {"name": "b"}}]},
86
- "cases": [
87
- {
88
- "comment": "Filter with subexpression",
89
- "expression": "foo[?top.name == 'a']",
90
- "result": [{"top": {"name": "a"}}]
91
- }
92
- ]
93
- },
94
- {
95
- "given": {"foo": [{"top": {"first": "foo", "last": "bar"}},
96
- {"top": {"first": "foo", "last": "foo"}},
97
- {"top": {"first": "foo", "last": "baz"}}]},
98
- "cases": [
99
- {
100
- "comment": "Matching an expression",
101
- "expression": "foo[?top.first == top.last]",
102
- "result": [{"top": {"first": "foo", "last": "foo"}}]
103
- },
104
- {
105
- "comment": "Matching a JSON array",
106
- "expression": "foo[?top == `{\"first\": \"foo\", \"last\": \"bar\"}`]",
107
- "result": [{"top": {"first": "foo", "last": "bar"}}]
108
- }
109
- ]
110
- },
111
- {
112
- "given": {"foo": [
113
- {"key": true},
114
- {"key": false},
115
- {"key": 0},
116
- {"key": 1},
117
- {"key": [0]},
118
- {"key": {"bar": [0]}},
119
- {"key": null},
120
- {"key": [1]},
121
- {"key": {"a":2}}
122
- ]},
123
- "cases": [
124
- {
125
- "expression": "foo[?key == `true`]",
126
- "result": [{"key": true}]
127
- },
128
- {
129
- "expression": "foo[?key == `false`]",
130
- "result": [{"key": false}]
131
- },
132
- {
133
- "expression": "foo[?key == `0`]",
134
- "result": [{"key": 0}]
135
- },
136
- {
137
- "expression": "foo[?key == `1`]",
138
- "result": [{"key": 1}]
139
- },
140
- {
141
- "expression": "foo[?key == `[0]`]",
142
- "result": [{"key": [0]}]
143
- },
144
- {
145
- "expression": "foo[?key == `{\"bar\": [0]}`]",
146
- "result": [{"key": {"bar": [0]}}]
147
- },
148
- {
149
- "expression": "foo[?key == `null`]",
150
- "result": [{"key": null}]
151
- },
152
- {
153
- "expression": "foo[?key == `[1]`]",
154
- "result": [{"key": [1]}]
155
- },
156
- {
157
- "expression": "foo[?key == `{\"a\":2}`]",
158
- "result": [{"key": {"a":2}}]
159
- },
160
- {
161
- "expression": "foo[?`true` == key]",
162
- "result": [{"key": true}]
163
- },
164
- {
165
- "expression": "foo[?`false` == key]",
166
- "result": [{"key": false}]
167
- },
168
- {
169
- "expression": "foo[?`0` == key]",
170
- "result": [{"key": 0}]
171
- },
172
- {
173
- "expression": "foo[?`1` == key]",
174
- "result": [{"key": 1}]
175
- },
176
- {
177
- "expression": "foo[?`[0]` == key]",
178
- "result": [{"key": [0]}]
179
- },
180
- {
181
- "expression": "foo[?`{\"bar\": [0]}` == key]",
182
- "result": [{"key": {"bar": [0]}}]
183
- },
184
- {
185
- "expression": "foo[?`null` == key]",
186
- "result": [{"key": null}]
187
- },
188
- {
189
- "expression": "foo[?`[1]` == key]",
190
- "result": [{"key": [1]}]
191
- },
192
- {
193
- "expression": "foo[?`{\"a\":2}` == key]",
194
- "result": [{"key": {"a":2}}]
195
- },
196
- {
197
- "expression": "foo[?key != `true`]",
198
- "result": [{"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
199
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
200
- },
201
- {
202
- "expression": "foo[?key != `false`]",
203
- "result": [{"key": true}, {"key": 0}, {"key": 1}, {"key": [0]},
204
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
205
- },
206
- {
207
- "expression": "foo[?key != `0`]",
208
- "result": [{"key": true}, {"key": false}, {"key": 1}, {"key": [0]},
209
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
210
- },
211
- {
212
- "expression": "foo[?key != `1`]",
213
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": [0]},
214
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
215
- },
216
- {
217
- "expression": "foo[?key != `null`]",
218
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
219
- {"key": {"bar": [0]}}, {"key": [1]}, {"key": {"a":2}}]
220
- },
221
- {
222
- "expression": "foo[?key != `[1]`]",
223
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
224
- {"key": {"bar": [0]}}, {"key": null}, {"key": {"a":2}}]
225
- },
226
- {
227
- "expression": "foo[?key != `{\"a\":2}`]",
228
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
229
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}]
230
- },
231
- {
232
- "expression": "foo[?`true` != key]",
233
- "result": [{"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
234
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
235
- },
236
- {
237
- "expression": "foo[?`false` != key]",
238
- "result": [{"key": true}, {"key": 0}, {"key": 1}, {"key": [0]},
239
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
240
- },
241
- {
242
- "expression": "foo[?`0` != key]",
243
- "result": [{"key": true}, {"key": false}, {"key": 1}, {"key": [0]},
244
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
245
- },
246
- {
247
- "expression": "foo[?`1` != key]",
248
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": [0]},
249
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}, {"key": {"a":2}}]
250
- },
251
- {
252
- "expression": "foo[?`null` != key]",
253
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
254
- {"key": {"bar": [0]}}, {"key": [1]}, {"key": {"a":2}}]
255
- },
256
- {
257
- "expression": "foo[?`[1]` != key]",
258
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
259
- {"key": {"bar": [0]}}, {"key": null}, {"key": {"a":2}}]
260
- },
261
- {
262
- "expression": "foo[?`{\"a\":2}` != key]",
263
- "result": [{"key": true}, {"key": false}, {"key": 0}, {"key": 1}, {"key": [0]},
264
- {"key": {"bar": [0]}}, {"key": null}, {"key": [1]}]
265
- }
266
- ]
267
- },
268
- {
269
- "given": {"reservations": [
270
- {"instances": [
271
- {"foo": 1, "bar": 2}, {"foo": 1, "bar": 3},
272
- {"foo": 1, "bar": 2}, {"foo": 2, "bar": 1}]}]},
273
- "cases": [
274
- {
275
- "expression": "reservations[].instances[?bar==`1`]",
276
- "result": [[{"foo": 2, "bar": 1}]]
277
- },
278
- {
279
- "expression": "reservations[*].instances[?bar==`1`]",
280
- "result": [[{"foo": 2, "bar": 1}]]
281
- },
282
- {
283
- "expression": "reservations[].instances[?bar==`1`][]",
284
- "result": [{"foo": 2, "bar": 1}]
285
- }
286
- ]
287
- },
288
- {
289
- "given": {
290
- "baz": "other",
291
- "foo": [
292
- {"bar": 1}, {"bar": 2}, {"bar": 3}, {"bar": 4}, {"bar": 1, "baz": 2}
293
- ]
294
- },
295
- "cases": [
296
- {
297
- "expression": "foo[?bar==`1`].bar[0]",
298
- "result": []
299
- }
300
- ]
301
- },
302
- {
303
- "given": {
304
- "foo": [
305
- {"a": 1, "b": {"c": "x"}},
306
- {"a": 1, "b": {"c": "y"}},
307
- {"a": 1, "b": {"c": "z"}},
308
- {"a": 2, "b": {"c": "z"}},
309
- {"a": 1, "baz": 2}
310
- ]
311
- },
312
- "cases": [
313
- {
314
- "expression": "foo[?a==`1`].b.c",
315
- "result": ["x", "y", "z"]
316
- }
317
- ]
318
- },
319
- {
320
- "given": {"foo": [{"name": "a"}, {"name": "b"}, {"name": "c"}]},
321
- "cases": [
322
- {
323
- "comment": "Filter with or expression",
324
- "expression": "foo[?name == 'a' || name == 'b']",
325
- "result": [{"name": "a"}, {"name": "b"}]
326
- },
327
- {
328
- "expression": "foo[?name == 'a' || name == 'e']",
329
- "result": [{"name": "a"}]
330
- },
331
- {
332
- "expression": "foo[?name == 'a' || name == 'b' || name == 'c']",
333
- "result": [{"name": "a"}, {"name": "b"}, {"name": "c"}]
334
- }
335
- ]
336
- },
337
- {
338
- "given": {"foo": [{"a": 1, "b": 2}, {"a": 1, "b": 3}]},
339
- "cases": [
340
- {
341
- "comment": "Filter with and expression",
342
- "expression": "foo[?a == `1` && b == `2`]",
343
- "result": [{"a": 1, "b": 2}]
344
- },
345
- {
346
- "expression": "foo[?a == `1` && b == `4`]",
347
- "result": []
348
- }
349
- ]
350
- },
351
- {
352
- "given": {"foo": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]},
353
- "cases": [
354
- {
355
- "comment": "Filter with Or and And expressions",
356
- "expression": "foo[?c == `3` || a == `1` && b == `4`]",
357
- "result": [{"a": 1, "b": 2, "c": 3}]
358
- },
359
- {
360
- "expression": "foo[?b == `2` || a == `3` && b == `4`]",
361
- "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
362
- },
363
- {
364
- "expression": "foo[?a == `3` && b == `4` || b == `2`]",
365
- "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
366
- },
367
- {
368
- "expression": "foo[?(a == `3` && b == `4`) || b == `2`]",
369
- "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
370
- },
371
- {
372
- "expression": "foo[?((a == `3` && b == `4`)) || b == `2`]",
373
- "result": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]
374
- },
375
- {
376
- "expression": "foo[?a == `3` && (b == `4` || b == `2`)]",
377
- "result": [{"a": 3, "b": 4}]
378
- },
379
- {
380
- "expression": "foo[?a == `3` && ((b == `4` || b == `2`))]",
381
- "result": [{"a": 3, "b": 4}]
382
- }
383
- ]
384
- },
385
- {
386
- "given": {"foo": [{"a": 1, "b": 2, "c": 3}, {"a": 3, "b": 4}]},
387
- "cases": [
388
- {
389
- "comment": "Verify precedence of or/and expressions",
390
- "expression": "foo[?a == `1` || b ==`2` && c == `5`]",
391
- "result": [{"a": 1, "b": 2, "c": 3}]
392
- },
393
- {
394
- "comment": "Parentheses can alter precedence",
395
- "expression": "foo[?(a == `1` || b ==`2`) && c == `5`]",
396
- "result": []
397
- },
398
- {
399
- "comment": "Not expressions combined with and/or",
400
- "expression": "foo[?!(a == `1` || b ==`2`)]",
401
- "result": [{"a": 3, "b": 4}]
402
- }
403
- ]
404
- },
405
- {
406
- "given": {
407
- "foo": [
408
- {"key": true},
409
- {"key": false},
410
- {"key": []},
411
- {"key": {}},
412
- {"key": [0]},
413
- {"key": {"a": "b"}},
414
- {"key": 0},
415
- {"key": 1},
416
- {"key": null},
417
- {"notkey": true}
418
- ]
419
- },
420
- "cases": [
421
- {
422
- "comment": "Unary filter expression",
423
- "expression": "foo[?key]",
424
- "result": [
425
- {"key": true}, {"key": [0]}, {"key": {"a": "b"}},
426
- {"key": 0}, {"key": 1}
427
- ]
428
- },
429
- {
430
- "comment": "Unary not filter expression",
431
- "expression": "foo[?!key]",
432
- "result": [
433
- {"key": false}, {"key": []}, {"key": {}},
434
- {"key": null}, {"notkey": true}
435
- ]
436
- },
437
- {
438
- "comment": "Equality with null RHS",
439
- "expression": "foo[?key == `null`]",
440
- "result": [
441
- {"key": null}, {"notkey": true}
442
- ]
443
- }
444
- ]
445
- },
446
- {
447
- "given": {
448
- "foo": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
449
- },
450
- "cases": [
451
- {
452
- "comment": "Using @ in a filter expression",
453
- "expression": "foo[?@ < `5`]",
454
- "result": [0, 1, 2, 3, 4]
455
- },
456
- {
457
- "comment": "Using @ in a filter expression",
458
- "expression": "foo[?`5` > @]",
459
- "result": [0, 1, 2, 3, 4]
460
- },
461
- {
462
- "comment": "Using @ in a filter expression",
463
- "expression": "foo[?@ == @]",
464
- "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
465
- }
466
- ]
467
- }
468
- ]