@nymphjs/query-parser 1.0.0-beta.6 → 1.0.0-beta.61

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,232 @@
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.61](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.60...v1.0.0-beta.61) (2024-06-14)
7
+
8
+ **Note:** Version bump only for package @nymphjs/query-parser
9
+
10
+ # [1.0.0-beta.60](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.59...v1.0.0-beta.60) (2024-06-14)
11
+
12
+ **Note:** Version bump only for package @nymphjs/query-parser
13
+
14
+ # [1.0.0-beta.59](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.58...v1.0.0-beta.59) (2024-06-14)
15
+
16
+ **Note:** Version bump only for package @nymphjs/query-parser
17
+
18
+ # [1.0.0-beta.58](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.57...v1.0.0-beta.58) (2024-06-12)
19
+
20
+ **Note:** Version bump only for package @nymphjs/query-parser
21
+
22
+ # [1.0.0-beta.57](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.56...v1.0.0-beta.57) (2024-06-12)
23
+
24
+ **Note:** Version bump only for package @nymphjs/query-parser
25
+
26
+ # [1.0.0-beta.56](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.55...v1.0.0-beta.56) (2024-06-11)
27
+
28
+ **Note:** Version bump only for package @nymphjs/query-parser
29
+
30
+ # [1.0.0-beta.55](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.54...v1.0.0-beta.55) (2024-05-26)
31
+
32
+ **Note:** Version bump only for package @nymphjs/query-parser
33
+
34
+ # [1.0.0-beta.54](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.53...v1.0.0-beta.54) (2024-05-26)
35
+
36
+ **Note:** Version bump only for package @nymphjs/query-parser
37
+
38
+ # [1.0.0-beta.53](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.52...v1.0.0-beta.53) (2024-05-26)
39
+
40
+ **Note:** Version bump only for package @nymphjs/query-parser
41
+
42
+ # [1.0.0-beta.52](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.51...v1.0.0-beta.52) (2024-05-25)
43
+
44
+ **Note:** Version bump only for package @nymphjs/query-parser
45
+
46
+ # [1.0.0-beta.51](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.50...v1.0.0-beta.51) (2024-04-12)
47
+
48
+ ### Bug Fixes
49
+
50
+ - query parser nested qref clauses ([10bd94d](https://github.com/sciactive/nymphjs/commit/10bd94df0329a3abc76cecb9d05f9a7fb2fdf29a))
51
+
52
+ # [1.0.0-beta.50](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.49...v1.0.0-beta.50) (2024-04-08)
53
+
54
+ **Note:** Version bump only for package @nymphjs/query-parser
55
+
56
+ # [1.0.0-beta.49](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.48...v1.0.0-beta.49) (2024-03-04)
57
+
58
+ **Note:** Version bump only for package @nymphjs/query-parser
59
+
60
+ # [1.0.0-beta.48](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.47...v1.0.0-beta.48) (2023-11-10)
61
+
62
+ **Note:** Version bump only for package @nymphjs/query-parser
63
+
64
+ # [1.0.0-beta.47](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.46...v1.0.0-beta.47) (2023-11-10)
65
+
66
+ **Note:** Version bump only for package @nymphjs/query-parser
67
+
68
+ # [1.0.0-beta.46](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.45...v1.0.0-beta.46) (2023-08-29)
69
+
70
+ **Note:** Version bump only for package @nymphjs/query-parser
71
+
72
+ # [1.0.0-beta.45](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.44...v1.0.0-beta.45) (2023-07-17)
73
+
74
+ **Note:** Version bump only for package @nymphjs/query-parser
75
+
76
+ # [1.0.0-beta.44](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.43...v1.0.0-beta.44) (2023-07-13)
77
+
78
+ **Note:** Version bump only for package @nymphjs/query-parser
79
+
80
+ # [1.0.0-beta.43](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.42...v1.0.0-beta.43) (2023-07-12)
81
+
82
+ **Note:** Version bump only for package @nymphjs/query-parser
83
+
84
+ # [1.0.0-beta.42](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.41...v1.0.0-beta.42) (2023-07-12)
85
+
86
+ **Note:** Version bump only for package @nymphjs/query-parser
87
+
88
+ # [1.0.0-beta.41](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.40...v1.0.0-beta.41) (2023-07-12)
89
+
90
+ **Note:** Version bump only for package @nymphjs/query-parser
91
+
92
+ # [1.0.0-beta.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.39...v1.0.0-beta.40) (2023-07-10)
93
+
94
+ **Note:** Version bump only for package @nymphjs/query-parser
95
+
96
+ # [1.0.0-beta.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.38...v1.0.0-beta.39) (2023-07-09)
97
+
98
+ **Note:** Version bump only for package @nymphjs/query-parser
99
+
100
+ # [1.0.0-beta.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.37...v1.0.0-beta.38) (2023-07-09)
101
+
102
+ **Note:** Version bump only for package @nymphjs/query-parser
103
+
104
+ # [1.0.0-beta.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.36...v1.0.0-beta.37) (2023-07-09)
105
+
106
+ **Note:** Version bump only for package @nymphjs/query-parser
107
+
108
+ # [1.0.0-beta.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.35...v1.0.0-beta.36) (2023-07-09)
109
+
110
+ **Note:** Version bump only for package @nymphjs/query-parser
111
+
112
+ # [1.0.0-beta.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.34...v1.0.0-beta.35) (2023-06-14)
113
+
114
+ **Note:** Version bump only for package @nymphjs/query-parser
115
+
116
+ # [1.0.0-beta.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.33...v1.0.0-beta.34) (2023-05-13)
117
+
118
+ **Note:** Version bump only for package @nymphjs/query-parser
119
+
120
+ # [1.0.0-beta.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.32...v1.0.0-beta.33) (2023-05-13)
121
+
122
+ **Note:** Version bump only for package @nymphjs/query-parser
123
+
124
+ # [1.0.0-beta.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.31...v1.0.0-beta.32) (2023-05-13)
125
+
126
+ **Note:** Version bump only for package @nymphjs/query-parser
127
+
128
+ # [1.0.0-beta.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.30...v1.0.0-beta.31) (2023-05-12)
129
+
130
+ **Note:** Version bump only for package @nymphjs/query-parser
131
+
132
+ # [1.0.0-beta.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.29...v1.0.0-beta.30) (2023-05-12)
133
+
134
+ **Note:** Version bump only for package @nymphjs/query-parser
135
+
136
+ # [1.0.0-beta.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.28...v1.0.0-beta.29) (2023-05-08)
137
+
138
+ **Note:** Version bump only for package @nymphjs/query-parser
139
+
140
+ # [1.0.0-beta.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.27...v1.0.0-beta.28) (2023-05-05)
141
+
142
+ **Note:** Version bump only for package @nymphjs/query-parser
143
+
144
+ # [1.0.0-beta.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.26...v1.0.0-beta.27) (2023-05-04)
145
+
146
+ **Note:** Version bump only for package @nymphjs/query-parser
147
+
148
+ # [1.0.0-beta.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.25...v1.0.0-beta.26) (2023-05-04)
149
+
150
+ ### Features
151
+
152
+ - update packages and migrate to mysql2 ([72ad611](https://github.com/sciactive/nymphjs/commit/72ad611bd2bf7bf85c3ba8a3486503d9b50c49d6))
153
+
154
+ # [1.0.0-beta.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.24...v1.0.0-beta.25) (2023-05-04)
155
+
156
+ **Note:** Version bump only for package @nymphjs/query-parser
157
+
158
+ # [1.0.0-beta.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.23...v1.0.0-beta.24) (2023-05-02)
159
+
160
+ **Note:** Version bump only for package @nymphjs/query-parser
161
+
162
+ # [1.0.0-beta.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.22...v1.0.0-beta.23) (2023-05-02)
163
+
164
+ **Note:** Version bump only for package @nymphjs/query-parser
165
+
166
+ # [1.0.0-beta.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.21...v1.0.0-beta.22) (2023-05-01)
167
+
168
+ **Note:** Version bump only for package @nymphjs/query-parser
169
+
170
+ # [1.0.0-beta.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.20...v1.0.0-beta.21) (2023-05-01)
171
+
172
+ **Note:** Version bump only for package @nymphjs/query-parser
173
+
174
+ # [1.0.0-beta.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.19...v1.0.0-beta.20) (2023-04-30)
175
+
176
+ **Note:** Version bump only for package @nymphjs/query-parser
177
+
178
+ # [1.0.0-beta.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.18...v1.0.0-beta.19) (2023-04-29)
179
+
180
+ **Note:** Version bump only for package @nymphjs/query-parser
181
+
182
+ # [1.0.0-beta.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.17...v1.0.0-beta.18) (2023-04-27)
183
+
184
+ **Note:** Version bump only for package @nymphjs/query-parser
185
+
186
+ # [1.0.0-beta.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.16...v1.0.0-beta.17) (2023-04-24)
187
+
188
+ **Note:** Version bump only for package @nymphjs/query-parser
189
+
190
+ # [1.0.0-beta.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.15...v1.0.0-beta.16) (2023-03-31)
191
+
192
+ **Note:** Version bump only for package @nymphjs/query-parser
193
+
194
+ # [1.0.0-beta.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.14...v1.0.0-beta.15) (2023-03-23)
195
+
196
+ ### Features
197
+
198
+ - add option to sort results by a property ([16384e7](https://github.com/sciactive/nymphjs/commit/16384e7bdab88abb55ccccabb06ac09f92fa8a03))
199
+
200
+ # [1.0.0-beta.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.13...v1.0.0-beta.14) (2023-03-17)
201
+
202
+ **Note:** Version bump only for package @nymphjs/query-parser
203
+
204
+ # [1.0.0-beta.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.12...v1.0.0-beta.13) (2023-03-16)
205
+
206
+ **Note:** Version bump only for package @nymphjs/query-parser
207
+
208
+ # [1.0.0-beta.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.11...v1.0.0-beta.12) (2023-03-04)
209
+
210
+ **Note:** Version bump only for package @nymphjs/query-parser
211
+
212
+ # [1.0.0-beta.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2023-02-27)
213
+
214
+ **Note:** Version bump only for package @nymphjs/query-parser
215
+
216
+ # [1.0.0-beta.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2023-01-19)
217
+
218
+ **Note:** Version bump only for package @nymphjs/query-parser
219
+
220
+ # [1.0.0-beta.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2023-01-09)
221
+
222
+ **Note:** Version bump only for package @nymphjs/query-parser
223
+
224
+ # [1.0.0-beta.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2023-01-09)
225
+
226
+ **Note:** Version bump only for package @nymphjs/query-parser
227
+
228
+ # [1.0.0-beta.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2023-01-05)
229
+
230
+ **Note:** Version bump only for package @nymphjs/query-parser
231
+
6
232
  # [1.0.0-beta.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2023-01-05)
7
233
 
8
234
  **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).
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
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
+ !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={750:(e,t,l)=>{function r(e,t,l=1/0){let r=e;const c=[];for(;c.length<l&&r.length;){const e=r.split(t,1);c.push(e[0]),r=r.slice(e[0].length),c.length<l&&r&&(r=r.replace(t,""),r||c.push(r))}return r&&l>0&&(c[c.length-1]+=r),c}l.r(t),l.d(t,{default:()=>c,splitn:()=>r});const c=r},509:function(e,t,l){var r=this&&this.__createBinding||(Object.create?function(e,t,l,r){void 0===r&&(r=l);var c=Object.getOwnPropertyDescriptor(t,l);c&&!("get"in c?!t.__esModule:c.writable||c.configurable)||(c={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,r,c)}:function(e,t,l,r){void 0===r&&(r=l),e[r]=t[l]}),c=this&&this.__exportStar||function(e,t){for(var l in e)"default"===l||Object.prototype.hasOwnProperty.call(t,l)||r(t,e,l)},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.queryParser=void 0,c(l(822),t);const i=n(l(822));t.queryParser=i.default,t.default=i.default},822: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 c=r(l(750));function n({query:e,entityClass:t,defaultFields:l=["name"],qrefMap:r={},bareHandler:c=((e,t,l=["name"])=>(e.match(/[_%]/)||(e=`%${e}%`),l.length?{type:"|",ilike:l.map((t=>[t,e]))}:{}))}){const n={class:t};return[n,...i({query:e,entityClass:t,type:"&",defaultFields:l,qrefMap:r,options:n,bareHandler:c})]}function i({query:e,entityClass:t,type:l,defaultFields:r,qrefMap:u,options:o,bareHandler:h}){const f={type:l};let p=e;const d=[];let g=!1,m=0,y=null;for(let e=0;e<p.length;e++)if('"'===p[e])g?"\\"!==p[e-1]&&(g=!1):g=!0;else{if(g)continue;"("===p[e]?null==y?y=e:m++:")"===p[e]&&(0===m?null==y||(d.push([y,e+1]),y=null):m--)}if(d.length){f.selector=[],d.reverse();for(let e of d){let l=p.slice(e[0]+1,e[1]-1);p=p.slice(0,e[0])+p.slice(e[1]);let c="&";l.startsWith("&")?l=l.slice(1):l.startsWith("!&")?(c="!&",l=l.slice(2)):l.startsWith("|")?(c="|",l=l.slice(1)):l.startsWith("!|")?(c="!|",l=l.slice(2)):l.startsWith("!")&&(c="!&",l=l.slice(1)),f.selector.push(...i({query:l,entityClass:t,type:c,defaultFields:r,qrefMap:u,bareHandler:h}))}}if(p=function({query:e,selector:t,qrefMap:l,bareHandler:r}){let i=e;const u=/(?: |^)(\w+)!?<\{(\w+) (.*?[^\\])\}>(?= |$)/g,o=i.match(u);if(o){t.qref=[],t["!qref"]=[];for(let e of o)try{let[i,a]=(0,c.default)(e.trim().slice(0,-1),"<",2);h=a.slice(1,-1),a=h.replace(/\\\{/g,"{").replace(/\\\}/g,"}").replace(/\\\\/g,"\\");let[s,u]=(0,c.default)(a," ",2);const o=l[s].class;if(null==o)continue;const f=n({query:u,entityClass:o,defaultFields:l[s].defaultFields,qrefMap:l,bareHandler:r});i.endsWith("!")?t["!qref"].push([i.slice(0,-1),f]):t.qref.push([i,f])}catch(e){continue}t.qref.length||delete t.qref,t["!qref"].length||delete t["!qref"]}var h;i=i.replace(u,"");const f=/(?: |^)(\w+)!?=(""|".*?[^\\]"|[^ ]+)(?= |$)/g,p=i.match(f);if(p){t.equal=[],t["!equal"]=[];for(let e of p)try{let[l,r]=(0,c.default)(e.trim(),"=",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"]}i=i.replace(f,"");const d=/(?: |^)(\w+)!?<\{([0-9a-f]{24})\}>(?= |$)/g,g=i.match(d);if(g){t.ref=[],t["!ref"]=[];for(let e of g)try{let[l,r]=(0,c.default)(e.trim().slice(0,-1),"<",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"]}i=i.replace(d,"");const m=/(?: |^)(\w+)!?(<.*?[^\\]>)(?= |$)/g,y=i.match(m);if(y){t.contain=[],t["!contain"]=[];for(let e of y)try{let[l,r]=(0,c.default)(e.trim().slice(0,-1),"<",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"]}i=i.replace(m,"");const b=/(?: |^)(\w+)!?~(\/\/|\/.*?[^\\]\/)i?(?= |$)/g,q=i.match(b);if(q){t.match=[],t["!match"]=[],t.imatch=[],t["!imatch"]=[];for(let e of q)try{let[l,r]=(0,c.default)(e.trim(),"~",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"]}i=i.replace(b,"");const $=/(?: |^)(\w+)!?~(""i?|".*?[^\\]"i?|[^ ]+)(?= |$)/g,w=i.match($);if(w){t.like=[],t["!like"]=[],t.ilike=[],t["!ilike"]=[];for(let e of w)try{let[l,r]=(0,c.default)(e.trim(),"~",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"]}i=i.replace($,"");const _=/(?: |^)\{!?([0-9a-f]{24})\}(?= |$)/g,k=i.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"]}i=i.replace(_,"");const v=/(?: |^)\[(!?\w+)\](?= |$)/g,O=i.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"]}i=i.replace(v,"");const W=/(?: |^)<(!?\w+)>(?= |$)/g,j=i.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"]}i=i.replace(W,"");const F=/(?: |^)(\w+)>(-?\d+(?:\.\d+)?)(?= |$)/g,M=i.match(F);if(M){t.gt=[];for(let e of M)try{let[l,r]=(0,c.default)(e.trim(),">",2);t.gt.push([l,Number(r)])}catch(e){continue}t.gt.length||delete t.gt}i=i.replace(F,"");const x=/(?: |^)(\w+)>(\w+|"[^"]+")(?= |$)/g,P=i.match(x);if(P){null==t.gt&&(t.gt=[]);for(let e of P)try{let[l,r]=(0,c.default)(e.trim(),">",2);t.gt.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.gt.length||delete t.gt}i=i.replace(x,"");const N=/(?: |^)(\w+)>=(-?\d+(?:\.\d+)?)(?= |$)/g,S=i.match(N);if(S){t.gte=[];for(let e of S)try{let[l,r]=(0,c.default)(e.trim(),">=",2);t.gte.push([l,Number(r)])}catch(e){continue}t.gte.length||delete t.gte}i=i.replace(N,"");const H=/(?: |^)(\w+)>=(\w+|"[^"]+")(?= |$)/g,C=i.match(H);if(C){null==t.gte&&(t.gte=[]);for(let e of C)try{let[l,r]=(0,c.default)(e.trim(),">=",2);t.gte.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.gte.length||delete t.gte}i=i.replace(H,"");const A=/(?: |^)(\w+)<(-?\d+(?:\.\d+)?)(?= |$)/g,J=i.match(A);if(J){t.lt=[];for(let e of J)try{let[l,r]=(0,c.default)(e.trim(),"<",2);t.lt.push([l,Number(r)])}catch(e){continue}t.lt.length||delete t.lt}i=i.replace(A,"");const D=/(?: |^)(\w+)<(\w+|"[^"]+")(?= |$)/g,z=i.match(D);if(z){null==t.lt&&(t.lt=[]);for(let e of z)try{let[l,r]=(0,c.default)(e.trim(),"<",2);t.lt.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.lt.length||delete t.lt}i=i.replace(D,"");const T=/(?: |^)(\w+)<=(-?\d+(?:\.\d+)?)(?= |$)/g,Z=i.match(T);if(Z){t.lte=[];for(let e of Z)try{let[l,r]=(0,c.default)(e.trim(),"<=",2);t.lte.push([l,Number(r)])}catch(e){continue}t.lte.length||delete t.lte}i=i.replace(T,"");const B=/(?: |^)(\w+)<=(\w+|"[^"]+")(?= |$)/g,E=i.match(B);if(E){null==t.lte&&(t.lte=[]);for(let e of E)try{let[l,r]=(0,c.default)(e.trim(),"<=",2);t.lte.push([l,null,r.replace(/"/g,"")])}catch(e){continue}t.lte.length||delete t.lte}return i=i.replace(B,""),i.trim()}({query:p,selector:f,qrefMap:u,bareHandler:h}),o){const e=/(?: |^)limit:(\d+)(?= |$)/,t=p.match(e);t&&(o.limit=Number(t[1])),p=p.replace(e,"");const l=/(?: |^)offset:(\d+)(?= |$)/,r=p.match(l);r&&(o.offset=Number(r[1])),p=p.replace(l,"");const c=/(?: |^)sort:([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)(?= |$)/,n=p.match(c);n&&(o.sort=n[1]),p=p.replace(c,"");const i=/(?: |^)reverse:(true|false|1|0)(?= |$)/,a=p.match(i);a&&(o.reverse="true"===a[1]||"1"===a[1]),p=p.replace(i,"")}if(p=p.trim(),p.length){const e=h(p,t,r);if(Object.keys(e).length)return[...Object.keys(f).length>1?[f]:[],{type:"|",...e}]}return!("selector"in f)||1!==f.selector.length||2!==Object.keys(f).length||"&"!==f.type&&"|"!==f.type?[f]:f.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=n}},t={};function l(r){var c=t[r];if(void 0!==c)return c.exports;var n=t[r]={exports:{}};return e[r].call(n.exports,n,n.exports,l),n.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(509)})()));
2
2
  //# 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","mappings":"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","sources":["webpack://@nymphjs/client/webpack/universalModuleDefinition","webpack://@nymphjs/client/../../node_modules/@sciactive/splitn/dist/es/index.js","webpack://@nymphjs/client/./lib/index.js","webpack://@nymphjs/client/./lib/queryParser.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 ","export 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}\nexport default splitn;\n//# sourceMappingURL=index.js.map","\"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 // Look for top level selectors inside parens.\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 // mismatched parens\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 // Reverse order so we can take them out back to front.\n subSelectorPairs.reverse();\n for (let pair of subSelectorPairs) {\n // Slice out in between the parens.\n let selectorQuery = curQuery.slice(pair[0] + 1, pair[1] - 1);\n // Cut the selector out of the query.\n curQuery = curQuery.slice(0, pair[0]) + curQuery.slice(pair[1]);\n // First char inside parens determines type of selector.\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 // JavaScript variable names are ridiculously infeasable to check\n // thoroughly, so this is a \"best attempt\".\n const sortRegex = /(?: |^)sort:([_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*)(?= |$)/;\n const sortMatch = curQuery.match(sortRegex);\n if (sortMatch) {\n options.sort = sortMatch[1];\n }\n curQuery = curQuery.replace(sortRegex, '');\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 // There is only one subselector, and this selector is a positive match\n // type, so just return it as the selector.\n return selector.selector;\n }\n return [selector];\n}\nfunction selectorParser({ query, selector, qrefMap, bareHandler, }) {\n let curQuery = query;\n // eg. user<{User name=\"Hunter\"}> or user!<{User name=\"Hunter\"}>\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] = (0, splitn_1.default)(value, ' ', 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 // eg. name=Marty or name=\"Marty McFly\" or enabled=true or someArray=[1,2]\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] = (0, splitn_1.default)(match.trim(), '=', 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 // eg. user<{790274347f9b3a018c2cedee}> or user!<{790274347f9b3a018c2cedee}>\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] = (0, splitn_1.default)(match.trim().slice(0, -1), '<', 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 // eg. someArrayOfNumbers<10> or someObject!<\"some string\">\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] = (0, splitn_1.default)(match.trim().slice(0, -1), '<', 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 // eg. name~/Hunter/ or name!~/hunter/i\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] = (0, splitn_1.default)(match.trim(), '~', 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 // eg. name~Hunter or name!~\"hunter\"i\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] = (0, splitn_1.default)(match.trim(), '~', 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 // eg. {790274347f9b3a018c2cedee} or {!790274347f9b3a018c2cedee}\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 // eg. [enabled] or [!defaultPrimaryGroup]\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 // eg. <archived> or <!archived>\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 // eg. cdate>15\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] = (0, splitn_1.default)(match.trim(), '>', 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 // eg. cdate>yesterday or cdate>\"2 days ago\"\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] = (0, splitn_1.default)(match.trim(), '>', 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 // eg. cdate>=15\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] = (0, splitn_1.default)(match.trim(), '>=', 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 // eg. cdate>=yesterday or cdate>=\"2 days ago\"\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] = (0, splitn_1.default)(match.trim(), '>=', 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 // eg. cdate<15\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] = (0, splitn_1.default)(match.trim(), '<', 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 // eg. cdate<yesterday or cdate<\"2 days ago\"\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] = (0, splitn_1.default)(match.trim(), '<', 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 // eg. cdate<=15\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] = (0, splitn_1.default)(match.trim(), '<=', 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 // eg. cdate<=yesterday or cdate<=\"2 days ago\"\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] = (0, splitn_1.default)(match.trim(), '<=', 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","// 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__(509);\n"],"names":["root","factory","exports","module","define","amd","this","splitn","str","delimiter","limit","Infinity","curStr","a","length","next","split","push","slice","replace","__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","type","ilike","map","field","options","class","selectorsParser","selector","curQuery","subSelectorPairs","inQuote","nesting","currentStart","i","reverse","pair","selectorQuery","startsWith","qrefRegex","qrefMatch","qref","name","trim","className","qrefQuery","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","offsetRegex","offsetMatch","offset","sortRegex","sortMatch","sort","reverseRegex","reverseMatch","bareSelector","keys","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","key","obj","prop","r","Symbol","toStringTag"],"sourceRoot":""}