@nymphjs/query-parser 1.0.0-beta.9 → 1.0.0-beta.90

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,338 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-beta.90](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.89...v1.0.0-beta.90) (2025-02-09)
7
+
8
+ **Note:** Version bump only for package @nymphjs/query-parser
9
+
10
+ # [1.0.0-beta.89](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.88...v1.0.0-beta.89) (2025-02-09)
11
+
12
+ **Note:** Version bump only for package @nymphjs/query-parser
13
+
14
+ # [1.0.0-beta.88](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.87...v1.0.0-beta.88) (2025-01-30)
15
+
16
+ **Note:** Version bump only for package @nymphjs/query-parser
17
+
18
+ # [1.0.0-beta.87](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.86...v1.0.0-beta.87) (2025-01-20)
19
+
20
+ **Note:** Version bump only for package @nymphjs/query-parser
21
+
22
+ # [1.0.0-beta.86](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.85...v1.0.0-beta.86) (2024-12-28)
23
+
24
+ **Note:** Version bump only for package @nymphjs/query-parser
25
+
26
+ # [1.0.0-beta.85](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.84...v1.0.0-beta.85) (2024-12-27)
27
+
28
+ **Note:** Version bump only for package @nymphjs/query-parser
29
+
30
+ # [1.0.0-beta.84](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.83...v1.0.0-beta.84) (2024-12-21)
31
+
32
+ **Note:** Version bump only for package @nymphjs/query-parser
33
+
34
+ # [1.0.0-beta.83](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.82...v1.0.0-beta.83) (2024-12-20)
35
+
36
+ **Note:** Version bump only for package @nymphjs/query-parser
37
+
38
+ # [1.0.0-beta.82](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.81...v1.0.0-beta.82) (2024-12-15)
39
+
40
+ ### Features
41
+
42
+ - migrate to es modules, upgrade all packages, migrate to Svelte 5 ([3f2b9e5](https://github.com/sciactive/nymphjs/commit/3f2b9e517b39934eddce66601d7fc747fbf3f9e6))
43
+
44
+ # [1.0.0-beta.81](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.80...v1.0.0-beta.81) (2024-09-28)
45
+
46
+ **Note:** Version bump only for package @nymphjs/query-parser
47
+
48
+ # [1.0.0-beta.80](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.79...v1.0.0-beta.80) (2024-09-28)
49
+
50
+ **Note:** Version bump only for package @nymphjs/query-parser
51
+
52
+ # [1.0.0-beta.79](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.78...v1.0.0-beta.79) (2024-09-28)
53
+
54
+ **Note:** Version bump only for package @nymphjs/query-parser
55
+
56
+ # [1.0.0-beta.78](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.77...v1.0.0-beta.78) (2024-09-27)
57
+
58
+ **Note:** Version bump only for package @nymphjs/query-parser
59
+
60
+ # [1.0.0-beta.77](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.76...v1.0.0-beta.77) (2024-09-26)
61
+
62
+ **Note:** Version bump only for package @nymphjs/query-parser
63
+
64
+ # [1.0.0-beta.76](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.75...v1.0.0-beta.76) (2024-09-25)
65
+
66
+ **Note:** Version bump only for package @nymphjs/query-parser
67
+
68
+ # [1.0.0-beta.75](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.74...v1.0.0-beta.75) (2024-09-24)
69
+
70
+ **Note:** Version bump only for package @nymphjs/query-parser
71
+
72
+ # [1.0.0-beta.74](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.73...v1.0.0-beta.74) (2024-09-21)
73
+
74
+ **Note:** Version bump only for package @nymphjs/query-parser
75
+
76
+ # [1.0.0-beta.73](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.72...v1.0.0-beta.73) (2024-09-20)
77
+
78
+ **Note:** Version bump only for package @nymphjs/query-parser
79
+
80
+ # [1.0.0-beta.72](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.71...v1.0.0-beta.72) (2024-09-20)
81
+
82
+ **Note:** Version bump only for package @nymphjs/query-parser
83
+
84
+ # [1.0.0-beta.71](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.70...v1.0.0-beta.71) (2024-09-20)
85
+
86
+ **Note:** Version bump only for package @nymphjs/query-parser
87
+
88
+ # [1.0.0-beta.70](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.69...v1.0.0-beta.70) (2024-09-20)
89
+
90
+ **Note:** Version bump only for package @nymphjs/query-parser
91
+
92
+ # [1.0.0-beta.69](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.68...v1.0.0-beta.69) (2024-09-19)
93
+
94
+ **Note:** Version bump only for package @nymphjs/query-parser
95
+
96
+ # [1.0.0-beta.68](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.67...v1.0.0-beta.68) (2024-09-19)
97
+
98
+ **Note:** Version bump only for package @nymphjs/query-parser
99
+
100
+ # [1.0.0-beta.67](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.66...v1.0.0-beta.67) (2024-09-03)
101
+
102
+ **Note:** Version bump only for package @nymphjs/query-parser
103
+
104
+ # [1.0.0-beta.66](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.65...v1.0.0-beta.66) (2024-08-06)
105
+
106
+ **Note:** Version bump only for package @nymphjs/query-parser
107
+
108
+ # [1.0.0-beta.65](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.64...v1.0.0-beta.65) (2024-08-05)
109
+
110
+ **Note:** Version bump only for package @nymphjs/query-parser
111
+
112
+ # [1.0.0-beta.64](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.63...v1.0.0-beta.64) (2024-08-04)
113
+
114
+ **Note:** Version bump only for package @nymphjs/query-parser
115
+
116
+ # [1.0.0-beta.63](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.62...v1.0.0-beta.63) (2024-06-18)
117
+
118
+ **Note:** Version bump only for package @nymphjs/query-parser
119
+
120
+ # [1.0.0-beta.62](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.61...v1.0.0-beta.62) (2024-06-15)
121
+
122
+ **Note:** Version bump only for package @nymphjs/query-parser
123
+
124
+ # [1.0.0-beta.61](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.60...v1.0.0-beta.61) (2024-06-14)
125
+
126
+ **Note:** Version bump only for package @nymphjs/query-parser
127
+
128
+ # [1.0.0-beta.60](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.59...v1.0.0-beta.60) (2024-06-14)
129
+
130
+ **Note:** Version bump only for package @nymphjs/query-parser
131
+
132
+ # [1.0.0-beta.59](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.58...v1.0.0-beta.59) (2024-06-14)
133
+
134
+ **Note:** Version bump only for package @nymphjs/query-parser
135
+
136
+ # [1.0.0-beta.58](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.57...v1.0.0-beta.58) (2024-06-12)
137
+
138
+ **Note:** Version bump only for package @nymphjs/query-parser
139
+
140
+ # [1.0.0-beta.57](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.56...v1.0.0-beta.57) (2024-06-12)
141
+
142
+ **Note:** Version bump only for package @nymphjs/query-parser
143
+
144
+ # [1.0.0-beta.56](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.55...v1.0.0-beta.56) (2024-06-11)
145
+
146
+ **Note:** Version bump only for package @nymphjs/query-parser
147
+
148
+ # [1.0.0-beta.55](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.54...v1.0.0-beta.55) (2024-05-26)
149
+
150
+ **Note:** Version bump only for package @nymphjs/query-parser
151
+
152
+ # [1.0.0-beta.54](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.53...v1.0.0-beta.54) (2024-05-26)
153
+
154
+ **Note:** Version bump only for package @nymphjs/query-parser
155
+
156
+ # [1.0.0-beta.53](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.52...v1.0.0-beta.53) (2024-05-26)
157
+
158
+ **Note:** Version bump only for package @nymphjs/query-parser
159
+
160
+ # [1.0.0-beta.52](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.51...v1.0.0-beta.52) (2024-05-25)
161
+
162
+ **Note:** Version bump only for package @nymphjs/query-parser
163
+
164
+ # [1.0.0-beta.51](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.50...v1.0.0-beta.51) (2024-04-12)
165
+
166
+ ### Bug Fixes
167
+
168
+ - query parser nested qref clauses ([10bd94d](https://github.com/sciactive/nymphjs/commit/10bd94df0329a3abc76cecb9d05f9a7fb2fdf29a))
169
+
170
+ # [1.0.0-beta.50](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.49...v1.0.0-beta.50) (2024-04-08)
171
+
172
+ **Note:** Version bump only for package @nymphjs/query-parser
173
+
174
+ # [1.0.0-beta.49](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.48...v1.0.0-beta.49) (2024-03-04)
175
+
176
+ **Note:** Version bump only for package @nymphjs/query-parser
177
+
178
+ # [1.0.0-beta.48](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.47...v1.0.0-beta.48) (2023-11-10)
179
+
180
+ **Note:** Version bump only for package @nymphjs/query-parser
181
+
182
+ # [1.0.0-beta.47](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.46...v1.0.0-beta.47) (2023-11-10)
183
+
184
+ **Note:** Version bump only for package @nymphjs/query-parser
185
+
186
+ # [1.0.0-beta.46](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.45...v1.0.0-beta.46) (2023-08-29)
187
+
188
+ **Note:** Version bump only for package @nymphjs/query-parser
189
+
190
+ # [1.0.0-beta.45](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.44...v1.0.0-beta.45) (2023-07-17)
191
+
192
+ **Note:** Version bump only for package @nymphjs/query-parser
193
+
194
+ # [1.0.0-beta.44](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.43...v1.0.0-beta.44) (2023-07-13)
195
+
196
+ **Note:** Version bump only for package @nymphjs/query-parser
197
+
198
+ # [1.0.0-beta.43](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.42...v1.0.0-beta.43) (2023-07-12)
199
+
200
+ **Note:** Version bump only for package @nymphjs/query-parser
201
+
202
+ # [1.0.0-beta.42](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.41...v1.0.0-beta.42) (2023-07-12)
203
+
204
+ **Note:** Version bump only for package @nymphjs/query-parser
205
+
206
+ # [1.0.0-beta.41](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.40...v1.0.0-beta.41) (2023-07-12)
207
+
208
+ **Note:** Version bump only for package @nymphjs/query-parser
209
+
210
+ # [1.0.0-beta.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.39...v1.0.0-beta.40) (2023-07-10)
211
+
212
+ **Note:** Version bump only for package @nymphjs/query-parser
213
+
214
+ # [1.0.0-beta.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.38...v1.0.0-beta.39) (2023-07-09)
215
+
216
+ **Note:** Version bump only for package @nymphjs/query-parser
217
+
218
+ # [1.0.0-beta.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.37...v1.0.0-beta.38) (2023-07-09)
219
+
220
+ **Note:** Version bump only for package @nymphjs/query-parser
221
+
222
+ # [1.0.0-beta.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.36...v1.0.0-beta.37) (2023-07-09)
223
+
224
+ **Note:** Version bump only for package @nymphjs/query-parser
225
+
226
+ # [1.0.0-beta.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.35...v1.0.0-beta.36) (2023-07-09)
227
+
228
+ **Note:** Version bump only for package @nymphjs/query-parser
229
+
230
+ # [1.0.0-beta.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.34...v1.0.0-beta.35) (2023-06-14)
231
+
232
+ **Note:** Version bump only for package @nymphjs/query-parser
233
+
234
+ # [1.0.0-beta.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.33...v1.0.0-beta.34) (2023-05-13)
235
+
236
+ **Note:** Version bump only for package @nymphjs/query-parser
237
+
238
+ # [1.0.0-beta.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.32...v1.0.0-beta.33) (2023-05-13)
239
+
240
+ **Note:** Version bump only for package @nymphjs/query-parser
241
+
242
+ # [1.0.0-beta.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.31...v1.0.0-beta.32) (2023-05-13)
243
+
244
+ **Note:** Version bump only for package @nymphjs/query-parser
245
+
246
+ # [1.0.0-beta.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.30...v1.0.0-beta.31) (2023-05-12)
247
+
248
+ **Note:** Version bump only for package @nymphjs/query-parser
249
+
250
+ # [1.0.0-beta.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.29...v1.0.0-beta.30) (2023-05-12)
251
+
252
+ **Note:** Version bump only for package @nymphjs/query-parser
253
+
254
+ # [1.0.0-beta.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.28...v1.0.0-beta.29) (2023-05-08)
255
+
256
+ **Note:** Version bump only for package @nymphjs/query-parser
257
+
258
+ # [1.0.0-beta.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.27...v1.0.0-beta.28) (2023-05-05)
259
+
260
+ **Note:** Version bump only for package @nymphjs/query-parser
261
+
262
+ # [1.0.0-beta.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.26...v1.0.0-beta.27) (2023-05-04)
263
+
264
+ **Note:** Version bump only for package @nymphjs/query-parser
265
+
266
+ # [1.0.0-beta.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.25...v1.0.0-beta.26) (2023-05-04)
267
+
268
+ ### Features
269
+
270
+ - update packages and migrate to mysql2 ([72ad611](https://github.com/sciactive/nymphjs/commit/72ad611bd2bf7bf85c3ba8a3486503d9b50c49d6))
271
+
272
+ # [1.0.0-beta.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.24...v1.0.0-beta.25) (2023-05-04)
273
+
274
+ **Note:** Version bump only for package @nymphjs/query-parser
275
+
276
+ # [1.0.0-beta.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.23...v1.0.0-beta.24) (2023-05-02)
277
+
278
+ **Note:** Version bump only for package @nymphjs/query-parser
279
+
280
+ # [1.0.0-beta.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.22...v1.0.0-beta.23) (2023-05-02)
281
+
282
+ **Note:** Version bump only for package @nymphjs/query-parser
283
+
284
+ # [1.0.0-beta.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.21...v1.0.0-beta.22) (2023-05-01)
285
+
286
+ **Note:** Version bump only for package @nymphjs/query-parser
287
+
288
+ # [1.0.0-beta.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2023-05-01)
289
+
290
+ **Note:** Version bump only for package @nymphjs/query-parser
291
+
292
+ # [1.0.0-beta.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2023-04-30)
293
+
294
+ **Note:** Version bump only for package @nymphjs/query-parser
295
+
296
+ # [1.0.0-beta.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2023-04-29)
297
+
298
+ **Note:** Version bump only for package @nymphjs/query-parser
299
+
300
+ # [1.0.0-beta.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2023-04-27)
301
+
302
+ **Note:** Version bump only for package @nymphjs/query-parser
303
+
304
+ # [1.0.0-beta.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.16...v1.0.0-beta.17) (2023-04-24)
305
+
306
+ **Note:** Version bump only for package @nymphjs/query-parser
307
+
308
+ # [1.0.0-beta.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.15...v1.0.0-beta.16) (2023-03-31)
309
+
310
+ **Note:** Version bump only for package @nymphjs/query-parser
311
+
312
+ # [1.0.0-beta.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2023-03-23)
313
+
314
+ ### Features
315
+
316
+ - add option to sort results by a property ([16384e7](https://github.com/sciactive/nymphjs/commit/16384e7bdab88abb55ccccabb06ac09f92fa8a03))
317
+
318
+ # [1.0.0-beta.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.13...v1.0.0-beta.14) (2023-03-17)
319
+
320
+ **Note:** Version bump only for package @nymphjs/query-parser
321
+
322
+ # [1.0.0-beta.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.12...v1.0.0-beta.13) (2023-03-16)
323
+
324
+ **Note:** Version bump only for package @nymphjs/query-parser
325
+
326
+ # [1.0.0-beta.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.11...v1.0.0-beta.12) (2023-03-04)
327
+
328
+ **Note:** Version bump only for package @nymphjs/query-parser
329
+
330
+ # [1.0.0-beta.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2023-02-27)
331
+
332
+ **Note:** Version bump only for package @nymphjs/query-parser
333
+
334
+ # [1.0.0-beta.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2023-01-19)
335
+
336
+ **Note:** Version bump only for package @nymphjs/query-parser
337
+
6
338
  # [1.0.0-beta.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2023-01-09)
7
339
 
8
340
  **Note:** Version bump only for package @nymphjs/query-parser
package/README.md CHANGED
@@ -23,7 +23,7 @@ import Category from './Category';
23
23
  async function doQuery() {
24
24
  const [options, ...selectors] = queryParser({
25
25
  query:
26
- 'limit:4 foobar (| [archived] mdate<"2 weeks ago") category<{cat Tech}>',
26
+ 'limit:4 sort:mdate foobar (| [archived] mdate<"2 weeks ago") category<{cat Tech}>',
27
27
  entityClass: BlogPost,
28
28
  defaultFields: ['title', 'body'],
29
29
  qrefMap: {
@@ -37,7 +37,8 @@ async function doQuery() {
37
37
  Options will be
38
38
  {
39
39
  class: BlogPost,
40
- limit: 4
40
+ limit: 4,
41
+ sort: 'mdate'
41
42
  }
42
43
 
43
44
  And selectors will be (equivalent to)
@@ -81,10 +82,11 @@ async function doQuery() {
81
82
 
82
83
  ## Options
83
84
 
84
- You can set limit, offset, and reverse like this.
85
+ You can set limit, offset, sort, and reverse like this.
85
86
 
86
87
  - `limit:number`
87
88
  - `offset:number`
89
+ - `sort:string`
88
90
  - `reverse:true`, `reverse:false`, `reverse:1`, or `reverse:0`
89
91
 
90
92
  These must appear in the top level of the query (outside of any parentheses).
@@ -132,12 +134,12 @@ Check for a reference to another entity.
132
134
  Check for a reference to another entity using a query.
133
135
 
134
136
  - `name<{refclassname inner query}>` or `name!<{refclassname inner query}>`
135
- - (Esacpe curly brackets with a leading backslash.)
137
+ - (Escape curly brackets with a leading backslash.)
136
138
  - (Requires a map of refclassname to their actual class and default fields.)
137
139
 
138
140
  ### contain and !contain
139
141
 
140
- Check for a JSON representation appearing within the JSON representation of the named property.
142
+ Check if the array at the named property contains a value.
141
143
 
142
144
  - `name<value>` or `name!<value>`
143
145
  - (Escape angle brackets with a leading backslash. If your value could be interpreted as valid JSON, encode it as a JSON string and use the JSON syntax instead.)
@@ -237,7 +239,7 @@ You can also supply a function in the option `bareHandler` that will handle bare
237
239
 
238
240
  # License
239
241
 
240
- Copyright 2021 SciActive Inc
242
+ Copyright 2021-2025 SciActive Inc
241
243
 
242
244
  Licensed under the Apache License, Version 2.0 (the "License");
243
245
  you may not use this file except in compliance with the License.
@@ -0,0 +1,4 @@
1
+ export * from './queryParser.js';
2
+ import queryParser from './queryParser.js';
3
+ export { queryParser };
4
+ export default queryParser;
package/dist/index.js CHANGED
@@ -1,2 +1,5 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["@nymphjs/client"]=t():e["@nymphjs/client"]=t()}(this,(()=>(()=>{"use strict";var e={568:function(e,t,l){var r=this&&this.__createBinding||(Object.create?function(e,t,l,r){void 0===r&&(r=l);var i=Object.getOwnPropertyDescriptor(t,l);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,r,i)}:function(e,t,l,r){void 0===r&&(r=l),e[r]=t[l]}),i=this&&this.__exportStar||function(e,t){for(var l in e)"default"===l||Object.prototype.hasOwnProperty.call(t,l)||r(t,e,l)},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.queryParser=void 0,i(l(138),t);const n=c(l(138));t.queryParser=n.default,t.default=n.default},138:function(e,t,l){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=r(l(87));function c({query:e,entityClass:t,defaultFields:l=["name"],qrefMap:r={},bareHandler:i=((e,t,l=["name"])=>(e.match(/[_%]/)||(e=`%${e}%`),l.length?{type:"|",ilike:l.map((t=>[t,e]))}:{}))}){const c={class:t};return[c,...n({query:e,entityClass:t,type:"&",defaultFields:l,qrefMap:r,options:c,bareHandler:i})]}function n({query:e,entityClass:t,type:l,defaultFields:r,qrefMap:o,options:h,bareHandler:u}){const p={type:l};let f=e;const g=[];let d=!1,m=0,y=null;for(let e=0;e<f.length;e++)if('"'===f[e])d?"\\"!==f[e-1]&&(d=!1):d=!0;else{if(d)continue;"("===f[e]?null==y?y=e:m++:")"===f[e]&&(0===m?null==y||(g.push([y,e+1]),y=null):m--)}if(g.length){p.selector=[],g.reverse();for(let e of g){let l=f.slice(e[0]+1,e[1]-1);f=f.slice(0,e[0])+f.slice(e[1]);let i="&";l.startsWith("&")?l=l.slice(1):l.startsWith("!&")?(i="!&",l=l.slice(2)):l.startsWith("|")?(i="|",l=l.slice(1)):l.startsWith("!|")?(i="!|",l=l.slice(2)):l.startsWith("!")&&(i="!&",l=l.slice(1)),p.selector.push(...n({query:l,entityClass:t,type:i,defaultFields:r,qrefMap:o,bareHandler:u}))}}if(f=function({query:e,selector:t,qrefMap:l,bareHandler:r}){let n=e;const o=/(?: |^)(\w+)!?<\{(\w+) (.*?[^\\])\}>(?= |$)/g,h=n.match(o);if(h){t.qref=[],t["!qref"]=[];for(let e of h)try{let[n,a]=(0,i.default)(e.trim().slice(0,-1),"<",2);u=a.slice(1,-1),a=u.replace(/\\\{/g,"{").replace(/\\\}/g,"}").replace(/\\\\/g,"\\");let[s,o]=a.split(" ",2);const h=l[s].class;if(null==h)continue;const p=c({query:o,entityClass:h,defaultFields:l[s].defaultFields,qrefMap:l,bareHandler:r});n.endsWith("!")?t["!qref"].push([n.slice(0,-1),p]):t.qref.push([n,p])}catch(e){continue}t.qref.length||delete t.qref,t["!qref"].length||delete t["!qref"]}var u;n=n.replace(o,"");const p=/(?: |^)(\w+)!?=(""|".*?[^\\]"|[^ ]+)(?= |$)/g,f=n.match(p);if(f){t.equal=[],t["!equal"]=[];for(let e of f)try{let[l,r]=e.trim().split("=",2);try{l.endsWith("!")?t["!equal"].push([l.slice(0,-1),JSON.parse(r)]):t.equal.push([l,JSON.parse(r)])}catch(e){l.endsWith("!")?t["!equal"].push([l.slice(0,-1),a(r)]):t.equal.push([l,a(r)])}}catch(e){continue}t.equal.length||delete t.equal,t["!equal"].length||delete t["!equal"]}n=n.replace(p,"");const g=/(?: |^)(\w+)!?<\{([0-9a-f]{24})\}>(?= |$)/g,d=n.match(g);if(d){t.ref=[],t["!ref"]=[];for(let e of d)try{let[l,r]=e.trim().slice(0,-1).split("<",2);l.endsWith("!")?t["!ref"].push([l.slice(0,-1),r.slice(1,-1)]):t.ref.push([l,r.slice(1,-1)])}catch(e){continue}t.ref.length||delete t.ref,t["!ref"].length||delete t["!ref"]}n=n.replace(g,"");const m=/(?: |^)(\w+)!?(<.*?[^\\]>)(?= |$)/g,y=n.match(m);if(y){t.contain=[],t["!contain"]=[];for(let e of y)try{let[l,r]=e.trim().slice(0,-1).split("<",2);try{l.endsWith("!")?t["!contain"].push([l.slice(0,-1),JSON.parse(s(r))]):t.contain.push([l,JSON.parse(s(r))])}catch(e){l.endsWith("!")?t["!contain"].push([l.slice(0,-1),s(r)]):t.contain.push([l,s(r)])}}catch(e){continue}t.contain.length||delete t.contain,t["!contain"].length||delete t["!contain"]}n=n.replace(m,"");const b=/(?: |^)(\w+)!?~(\/\/|\/.*?[^\\]\/)i?(?= |$)/g,q=n.match(b);if(q){t.match=[],t["!match"]=[],t.imatch=[],t["!imatch"]=[];for(let e of q)try{let[l,r]=e.trim().split("~",2);l.endsWith("!")?r.endsWith("i")?t["!imatch"].push([l.slice(0,-1),r.replace(/^\/|\/i$/g,"")]):t["!match"].push([l.slice(0,-1),r.replace(/^\/|\/$/g,"")]):r.endsWith("i")?t.imatch.push([l,r.replace(/^\/|\/i$/g,"")]):t.match.push([l,r.replace(/^\/|\/$/g,"")])}catch(e){continue}t.match.length||delete t.match,t["!match"].length||delete t["!match"],t.imatch.length||delete t.imatch,t["!imatch"].length||delete t["!imatch"]}n=n.replace(b,"");const $=/(?: |^)(\w+)!?~(""i?|".*?[^\\]"i?|[^ ]+)(?= |$)/g,w=n.match($);if(w){t.like=[],t["!like"]=[],t.ilike=[],t["!ilike"]=[];for(let e of w)try{let[l,r]=e.trim().split("~",2);l.endsWith("!")?r.endsWith('"i')?t["!ilike"].push([l.slice(0,-1),a(r.slice(0,-1))]):t["!like"].push([l.slice(0,-1),a(r)]):r.endsWith('"i')?t.ilike.push([l,a(r.slice(0,-1))]):t.like.push([l,a(r)])}catch(e){continue}t.like.length||delete t.like,t["!like"].length||delete t["!like"],t.ilike.length||delete t.ilike,t["!ilike"].length||delete t["!ilike"]}n=n.replace($,"");const _=/(?: |^)\{!?([0-9a-f]{24})\}(?= |$)/g,k=n.match(_);if(k){t.guid=[],t["!guid"]=[];for(let e of k)try{let l=e.trim().replace(/^\{|\}$/g,"");l.startsWith("!")?t["!guid"].push(l.slice(1)):t.guid.push(l)}catch(e){continue}t.guid.length||delete t.guid,t["!guid"].length||delete t["!guid"]}n=n.replace(_,"");const v=/(?: |^)\[(!?\w+)\](?= |$)/g,O=n.match(v);if(O){t.truthy=[],t["!truthy"]=[];for(let e of O)try{let l=e.trim().replace(/^\[|\]$/g,"");l.startsWith("!")?t["!truthy"].push(l.slice(1)):t.truthy.push(l)}catch(e){continue}t.truthy.length||delete t.truthy,t["!truthy"].length||delete t["!truthy"]}n=n.replace(v,"");const W=/(?: |^)<(!?\w+)>(?= |$)/g,j=n.match(W);if(j){t.tag=[],t["!tag"]=[];for(let e of j)try{let l=e.trim().replace(/^<|>$/g,"");l.startsWith("!")?t["!tag"].push(l.slice(1)):t.tag.push(l)}catch(e){continue}t.tag.length||delete t.tag,t["!tag"].length||delete t["!tag"]}n=n.replace(W,"");const M=/(?: |^)(\w+)>(-?\d+(?:\.\d+)?)(?= |$)/g,P=n.match(M);if(P){t.gt=[];for(let e of P)try{let[l,r]=e.trim().split(">",2);t.gt.push([l,Number(r)])}catch(e){continue}t.gt.length||delete t.gt}n=n.replace(M,"");const x=/(?: |^)(\w+)>(\w+|"[^"]+")(?= |$)/g,N=n.match(x);if(N){null==t.gt&&(t.gt=[]);for(let e of N)try{let[l,r]=e.trim().split(">",2);t.gt.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.gt.length||delete t.gt}n=n.replace(x,"");const S=/(?: |^)(\w+)>=(-?\d+(?:\.\d+)?)(?= |$)/g,H=n.match(S);if(H){t.gte=[];for(let e of H)try{let[l,r]=e.trim().split(">=",2);t.gte.push([l,Number(r)])}catch(e){continue}t.gte.length||delete t.gte}n=n.replace(S,"");const F=/(?: |^)(\w+)>=(\w+|"[^"]+")(?= |$)/g,C=n.match(F);if(C){null==t.gte&&(t.gte=[]);for(let e of C)try{let[l,r]=e.trim().split(">=",2);t.gte.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.gte.length||delete t.gte}n=n.replace(F,"");const J=/(?: |^)(\w+)<(-?\d+(?:\.\d+)?)(?= |$)/g,D=n.match(J);if(D){t.lt=[];for(let e of D)try{let[l,r]=e.trim().split("<",2);t.lt.push([l,Number(r)])}catch(e){continue}t.lt.length||delete t.lt}n=n.replace(J,"");const T=/(?: |^)(\w+)<(\w+|"[^"]+")(?= |$)/g,B=n.match(T);if(B){null==t.lt&&(t.lt=[]);for(let e of B)try{let[l,r]=e.trim().split("<",2);t.lt.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.lt.length||delete t.lt}n=n.replace(T,"");const z=/(?: |^)(\w+)<=(-?\d+(?:\.\d+)?)(?= |$)/g,A=n.match(z);if(A){t.lte=[];for(let e of A)try{let[l,r]=e.trim().split("<=",2);t.lte.push([l,Number(r)])}catch(e){continue}t.lte.length||delete t.lte}n=n.replace(z,"");const E=/(?: |^)(\w+)<=(\w+|"[^"]+")(?= |$)/g,G=n.match(E);if(G){null==t.lte&&(t.lte=[]);for(let e of G)try{let[l,r]=e.trim().split("<=",2);t.lte.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.lte.length||delete t.lte}return n=n.replace(E,""),n.trim()}({query:f,selector:p,qrefMap:o,bareHandler:u}),h){const e=/(?: |^)limit:(\d+)(?= |$)/,t=f.match(e);t&&(h.limit=Number(t[1])),f=f.replace(e,"");const l=/(?: |^)offset:(\d+)(?= |$)/,r=f.match(l);r&&(h.offset=Number(r[1])),f=f.replace(l,"");const i=/(?: |^)reverse:(true|false|1|0)(?= |$)/,c=f.match(i);c&&(h.reverse="true"===c[1]||"1"===c[1]),f=f.replace(i,"")}if(f=f.trim(),f.length){const e=u(f,t,r);if(Object.keys(e).length)return[...Object.keys(p).length>1?[p]:[],{type:"|",...e}]}return!("selector"in p)||1!==p.selector.length||2!==Object.keys(p).length||"&"!==p.type&&"|"!==p.type?[p]:p.selector}function a(e){return e.match(/^".*?[^\\]"$/)?e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"):e}function s(e){return e.replace(/\\</g,"<").replace(/\\>/g,">").replace(/\\\\/g,"\\")}t.default=c},87:(e,t,l)=>{function r(e,t,l=1/0){let r=e;const i=[];for(;i.length<l&&r.length;){const e=r.split(t,1);i.push(e[0]),r=r.slice(e[0].length),i.length<l&&r&&(r=r.replace(t,""),r||i.push(r))}return r&&l>0&&(i[i.length-1]+=r),i}l.r(t),l.d(t,{default:()=>r})}},t={};function l(r){var i=t[r];if(void 0!==i)return i.exports;var c=t[r]={exports:{}};return e[r].call(c.exports,c,c.exports,l),c.exports}return l.d=(e,t)=>{for(var r in t)l.o(t,r)&&!l.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l(568)})()));
1
+ export * from './queryParser.js';
2
+ import queryParser from './queryParser.js';
3
+ export { queryParser };
4
+ export default queryParser;
2
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@nymphjs/client/webpack/universalModuleDefinition","webpack://@nymphjs/client/./lib/index.js","webpack://@nymphjs/client/./lib/queryParser.js","webpack://@nymphjs/client/./node_modules/@sciactive/splitn/dist/es/index.js","webpack://@nymphjs/client/webpack/bootstrap","webpack://@nymphjs/client/webpack/runtime/define property getters","webpack://@nymphjs/client/webpack/runtime/hasOwnProperty shorthand","webpack://@nymphjs/client/webpack/runtime/make namespace object","webpack://@nymphjs/client/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@nymphjs/client\"] = factory();\n\telse\n\t\troot[\"@nymphjs/client\"] = factory();\n})(this, () => {\nreturn ","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.queryParser = void 0;\n__exportStar(require(\"./queryParser\"), exports);\nconst queryParser_1 = __importDefault(require(\"./queryParser\"));\nexports.queryParser = queryParser_1.default;\nexports.default = queryParser_1.default;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst splitn_1 = __importDefault(require(\"@sciactive/splitn\"));\nfunction queryParser({ query, entityClass, defaultFields = ['name'], qrefMap = {}, bareHandler = (input, _class, defaultFields = ['name']) => {\n if (!input.match(/[_%]/)) {\n input = `%${input}%`;\n }\n if (defaultFields.length) {\n return {\n type: '|',\n ilike: defaultFields.map((field) => [field, input]),\n };\n }\n return {};\n}, }) {\n const options = { class: entityClass };\n return [\n options,\n ...selectorsParser({\n query,\n entityClass,\n type: '&',\n defaultFields,\n qrefMap,\n options,\n bareHandler,\n }),\n ];\n}\nexports.default = queryParser;\nfunction selectorsParser({ query, entityClass, type, defaultFields, qrefMap, options, bareHandler, }) {\n const selector = { type };\n let curQuery = query;\n const subSelectorPairs = [];\n let inQuote = false;\n let nesting = 0;\n let currentStart = null;\n for (let i = 0; i < curQuery.length; i++) {\n if (curQuery[i] === '\"') {\n if (!inQuote) {\n inQuote = true;\n }\n else if (curQuery[i - 1] !== '\\\\') {\n inQuote = false;\n }\n }\n else if (inQuote) {\n continue;\n }\n else if (curQuery[i] === '(') {\n if (currentStart == null) {\n currentStart = i;\n }\n else {\n nesting++;\n }\n }\n else if (curQuery[i] === ')') {\n if (nesting === 0) {\n if (currentStart == null) {\n }\n else {\n subSelectorPairs.push([currentStart, i + 1]);\n currentStart = null;\n }\n }\n else {\n nesting--;\n }\n }\n }\n if (subSelectorPairs.length) {\n selector.selector = [];\n subSelectorPairs.reverse();\n for (let pair of subSelectorPairs) {\n let selectorQuery = curQuery.slice(pair[0] + 1, pair[1] - 1);\n curQuery = curQuery.slice(0, pair[0]) + curQuery.slice(pair[1]);\n let type = '&';\n if (selectorQuery.startsWith('&')) {\n selectorQuery = selectorQuery.slice(1);\n }\n else if (selectorQuery.startsWith('!&')) {\n type = '!&';\n selectorQuery = selectorQuery.slice(2);\n }\n else if (selectorQuery.startsWith('|')) {\n type = '|';\n selectorQuery = selectorQuery.slice(1);\n }\n else if (selectorQuery.startsWith('!|')) {\n type = '!|';\n selectorQuery = selectorQuery.slice(2);\n }\n else if (selectorQuery.startsWith('!')) {\n type = '!&';\n selectorQuery = selectorQuery.slice(1);\n }\n selector.selector.push(...selectorsParser({\n query: selectorQuery,\n entityClass,\n type,\n defaultFields,\n qrefMap,\n bareHandler,\n }));\n }\n }\n curQuery = selectorParser({\n query: curQuery,\n selector,\n qrefMap,\n bareHandler,\n });\n if (options) {\n const limitRegex = /(?: |^)limit:(\\d+)(?= |$)/;\n const limitMatch = curQuery.match(limitRegex);\n if (limitMatch) {\n options.limit = Number(limitMatch[1]);\n }\n curQuery = curQuery.replace(limitRegex, '');\n const offsetRegex = /(?: |^)offset:(\\d+)(?= |$)/;\n const offsetMatch = curQuery.match(offsetRegex);\n if (offsetMatch) {\n options.offset = Number(offsetMatch[1]);\n }\n curQuery = curQuery.replace(offsetRegex, '');\n const reverseRegex = /(?: |^)reverse:(true|false|1|0)(?= |$)/;\n const reverseMatch = curQuery.match(reverseRegex);\n if (reverseMatch) {\n options.reverse = reverseMatch[1] === 'true' || reverseMatch[1] === '1';\n }\n curQuery = curQuery.replace(reverseRegex, '');\n }\n curQuery = curQuery.trim();\n if (curQuery.length) {\n const bareSelector = bareHandler(curQuery, entityClass, defaultFields);\n if (Object.keys(bareSelector).length) {\n return [\n ...(Object.keys(selector).length > 1 ? [selector] : []),\n {\n type: '|',\n ...bareSelector,\n },\n ];\n }\n }\n if ('selector' in selector &&\n selector.selector.length === 1 &&\n Object.keys(selector).length === 2 &&\n (selector.type === '&' || selector.type === '|')) {\n return selector.selector;\n }\n return [selector];\n}\nfunction selectorParser({ query, selector, qrefMap, bareHandler, }) {\n let curQuery = query;\n const qrefRegex = /(?: |^)(\\w+)!?<\\{(\\w+) (.*?[^\\\\])\\}>(?= |$)/g;\n const qrefMatch = curQuery.match(qrefRegex);\n if (qrefMatch) {\n selector.qref = [];\n selector['!qref'] = [];\n for (let match of qrefMatch) {\n try {\n let [name, value] = (0, splitn_1.default)(match.trim().slice(0, -1), '<', 2);\n value = unQuoteCurlies(value.slice(1, -1));\n let [className, qrefQuery] = value.split(' ', 2);\n const EntityClass = qrefMap[className].class;\n if (EntityClass == null) {\n continue;\n }\n const qref = queryParser({\n query: qrefQuery,\n entityClass: EntityClass,\n defaultFields: qrefMap[className].defaultFields,\n qrefMap,\n bareHandler,\n });\n if (name.endsWith('!')) {\n selector['!qref'].push([name.slice(0, -1), qref]);\n }\n else {\n selector.qref.push([name, qref]);\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.qref.length) {\n delete selector.qref;\n }\n if (!selector['!qref'].length) {\n delete selector['!qref'];\n }\n }\n curQuery = curQuery.replace(qrefRegex, '');\n const equalRegex = /(?: |^)(\\w+)!?=(\"\"|\".*?[^\\\\]\"|[^ ]+)(?= |$)/g;\n const equalMatch = curQuery.match(equalRegex);\n if (equalMatch) {\n selector.equal = [];\n selector['!equal'] = [];\n for (let match of equalMatch) {\n try {\n let [name, value] = match.trim().split('=', 2);\n try {\n if (name.endsWith('!')) {\n selector['!equal'].push([name.slice(0, -1), JSON.parse(value)]);\n }\n else {\n selector.equal.push([name, JSON.parse(value)]);\n }\n }\n catch (e) {\n if (name.endsWith('!')) {\n selector['!equal'].push([name.slice(0, -1), unQuoteString(value)]);\n }\n else {\n selector.equal.push([name, unQuoteString(value)]);\n }\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.equal.length) {\n delete selector.equal;\n }\n if (!selector['!equal'].length) {\n delete selector['!equal'];\n }\n }\n curQuery = curQuery.replace(equalRegex, '');\n const refRegex = /(?: |^)(\\w+)!?<\\{([0-9a-f]{24})\\}>(?= |$)/g;\n const refMatch = curQuery.match(refRegex);\n if (refMatch) {\n selector.ref = [];\n selector['!ref'] = [];\n for (let match of refMatch) {\n try {\n let [name, value] = match.trim().slice(0, -1).split('<', 2);\n if (name.endsWith('!')) {\n selector['!ref'].push([name.slice(0, -1), value.slice(1, -1)]);\n }\n else {\n selector.ref.push([name, value.slice(1, -1)]);\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.ref.length) {\n delete selector.ref;\n }\n if (!selector['!ref'].length) {\n delete selector['!ref'];\n }\n }\n curQuery = curQuery.replace(refRegex, '');\n const containRegex = /(?: |^)(\\w+)!?(<.*?[^\\\\]>)(?= |$)/g;\n const containMatch = curQuery.match(containRegex);\n if (containMatch) {\n selector.contain = [];\n selector['!contain'] = [];\n for (let match of containMatch) {\n try {\n let [name, value] = match.trim().slice(0, -1).split('<', 2);\n try {\n if (name.endsWith('!')) {\n selector['!contain'].push([\n name.slice(0, -1),\n JSON.parse(unQuoteAngles(value)),\n ]);\n }\n else {\n selector.contain.push([name, JSON.parse(unQuoteAngles(value))]);\n }\n }\n catch (e) {\n if (name.endsWith('!')) {\n selector['!contain'].push([\n name.slice(0, -1),\n unQuoteAngles(value),\n ]);\n }\n else {\n selector.contain.push([name, unQuoteAngles(value)]);\n }\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.contain.length) {\n delete selector.contain;\n }\n if (!selector['!contain'].length) {\n delete selector['!contain'];\n }\n }\n curQuery = curQuery.replace(containRegex, '');\n const posixRegex = /(?: |^)(\\w+)!?~(\\/\\/|\\/.*?[^\\\\]\\/)i?(?= |$)/g;\n const posixMatch = curQuery.match(posixRegex);\n if (posixMatch) {\n selector.match = [];\n selector['!match'] = [];\n selector.imatch = [];\n selector['!imatch'] = [];\n for (let match of posixMatch) {\n try {\n let [name, value] = match.trim().split('~', 2);\n if (name.endsWith('!')) {\n if (value.endsWith('i')) {\n selector['!imatch'].push([\n name.slice(0, -1),\n value.replace(/^\\/|\\/i$/g, ''),\n ]);\n }\n else {\n selector['!match'].push([\n name.slice(0, -1),\n value.replace(/^\\/|\\/$/g, ''),\n ]);\n }\n }\n else {\n if (value.endsWith('i')) {\n selector.imatch.push([name, value.replace(/^\\/|\\/i$/g, '')]);\n }\n else {\n selector.match.push([name, value.replace(/^\\/|\\/$/g, '')]);\n }\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.match.length) {\n delete selector.match;\n }\n if (!selector['!match'].length) {\n delete selector['!match'];\n }\n if (!selector.imatch.length) {\n delete selector.imatch;\n }\n if (!selector['!imatch'].length) {\n delete selector['!imatch'];\n }\n }\n curQuery = curQuery.replace(posixRegex, '');\n const likeRegex = /(?: |^)(\\w+)!?~(\"\"i?|\".*?[^\\\\]\"i?|[^ ]+)(?= |$)/g;\n const likeMatch = curQuery.match(likeRegex);\n if (likeMatch) {\n selector.like = [];\n selector['!like'] = [];\n selector.ilike = [];\n selector['!ilike'] = [];\n for (let match of likeMatch) {\n try {\n let [name, value] = match.trim().split('~', 2);\n if (name.endsWith('!')) {\n if (value.endsWith('\"i')) {\n selector['!ilike'].push([\n name.slice(0, -1),\n unQuoteString(value.slice(0, -1)),\n ]);\n }\n else {\n selector['!like'].push([name.slice(0, -1), unQuoteString(value)]);\n }\n }\n else {\n if (value.endsWith('\"i')) {\n selector.ilike.push([name, unQuoteString(value.slice(0, -1))]);\n }\n else {\n selector.like.push([name, unQuoteString(value)]);\n }\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.like.length) {\n delete selector.like;\n }\n if (!selector['!like'].length) {\n delete selector['!like'];\n }\n if (!selector.ilike.length) {\n delete selector.ilike;\n }\n if (!selector['!ilike'].length) {\n delete selector['!ilike'];\n }\n }\n curQuery = curQuery.replace(likeRegex, '');\n const guidRegex = /(?: |^)\\{!?([0-9a-f]{24})\\}(?= |$)/g;\n const guidMatch = curQuery.match(guidRegex);\n if (guidMatch) {\n selector.guid = [];\n selector['!guid'] = [];\n for (let match of guidMatch) {\n try {\n let guid = match.trim().replace(/^\\{|\\}$/g, '');\n if (guid.startsWith('!')) {\n selector['!guid'].push(guid.slice(1));\n }\n else {\n selector.guid.push(guid);\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.guid.length) {\n delete selector.guid;\n }\n if (!selector['!guid'].length) {\n delete selector['!guid'];\n }\n }\n curQuery = curQuery.replace(guidRegex, '');\n const truthyRegex = /(?: |^)\\[(!?\\w+)\\](?= |$)/g;\n const truthyMatch = curQuery.match(truthyRegex);\n if (truthyMatch) {\n selector.truthy = [];\n selector['!truthy'] = [];\n for (let match of truthyMatch) {\n try {\n let name = match.trim().replace(/^\\[|\\]$/g, '');\n if (name.startsWith('!')) {\n selector['!truthy'].push(name.slice(1));\n }\n else {\n selector.truthy.push(name);\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.truthy.length) {\n delete selector.truthy;\n }\n if (!selector['!truthy'].length) {\n delete selector['!truthy'];\n }\n }\n curQuery = curQuery.replace(truthyRegex, '');\n const tagRegex = /(?: |^)<(!?\\w+)>(?= |$)/g;\n const tagMatch = curQuery.match(tagRegex);\n if (tagMatch) {\n selector.tag = [];\n selector['!tag'] = [];\n for (let match of tagMatch) {\n try {\n let name = match.trim().replace(/^<|>$/g, '');\n if (name.startsWith('!')) {\n selector['!tag'].push(name.slice(1));\n }\n else {\n selector.tag.push(name);\n }\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.tag.length) {\n delete selector.tag;\n }\n if (!selector['!tag'].length) {\n delete selector['!tag'];\n }\n }\n curQuery = curQuery.replace(tagRegex, '');\n const gtRegex = /(?: |^)(\\w+)>(-?\\d+(?:\\.\\d+)?)(?= |$)/g;\n const gtMatch = curQuery.match(gtRegex);\n if (gtMatch) {\n selector.gt = [];\n for (let match of gtMatch) {\n try {\n let [name, value] = match.trim().split('>', 2);\n selector.gt.push([name, Number(value)]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.gt.length) {\n delete selector.gt;\n }\n }\n curQuery = curQuery.replace(gtRegex, '');\n const gtRelativeRegex = /(?: |^)(\\w+)>(\\w+|\"[^\"]+\")(?= |$)/g;\n const gtRelativeMatch = curQuery.match(gtRelativeRegex);\n if (gtRelativeMatch) {\n if (selector.gt == null) {\n selector.gt = [];\n }\n for (let match of gtRelativeMatch) {\n try {\n let [name, value] = match.trim().split('>', 2);\n selector.gt.push([\n name,\n null,\n value.replace(/\"/g, ''),\n ]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.gt.length) {\n delete selector.gt;\n }\n }\n curQuery = curQuery.replace(gtRelativeRegex, '');\n const gteRegex = /(?: |^)(\\w+)>=(-?\\d+(?:\\.\\d+)?)(?= |$)/g;\n const gteMatch = curQuery.match(gteRegex);\n if (gteMatch) {\n selector.gte = [];\n for (let match of gteMatch) {\n try {\n let [name, value] = match.trim().split('>=', 2);\n selector.gte.push([name, Number(value)]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.gte.length) {\n delete selector.gte;\n }\n }\n curQuery = curQuery.replace(gteRegex, '');\n const gteRelativeRegex = /(?: |^)(\\w+)>=(\\w+|\"[^\"]+\")(?= |$)/g;\n const gteRelativeMatch = curQuery.match(gteRelativeRegex);\n if (gteRelativeMatch) {\n if (selector.gte == null) {\n selector.gte = [];\n }\n for (let match of gteRelativeMatch) {\n try {\n let [name, value] = match.trim().split('>=', 2);\n selector.gte.push([\n name,\n null,\n value.replace(/\"/g, ''),\n ]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.gte.length) {\n delete selector.gte;\n }\n }\n curQuery = curQuery.replace(gteRelativeRegex, '');\n const ltRegex = /(?: |^)(\\w+)<(-?\\d+(?:\\.\\d+)?)(?= |$)/g;\n const ltMatch = curQuery.match(ltRegex);\n if (ltMatch) {\n selector.lt = [];\n for (let match of ltMatch) {\n try {\n let [name, value] = match.trim().split('<', 2);\n selector.lt.push([name, Number(value)]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.lt.length) {\n delete selector.lt;\n }\n }\n curQuery = curQuery.replace(ltRegex, '');\n const ltRelativeRegex = /(?: |^)(\\w+)<(\\w+|\"[^\"]+\")(?= |$)/g;\n const ltRelativeMatch = curQuery.match(ltRelativeRegex);\n if (ltRelativeMatch) {\n if (selector.lt == null) {\n selector.lt = [];\n }\n for (let match of ltRelativeMatch) {\n try {\n let [name, value] = match.trim().split('<', 2);\n selector.lt.push([\n name,\n null,\n value.replace(/\"/g, ''),\n ]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.lt.length) {\n delete selector.lt;\n }\n }\n curQuery = curQuery.replace(ltRelativeRegex, '');\n const lteRegex = /(?: |^)(\\w+)<=(-?\\d+(?:\\.\\d+)?)(?= |$)/g;\n const lteMatch = curQuery.match(lteRegex);\n if (lteMatch) {\n selector.lte = [];\n for (let match of lteMatch) {\n try {\n let [name, value] = match.trim().split('<=', 2);\n selector.lte.push([name, Number(value)]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.lte.length) {\n delete selector.lte;\n }\n }\n curQuery = curQuery.replace(lteRegex, '');\n const lteRelativeRegex = /(?: |^)(\\w+)<=(\\w+|\"[^\"]+\")(?= |$)/g;\n const lteRelativeMatch = curQuery.match(lteRelativeRegex);\n if (lteRelativeMatch) {\n if (selector.lte == null) {\n selector.lte = [];\n }\n for (let match of lteRelativeMatch) {\n try {\n let [name, value] = match.trim().split('<=', 2);\n selector.lte.push([\n name,\n null,\n value.replace(/\"/g, ''),\n ]);\n }\n catch (e) {\n continue;\n }\n }\n if (!selector.lte.length) {\n delete selector.lte;\n }\n }\n curQuery = curQuery.replace(lteRelativeRegex, '');\n return curQuery.trim();\n}\nfunction unQuoteString(input) {\n if (input.match(/^\".*?[^\\\\]\"$/)) {\n return input.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\n }\n return input;\n}\nfunction unQuoteAngles(input) {\n return input.replace(/\\\\</g, '<').replace(/\\\\>/g, '>').replace(/\\\\\\\\/g, '\\\\');\n}\nfunction unQuoteCurlies(input) {\n return input\n .replace(/\\\\\\{/g, '{')\n .replace(/\\\\\\}/g, '}')\n .replace(/\\\\\\\\/g, '\\\\');\n}\n//# sourceMappingURL=queryParser.js.map","export default function splitn(str, delimiter, limit = Infinity) {\n let curStr = str;\n const a = [];\n while (a.length < limit && curStr.length) {\n const next = curStr.split(delimiter, 1);\n a.push(next[0]);\n curStr = curStr.slice(next[0].length);\n if (a.length < limit && curStr) {\n curStr = curStr.replace(delimiter, '');\n if (!curStr) {\n a.push(curStr);\n }\n }\n }\n if (curStr && limit > 0) {\n a[a.length - 1] += curStr;\n }\n return a;\n}\n//# sourceMappingURL=index.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(568);\n"],"names":["root","factory","exports","module","define","amd","this","__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__exportStar","p","prototype","hasOwnProperty","call","__importDefault","mod","value","queryParser","queryParser_1","default","splitn_1","query","entityClass","defaultFields","qrefMap","bareHandler","input","_class","match","length","type","ilike","map","field","options","class","selectorsParser","selector","curQuery","subSelectorPairs","inQuote","nesting","currentStart","i","push","reverse","pair","selectorQuery","slice","startsWith","qrefRegex","qrefMatch","qref","name","trim","replace","className","qrefQuery","split","EntityClass","endsWith","e","equalRegex","equalMatch","equal","JSON","parse","unQuoteString","refRegex","refMatch","ref","containRegex","containMatch","contain","unQuoteAngles","posixRegex","posixMatch","imatch","likeRegex","likeMatch","like","guidRegex","guidMatch","guid","truthyRegex","truthyMatch","truthy","tagRegex","tagMatch","tag","gtRegex","gtMatch","gt","Number","gtRelativeRegex","gtRelativeMatch","gteRegex","gteMatch","gte","gteRelativeRegex","gteRelativeMatch","ltRegex","ltMatch","lt","ltRelativeRegex","ltRelativeMatch","lteRegex","lteMatch","lte","lteRelativeRegex","lteRelativeMatch","selectorParser","limitRegex","limitMatch","limit","offsetRegex","offsetMatch","offset","reverseRegex","reverseMatch","bareSelector","keys","splitn","str","delimiter","Infinity","curStr","a","next","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","key","obj","prop","r","Symbol","toStringTag"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,eAAe,WAAW,CAAC"}