@nymphjs/query-parser 1.0.0-alpha.4 → 1.0.0-alpha.40
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 +160 -0
- package/README.md +20 -11
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/lib/queryParser.d.ts +9 -1
- package/lib/queryParser.js +79 -16
- package/lib/queryParser.js.map +1 -1
- package/lib/queryParser.test.d.ts +1 -0
- package/lib/queryParser.test.js +856 -0
- package/lib/queryParser.test.js.map +1 -0
- package/package.json +13 -12
- package/src/queryParser.test.ts +998 -0
- package/src/queryParser.ts +128 -42
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,166 @@
|
|
|
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-alpha.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-05)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
9
|
+
|
|
10
|
+
# [1.0.0-alpha.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-05)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
13
|
+
|
|
14
|
+
# [1.0.0-alpha.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-02-10)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
17
|
+
|
|
18
|
+
# [1.0.0-alpha.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-02-02)
|
|
19
|
+
|
|
20
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
21
|
+
|
|
22
|
+
# [1.0.0-alpha.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-01-26)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
25
|
+
|
|
26
|
+
# [1.0.0-alpha.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-01-19)
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
- split limit issue in query parser ([df2d610](https://github.com/sciactive/nymphjs/commit/df2d610c2c999400412c2023efc9204fa9df338e))
|
|
31
|
+
|
|
32
|
+
### Features
|
|
33
|
+
|
|
34
|
+
- add bareHandler option to query parser ([de06691](https://github.com/sciactive/nymphjs/commit/de066910403242af8c44668b310d2594abc5b817))
|
|
35
|
+
|
|
36
|
+
# [1.0.0-alpha.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-01-08)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
39
|
+
|
|
40
|
+
# [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
|
|
41
|
+
|
|
42
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
43
|
+
|
|
44
|
+
# [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
|
|
45
|
+
|
|
46
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
47
|
+
|
|
48
|
+
# [1.0.0-alpha.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-01-08)
|
|
49
|
+
|
|
50
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
51
|
+
|
|
52
|
+
# [1.0.0-alpha.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-01-07)
|
|
53
|
+
|
|
54
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
55
|
+
|
|
56
|
+
# [1.0.0-alpha.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-01-07)
|
|
57
|
+
|
|
58
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
59
|
+
|
|
60
|
+
# [1.0.0-alpha.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2022-01-07)
|
|
61
|
+
|
|
62
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
63
|
+
|
|
64
|
+
# [1.0.0-alpha.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-01-05)
|
|
65
|
+
|
|
66
|
+
### Features
|
|
67
|
+
|
|
68
|
+
- update smui to latest versions ([7ed7bd3](https://github.com/sciactive/nymphjs/commit/7ed7bd34d01a155c7001a2671de25ef2f3363682))
|
|
69
|
+
|
|
70
|
+
# [1.0.0-alpha.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2021-12-30)
|
|
71
|
+
|
|
72
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
73
|
+
|
|
74
|
+
# [1.0.0-alpha.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2021-12-30)
|
|
75
|
+
|
|
76
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
77
|
+
|
|
78
|
+
# [1.0.0-alpha.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2021-12-30)
|
|
79
|
+
|
|
80
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
81
|
+
|
|
82
|
+
# [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
|
|
83
|
+
|
|
84
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
85
|
+
|
|
86
|
+
# [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
|
|
87
|
+
|
|
88
|
+
### Features
|
|
89
|
+
|
|
90
|
+
- update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
|
|
91
|
+
|
|
92
|
+
# [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
|
|
93
|
+
|
|
94
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
95
|
+
|
|
96
|
+
# [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
|
|
97
|
+
|
|
98
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
99
|
+
|
|
100
|
+
# [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
|
|
101
|
+
|
|
102
|
+
### Features
|
|
103
|
+
|
|
104
|
+
- update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
|
|
105
|
+
|
|
106
|
+
# [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
|
|
107
|
+
|
|
108
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
109
|
+
|
|
110
|
+
# [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
|
|
111
|
+
|
|
112
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
113
|
+
|
|
114
|
+
# [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
|
|
115
|
+
|
|
116
|
+
### Bug Fixes
|
|
117
|
+
|
|
118
|
+
- don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
|
|
119
|
+
|
|
120
|
+
# [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
|
|
121
|
+
|
|
122
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
123
|
+
|
|
124
|
+
# [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
|
|
125
|
+
|
|
126
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
127
|
+
|
|
128
|
+
# [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
|
|
129
|
+
|
|
130
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
131
|
+
|
|
132
|
+
# [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
|
|
133
|
+
|
|
134
|
+
### Features
|
|
135
|
+
|
|
136
|
+
- add tag syntax to query parser ([6898200](https://github.com/sciactive/nymphjs/commit/689820055ec218d0998a0a2bb9496cebc1395247))
|
|
137
|
+
|
|
138
|
+
# [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
|
|
139
|
+
|
|
140
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
141
|
+
|
|
142
|
+
# [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
|
|
143
|
+
|
|
144
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
145
|
+
|
|
146
|
+
# [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
|
|
147
|
+
|
|
148
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
149
|
+
|
|
150
|
+
# [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
|
|
151
|
+
|
|
152
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
153
|
+
|
|
154
|
+
# [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
|
|
155
|
+
|
|
156
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
157
|
+
|
|
158
|
+
# [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
|
|
159
|
+
|
|
160
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
161
|
+
|
|
162
|
+
# [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
|
|
163
|
+
|
|
164
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
165
|
+
|
|
6
166
|
# [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
|
|
7
167
|
|
|
8
168
|
**Note:** Version bump only for package @nymphjs/query-parser
|
package/README.md
CHANGED
|
@@ -21,19 +21,18 @@ import BlogPost from './BlogPost';
|
|
|
21
21
|
import Category from './Category';
|
|
22
22
|
|
|
23
23
|
async function doQuery() {
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
{
|
|
24
|
+
const [options, ...selectors] = queryParser({
|
|
25
|
+
query:
|
|
26
|
+
'limit:4 foobar (| [archived] mdate<"2 weeks ago") category<{cat Tech}>',
|
|
27
|
+
entityClass: BlogPost,
|
|
28
|
+
defaultFields: ['title', 'body'],
|
|
29
|
+
qrefMap: {
|
|
31
30
|
cat: {
|
|
32
31
|
class: Category,
|
|
33
32
|
defaultFields: ['name'],
|
|
34
33
|
},
|
|
35
|
-
}
|
|
36
|
-
);
|
|
34
|
+
},
|
|
35
|
+
});
|
|
37
36
|
/*
|
|
38
37
|
Options will be
|
|
39
38
|
{
|
|
@@ -41,7 +40,7 @@ async function doQuery() {
|
|
|
41
40
|
limit: 4
|
|
42
41
|
}
|
|
43
42
|
|
|
44
|
-
And selectors will be
|
|
43
|
+
And selectors will be (equivalent to)
|
|
45
44
|
[
|
|
46
45
|
{
|
|
47
46
|
type: "|",
|
|
@@ -110,6 +109,12 @@ Check for entity GUID.
|
|
|
110
109
|
|
|
111
110
|
- `{guid}` or `{!guid}`
|
|
112
111
|
|
|
112
|
+
### tag and !tag
|
|
113
|
+
|
|
114
|
+
Check for a tag.
|
|
115
|
+
|
|
116
|
+
- `<name>` or `<!name>`
|
|
117
|
+
|
|
113
118
|
### truthy and !truthy
|
|
114
119
|
|
|
115
120
|
Check for truthiness.
|
|
@@ -224,7 +229,11 @@ Published is not truthy and cdate is not greater than 6 months ago.
|
|
|
224
229
|
|
|
225
230
|
## Default Fields
|
|
226
231
|
|
|
227
|
-
Anything contained in the query (including in selector parentheses) that doesn't match any of the options or clause syntaxes listed above will be added (at the appropriate nesting level) to a selector with an `"|"` type in an `ilike` clause surrounded by "%" characters for each field passed in to the `defaultFields` argument.
|
|
232
|
+
Anything contained in the query (including in selector parentheses) that doesn't match any of the options or clause syntaxes listed above (bare query parts) will be added (at the appropriate nesting level) to a selector with an `"|"` type in an `ilike` clause surrounded by "%" characters for each field passed in to the `defaultFields` argument.
|
|
233
|
+
|
|
234
|
+
## Bare Query Handler
|
|
235
|
+
|
|
236
|
+
You can also supply a function in the option `bareHandler` that will handle bare query parts instead of the "Default Fields" behavior described above. It will receive three arguments, the query parts, the entity class, and the default fields entry for that class. It should return a partial selector that will replace or extend the `"|"` selector.
|
|
228
237
|
|
|
229
238
|
# License
|
|
230
239
|
|
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,(function(){return(()=>{"use strict";var e={568:function(e,t,l){var
|
|
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,(function(){return(()=>{"use strict";var e={568:function(e,t,l){var i=this&&this.__createBinding||(Object.create?function(e,t,l,i){void 0===i&&(i=l),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[l]}})}:function(e,t,l,i){void 0===i&&(i=l),e[i]=t[l]}),c=this&&this.__exportStar||function(e,t){for(var l in e)"default"===l||Object.prototype.hasOwnProperty.call(t,l)||i(t,e,l)},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.queryParser=void 0,c(l(138),t);const n=r(l(138));t.queryParser=n.default,t.default=n.default},138:function(e,t,l){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const c=i(l(811));function r({query:e,entityClass:t,defaultFields:l=["name"],qrefMap:i={},bareHandler:c=((e,t,l=["name"])=>(e.match(/[_%]/)||(e=`%${e}%`),l.length?{type:"|",ilike:l.map((t=>[t,e]))}:{}))}){const r={class:t};return[r,...n({query:e,entityClass:t,type:"&",defaultFields:l,qrefMap:i,options:r,bareHandler:c})]}function n({query:e,entityClass:t,type:l,defaultFields:i,qrefMap:h,options:u,bareHandler:o}){const f={type:l};let p=e;const g=[];let d=!1,m=0,y=null;for(let e=0;e<p.length;e++)if('"'===p[e])d?"\\"!==p[e-1]&&(d=!1):d=!0;else{if(d)continue;"("===p[e]?null==y?y=e:m++:")"===p[e]&&(0===m?null==y||(g.push([y,e+1]),y=null):m--)}if(g.length){f.selector=[],g.reverse();for(let e of g){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(...n({query:l,entityClass:t,type:c,defaultFields:i,qrefMap:h,bareHandler:o}))}}if(p=function({query:e,selector:t,qrefMap:l,bareHandler:i}){let n=e;const h=/(?: |^)(\w+)!?<\{(\w+) (.*?[^\\])\}>(?= |$)/g,u=n.match(h);if(u){t.qref=[],t["!qref"]=[];for(let e of u)try{let[n,s]=(0,c.default)(e.trim().slice(0,-1),"<",2);o=s.slice(1,-1),s=o.replace(/\\\{/g,"{").replace(/\\\}/g,"}").replace(/\\\\/g,"\\");let[a,h]=s.split(" ",2);const u=l[a].class;if(null==u)continue;const f=r({query:h,entityClass:u,defaultFields:l[a].defaultFields,qrefMap:l,bareHandler:i});n.endsWith("!")?t["!qref"].push([n.slice(0,-1),f]):t.qref.push([n,f])}catch(e){continue}t.qref.length||delete t.qref,t["!qref"].length||delete t["!qref"]}var o;n=n.replace(h,"");const f=/(?: |^)(\w+)!?=(""|".*?[^\\]"|[^ ]+)(?= |$)/g,p=n.match(f);if(p){t.equal=[],t["!equal"]=[];for(let e of p)try{let[l,i]=e.trim().split("=",2);try{l.endsWith("!")?t["!equal"].push([l.slice(0,-1),JSON.parse(i)]):t.equal.push([l,JSON.parse(i)])}catch(e){l.endsWith("!")?t["!equal"].push([l.slice(0,-1),s(i)]):t.equal.push([l,s(i)])}}catch(e){continue}t.equal.length||delete t.equal,t["!equal"].length||delete t["!equal"]}n=n.replace(f,"");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,i]=e.trim().slice(0,-1).split("<",2);l.endsWith("!")?t["!ref"].push([l.slice(0,-1),i.slice(1,-1)]):t.ref.push([l,i.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,i]=e.trim().slice(0,-1).split("<",2);try{l.endsWith("!")?t["!contain"].push([l.slice(0,-1),JSON.parse(a(i))]):t.contain.push([l,JSON.parse(a(i))])}catch(e){l.endsWith("!")?t["!contain"].push([l.slice(0,-1),a(i)]):t.contain.push([l,a(i)])}}catch(e){continue}t.contain.length||delete t.contain,t["!contain"].length||delete t["!contain"]}n=n.replace(m,"");const q=/(?: |^)(\w+)!?~(\/\/|\/.*?[^\\]\/)i?(?= |$)/g,$=n.match(q);if($){t.match=[],t["!match"]=[],t.imatch=[],t["!imatch"]=[];for(let e of $)try{let[l,i]=e.trim().split("~",2);l.endsWith("!")?i.endsWith("i")?t["!imatch"].push([l.slice(0,-1),i.replace(/^\/|\/i$/g,"")]):t["!match"].push([l.slice(0,-1),i.replace(/^\/|\/$/g,"")]):i.endsWith("i")?t.imatch.push([l,i.replace(/^\/|\/i$/g,"")]):t.match.push([l,i.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(q,"");const b=/(?: |^)(\w+)!?~(""i?|".*?[^\\]"i?|[^ ]+)(?= |$)/g,w=n.match(b);if(w){t.like=[],t["!like"]=[],t.ilike=[],t["!ilike"]=[];for(let e of w)try{let[l,i]=e.trim().split("~",2);l.endsWith("!")?i.endsWith('"i')?t["!ilike"].push([l.slice(0,-1),s(i.slice(0,-1))]):t["!like"].push([l.slice(0,-1),s(i)]):i.endsWith('"i')?t.ilike.push([l,s(i.slice(0,-1))]):t.like.push([l,s(i)])}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(b,"");const k=/(?: |^)\{!?([0-9a-f]{24})\}(?= |$)/g,W=n.match(k);if(W){t.guid=[],t["!guid"]=[];for(let e of W)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(k,"");const _=/(?: |^)\[(!?\w+)\](?= |$)/g,v=n.match(_);if(v){t.truthy=[],t["!truthy"]=[];for(let e of v)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(_,"");const j=/(?: |^)<(!?\w+)>(?= |$)/g,O=n.match(j);if(O){t.tag=[],t["!tag"]=[];for(let e of O)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(j,"");const M=/(?: |^)(\w+)>(-?\d+(?:\.\d+)?)(?= |$)/g,x=n.match(M);if(x){t.gt=[];for(let e of x)try{let[l,i]=e.trim().split(">",2);t.gt.push([l,Number(i)])}catch(e){continue}t.gt.length||delete t.gt}n=n.replace(M,"");const N=/(?: |^)(\w+)>(\w+|"[^"]+")(?= |$)/g,H=n.match(N);if(H){null==t.gt&&(t.gt=[]);for(let e of H)try{let[l,i]=e.trim().split(">",2);t.gt.push([l,null,i.replace(/"/g,"")])}catch(e){continue}t.gt.length||delete t.gt}n=n.replace(N,"");const P=/(?: |^)(\w+)>=(-?\d+(?:\.\d+)?)(?= |$)/g,F=n.match(P);if(F){t.gte=[];for(let e of F)try{let[l,i]=e.trim().split(">=",2);t.gte.push([l,Number(i)])}catch(e){continue}t.gte.length||delete t.gte}n=n.replace(P,"");const C=/(?: |^)(\w+)>=(\w+|"[^"]+")(?= |$)/g,S=n.match(C);if(S){null==t.gte&&(t.gte=[]);for(let e of S)try{let[l,i]=e.trim().split(">=",2);t.gte.push([l,null,i.replace(/"/g,"")])}catch(e){continue}t.gte.length||delete t.gte}n=n.replace(C,"");const J=/(?: |^)(\w+)<(-?\d+(?:\.\d+)?)(?= |$)/g,D=n.match(J);if(D){t.lt=[];for(let e of D)try{let[l,i]=e.trim().split("<",2);t.lt.push([l,Number(i)])}catch(e){continue}t.lt.length||delete t.lt}n=n.replace(J,"");const B=/(?: |^)(\w+)<(\w+|"[^"]+")(?= |$)/g,z=n.match(B);if(z){null==t.lt&&(t.lt=[]);for(let e of z)try{let[l,i]=e.trim().split("<",2);t.lt.push([l,null,i.replace(/"/g,"")])}catch(e){continue}t.lt.length||delete t.lt}n=n.replace(B,"");const A=/(?: |^)(\w+)<=(-?\d+(?:\.\d+)?)(?= |$)/g,E=n.match(A);if(E){t.lte=[];for(let e of E)try{let[l,i]=e.trim().split("<=",2);t.lte.push([l,Number(i)])}catch(e){continue}t.lte.length||delete t.lte}n=n.replace(A,"");const G=/(?: |^)(\w+)<=(\w+|"[^"]+")(?= |$)/g,I=n.match(G);if(I){null==t.lte&&(t.lte=[]);for(let e of I)try{let[l,i]=e.trim().split("<=",2);t.lte.push([l,null,i.replace(/"/g,"")])}catch(e){continue}t.lte.length||delete t.lte}return n=n.replace(G,""),n.trim()}({query:p,selector:f,qrefMap:h,bareHandler:o}),u){const e=/(?: |^)limit:(\d+)(?= |$)/,t=p.match(e);t&&(u.limit=Number(t[1])),p=p.replace(e,"");const l=/(?: |^)offset:(\d+)(?= |$)/,i=p.match(l);i&&(u.offset=Number(i[1])),p=p.replace(l,"");const c=/(?: |^)reverse:(true|false|1|0)(?= |$)/,r=p.match(c);r&&(u.reverse="true"===r[1]||"1"===r[1]),p=p.replace(c,"")}if(p=p.trim(),p.length){const e=o(p,t,i);if(Object.keys(e).length)return[...Object.keys(f).length>1?[f]:[],Object.assign({type:"|"},e)]}return!("selector"in f)||1!==f.selector.length||2!==Object.keys(f).length||"&"!==f.type&&"|"!==f.type?[f]:f.selector}function s(e){return e.match(/^".*?[^\\]"$/)?e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"):e}function a(e){return e.replace(/\\</g,"<").replace(/\\>/g,">").replace(/\\\\/g,"\\")}t.default=r},811:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,l=1/0){let i=e;const c=[];for(;c.length<l&&i.length;){const e=i.split(t,1);c.push(e[0]),i=i.slice(e[0].length),c.length<l&&i&&(i=i.replace(t,""),i||c.push(i))}return i&&l>0&&(c[c.length-1]+=i),c}}},t={};return function l(i){var c=t[i];if(void 0!==c)return c.exports;var r=t[i]={exports:{}};return e[i].call(r.exports,r,r.exports,l),r.exports}(568)})()}));
|
|
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/webpack/bootstrap","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, function() {\nreturn ","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction queryParser(query, entityClass, defaultFields = ['name'], qrefMap = {}) {\n const options = { class: entityClass };\n return [\n options,\n ...selectorsParser(query, '&', defaultFields, qrefMap, options),\n ];\n}\nexports.default = queryParser;\nfunction selectorsParser(query, type = '&', defaultFields, qrefMap, options) {\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(selectorQuery, type, defaultFields, qrefMap));\n }\n }\n curQuery = selectorParser(curQuery, selector, qrefMap);\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 if (!curQuery.match(/[_%]/)) {\n curQuery = `%${curQuery}%`;\n }\n if (defaultFields.length) {\n return [\n ...(Object.keys(selector).length > 1 ? [selector] : []),\n {\n type: '|',\n ilike: defaultFields.map((field) => [field, curQuery]),\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) {\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] = match.trim().slice(0, -1).split('<', 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(qrefQuery, EntityClass, qrefMap[className].defaultFields, qrefMap);\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 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","// 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","// 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","defineProperty","enumerable","get","__exportStar","p","prototype","hasOwnProperty","call","__importDefault","mod","__esModule","value","queryParser","queryParser_1","default","query","entityClass","defaultFields","qrefMap","options","class","selectorsParser","type","selector","curQuery","subSelectorPairs","inQuote","nesting","currentStart","i","length","push","reverse","pair","selectorQuery","slice","startsWith","qrefRegex","qrefMatch","match","qref","name","trim","split","input","replace","className","qrefQuery","EntityClass","endsWith","e","equalRegex","equalMatch","equal","JSON","parse","unQuoteString","refRegex","refMatch","ref","containRegex","containMatch","contain","unQuoteAngles","posixRegex","posixMatch","imatch","likeRegex","likeMatch","like","ilike","guidRegex","guidMatch","guid","truthyRegex","truthyMatch","truthy","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","keys","map","field","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAQ,mBAAqBD,IAE7BD,EAAK,mBAAqBC,IAR5B,CASGK,MAAM,WACT,M,8CCTA,IAAIC,EAAmBD,MAAQA,KAAKC,kBAAqBC,OAAOC,OAAS,SAAUC,EAAGC,EAAGC,EAAGC,QAC7EC,IAAPD,IAAkBA,EAAKD,GAC3BJ,OAAOO,eAAeL,EAAGG,EAAI,CAAEG,YAAY,EAAMC,IAAK,WAAa,OAAON,EAAEC,OAC3E,SAAUF,EAAGC,EAAGC,EAAGC,QACTC,IAAPD,IAAkBA,EAAKD,GAC3BF,EAAEG,GAAMF,EAAEC,KAEVM,EAAgBZ,MAAQA,KAAKY,cAAiB,SAASP,EAAGT,GAC1D,IAAK,IAAIiB,KAAKR,EAAa,YAANQ,GAAoBX,OAAOY,UAAUC,eAAeC,KAAKpB,EAASiB,IAAIZ,EAAgBL,EAASS,EAAGQ,IAEvHI,EAAmBjB,MAAQA,KAAKiB,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,IAExDhB,OAAOO,eAAeb,EAAS,aAAc,CAAEwB,OAAO,IACtDxB,EAAQyB,iBAAc,EACtBT,EAAa,EAAQ,KAAkBhB,GACvC,MAAM0B,EAAgBL,EAAgB,EAAQ,MAC9CrB,EAAQyB,YAAcC,EAAcC,QACpC3B,EAAA,QAAkB0B,EAAcC,S,oBClBhC,IAAIN,EAAmBjB,MAAQA,KAAKiB,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,IAExDhB,OAAOO,eAAeb,EAAS,aAAc,CAAEwB,OAAO,IACtD,MAAMI,EAAWP,EAAgB,EAAQ,MACzC,SAASI,GAAY,MAAEI,EAAK,YAAEC,EAAW,cAAEC,EAAgB,CAAC,QAAO,QAAEC,EAAU,GAAE,YAAEC,EAAc,EAACC,EAAOC,EAAQJ,EAAgB,CAAC,WACzHG,EAAME,MAAM,UACbF,EAAQ,IAAIA,MAEZH,EAAcM,OACP,CACHC,KAAM,IACNC,MAAOR,EAAcS,KAAKC,GAAU,CAACA,EAAOP,MAG7C,OAEP,MAAMQ,EAAU,CAAEC,MAAOb,GACzB,MAAO,CACHY,KACGE,EAAgB,CACff,MAAAA,EACAC,YAAAA,EACAQ,KAAM,IACNP,cAAAA,EACAC,QAAAA,EACAU,QAAAA,EACAT,YAAAA,KAKZ,SAASW,GAAgB,MAAEf,EAAK,YAAEC,EAAW,KAAEQ,EAAI,cAAEP,EAAa,QAAEC,EAAO,QAAEU,EAAO,YAAET,IAClF,MAAMY,EAAW,CAAEP,KAAAA,GACnB,IAAIQ,EAAWjB,EACf,MAAMkB,EAAmB,GACzB,IAAIC,GAAU,EACVC,EAAU,EACVC,EAAe,KACnB,IAAK,IAAIC,EAAI,EAAGA,EAAIL,EAAST,OAAQc,IACjC,GAAoB,MAAhBL,EAASK,GACJH,EAGwB,OAApBF,EAASK,EAAI,KAClBH,GAAU,GAHVA,GAAU,MAMb,IAAIA,EACL,SAEqB,MAAhBF,EAASK,GACM,MAAhBD,EACAA,EAAeC,EAGfF,IAGiB,MAAhBH,EAASK,KACE,IAAZF,EACoB,MAAhBC,IAGAH,EAAiBK,KAAK,CAACF,EAAcC,EAAI,IACzCD,EAAe,MAInBD,KAIZ,GAAIF,EAAiBV,OAAQ,CACzBQ,EAASA,SAAW,GACpBE,EAAiBM,UACjB,IAAK,IAAIC,KAAQP,EAAkB,CAC/B,IAAIQ,EAAgBT,EAASU,MAAMF,EAAK,GAAK,EAAGA,EAAK,GAAK,GAC1DR,EAAWA,EAASU,MAAM,EAAGF,EAAK,IAAMR,EAASU,MAAMF,EAAK,IAC5D,IAAIhB,EAAO,IACPiB,EAAcE,WAAW,KACzBF,EAAgBA,EAAcC,MAAM,GAE/BD,EAAcE,WAAW,OAC9BnB,EAAO,KACPiB,EAAgBA,EAAcC,MAAM,IAE/BD,EAAcE,WAAW,MAC9BnB,EAAO,IACPiB,EAAgBA,EAAcC,MAAM,IAE/BD,EAAcE,WAAW,OAC9BnB,EAAO,KACPiB,EAAgBA,EAAcC,MAAM,IAE/BD,EAAcE,WAAW,OAC9BnB,EAAO,KACPiB,EAAgBA,EAAcC,MAAM,IAExCX,EAASA,SAASO,QAAQR,EAAgB,CACtCf,MAAO0B,EACPzB,YAAAA,EACAQ,KAAAA,EACAP,cAAAA,EACAC,QAAAA,EACAC,YAAAA,MAUZ,GANAa,EA4CJ,UAAwB,MAAEjB,EAAK,SAAEgB,EAAQ,QAAEb,EAAO,YAAEC,IAChD,IAAIa,EAAWjB,EACf,MAAM6B,EAAY,+CACZC,EAAYb,EAASV,MAAMsB,GACjC,GAAIC,EAAW,CACXd,EAASe,KAAO,GAChBf,EAAS,SAAW,GACpB,IAAK,IAAIT,KAASuB,EACd,IACI,IAAKE,EAAMrC,IAAS,EAAII,EAASD,SAASS,EAAM0B,OAAON,MAAM,GAAI,GAAI,IAAK,GAmflEtB,EAlfeV,EAAMgC,MAAM,GAAI,GAAvChC,EAmfLU,EACF6B,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MArfV,IAAKC,EAAWC,GAAazC,EAAM0C,MAAM,IAAK,GAC9C,MAAMC,EAAcnC,EAAQgC,GAAWrB,MACvC,GAAmB,MAAfwB,EACA,SAEJ,MAAMP,EAAOnC,EAAY,CACrBI,MAAOoC,EACPnC,YAAaqC,EACbpC,cAAeC,EAAQgC,GAAWjC,cAClCC,QAAAA,EACAC,YAAAA,IAEA4B,EAAKO,SAAS,KACdvB,EAAS,SAASO,KAAK,CAACS,EAAKL,MAAM,GAAI,GAAII,IAG3Cf,EAASe,KAAKR,KAAK,CAACS,EAAMD,IAGlC,MAAOS,GACH,SAGHxB,EAASe,KAAKvB,eACRQ,EAASe,KAEff,EAAS,SAASR,eACZQ,EAAS,SAsd5B,IAAwBX,EAndpBY,EAAWA,EAASiB,QAAQL,EAAW,IACvC,MAAMY,EAAa,+CACbC,EAAazB,EAASV,MAAMkC,GAClC,GAAIC,EAAY,CACZ1B,EAAS2B,MAAQ,GACjB3B,EAAS,UAAY,GACrB,IAAK,IAAIT,KAASmC,EACd,IACI,IAAKV,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,IAAK,GAC5C,IACQL,EAAKO,SAAS,KACdvB,EAAS,UAAUO,KAAK,CAACS,EAAKL,MAAM,GAAI,GAAIiB,KAAKC,MAAMlD,KAGvDqB,EAAS2B,MAAMpB,KAAK,CAACS,EAAMY,KAAKC,MAAMlD,KAG9C,MAAO6C,GACCR,EAAKO,SAAS,KACdvB,EAAS,UAAUO,KAAK,CAACS,EAAKL,MAAM,GAAI,GAAImB,EAAcnD,KAG1DqB,EAAS2B,MAAMpB,KAAK,CAACS,EAAMc,EAAcnD,MAIrD,MAAO6C,GACH,SAGHxB,EAAS2B,MAAMnC,eACTQ,EAAS2B,MAEf3B,EAAS,UAAUR,eACbQ,EAAS,UAGxBC,EAAWA,EAASiB,QAAQO,EAAY,IACxC,MAAMM,EAAW,6CACXC,EAAW/B,EAASV,MAAMwC,GAChC,GAAIC,EAAU,CACVhC,EAASiC,IAAM,GACfjC,EAAS,QAAU,GACnB,IAAK,IAAIT,KAASyC,EACd,IACI,IAAKhB,EAAMrC,GAASY,EAAM0B,OAAON,MAAM,GAAI,GAAGU,MAAM,IAAK,GACrDL,EAAKO,SAAS,KACdvB,EAAS,QAAQO,KAAK,CAACS,EAAKL,MAAM,GAAI,GAAIhC,EAAMgC,MAAM,GAAI,KAG1DX,EAASiC,IAAI1B,KAAK,CAACS,EAAMrC,EAAMgC,MAAM,GAAI,KAGjD,MAAOa,GACH,SAGHxB,EAASiC,IAAIzC,eACPQ,EAASiC,IAEfjC,EAAS,QAAQR,eACXQ,EAAS,QAGxBC,EAAWA,EAASiB,QAAQa,EAAU,IACtC,MAAMG,EAAe,qCACfC,EAAelC,EAASV,MAAM2C,GACpC,GAAIC,EAAc,CACdnC,EAASoC,QAAU,GACnBpC,EAAS,YAAc,GACvB,IAAK,IAAIT,KAAS4C,EACd,IACI,IAAKnB,EAAMrC,GAASY,EAAM0B,OAAON,MAAM,GAAI,GAAGU,MAAM,IAAK,GACzD,IACQL,EAAKO,SAAS,KACdvB,EAAS,YAAYO,KAAK,CACtBS,EAAKL,MAAM,GAAI,GACfiB,KAAKC,MAAMQ,EAAc1D,MAI7BqB,EAASoC,QAAQ7B,KAAK,CAACS,EAAMY,KAAKC,MAAMQ,EAAc1D,MAG9D,MAAO6C,GACCR,EAAKO,SAAS,KACdvB,EAAS,YAAYO,KAAK,CACtBS,EAAKL,MAAM,GAAI,GACf0B,EAAc1D,KAIlBqB,EAASoC,QAAQ7B,KAAK,CAACS,EAAMqB,EAAc1D,MAIvD,MAAO6C,GACH,SAGHxB,EAASoC,QAAQ5C,eACXQ,EAASoC,QAEfpC,EAAS,YAAYR,eACfQ,EAAS,YAGxBC,EAAWA,EAASiB,QAAQgB,EAAc,IAC1C,MAAMI,EAAa,+CACbC,EAAatC,EAASV,MAAM+C,GAClC,GAAIC,EAAY,CACZvC,EAAST,MAAQ,GACjBS,EAAS,UAAY,GACrBA,EAASwC,OAAS,GAClBxC,EAAS,WAAa,GACtB,IAAK,IAAIT,KAASgD,EACd,IACI,IAAKvB,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,IAAK,GACxCL,EAAKO,SAAS,KACV5C,EAAM4C,SAAS,KACfvB,EAAS,WAAWO,KAAK,CACrBS,EAAKL,MAAM,GAAI,GACfhC,EAAMuC,QAAQ,YAAa,MAI/BlB,EAAS,UAAUO,KAAK,CACpBS,EAAKL,MAAM,GAAI,GACfhC,EAAMuC,QAAQ,WAAY,MAK9BvC,EAAM4C,SAAS,KACfvB,EAASwC,OAAOjC,KAAK,CAACS,EAAMrC,EAAMuC,QAAQ,YAAa,MAGvDlB,EAAST,MAAMgB,KAAK,CAACS,EAAMrC,EAAMuC,QAAQ,WAAY,MAIjE,MAAOM,GACH,SAGHxB,EAAST,MAAMC,eACTQ,EAAST,MAEfS,EAAS,UAAUR,eACbQ,EAAS,UAEfA,EAASwC,OAAOhD,eACVQ,EAASwC,OAEfxC,EAAS,WAAWR,eACdQ,EAAS,WAGxBC,EAAWA,EAASiB,QAAQoB,EAAY,IACxC,MAAMG,EAAY,mDACZC,EAAYzC,EAASV,MAAMkD,GACjC,GAAIC,EAAW,CACX1C,EAAS2C,KAAO,GAChB3C,EAAS,SAAW,GACpBA,EAASN,MAAQ,GACjBM,EAAS,UAAY,GACrB,IAAK,IAAIT,KAASmD,EACd,IACI,IAAK1B,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,IAAK,GACxCL,EAAKO,SAAS,KACV5C,EAAM4C,SAAS,MACfvB,EAAS,UAAUO,KAAK,CACpBS,EAAKL,MAAM,GAAI,GACfmB,EAAcnD,EAAMgC,MAAM,GAAI,MAIlCX,EAAS,SAASO,KAAK,CAACS,EAAKL,MAAM,GAAI,GAAImB,EAAcnD,KAIzDA,EAAM4C,SAAS,MACfvB,EAASN,MAAMa,KAAK,CAACS,EAAMc,EAAcnD,EAAMgC,MAAM,GAAI,MAGzDX,EAAS2C,KAAKpC,KAAK,CAACS,EAAMc,EAAcnD,KAIpD,MAAO6C,GACH,SAGHxB,EAAS2C,KAAKnD,eACRQ,EAAS2C,KAEf3C,EAAS,SAASR,eACZQ,EAAS,SAEfA,EAASN,MAAMF,eACTQ,EAASN,MAEfM,EAAS,UAAUR,eACbQ,EAAS,UAGxBC,EAAWA,EAASiB,QAAQuB,EAAW,IACvC,MAAMG,EAAY,sCACZC,EAAY5C,EAASV,MAAMqD,GACjC,GAAIC,EAAW,CACX7C,EAAS8C,KAAO,GAChB9C,EAAS,SAAW,GACpB,IAAK,IAAIT,KAASsD,EACd,IACI,IAAIC,EAAOvD,EAAM0B,OAAOC,QAAQ,WAAY,IACxC4B,EAAKlC,WAAW,KAChBZ,EAAS,SAASO,KAAKuC,EAAKnC,MAAM,IAGlCX,EAAS8C,KAAKvC,KAAKuC,GAG3B,MAAOtB,GACH,SAGHxB,EAAS8C,KAAKtD,eACRQ,EAAS8C,KAEf9C,EAAS,SAASR,eACZQ,EAAS,SAGxBC,EAAWA,EAASiB,QAAQ0B,EAAW,IACvC,MAAMG,EAAc,6BACdC,EAAc/C,EAASV,MAAMwD,GACnC,GAAIC,EAAa,CACbhD,EAASiD,OAAS,GAClBjD,EAAS,WAAa,GACtB,IAAK,IAAIT,KAASyD,EACd,IACI,IAAIhC,EAAOzB,EAAM0B,OAAOC,QAAQ,WAAY,IACxCF,EAAKJ,WAAW,KAChBZ,EAAS,WAAWO,KAAKS,EAAKL,MAAM,IAGpCX,EAASiD,OAAO1C,KAAKS,GAG7B,MAAOQ,GACH,SAGHxB,EAASiD,OAAOzD,eACVQ,EAASiD,OAEfjD,EAAS,WAAWR,eACdQ,EAAS,WAGxBC,EAAWA,EAASiB,QAAQ6B,EAAa,IACzC,MAAMG,EAAW,2BACXC,EAAWlD,EAASV,MAAM2D,GAChC,GAAIC,EAAU,CACVnD,EAASoD,IAAM,GACfpD,EAAS,QAAU,GACnB,IAAK,IAAIT,KAAS4D,EACd,IACI,IAAInC,EAAOzB,EAAM0B,OAAOC,QAAQ,SAAU,IACtCF,EAAKJ,WAAW,KAChBZ,EAAS,QAAQO,KAAKS,EAAKL,MAAM,IAGjCX,EAASoD,IAAI7C,KAAKS,GAG1B,MAAOQ,GACH,SAGHxB,EAASoD,IAAI5D,eACPQ,EAASoD,IAEfpD,EAAS,QAAQR,eACXQ,EAAS,QAGxBC,EAAWA,EAASiB,QAAQgC,EAAU,IACtC,MAAMG,EAAU,yCACVC,EAAUrD,EAASV,MAAM8D,GAC/B,GAAIC,EAAS,CACTtD,EAASuD,GAAK,GACd,IAAK,IAAIhE,KAAS+D,EACd,IACI,IAAKtC,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,IAAK,GAC5CrB,EAASuD,GAAGhD,KAAK,CAACS,EAAMwC,OAAO7E,KAEnC,MAAO6C,GACH,SAGHxB,EAASuD,GAAG/D,eACNQ,EAASuD,GAGxBtD,EAAWA,EAASiB,QAAQmC,EAAS,IACrC,MAAMI,EAAkB,qCAClBC,EAAkBzD,EAASV,MAAMkE,GACvC,GAAIC,EAAiB,CACE,MAAf1D,EAASuD,KACTvD,EAASuD,GAAK,IAElB,IAAK,IAAIhE,KAASmE,EACd,IACI,IAAK1C,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,IAAK,GAC5CrB,EAASuD,GAAGhD,KAAK,CACbS,EACA,KACArC,EAAMuC,QAAQ,KAAM,MAG5B,MAAOM,GACH,SAGHxB,EAASuD,GAAG/D,eACNQ,EAASuD,GAGxBtD,EAAWA,EAASiB,QAAQuC,EAAiB,IAC7C,MAAME,EAAW,0CACXC,EAAW3D,EAASV,MAAMoE,GAChC,GAAIC,EAAU,CACV5D,EAAS6D,IAAM,GACf,IAAK,IAAItE,KAASqE,EACd,IACI,IAAK5C,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,KAAM,GAC7CrB,EAAS6D,IAAItD,KAAK,CAACS,EAAMwC,OAAO7E,KAEpC,MAAO6C,GACH,SAGHxB,EAAS6D,IAAIrE,eACPQ,EAAS6D,IAGxB5D,EAAWA,EAASiB,QAAQyC,EAAU,IACtC,MAAMG,EAAmB,sCACnBC,EAAmB9D,EAASV,MAAMuE,GACxC,GAAIC,EAAkB,CACE,MAAhB/D,EAAS6D,MACT7D,EAAS6D,IAAM,IAEnB,IAAK,IAAItE,KAASwE,EACd,IACI,IAAK/C,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,KAAM,GAC7CrB,EAAS6D,IAAItD,KAAK,CACdS,EACA,KACArC,EAAMuC,QAAQ,KAAM,MAG5B,MAAOM,GACH,SAGHxB,EAAS6D,IAAIrE,eACPQ,EAAS6D,IAGxB5D,EAAWA,EAASiB,QAAQ4C,EAAkB,IAC9C,MAAME,EAAU,yCACVC,EAAUhE,EAASV,MAAMyE,GAC/B,GAAIC,EAAS,CACTjE,EAASkE,GAAK,GACd,IAAK,IAAI3E,KAAS0E,EACd,IACI,IAAKjD,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,IAAK,GAC5CrB,EAASkE,GAAG3D,KAAK,CAACS,EAAMwC,OAAO7E,KAEnC,MAAO6C,GACH,SAGHxB,EAASkE,GAAG1E,eACNQ,EAASkE,GAGxBjE,EAAWA,EAASiB,QAAQ8C,EAAS,IACrC,MAAMG,EAAkB,qCAClBC,EAAkBnE,EAASV,MAAM4E,GACvC,GAAIC,EAAiB,CACE,MAAfpE,EAASkE,KACTlE,EAASkE,GAAK,IAElB,IAAK,IAAI3E,KAAS6E,EACd,IACI,IAAKpD,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,IAAK,GAC5CrB,EAASkE,GAAG3D,KAAK,CACbS,EACA,KACArC,EAAMuC,QAAQ,KAAM,MAG5B,MAAOM,GACH,SAGHxB,EAASkE,GAAG1E,eACNQ,EAASkE,GAGxBjE,EAAWA,EAASiB,QAAQiD,EAAiB,IAC7C,MAAME,EAAW,0CACXC,EAAWrE,EAASV,MAAM8E,GAChC,GAAIC,EAAU,CACVtE,EAASuE,IAAM,GACf,IAAK,IAAIhF,KAAS+E,EACd,IACI,IAAKtD,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,KAAM,GAC7CrB,EAASuE,IAAIhE,KAAK,CAACS,EAAMwC,OAAO7E,KAEpC,MAAO6C,GACH,SAGHxB,EAASuE,IAAI/E,eACPQ,EAASuE,IAGxBtE,EAAWA,EAASiB,QAAQmD,EAAU,IACtC,MAAMG,EAAmB,sCACnBC,EAAmBxE,EAASV,MAAMiF,GACxC,GAAIC,EAAkB,CACE,MAAhBzE,EAASuE,MACTvE,EAASuE,IAAM,IAEnB,IAAK,IAAIhF,KAASkF,EACd,IACI,IAAKzD,EAAMrC,GAASY,EAAM0B,OAAOI,MAAM,KAAM,GAC7CrB,EAASuE,IAAIhE,KAAK,CACdS,EACA,KACArC,EAAMuC,QAAQ,KAAM,MAG5B,MAAOM,GACH,SAGHxB,EAASuE,IAAI/E,eACPQ,EAASuE,IAIxB,OADAtE,EAAWA,EAASiB,QAAQsD,EAAkB,IACvCvE,EAASgB,OA7hBLyD,CAAe,CACtB1F,MAAOiB,EACPD,SAAAA,EACAb,QAAAA,EACAC,YAAAA,IAEAS,EAAS,CACT,MAAM8E,EAAa,4BACbC,EAAa3E,EAASV,MAAMoF,GAC9BC,IACA/E,EAAQgF,MAAQrB,OAAOoB,EAAW,KAEtC3E,EAAWA,EAASiB,QAAQyD,EAAY,IACxC,MAAMG,EAAc,6BACdC,EAAc9E,EAASV,MAAMuF,GAC/BC,IACAlF,EAAQmF,OAASxB,OAAOuB,EAAY,KAExC9E,EAAWA,EAASiB,QAAQ4D,EAAa,IACzC,MAAMG,EAAe,yCACfC,EAAejF,EAASV,MAAM0F,GAChCC,IACArF,EAAQW,QAA8B,SAApB0E,EAAa,IAAqC,MAApBA,EAAa,IAEjEjF,EAAWA,EAASiB,QAAQ+D,EAAc,IAG9C,GADAhF,EAAWA,EAASgB,OAChBhB,EAAST,OAAQ,CACjB,MAAM2F,EAAe/F,EAAYa,EAAUhB,EAAaC,GACxD,GAAIzB,OAAO2H,KAAKD,GAAc3F,OAC1B,MAAO,IACC/B,OAAO2H,KAAKpF,GAAUR,OAAS,EAAI,CAACQ,GAAY,GACpDvC,OAAO4H,OAAO,CAAE5F,KAAM,KAAO0F,IAIzC,QAAI,aAAcnF,IACe,IAA7BA,EAASA,SAASR,QACe,IAAjC/B,OAAO2H,KAAKpF,GAAUR,QACH,MAAlBQ,EAASP,MAAkC,MAAlBO,EAASP,KAGhC,CAACO,GAFGA,EAASA,SAufxB,SAAS8B,EAAczC,GACnB,OAAIA,EAAME,MAAM,gBACLF,EAAMsB,MAAM,GAAI,GAAGO,QAAQ,OAAQ,KAAKA,QAAQ,QAAS,MAE7D7B,EAEX,SAASgD,EAAchD,GACnB,OAAOA,EAAM6B,QAAQ,OAAQ,KAAKA,QAAQ,OAAQ,KAAKA,QAAQ,QAAS,MApnB5E/D,EAAA,QAAkByB,G,YC/BlBnB,OAAOO,eAAeb,EAAS,aAAc,CAAEwB,OAAO,IAoBtDxB,EAAA,QAnBA,SAAgBmI,EAAKC,EAAWV,EAAQW,EAAAA,GACpC,IAAIC,EAASH,EACb,MAAMI,EAAI,GACV,KAAOA,EAAElG,OAASqF,GAASY,EAAOjG,QAAQ,CACtC,MAAMmG,EAAOF,EAAOpE,MAAMkE,EAAW,GACrCG,EAAEnF,KAAKoF,EAAK,IACZF,EAASA,EAAO9E,MAAMgF,EAAK,GAAGnG,QAC1BkG,EAAElG,OAASqF,GAASY,IACpBA,EAASA,EAAOvE,QAAQqE,EAAW,IAC9BE,GACDC,EAAEnF,KAAKkF,IAOnB,OAHIA,GAAUZ,EAAQ,IAClBa,EAAEA,EAAElG,OAAS,IAAMiG,GAEhBC,KClBPE,EAA2B,G,OAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB/H,IAAjBgI,EACH,OAAOA,EAAa5I,QAGrB,IAAIC,EAASwI,EAAyBE,GAAY,CAGjD3I,QAAS,IAOV,OAHA6I,EAAoBF,GAAUvH,KAAKnB,EAAOD,QAASC,EAAQA,EAAOD,QAAS0I,GAGpEzI,EAAOD,QClBW0I,CAAoB,M","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/index.js","webpack://@nymphjs/client/webpack/bootstrap","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, function() {\nreturn ","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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 Object.assign({ type: '|' }, bareSelector),\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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction 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}\nexports.default = splitn;\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","// 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","defineProperty","enumerable","get","__exportStar","p","prototype","hasOwnProperty","call","__importDefault","mod","__esModule","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","assign","str","delimiter","Infinity","curStr","a","next","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
|
package/lib/queryParser.d.ts
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import type { EntityConstructor, Options, Selector } from '@nymphjs/client';
|
|
2
|
-
export
|
|
2
|
+
export declare type BareQueryHandler = (input: string, entityClass?: EntityConstructor, defaultFields?: string[]) => Partial<Selector>;
|
|
3
|
+
export declare type QRefMap = {
|
|
3
4
|
[k: string]: {
|
|
4
5
|
class: EntityConstructor;
|
|
5
6
|
defaultFields?: string[];
|
|
6
7
|
};
|
|
8
|
+
};
|
|
9
|
+
export default function queryParser<T extends EntityConstructor = EntityConstructor>({ query, entityClass, defaultFields, qrefMap, bareHandler, }: {
|
|
10
|
+
query: string;
|
|
11
|
+
entityClass: T;
|
|
12
|
+
defaultFields?: string[];
|
|
13
|
+
qrefMap?: QRefMap;
|
|
14
|
+
bareHandler?: BareQueryHandler;
|
|
7
15
|
}): [Options<T>, ...Selector[]];
|