@nymphjs/query-parser 1.0.0-alpha.32 → 1.0.0-alpha.36
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 +22 -0
- package/README.md +14 -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 +52 -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 +6 -5
- package/src/queryParser.test.ts +998 -0
- package/src/queryParser.ts +101 -42
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
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.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-01-26)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
9
|
+
|
|
10
|
+
# [1.0.0-alpha.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-01-19)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- split limit issue in query parser ([df2d610](https://github.com/sciactive/nymphjs/commit/df2d610c2c999400412c2023efc9204fa9df338e))
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
- add bareHandler option to query parser ([de06691](https://github.com/sciactive/nymphjs/commit/de066910403242af8c44668b310d2594abc5b817))
|
|
19
|
+
|
|
20
|
+
# [1.0.0-alpha.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-01-08)
|
|
21
|
+
|
|
22
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
23
|
+
|
|
24
|
+
# [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
|
|
25
|
+
|
|
26
|
+
**Note:** Version bump only for package @nymphjs/query-parser
|
|
27
|
+
|
|
6
28
|
# [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
|
|
7
29
|
|
|
8
30
|
**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: "|",
|
|
@@ -230,7 +229,11 @@ Published is not truthy and cdate is not greater than 6 months ago.
|
|
|
230
229
|
|
|
231
230
|
## Default Fields
|
|
232
231
|
|
|
233
|
-
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.
|
|
234
237
|
|
|
235
238
|
# License
|
|
236
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 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","// 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","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","keys","map","field","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
|
|
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/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[]];
|
package/lib/queryParser.js
CHANGED
|
@@ -1,14 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
6
|
+
const splitn_1 = __importDefault(require("@sciactive/splitn"));
|
|
7
|
+
function queryParser({ query, entityClass, defaultFields = ['name'], qrefMap = {}, bareHandler = (input, _class, defaultFields = ['name']) => {
|
|
8
|
+
if (!input.match(/[_%]/)) {
|
|
9
|
+
input = `%${input}%`;
|
|
10
|
+
}
|
|
11
|
+
if (defaultFields.length) {
|
|
12
|
+
return {
|
|
13
|
+
type: '|',
|
|
14
|
+
ilike: defaultFields.map((field) => [field, input]),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
return {};
|
|
18
|
+
}, }) {
|
|
4
19
|
const options = { class: entityClass };
|
|
5
20
|
return [
|
|
6
21
|
options,
|
|
7
|
-
...selectorsParser(
|
|
22
|
+
...selectorsParser({
|
|
23
|
+
query,
|
|
24
|
+
entityClass,
|
|
25
|
+
type: '&',
|
|
26
|
+
defaultFields,
|
|
27
|
+
qrefMap,
|
|
28
|
+
options,
|
|
29
|
+
bareHandler,
|
|
30
|
+
}),
|
|
8
31
|
];
|
|
9
32
|
}
|
|
10
33
|
exports.default = queryParser;
|
|
11
|
-
function selectorsParser(query, type
|
|
34
|
+
function selectorsParser({ query, entityClass, type, defaultFields, qrefMap, options, bareHandler, }) {
|
|
12
35
|
const selector = { type };
|
|
13
36
|
let curQuery = query;
|
|
14
37
|
const subSelectorPairs = [];
|
|
@@ -75,10 +98,22 @@ function selectorsParser(query, type = '&', defaultFields, qrefMap, options) {
|
|
|
75
98
|
type = '!&';
|
|
76
99
|
selectorQuery = selectorQuery.slice(1);
|
|
77
100
|
}
|
|
78
|
-
selector.selector.push(...selectorsParser(
|
|
101
|
+
selector.selector.push(...selectorsParser({
|
|
102
|
+
query: selectorQuery,
|
|
103
|
+
entityClass,
|
|
104
|
+
type,
|
|
105
|
+
defaultFields,
|
|
106
|
+
qrefMap,
|
|
107
|
+
bareHandler,
|
|
108
|
+
}));
|
|
79
109
|
}
|
|
80
110
|
}
|
|
81
|
-
curQuery = selectorParser(
|
|
111
|
+
curQuery = selectorParser({
|
|
112
|
+
query: curQuery,
|
|
113
|
+
selector,
|
|
114
|
+
qrefMap,
|
|
115
|
+
bareHandler,
|
|
116
|
+
});
|
|
82
117
|
if (options) {
|
|
83
118
|
const limitRegex = /(?: |^)limit:(\d+)(?= |$)/;
|
|
84
119
|
const limitMatch = curQuery.match(limitRegex);
|
|
@@ -101,16 +136,11 @@ function selectorsParser(query, type = '&', defaultFields, qrefMap, options) {
|
|
|
101
136
|
}
|
|
102
137
|
curQuery = curQuery.trim();
|
|
103
138
|
if (curQuery.length) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
if (defaultFields.length) {
|
|
139
|
+
const bareSelector = bareHandler(curQuery, entityClass, defaultFields);
|
|
140
|
+
if (Object.keys(bareSelector).length) {
|
|
108
141
|
return [
|
|
109
142
|
...(Object.keys(selector).length > 1 ? [selector] : []),
|
|
110
|
-
{
|
|
111
|
-
type: '|',
|
|
112
|
-
ilike: defaultFields.map((field) => [field, curQuery]),
|
|
113
|
-
},
|
|
143
|
+
Object.assign({ type: '|' }, bareSelector),
|
|
114
144
|
];
|
|
115
145
|
}
|
|
116
146
|
}
|
|
@@ -122,7 +152,7 @@ function selectorsParser(query, type = '&', defaultFields, qrefMap, options) {
|
|
|
122
152
|
}
|
|
123
153
|
return [selector];
|
|
124
154
|
}
|
|
125
|
-
function selectorParser(query, selector, qrefMap) {
|
|
155
|
+
function selectorParser({ query, selector, qrefMap, bareHandler, }) {
|
|
126
156
|
let curQuery = query;
|
|
127
157
|
const qrefRegex = /(?: |^)(\w+)!?<\{(\w+) (.*?[^\\])\}>(?= |$)/g;
|
|
128
158
|
const qrefMatch = curQuery.match(qrefRegex);
|
|
@@ -131,14 +161,20 @@ function selectorParser(query, selector, qrefMap) {
|
|
|
131
161
|
selector['!qref'] = [];
|
|
132
162
|
for (let match of qrefMatch) {
|
|
133
163
|
try {
|
|
134
|
-
let [name, value] = match.trim().slice(0, -1)
|
|
164
|
+
let [name, value] = (0, splitn_1.default)(match.trim().slice(0, -1), '<', 2);
|
|
135
165
|
value = unQuoteCurlies(value.slice(1, -1));
|
|
136
166
|
let [className, qrefQuery] = value.split(' ', 2);
|
|
137
167
|
const EntityClass = qrefMap[className].class;
|
|
138
168
|
if (EntityClass == null) {
|
|
139
169
|
continue;
|
|
140
170
|
}
|
|
141
|
-
const qref = queryParser(
|
|
171
|
+
const qref = queryParser({
|
|
172
|
+
query: qrefQuery,
|
|
173
|
+
entityClass: EntityClass,
|
|
174
|
+
defaultFields: qrefMap[className].defaultFields,
|
|
175
|
+
qrefMap,
|
|
176
|
+
bareHandler,
|
|
177
|
+
});
|
|
142
178
|
if (name.endsWith('!')) {
|
|
143
179
|
selector['!qref'].push([name.slice(0, -1), qref]);
|
|
144
180
|
}
|
package/lib/queryParser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryParser.js","sourceRoot":"","sources":["../src/queryParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryParser.js","sourceRoot":"","sources":["../src/queryParser.ts"],"names":[],"mappings":";;;;;AACA,+DAAuC;AAYvC,SAAwB,WAAW,CAEjC,EACA,KAAK,EACL,WAAW,EACX,aAAa,GAAG,CAAC,MAAM,CAAC,EACxB,OAAO,GAAG,EAAE,EACZ,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE;IACxD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACxB,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;KACtB;IACD,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,OAAO;YACL,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAG/C;SACJ,CAAC;KACH;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,GAOF;IACC,MAAM,OAAO,GAAe,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACnD,OAAO;QACL,OAAO;QACP,GAAG,eAAe,CAAC;YACjB,KAAK;YACL,WAAW;YACX,IAAI,EAAE,GAAG;YACT,aAAa;YACb,OAAO;YACP,OAAO;YACP,WAAW;SACZ,CAAC;KACH,CAAC;AACJ,CAAC;AA1CD,8BA0CC;AAED,SAAS,eAAe,CAAC,EACvB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,aAAa,EACb,OAAO,EACP,OAAO,EACP,WAAW,GASZ;IACC,MAAM,QAAQ,GAAa,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAGrB,MAAM,gBAAgB,GAAuB,EAAE,CAAC;IAChD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACvB,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;gBACnC,OAAO,GAAG,KAAK,CAAC;aACjB;SACF;aAAM,IAAI,OAAO,EAAE;YAClB,SAAS;SACV;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC9B,IAAI,YAAY,IAAI,IAAI,EAAE;gBACxB,YAAY,GAAG,CAAC,CAAC;aAClB;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;SACF;aAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC9B,IAAI,OAAO,KAAK,CAAC,EAAE;gBACjB,IAAI,YAAY,IAAI,IAAI,EAAE;iBAEzB;qBAAM;oBACL,gBAAgB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7C,YAAY,GAAG,IAAI,CAAC;iBACrB;aACF;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;SACF;KACF;IAED,IAAI,gBAAgB,CAAC,MAAM,EAAE;QAC3B,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEvB,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC3B,KAAK,IAAI,IAAI,IAAI,gBAAgB,EAAE;YAEjC,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE7D,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAGhE,IAAI,IAAI,GAA4B,GAAG,CAAC;YACxC,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACjC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxC;iBAAM,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,GAAG,IAAI,CAAC;gBACZ,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxC;iBAAM,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACxC,IAAI,GAAG,GAAG,CAAC;gBACX,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxC;iBAAM,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,GAAG,IAAI,CAAC;gBACZ,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxC;iBAAM,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,CAAC;gBACZ,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxC;YACD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CACpB,GAAG,eAAe,CAAC;gBACjB,KAAK,EAAE,aAAa;gBACpB,WAAW;gBACX,IAAI;gBACJ,aAAa;gBACb,OAAO;gBACP,WAAW;aACZ,CAAC,CACH,CAAC;SACH;KACF;IAED,QAAQ,GAAG,cAAc,CAAC;QACxB,KAAK,EAAE,QAAQ;QACf,QAAQ;QACR,OAAO;QACP,WAAW;KACZ,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE;QACX,MAAM,UAAU,GAAG,2BAA2B,CAAC;QAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,UAAU,EAAE;YACd,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;QACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,4BAA4B,CAAC;QACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE;YACf,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SACzC;QACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAE7C,MAAM,YAAY,GAAG,wCAAwC,CAAC;QAC9D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,YAAY,EAAE;YAChB,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;SACzE;QACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;KAC/C;IAED,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE3B,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;QAEvE,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE;YACpC,OAAO;gBACL,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCAErD,IAAI,EAAE,GAAG,IACN,YAAY;aAElB,CAAC;SACH;KACF;IAED,IACE,UAAU,IAAI,QAAQ;QACrB,QAAQ,CAAC,QAAuB,CAAC,MAAM,KAAK,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAClC,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,EAChD;QAGA,OAAO,QAAQ,CAAC,QAAsB,CAAC;KACxC;IAED,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,WAAW,GAMZ;IACC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAGrB,MAAM,SAAS,GAAG,8CAA8C,CAAC;IACjE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,SAAS,EAAE;QACb,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;YAC3B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAA,gBAAM,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC9D,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACjD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;gBAC7C,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,SAAS;iBACV;gBACD,MAAM,IAAI,GAAG,WAAW,CAAC;oBACvB,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,WAAW;oBACxB,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa;oBAC/C,OAAO;oBACP,WAAW;iBACZ,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACtB,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;iBACnD;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;iBAClC;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;YAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC1B;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAG3C,MAAM,UAAU,GAAG,8CAA8C,CAAC;IAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE;QACd,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,KAAK,IAAI,UAAU,EAAE;YAC5B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI;oBACF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACtB,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACjE;yBAAM;wBACL,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAChD;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACtB,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACpE;yBAAM;wBACL,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACnD;iBACF;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,OAAO,QAAQ,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;YAC9B,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3B;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAG5C,MAAM,QAAQ,GAAG,4CAA4C,CAAC;IAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;QAClB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE;YAC1B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACtB,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChE;qBAAM;oBACL,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/C;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;YAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAG1C,MAAM,YAAY,GAAG,oCAAoC,CAAC;IAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,YAAY,EAAE;QAChB,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,KAAK,IAAI,YAAY,EAAE;YAC9B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI;oBACF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACtB,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;4BACxB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACjB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;yBACjC,CAAC,CAAC;qBACJ;yBAAM;wBACL,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBACjE;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACtB,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;4BACxB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACjB,aAAa,CAAC,KAAK,CAAC;yBACrB,CAAC,CAAC;qBACJ;yBAAM;wBACL,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACrD;iBACF;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;YAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC;SACzB;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;YAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;SAC7B;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAG9C,MAAM,UAAU,GAAG,8CAA8C,CAAC;IAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE;QACd,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;QACrB,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACzB,KAAK,IAAI,KAAK,IAAI,UAAU,EAAE;YAC5B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACtB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACvB,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;4BACvB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACjB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;yBAC/B,CAAC,CAAC;qBACJ;yBAAM;wBACL,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;4BACtB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACjB,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;yBAC9B,CAAC,CAAC;qBACJ;iBACF;qBAAM;oBACL,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACvB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC9D;yBAAM;wBACL,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC5D;iBACF;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,OAAO,QAAQ,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;YAC9B,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC;SACxB;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;YAC/B,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5B;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAG5C,MAAM,SAAS,GAAG,kDAAkD,CAAC;IACrE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,SAAS,EAAE;QACb,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;YAC3B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACtB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACxB,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;4BACtB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACjB,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBAClC,CAAC,CAAC;qBACJ;yBAAM;wBACL,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACnE;iBACF;qBAAM;oBACL,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACxB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAChE;yBAAM;wBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBAClD;iBACF;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;YAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC1B;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,OAAO,QAAQ,CAAC,KAAK,CAAC;SACvB;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;YAC9B,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC3B;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAG3C,MAAM,SAAS,GAAG,qCAAqC,CAAC;IACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,SAAS,EAAE;QACb,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;YAC3B,IAAI;gBACF,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACxB,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvC;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC1B;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;YAC7B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC1B;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAG3C,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,WAAW,EAAE;QACf,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;QACrB,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACzB,KAAK,IAAI,KAAK,IAAI,WAAW,EAAE;YAC7B,IAAI;gBACF,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACxB,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;qBAAM;oBACL,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC5B;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC;SACxB;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;YAC/B,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5B;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAG7C,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;QAClB,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE;YAC1B,IAAI;gBACF,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACxB,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBACtC;qBAAM;oBACL,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzB;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;YAC5B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAG1C,MAAM,OAAO,GAAG,wCAAwC,CAAC;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,OAAO,EAAE;QACX,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;YACzB,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/C,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzC;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;YACvB,OAAO,QAAQ,CAAC,EAAE,CAAC;SACpB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAGzC,MAAM,eAAe,GAAG,oCAAoC,CAAC;IAC7D,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxD,IAAI,eAAe,EAAE;QACnB,IAAI,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE;YACvB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;SAClB;QACD,KAAK,IAAI,KAAK,IAAI,eAAe,EAAE;YACjC,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC9C,QAAQ,CAAC,EAA+B,CAAC,IAAI,CAAC;oBAC7C,IAAI;oBACJ,IAAI;oBACJ,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACxB,CAAC,CAAC;aACJ;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;YACvB,OAAO,QAAQ,CAAC,EAAE,CAAC;SACpB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAGjD,MAAM,QAAQ,GAAG,yCAAyC,CAAC;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE;YAC1B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC1C;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAG1C,MAAM,gBAAgB,GAAG,qCAAqC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,gBAAgB,EAAE;QACpB,IAAI,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE;YACxB,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;SACnB;QACD,KAAK,IAAI,KAAK,IAAI,gBAAgB,EAAE;YAClC,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,QAAQ,CAAC,GAAgC,CAAC,IAAI,CAAC;oBAC9C,IAAI;oBACJ,IAAI;oBACJ,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACxB,CAAC,CAAC;aACJ;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAGlD,MAAM,OAAO,GAAG,wCAAwC,CAAC;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,OAAO,EAAE;QACX,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;YACzB,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/C,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzC;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;YACvB,OAAO,QAAQ,CAAC,EAAE,CAAC;SACpB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAGzC,MAAM,eAAe,GAAG,oCAAoC,CAAC;IAC7D,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxD,IAAI,eAAe,EAAE;QACnB,IAAI,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE;YACvB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;SAClB;QACD,KAAK,IAAI,KAAK,IAAI,eAAe,EAAE;YACjC,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC9C,QAAQ,CAAC,EAA+B,CAAC,IAAI,CAAC;oBAC7C,IAAI;oBACJ,IAAI;oBACJ,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACxB,CAAC,CAAC;aACJ;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;YACvB,OAAO,QAAQ,CAAC,EAAE,CAAC;SACpB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAGjD,MAAM,QAAQ,GAAG,yCAAyC,CAAC;IAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE;YAC1B,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAChD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC1C;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAG1C,MAAM,gBAAgB,GAAG,qCAAqC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,gBAAgB,EAAE;QACpB,IAAI,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE;YACxB,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;SACnB;QACD,KAAK,IAAI,KAAK,IAAI,gBAAgB,EAAE;YAClC,IAAI;gBACF,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,QAAQ,CAAC,GAAgC,CAAC,IAAI,CAAC;oBAC9C,IAAI;oBACJ,IAAI;oBACJ,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;iBACxB,CAAC,CAAC;aACJ;YAAC,OAAO,CAAM,EAAE;gBACf,SAAS;aACV;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC;SACrB;KACF;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAElD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACvE;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|