@opra/common 1.4.4 → 1.5.0
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/browser/index.cjs +5 -5
- package/browser/index.mjs +5 -5
- package/cjs/document/api-document.js +13 -8
- package/cjs/document/common/api-base.js +2 -1
- package/cjs/document/common/document-init-context.js +5 -0
- package/cjs/document/common/document-node.js +25 -29
- package/cjs/document/common/value.js +6 -2
- package/cjs/document/constants.js +1 -2
- package/cjs/document/data-type/api-field.js +16 -3
- package/cjs/document/data-type/complex-type-base.js +12 -3
- package/cjs/document/data-type/complex-type.js +12 -5
- package/cjs/document/data-type/data-type.js +16 -1
- package/cjs/document/data-type/enum-type.js +9 -2
- package/cjs/document/data-type/extended-types/base64.type.js +1 -0
- package/cjs/document/data-type/extended-types/date-string.type.js +1 -0
- package/cjs/document/data-type/extended-types/date-time-string.type.js +1 -0
- package/cjs/document/data-type/extended-types/date-time.type.js +1 -0
- package/cjs/document/data-type/extended-types/date.type.js +1 -0
- package/cjs/document/data-type/extended-types/email.type.js +1 -0
- package/cjs/document/data-type/extended-types/field-path.type.js +6 -2
- package/cjs/document/data-type/extended-types/filter.type.js +11 -4
- package/cjs/document/data-type/extended-types/object-id.type.js +1 -0
- package/cjs/document/data-type/extended-types/operation-result.type.js +1 -0
- package/cjs/document/data-type/extended-types/time.type.js +1 -0
- package/cjs/document/data-type/extended-types/url.type.js +1 -0
- package/cjs/document/data-type/extended-types/uuid.type.js +1 -0
- package/cjs/document/data-type/mapped-type.js +6 -3
- package/cjs/document/data-type/mixin-type.js +7 -4
- package/cjs/document/data-type/primitive-types/any.type.js +1 -0
- package/cjs/document/data-type/primitive-types/bigint.type.js +1 -0
- package/cjs/document/data-type/primitive-types/boolean.type.js +1 -0
- package/cjs/document/data-type/primitive-types/integer.type.js +1 -0
- package/cjs/document/data-type/primitive-types/null.type.js +1 -0
- package/cjs/document/data-type/primitive-types/number.type.js +1 -0
- package/cjs/document/data-type/primitive-types/string.type.js +1 -0
- package/cjs/document/data-type/simple-type.js +10 -3
- package/cjs/document/decorators/complex-type.decorator.js +1 -1
- package/cjs/document/decorators/simple-type.decorator.js +1 -1
- package/cjs/document/factory/api-document.factory.js +1 -0
- package/cjs/document/http/http-api.js +2 -2
- package/cjs/document/http/http-controller.js +5 -5
- package/cjs/document/http/http-media-type.js +3 -3
- package/cjs/document/http/http-multipart-field.js +2 -2
- package/cjs/document/http/http-operation-response.js +3 -3
- package/cjs/document/http/http-operation.js +5 -5
- package/cjs/document/http/http-parameter.js +2 -2
- package/cjs/document/http/http-request-body.js +4 -2
- package/cjs/filter/filter-rules.js +5 -4
- package/esm/document/api-document.js +13 -8
- package/esm/document/common/api-base.js +2 -1
- package/esm/document/common/document-init-context.js +5 -0
- package/esm/document/common/document-node.js +25 -29
- package/esm/document/common/value.js +6 -2
- package/esm/document/constants.js +0 -1
- package/esm/document/data-type/api-field.js +16 -3
- package/esm/document/data-type/complex-type-base.js +12 -3
- package/esm/document/data-type/complex-type.js +12 -5
- package/esm/document/data-type/data-type.js +16 -1
- package/esm/document/data-type/enum-type.js +9 -2
- package/esm/document/data-type/extended-types/base64.type.js +1 -0
- package/esm/document/data-type/extended-types/date-string.type.js +1 -0
- package/esm/document/data-type/extended-types/date-time-string.type.js +1 -0
- package/esm/document/data-type/extended-types/date-time.type.js +1 -0
- package/esm/document/data-type/extended-types/date.type.js +1 -0
- package/esm/document/data-type/extended-types/email.type.js +1 -0
- package/esm/document/data-type/extended-types/field-path.type.js +6 -2
- package/esm/document/data-type/extended-types/filter.type.js +11 -4
- package/esm/document/data-type/extended-types/object-id.type.js +1 -0
- package/esm/document/data-type/extended-types/operation-result.type.js +1 -0
- package/esm/document/data-type/extended-types/time.type.js +1 -0
- package/esm/document/data-type/extended-types/url.type.js +1 -0
- package/esm/document/data-type/extended-types/uuid.type.js +1 -0
- package/esm/document/data-type/mapped-type.js +6 -3
- package/esm/document/data-type/mixin-type.js +7 -4
- package/esm/document/data-type/primitive-types/any.type.js +1 -0
- package/esm/document/data-type/primitive-types/bigint.type.js +1 -0
- package/esm/document/data-type/primitive-types/boolean.type.js +1 -0
- package/esm/document/data-type/primitive-types/integer.type.js +1 -0
- package/esm/document/data-type/primitive-types/null.type.js +1 -0
- package/esm/document/data-type/primitive-types/number.type.js +1 -0
- package/esm/document/data-type/primitive-types/string.type.js +1 -0
- package/esm/document/data-type/simple-type.js +10 -3
- package/esm/document/decorators/complex-type.decorator.js +2 -2
- package/esm/document/decorators/simple-type.decorator.js +2 -2
- package/esm/document/factory/api-document.factory.js +1 -0
- package/esm/document/http/http-api.js +2 -2
- package/esm/document/http/http-controller.js +5 -5
- package/esm/document/http/http-media-type.js +3 -3
- package/esm/document/http/http-multipart-field.js +2 -2
- package/esm/document/http/http-operation-response.js +3 -3
- package/esm/document/http/http-operation.js +5 -5
- package/esm/document/http/http-parameter.js +2 -2
- package/esm/document/http/http-request-body.js +4 -2
- package/esm/filter/filter-rules.js +5 -4
- package/package.json +1 -1
- package/types/document/api-document.d.ts +8 -2
- package/types/document/common/api-base.d.ts +1 -1
- package/types/document/common/document-init-context.d.ts +2 -0
- package/types/document/common/document-node.d.ts +8 -14
- package/types/document/common/value.d.ts +2 -1
- package/types/document/constants.d.ts +0 -1
- package/types/document/data-type/api-field.d.ts +6 -11
- package/types/document/data-type/complex-type.d.ts +2 -1
- package/types/document/data-type/data-type.d.ts +7 -2
- package/types/document/data-type/enum-type.d.ts +2 -1
- package/types/document/data-type/extended-types/field-path.type.d.ts +2 -1
- package/types/document/data-type/extended-types/filter.type.d.ts +2 -1
- package/types/document/data-type/mapped-type.d.ts +2 -1
- package/types/document/data-type/mixin-type.d.ts +2 -1
- package/types/document/data-type/simple-type.d.ts +2 -1
- package/types/document/factory/api-document.factory.d.ts +2 -1
- package/types/document/http/http-api.d.ts +1 -1
- package/types/document/http/http-controller.d.ts +2 -1
- package/types/document/http/http-media-type.d.ts +2 -1
- package/types/document/http/http-multipart-field.d.ts +2 -1
- package/types/document/http/http-operation-response.d.ts +2 -1
- package/types/document/http/http-operation.d.ts +2 -1
- package/types/document/http/http-parameter.d.ts +2 -1
- package/types/document/http/http-request-body.d.ts +2 -1
- package/types/filter/filter-rules.d.ts +3 -3
package/browser/index.mjs
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* http://www.panates.com
|
|
4
4
|
*****************************************/
|
|
5
5
|
|
|
6
|
-
var cs=Object.defineProperty;var s=(i,e)=>cs(i,"name",{value:e,configurable:!0});var ls=(i,e)=>{for(var t in e)cs(i,t,{get:e[t],enumerable:!0})};import"reflect-metadata";import{merge as ri}from"@jsopen/objects";var m={};ls(m,{ComplexType:()=>We,EnumType:()=>Ye,HttpController:()=>Ut,HttpOperation:()=>Hr,MappedType:()=>Ge,MixinType:()=>Qe,RpcController:()=>ei,RpcOperation:()=>ti,SimpleType:()=>Xe,SpecVersion:()=>ua,isComplexType:()=>da,isDataType:()=>ma,isEnumType:()=>Ea,isHttpController:()=>_a,isMappedType:()=>Ta,isMixinType:()=>ya,isSimpleType:()=>ha});var ua="1.0";var We;(function(i){i.Kind="ComplexType"})(We||(We={}));var Ye;(function(i){i.Kind="EnumType"})(Ye||(Ye={}));var Ge;(function(i){i.Kind="MappedType"})(Ge||(Ge={}));var Qe;(function(i){i.Kind="MixinType"})(Qe||(Qe={}));var Xe;(function(i){i.Kind="SimpleType"})(Xe||(Xe={}));var Ut;(function(i){i.Kind="HttpController"})(Ut||(Ut={}));var Hr;(function(i){i.Kind="HttpOperation"})(Hr||(Hr={}));var ei;(function(i){i.Kind="RpcController"})(ei||(ei={}));var ti;(function(i){i.Kind="RpcOperation"})(ti||(ti={}));function ma(i){return i&&typeof i=="object"&&(i.kind===We.Kind||i.kind===Ye.Kind||i.kind===Ge.Kind||i.kind===Xe.Kind||i.kind===Qe.Kind)}s(ma,"isDataType");function da(i){return i&&typeof i=="object"&&i.kind===We.Kind}s(da,"isComplexType");function ha(i){return i&&typeof i=="object"&&i.kind===Xe.Kind}s(ha,"isSimpleType");function ya(i){return i&&typeof i=="object"&&i.kind===Qe.Kind}s(ya,"isMixinType");function Ta(i){return i&&typeof i=="object"&&i.kind===Ge.Kind}s(Ta,"isMappedType");function Ea(i){return i&&typeof i=="object"&&i.kind===Ye.Kind}s(Ea,"isEnumType");function _a(i){return i&&typeof i=="object"&&i.kind===Ut.Kind}s(_a,"isHttpController");var T=Symbol.for("opra.type.metadata"),te=Symbol("opra.http-controller.metadata"),re=Symbol("opra.rpc-controller.metadata"),y=Symbol.for("opra.type.decoder"),x=Symbol("opra.type.encoder"),w=Symbol.for("DECORATOR"),Le=Symbol.for("BUILTIN"),fs=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,ar=/^(.*)Type(\d*)$/,F=Symbol.for("kDataTypeMap"),pr=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");var xa=/^(.*)(Controller)$/,us=[];function Ze(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=xa.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(re,Object.getPrototypeOf(r));a&&ri(n,a,{deep:!0});let p=Reflect.getOwnMetadata(re,r);p&&ri(n,p,{deep:!0}),ri(n,{...i,kind:m.RpcController.Kind,name:o,path:o},{deep:!0}),Reflect.defineMetadata(re,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(re,n,r)},"decorator");return t.Header=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,type:o}:{...o,name:r};n.headers=n.headers||[],n.headers.push(a)}),t),t.UseType=(...r)=>(e.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),us.forEach(r=>r(t,e,i)),t}s(Ze,"RpcControllerDecoratorFactory");Ze.augment=function(i){us.push(i)};import{omit as ga}from"@jsopen/objects";var ms=[];function qt(i,e,t){let r=!1,o=s((n,a)=>{if(typeof a!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:a,payloadType:e,...ga(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(re,n.constructor)||{};c.operations=c.operations||{},c.operations[a]=p;for(let l of i)l(p,n,a);Reflect.defineMetadata(re,c,n.constructor)},"decorator");return o.UseType=(...n)=>(i.push(a=>{a.types=a.types||[],a.types.push(...n)}),o),o.Header=(n,a)=>(i.push(p=>{let c=typeof a=="string"||typeof a=="function"?{name:n,type:a}:{...a,name:n},l=r?p.response:p;l.headers?l.headers=l.headers.filter(_=>String(_.name)!==String(n)):l.headers=[],l.headers.push(c)}),o),o.Response=(n,a)=>(i.push(p=>{r=!0,p.response={...a,payloadType:n}}),o),ms.forEach(n=>n(o,i,e,t)),o}s(qt,"RpcOperationDecoratorFactory");qt.augment=function(i){ms.push(i)};BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as wa}from"@jsopen/objects";import Aa from"putil-promisify";async function se(i){return i=Aa.isPromise(i)?await i:i,typeof i=="function"?wa(i)?i:await i():i}s(se,"resolveThunk");var ds=/^(?:file:\/\/)?(.+)$/;function af(i=1){if(i>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+i+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,o)=>o;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[i]?t[i].getFileName():void 0,o=r?ds.exec(r):void 0;return o?o[1]:""}return""}s(af,"getStackFileName");function pf(i=1){if(i>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+i+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,o)=>o;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[i]?t[i].getFileName():void 0,o=r?ds.exec(r):void 0;return o?o[1]:""}return""}s(pf,"getErrorStack");function cr(i,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}s(cr,"mergePrototype");function lr(i,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof i[n]>"u").filter(n=>t(n)).forEach(n=>{i[n]=r[n]})}catch{}}s(lr,"inheritPropertyInitializers");import{isPlainObject as hs,merge as ba}from"@jsopen/objects";function L(i,e){return ba({},i,{deep:s(t=>hs(t)&&!t[T],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let o=r[t];return!e||typeof o!="function"&&(typeof o!="object"||hs(o)||Array.isArray(o))}})}s(L,"cloneObject");import{splitString as ys}from"fast-tokenizer";var Na=/^([+-])?([a-z_$]\w*)$/i,Da=/[^.]\(/g,ii=class ii{};s(ii,"FieldsProjection");var ve=ii;(function(i){let t=class t{};s(t,"Item");let e=t;i.Item=e})(ve||(ve={}));function Ts(i,e){let t=Array.isArray(i)?i:[i];if(!(t&&t.length))return;let r=new ve;for(let o of t)e||(o=o.toLowerCase()),Es(o,r);return r}s(Ts,"parseFieldsProjection");function Es(i,e){i=i.replace(Da,r=>r.charAt(0)+"."+r.substring(1));let t=ys(i,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let o=t[r];if(o.includes(",")){let c=ys(o,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)Es(l,e);continue}let n=Na.exec(o);if(!n)throw new TypeError(`Invalid field path (${i})`);let a=n[2],p=e[a]=e[a]||new ve.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new ve}}s(Es,"parse");function Sa(i){return i&&typeof i.forEach=="function"}s(Sa,"isMap");var V=Symbol.for("kEntries"),ae=Symbol.for("kKeyMap"),fr=Symbol.for("kWellKnownKeys"),oi=Symbol.for("kOptions"),He=Symbol.for("kSize"),ni=class ni{constructor(e,t){Object.defineProperty(this,He,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,V,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ae,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,fr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,oi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(o=>{r?this[fr][o]=o:this[fr][o.toLowerCase()]=o}),this.clear(),e&&this.setAll(e)}get size(){return this[He]}clear(){Object.keys(this[V]).forEach(e=>delete this[V][e]),Object.keys(this[ae]).forEach(e=>delete this[ae][e]),this[He]=0}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,r,this)}get(e){if(e)return this[V][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[V],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let o=Object.prototype.hasOwnProperty.call(this[V],r);return this[V][r]=t,o||this[He]++,this[ae][r]=e,this}setAll(e){return Sa(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ae])[Symbol.iterator]()}values(){return Object.values(this[V])[Symbol.iterator]()}entries(){return Object.entries(this[V])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[V],t);return delete this[V][t],delete this[ae][t],r||this[He]--,r}sort(e){let t={...this[V]},r={...this[ae]},o=Array.from(this.keys());e?o.sort(e):o.sort(),this.clear();for(let n of o)this[V][n]=t[n],this[ae][n]=r[n];return this[He]=o.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ae]))e[r]=this[V][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[oi].caseSensitive)return e;let t=this._getStoringKey(e);return this[ae][t]??this[fr][t]??e}_getStoringKey(e){return this[oi].caseSensitive?e:e.toLowerCase()}};s(ni,"ResponsiveMap");var N=ni;function gf(i,e,t){let r=new WeakSet;return JSON.stringify(i,(o,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(o,n):n},t)}s(gf,"safeJsonStringify");function si(i){return i!==null&&typeof i=="object"&&typeof i.pipe=="function"}s(si,"isStream");function Af(i){return si(i)&&typeof i._read=="function"&&typeof i._readableState=="object"}s(Af,"isReadable");function bf(i){return si(i)&&typeof i._write=="function"}s(bf,"isWritable");function Nf(i){return si(i)&&typeof i.getReader=="function"&&typeof i.pipeThrough=="function"&&typeof i.pipeTo=="function"}s(Nf,"isReadableStream");function Df(i){return i!==null&&typeof i=="object"&&typeof i.size=="number"&&typeof i.arrayBuffer=="function"&&typeof i.stream=="function"}s(Df,"isBlob");function Sf(i){return i!==null&&typeof i.constructor=="function"&&i.constructor.name==="FormData"&&typeof i.append=="function"&&typeof i.getAll=="function"}s(Sf,"isFormData");function If(i){return i!==null&&typeof i=="object"&&typeof i.host=="string"&&typeof i.href=="string"}s(If,"isURL");import{omitUndefined as ja}from"@jsopen/objects";import La from"@browsery/i18next";import{splitString as va,tokenize as Os}from"fast-tokenizer";var Ia=/\\(.)/g,Ma=/(\\)/g;function _s(i){return i.replace(Ma,"\\\\")}s(_s,"escapeString");function xs(i){return i.replace(Ia,"$1")}s(xs,"unescapeString");var Pa=Object.getPrototypeOf(La.createInstance()).constructor,$t=class $t extends Pa{async init(e,t){let r=typeof e=="object"?e:{},o=typeof e=="function"?e:t;try{let n=await super.init(r,o),a=this.services.formatter;if(a.add("lowercase",(p,c)=>p.toLocaleLowerCase(c)),a.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),a.add("upperFirst",(p,c)=>p.charAt(0).toLocaleUpperCase(c)+p.substring(1)),r!=null&&r.resources)for(let p of Object.keys(r.resources)){let c=r.resources[p];for(let l of Object.keys(c))this.addResourceBundle(p,l,c[l],!1,!0)}return o&&o(null,n),n}catch(n){throw o&&o(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new $t(e,t)}static createInstance(e,t){return new $t(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let o="";for(let n of Os(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let a=va(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=xs(n.substring((a[0]||"").length+1));n=a[0]||"";let c=[],l=null;for(let d of Os(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(d.startsWith("{")){l=JSON.parse(d);continue}c.push(d)}let _=c.length>1?"$t("+c.join(",")+")":c[0];o+=p?this.t(_,p,{...r,...l}):this.t(_,{...r,...l});continue}o+=n}return o}if(Array.isArray(e)){let o=Array(e.length);t.set(e,o);for(let n=0,a=e.length;n<a;n++)o[n]=this._deepTranslate(e[n],t,r);return t.delete(e),o}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let o={};t.set(e,o);let n=Object.keys(e);for(let a=0,p=n.length;a<p;a++){let c=n[a];o[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),o}return e}static get defaultInstance(){return Fa}};s($t,"I18n");var Bt=$t,Fa=Bt.createInstance();var ka=/(\))/g;function R(i,e,t){let r=e&&typeof e=="object"?e:void 0,o=typeof e=="string"?e:t;return"$t("+i+(r?","+JSON.stringify(r):"")+(o?"?"+_s(o).replace(ka,"\\$1"):"")+")"}s(R,"translate");var ai=Bt.createInstance();ai.init().catch(()=>{});var pi=class pi extends Error{constructor(e,t){super("Unknown error"),this.severity="error",t=t||(e instanceof Error?e:void 0),e instanceof Error&&(t=e),t&&t instanceof Error&&(this.cause=t,t.stack&&(this.stack=t.stack)),typeof e=="string"?this.initString(e):e instanceof Error?this.initError(e):this.init(e),this.message=this.message||this.constructor.name}toString(){return ai.deep(this.message)}toJSON(){var t;let e="production";return ja({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:e==="dev"||e==="development"||e==="test"?(t=this.stack)==null?void 0:t.split(`
|
|
7
|
-
`):void 0},!0)}init(e){this.message=(e==null?void 0:e.message)||this.constructor.name,this.severity=(e==null?void 0:e.severity)||"error",e&&(this.system=e.system,this.code=e.code,this.details=e.details)}initString(e){this.init({message:String(e||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(e){this.init({message:e.message,severity:e.severity||"error",code:e.code||e.constructor.name})}};s(pi,"OpraException");var Te=pi;var ci=class ci extends Te{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};s(ci,"OpraDocumentError");var et=ci;var li=class li{constructor(e){this.path="",this.error=new et,this.showErrorDetails=!0,this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message=""}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(o){o!==this.error&&this.addError(o)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(o){o!==this.error&&this.addError(o)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};s(li,"DocumentInitContext");var pe=li;import"reflect-metadata";import{omitUndefined as gs}from"@jsopen/objects";import{asMutable as Ya}from"ts-gems";import{omit as Ca}from"@jsopen/objects";function fi(i){return function(e){var o;let t;if(!(i!=null&&i.embedded))if(i!=null&&i.name){if(!j.test(i.name))throw new TypeError(`"${i.name}" is not a valid type name`);t=i.name}else t=((o=e.name.match(ar))==null?void 0:o[1])||e.name;let r=Reflect.getOwnMetadata(T,e);r||(r={},Reflect.defineMetadata(T,r,e)),r.kind=m.ComplexType.Kind,r.name=t,i&&Object.assign(r,Ca(i,["name"]))}}s(fi,"ComplexTypeDecorator");import{omitUndefined as Ja}from"@jsopen/objects";import{asMutable as Wa}from"ts-gems";import{asMutable as Ua}from"ts-gems";import{uid as qa}from"uid";var ui=class ui{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Re])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e){var r;let t=(r=this[F])==null?void 0:r.has(e);return t||(this.parent?this.parent.hasDataType(e):!1)}findDataType(e){var r;let t=(r=this[F])==null?void 0:r.get(e);return t||(this.parent?this.parent.findDataType(e):void 0)}getDataType(e){let t=this.findDataType(e);if(t)return t;let r="";if(typeof e=="function")r=Reflect.getMetadata(T,e).name;else if(typeof e=="object"){let o=e[T];r=o==null?void 0:o.name}throw r||(e&&typeof e=="string"?r=e:typeof e=="function"&&(r=e.name)),new TypeError("Unknown data type"+(r?" ("+r+")":""))}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getComplexType(e){let t=this.getDataType(e);if(t.kind===m.ComplexType.Kind)return t;throw new TypeError(`Data type "${t.name}" is not a ComplexType`)}getSimpleType(e){let t=this.getDataType(e);if(t.kind===m.SimpleType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a SimpleType`)}getEnumType(e){let t=this.getDataType(e);if(t.kind===m.EnumType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a EnumType`)}getMappedType(e){let t=this.getDataType(e);if(t.kind===m.MappedType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a MappedType`)}getMixinType(e){let t=this.getDataType(e);if(t.kind===m.MixinType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a MixinType`)}};s(ui,"DocumentNode");var ur=ui;var g=s(function(i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Ua(this);e.id=qa(16),Object.defineProperty(e,"node",{value:new ur(this,i==null?void 0:i.node),enumerable:!1,writable:!0}),i&&Object.defineProperty(e,"owner",{value:i,enumerable:!1,writable:!0})},"DocumentElement"),di=class di{};s(di,"DocumentElementClass");var mi=di;g.prototype=mi.prototype;function hi(i){return function(e,t){if(typeof t!="string")throw new TypeError("Symbol properties can't be used as a field");let r=Reflect.getOwnMetadata(T,e.constructor)||{};r.kind=m.ComplexType.Kind,r.fields=r.fields||{};let o=Reflect.getMetadata("design:type",e,t),n=r.fields[t]={...i};o===Array?n.isArray=!0:n.type=n.type||o,Reflect.defineMetadata(T,r,e.constructor)}}s(hi,"ApiFieldDecorator");import{asMutable as Va}from"ts-gems";import{validator as Ka,vg as ie}from"valgen";import{omitUndefined as $a}from"@jsopen/objects";import{asMutable as Ba}from"ts-gems";var tt=Symbol.for("nodejs.util.inspect.custom"),Pe="\x1B[0m",rt="\x1B[33m",it="\x1B[35m";var O=s(function(i,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!j.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);g.call(this,i);let r=Ba(this);r.kind=e.kind,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),Ti=class Ti extends g{get embedded(){return!this.name}toJSON(){return $a({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[tt](){return`[${rt+Object.getPrototypeOf(this).constructor.name+Pe} ${it+this.name+Pe}]`}};s(Ti,"DataTypeClass");var yi=Ti;O.prototype=yi.prototype;var za=/^([+-])?([a-z$_][\w.]*)$/i,S=s(function(...i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;O.call(this,e,t,r);let o=Va(this);o.fields=new N},"ComplexTypeBase"),_i=class _i extends O{findField(e){if(e.includes(".")){let r=this.parseFieldPath(e).pop();return r==null?void 0:r.field}return this.fields.get(e)}getField(e){let t=this.findField(e);if(!t)throw new Error(R("error:UNKNOWN_FIELD",{field:e}));return t}parseFieldPath(e,t){var d,$,ps;let r=this,o,n=e.split("."),a=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,_=s(()=>p.map(Me=>Me.fieldName).join("."),"getStrPath");for(let Me=0;Me<a;Me++){let z={fieldName:n[Me],dataType:c};p.push(z);let sr=za.exec(n[Me]);if(!sr)throw new TypeError(`Invalid field name (${_()})`);if(sr[1]&&((Me===0&&l==="first"||l==="each")&&(z.sign=sr[1]),z.fieldName=sr[2]),r){if(r instanceof S){if(o=r.fields.get(z.fieldName),o){z.fieldName=o.name,z.field=o,z.dataType=o.type,r=o.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){z.additionalField=!0,z.dataType=c,r=void 0;continue}if((($=r.additionalFields)==null?void 0:$[0])==="type"&&((ps=r.additionalFields)==null?void 0:ps[1])instanceof O){z.additionalField=!0,z.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(Zr=>Zr.fieldName).join(".")})`)}throw new TypeError(`"${p.map(Zr=>Zr.fieldName).join(".")}" field is not a complex type and has no child fields`)}z.additionalField=!0,z.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){let r=Array.isArray(t==null?void 0:t.projection)?Ts(t.projection):t==null?void 0:t.projection,o=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof O)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let a=n[1];n=Ka((p,c,l)=>c.fail(l,a,p))}return ie.isObject(o,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail})}_generateSchema(e,t){var c;let r={},{currentPath:o,projection:n}=t,a=!!(n&&Object.values(n).find(l=>!l.sign)),p;for(let l of this.fields.values()){if(t.ignoreReadonlyFields&&l.readonly||t.ignoreWriteonlyFields&&l.writeonly||t.ignoreHiddenFields&&l.hidden){r[l.name]=ie.isUndefined({coerce:!0});continue}p=l.name;let _;if(n!=="*"&&(_=n==null?void 0:n[p.toLowerCase()],(_==null?void 0:_.sign)==="-"||a&&!_||!a&&l.exclusive&&!_)){r[l.name]=ie.isUndefined({coerce:!0});continue}let d=this._generateFieldCodec(e,l,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,currentPath:o+(o?".":"")+p});r[p]=t.partial||!l.required?ie.optional(d):ie.required(d)}return t.allowPatchOperators&&(r._$pull=ie.optional(ie.isAny()),r._$push=ie.optional(ie.isAny())),r}_generateFieldCodec(e,t,r){let o=t.type.generateCodec(e,r);return t.fixed&&(o=ie.isEnum([t.fixed])),t.isArray&&(o=ie.isArray(o)),o}};s(_i,"ComplexTypeBaseClass");var Ei=_i;S.prototype=Ei.prototype;var P=s(function(...i){if(!this){let[n]=i;return P[w](n)}let[e,t]=i;g.call(this,e);let r=Wa(this);r.name=t.name;let o=t.origin||e;if(!(o instanceof S))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=o,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.hidden=t.hidden},"ApiField"),Oi=class Oi extends g{toJSON(){var t;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Ja({type:e||((t=this.type)==null?void 0:t.toJSON()),description:this.description,isArray:this.isArray||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}};s(Oi,"ApiFieldClass");var xi=Oi;P.prototype=xi.prototype;Object.assign(P,hi);P[w]=hi;var Q=s(function(...i){var n;if(!this)return Q[w].apply(void 0,i);let[e,t]=i,r=i[2]||new pe({maxErrors:0});S.call(this,e,t,r);let o=Ya(this);o.kind=m.ComplexType.Kind,t.base&&r.enter(".base",()=>{if(!(t.base instanceof S))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.additionalFields=o.base.additionalFields,o.keyField=o.base.keyField;for(let a of o.base.fields.values())this.fields.set(a.name,new P(this,a))}),t.additionalFields!==void 0&&(o.additionalFields=t.additionalFields),t.keyField!==void 0&&(o.keyField=t.keyField),o.ctor=t.ctor||((n=o.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[a,p]of Object.entries(t.fields)){let c=new P(this,{...p,name:a});this.fields.set(c.name,c)}})},"ComplexType"),Ri=class Ri extends S{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof S?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,t=gs({...S.prototype.toJSON.call(this),kind:this.kind,base:this.base?e||this.base.toJSON():void 0});if(this.additionalFields)if(this.additionalFields instanceof O){let r=this.node.getDataTypeNameWithNs(this.additionalFields);t.additionalFields=r||this.additionalFields.toJSON()}else t.additionalFields=this.additionalFields;if(this.fields.size){let r={},o=0;for(let n of this.fields.values())n.origin===this&&(r[n.name]=n.toJSON(),o++);o&&(t.fields=r)}return gs(t)}};s(Ri,"ComplexTypeClass");var gi=Ri;Q.prototype=gi.prototype;Object.assign(Q,fi);Q[w]=fi;import"reflect-metadata";import{omitUndefined as wi}from"@jsopen/objects";import{asMutable as Ga}from"ts-gems";import{vg as Qa}from"valgen";var ce=s(function(...i){if(!this)return ce[w].apply(void 0,i);let[e,t,r]=i;O.call(this,e,t,r);let o=Ga(this);if(o.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof ce))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${o.kind}"`);o.base=t.base}o.instance=t.instance,o.ownAttributes=L(t.attributes||{}),o.attributes=o.base?L(o.base.attributes):{};for(let[n,a]of Object.entries(o.ownAttributes))o.attributes[n]=a},"EnumType"),Ai=class Ai extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof ce?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Qa.isEnum(Object.keys(this.attributes))}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return wi({...O.prototype.toJSON.call(this),base:this.base?e||this.base.toJSON():void 0,attributes:L(this.ownAttributes)})}};s(Ai,"EnumTypeClass");var Vt=Ai;ce.prototype=Vt.prototype;Object.assign(ce,Vt);function Xa(i,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],o={},n=i;if(Array.isArray(i)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...i]}o={},i.forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];o[p]=wi({description:c})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...i}}Object.keys(i).forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];o[i[p]]=wi({alias:p,description:c})})}let a={kind:m.EnumType.Kind,attributes:o,base:r.base,name:r.name,description:r==null?void 0:r.description};return Object.defineProperty(i,T,{value:a,enumerable:!1,configurable:!0,writable:!0}),n}s(Xa,"EnumTypeFactory");ce.prototype=Vt.prototype;ce[w]=Xa;import"reflect-metadata";import{omitUndefined as Za}from"@jsopen/objects";import{asMutable as Ha}from"ts-gems";function mr(i,e){let t=i==null?void 0:i.map(o=>String(o).toLowerCase()),r=e==null?void 0:e.map(o=>String(o).toLowerCase());return o=>r&&r.includes(o.toLowerCase())?!1:t?t.includes(o.toLowerCase()):!0}s(mr,"getIsInheritedPredicateFn");var Fe=s(function(...i){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;S.call(this,e,t,r);let o=Ha(this);if(o.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof S))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.ctor=t.ctor||o.base.ctor,t.pick?o.pick=t.pick.map(l=>o.base.normalizeFieldPath(l)):t.omit?o.omit=t.omit.map(l=>o.base.normalizeFieldPath(l)):t.partial?o.partial=Array.isArray(t.partial)?t.partial.map(l=>o.base.normalizeFieldPath(l)):t.partial:t.required&&(o.required=Array.isArray(t.required)?t.required.map(l=>o.base.normalizeFieldPath(l)):t.required);let a=mr(o.pick,o.omit),p=Array.isArray(o.partial)?o.partial.map(l=>l.toLowerCase()):o.partial,c=Array.isArray(o.required)?o.required.map(l=>l.toLowerCase()):o.required;for(let[l,_]of o.base.fields.entries()){if(!a(l))continue;let d={..._};p===!0||Array.isArray(p)&&p.includes(_.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(_.name.toLowerCase()))&&(d.required=!0);let $=new P(this,d);o.fields.set($.name,$)}(!o.pick||o.base.additionalFields===!1||Array.isArray(o.base.additionalFields)&&((n=o.base.additionalFields)==null?void 0:n[0])==="error")&&(o.additionalFields=o.base.additionalFields),t.base.keyField&&a(t.base.keyField)&&(o.keyField=t.base.keyField)}},"MappedType"),Ni=class Ni extends S{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof S?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Za({...S.prototype.toJSON.call(this),base:e||this.base.toJSON(),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required})}};s(Ni,"MappedTypeClass");var bi=Ni;Fe.prototype=bi.prototype;Fe._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as ep}from"@jsopen/objects";import{asMutable as tp}from"ts-gems";var ot=s(function(...i){if(!this)return ot[w].apply(void 0,i);let[e,t,r]=i;S.call(this,e,t,r);let o=tp(this);o.kind=m.MixinType.Kind,o.types=[];for(let n of t.types){o.additionalFields!==!0&&(n.additionalFields===!0?o.additionalFields=!0:o.additionalFields||(o.additionalFields=n.additionalFields));for(let a of n.fields.values()){let p=new P(this,a);o.fields.set(p.name,p)}o.types.push(n),n.keyField&&(o.keyField=n.keyField)}},"MixinType"),Si=class Si extends S{extendsFrom(e){if(e instanceof O||(e=this.node.getDataType(e)),!(e instanceof S))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(){return ep({...S.prototype.toJSON.call(this),kind:this.kind,types:this.types.map(e=>{let t=this.node.getDataTypeNameWithNs(e);return t||e.toJSON()})})}};s(Si,"MixinTypeClass");var Di=Si;ot.prototype=Di.prototype;ot[w]=rp;function rp(...i){let e=i.filter(a=>typeof a=="function"),t=typeof i[i.length-1]=="object"?i[i.length-1]:void 0;if(!e.length)throw new TypeError("No Class has been provided");if(e.length===1)return e[0];let r=e[0].name+"Mixin",o={[r]:class{constructor(){for(let a of e)lr(this,a)}}}[r],n={...t,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(T,n,o);for(let a of e){let p=Reflect.getMetadata(T,a);if(!(p&&(p.kind===m.ComplexType.Kind||p.kind===m.MixinType.Kind||p.kind===m.MappedType.Kind)))throw new TypeError(`Class "${a.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);n.types.push(a),cr(o.prototype,a.prototype)}return o}s(rp,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as Mi}from"@jsopen/objects";import{asMutable as ip}from"ts-gems";import{isAny as ws}from"valgen";function Ii(i){let e=[],t=s(function(r){var a;let o;if(!(i!=null&&i.embedded))if(i!=null&&i.name){if(!j.test(i.name))throw new TypeError(`"${i.name}" is not a valid type name`);o=i.name}else o=((a=r.name.match(ar))==null?void 0:a[1])||r.name,o=o.toLowerCase();let n=Reflect.getOwnMetadata(T,r)||{};i&&Object.assign(n,i),n.kind=m.SimpleType.Kind,n.name=o,Reflect.defineMetadata(T,n,r)},"decorator");return t.Example=(r,o)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:o,value:r})}),t),t}s(Ii,"SimpleTypeDecoratorFactory");function Rs(i){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(T,e.constructor)||{},o=Reflect.getMetadata("design:type",e,t),n="string";o===Boolean?n="boolean":o===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(i==null?void 0:i.format)||n,description:i==null?void 0:i.description,deprecated:i==null?void 0:i.deprecated},Reflect.defineMetadata(T,r,e.constructor)}}s(Rs,"AttributeDecoratorFactory");var u=s(function(...i){var n,a;if(!this)return u[w](...i);let[e,t,r]=i;O.call(this,e,t,r);let o=ip(this);if(o.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base}if(o.properties=t.properties,o.ownNameMappings={...t.nameMappings},o.nameMappings={...(n=o.base)==null?void 0:n.nameMappings,...t.nameMappings},o.ownAttributes=L(t.attributes||{}),o.attributes=o.base?L(o.base.attributes):{},o.ownAttributes)for(let[p,c]of Object.entries(o.ownAttributes)){if((a=o.attributes[p])!=null&&a.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);o.attributes[p]=c}o._generateDecoder=t.generateDecoder,o._generateEncoder=t.generateEncoder},"SimpleType"),vi=class vi extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let o={...this.properties,...r};if(e==="decode"){let a=this;for(;a;){if(a._generateDecoder)return a._generateDecoder(o,(t==null?void 0:t.documentElement)||this.owner);a=this.base}return ws}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(o,(t==null?void 0:t.documentElement)||this.owner);n=this.base}return ws}toJSON(){let e=Mi(this.ownAttributes),t;this.properties&&typeof this.properties.toJSON=="function"?t=this.properties.toJSON(this.properties,this.owner):t=this.properties?L(this.properties):{};let r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,o=Mi({...O.prototype.toJSON.apply(this),base:this.base?r||this.base.toJSON():void 0,attributes:e&&Object.keys(e).length?e:void 0,properties:Object.keys(t).length?t:void 0});return Object.keys(this.ownNameMappings).length&&(o.nameMappings={...this.ownNameMappings}),Mi(o,!0)}};s(vi,"SimpleTypeClass");var Li=vi;u.prototype=Li.prototype;Object.assign(u,Ii);u[w]=Ii;u.Attribute=Rs;var Pi=Symbol("initializing"),dr=class dr{static async createDataType(e,t,r){e=e||new pe({maxErrors:0});let o=await this._importDataTypeArgs(e,t,r);if(o)return typeof o=="string"?t.node.getDataType(o):this._createDataType(e,t,o)}static async resolveDataType(e,t,r){if(r){let o=t.node.findDataType(r);if(o)return o}if(typeof r=="object"||typeof r=="function"){let o=await dr.createDataType(e,t,r);if(o)return o}if(r){let o=t.node.getDataType(r);if(o)return o}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let o=t.node[F];if(!o)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let a of n)a!=null&&a.name&&o.set(a.name,a)}static async createAllDataTypes(e,t,r){e=e||new pe({maxErrors:0});let o=await this._prepareAllInitArgs(e,t,r);if(!o)return;let n=new N;for(let c of o)n.set(c.name,c);let a=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let _=this._createDataType(a,t,l);_&&p.push(_)});return p}static async _prepareAllInitArgs(e,t,r){let o=new N,n=new N,a=e.extend({owner:t,importQueue:o,initArgsMap:n});if(!t.node[F])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let p=0;for(let c of r)await a.enterAsync(`$[${p++}]`,async()=>{c=await se(c);let l=Reflect.getMetadata(T,c)||c[T];if(!(l&&l.name))return typeof c=="function"?a.addError(`Class "${c.name}" doesn't have a valid data type metadata`):a.addError("Object doesn't have a valid data type metadata");o.set(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await se(p),o.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(o.keys())){if(!o.has(p))continue;let c=await this._importDataTypeArgs(a,t,p);c&&typeof c!="string"&&a.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r){var _;r=await se(r);let{importQueue:o,initArgsMap:n}=e,a=t.node.findDataType(r);if(a instanceof O)return a.name;let p,c,l;if(typeof r!="string"){let $=t.node.getDocument().types[pr].get(r);$&&(r=$)}if(typeof r=="string"){let d=r;if(r=(o==null?void 0:o.get(d))||((_=e.initArgsMap)==null?void 0:_.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(T,r),!p)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);c=r}else if(typeof r=="object"){if(p=r[T],p)l=r,p.kind!==m.EnumType.Kind&&(p=void 0);else if(m.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(T,c),p&&p.kind===m.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let $=n==null?void 0:n.get(p.name);if($)return $[Pi]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[Pi]=!0;try{if(d.name)if(o!=null&&o.has(d.name))n==null||n.set(p.name,d),d._instance={name:p.name},d[F]=t.node[F];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case m.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case m.EnumType.Kind:d.instance=l,await this._prepareEnumTypeArgs(e,t,d,p);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case m.SimpleType.Kind:d.ctor=c,await this._prepareSimpleTypeArgs(e,t,d,p);break;default:return e.addError(`Invalid data type kind ${p.kind}`)}}finally{d.name&&(o==null||o.delete(d.name)),delete d[Pi]}return o&&d.name?d.name:d}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples}static async _prepareComplexTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),r.keyField=o.keyField,await e.enterAsync(".base",async()=>{let n;if(o.base)n=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let a=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(T,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=ke(n),r.ctor=r.ctor||n.ctor)}),o.additionalFields!=null&&(typeof o.additionalFields=="boolean"||Array.isArray(o.additionalFields)?r.additionalFields=o.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,o.additionalFields);n&&(r.additionalFields=ke(n))})),o.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,a]of Object.entries(o.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof a=="string"?{type:a}:a;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:ke(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),o.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,o.base);n&&(r.base=ke(n))}),r.attributes=L(o.attributes)}static async _prepareSimpleTypeArgs(e,t,r,o){var n,a,p,c;await this._prepareDataTypeArgs(e,r,o),await e.enterAsync(".base",async()=>{let l;if(o.base)l=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let _=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(T,_)&&(l=await this._importDataTypeArgs(e,t,_))}l&&(r.base=ke(l),r.ctor=r.ctor||l.ctor)}),r.properties=o.properties,r.nameMappings=o.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),o.attributes&&(r.attributes=L(o.attributes)),typeof((n=r.properties)==null?void 0:n[y])=="function"&&(r.generateDecoder=(a=r.properties)==null?void 0:a[y].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[x])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[x].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),await e.enterAsync(".base",async()=>{let n;if(o.base)n=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let a=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(T,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=ke(n),r.ctor=r.ctor||n.ctor)}),o.pick?r.pick=[...o.pick]:o.omit?r.omit=[...o.omit]:o.partial?r.partial=Array.isArray(o.partial)?[...o.partial]:o.partial:o.required&&(r.required=Array.isArray(o.required)?[...o.required]:o.required)}static async _prepareMixinTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),r.types=[],await e.enterAsync(".types",async()=>{let n=o.types,a=0;for(let p of n)await e.enterAsync(`[${a++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(ke(c))})})}static _createDataType(e,t,r){var a;let o=t.node.findDataType(typeof r=="string"?r:r.name||"");if(o instanceof O)return o;let n=typeof r=="string"?(a=e.initArgsMap)==null?void 0:a.get(r):r;if(n){let p=n[F];switch(p||delete n._instance,o=n._instance,o!=null&&o.name&&p&&p.set(o.name,o),n==null?void 0:n.kind){case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,Q.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[a,p]of Object.entries(r.fields))e.enter(`[${a}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[a]={...p,name:a,type:c})})}),Q.apply(o,[t,n]),o}static _createEnumType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,ce.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,ce.apply(o,[t,n]),o}static _createMappedType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,Fe.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),Fe.apply(o,[t,n]),o}static _createMixinType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,ot.prototype);let n=L(r);return r.types&&e.enter(".types",()=>{n.types=[];let a=0;for(let p of r.types)e.enter(`[${a++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof S))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),ot.apply(o,[t,n]),o}static _createSimpleType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,u.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(o,[t,n]),o}};s(dr,"DataTypeFactory");var I=dr;function ke(i){return typeof i=="object"&&i.name?i.name:i}s(ke,"preferName");import{isConstructor as Np}from"@jsopen/objects";import{omitUndefined as np}from"@jsopen/objects";var Fi=class Fi extends g{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(){return np({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!j.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};s(Fi,"ApiBase");var nt=Fi;import pp from"path-browserify";import{omitUndefined as cp}from"@jsopen/objects";import{asMutable as lp}from"ts-gems";var As,bs,X=Symbol.for("kMap"),Kt=Symbol.for("kCtorMap"),ki=class ki{constructor(){this[As]=new N,this[bs]=new WeakMap}get size(){return this[X].size}forEach(e,t){this[X].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Kt].get(e);if(!t&&typeof e=="function"){let o=Reflect.getMetadata(T,e);t=o==null?void 0:o.name}if(!t&&typeof e=="object"){let o=e[T];t=o==null?void 0:o.name}if(!t)return;let r=this[X].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[X].set(e,t),t.ctor?this[Kt].set(t.ctor,e):t.instance&&this[Kt].set(t.instance,e)}has(e){if(e instanceof O)return!!e.name&&this[X].has(e.name);let t=typeof e=="string"?e:this[Kt].get(e);return t?this[X].has(t):!1}keys(){return this[X].keys()}values(){return this[X].values()}entries(){return this[X].entries()}sort(e){return this[X].sort(e),this}[(As=X,bs=Kt,Symbol.iterator)](){return this[X][Symbol.iterator]()}};s(ki,"DataTypeMap");var Z=ki;import{merge as ji,omit as sp}from"@jsopen/objects";var ap=/^(.*)(Controller)$/;function Ci(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=ap.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(te,Object.getPrototypeOf(r));a&&ji(n,a,{deep:!0});let p=Reflect.getOwnMetadata(te,r);p&&ji(n,p,{deep:!0}),ji(n,{kind:m.HttpController.Kind,name:o,path:o,...sp(i,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(te,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(te,n,r)},"decorator");return t.Cookie=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"cookie",type:o}:{...o,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.Header=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"header",type:o}:{...o,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.QueryParam=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"query",type:o}:{...o,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.PathParam=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o}:{...o,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.KeyParam=(r,o)=>(e.push(n=>{var p;(p=n.path)!=null&&p.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o,keyParam:!0}:{...o,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.UseType=(...r)=>(e.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),t}s(Ci,"HttpControllerDecoratorFactory");var H=s(function(...i){var o;if(!this)return H[w].apply(void 0,i);let[e,t]=i;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=lp(this);r.kind=m.HttpController.Kind,r.types=r.node[F]=new Z,r.operations=new N,r.controllers=new N,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(o=r._initialize)==null||o.call(r,t)},"HttpController"),qi=class qi extends g{get isRoot(){return!(this.owner instanceof H)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),o;for(o of this.parameters)if(!(t&&t!==o.location)&&(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e)))return o;if(this.node.parent&&this.node.parent.element instanceof H)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return pp.posix.join(this.owner instanceof H?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(){let e=cp({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.controllers.size){e.controllers={};for(let t of this.controllers.values())e.controllers[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.parameters.length){e.parameters=[];for(let t of this.parameters)e.parameters.push(t.toJSON())}return e}[tt](){return`[${rt}HttpController${it+this.name+Pe}]`}};s(qi,"HttpControllerClass");var Ui=qi;H.prototype=Ui.prototype;Object.assign(H,Ci);H[w]=Ci;var $i=class $i extends nt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new N,this.url=e.url}findController(e){return H.prototype.findController.call(this,e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};s($i,"HttpApi");var st=$i;import fp from"@browsery/type-is";import{omitUndefined as up}from"@jsopen/objects";import{asMutable as mp}from"ts-gems";import{isAny as dp,vg as hp}from"valgen";var we=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');g.call(this,i);let t=mp(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(o=>o.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof O?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Vi=class Vi extends g{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(){var r,o;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,t=up({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:e||((r=this.type)==null?void 0:r.toJSON()),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(o=this.multipartFields)!=null&&o.length&&(t.multipartFields=this.multipartFields.map(n=>n.toJSON())),t}generateCodec(e,t){let r;return this.type?r=this.type.generateCodec(e,t):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(n=>fp.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||dp,this.isArray?hp.isArray(r):r}};s(Vi,"HttpMediaTypeClass");var Bi=Vi;we.prototype=Bi.prototype;import{omitUndefined as yp}from"@jsopen/objects";function at(i,e){let t=i.lastIndexOf("/");if(i.startsWith("/")&&t){let r=i.substring(1,t),o=i.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)o.includes(n)||(o+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)o.replace(n,"");return new RegExp(r,o)}throw new TypeError(`"${i}" is not a valid RegExp string`)}s(at,"parseRegExp");var Ki=class Ki extends we{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?at(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(){return yp({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON()})}};s(Ki,"HttpMultipartField");var hr=Ki;import Tp from"path-browserify";import{omitUndefined as Ep}from"@jsopen/objects";import{asMutable as _p}from"ts-gems";var Ns;(function(i){i.X_Opra_Version="X-Opra-Version",i.X_Total_Count="X-Total-Count",i.WWW_Authenticate="WWW-Authenticate",i.Authorization="Authorization",i.Proxy_Authenticate="Proxy-Authenticate",i.Proxy_Authorization="Proxy-Authorization",i.Age="Age",i.Cache_Control="Cache-Control",i.Clear_Site_Data="Clear-Site-Data",i.Expires="Expires",i.Pragma="Pragma",i.Last_Modified="Last-Modified",i.ETag="ETag",i.If_Match="If-Match",i.If_None_Match="If-None-Match",i.If_Modified_Since="If-Modified-Since",i.If_Unmodified_Since="If-Unmodified-Since",i.Vary="Vary",i.Connection="Connection",i.Keep_Alive="Keep-Alive",i.Accept="Accept",i.Accept_Encoding="Accept-Encoding",i.Accept_Language="Accept-Language",i.Expect="Expect",i.Cookie="Cookie",i.Set_Cookie="Set-Cookie",i.Access_Control_Allow_Origin="Access-Control-Allow-Origin",i.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",i.Access_Control_Allow_Headers="Access-Control-Allow-Headers",i.Access_Control_Allow_Methods="Access-Control-Allow-Methods",i.Access_Control_Expose_Headers="Access-Control-Expose-Headers",i.Access_Control_Max_Age="Access-Control-Max-Age",i.Access_Control_Request_Headers="Access-Control-Request-Headers",i.Access_Control_Request_Method="Access-Control-Request-Method",i.Origin="Origin",i.Timing_Allow_Origin="Timing-Allow-Origin",i.Content_Disposition="Content-Disposition",i.Content_ID="Content-ID",i.Content_Length="Content-Length",i.Content_Type="Content-Type",i.Content_Transfer_Encoding="Content-Transfer-Encoding",i.Content_Encoding="Content-Encoding",i.Content_Language="Content-Language",i.Content_Location="Content-Location",i.Forwarded="Forwarded",i.X_Forwarded_For="X-Forwarded-For",i.X_Forwarded_Host="X-Forwarded-Host",i.X_Forwarded_Proto="X-Forwarded-Proto",i.Via="Via",i.Location="Location",i.From="From",i.Host="Host",i.Referer="Referer",i.Referrer_Policy="Referrer-Policy",i.User_Agent="User-Agent",i.Allow="Allow",i.Server="Server",i.Accept_Ranges="Accept-Ranges",i.Range="Range",i.If_Range="If-Range",i.Content_Range="Content-Range",i.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",i.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",i.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",i.Content_Security_Policy="Content-Security-Policy",i.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",i.Expect_CT="Expect-CT",i.Feature_Policy="Feature-Policy",i.Strict_Transport_Security="Strict-Transport-Security",i.Upgrade="Upgrade",i.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",i.X_Content_Type_Options="X-Content-Type-Options",i.X_Download_Options="X-Download-Options",i.X_Frame_Options="X-Frame-Options",i.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",i.X_Powered_By="X-Powered-By",i.X_XSS_Protection="X-XSS-Protection",i.Transfer_Encoding="Transfer-Encoding",i.TE="TE",i.Trailer="Trailer",i.Sec_WebSocket_Key="Sec-WebSocket-Key",i.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",i.Sec_WebSocket_Accept="Sec-WebSocket-Accept",i.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",i.Sec_WebSocket_Version="Sec-WebSocket-Version",i.Date="Date",i.Retry_After="Retry-After",i.Server_Timing="Server-Timing",i.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",i.Max_Forwards="Max-Forwards"})(Ns||(Ns={}));var A;(function(i){i[i.CONTINUE=100]="CONTINUE",i[i.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",i[i.PROCESSING=102]="PROCESSING",i[i.EARLYHINTS=103]="EARLYHINTS",i[i.OK=200]="OK",i[i.CREATED=201]="CREATED",i[i.ACCEPTED=202]="ACCEPTED",i[i.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",i[i.NO_CONTENT=204]="NO_CONTENT",i[i.RESET_CONTENT=205]="RESET_CONTENT",i[i.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",i[i.AMBIGUOUS=300]="AMBIGUOUS",i[i.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",i[i.FOUND=302]="FOUND",i[i.SEE_OTHER=303]="SEE_OTHER",i[i.NOT_MODIFIED=304]="NOT_MODIFIED",i[i.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",i[i.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",i[i.BAD_REQUEST=400]="BAD_REQUEST",i[i.UNAUTHORIZED=401]="UNAUTHORIZED",i[i.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",i[i.FORBIDDEN=403]="FORBIDDEN",i[i.NOT_FOUND=404]="NOT_FOUND",i[i.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",i[i.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",i[i.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",i[i.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",i[i.CONFLICT=409]="CONFLICT",i[i.GONE=410]="GONE",i[i.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",i[i.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",i[i.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",i[i.URI_TOO_LONG=414]="URI_TOO_LONG",i[i.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",i[i.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",i[i.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",i[i.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",i[i.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",i[i.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",i[i.LOCKED=423]="LOCKED",i[i.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",i[i.TOO_EARLY=425]="TOO_EARLY",i[i.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",i[i.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",i[i.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",i[i.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",i[i.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",i[i.BAD_GATEWAY=502]="BAD_GATEWAY",i[i.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",i[i.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",i[i.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",i[i.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",i[i.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",i[i.LOOP_DETECTED=508]="LOOP_DETECTED",i[i.NOT_EXTENDED=510]="NOT_EXTENDED",i[i.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(A||(A={}));var dh={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var M;(function(i){i.json="application/json",i.opra_response_json="application/opra.response+json",i.xml="application/XML",i.text="text/plain",i.html="text/html",i.markdown="text/markdown",i.binary="binary/octet-stream"})(M||(M={}));function k(i,e){let t=s((r,o)=>{if(typeof o!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},a=Reflect.getOwnMetadata(te,r.constructor)||{};a.operations=a.operations||{},a.operations[o]=n;for(let p of i)p(n);Reflect.defineMetadata(te,a,r.constructor)},"decorator");return t.Cookie=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"cookie",type:o}:{...o,name:r,location:"cookie"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="cookie"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(a)}),t),t.Header=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"header",type:o}:{...o,name:r,location:"header"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="header"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(a)}),t),t.QueryParam=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"query",type:o}:{...o,name:r,location:"query"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="query"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(a)}),t),t.PathParam=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o}:{...o,name:r,location:"path"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="path"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(a)}),t),t.Response=(r,o)=>{let n={...o,statusCode:r};return n.type&&(n.contentType=n.contentType||M.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===M.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),i.push(a=>{a.responses=a.responses||[],a.responses.push(n)}),t},t.RequestContent=function(r){let o=typeof r=="object"?r:{type:r};return o.type&&(o.contentType=o.contentType||M.json,o.contentEncoding=o.contentEncoding||"utf-8"),i.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(o)}),t},t.MultipartContent=function(r,o){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(i.push(a=>{a.requestBody=a.requestBody||{required:!0,content:[]},a.requestBody.content=a.requestBody.content||[],a.requestBody.content.push(n)}),o){let a={Field(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),a},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),a}};o(a)}return t},t.UseType=(...r)=>(i.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),t}s(k,"HttpOperationDecoratorFactory");var D=s(function(...i){if(!this){let[o]=i,n=[];return D[w].call(void 0,n,o)}let[e,t]=i;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=_p(this);r.parameters=[],r.responses=[],r.types=r.node[F]=new Z,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?L(t.compositionOptions):void 0},"HttpOperation"),Ji=class Ji extends g{findParameter(e,t){let r=e.toLowerCase(),o;for(o of this.parameters)if(!(t&&t!==o.location)&&(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e)))return o}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:Tp.posix.join(e,this.path):e:this.path||"/"}toJSON(){var t;let e=Ep({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(t=this.requestBody)==null?void 0:t.toJSON()});if(this.types.size){e.types={};for(let r of this.types.values())e.types[r.name]=r.toJSON()}if(this.parameters.length){e.parameters=[];for(let r of this.parameters)e.parameters.push(r.toJSON())}return this.responses.length&&(e.responses=this.responses.map(r=>r.toJSON())),e}};s(Ji,"HttpOperationClass");var zi=Ji;D.prototype=zi.prototype;D[w]=k;D.GET=function(i){return k([],{...i,method:"GET"})};D.DELETE=function(i){return k([],{...i,method:"DELETE"})};D.HEAD=function(i){return k([],{...i,method:"HEAD"})};D.OPTIONS=function(i){return k([],{...i,method:"OPTIONS"})};D.PATCH=function(i){return k([],{...i,method:"PATCH"})};D.POST=function(i){return k([],{...i,method:"POST"})};D.PUT=function(i){return k([],{...i,method:"PUT"})};D.SEARCH=function(i){return k([],{...i,method:"SEARCH"})};import{omitUndefined as Op}from"@jsopen/objects";var xp=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Wi=class Wi{constructor(e,t){if(this.start=0,this.end=0,e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=xp.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};s(Wi,"HttpStatusRange");var zt=Wi;var Yi=class Yi extends we{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new zt(r.start,r.end):new zt(r)),this.partial=t.partial}findParameter(e,t){e=e.toLowerCase();for(let r of this.parameters)if((!t||t===r.location)&&(r.name instanceof RegExp&&r.name.test(e)||r.name===e))return r}toJSON(){let e=this.statusCode.map(r=>r.toJSON()),t=Op({...super.toJSON(),statusCode:e.length===1&&typeof e[0]=="number"?e[0]:e,partial:this.partial});if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON())}return t}};s(Yi,"HttpOperationResponse");var yr=Yi;import{omitUndefined as wp}from"@jsopen/objects";import{asMutable as Ap}from"ts-gems";import{omitUndefined as gp}from"@jsopen/objects";import{asMutable as Rp}from"ts-gems";var je=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');g.call(this,i);let t=Rp(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Qi=class Qi extends g{toJSON(){let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return gp({type:this.type?e||this.type.toJSON():"any",description:this.description,isArray:this.isArray,examples:this.examples})}};s(Qi,"ValueClass");var Gi=Qi;je.prototype=Gi.prototype;var Jt=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');je.call(this,i,e);let t=Ap(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?at(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam},"HttpParameter"),Zi=class Zi extends je{toJSON(){return wp({...super.toJSON(),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};s(Zi,"HttpParameterClass");var Xi=Zi;Jt.prototype=Xi.prototype;import{omitUndefined as bp}from"@jsopen/objects";var Hi=class Hi extends g{constructor(e){super(e),this.content=[]}toJSON(){return bp({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(e=>e.toJSON()):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};s(Hi,"HttpRequestBody");var Tr=Hi;var eo=class eo{static async createApi(e,t){let r=new st(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let o=0;for(let n of r){let a;await e.enterAsync(`[${o++}]`,async()=>{a=await this._resolveControllerMetadata(e,t,n)}),a&&await e.enterAsync(`[${a.metadata.name}]`,async()=>{let p=await this._createController(e,t,a.metadata,a.instance,a.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${a.name})`),t.controllers.set(p.name,p))})}return}for(let[o,n]of Object.entries(r))await e.enterAsync(`[${o}]`,async()=>{let a=await this._resolveControllerMetadata(e,t,n);if(!a)return;let p=await this._createController(e,t,{...a.metadata,name:o},a.instance,a.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${o})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!Np(r)&&(r=t instanceof H?r(t.instance):r()),r=await se(r);let o,n,a;if(typeof r=="function"){if(n=Reflect.getMetadata(te,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);o=r}else o=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(te,o),n?a=r:(n=r,r.instance==="object"&&(a=r.instance,o=Object.getPrototypeOf(a).constructor));return n?{metadata:n,instance:a,ctor:o}:e.addError(`Class "${o.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,o,n){if(!r.name)throw new TypeError("Controller name required");let a=new H(t,{...r,instance:o,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,a,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let p=0;for(let c of r.parameters)await e.enterAsync(`[${p++}]`,async()=>{let l={...c};await e.enterAsync(".type",async()=>{l.type=await I.resolveDataType(e,a,c.type)});let _=new Jt(a,l);a.parameters.push(_)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let l=new D(a,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),a.operations.set(p,l)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,a,r.controllers)}),a}static async _initHttpOperation(e,t,r){let o={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,o]),r.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let a of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let p={...a};await e.enterAsync(".type",async()=>{p.type=await I.resolveDataType(e,t,a.type)});let c=new Jt(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let a of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new yr(t,{statusCode:a.statusCode});await this._initHttpOperationResponse(e,p,a),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new Tr(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){we.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await I.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let o=0;o<r.multipartFields.length;o++)await e.enterAsync(`[${o}]`,async()=>{let n=r.multipartFields[o],a=new hr(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,a,n),t.multipartFields.push(a)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let o=0;for(let n of r.parameters)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await I.resolveDataType(e,t,n.type)});let p=new Jt(t,a);t.parameters.push(p)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,r.content&&await e.enterAsync(".content",async()=>{for(let o=0;o<r.content.length;o++)await e.enterAsync(`[${o}]`,async()=>{let n=r.content[o],a=new we(t,String(o));await this._initHttpMediaType(e,a,n),t.content.push(a)})})}};s(eo,"HttpApiFactory");var pt=eo;import{omitUndefined as Sp}from"@jsopen/objects";import{md5 as Ip}from"super-fast-md5";var to=class to extends nt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new N,this.platform=e.platform}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};s(to,"RpcApi");var ct=to;var Ds,ro=class ro extends g{constructor(){super(null),this[Ds]=new WeakMap,this.id="",this.info={},this.references=new N,this.types=new Z,this.node[F]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof O?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[Re].get(t)}findDocument(e){if(this.id===e)return this;for(let t of this.references.values()){if(t.id===e)return t;let r=t.findDocument(e);if(r)return r}}get httpApi(){if(!(this.api&&this.api instanceof st))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof ct))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(){let e=Sp({spec:m.SpecVersion,id:this.id,url:this.url,info:L(this.info,!0)});if(this.references.size){let t=0,r={};for(let[o,n]of this.references.entries())n[Le]||(r[o]={id:n.id,url:n.url,info:L(n.info,!0)},t++);t&&(e.references=r)}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return this.api&&(e.api=this.api.toJSON()),e}invalidate(){let e=this.export();delete e.id,this.id=Ip(JSON.stringify(e)),this[Re]=new WeakMap}_findDataType(e,t){let r=this.types.get(e);if(r||!this.references.size)return r;if(typeof e=="string"){let n=fs.exec(e);if(n){let a=n[1];if(a){let p=this.references.get(a);return p?(t=t||new WeakMap,t.set(this,!0),t.set(p,!0),p._findDataType(n[2],t)):void 0}e=n[2]}}t=t||new WeakMap,t.set(this,!0);let o=Array.from(this.references.keys()).reverse();for(let n of o){let a=this.references.get(n);if(r=a==null?void 0:a.types.get(e),r)return this[Re].set(r,a!=null&&a[Le]?"":n),r}for(let n of o){let a=this.references.get(n);if(t.set(a,!0),r=a._findDataType(e,t),r)return this[Re].set(r,a!=null&&a[Le]?"":n),r}}};s(ro,"ApiDocument");var Ce=ro;Ds=Re;import{__decorate as Mp,__metadata as Lp}from"tslib";import{vg as Ss}from"valgen";var lt,Er=(lt=class{constructor(e){e&&Object.assign(this,e)}[y](){return Ss.isBase64({coerce:!0})}[x](){return Ss.isBase64({coerce:!0})}},s(lt,"Base64Type"),lt);Er=Mp([u({description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Lp("design:paramtypes",[Object])],Er);import{__decorate as io,__metadata as oo}from"tslib";import{isDateString as _r,toString as Is,vg as Ae}from"valgen";var ft,ut=(ft=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=Ae.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&(_r(e.minValue),r.push(Is,Ae.isGte(e.minValue))),e.maxValue&&(_r(e.maxValue),r.push(Is,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=Ae.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue&&(_r(e.minValue),r.push(Ae.isGte(e.minValue))),e.maxValue&&(_r(e.maxValue),r.push(Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}},s(ft,"DateType"),ft);io([u.Attribute({description:"Minimum value"}),oo("design:type",String)],ut.prototype,"minValue",void 0);io([u.Attribute({description:"Maximum value"}),oo("design:type",String)],ut.prototype,"maxValue",void 0);ut=io([u({description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),oo("design:paramtypes",[Object])],ut);import{__decorate as no,__metadata as so}from"tslib";import{vg as xr}from"valgen";var mt,dt=(mt=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=xr.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue&&r.push(xr.isGte(e.minValue)),e.maxValue&&r.push(xr.isLte(e.maxValue)),r.length>0?xr.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[y](e)}},s(mt,"DateStringType"),mt);no([u.Attribute({description:"Minimum value"}),so("design:type",String)],dt.prototype,"minValue",void 0);no([u.Attribute({description:"Maximum value"}),so("design:type",String)],dt.prototype,"maxValue",void 0);dt=no([u({description:"Date string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value").Example("2021-04","Date value without day").Example("2021","Year only value"),so("design:paramtypes",[Object])],dt);import{__decorate as ao,__metadata as po}from"tslib";import{isDateString as Or,toString as Ms,vg as be}from"valgen";var ht,yt=(ht=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=be.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&(Or(e.minValue),r.push(Ms,be.isGte(e.minValue))),e.maxValue&&(Or(e.maxValue),r.push(Ms,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=be.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&(Or(e.minValue),r.push(be.isGte(e.minValue))),e.maxValue&&(Or(e.maxValue),r.push(be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}},s(ht,"DateTimeType"),ht);ao([u.Attribute({description:"Minimum value"}),po("design:type",String)],yt.prototype,"minValue",void 0);ao([u.Attribute({description:"Maximum value"}),po("design:type",String)],yt.prototype,"maxValue",void 0);yt=ao([u({description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),po("design:paramtypes",[Object])],yt);import{__decorate as co,__metadata as lo}from"tslib";import{vg as gr}from"valgen";var Tt,Et=(Tt=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=gr.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(gr.isGte(e.minValue)),e.maxValue&&r.push(gr.isLte(e.maxValue)),r.length>0?gr.pipe([t,...r]):t}[x](e){return this[y](e)}},s(Tt,"DateTimeStringType"),Tt);co([u.Attribute({description:"Minimum value"}),lo("design:type",String)],Et.prototype,"minValue",void 0);co([u.Attribute({description:"Maximum value"}),lo("design:type",String)],Et.prototype,"maxValue",void 0);Et=co([u({description:"DateTime string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+01:00","Full date-time value with timezone").Example("2021-04-18T22:30:15","Full date-time value without timezone").Example("2021-04-18 22:30","Date-time value").Example("2021-04-18","Date value").Example("2021-04","Date value without day").Example("2021","Year only value"),lo("design:paramtypes",[Object])],Et);import{__decorate as le,__metadata as fe}from"tslib";import{vg as Ls}from"valgen";var _t,J=(_t=class{constructor(e){e&&Object.assign(this,e)}[y](e){return Ls.isEmail({...e,coerce:!0})}[x](e){return Ls.isEmail({...e,coerce:!0})}},s(_t,"EmailType"),_t);le([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),fe("design:type",Boolean)],J.prototype,"allowDisplayName",void 0);le([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),fe("design:type",Boolean)],J.prototype,"requireDisplayName",void 0);le([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),fe("design:type",Boolean)],J.prototype,"utf8LocalPart",void 0);le([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),fe("design:type",Boolean)],J.prototype,"ignoreMaxLength",void 0);le([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),fe("design:type",Boolean)],J.prototype,"allowIpDomain",void 0);le([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),fe("design:type",Boolean)],J.prototype,"domainSpecificValidation",void 0);le([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),fe("design:type",Array)],J.prototype,"hostBlacklist",void 0);le([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),fe("design:type",Array)],J.prototype,"hostWhitelist",void 0);le([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),fe("design:type",String)],J.prototype,"blacklistedChars",void 0);J=le([u({description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),fe("design:paramtypes",[Object])],J);import{__decorate as fo,__metadata as uo}from"tslib";import{toString as vp,validator as Pp,vg as Fp}from"valgen";var xt,W=(xt=class{constructor(e){e&&Object.assign(this,e)}[y](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.allowSigns,n=Pp("decodeFieldPath",a=>r.normalizeFieldPath(a,{allowSigns:o}));return Fp.pipe([vp,n])}[x](e,t){return this[y](e,t)}toJSON(e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=r?t.node.getDataTypeNameWithNs(r):void 0;return{dataType:o||r.toJSON(),allowSigns:e.allowSigns}}},s(xt,"FieldPathType"),xt);fo([u.Attribute({description:"Data type which field belong to"}),uo("design:type",Object)],W.prototype,"dataType",void 0);fo([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),uo("design:type",String)],W.prototype,"allowSigns",void 0);W=fo([u({description:"Field path",nameMappings:{js:"string",json:"string"}}),uo("design:paramtypes",[Object])],W);import{__decorate as zn,__metadata as Jn}from"tslib";import{validator as Xs}from"valgen";Array.prototype.findLast||(Array.prototype.findLast=function(i,e){let t=this.findLastIndex(i,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(i,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let o=r-1;o>=0;o--)if(i.call(e,t[o],o,t))return o;return-1});import{omitUndefined as ac}from"@jsopen/objects";import{isString as pc}from"valgen";var mo=class mo extends Te{constructor(e,t,r){super(e,t instanceof Error?t:void 0),this.status=(typeof t=="number"?t:Number(r))||500}setStatus(e){return this.status=e,this}initError(e){typeof e.status=="number"?this.status=e.status:typeof e.getStatus=="function"&&(this.status=e.getStatus()),super.initError(e)}};s(mo,"OpraHttpError");var b=mo;var ho=class ho extends b{constructor(){super(...arguments),this.status=400}init(e){super.init({message:R("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};s(ho,"BadRequestError");var vs=ho;var yo=class yo extends b{constructor(){super(...arguments),this.status=409}init(e){super.init({message:R("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};s(yo,"ConflictError");var Ps=yo;var To=class To extends b{constructor(){super(...arguments),this.status=424}init(e){super.init({message:R("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};s(To,"FailedDependencyError");var Fs=To;var Eo=class Eo extends b{constructor(){super(...arguments),this.status=A.FORBIDDEN}init(e){super.init({message:R("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};s(Eo,"ForbiddenError");var Rr=Eo;var _o=class _o extends b{constructor(){super(...arguments),this.status=500}init(e){super.init({message:R("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};s(_o,"InternalServerError");var ks=_o;var xo=class xo extends b{constructor(){super(...arguments),this.status=405}init(e){super.init({message:R("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};s(xo,"MethodNotAllowedError");var js=xo;var Oo=class Oo extends b{constructor(){super(...arguments),this.status=406}init(e){super.init({message:R("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};s(Oo,"NotAcceptableError");var Cs=Oo;var go=class go extends b{constructor(){super(...arguments),this.status=404}init(e){super.init({message:R("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};s(go,"NotFoundError");var Us=go;var Ro=class Ro extends Rr{init(e){super.init({message:R("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};s(Ro,"PermissionError");var qs=Ro;var wo=class wo extends b{constructor(e,t,r){super({message:R("error:RESOURCE_CONFLICT",{resource:e,fields:t},"There is already an other {{resource}} resource with same values ({{fields}})"),severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};s(wo,"ResourceConflictError");var $s=wo;var Ao=class Ao extends b{constructor(e,t,r){super({message:R("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,A.UNPROCESSABLE_ENTITY)}};s(Ao,"ResourceNotAvailableError");var Bs=Ao;var bo=class bo extends b{constructor(){super(...arguments),this.status=401}init(e){super.init({message:R("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};s(bo,"UnauthorizedError");var Vs=bo;var No=class No extends b{constructor(){super(...arguments),this.status=422}init(e){super.init({message:R("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};s(No,"UnprocessableEntityError");var Ks=No;var zs;(function(i){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=i.Enum||(i.Enum={})),i.name="IssueSeverity",i.description="Severity of the issue",i.Keys=Object.keys(i),i.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(zs||(zs={}));var Do=class Do{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};s(Do,"Ast");var Wt=Do;var So=class So extends Wt{};s(So,"Expression");var C=So;var Io=class Io extends C{};s(Io,"Term");var Ue=Io;var Mo=class Mo extends Ue{constructor(e){super(),this.value=e}toString(){return""+this.value}};s(Mo,"Literal");var v=Mo;var Lo=class Lo extends C{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new wr({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};s(Lo,"ArithmeticExpression");var qe=Lo,vo=class vo{constructor(e){Object.assign(this,e)}};s(vo,"ArithmeticExpressionItem");var wr=vo;var Po=class Po extends Ue{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};s(Po,"ArrayExpression");var Ee=Po;var kp=/\w/,Fo=class Fo extends C{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${kp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};s(Fo,"ComparisonExpression");var ue=Fo;var ko=class ko extends C{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};s(ko,"LogicalExpression");var me=ko;var jo=class jo extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(jo,"NegativeExpression");var Yt=jo;var Co=class Co extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(Co,"ParenthesizedExpression");var _e=Co;var Uo=class Uo extends v{constructor(e){super(e)}};s(Uo,"BooleanLiteral");var $e=Uo;import{toDateDef as Bp}from"putil-varhelpers";var qo=class qo extends TypeError{};s(qo,"SyntaxError");var Ar=qo,$o=class $o extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};s($o,"FilterValidationError");var Ne=$o,Bo=class Bo extends Error{constructor(e,t){super(e),Object.assign(this,t)}};s(Bo,"FilterParseError");var br=Bo;var jp=/'/g,Cp=/(\\)/g,Up=/\\(.)/g;function qp(i){return i.replace(Cp,"\\\\")}s(qp,"escapeString");function $p(i){return i.replace(Up,"$1")}s($p,"unescapeString");function Ot(i){return"'"+qp(i).replace(jp,"\\'")+"'"}s(Ot,"quoteFilterString");function Gt(i){return i&&(i.startsWith("'")||i.startsWith('"'))&&i.endsWith(i.charAt(0))?$p(i.substring(1,i.length-1)):i}s(Gt,"unquoteFilterString");var Js=new Date(0),Vo=class Vo extends v{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Bp(e,Js)!==Js){this.value=e;return}throw new Ne(`Invalid date value "${e}"`)}toString(){return Ot(this.value)}};s(Vo,"DateLiteral");var xe=Vo;var Ko=class Ko extends v{constructor(){super(null),this.value=null}};s(Ko,"NullLiteral");var Be=Ko;var zo=class zo extends v{constructor(e){if(super(0),typeof e=="number"||typeof e=="bigint"){this.value=e;return}try{if(typeof e=="string"){if(e.includes(".")){this.value=parseFloat(e);return}let t=Number(e);""+t===e?this.value=t:this.value=BigInt(e);return}}catch{}throw new Ne(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};s(zo,"NumberLiteral");var Oe=zo;var Jo=class Jo extends v{constructor(e){super(""+e)}};s(Jo,"QualifiedIdentifier");var oe=Jo;var Wo=class Wo extends v{constructor(e){super(""+e)}toString(){return Ot(this.value)}};s(Wo,"StringLiteral");var Ve=Wo;var Vp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Yo=class Yo extends v{constructor(e){if(super(""),e instanceof Date){this.value=Nr(e.getHours())+":"+Nr(e.getMinutes())+(e.getSeconds()?":"+Nr(e.getSeconds()):"")+(e.getMilliseconds()?"."+Nr(e.getMilliseconds()):"");return}if(typeof e=="string"&&Vp.test(e)){this.value=e;return}throw new Ne(`Invalid time value "${e}"`)}toString(){return Ot(this.value)}};s(Yo,"TimeLiteral");var Ke=Yo;function Nr(i){return i<=9?"0"+i:""+i}s(Nr,"pad");import{CharStream as nc,CommonTokenStream as sc}from"@browsery/antlr4";import{ATNDeserializer as Kp,DFA as zp,Lexer as Jp,LexerATNSimulator as Wp,PredictionContextCache as Yp,Token as Gp}from"@browsery/antlr4";var B=class B extends Jp{constructor(e){super(e),this._interp=new Wp(this,B._ATN,B.DecisionsToDFA,new Yp)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return B.literalNames}get symbolicNames(){return B.symbolicNames}get ruleNames(){return B.ruleNames}get serializedATN(){return B._serializedATN}get channelNames(){return B.channelNames}get modeNames(){return B.modeNames}static get _ATN(){return B.__ATN||(B.__ATN=new Kp().deserialize(B._serializedATN)),B.__ATN}};s(B,"OpraFilterLexer");var h=B;h.T__0=1;h.T__1=2;h.T__2=3;h.T__3=4;h.T__4=5;h.T__5=6;h.T__6=7;h.T__7=8;h.T__8=9;h.T__9=10;h.T__10=11;h.T__11=12;h.T__12=13;h.T__13=14;h.T__14=15;h.T__15=16;h.T__16=17;h.T__17=18;h.T__18=19;h.T__19=20;h.T__20=21;h.T__21=22;h.T__22=23;h.T__23=24;h.T__24=25;h.T__25=26;h.T__26=27;h.T__27=28;h.T__28=29;h.T__29=30;h.T__30=31;h.T__31=32;h.T__32=33;h.T__33=34;h.IDENTIFIER=35;h.POLAR_OP=36;h.DATE=37;h.DATETIME=38;h.TIME=39;h.NUMBER=40;h.INTEGER=41;h.STRING=42;h.WHITESPACE=43;h.EOF=Gp.EOF;h.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];h.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];h.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];h.modeNames=["DEFAULT_MODE"];h.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];h._serializedATN=[4,0,43,426,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,256,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,266,8,38,1,39,3,39,269,8,39,1,39,4,39,272,8,39,11,39,12,39,273,1,39,1,39,5,39,278,8,39,10,39,12,39,281,9,39,3,39,283,8,39,1,39,1,39,3,39,287,8,39,1,39,4,39,290,8,39,11,39,12,39,291,3,39,294,8,39,1,39,1,39,1,39,1,39,4,39,300,8,39,11,39,12,39,301,3,39,304,8,39,1,40,3,40,307,8,40,1,40,4,40,310,8,40,11,40,12,40,311,1,40,1,40,1,40,1,40,4,40,318,8,40,11,40,12,40,319,3,40,322,8,40,1,41,1,41,1,41,5,41,327,8,41,10,41,12,41,330,9,41,1,41,1,41,1,41,1,41,5,41,336,8,41,10,41,12,41,339,9,41,1,41,3,41,342,8,41,1,42,4,42,345,8,42,11,42,12,42,346,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,362,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,371,8,44,1,45,1,45,1,45,1,45,3,45,377,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,389,8,45,11,45,12,45,390,3,45,393,8,45,3,45,395,8,45,1,46,1,46,1,46,3,46,400,8,46,1,46,1,46,1,46,3,46,405,8,46,1,46,1,46,1,46,3,46,410,8,46,3,46,412,8,46,1,47,1,47,1,47,3,47,417,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,453,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,255,1,0,0,0,77,265,1,0,0,0,79,303,1,0,0,0,81,321,1,0,0,0,83,341,1,0,0,0,85,344,1,0,0,0,87,350,1,0,0,0,89,352,1,0,0,0,91,376,1,0,0,0,93,411,1,0,0,0,95,413,1,0,0,0,97,418,1,0,0,0,99,424,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,256,1,0,0,0,248,249,5,34,0,0,249,250,3,89,44,0,250,251,5,84,0,0,251,252,3,91,45,0,252,253,3,93,46,0,253,254,5,34,0,0,254,256,1,0,0,0,255,241,1,0,0,0,255,248,1,0,0,0,256,76,1,0,0,0,257,258,5,39,0,0,258,259,3,91,45,0,259,260,5,39,0,0,260,266,1,0,0,0,261,262,5,34,0,0,262,263,3,91,45,0,263,264,5,34,0,0,264,266,1,0,0,0,265,257,1,0,0,0,265,261,1,0,0,0,266,78,1,0,0,0,267,269,3,71,35,0,268,267,1,0,0,0,268,269,1,0,0,0,269,271,1,0,0,0,270,272,3,87,43,0,271,270,1,0,0,0,272,273,1,0,0,0,273,271,1,0,0,0,273,274,1,0,0,0,274,282,1,0,0,0,275,279,5,46,0,0,276,278,3,87,43,0,277,276,1,0,0,0,278,281,1,0,0,0,279,277,1,0,0,0,279,280,1,0,0,0,280,283,1,0,0,0,281,279,1,0,0,0,282,275,1,0,0,0,282,283,1,0,0,0,283,293,1,0,0,0,284,286,5,69,0,0,285,287,7,2,0,0,286,285,1,0,0,0,286,287,1,0,0,0,287,289,1,0,0,0,288,290,3,87,43,0,289,288,1,0,0,0,290,291,1,0,0,0,291,289,1,0,0,0,291,292,1,0,0,0,292,294,1,0,0,0,293,284,1,0,0,0,293,294,1,0,0,0,294,304,1,0,0,0,295,296,5,48,0,0,296,297,5,120,0,0,297,299,1,0,0,0,298,300,3,99,49,0,299,298,1,0,0,0,300,301,1,0,0,0,301,299,1,0,0,0,301,302,1,0,0,0,302,304,1,0,0,0,303,268,1,0,0,0,303,295,1,0,0,0,304,80,1,0,0,0,305,307,3,71,35,0,306,305,1,0,0,0,306,307,1,0,0,0,307,309,1,0,0,0,308,310,3,87,43,0,309,308,1,0,0,0,310,311,1,0,0,0,311,309,1,0,0,0,311,312,1,0,0,0,312,322,1,0,0,0,313,314,5,48,0,0,314,315,5,120,0,0,315,317,1,0,0,0,316,318,3,99,49,0,317,316,1,0,0,0,318,319,1,0,0,0,319,317,1,0,0,0,319,320,1,0,0,0,320,322,1,0,0,0,321,306,1,0,0,0,321,313,1,0,0,0,322,82,1,0,0,0,323,328,5,39,0,0,324,327,3,95,47,0,325,327,8,3,0,0,326,324,1,0,0,0,326,325,1,0,0,0,327,330,1,0,0,0,328,326,1,0,0,0,328,329,1,0,0,0,329,331,1,0,0,0,330,328,1,0,0,0,331,342,5,39,0,0,332,337,5,34,0,0,333,336,3,95,47,0,334,336,8,4,0,0,335,333,1,0,0,0,335,334,1,0,0,0,336,339,1,0,0,0,337,335,1,0,0,0,337,338,1,0,0,0,338,340,1,0,0,0,339,337,1,0,0,0,340,342,5,34,0,0,341,323,1,0,0,0,341,332,1,0,0,0,342,84,1,0,0,0,343,345,7,5,0,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,348,1,0,0,0,348,349,6,42,0,0,349,86,1,0,0,0,350,351,7,6,0,0,351,88,1,0,0,0,352,353,7,6,0,0,353,354,7,6,0,0,354,355,7,6,0,0,355,356,7,6,0,0,356,361,5,45,0,0,357,358,7,7,0,0,358,362,7,8,0,0,359,360,7,9,0,0,360,362,7,10,0,0,361,357,1,0,0,0,361,359,1,0,0,0,362,363,1,0,0,0,363,370,5,45,0,0,364,365,7,11,0,0,365,371,7,7,0,0,366,367,7,10,0,0,367,371,7,8,0,0,368,369,5,51,0,0,369,371,5,49,0,0,370,364,1,0,0,0,370,366,1,0,0,0,370,368,1,0,0,0,371,90,1,0,0,0,372,373,7,12,0,0,373,377,7,6,0,0,374,375,5,50,0,0,375,377,7,13,0,0,376,372,1,0,0,0,376,374,1,0,0,0,377,378,1,0,0,0,378,379,5,58,0,0,379,380,7,14,0,0,380,381,7,6,0,0,381,394,1,0,0,0,382,383,5,58,0,0,383,384,7,14,0,0,384,385,7,6,0,0,385,392,1,0,0,0,386,388,5,46,0,0,387,389,7,6,0,0,388,387,1,0,0,0,389,390,1,0,0,0,390,388,1,0,0,0,390,391,1,0,0,0,391,393,1,0,0,0,392,386,1,0,0,0,392,393,1,0,0,0,393,395,1,0,0,0,394,382,1,0,0,0,394,395,1,0,0,0,395,92,1,0,0,0,396,412,5,90,0,0,397,404,7,2,0,0,398,400,7,12,0,0,399,398,1,0,0,0,399,400,1,0,0,0,400,401,1,0,0,0,401,405,7,6,0,0,402,403,5,50,0,0,403,405,7,13,0,0,404,399,1,0,0,0,404,402,1,0,0,0,405,409,1,0,0,0,406,407,5,58,0,0,407,408,7,14,0,0,408,410,7,6,0,0,409,406,1,0,0,0,409,410,1,0,0,0,410,412,1,0,0,0,411,396,1,0,0,0,411,397,1,0,0,0,412,94,1,0,0,0,413,416,5,92,0,0,414,417,3,97,48,0,415,417,9,0,0,0,416,414,1,0,0,0,416,415,1,0,0,0,417,96,1,0,0,0,418,419,5,117,0,0,419,420,3,99,49,0,420,421,3,99,49,0,421,422,3,99,49,0,422,423,3,99,49,0,423,98,1,0,0,0,424,425,7,15,0,0,425,100,1,0,0,0,35,0,226,239,255,265,268,273,279,282,286,291,293,301,303,306,311,319,321,326,328,335,337,341,346,361,370,376,390,392,394,399,404,409,411,416,1,0,1,0];h.DecisionsToDFA=h._ATN.decisionToState.map((i,e)=>new zp(i,e));var Ws=h;import{ATN as Ys,ATNDeserializer as Qp,DFA as Xp,FailedPredicateException as Zp,NoViableAltException as Go,Parser as Hp,ParserATNSimulator as ec,ParserRuleContext as q,PredictionContextCache as tc,RecognitionException as U,Token as rc}from"@browsery/antlr4";var E=class E extends Hp{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return E.literalNames}get symbolicNames(){return E.symbolicNames}get ruleNames(){return E.ruleNames}get serializedATN(){return E._serializedATN}createFailedPredicateException(e,t){return new Zp(this,e,t)}constructor(e){super(e),this._interp=new ec(this,E._ATN,E.DecisionsToDFA,new tc)}root(){let e=new Qo(this,this._ctx,this.state);this.enterRule(e,0,E.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(E.EOF)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,o=new Y(this,this._ctx,r),n=o,a=2;this.enterRecursionRule(o,2,E.RULE_expression,e);let p;try{let c;this.enterOuterAlt(o,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:o=new Ho(this,o),this._ctx=o,n=o,this.state=38,o._left=this.comparisonLeft(),this.state=39,o._operator=this.comparisonOperator(),this.state=40,o._right=this.comparisonRight();break;case 1:o=new Xo(this,o),this._ctx=o,n=o,this.state=42,this.match(E.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(E.T__1);break;case 3:case 4:o=new Zo(this,o),this._ctx=o,n=o,this.state=46,p=this._input.LA(1),p===3||p===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new Go(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==Ys.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=o;{if(o=new Qt(this,new Y(this,t,r)),this.pushNewRecursionContext(o,a,E.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,o._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(c){if(c instanceof U)o.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return o}comparisonLeft(){let e=new Dr(this,this._ctx,this.state);this.enterRule(e,4,E.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new Sr(this,this._ctx,this.state);this.enterRule(e,6,E.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new Go(this)}}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new Ir(this,this._ctx,this.state);this.enterRule(e,8,E.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new K(this,this._ctx,this.state);this.enterRule(e,10,E.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new pn(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(E.NUMBER);break;case 13:case 14:e=new sn(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new an(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new tn(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 37:e=new nn(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(E.DATE);break;case 38:e=new rn(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(E.DATETIME);break;case 39:e=new en(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(E.TIME);break;case 42:e=new on(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(E.STRING);break;default:throw new Go(this)}}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new Xt(this,this._ctx,this.state);this.enterRule(e,12,E.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==Ys.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(E.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new Mr(this,this._ctx,this.state);this.enterRule(e,14,E.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(E.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new gt(this,this._ctx,this.state);this.enterRule(e,16,E.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(E.IDENTIFIER)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new Lr(this,this._ctx,this.state);this.enterRule(e,18,E.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(E.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(E.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(E.T__8)}}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new vr(this,this._ctx,this.state);this.enterRule(e,20,E.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new Pr(this,this._ctx,this.state);this.enterRule(e,22,E.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(E.T__11)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new Fr(this,this._ctx,this.state);this.enterRule(e,24,E.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new cn(this,this._ctx,this.state);this.enterRule(e,26,E.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),!(t&-32)&&1<<t&491520?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new kr(this,this._ctx,this.state);this.enterRule(e,28,E.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),!(t&-32)&&1<<t&2146959360?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new jr(this,this._ctx,this.state);this.enterRule(e,30,E.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),!(t-31&-32)&&1<<t-31&15?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new ln(this,this._ctx,this.state);this.enterRule(e,32,E.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(E.POLAR_OP)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return E.__ATN||(E.__ATN=new Qp().deserialize(E._serializedATN)),E.__ATN}};s(E,"OpraFilterParser");var f=E;f.T__0=1;f.T__1=2;f.T__2=3;f.T__3=4;f.T__4=5;f.T__5=6;f.T__6=7;f.T__7=8;f.T__8=9;f.T__9=10;f.T__10=11;f.T__11=12;f.T__12=13;f.T__13=14;f.T__14=15;f.T__15=16;f.T__16=17;f.T__17=18;f.T__18=19;f.T__19=20;f.T__20=21;f.T__21=22;f.T__22=23;f.T__23=24;f.T__24=25;f.T__25=26;f.T__26=27;f.T__27=28;f.T__28=29;f.T__29=30;f.T__30=31;f.T__31=32;f.T__32=33;f.T__33=34;f.IDENTIFIER=35;f.POLAR_OP=36;f.DATE=37;f.DATETIME=38;f.TIME=39;f.NUMBER=40;f.INTEGER=41;f.STRING=42;f.WHITESPACE=43;f.EOF=rc.EOF;f.RULE_root=0;f.RULE_expression=1;f.RULE_comparisonLeft=2;f.RULE_comparisonRight=3;f.RULE_parenthesizedItem=4;f.RULE_value=5;f.RULE_qualifiedIdentifier=6;f.RULE_externalConstant=7;f.RULE_identifier=8;f.RULE_arrayValue=9;f.RULE_boolean=10;f.RULE_null=11;f.RULE_infinity=12;f.RULE_arithmeticOperator=13;f.RULE_comparisonOperator=14;f.RULE_logicalOperator=15;f.RULE_polarityOperator=16;f.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];f.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];f.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];f._serializedATN=[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,37,0,0,74,78,5,38,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100];f.DecisionsToDFA=f._ATN.decisionToState.map((i,e)=>new Xp(i,e));var Gs=f,fn=class fn extends q{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Y,0)}EOF(){return this.getToken(f.EOF,0)}get ruleIndex(){return f.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};s(fn,"RootContext");var Qo=fn,un=class un extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};s(un,"ExpressionContext");var Y=un,mn=class mn extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Ir,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};s(mn,"ParenthesizedExpressionContext");var Xo=mn,dn=class dn extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(Y,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};s(dn,"NegativeExpressionContext");var Zo=dn,hn=class hn extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(Dr,0)}comparisonOperator(){return this.getTypedRuleContext(kr,0)}comparisonRight(){return this.getTypedRuleContext(Sr,0)}enterRule(e){e.enterComparisonExpression&&e.enterComparisonExpression(this)}exitRule(e){e.exitComparisonExpression&&e.exitComparisonExpression(this)}accept(e){return e.visitComparisonExpression?e.visitComparisonExpression(this):e.visitChildren(this)}};s(hn,"ComparisonExpressionContext");var Ho=hn,yn=class yn extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(Y)}expression(e){return this.getTypedRuleContext(Y,e)}logicalOperator(){return this.getTypedRuleContext(jr,0)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}};s(yn,"LogicalExpressionContext");var Qt=yn,Tn=class Tn extends q{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}get ruleIndex(){return f.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};s(Tn,"ComparisonLeftContext");var Dr=Tn,En=class En extends q{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(K,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}externalConstant(){return this.getTypedRuleContext(Mr,0)}arrayValue(){return this.getTypedRuleContext(Lr,0)}get ruleIndex(){return f.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};s(En,"ComparisonRightContext");var Sr=En,_n=class _n extends q{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Y,0)}get ruleIndex(){return f.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};s(_n,"ParenthesizedItemContext");var Ir=_n,xn=class xn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};s(xn,"ValueContext");var K=xn,On=class On extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(f.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};s(On,"TimeLiteralContext");var en=On,gn=class gn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Pr,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};s(gn,"NullLiteralContext");var tn=gn,Rn=class Rn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(f.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};s(Rn,"DateTimeLiteralContext");var rn=Rn,wn=class wn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(f.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};s(wn,"StringLiteralContext");var on=wn,An=class An extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(f.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};s(An,"DateLiteralContext");var nn=An,bn=class bn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Fr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};s(bn,"InfinityLiteralContext");var sn=bn,Nn=class Nn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(vr,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};s(Nn,"BooleanLiteralContext");var an=Nn,Dn=class Dn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(f.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};s(Dn,"NumberLiteralContext");var pn=Dn,Sn=class Sn extends q{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(gt)}identifier(e){return this.getTypedRuleContext(gt,e)}get ruleIndex(){return f.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};s(Sn,"QualifiedIdentifierContext");var Xt=Sn,In=class In extends q{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(gt,0)}get ruleIndex(){return f.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};s(In,"ExternalConstantContext");var Mr=In,Mn=class Mn extends q{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(f.IDENTIFIER,0)}get ruleIndex(){return f.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};s(Mn,"IdentifierContext");var gt=Mn,Ln=class Ln extends q{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(K)}value(e){return this.getTypedRuleContext(K,e)}get ruleIndex(){return f.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};s(Ln,"ArrayValueContext");var Lr=Ln,vn=class vn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};s(vn,"BooleanContext");var vr=vn,Pn=class Pn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};s(Pn,"NullContext");var Pr=Pn,Fn=class Fn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};s(Fn,"InfinityContext");var Fr=Fn,kn=class kn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};s(kn,"ArithmeticOperatorContext");var cn=kn,jn=class jn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};s(jn,"ComparisonOperatorContext");var kr=jn,Cn=class Cn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};s(Cn,"LogicalOperatorContext");var jr=Cn,Un=class Un extends q{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(f.POLAR_OP,0)}get ruleIndex(){return f.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};s(Un,"PolarityOperatorContext");var ln=Un;import{ParseTreeVisitor as ic}from"@browsery/antlr4";var qn=class qn extends v{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};s(qn,"ExternalConstant");var Cr=qn;var $n=class $n extends ic{constructor(e){super(),this._timeZone=e==null?void 0:e.timeZone}visitChildren(e){let t=super.visitChildren(e);return Array.isArray(t)&&t.length<2?t[0]:t??e.getText()}defaultResult(){}visitRoot(e){return this.visit(e.expression())}visitParenthesizedExpression(e){let t=this.visit(e.parenthesizedItem());return new _e(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Yt(t)}visitComparisonExpression(e){return new ue({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=s((o,n)=>{for(let a of o){if(a instanceof Qt&&a.logicalOperator().getText()===n){r(a.expression_list(),a.logicalOperator().getText());continue}let p=this.visit(a);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new me({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new oe(e.getText())}visitExternalConstant(e){return new Cr(e.identifier().getText())}visitNullLiteral(){return new Be}visitBooleanLiteral(e){return new $e(e.getText()==="true")}visitNumberLiteral(e){return new Oe(e.getText())}visitStringLiteral(e){return new Ve(Gt(e.getText()))}visitInfinityLiteral(){return new Oe(1/0)}visitDateLiteral(e){return new xe(Gt(e.getText()))}visitDateTimeLiteral(e){return new xe(Gt(e.getText()))}visitTimeLiteral(e){return new Ke(Gt(e.getText()))}visitArrayValue(e){return new Ee(e.value_list().map(t=>this.visit(t)))}};s($n,"FilterTreeVisitor");var Zt=$n;import{ErrorListener as oc}from"@browsery/antlr4";var Bn=class Bn extends oc{constructor(e){super(),this.errors=e}syntaxError(e,t,r,o,n,a){this.errors.push(new br(n,{recognizer:e,offendingSymbol:t,line:r,column:o,e:a}))}};s(Bn,"OpraErrorListener");var Ht=Bn;function Vn(i,e){let t=new nc(i),r=new Ws(t),o=new sc(r),n=new Gs(o);n.buildParseTrees=!0;let a=[],p=new Ht(a);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(a.length){let l=[];for(let d of a)l.push(d.message+(i.includes(`
|
|
8
|
-
`)?" at line: "+d.line+" column: "+d.column:" at column: "+d.column));let
|
|
9
|
-
`));throw _.errors=a,_}return e=e||new Zt,e.visit(c)}s(Vn,"parse");var Kn=class Kn{constructor(e,t){if(this._rules=new N,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new N(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,o]of Object.entries(e))this.set(r,o)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,ac({...t,operators:r}))}normalizeFilter(e,t){let r=typeof e=="string"?Vn(e):e;return this.normalizeFilterAst(r,[],t)}normalizeFilterAst(e,t,r){if(e instanceof ue){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof oe&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let o=this._rules.get(e.left.value);if(!o)throw new Te({message:R("error:UNACCEPTED_FILTER_FIELD",{field:e.left.value}),code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(o.operators&&!o.operators.includes(e.op))throw new Te({message:R("error:UNACCEPTED_FILTER_OPERATION",{field:e.left.value}),code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof me)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),t.pop(),e;if(e instanceof qe)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o.expression,t,r)),t.pop(),e;if(e instanceof Ee)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),t.pop(),e;if(e instanceof _e)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof oe&&r)return e.value=r.normalizeFieldPath(e.value),e.field=r.getField(e.value),e.dataType=e.field.type,e;if(e instanceof v){let o=t.findLastIndex(n=>n instanceof ue);if(o>=0){let n=t[o];if((e===n.right||t[o+1]===n.right)&&n&&n.left instanceof oe&&n.left.field){if(e.value==null&&!n.left.field.required)return e.value;let a;n.op==="like"||n.op==="!like"||n.op==="ilike"||n.op==="!ilike"?a=pc:a=this._decoderCache.get(n.left.field),a||(a=n.left.field.type.generateCodec("decode",{projection:"*",ignoreWriteonlyFields:!0,ignoreHiddenFields:!0,coerce:!0}),this._decoderCache.set(n.left.field,a)),e.value=a(e.value)}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};s(Kn,"FilterRules");var ge=Kn;var er={};ls(er,{$and:()=>lc,$arithmetic:()=>Dc,$array:()=>Qs,$date:()=>fc,$eq:()=>hc,$field:()=>dc,$gt:()=>Tc,$gte:()=>Ec,$ilike:()=>Ac,$in:()=>Oc,$like:()=>Rc,$lt:()=>_c,$lte:()=>xc,$ne:()=>yc,$notILike:()=>bc,$notIn:()=>gc,$notLike:()=>wc,$number:()=>mc,$or:()=>cc,$paren:()=>Nc,$time:()=>uc,ArithmeticExpression:()=>qe,ArithmeticExpressionItem:()=>wr,ArrayExpression:()=>Ee,Ast:()=>Wt,BooleanLiteral:()=>$e,ComparisonExpression:()=>ue,DateLiteral:()=>xe,Expression:()=>C,FilterTreeVisitor:()=>Zt,Literal:()=>v,LogicalExpression:()=>me,NegativeExpression:()=>Yt,NullLiteral:()=>Be,NumberLiteral:()=>Oe,OpraErrorListener:()=>Ht,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>oe,StringLiteral:()=>Ve,Term:()=>Ue,TimeLiteral:()=>Ke,parse:()=>Vn});function cc(...i){return new me({op:"or",items:i})}s(cc,"$or");function lc(...i){return new me({op:"and",items:i})}s(lc,"$and");function fc(i){return new xe(i)}s(fc,"$date");function uc(i){return new Ke(i)}s(uc,"$time");function mc(i){return new Oe(i)}s(mc,"$number");function Qs(...i){return new Ee(i.map(Ur))}s(Qs,"$array");function dc(i){return new oe(i)}s(dc,"$field");function hc(i,e){return ee("=",i,e)}s(hc,"$eq");function yc(i,e){return ee("!=",i,e)}s(yc,"$ne");function Tc(i,e){return ee(">",i,e)}s(Tc,"$gt");function Ec(i,e){return ee(">=",i,e)}s(Ec,"$gte");function _c(i,e){return ee("<",i,e)}s(_c,"$lt");function xc(i,e){return ee("<=",i,e)}s(xc,"$lte");function Oc(i,e){return ee("in",i,e)}s(Oc,"$in");function gc(i,e){return ee("!in",i,e)}s(gc,"$notIn");function Rc(i,e){return ee("like",i,e)}s(Rc,"$like");function wc(i,e){return ee("!like",i,e)}s(wc,"$notLike");function Ac(i,e){return ee("ilike",i,e)}s(Ac,"$ilike");function bc(i,e){return ee("!ilike",i,e)}s(bc,"$notILike");function Nc(i){return new _e(i)}s(Nc,"$paren");function Dc(i){let e=new qe;return e.add=t=>(e.append("+",Rt(t)),e),e.sub=t=>(e.append("-",Rt(t)),e),e.mul=t=>(e.append("*",Rt(t)),e),e.div=t=>(e.append("/",Rt(t)),e),e.append("+",Ur(i)),e}s(Dc,"$arithmetic");function ee(i,e,t){let r=Ur(e),o=Ur(t);return new ue({op:i,left:r,right:o})}s(ee,"comparisonExpression");var Ur=s(i=>Array.isArray(i)?Qs(...i.map(Rt)):Rt(i),"wrapEntryValue"),Rt=s(i=>i instanceof C?i:typeof i=="boolean"?new $e(i):typeof i=="number"||typeof i=="bigint"?new Oe(i):i==null?new Be:i instanceof Date?new xe(i):new Ve(""+i),"_wrapEntryValue");var wt,ne=(wt=class{constructor(e){e&&Object.assign(this,e)}[y](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.rules?new ge(e.rules):void 0;return Sc(r,o)}[x](){return Ic}toJSON(e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");return{dataType:r.name?r.name:r.toJSON(),rules:e.rules}}},s(wt,"FilterType"),wt);zn([u.Attribute({description:"Data type which filtering fields belong to"}),Jn("design:type",Object)],ne.prototype,"dataType",void 0);zn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),Jn("design:type",Object)],ne.prototype,"rules",void 0);ne=zn([u({description:"A query filter",nameMappings:{js:"object",json:"string"}}),Jn("design:paramtypes",[Object])],ne);var Sc=s((i,e)=>Xs("decodeFilter",(t,r,o)=>{if(typeof t=="string")try{let n=er.parse(t);return e?e.normalizeFilter(n,i):n}catch(n){r.fail(o,`Not a valid filter expression. ${n.message}`,t);return}r.fail(o,"Nt a valid filter expression string",t)}),"decodeFilter"),Ic=Xs("encodeFilter",(i,e,t)=>{if(i instanceof er.Ast)return i.toString();e.fail(t,"Not a valid filter expression",i)});import{__decorate as Mc,__metadata as Lc}from"tslib";import{vg as Zs}from"valgen";var At,qr=(At=class{constructor(e){e&&Object.assign(this,e)}[y](){return Zs.isObjectId({coerce:!0})}[x](){return Zs.isObjectId({coerce:!0})}},s(At,"ObjectIdType"),At);qr=Mc([u({description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),Lc("design:paramtypes",[Object])],qr);import{__decorate as de,__metadata as he}from"tslib";var bt,G=(bt=class{constructor(e){e&&Object.assign(this,e)}},s(bt,"OperationResult"),bt);de([P(),he("design:type",Number)],G.prototype,"affected",void 0);de([P(),he("design:type",Number)],G.prototype,"totalMatches",void 0);de([P(),he("design:type",String)],G.prototype,"context",void 0);de([P(),he("design:type",String)],G.prototype,"type",void 0);de([P(),he("design:type",String)],G.prototype,"message",void 0);de([P({type:"any"}),he("design:type",Object)],G.prototype,"payload",void 0);de([P({type:"object"}),he("design:type",Array)],G.prototype,"errors",void 0);G=de([Q({description:"Operation result"}),he("design:paramtypes",[Object])],G);(function(i){function e(t){var o;let r=(o=class extends i{constructor(...a){super(...a)}},s(o,"OperationResult_"),o);return de([P({type:t,required:!0}),he("design:type",Object)],r.prototype,"payload",void 0),r=de([Q({embedded:!0}),he("design:paramtypes",[Object])],r),r}s(e,"forPayload"),i.forPayload=e})(G||(G={}));import{__decorate as Wn,__metadata as Yn}from"tslib";import{vg as $r}from"valgen";var vc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Nt,Dt=(Nt=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=$r.matches(vc,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push($r.isGte(e.minValue)),e.maxValue&&r.push($r.isLte(e.maxValue)),r.length>0?$r.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[y](e)}},s(Nt,"TimeType"),Nt);Wn([u.Attribute({description:"Minimum value"}),Yn("design:type",String)],Dt.prototype,"minValue",void 0);Wn([u.Attribute({description:"Maximum value"}),Yn("design:type",String)],Dt.prototype,"maxValue",void 0);Dt=Wn([u({description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Yn("design:paramtypes",[Object])],Dt);import{__decorate as Pc,__metadata as Fc}from"tslib";import{vg as Hs}from"valgen";var St,Br=(St=class{constructor(e){e&&Object.assign(this,e)}[y](){return Hs.isURL({coerce:!0})}[x](){return Hs.isURL({coerce:!0})}},s(St,"UrlType"),St);Br=Pc([u({description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Fc("design:paramtypes",[Object])],Br);import{__decorate as ta,__metadata as ra}from"tslib";import{vg as ea}from"valgen";var It,tr=(It=class{constructor(e){e&&Object.assign(this,e)}[y](e){return ea.isUUID(e==null?void 0:e.version,{coerce:!0})}[x](e){return ea.isUUID(e==null?void 0:e.version,{coerce:!0})}},s(It,"UuidType"),It);ta([u.Attribute({description:"Version of the UUID"}),ra("design:type",Number)],tr.prototype,"version",void 0);tr=ta([u({description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),ra("design:paramtypes",[Object])],tr);function De(i,e,t){let r=mr(e.pick,e.omit),o=typeof i=="string"?i.charAt(0).toUpperCase()+i.substring(1):i.name,n=(t==null?void 0:t.name)||o+"Mapped",a={[n]:class{constructor(){typeof i=="function"&&lr(this,i,r)}}}[n];if(typeof i=="function"&&cr(a.prototype,i.prototype),typeof i=="function"){let c=Reflect.getOwnMetadata(T,i);if(!c)throw new TypeError(`Class "${i}" doesn't have datatype metadata information`);if(!(c.kind===m.ComplexType.Kind||c.kind===m.MappedType.Kind||c.kind===m.MixinType.Kind))throw new TypeError(`Class "${i}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:i};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(T,p,a),typeof i=="function"&&Fe._applyMixin(a,i,{...e,isInheritedPredicate:r}),a}s(De,"createMappedClass");function h_(i,e,t){return De(i,{omit:e},t)}s(h_,"OmitType");function __(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return De(i,{partial:t},r)}s(__,"PartialType");function R_(i,e,t){return De(i,{pick:e},t)}s(R_,"PickType");import{__decorate as kc,__metadata as jc}from"tslib";import{isAny as ia}from"valgen";var Mt,Vr=(Mt=class{constructor(e){e&&Object.assign(this,e)}[y](){return ia}[x](){return ia}},s(Mt,"AnyType"),Mt);Vr=kc([u({description:"Represents any value"}),jc("design:paramtypes",[Object])],Vr);import{__decorate as Cc,__metadata as Uc}from"tslib";import{toBigint as na,vg as Zn}from"valgen";import{__decorate as Qn,__metadata as Xn}from"tslib";import{toNumber as oa,vg as Gn}from"valgen";var Lt,ye=(Lt=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=[];return e.minValue&&t.push(Gn.isGte(e.minValue)),e.maxValue&&t.push(Gn.isLte(e.maxValue)),t.length>0?Gn.pipe([oa,...t],{returnIndex:0}):oa}[x](e){return this[y](e)}},s(Lt,"NumberType"),Lt);Qn([u.Attribute({description:"Determines the minimum value"}),Xn("design:type",Number)],ye.prototype,"minValue",void 0);Qn([u.Attribute({description:"Determines the maximum value"}),Xn("design:type",Number)],ye.prototype,"maxValue",void 0);ye=Qn([u({description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Xn("design:paramtypes",[Object])],ye);var vt,Kr=(vt=class extends ye{constructor(e){super(e)}[y](e){let t=[];return e.minValue&&t.push(Zn.isGte(e.minValue)),e.maxValue&&t.push(Zn.isLte(e.maxValue)),t.length>0?Zn.pipe([na,...t],{returnIndex:0}):na}[x](e){return this[y](e)}},s(vt,"BigintType"),vt);Kr=Cc([u({description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),Uc("design:paramtypes",[Object])],Kr);import{__decorate as qc,__metadata as $c}from"tslib";import{toBoolean as sa}from"valgen";var Pt,zr=(Pt=class{constructor(e){e&&Object.assign(this,e)}[y](){return sa}[x](){return sa}},s(Pt,"BooleanType"),Pt);zr=qc([u({description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),$c("design:paramtypes",[Object])],zr);import{__decorate as Bc,__metadata as Vc}from"tslib";import{toInteger as aa,vg as Hn}from"valgen";var Ft,ze=(Ft=class extends ye{constructor(e){super(e)}[y](e){let t=[];return e.minValue&&t.push(Hn.isGte(e.minValue)),e.maxValue&&t.push(Hn.isLte(e.maxValue)),t.length>0?Hn.pipe([aa,...t],{returnIndex:0}):aa}[x](e){return this[y](e)}},s(Ft,"IntegerType"),Ft);ze=Bc([u({description:"An integer number",nameMappings:{js:"number",json:"number"}}),Vc("design:paramtypes",[Object])],ze);import{__decorate as Kc,__metadata as zc}from"tslib";import{isNull as pa}from"valgen";var kt,Jr=(kt=class{constructor(e){e&&Object.assign(this,e)}[y](){return pa}[x](){return pa}},s(kt,"NullType"),kt);Jr=Kc([u({description:"A Null value",nameMappings:{js:"null",json:"null"}}),zc("design:paramtypes",[Object])],Jr);import{__decorate as Jc,__metadata as Wc}from"tslib";var jt,Wr=(jt=class{constructor(e){e&&Object.assign(this,e)}},s(jt,"ObjectType"),jt);Wr=Jc([Q({name:"object",description:"A non modelled object",additionalFields:!0}),Wc("design:paramtypes",[Object])],Wr);import{__decorate as rr,__metadata as ir}from"tslib";import{toString as ca,vg as Yr}from"valgen";var Ct,Se=(Ct=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(T,Object.getPrototypeOf(this).constructor).name),t.push(Yr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Yr.lengthMin(e.minLength)),e.maxLength&&t.push(Yr.lengthMax(e.maxLength)),t.length>0?Yr.pipe([ca,...t],{returnIndex:0}):ca}[x](e){return this[y](e)}},s(Ct,"StringType"),Ct);rr([u.Attribute({description:"Regex pattern to be used for validation"}),ir("design:type",Object)],Se.prototype,"pattern",void 0);rr([u.Attribute({description:"Name of the pattern"}),ir("design:type",String)],Se.prototype,"patternName",void 0);rr([u.Attribute({description:"Minimum number of characters"}),ir("design:type",Number)],Se.prototype,"minLength",void 0);rr([u.Attribute({description:"Minimum number of characters"}),ir("design:type",Number)],Se.prototype,"maxLength",void 0);Se=rr([u({description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),ir("design:paramtypes",[Object])],Se);function I2(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return De(i,{required:t},r)}s(I2,"RequiredType");D.Entity={};D.Entity.Create=function(i,e){var n;let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=k(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return o.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(A.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:M.opra_response_json,type:t.type,partial:"deep"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}),r.push(a=>{let p=a.compositionOptions=a.compositionOptions||{};p.type=Ie(t.type)}),o};D.Entity.Delete=function(i,e){let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=k(r,{method:"DELETE",...t,composition:"Entity.Delete"});return o.Response(A.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:M.opra_response_json}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ie(t.type)}),o};D.Entity.DeleteMany=function(i,e){let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=new ge,n=new ne({dataType:t.type});n.rules={};let a=k(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return a.Response(A.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:M.opra_response_json}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}).QueryParam("filter",{type:n,description:"Determines filter fields"}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ie(t.type)}),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};D.Entity.FindMany=function(i,e){let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=new ge,n=new ne({dataType:t.type});n.rules={};let a=k(r,{method:"GET",...t,composition:"Entity.FindMany"});return a.Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:M.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new ze({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new ze({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).QueryParam("sort",{description:"Determines sort fields",type:new W({dataType:t.type,allowSigns:"first"}),isArray:!0,arraySeparator:","}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ie(t.type),t.defaultLimit&&(c.defaultLimit=t.defaultLimit),t.defaultProjection&&(c.defaultProjection=t.defaultProjection),t.maxLimit&&(c.maxLimit=t.maxLimit)}),a.DefaultSort=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.defaultSort=p}),a),a.SortFields=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.sortFields=p}),a),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};D.Entity.Get=function(i,e){let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=k(r,{method:"GET",...t,composition:"Entity.Get"});return o.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:M.opra_response_json,type:t.type,partial:"deep"}).Response(A.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ie(t.type)}),o};D.Entity.Replace=function(i,e){let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=k(r,{method:"POST",...t,composition:"Entity.Replace"});return o.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:M.opra_response_json,type:t.type,partial:"deep"}).Response(A.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ie(t.type)}),o};D.Entity.UpdateMany=function(i,e){var p;let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=new ne({dataType:t.type});o.rules={};let n=new ge,a=k(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,...t.requestBody,required:!0}});return a.RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:M.opra_response_json}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}).QueryParam("filter",{type:o,description:"Determines filter fields"}),r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ie(t.type)}),a.Filter=(c,l,_)=>(r.push(()=>{n.set(c,{operators:l,description:_}),o.rules=n.toJSON()}),a),a};D.Entity.Update=function(i,e){var p;let t;typeof i=="object"&&!i[T]?t=i:t={...e,type:i};let r=[],o=new ge,n=new ne({dataType:t.type});n.rules={};let a=k(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,...t.requestBody,required:!0}});return a.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:M.opra_response_json,type:t.type,partial:"deep"}).Response(A.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:M.opra_response_json}),a.KeyParam=(c,l)=>{let _=typeof l=="string"||typeof l=="function"?{name:c,location:"path",type:l,keyParam:!0}:{...l,name:c,location:"path",keyParam:!0};return a.PathParam(c,_),r.push(d=>{var $;($=d.path)!=null&&$.includes(":"+c)||(d.path=(d.path||"")+"@:"+c),d.mergePath=!0}),a},r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ie(t.type)}),a.Filter=(c,l,_)=>(r.push(()=>{o.set(c,{operators:l,description:_}),n.rules=o.toJSON()}),a),a};function Ie(i){if(typeof i=="string")return i;let e=Reflect.getMetadata(T,i);if(!e)throw new TypeError(`Type (${i}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}s(Ie,"getDataTypeName");import{isConstructor as tl}from"@jsopen/objects";import{omitUndefined as Yc}from"@jsopen/objects";import{asMutable as Gc}from"ts-gems";var Je=s(function(...i){var o;if(!this)return Je[w].apply(void 0,i);let[e,t]=i;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Gc(this);r.kind=m.RpcController.Kind,r.types=r.node[F]=new Z,r.operations=new N,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(o=r._initialize)==null||o.call(r,t)},"RpcController"),ts=class ts extends g{findHeader(e,t){let r=e.toLowerCase(),o;for(o of this.headers)if(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e))return o;if(this.node.parent&&this.node.parent.element instanceof Je)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=Yc({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[tt](){return`[${rt}RpcController${it+this.name+Pe}]`}};s(ts,"RpcControllerClass");var es=ts;Je.prototype=es.prototype;Object.assign(Je,Ze);Je[w]=Ze;import{omitUndefined as Qc}from"@jsopen/objects";import{asMutable as Xc}from"ts-gems";var or=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');je.call(this,i,e);let t=Xc(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?at(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),is=class is extends je{toJSON(){return Qc({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};s(is,"RpcHeaderClass");var rs=is;or.prototype=rs.prototype;import{omitUndefined as Zc}from"@jsopen/objects";import{asMutable as Hc}from"ts-gems";var nr=s(function(...i){if(!this){let[o,n]=i,a=[];return nr[w].call(void 0,a,o,n)}let[e,t]=i;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Hc(this);r.headers=[],r.types=r.node[F]=new Z,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof O?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof O?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),ns=class ns extends g{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=Zc({kind:m.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};s(ns,"RpcOperationClass");var os=ns;nr.prototype=os.prototype;nr[w]=qt;import{omitUndefined as el}from"@jsopen/objects";var ss=class ss extends g{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.payloadType?this.payloadType=(t==null?void 0:t.payloadType)instanceof O?t.payloadType:this.owner.node.getDataType(t.payloadType):this.payloadType=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof O?t.keyType:this.owner.node.getDataType(t.keyType))}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=el({description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}};s(ss,"RpcOperationResponse");var Gr=ss;var as=class as{static async createApi(e,t){let r=new ct(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let o of t.controllers){let n=await this._createController(e,r,o);n&&r.controllers.set(n.name,n)}else for(let[o,n]of Object.entries(t.controllers)){let a=await this._createController(e,r,n,o);a&&r.controllers.set(a.name,a)}}),r}static async _createController(e,t,r,o){typeof r=="function"&&!tl(r)&&(r=r()),r=await se(r);let n,a,p;if(typeof r=="function"){if(a=Reflect.getMetadata(re,r),!a)return e.addError(`Class "${r.name}" doesn't have a valid RpcController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,a=Reflect.getMetadata(re,n),a?p=r:(a=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!a)return e.addError(`Class "${n.name}" is not decorated with RpcController()`);if(o=o||a.name,!o)throw new TypeError("Controller name required");let c=new Je(t,{...a,name:o,instance:p,ctor:n});return a.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,c,a.types)}),a.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let _ of a.headers)await e.enterAsync(`[${l++}]`,async()=>{let d={..._};await e.enterAsync(".type",async()=>{_.type&&(d.type=c.node.findDataType(_.type)),!d.type&&typeof _.type=="object"&&(d.type=await I.createDataType(e,c,_.type)),d.type||(d.type=c.node.getDataType("any"))});let $=new or(c,d);c.headers.push($)})}),a.operations&&await e.enterAsync(".operations",async()=>{for(let[l,_]of Object.entries(a.operations))await e.enterAsync(`[${l}]`,async()=>{let d=new nr(c,{..._,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,_),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,t,r.types)}),t.payloadType=await I.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await I.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let o=0;for(let n of r.headers)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await I.resolveDataType(e,t,n.type)});let p=new or(t,a);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let o=new Gr(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initRpcOperationResponse(e,o,r.response),t.response=o})}static async _initRpcOperationResponse(e,t,r){t.payloadType=await I.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await I.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let o=0;for(let n of r.headers)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await I.resolveDataType(e,t,n.type)});let p=new or(t,a);t.headers.push(p)})})}};s(as,"RpcApiFactory");var Qr=as;var rl="https://oprajs.com/spec/v"+m.SpecVersion,Xr=class Xr{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new Xr,o=t instanceof pe?t:new pe(t);try{let n=new Ce;if(await r.initDocument(n,o,e),o.error.details.length)throw o.error;return n}catch(n){try{n instanceof et||o.addError(n)}catch{}if(!o.error.message){let a=o.error.details.length;o.error.message=`(${a}) error${a>1?"s":""} found in document schema.`,o.showErrorDetails&&(o.error.message+=o.error.details.map(p=>`
|
|
6
|
+
var ps=Object.defineProperty;var a=(o,e)=>ps(o,"name",{value:e,configurable:!0});var cs=(o,e)=>{for(var t in e)ps(o,t,{get:e[t],enumerable:!0})};import"reflect-metadata";import{merge as ti}from"@jsopen/objects";var m={};cs(m,{ComplexType:()=>We,EnumType:()=>Ge,HttpController:()=>Ut,HttpOperation:()=>Zr,MappedType:()=>Ye,MixinType:()=>Qe,RpcController:()=>Hr,RpcOperation:()=>ei,SimpleType:()=>Xe,SpecVersion:()=>fa,isComplexType:()=>ma,isDataType:()=>ua,isEnumType:()=>Ta,isHttpController:()=>Ea,isMappedType:()=>ya,isMixinType:()=>ha,isSimpleType:()=>da});var fa="1.0";var We;(function(o){o.Kind="ComplexType"})(We||(We={}));var Ge;(function(o){o.Kind="EnumType"})(Ge||(Ge={}));var Ye;(function(o){o.Kind="MappedType"})(Ye||(Ye={}));var Qe;(function(o){o.Kind="MixinType"})(Qe||(Qe={}));var Xe;(function(o){o.Kind="SimpleType"})(Xe||(Xe={}));var Ut;(function(o){o.Kind="HttpController"})(Ut||(Ut={}));var Zr;(function(o){o.Kind="HttpOperation"})(Zr||(Zr={}));var Hr;(function(o){o.Kind="RpcController"})(Hr||(Hr={}));var ei;(function(o){o.Kind="RpcOperation"})(ei||(ei={}));function ua(o){return o&&typeof o=="object"&&(o.kind===We.Kind||o.kind===Ge.Kind||o.kind===Ye.Kind||o.kind===Xe.Kind||o.kind===Qe.Kind)}a(ua,"isDataType");function ma(o){return o&&typeof o=="object"&&o.kind===We.Kind}a(ma,"isComplexType");function da(o){return o&&typeof o=="object"&&o.kind===Xe.Kind}a(da,"isSimpleType");function ha(o){return o&&typeof o=="object"&&o.kind===Qe.Kind}a(ha,"isMixinType");function ya(o){return o&&typeof o=="object"&&o.kind===Ye.Kind}a(ya,"isMappedType");function Ta(o){return o&&typeof o=="object"&&o.kind===Ge.Kind}a(Ta,"isEnumType");function Ea(o){return o&&typeof o=="object"&&o.kind===Ut.Kind}a(Ea,"isHttpController");var E=Symbol.for("opra.type.metadata"),te=Symbol("opra.http-controller.metadata"),re=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),x=Symbol("opra.type.encoder"),w=Symbol.for("DECORATOR"),Me=Symbol.for("BUILTIN"),ls=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,C=Symbol.for("kDataTypeMap"),ar=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");var _a=/^(.*)(Controller)$/,fs=[];function Ze(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=_a.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(re,Object.getPrototypeOf(r));s&&ti(n,s,{deep:!0});let p=Reflect.getOwnMetadata(re,r);p&&ti(n,p,{deep:!0}),ti(n,{...o,kind:m.RpcController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(re,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(re,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),fs.forEach(r=>r(t,e,o)),t}a(Ze,"RpcControllerDecoratorFactory");Ze.augment=function(o){fs.push(o)};import{omit as Oa}from"@jsopen/objects";var us=[];function $t(o,e,t){let r=!1,i=a((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:s,payloadType:e,...Oa(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(re,n.constructor)||{};c.operations=c.operations||{},c.operations[s]=p;for(let l of o)l(p,n,s);Reflect.defineMetadata(re,c,n.constructor)},"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(p=>{let c=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n},l=r?p.response:p;l.headers?l.headers=l.headers.filter(y=>String(y.name)!==String(n)):l.headers=[],l.headers.push(c)}),i),i.Response=(n,s)=>(o.push(p=>{r=!0,p.response={...s,payloadType:n}}),i),us.forEach(n=>n(i,o,e,t)),i}a($t,"RpcOperationDecoratorFactory");$t.augment=function(o){us.push(o)};BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Ra}from"@jsopen/objects";import wa from"putil-promisify";async function se(o){return o=wa.isPromise(o)?await o:o,typeof o=="function"?Ra(o)?o:await o():o}a(se,"resolveThunk");var ms=/^(?:file:\/\/)?(.+)$/;function sf(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?ms.exec(r):void 0;return i?i[1]:""}return""}a(sf,"getStackFileName");function af(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?ms.exec(r):void 0;return i?i[1]:""}return""}a(af,"getErrorStack");function pr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(pr,"mergePrototype");function cr(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(cr,"inheritPropertyInitializers");import{isPlainObject as ds,merge as Aa}from"@jsopen/objects";function M(o,e){return Aa({},o,{deep:a(t=>ds(t)&&!t[E],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||ds(i)||Array.isArray(i))}})}a(M,"cloneObject");import{splitString as hs}from"fast-tokenizer";var ba=/^([+-])?([a-z_$]\w*)$/i,Da=/[^.]\(/g,ri=class ri{};a(ri,"FieldsProjection");var ve=ri;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(ve||(ve={}));function ys(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new ve;for(let i of t)e||(i=i.toLowerCase()),Ts(i,r);return r}a(ys,"parseFieldsProjection");function Ts(o,e){o=o.replace(Da,r=>r.charAt(0)+"."+r.substring(1));let t=hs(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=hs(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)Ts(l,e);continue}let n=ba.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new ve.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new ve}}a(Ts,"parse");function Na(o){return o&&typeof o.forEach=="function"}a(Na,"isMap");var V=Symbol.for("kEntries"),ae=Symbol.for("kKeyMap"),lr=Symbol.for("kWellKnownKeys"),ii=Symbol.for("kOptions"),He=Symbol.for("kSize"),oi=class oi{constructor(e,t){Object.defineProperty(this,He,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,V,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ae,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,lr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,ii,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[lr][i]=i:this[lr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[He]}clear(){Object.keys(this[V]).forEach(e=>delete this[V][e]),Object.keys(this[ae]).forEach(e=>delete this[ae][e]),this[He]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[V][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[V],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[V],r);return this[V][r]=t,i||this[He]++,this[ae][r]=e,this}setAll(e){return Na(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ae])[Symbol.iterator]()}values(){return Object.values(this[V])[Symbol.iterator]()}entries(){return Object.entries(this[V])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[V],t);return delete this[V][t],delete this[ae][t],r||this[He]--,r}sort(e){let t={...this[V]},r={...this[ae]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[V][n]=t[n],this[ae][n]=r[n];return this[He]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ae]))e[r]=this[V][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[ii].caseSensitive)return e;let t=this._getStoringKey(e);return this[ae][t]??this[lr][t]??e}_getStoringKey(e){return this[ii].caseSensitive?e:e.toLowerCase()}};a(oi,"ResponsiveMap");var D=oi;function Of(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(Of,"safeJsonStringify");function ni(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(ni,"isStream");function wf(o){return ni(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(wf,"isReadable");function Af(o){return ni(o)&&typeof o._write=="function"}a(Af,"isWritable");function bf(o){return ni(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(bf,"isReadableStream");function Df(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Df,"isBlob");function Nf(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(Nf,"isFormData");function Sf(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Sf,"isURL");import{omitUndefined as ka}from"@jsopen/objects";import La from"@browsery/i18next";import{splitString as Ma,tokenize as xs}from"fast-tokenizer";var Sa=/\\(.)/g,Ia=/(\\)/g;function Es(o){return o.replace(Ia,"\\\\")}a(Es,"escapeString");function _s(o){return o.replace(Sa,"$1")}a(_s,"unescapeString");var va=Object.getPrototypeOf(La.createInstance()).constructor,qt=class qt extends va{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(p,c)=>p.toLocaleLowerCase(c)),s.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),s.add("upperFirst",(p,c)=>p.charAt(0).toLocaleUpperCase(c)+p.substring(1)),r!=null&&r.resources)for(let p of Object.keys(r.resources)){let c=r.resources[p];for(let l of Object.keys(c))this.addResourceBundle(p,l,c[l],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new qt(e,t)}static createInstance(e,t){return new qt(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of xs(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=Ma(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=_s(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],l=null;for(let d of xs(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(d.startsWith("{")){l=JSON.parse(d);continue}c.push(d)}let y=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(y,p,{...r,...l}):this.t(y,{...r,...l});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,p=n.length;s<p;s++){let c=n[s];i[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Pa}};a(qt,"I18n");var Bt=qt,Pa=Bt.createInstance();var Fa=/(\))/g;function R(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+Es(i).replace(Fa,"\\$1"):"")+")"}a(R,"translate");var si=Bt.createInstance();si.init().catch(()=>{});var ai=class ai extends Error{constructor(e,t){super("Unknown error"),this.severity="error",t=t||(e instanceof Error?e:void 0),e instanceof Error&&(t=e),t&&t instanceof Error&&(this.cause=t,t.stack&&(this.stack=t.stack)),typeof e=="string"?this.initString(e):e instanceof Error?this.initError(e):this.init(e),this.message=this.message||this.constructor.name}toString(){return si.deep(this.message)}toJSON(){var t;let e="production";return ka({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:e==="dev"||e==="development"||e==="test"?(t=this.stack)==null?void 0:t.split(`
|
|
7
|
+
`):void 0},!0)}init(e){this.message=(e==null?void 0:e.message)||this.constructor.name,this.severity=(e==null?void 0:e.severity)||"error",e&&(this.system=e.system,this.code=e.code,this.details=e.details)}initString(e){this.init({message:String(e||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(e){this.init({message:e.message,severity:e.severity||"error",code:e.code||e.constructor.name})}};a(ai,"OpraException");var Te=ai;var pi=class pi extends Te{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(pi,"OpraDocumentError");var et=pi;var ci=class ci{constructor(e){this.path="",this.error=new et,this.showErrorDetails=!0,this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message="",this.scopes=e!=null&&e.scopes?Array.isArray(e.scopes)?e==null?void 0:e.scopes:[e==null?void 0:e.scopes]:void 0}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(ci,"DocumentInitContext");var pe=ci;import"reflect-metadata";import{omitUndefined as Os}from"@jsopen/objects";import{asMutable as Wa}from"ts-gems";import{omit as ja}from"@jsopen/objects";function li(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(E,e);r||(r={},Reflect.defineMetadata(E,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,ja(o,["name"]))}}a(li,"ComplexTypeDecorator");import{omitUndefined as za}from"@jsopen/objects";import{asMutable as Ja}from"ts-gems";import{asMutable as Ca}from"ts-gems";import{uid as Ua}from"uid";var fi=class fi{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Re])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;t=t||this.getDocument().scopes;let r=(i=this[C])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e);if(r&&r.inScope(t))return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(E,e).name;else if(typeof e=="object"){let n=e[E];i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(fi,"DocumentNode");var fr=fi;var g=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Ca(this);e.id=Ua(16),Object.defineProperty(e,"node",{value:new fr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),mi=class mi{};a(mi,"DocumentElementClass");var ui=mi;g.prototype=ui.prototype;function di(o){return function(e,t){if(typeof t!="string")throw new TypeError("Symbol properties can't be used as a field");let r=Reflect.getOwnMetadata(E,e.constructor)||{};r.kind=m.ComplexType.Kind,r.fields=r.fields||{};let i=Reflect.getMetadata("design:type",e,t),n=r.fields[t]={...o};i===Array?n.isArray=!0:n.type=n.type||i,Reflect.defineMetadata(E,r,e.constructor)}}a(di,"ApiFieldDecorator");import{asMutable as Ba}from"ts-gems";import{validator as Va,vg as ie}from"valgen";import{omitUndefined as $a}from"@jsopen/objects";import{asMutable as qa}from"ts-gems";var tt=Symbol.for("nodejs.util.inspect.custom"),Pe="\x1B[0m",rt="\x1B[33m",it="\x1B[35m";var O=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!j.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);g.call(this,o);let r=qa(this);r.kind=e.kind,r.scopes=e.scopes,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),yi=class yi extends g{get embedded(){return!this.name}inScope(e){var t;if(!((t=this.scopes)!=null&&t.length)||!e)return!0;e=Array.isArray(e)?e:[e];for(let r of e)if(!this.scopes.some(i=>typeof i=="string"?r===i:i.test(r)))return!1;return!0}toJSON(e){return $a({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[tt](){return`[${rt+Object.getPrototypeOf(this).constructor.name+Pe} ${it+this.name+Pe}]`}};a(yi,"DataTypeClass");var hi=yi;O.prototype=hi.prototype;var Ka=/^([+-])?([a-z$_][\w.]*)$/i,S=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;O.call(this,e,t,r);let i=Ba(this);i.fields=new D},"ComplexTypeBase"),Ei=class Ei extends O{findField(e){if(e.includes(".")){let r=this.parseFieldPath(e).pop();return r==null?void 0:r.field}return this.fields.get(e)}getField(e){let t=this.findField(e);if(!t)throw new Error(R("error:UNKNOWN_FIELD",{field:e}));return t}parseFieldPath(e,t){var d,F,as;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,y=a(()=>p.map(Le=>Le.fieldName).join("."),"getStrPath");for(let Le=0;Le<s;Le++){let z={fieldName:n[Le],dataType:c};p.push(z);let sr=Ka.exec(n[Le]);if(!sr)throw new TypeError(`Invalid field name (${y()})`);if(sr[1]&&((Le===0&&l==="first"||l==="each")&&(z.sign=sr[1]),z.fieldName=sr[2]),r){if(r instanceof S){if(i=r.fields.get(z.fieldName),i){z.fieldName=i.name,z.field=i,z.dataType=i.type,r=i.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){z.additionalField=!0,z.dataType=c,r=void 0;continue}if(((F=r.additionalFields)==null?void 0:F[0])==="type"&&((as=r.additionalFields)==null?void 0:as[1])instanceof O){z.additionalField=!0,z.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(Xr=>Xr.fieldName).join(".")})`)}throw new TypeError(`"${p.map(Xr=>Xr.fieldName).join(".")}" field is not a complex type and has no child fields`)}z.additionalField=!0,z.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){let r=Array.isArray(t==null?void 0:t.projection)?ys(t.projection):t==null?void 0:t.projection,i=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof O)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let s=n[1];n=Va((p,c,l)=>c.fail(l,s,p))}return ie.isObject(i,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail})}_generateSchema(e,t){var l;let r={},{currentPath:i,projection:n}=t,s=!!(n&&Object.values(n).find(y=>!y.sign)),p=t.scope?Array.isArray(t.scope)?t.scope:[t.scope]:void 0,c;for(let y of this.fields.values()){if(p&&!y.inScope(p)||t.ignoreReadonlyFields&&y.readonly||t.ignoreWriteonlyFields&&y.writeonly){r[y.name]=ie.isUndefined({coerce:!0});continue}c=y.name;let d;if(n!=="*"&&(d=n==null?void 0:n[c.toLowerCase()],(d==null?void 0:d.sign)==="-"||s&&!d||!s&&y.exclusive&&!d)){r[y.name]=ie.isUndefined({coerce:!0});continue}let F=this._generateFieldCodec(e,y,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:typeof n=="object"?((l=n[c])==null?void 0:l.projection)||"*":n,currentPath:i+(i?".":"")+c});r[c]=t.partial||!y.required?ie.optional(F):ie.required(F)}return t.allowPatchOperators&&(r._$pull=ie.optional(ie.isAny()),r._$push=ie.optional(ie.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,r);return t.fixed&&(i=ie.isEnum([t.fixed])),t.isArray&&(i=ie.isArray(i)),i}};a(Ei,"ComplexTypeBaseClass");var Ti=Ei;S.prototype=Ti.prototype;var P=a(function(...o){if(!this){let[n]=o;return P[w](n)}let[e,t]=o;g.call(this,e);let r=Ja(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof S))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.scopes=t.scopes,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples},"ApiField"),xi=class xi extends g{inScope(e){var t;if(!((t=this.scopes)!=null&&t.length)||!e)return!0;e=Array.isArray(e)?e:[e];for(let r of e)if(!this.scopes.some(i=>typeof i=="string"?r===i:i.test(r)))return!1;return!0}toJSON(e){var r;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return za({type:t||((r=this.type)==null?void 0:r.toJSON(e)),description:this.description,isArray:this.isArray||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}};a(xi,"ApiFieldClass");var _i=xi;P.prototype=_i.prototype;Object.assign(P,di);P[w]=di;var Q=a(function(...o){var n;if(!this)return Q[w].apply(void 0,o);let[e,t]=o,r=o[2]||new pe({maxErrors:0});S.call(this,e,t,r);let i=Wa(this);i.kind=m.ComplexType.Kind,t.base&&r.enter(".base",()=>{if(!(t.base instanceof S))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields.values())this.fields.set(s.name,new P(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,p]of Object.entries(t.fields)){let c=new P(this,{...p,name:s});this.fields.set(c.name,c)}})},"ComplexType"),gi=class gi extends S{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof S?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){var i;let t=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;if(e!=null&&e.scopes&&!((i=this.base)!=null&&i.inScope(e==null?void 0:e.scopes)))throw new TypeError(`Base type ${t?"("+t+")":""} of ${this.name?+this.name:"embedded"} type is not in required scope(s) [${e.scopes}`);let r=Os({...S.prototype.toJSON.call(this),kind:this.kind,base:this.base?t||this.base.toJSON(e):void 0});if(this.additionalFields)if(this.additionalFields instanceof O){let n=this.node.getDataTypeNameWithNs(this.additionalFields);r.additionalFields=n||this.additionalFields.toJSON(e)}else r.additionalFields=this.additionalFields;if(this.fields.size){let n={},s=0;for(let p of this.fields.values())p.origin===this&&p.inScope(e==null?void 0:e.scopes)&&(n[p.name]=p.toJSON(e),s++);s&&(r.fields=n)}return Os(r)}};a(gi,"ComplexTypeClass");var Oi=gi;Q.prototype=Oi.prototype;Object.assign(Q,li);Q[w]=li;import"reflect-metadata";import{omitUndefined as Ri}from"@jsopen/objects";import{asMutable as Ga}from"ts-gems";import{vg as Ya}from"valgen";var ce=a(function(...o){if(!this)return ce[w].apply(void 0,o);let[e,t,r]=o;O.call(this,e,t,r);let i=Ga(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof ce))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=M(t.attributes||{}),i.attributes=i.base?M(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),wi=class wi extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof ce?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Ya.isEnum(Object.keys(this.attributes))}toJSON(e){var r;let t=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;if(e!=null&&e.scopes&&!((r=this.base)!=null&&r.inScope(e==null?void 0:e.scopes)))throw new TypeError(`Base type ${t?"("+t+")":""} of ${this.name?+this.name:"embedded"} type is not in required scope(s) [${e.scopes}`);return Ri({...O.prototype.toJSON.call(this),base:this.base?t||this.base.toJSON(e):void 0,attributes:M(this.ownAttributes)})}};a(wi,"EnumTypeClass");var Vt=wi;ce.prototype=Vt.prototype;Object.assign(ce,Vt);function Qa(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[p]=Ri({description:c})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[o[p]]=Ri({alias:p,description:c})})}let s={kind:m.EnumType.Kind,attributes:i,base:r.base,name:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,E,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Qa,"EnumTypeFactory");ce.prototype=Vt.prototype;ce[w]=Qa;import"reflect-metadata";import{omitUndefined as Xa}from"@jsopen/objects";import{asMutable as Za}from"ts-gems";function ur(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(ur,"getIsInheritedPredicateFn");var Fe=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;S.call(this,e,t,r);let i=Za(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof S))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(l=>i.base.normalizeFieldPath(l)):t.omit?i.omit=t.omit.map(l=>i.base.normalizeFieldPath(l)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(l=>i.base.normalizeFieldPath(l)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(l=>i.base.normalizeFieldPath(l)):t.required);let s=ur(i.pick,i.omit),p=Array.isArray(i.partial)?i.partial.map(l=>l.toLowerCase()):i.partial,c=Array.isArray(i.required)?i.required.map(l=>l.toLowerCase()):i.required;for(let[l,y]of i.base.fields.entries()){if(!s(l))continue;let d={...y};p===!0||Array.isArray(p)&&p.includes(y.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(y.name.toLowerCase()))&&(d.required=!0);let F=new P(this,d);i.fields.set(F.name,F)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField)}},"MappedType"),bi=class bi extends S{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof S?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){var r;let t=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;if(e!=null&&e.scopes&&!((r=this.base)!=null&&r.inScope(e==null?void 0:e.scopes)))throw new TypeError(`Base type ${t?"("+t+")":""} of ${this.name?+this.name:"embedded"} type is not in required scope(s) [${e.scopes}`);return Xa({...S.prototype.toJSON.call(this,e),base:t||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required})}};a(bi,"MappedTypeClass");var Ai=bi;Fe.prototype=Ai.prototype;Fe._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as Ha}from"@jsopen/objects";import{asMutable as ep}from"ts-gems";var ot=a(function(...o){if(!this)return ot[w].apply(void 0,o);let[e,t,r]=o;S.call(this,e,t,r);let i=ep(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields.values()){let p=new P(this,s);i.fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Ni=class Ni extends S{extendsFrom(e){if(e instanceof O||(e=this.node.getDataType(e)),!(e instanceof S))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){return Ha({...S.prototype.toJSON.call(this),kind:this.kind,types:this.types.map(t=>{let r=this.node.getDataTypeNameWithNs(t);if(e!=null&&e.scopes&&!(t!=null&&t.inScope(e==null?void 0:e.scopes)))throw new TypeError(`Base type ${r?"("+r+")":""} of ${this.name?+this.name:"embedded"} type is not in required scope(s) [${e.scopes}`);return r||t.toJSON(e)})})}};a(Ni,"MixinTypeClass");var Di=Ni;ot.prototype=Di.prototype;ot[w]=tp;function tp(...o){let e=o.filter(s=>typeof s=="function"),t=typeof o[o.length-1]=="object"?o[o.length-1]:void 0;if(!e.length)throw new TypeError("No Class has been provided");if(e.length===1)return e[0];let r=e[0].name+"Mixin",i={[r]:class{constructor(){for(let s of e)cr(this,s)}}}[r],n={...t,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(E,n,i);for(let s of e){let p=Reflect.getMetadata(E,s);if(!(p&&(p.kind===m.ComplexType.Kind||p.kind===m.MixinType.Kind||p.kind===m.MappedType.Kind)))throw new TypeError(`Class "${s.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);n.types.push(s),pr(i.prototype,s.prototype)}return i}a(tp,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as Ii}from"@jsopen/objects";import{asMutable as rp}from"ts-gems";import{isAny as Rs}from"valgen";function Si(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(E,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(E,n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(Si,"SimpleTypeDecoratorFactory");function gs(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(E,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(E,r,e.constructor)}}a(gs,"AttributeDecoratorFactory");var u=a(function(...o){var n,s;if(!this)return u[w](...o);let[e,t,r]=o;O.call(this,e,t,r);let i=rp(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=M(t.attributes||{}),i.attributes=i.base?M(i.base.attributes):{},i.ownAttributes)for(let[p,c]of Object.entries(i.ownAttributes)){if((s=i.attributes[p])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);i.attributes[p]=c}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),Mi=class Mi extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let i={...this.properties,...r};if(e==="decode"){let s=this;for(;s;){if(s._generateDecoder)return s._generateDecoder(i,(t==null?void 0:t.documentElement)||this.owner);s=this.base}return Rs}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(i,(t==null?void 0:t.documentElement)||this.owner);n=this.base}return Rs}toJSON(e){var s;let t=Ii(this.ownAttributes),r;this.properties&&typeof this.properties.toJSON=="function"?r=this.properties.toJSON(this.properties,this.owner,e):r=this.properties?M(this.properties):{};let i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;if(e!=null&&e.scopes&&!((s=this.base)!=null&&s.inScope(e==null?void 0:e.scopes)))throw new TypeError(`Base type ${i?"("+i+")":""} of ${this.name?+this.name:"embedded"} type is not in required scope(s) [${e.scopes}`);let n=Ii({...O.prototype.toJSON.apply(this),base:this.base?i||this.base.toJSON(e):void 0,attributes:t&&Object.keys(t).length?t:void 0,properties:Object.keys(r).length?r:void 0});return Object.keys(this.ownNameMappings).length&&(n.nameMappings={...this.ownNameMappings}),Ii(n,!0)}};a(Mi,"SimpleTypeClass");var Li=Mi;u.prototype=Li.prototype;Object.assign(u,Si);u[w]=Si;u.Attribute=gs;var vi=Symbol("initializing"),mr=class mr{static async createDataType(e,t,r){e=e||new pe({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await mr.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[C];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new pe({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new D;for(let c of i)n.set(c.name,c);let s=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let y=this._createDataType(s,t,l);y&&p.push(y)});return p}static async _prepareAllInitArgs(e,t,r){let i=new D,n=new D,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[C])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let p=0;for(let c of r)await s.enterAsync(`$[${p++}]`,async()=>{c=await se(c);let l=Reflect.getMetadata(E,c)||c[E];if(!(l&&l.name))return typeof c=="function"?s.addError(`Class "${c.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await se(p),i.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(i.keys())){if(!i.has(p))continue;let c=await this._importDataTypeArgs(s,t,p);c&&typeof c!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r){var y;r=await se(r);let{importQueue:i,initArgsMap:n}=e,s=t.node.findDataType(r);if(s instanceof O)return s.name;let p,c,l;if(typeof r!="string"){let F=t.node.getDocument().types[ar].get(r);F&&(r=F)}if(typeof r=="string"){let d=r;if(r=(i==null?void 0:i.get(d))||((y=e.initArgsMap)==null?void 0:y.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(E,r),!p)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);c=r}else if(typeof r=="object"){if(p=r[E],p)l=r,p.kind!==m.EnumType.Kind&&(p=void 0);else if(m.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(E,c),p&&p.kind===m.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let F=n==null?void 0:n.get(p.name);if(F)return F[vi]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[vi]=!0;try{if(d.name)if(i!=null&&i.has(d.name))n==null||n.set(p.name,d),d._instance={name:p.name},d[C]=t.node[C];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case m.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case m.EnumType.Kind:d.instance=l,await this._prepareEnumTypeArgs(e,t,d,p);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case m.SimpleType.Kind:d.ctor=c,await this._prepareSimpleTypeArgs(e,t,d,p);break;default:return e.addError(`Invalid data type kind ${p.kind}`)}}finally{d.name&&(i==null||i.delete(d.name)),delete d[vi]}return i&&d.name?d.name:d}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=ke(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=ke(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof s=="string"?{type:s}:s;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:ke(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=ke(n))}),r.attributes=M(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,p,c;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let l;if(i.base)l=await this._importDataTypeArgs(e,t,i.base);else if(r.ctor){let y=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,y)&&(l=await this._importDataTypeArgs(e,t,y))}l&&(r.base=ke(l),r.ctor=r.ctor||l.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=M(i.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[T].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[x])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[x].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=ke(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(ke(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof O)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let p=n[C];switch(p||delete n._instance,i=n._instance,i!=null&&i.name&&p&&p.set(i.name,i),n==null?void 0:n.kind){case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Q.prototype);let n=M(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,p]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[s]={...p,name:s,type:c})})}),Q.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ce.prototype);let n=M(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,ce.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Fe.prototype);let n=M(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),Fe.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ot.prototype);let n=M(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof S))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),ot.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,u.prototype);let n=M(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(i,[t,n]),i}};a(mr,"DataTypeFactory");var I=mr;function ke(o){return typeof o=="object"&&o.name?o.name:o}a(ke,"preferName");import{isConstructor as bp}from"@jsopen/objects";import{omitUndefined as op}from"@jsopen/objects";var Pi=class Pi extends g{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return op({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!j.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};a(Pi,"ApiBase");var nt=Pi;import ap from"path-browserify";import{omitUndefined as pp}from"@jsopen/objects";import{asMutable as cp}from"ts-gems";var ws,As,X=Symbol.for("kMap"),Kt=Symbol.for("kCtorMap"),Fi=class Fi{constructor(){this[ws]=new D,this[As]=new WeakMap}get size(){return this[X].size}forEach(e,t){this[X].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Kt].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(E,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[E];t=i==null?void 0:i.name}if(!t)return;let r=this[X].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[X].set(e,t),t.ctor?this[Kt].set(t.ctor,e):t.instance&&this[Kt].set(t.instance,e)}has(e){if(e instanceof O)return!!e.name&&this[X].has(e.name);let t=typeof e=="string"?e:this[Kt].get(e);return t?this[X].has(t):!1}keys(){return this[X].keys()}values(){return this[X].values()}entries(){return this[X].entries()}sort(e){return this[X].sort(e),this}[(ws=X,As=Kt,Symbol.iterator)](){return this[X][Symbol.iterator]()}};a(Fi,"DataTypeMap");var Z=Fi;import{merge as ki,omit as np}from"@jsopen/objects";var sp=/^(.*)(Controller)$/;function ji(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=sp.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(te,Object.getPrototypeOf(r));s&&ki(n,s,{deep:!0});let p=Reflect.getOwnMetadata(te,r);p&&ki(n,p,{deep:!0}),ki(n,{kind:m.HttpController.Kind,name:i,path:i,...np(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(te,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(te,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var p;(p=n.path)!=null&&p.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(ji,"HttpControllerDecoratorFactory");var H=a(function(...o){var i;if(!this)return H[w].apply(void 0,o);let[e,t]=o;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=cp(this);r.kind=m.HttpController.Kind,r.types=r.node[C]=new Z,r.operations=new D,r.controllers=new D,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Ui=class Ui extends g{get isRoot(){return!(this.owner instanceof H)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof H)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return ap.posix.join(this.owner instanceof H?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=pp({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[tt](){return`[${rt}HttpController${it+this.name+Pe}]`}};a(Ui,"HttpControllerClass");var Ci=Ui;H.prototype=Ci.prototype;Object.assign(H,ji);H[w]=ji;var $i=class $i extends nt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new D,this.url=e.url}findController(e){return H.prototype.findController.call(this,e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(e){let r={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON(e);return r}};a($i,"HttpApi");var st=$i;import lp from"@browsery/type-is";import{omitUndefined as fp}from"@jsopen/objects";import{asMutable as up}from"ts-gems";import{isAny as mp,vg as dp}from"valgen";var we=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');g.call(this,o);let t=up(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof O?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Bi=class Bi extends g{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=fp({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t){let r;return this.type?r=this.type.generateCodec(e,t):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(n=>lp.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||mp,this.isArray?dp.isArray(r):r}};a(Bi,"HttpMediaTypeClass");var qi=Bi;we.prototype=qi.prototype;import{omitUndefined as hp}from"@jsopen/objects";function at(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(at,"parseRegExp");var Vi=class Vi extends we{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?at(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return hp({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Vi,"HttpMultipartField");var dr=Vi;import yp from"path-browserify";import{omitUndefined as Tp}from"@jsopen/objects";import{asMutable as Ep}from"ts-gems";var bs;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(bs||(bs={}));var A;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(A||(A={}));var mh={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var L;(function(o){o.json="application/json",o.opra_response_json="application/opra.response+json",o.xml="application/XML",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream"})(L||(L={}));function k(o,e){let t=a((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(te,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n);Reflect.defineMetadata(te,s,r.constructor)},"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="cookie"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="header"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="query"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="path"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType||L.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===L.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),o.push(s=>{s.responses=s.responses||[],s.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||L.json,i.contentEncoding=i.contentEncoding||"utf-8"),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),s},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(k,"HttpOperationDecoratorFactory");var N=a(function(...o){if(!this){let[i]=o,n=[];return N[w].call(void 0,n,i)}let[e,t]=o;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Ep(this);r.parameters=[],r.responses=[],r.types=r.node[C]=new Z,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?M(t.compositionOptions):void 0},"HttpOperation"),zi=class zi extends g{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:yp.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=Tp({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(zi,"HttpOperationClass");var Ki=zi;N.prototype=Ki.prototype;N[w]=k;N.GET=function(o){return k([],{...o,method:"GET"})};N.DELETE=function(o){return k([],{...o,method:"DELETE"})};N.HEAD=function(o){return k([],{...o,method:"HEAD"})};N.OPTIONS=function(o){return k([],{...o,method:"OPTIONS"})};N.PATCH=function(o){return k([],{...o,method:"PATCH"})};N.POST=function(o){return k([],{...o,method:"POST"})};N.PUT=function(o){return k([],{...o,method:"PUT"})};N.SEARCH=function(o){return k([],{...o,method:"SEARCH"})};import{omitUndefined as xp}from"@jsopen/objects";var _p=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Ji=class Ji{constructor(e,t){if(this.start=0,this.end=0,e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=_p.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a(Ji,"HttpStatusRange");var zt=Ji;var Wi=class Wi extends we{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new zt(r.start,r.end):new zt(r)),this.partial=t.partial}findParameter(e,t){e=e.toLowerCase();for(let r of this.parameters)if((!t||t===r.location)&&(r.name instanceof RegExp&&r.name.test(e)||r.name===e))return r}toJSON(e){let t=this.statusCode.map(i=>i.toJSON()),r=xp({...super.toJSON(e),statusCode:t.length===1&&typeof t[0]=="number"?t[0]:t,partial:this.partial});if(this.parameters.length){r.parameters=[];for(let i of this.parameters)r.parameters.push(i.toJSON(e))}return r}};a(Wi,"HttpOperationResponse");var hr=Wi;import{omitUndefined as Rp}from"@jsopen/objects";import{asMutable as wp}from"ts-gems";import{omitUndefined as Op}from"@jsopen/objects";import{asMutable as gp}from"ts-gems";var je=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');g.call(this,o);let t=gp(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Yi=class Yi extends g{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Op({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Yi,"ValueClass");var Gi=Yi;je.prototype=Gi.prototype;var Jt=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');je.call(this,o,e);let t=wp(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?at(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam},"HttpParameter"),Xi=class Xi extends je{toJSON(e){return Rp({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(Xi,"HttpParameterClass");var Qi=Xi;Jt.prototype=Qi.prototype;import{omitUndefined as Ap}from"@jsopen/objects";var Zi=class Zi extends g{constructor(e){super(e),this.content=[]}toJSON(e){return Ap({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(t=>t.toJSON(e)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};a(Zi,"HttpRequestBody");var yr=Zi;var Hi=class Hi{static async createApi(e,t){let r=new st(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let p=await this._createController(e,t,s.metadata,s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(p.name,p))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let p=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!bp(r)&&(r=t instanceof H?r(t.instance):r()),r=await se(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(te,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(te,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new H(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let p=0;for(let c of r.parameters)await e.enterAsync(`[${p++}]`,async()=>{let l={...c};await e.enterAsync(".type",async()=>{l.type=await I.resolveDataType(e,s,c.type)});let y=new Jt(s,l);s.parameters.push(y)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let l=new N(s,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),s.operations.set(p,l)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return N.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let p={...s};await e.enterAsync(".type",async()=>{p.type=await I.resolveDataType(e,t,s.type)});let c=new Jt(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new hr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new yr(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){we.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await I.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new dr(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await I.resolveDataType(e,t,n.type)});let p=new Jt(t,s);t.parameters.push(p)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new we(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(Hi,"HttpApiFactory");var pt=Hi;import{omitUndefined as Np}from"@jsopen/objects";import{md5 as Sp}from"super-fast-md5";var eo=class eo extends nt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new D,this.platform=e.platform}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(eo,"RpcApi");var ct=eo;var Ds,to=class to extends g{constructor(){super(null),this[Ds]=new WeakMap,this.id="",this.info={},this.references=new D,this.types=new Z,this.node[C]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof O?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[Re].get(t)}findDocument(e){if(this.id===e)return this;for(let t of this.references.values()){if(t.id===e)return t;let r=t.findDocument(e);if(r)return r}}get httpApi(){if(!(this.api&&this.api instanceof st))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof ct))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(e){let t=Np({spec:m.SpecVersion,id:this.id,url:this.url,info:M(this.info,!0)});if(e=e||{scopes:this.scopes},this.references.size){let r=0,i={};for(let[n,s]of this.references.entries())s[Me]||(i[n]={id:s.id,url:s.url,info:M(s.info,!0)},r++);r&&(t.references=i)}if(this.types.size){t.types={};for(let r of this.types.values())r.inScope(e.scopes)&&(t.types[r.name]=r.toJSON(e))}return this.api&&(t.api=this.api.toJSON(e)),t}invalidate(){let e=this.export({});delete e.id,this.id=Sp(JSON.stringify(e)),this[Re]=new WeakMap}_findDataType(e,t,r){let i=this.types.get(e);if(i&&i.inScope(t))return i;if(!this.references.size)return;if(typeof e=="string"){let s=ls.exec(e);if(s){let p=s[1];if(p){let c=this.references.get(p);return c?(r=r||new WeakMap,r.set(this,!0),r.set(c,!0),c._findDataType(s[2],t,r)):void 0}e=s[2]}}r=r||new WeakMap,r.set(this,!0);let n=Array.from(this.references.keys()).reverse();for(let s of n){let p=this.references.get(s);if(i=p==null?void 0:p.types.get(e),i)return this[Re].set(i,p!=null&&p[Me]?"":s),i}for(let s of n){let p=this.references.get(s);if(r.set(p,!0),i=p._findDataType(e,t,r),i)return this[Re].set(i,p!=null&&p[Me]?"":s),i}}};a(to,"ApiDocument");var Ce=to;Ds=Re;import{__decorate as Ip,__metadata as Lp}from"tslib";import{vg as Ns}from"valgen";var lt,Tr=(lt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ns.isBase64({coerce:!0})}[x](){return Ns.isBase64({coerce:!0})}},a(lt,"Base64Type"),lt);Tr=Ip([u({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Lp("design:paramtypes",[Object])],Tr);import{__decorate as ro,__metadata as io}from"tslib";import{isDateString as Er,toString as Ss,vg as Ae}from"valgen";var ft,ut=(ft=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ae.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&(Er(e.minValue),r.push(Ss,Ae.isGte(e.minValue))),e.maxValue&&(Er(e.maxValue),r.push(Ss,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=Ae.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue&&(Er(e.minValue),r.push(Ae.isGte(e.minValue))),e.maxValue&&(Er(e.maxValue),r.push(Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}},a(ft,"DateType"),ft);ro([u.Attribute({description:"Minimum value"}),io("design:type",String)],ut.prototype,"minValue",void 0);ro([u.Attribute({description:"Maximum value"}),io("design:type",String)],ut.prototype,"maxValue",void 0);ut=ro([u({name:"date",description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),io("design:paramtypes",[Object])],ut);import{__decorate as oo,__metadata as no}from"tslib";import{vg as _r}from"valgen";var mt,dt=(mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=_r.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue&&r.push(_r.isGte(e.minValue)),e.maxValue&&r.push(_r.isLte(e.maxValue)),r.length>0?_r.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[T](e)}},a(mt,"DateStringType"),mt);oo([u.Attribute({description:"Minimum value"}),no("design:type",String)],dt.prototype,"minValue",void 0);oo([u.Attribute({description:"Maximum value"}),no("design:type",String)],dt.prototype,"maxValue",void 0);dt=oo([u({name:"datestring",description:"Date string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value").Example("2021-04","Date value without day").Example("2021","Year only value"),no("design:paramtypes",[Object])],dt);import{__decorate as so,__metadata as ao}from"tslib";import{isDateString as xr,toString as Is,vg as be}from"valgen";var ht,yt=(ht=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=be.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&(xr(e.minValue),r.push(Is,be.isGte(e.minValue))),e.maxValue&&(xr(e.maxValue),r.push(Is,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=be.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&(xr(e.minValue),r.push(be.isGte(e.minValue))),e.maxValue&&(xr(e.maxValue),r.push(be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}},a(ht,"DateTimeType"),ht);so([u.Attribute({description:"Minimum value"}),ao("design:type",String)],yt.prototype,"minValue",void 0);so([u.Attribute({description:"Maximum value"}),ao("design:type",String)],yt.prototype,"maxValue",void 0);yt=so([u({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),ao("design:paramtypes",[Object])],yt);import{__decorate as po,__metadata as co}from"tslib";import{vg as Or}from"valgen";var Tt,Et=(Tt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Or.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(Or.isGte(e.minValue)),e.maxValue&&r.push(Or.isLte(e.maxValue)),r.length>0?Or.pipe([t,...r]):t}[x](e){return this[T](e)}},a(Tt,"DateTimeStringType"),Tt);po([u.Attribute({description:"Minimum value"}),co("design:type",String)],Et.prototype,"minValue",void 0);po([u.Attribute({description:"Maximum value"}),co("design:type",String)],Et.prototype,"maxValue",void 0);Et=po([u({name:"datetimestring",description:"DateTime string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+01:00","Full date-time value with timezone").Example("2021-04-18T22:30:15","Full date-time value without timezone").Example("2021-04-18 22:30","Date-time value").Example("2021-04-18","Date value").Example("2021-04","Date value without day").Example("2021","Year only value"),co("design:paramtypes",[Object])],Et);import{__decorate as le,__metadata as fe}from"tslib";import{vg as Ls}from"valgen";var _t,J=(_t=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Ls.isEmail({...e,coerce:!0})}[x](e){return Ls.isEmail({...e,coerce:!0})}},a(_t,"EmailType"),_t);le([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),fe("design:type",Boolean)],J.prototype,"allowDisplayName",void 0);le([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),fe("design:type",Boolean)],J.prototype,"requireDisplayName",void 0);le([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),fe("design:type",Boolean)],J.prototype,"utf8LocalPart",void 0);le([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),fe("design:type",Boolean)],J.prototype,"ignoreMaxLength",void 0);le([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),fe("design:type",Boolean)],J.prototype,"allowIpDomain",void 0);le([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),fe("design:type",Boolean)],J.prototype,"domainSpecificValidation",void 0);le([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),fe("design:type",Array)],J.prototype,"hostBlacklist",void 0);le([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),fe("design:type",Array)],J.prototype,"hostWhitelist",void 0);le([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),fe("design:type",String)],J.prototype,"blacklistedChars",void 0);J=le([u({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),fe("design:paramtypes",[Object])],J);import{__decorate as lo,__metadata as fo}from"tslib";import{toString as Mp,validator as vp,vg as Pp}from"valgen";var xt,W=(xt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.allowSigns,n=vp("decodeFieldPath",s=>r.normalizeFieldPath(s,{allowSigns:i}));return Pp.pipe([Mp,n])}[x](e,t){return this[T](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=i?t.node.getDataTypeNameWithNs(i):void 0;if(r!=null&&r.scopes&&!i.inScope(r==null?void 0:r.scopes))throw new TypeError(`Data type ${n?"("+n+")":""} is not in required scope(s) [${r.scopes}`);return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(xt,"FieldPathType"),xt);lo([u.Attribute({description:"Data type which field belong to"}),fo("design:type",Object)],W.prototype,"dataType",void 0);lo([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),fo("design:type",String)],W.prototype,"allowSigns",void 0);W=lo([u({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),fo("design:paramtypes",[Object])],W);import{__decorate as Kn,__metadata as zn}from"tslib";import{validator as Qs}from"valgen";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as sc}from"@jsopen/objects";import{isString as ac}from"valgen";var uo=class uo extends Te{constructor(e,t,r){super(e,t instanceof Error?t:void 0),this.status=(typeof t=="number"?t:Number(r))||500}setStatus(e){return this.status=e,this}initError(e){typeof e.status=="number"?this.status=e.status:typeof e.getStatus=="function"&&(this.status=e.getStatus()),super.initError(e)}};a(uo,"OpraHttpError");var b=uo;var mo=class mo extends b{constructor(){super(...arguments),this.status=400}init(e){super.init({message:R("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};a(mo,"BadRequestError");var Ms=mo;var ho=class ho extends b{constructor(){super(...arguments),this.status=409}init(e){super.init({message:R("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};a(ho,"ConflictError");var vs=ho;var yo=class yo extends b{constructor(){super(...arguments),this.status=424}init(e){super.init({message:R("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};a(yo,"FailedDependencyError");var Ps=yo;var To=class To extends b{constructor(){super(...arguments),this.status=A.FORBIDDEN}init(e){super.init({message:R("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};a(To,"ForbiddenError");var gr=To;var Eo=class Eo extends b{constructor(){super(...arguments),this.status=500}init(e){super.init({message:R("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(Eo,"InternalServerError");var Fs=Eo;var _o=class _o extends b{constructor(){super(...arguments),this.status=405}init(e){super.init({message:R("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};a(_o,"MethodNotAllowedError");var ks=_o;var xo=class xo extends b{constructor(){super(...arguments),this.status=406}init(e){super.init({message:R("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};a(xo,"NotAcceptableError");var js=xo;var Oo=class Oo extends b{constructor(){super(...arguments),this.status=404}init(e){super.init({message:R("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};a(Oo,"NotFoundError");var Cs=Oo;var go=class go extends gr{init(e){super.init({message:R("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};a(go,"PermissionError");var Us=go;var Ro=class Ro extends b{constructor(e,t,r){super({message:R("error:RESOURCE_CONFLICT",{resource:e,fields:t},"There is already an other {{resource}} resource with same values ({{fields}})"),severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(Ro,"ResourceConflictError");var $s=Ro;var wo=class wo extends b{constructor(e,t,r){super({message:R("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,A.UNPROCESSABLE_ENTITY)}};a(wo,"ResourceNotAvailableError");var qs=wo;var Ao=class Ao extends b{constructor(){super(...arguments),this.status=401}init(e){super.init({message:R("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};a(Ao,"UnauthorizedError");var Bs=Ao;var bo=class bo extends b{constructor(){super(...arguments),this.status=422}init(e){super.init({message:R("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(bo,"UnprocessableEntityError");var Vs=bo;var Ks;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(Ks||(Ks={}));var Do=class Do{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Do,"Ast");var Wt=Do;var No=class No extends Wt{};a(No,"Expression");var U=No;var So=class So extends U{};a(So,"Term");var Ue=So;var Io=class Io extends Ue{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Io,"Literal");var v=Io;var Lo=class Lo extends U{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Rr({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(Lo,"ArithmeticExpression");var $e=Lo,Mo=class Mo{constructor(e){Object.assign(this,e)}};a(Mo,"ArithmeticExpressionItem");var Rr=Mo;var vo=class vo extends Ue{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(vo,"ArrayExpression");var Ee=vo;var Fp=/\w/,Po=class Po extends U{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${Fp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Po,"ComparisonExpression");var ue=Po;var Fo=class Fo extends U{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};a(Fo,"LogicalExpression");var me=Fo;var ko=class ko extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(ko,"NegativeExpression");var Gt=ko;var jo=class jo extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(jo,"ParenthesizedExpression");var _e=jo;var Co=class Co extends v{constructor(e){super(e)}};a(Co,"BooleanLiteral");var qe=Co;import{toDateDef as qp}from"putil-varhelpers";var Uo=class Uo extends TypeError{};a(Uo,"SyntaxError");var wr=Uo,$o=class $o extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a($o,"FilterValidationError");var De=$o,qo=class qo extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(qo,"FilterParseError");var Ar=qo;var kp=/'/g,jp=/(\\)/g,Cp=/\\(.)/g;function Up(o){return o.replace(jp,"\\\\")}a(Up,"escapeString");function $p(o){return o.replace(Cp,"$1")}a($p,"unescapeString");function Ot(o){return"'"+Up(o).replace(kp,"\\'")+"'"}a(Ot,"quoteFilterString");function Yt(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?$p(o.substring(1,o.length-1)):o}a(Yt,"unquoteFilterString");var zs=new Date(0),Bo=class Bo extends v{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&qp(e,zs)!==zs){this.value=e;return}throw new De(`Invalid date value "${e}"`)}toString(){return Ot(this.value)}};a(Bo,"DateLiteral");var xe=Bo;var Vo=class Vo extends v{constructor(){super(null),this.value=null}};a(Vo,"NullLiteral");var Be=Vo;var Ko=class Ko extends v{constructor(e){if(super(0),typeof e=="number"||typeof e=="bigint"){this.value=e;return}try{if(typeof e=="string"){if(e.includes(".")){this.value=parseFloat(e);return}let t=Number(e);""+t===e?this.value=t:this.value=BigInt(e);return}}catch{}throw new De(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(Ko,"NumberLiteral");var Oe=Ko;var zo=class zo extends v{constructor(e){super(""+e)}};a(zo,"QualifiedIdentifier");var oe=zo;var Jo=class Jo extends v{constructor(e){super(""+e)}toString(){return Ot(this.value)}};a(Jo,"StringLiteral");var Ve=Jo;var Bp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Wo=class Wo extends v{constructor(e){if(super(""),e instanceof Date){this.value=br(e.getHours())+":"+br(e.getMinutes())+(e.getSeconds()?":"+br(e.getSeconds()):"")+(e.getMilliseconds()?"."+br(e.getMilliseconds()):"");return}if(typeof e=="string"&&Bp.test(e)){this.value=e;return}throw new De(`Invalid time value "${e}"`)}toString(){return Ot(this.value)}};a(Wo,"TimeLiteral");var Ke=Wo;function br(o){return o<=9?"0"+o:""+o}a(br,"pad");import{CharStream as oc,CommonTokenStream as nc}from"@browsery/antlr4";import{ATNDeserializer as Vp,DFA as Kp,Lexer as zp,LexerATNSimulator as Jp,PredictionContextCache as Wp,Token as Gp}from"@browsery/antlr4";var B=class B extends zp{constructor(e){super(e),this._interp=new Jp(this,B._ATN,B.DecisionsToDFA,new Wp)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return B.literalNames}get symbolicNames(){return B.symbolicNames}get ruleNames(){return B.ruleNames}get serializedATN(){return B._serializedATN}get channelNames(){return B.channelNames}get modeNames(){return B.modeNames}static get _ATN(){return B.__ATN||(B.__ATN=new Vp().deserialize(B._serializedATN)),B.__ATN}};a(B,"OpraFilterLexer");var h=B;h.T__0=1;h.T__1=2;h.T__2=3;h.T__3=4;h.T__4=5;h.T__5=6;h.T__6=7;h.T__7=8;h.T__8=9;h.T__9=10;h.T__10=11;h.T__11=12;h.T__12=13;h.T__13=14;h.T__14=15;h.T__15=16;h.T__16=17;h.T__17=18;h.T__18=19;h.T__19=20;h.T__20=21;h.T__21=22;h.T__22=23;h.T__23=24;h.T__24=25;h.T__25=26;h.T__26=27;h.T__27=28;h.T__28=29;h.T__29=30;h.T__30=31;h.T__31=32;h.T__32=33;h.T__33=34;h.IDENTIFIER=35;h.POLAR_OP=36;h.DATE=37;h.DATETIME=38;h.TIME=39;h.NUMBER=40;h.INTEGER=41;h.STRING=42;h.WHITESPACE=43;h.EOF=Gp.EOF;h.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];h.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];h.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];h.modeNames=["DEFAULT_MODE"];h.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];h._serializedATN=[4,0,43,426,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,256,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,266,8,38,1,39,3,39,269,8,39,1,39,4,39,272,8,39,11,39,12,39,273,1,39,1,39,5,39,278,8,39,10,39,12,39,281,9,39,3,39,283,8,39,1,39,1,39,3,39,287,8,39,1,39,4,39,290,8,39,11,39,12,39,291,3,39,294,8,39,1,39,1,39,1,39,1,39,4,39,300,8,39,11,39,12,39,301,3,39,304,8,39,1,40,3,40,307,8,40,1,40,4,40,310,8,40,11,40,12,40,311,1,40,1,40,1,40,1,40,4,40,318,8,40,11,40,12,40,319,3,40,322,8,40,1,41,1,41,1,41,5,41,327,8,41,10,41,12,41,330,9,41,1,41,1,41,1,41,1,41,5,41,336,8,41,10,41,12,41,339,9,41,1,41,3,41,342,8,41,1,42,4,42,345,8,42,11,42,12,42,346,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,362,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,371,8,44,1,45,1,45,1,45,1,45,3,45,377,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,389,8,45,11,45,12,45,390,3,45,393,8,45,3,45,395,8,45,1,46,1,46,1,46,3,46,400,8,46,1,46,1,46,1,46,3,46,405,8,46,1,46,1,46,1,46,3,46,410,8,46,3,46,412,8,46,1,47,1,47,1,47,3,47,417,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,453,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,255,1,0,0,0,77,265,1,0,0,0,79,303,1,0,0,0,81,321,1,0,0,0,83,341,1,0,0,0,85,344,1,0,0,0,87,350,1,0,0,0,89,352,1,0,0,0,91,376,1,0,0,0,93,411,1,0,0,0,95,413,1,0,0,0,97,418,1,0,0,0,99,424,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,256,1,0,0,0,248,249,5,34,0,0,249,250,3,89,44,0,250,251,5,84,0,0,251,252,3,91,45,0,252,253,3,93,46,0,253,254,5,34,0,0,254,256,1,0,0,0,255,241,1,0,0,0,255,248,1,0,0,0,256,76,1,0,0,0,257,258,5,39,0,0,258,259,3,91,45,0,259,260,5,39,0,0,260,266,1,0,0,0,261,262,5,34,0,0,262,263,3,91,45,0,263,264,5,34,0,0,264,266,1,0,0,0,265,257,1,0,0,0,265,261,1,0,0,0,266,78,1,0,0,0,267,269,3,71,35,0,268,267,1,0,0,0,268,269,1,0,0,0,269,271,1,0,0,0,270,272,3,87,43,0,271,270,1,0,0,0,272,273,1,0,0,0,273,271,1,0,0,0,273,274,1,0,0,0,274,282,1,0,0,0,275,279,5,46,0,0,276,278,3,87,43,0,277,276,1,0,0,0,278,281,1,0,0,0,279,277,1,0,0,0,279,280,1,0,0,0,280,283,1,0,0,0,281,279,1,0,0,0,282,275,1,0,0,0,282,283,1,0,0,0,283,293,1,0,0,0,284,286,5,69,0,0,285,287,7,2,0,0,286,285,1,0,0,0,286,287,1,0,0,0,287,289,1,0,0,0,288,290,3,87,43,0,289,288,1,0,0,0,290,291,1,0,0,0,291,289,1,0,0,0,291,292,1,0,0,0,292,294,1,0,0,0,293,284,1,0,0,0,293,294,1,0,0,0,294,304,1,0,0,0,295,296,5,48,0,0,296,297,5,120,0,0,297,299,1,0,0,0,298,300,3,99,49,0,299,298,1,0,0,0,300,301,1,0,0,0,301,299,1,0,0,0,301,302,1,0,0,0,302,304,1,0,0,0,303,268,1,0,0,0,303,295,1,0,0,0,304,80,1,0,0,0,305,307,3,71,35,0,306,305,1,0,0,0,306,307,1,0,0,0,307,309,1,0,0,0,308,310,3,87,43,0,309,308,1,0,0,0,310,311,1,0,0,0,311,309,1,0,0,0,311,312,1,0,0,0,312,322,1,0,0,0,313,314,5,48,0,0,314,315,5,120,0,0,315,317,1,0,0,0,316,318,3,99,49,0,317,316,1,0,0,0,318,319,1,0,0,0,319,317,1,0,0,0,319,320,1,0,0,0,320,322,1,0,0,0,321,306,1,0,0,0,321,313,1,0,0,0,322,82,1,0,0,0,323,328,5,39,0,0,324,327,3,95,47,0,325,327,8,3,0,0,326,324,1,0,0,0,326,325,1,0,0,0,327,330,1,0,0,0,328,326,1,0,0,0,328,329,1,0,0,0,329,331,1,0,0,0,330,328,1,0,0,0,331,342,5,39,0,0,332,337,5,34,0,0,333,336,3,95,47,0,334,336,8,4,0,0,335,333,1,0,0,0,335,334,1,0,0,0,336,339,1,0,0,0,337,335,1,0,0,0,337,338,1,0,0,0,338,340,1,0,0,0,339,337,1,0,0,0,340,342,5,34,0,0,341,323,1,0,0,0,341,332,1,0,0,0,342,84,1,0,0,0,343,345,7,5,0,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,348,1,0,0,0,348,349,6,42,0,0,349,86,1,0,0,0,350,351,7,6,0,0,351,88,1,0,0,0,352,353,7,6,0,0,353,354,7,6,0,0,354,355,7,6,0,0,355,356,7,6,0,0,356,361,5,45,0,0,357,358,7,7,0,0,358,362,7,8,0,0,359,360,7,9,0,0,360,362,7,10,0,0,361,357,1,0,0,0,361,359,1,0,0,0,362,363,1,0,0,0,363,370,5,45,0,0,364,365,7,11,0,0,365,371,7,7,0,0,366,367,7,10,0,0,367,371,7,8,0,0,368,369,5,51,0,0,369,371,5,49,0,0,370,364,1,0,0,0,370,366,1,0,0,0,370,368,1,0,0,0,371,90,1,0,0,0,372,373,7,12,0,0,373,377,7,6,0,0,374,375,5,50,0,0,375,377,7,13,0,0,376,372,1,0,0,0,376,374,1,0,0,0,377,378,1,0,0,0,378,379,5,58,0,0,379,380,7,14,0,0,380,381,7,6,0,0,381,394,1,0,0,0,382,383,5,58,0,0,383,384,7,14,0,0,384,385,7,6,0,0,385,392,1,0,0,0,386,388,5,46,0,0,387,389,7,6,0,0,388,387,1,0,0,0,389,390,1,0,0,0,390,388,1,0,0,0,390,391,1,0,0,0,391,393,1,0,0,0,392,386,1,0,0,0,392,393,1,0,0,0,393,395,1,0,0,0,394,382,1,0,0,0,394,395,1,0,0,0,395,92,1,0,0,0,396,412,5,90,0,0,397,404,7,2,0,0,398,400,7,12,0,0,399,398,1,0,0,0,399,400,1,0,0,0,400,401,1,0,0,0,401,405,7,6,0,0,402,403,5,50,0,0,403,405,7,13,0,0,404,399,1,0,0,0,404,402,1,0,0,0,405,409,1,0,0,0,406,407,5,58,0,0,407,408,7,14,0,0,408,410,7,6,0,0,409,406,1,0,0,0,409,410,1,0,0,0,410,412,1,0,0,0,411,396,1,0,0,0,411,397,1,0,0,0,412,94,1,0,0,0,413,416,5,92,0,0,414,417,3,97,48,0,415,417,9,0,0,0,416,414,1,0,0,0,416,415,1,0,0,0,417,96,1,0,0,0,418,419,5,117,0,0,419,420,3,99,49,0,420,421,3,99,49,0,421,422,3,99,49,0,422,423,3,99,49,0,423,98,1,0,0,0,424,425,7,15,0,0,425,100,1,0,0,0,35,0,226,239,255,265,268,273,279,282,286,291,293,301,303,306,311,319,321,326,328,335,337,341,346,361,370,376,390,392,394,399,404,409,411,416,1,0,1,0];h.DecisionsToDFA=h._ATN.decisionToState.map((o,e)=>new Kp(o,e));var Js=h;import{ATN as Ws,ATNDeserializer as Yp,DFA as Qp,FailedPredicateException as Xp,NoViableAltException as Go,Parser as Zp,ParserATNSimulator as Hp,ParserRuleContext as q,PredictionContextCache as ec,RecognitionException as $,Token as tc}from"@browsery/antlr4";var _=class _ extends Zp{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return _.literalNames}get symbolicNames(){return _.symbolicNames}get ruleNames(){return _.ruleNames}get serializedATN(){return _._serializedATN}createFailedPredicateException(e,t){return new Xp(this,e,t)}constructor(e){super(e),this._interp=new Hp(this,_._ATN,_.DecisionsToDFA,new ec)}root(){let e=new Yo(this,this._ctx,this.state);this.enterRule(e,0,_.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(_.EOF)}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new G(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,_.RULE_expression,e);let p;try{let c;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new Zo(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new Qo(this,i),this._ctx=i,n=i,this.state=42,this.match(_.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(_.T__1);break;case 3:case 4:i=new Xo(this,i),this._ctx=i,n=i,this.state=46,p=this._input.LA(1),p===3||p===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new Go(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==Ws.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Qt(this,new G(this,t,r)),this.pushNewRecursionContext(i,s,_.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(c){if(c instanceof $)i.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new Dr(this,this._ctx,this.state);this.enterRule(e,4,_.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new Nr(this,this._ctx,this.state);this.enterRule(e,6,_.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new Go(this)}}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new Sr(this,this._ctx,this.state);this.enterRule(e,8,_.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new K(this,this._ctx,this.state);this.enterRule(e,10,_.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new an(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(_.NUMBER);break;case 13:case 14:e=new nn(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new sn(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new en(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 37:e=new on(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(_.DATE);break;case 38:e=new tn(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(_.DATETIME);break;case 39:e=new Ho(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(_.TIME);break;case 42:e=new rn(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(_.STRING);break;default:throw new Go(this)}}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new Xt(this,this._ctx,this.state);this.enterRule(e,12,_.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==Ws.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(_.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new Ir(this,this._ctx,this.state);this.enterRule(e,14,_.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(_.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new gt(this,this._ctx,this.state);this.enterRule(e,16,_.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(_.IDENTIFIER)}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new Lr(this,this._ctx,this.state);this.enterRule(e,18,_.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(_.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(_.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(_.T__8)}}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new Mr(this,this._ctx,this.state);this.enterRule(e,20,_.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new vr(this,this._ctx,this.state);this.enterRule(e,22,_.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(_.T__11)}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new Pr(this,this._ctx,this.state);this.enterRule(e,24,_.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new pn(this,this._ctx,this.state);this.enterRule(e,26,_.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),!(t&-32)&&1<<t&491520?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new Fr(this,this._ctx,this.state);this.enterRule(e,28,_.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),!(t&-32)&&1<<t&2146959360?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new kr(this,this._ctx,this.state);this.enterRule(e,30,_.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),!(t-31&-32)&&1<<t-31&15?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new cn(this,this._ctx,this.state);this.enterRule(e,32,_.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(_.POLAR_OP)}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return _.__ATN||(_.__ATN=new Yp().deserialize(_._serializedATN)),_.__ATN}};a(_,"OpraFilterParser");var f=_;f.T__0=1;f.T__1=2;f.T__2=3;f.T__3=4;f.T__4=5;f.T__5=6;f.T__6=7;f.T__7=8;f.T__8=9;f.T__9=10;f.T__10=11;f.T__11=12;f.T__12=13;f.T__13=14;f.T__14=15;f.T__15=16;f.T__16=17;f.T__17=18;f.T__18=19;f.T__19=20;f.T__20=21;f.T__21=22;f.T__22=23;f.T__23=24;f.T__24=25;f.T__25=26;f.T__26=27;f.T__27=28;f.T__28=29;f.T__29=30;f.T__30=31;f.T__31=32;f.T__32=33;f.T__33=34;f.IDENTIFIER=35;f.POLAR_OP=36;f.DATE=37;f.DATETIME=38;f.TIME=39;f.NUMBER=40;f.INTEGER=41;f.STRING=42;f.WHITESPACE=43;f.EOF=tc.EOF;f.RULE_root=0;f.RULE_expression=1;f.RULE_comparisonLeft=2;f.RULE_comparisonRight=3;f.RULE_parenthesizedItem=4;f.RULE_value=5;f.RULE_qualifiedIdentifier=6;f.RULE_externalConstant=7;f.RULE_identifier=8;f.RULE_arrayValue=9;f.RULE_boolean=10;f.RULE_null=11;f.RULE_infinity=12;f.RULE_arithmeticOperator=13;f.RULE_comparisonOperator=14;f.RULE_logicalOperator=15;f.RULE_polarityOperator=16;f.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];f.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];f.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];f._serializedATN=[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,37,0,0,74,78,5,38,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100];f.DecisionsToDFA=f._ATN.decisionToState.map((o,e)=>new Qp(o,e));var Gs=f,ln=class ln extends q{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(G,0)}EOF(){return this.getToken(f.EOF,0)}get ruleIndex(){return f.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(ln,"RootContext");var Yo=ln,fn=class fn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(fn,"ExpressionContext");var G=fn,un=class un extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Sr,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(un,"ParenthesizedExpressionContext");var Qo=un,mn=class mn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(G,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(mn,"NegativeExpressionContext");var Xo=mn,dn=class dn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(Dr,0)}comparisonOperator(){return this.getTypedRuleContext(Fr,0)}comparisonRight(){return this.getTypedRuleContext(Nr,0)}enterRule(e){e.enterComparisonExpression&&e.enterComparisonExpression(this)}exitRule(e){e.exitComparisonExpression&&e.exitComparisonExpression(this)}accept(e){return e.visitComparisonExpression?e.visitComparisonExpression(this):e.visitChildren(this)}};a(dn,"ComparisonExpressionContext");var Zo=dn,hn=class hn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(G)}expression(e){return this.getTypedRuleContext(G,e)}logicalOperator(){return this.getTypedRuleContext(kr,0)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}};a(hn,"LogicalExpressionContext");var Qt=hn,yn=class yn extends q{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}get ruleIndex(){return f.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(yn,"ComparisonLeftContext");var Dr=yn,Tn=class Tn extends q{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(K,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}externalConstant(){return this.getTypedRuleContext(Ir,0)}arrayValue(){return this.getTypedRuleContext(Lr,0)}get ruleIndex(){return f.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(Tn,"ComparisonRightContext");var Nr=Tn,En=class En extends q{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(G,0)}get ruleIndex(){return f.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(En,"ParenthesizedItemContext");var Sr=En,_n=class _n extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};a(_n,"ValueContext");var K=_n,xn=class xn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(f.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(xn,"TimeLiteralContext");var Ho=xn,On=class On extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(vr,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(On,"NullLiteralContext");var en=On,gn=class gn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(f.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(gn,"DateTimeLiteralContext");var tn=gn,Rn=class Rn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(f.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(Rn,"StringLiteralContext");var rn=Rn,wn=class wn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(f.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(wn,"DateLiteralContext");var on=wn,An=class An extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Pr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(An,"InfinityLiteralContext");var nn=An,bn=class bn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Mr,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(bn,"BooleanLiteralContext");var sn=bn,Dn=class Dn extends K{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(f.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(Dn,"NumberLiteralContext");var an=Dn,Nn=class Nn extends q{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(gt)}identifier(e){return this.getTypedRuleContext(gt,e)}get ruleIndex(){return f.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(Nn,"QualifiedIdentifierContext");var Xt=Nn,Sn=class Sn extends q{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(gt,0)}get ruleIndex(){return f.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(Sn,"ExternalConstantContext");var Ir=Sn,In=class In extends q{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(f.IDENTIFIER,0)}get ruleIndex(){return f.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(In,"IdentifierContext");var gt=In,Ln=class Ln extends q{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(K)}value(e){return this.getTypedRuleContext(K,e)}get ruleIndex(){return f.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(Ln,"ArrayValueContext");var Lr=Ln,Mn=class Mn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(Mn,"BooleanContext");var Mr=Mn,vn=class vn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(vn,"NullContext");var vr=vn,Pn=class Pn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(Pn,"InfinityContext");var Pr=Pn,Fn=class Fn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(Fn,"ArithmeticOperatorContext");var pn=Fn,kn=class kn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(kn,"ComparisonOperatorContext");var Fr=kn,jn=class jn extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(jn,"LogicalOperatorContext");var kr=jn,Cn=class Cn extends q{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(f.POLAR_OP,0)}get ruleIndex(){return f.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(Cn,"PolarityOperatorContext");var cn=Cn;import{ParseTreeVisitor as rc}from"@browsery/antlr4";var Un=class Un extends v{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(Un,"ExternalConstant");var jr=Un;var $n=class $n extends rc{constructor(e){super(),this._timeZone=e==null?void 0:e.timeZone}visitChildren(e){let t=super.visitChildren(e);return Array.isArray(t)&&t.length<2?t[0]:t??e.getText()}defaultResult(){}visitRoot(e){return this.visit(e.expression())}visitParenthesizedExpression(e){let t=this.visit(e.parenthesizedItem());return new _e(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Gt(t)}visitComparisonExpression(e){return new ue({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=a((i,n)=>{for(let s of i){if(s instanceof Qt&&s.logicalOperator().getText()===n){r(s.expression_list(),s.logicalOperator().getText());continue}let p=this.visit(s);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new me({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new oe(e.getText())}visitExternalConstant(e){return new jr(e.identifier().getText())}visitNullLiteral(){return new Be}visitBooleanLiteral(e){return new qe(e.getText()==="true")}visitNumberLiteral(e){return new Oe(e.getText())}visitStringLiteral(e){return new Ve(Yt(e.getText()))}visitInfinityLiteral(){return new Oe(1/0)}visitDateLiteral(e){return new xe(Yt(e.getText()))}visitDateTimeLiteral(e){return new xe(Yt(e.getText()))}visitTimeLiteral(e){return new Ke(Yt(e.getText()))}visitArrayValue(e){return new Ee(e.value_list().map(t=>this.visit(t)))}};a($n,"FilterTreeVisitor");var Zt=$n;import{ErrorListener as ic}from"@browsery/antlr4";var qn=class qn extends ic{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new Ar(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a(qn,"OpraErrorListener");var Ht=qn;function Bn(o,e){let t=new oc(o),r=new Js(t),i=new nc(r),n=new Gs(i);n.buildParseTrees=!0;let s=[],p=new Ht(s);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(s.length){let l=[];for(let d of s)l.push(d.message+(o.includes(`
|
|
8
|
+
`)?" at line: "+d.line+" column: "+d.column:" at column: "+d.column));let y=new wr(l.join(`
|
|
9
|
+
`));throw y.errors=s,y}return e=e||new Zt,e.visit(c)}a(Bn,"parse");var Vn=class Vn{constructor(e,t){if(this._rules=new D,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new D(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,sc({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?Bn(e):e,n=r==null?void 0:r.node.getDocument();return this.normalizeFilterAst(i,[],t,n==null?void 0:n.scopes)}normalizeFilterAst(e,t,r,i){if(e instanceof ue){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof oe&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Te({message:R("error:UNACCEPTED_FILTER_FIELD",{field:e.left.value}),code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Te({message:R("error:UNACCEPTED_FILTER_OPERATION",{field:e.left.value}),code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof me)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof $e)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Ee)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof _e)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof oe&&r)return e.value=r.normalizeFieldPath(e.value),e.field=r.getField(e.value),e.dataType=e.field.type,e;if(e instanceof v){let n=t.findLastIndex(s=>s instanceof ue);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof oe&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let p;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?p=ac:p=this._decoderCache.get(s.left.field),p||(p=s.left.field.type.generateCodec("decode",{scope:i,projection:"*",ignoreWriteonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,p)),e.value=p(e.value)}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(Vn,"FilterRules");var ge=Vn;var er={};cs(er,{$and:()=>cc,$arithmetic:()=>Dc,$array:()=>Ys,$date:()=>lc,$eq:()=>dc,$field:()=>mc,$gt:()=>yc,$gte:()=>Tc,$ilike:()=>wc,$in:()=>xc,$like:()=>gc,$lt:()=>Ec,$lte:()=>_c,$ne:()=>hc,$notILike:()=>Ac,$notIn:()=>Oc,$notLike:()=>Rc,$number:()=>uc,$or:()=>pc,$paren:()=>bc,$time:()=>fc,ArithmeticExpression:()=>$e,ArithmeticExpressionItem:()=>Rr,ArrayExpression:()=>Ee,Ast:()=>Wt,BooleanLiteral:()=>qe,ComparisonExpression:()=>ue,DateLiteral:()=>xe,Expression:()=>U,FilterTreeVisitor:()=>Zt,Literal:()=>v,LogicalExpression:()=>me,NegativeExpression:()=>Gt,NullLiteral:()=>Be,NumberLiteral:()=>Oe,OpraErrorListener:()=>Ht,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>oe,StringLiteral:()=>Ve,Term:()=>Ue,TimeLiteral:()=>Ke,parse:()=>Bn});function pc(...o){return new me({op:"or",items:o})}a(pc,"$or");function cc(...o){return new me({op:"and",items:o})}a(cc,"$and");function lc(o){return new xe(o)}a(lc,"$date");function fc(o){return new Ke(o)}a(fc,"$time");function uc(o){return new Oe(o)}a(uc,"$number");function Ys(...o){return new Ee(o.map(Cr))}a(Ys,"$array");function mc(o){return new oe(o)}a(mc,"$field");function dc(o,e){return ee("=",o,e)}a(dc,"$eq");function hc(o,e){return ee("!=",o,e)}a(hc,"$ne");function yc(o,e){return ee(">",o,e)}a(yc,"$gt");function Tc(o,e){return ee(">=",o,e)}a(Tc,"$gte");function Ec(o,e){return ee("<",o,e)}a(Ec,"$lt");function _c(o,e){return ee("<=",o,e)}a(_c,"$lte");function xc(o,e){return ee("in",o,e)}a(xc,"$in");function Oc(o,e){return ee("!in",o,e)}a(Oc,"$notIn");function gc(o,e){return ee("like",o,e)}a(gc,"$like");function Rc(o,e){return ee("!like",o,e)}a(Rc,"$notLike");function wc(o,e){return ee("ilike",o,e)}a(wc,"$ilike");function Ac(o,e){return ee("!ilike",o,e)}a(Ac,"$notILike");function bc(o){return new _e(o)}a(bc,"$paren");function Dc(o){let e=new $e;return e.add=t=>(e.append("+",Rt(t)),e),e.sub=t=>(e.append("-",Rt(t)),e),e.mul=t=>(e.append("*",Rt(t)),e),e.div=t=>(e.append("/",Rt(t)),e),e.append("+",Cr(o)),e}a(Dc,"$arithmetic");function ee(o,e,t){let r=Cr(e),i=Cr(t);return new ue({op:o,left:r,right:i})}a(ee,"comparisonExpression");var Cr=a(o=>Array.isArray(o)?Ys(...o.map(Rt)):Rt(o),"wrapEntryValue"),Rt=a(o=>o instanceof U?o:typeof o=="boolean"?new qe(o):typeof o=="number"||typeof o=="bigint"?new Oe(o):o==null?new Be:o instanceof Date?new xe(o):new Ve(""+o),"_wrapEntryValue");var wt,ne=(wt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new ge(e.rules):void 0;return Nc(r,i)}[x](){return Sc}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=i?t.node.getDataTypeNameWithNs(i):void 0;if(r!=null&&r.scopes&&!i.inScope(r==null?void 0:r.scopes))throw new TypeError(`Data type ${n?"("+n+")":""} is not in required scope(s) [${r.scopes}`);return{dataType:n||i.toJSON(r),rules:e.rules}}},a(wt,"FilterType"),wt);Kn([u.Attribute({description:"Data type which filtering fields belong to"}),zn("design:type",Object)],ne.prototype,"dataType",void 0);Kn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),zn("design:type",Object)],ne.prototype,"rules",void 0);ne=Kn([u({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),zn("design:paramtypes",[Object])],ne);var Nc=a((o,e,t)=>Qs("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=er.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),Sc=Qs("encodeFilter",(o,e,t)=>{if(o instanceof er.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as Ic,__metadata as Lc}from"tslib";import{vg as Xs}from"valgen";var At,Ur=(At=class{constructor(e){e&&Object.assign(this,e)}[T](){return Xs.isObjectId({coerce:!0})}[x](){return Xs.isObjectId({coerce:!0})}},a(At,"ObjectIdType"),At);Ur=Ic([u({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),Lc("design:paramtypes",[Object])],Ur);import{__decorate as de,__metadata as he}from"tslib";var bt,Y=(bt=class{constructor(e){e&&Object.assign(this,e)}},a(bt,"OperationResult"),bt);de([P(),he("design:type",Number)],Y.prototype,"affected",void 0);de([P(),he("design:type",Number)],Y.prototype,"totalMatches",void 0);de([P(),he("design:type",String)],Y.prototype,"context",void 0);de([P(),he("design:type",String)],Y.prototype,"type",void 0);de([P(),he("design:type",String)],Y.prototype,"message",void 0);de([P({type:"any"}),he("design:type",Object)],Y.prototype,"payload",void 0);de([P({type:"object"}),he("design:type",Array)],Y.prototype,"errors",void 0);Y=de([Q({name:"OperationResult",description:"Operation result"}),he("design:paramtypes",[Object])],Y);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return de([P({type:t,required:!0}),he("design:type",Object)],r.prototype,"payload",void 0),r=de([Q({embedded:!0}),he("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Y||(Y={}));import{__decorate as Jn,__metadata as Wn}from"tslib";import{vg as $r}from"valgen";var Mc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Dt,Nt=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=$r.matches(Mc,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push($r.isGte(e.minValue)),e.maxValue&&r.push($r.isLte(e.maxValue)),r.length>0?$r.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[T](e)}},a(Dt,"TimeType"),Dt);Jn([u.Attribute({description:"Minimum value"}),Wn("design:type",String)],Nt.prototype,"minValue",void 0);Jn([u.Attribute({description:"Maximum value"}),Wn("design:type",String)],Nt.prototype,"maxValue",void 0);Nt=Jn([u({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Wn("design:paramtypes",[Object])],Nt);import{__decorate as vc,__metadata as Pc}from"tslib";import{vg as Zs}from"valgen";var St,qr=(St=class{constructor(e){e&&Object.assign(this,e)}[T](){return Zs.isURL({coerce:!0})}[x](){return Zs.isURL({coerce:!0})}},a(St,"UrlType"),St);qr=vc([u({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Pc("design:paramtypes",[Object])],qr);import{__decorate as ea,__metadata as ta}from"tslib";import{vg as Hs}from"valgen";var It,tr=(It=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Hs.isUUID(e==null?void 0:e.version,{coerce:!0})}[x](e){return Hs.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(It,"UuidType"),It);ea([u.Attribute({description:"Version of the UUID"}),ta("design:type",Number)],tr.prototype,"version",void 0);tr=ea([u({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),ta("design:paramtypes",[Object])],tr);function Ne(o,e,t){let r=ur(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&cr(this,o,r)}}}[n];if(typeof o=="function"&&pr(s.prototype,o.prototype),typeof o=="function"){let c=Reflect.getOwnMetadata(E,o);if(!c)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(c.kind===m.ComplexType.Kind||c.kind===m.MappedType.Kind||c.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:o};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(E,p,s),typeof o=="function"&&Fe._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(Ne,"createMappedClass");function d2(o,e,t){return Ne(o,{omit:e},t)}a(d2,"OmitType");function E2(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ne(o,{partial:t},r)}a(E2,"PartialType");function g2(o,e,t){return Ne(o,{pick:e},t)}a(g2,"PickType");import{__decorate as Fc,__metadata as kc}from"tslib";import{isAny as ra}from"valgen";var Lt,Br=(Lt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ra}[x](){return ra}},a(Lt,"AnyType"),Lt);Br=Fc([u({name:"any",description:"Represents any value"}),kc("design:paramtypes",[Object])],Br);import{__decorate as jc,__metadata as Cc}from"tslib";import{toBigint as oa,vg as Xn}from"valgen";import{__decorate as Yn,__metadata as Qn}from"tslib";import{toNumber as ia,vg as Gn}from"valgen";var Mt,ye=(Mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue&&t.push(Gn.isGte(e.minValue)),e.maxValue&&t.push(Gn.isLte(e.maxValue)),t.length>0?Gn.pipe([ia,...t],{returnIndex:0}):ia}[x](e){return this[T](e)}},a(Mt,"NumberType"),Mt);Yn([u.Attribute({description:"Determines the minimum value"}),Qn("design:type",Number)],ye.prototype,"minValue",void 0);Yn([u.Attribute({description:"Determines the maximum value"}),Qn("design:type",Number)],ye.prototype,"maxValue",void 0);ye=Yn([u({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Qn("design:paramtypes",[Object])],ye);var vt,Vr=(vt=class extends ye{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(Xn.isGte(e.minValue)),e.maxValue&&t.push(Xn.isLte(e.maxValue)),t.length>0?Xn.pipe([oa,...t],{returnIndex:0}):oa}[x](e){return this[T](e)}},a(vt,"BigintType"),vt);Vr=jc([u({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),Cc("design:paramtypes",[Object])],Vr);import{__decorate as Uc,__metadata as $c}from"tslib";import{toBoolean as na}from"valgen";var Pt,Kr=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](){return na}[x](){return na}},a(Pt,"BooleanType"),Pt);Kr=Uc([u({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),$c("design:paramtypes",[Object])],Kr);import{__decorate as qc,__metadata as Bc}from"tslib";import{toInteger as sa,vg as Zn}from"valgen";var Ft,ze=(Ft=class extends ye{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(Zn.isGte(e.minValue)),e.maxValue&&t.push(Zn.isLte(e.maxValue)),t.length>0?Zn.pipe([sa,...t],{returnIndex:0}):sa}[x](e){return this[T](e)}},a(Ft,"IntegerType"),Ft);ze=qc([u({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Bc("design:paramtypes",[Object])],ze);import{__decorate as Vc,__metadata as Kc}from"tslib";import{isNull as aa}from"valgen";var kt,zr=(kt=class{constructor(e){e&&Object.assign(this,e)}[T](){return aa}[x](){return aa}},a(kt,"NullType"),kt);zr=Vc([u({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),Kc("design:paramtypes",[Object])],zr);import{__decorate as zc,__metadata as Jc}from"tslib";var jt,Jr=(jt=class{constructor(e){e&&Object.assign(this,e)}},a(jt,"ObjectType"),jt);Jr=zc([Q({name:"object",description:"A non modelled object",additionalFields:!0}),Jc("design:paramtypes",[Object])],Jr);import{__decorate as rr,__metadata as ir}from"tslib";import{toString as pa,vg as Wr}from"valgen";var Ct,Se=(Ct=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(E,Object.getPrototypeOf(this).constructor).name),t.push(Wr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Wr.lengthMin(e.minLength)),e.maxLength&&t.push(Wr.lengthMax(e.maxLength)),t.length>0?Wr.pipe([pa,...t],{returnIndex:0}):pa}[x](e){return this[T](e)}},a(Ct,"StringType"),Ct);rr([u.Attribute({description:"Regex pattern to be used for validation"}),ir("design:type",Object)],Se.prototype,"pattern",void 0);rr([u.Attribute({description:"Name of the pattern"}),ir("design:type",String)],Se.prototype,"patternName",void 0);rr([u.Attribute({description:"Minimum number of characters"}),ir("design:type",Number)],Se.prototype,"minLength",void 0);rr([u.Attribute({description:"Minimum number of characters"}),ir("design:type",Number)],Se.prototype,"maxLength",void 0);Se=rr([u({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),ir("design:paramtypes",[Object])],Se);function S_(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ne(o,{required:t},r)}a(S_,"RequiredType");N.Entity={};N.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=k(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(A.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:L.opra_response_json,type:t.type,partial:"deep"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=Ie(t.type)}),i};N.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=k(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(A.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:L.opra_response_json}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}),i.KeyParam=(n,s)=>{let p=typeof s=="string"||typeof s=="function"?{name:n,location:"path",type:s,keyParam:!0}:{...s,name:n,location:"path",keyParam:!0};return i.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),i},r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Ie(t.type)}),i};N.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=new ge,n=new ne({dataType:t.type});n.rules={};let s=k(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return s.Response(A.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:L.opra_response_json}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}).QueryParam("filter",{type:n,description:"Determines filter fields"}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ie(t.type)}),s.Filter=(p,c,l)=>(r.push(()=>{i.set(p,{operators:c,description:l}),n.rules=i.toJSON()}),s),s};N.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=new ge,n=new ne({dataType:t.type});n.rules={};let s=k(r,{method:"GET",...t,composition:"Entity.FindMany"});return s.Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:L.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new ze({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new ze({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).QueryParam("sort",{description:"Determines sort fields",type:new W({dataType:t.type,allowSigns:"first"}),isArray:!0,arraySeparator:","}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ie(t.type),t.defaultLimit&&(c.defaultLimit=t.defaultLimit),t.defaultProjection&&(c.defaultProjection=t.defaultProjection),t.maxLimit&&(c.maxLimit=t.maxLimit)}),s.DefaultSort=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.defaultSort=p}),s),s.SortFields=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.sortFields=p}),s),s.Filter=(p,c,l)=>(r.push(()=>{i.set(p,{operators:c,description:l}),n.rules=i.toJSON()}),s),s};N.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=k(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:L.opra_response_json,type:t.type,partial:"deep"}).Response(A.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}),i.KeyParam=(n,s)=>{let p=typeof s=="string"||typeof s=="function"?{name:n,location:"path",type:s,keyParam:!0}:{...s,name:n,location:"path",keyParam:!0};return i.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),i},r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Ie(t.type)}),i};N.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=k(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:L.opra_response_json,type:t.type,partial:"deep"}).Response(A.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}),i.KeyParam=(n,s)=>{let p=typeof s=="string"||typeof s=="function"?{name:n,location:"path",type:s,keyParam:!0}:{...s,name:n,location:"path",keyParam:!0};return i.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),i},r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Ie(t.type)}),i};N.Entity.UpdateMany=function(o,e){var p;let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=new ne({dataType:t.type});i.rules={};let n=new ge,s=k(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,...t.requestBody,required:!0}});return s.RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:L.opra_response_json}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}).QueryParam("filter",{type:i,description:"Determines filter fields"}),r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ie(t.type)}),s.Filter=(c,l,y)=>(r.push(()=>{n.set(c,{operators:l,description:y}),i.rules=n.toJSON()}),s),s};N.Entity.Update=function(o,e){var p;let t;typeof o=="object"&&!o[E]?t=o:t={...e,type:o};let r=[],i=new ge,n=new ne({dataType:t.type});n.rules={};let s=k(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,...t.requestBody,required:!0}});return s.QueryParam("projection",{description:"Determines fields projection",type:new W({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(A.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:L.opra_response_json,type:t.type,partial:"deep"}).Response(A.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(A.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:L.opra_response_json}),s.KeyParam=(c,l)=>{let y=typeof l=="string"||typeof l=="function"?{name:c,location:"path",type:l,keyParam:!0}:{...l,name:c,location:"path",keyParam:!0};return s.PathParam(c,y),r.push(d=>{var F;(F=d.path)!=null&&F.includes(":"+c)||(d.path=(d.path||"")+"@:"+c),d.mergePath=!0}),s},r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ie(t.type)}),s.Filter=(c,l,y)=>(r.push(()=>{i.set(c,{operators:l,description:y}),n.rules=i.toJSON()}),s),s};function Ie(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(E,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(Ie,"getDataTypeName");import{isConstructor as el}from"@jsopen/objects";import{omitUndefined as Wc}from"@jsopen/objects";import{asMutable as Gc}from"ts-gems";var Je=a(function(...o){var i;if(!this)return Je[w].apply(void 0,o);let[e,t]=o;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Gc(this);r.kind=m.RpcController.Kind,r.types=r.node[C]=new Z,r.operations=new D,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"RpcController"),es=class es extends g{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof Je)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=Wc({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[tt](){return`[${rt}RpcController${it+this.name+Pe}]`}};a(es,"RpcControllerClass");var Hn=es;Je.prototype=Hn.prototype;Object.assign(Je,Ze);Je[w]=Ze;import{omitUndefined as Yc}from"@jsopen/objects";import{asMutable as Qc}from"ts-gems";var or=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');je.call(this,o,e);let t=Qc(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?at(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),rs=class rs extends je{toJSON(){return Yc({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(rs,"RpcHeaderClass");var ts=rs;or.prototype=ts.prototype;import{omitUndefined as Xc}from"@jsopen/objects";import{asMutable as Zc}from"ts-gems";var nr=a(function(...o){if(!this){let[i,n]=o,s=[];return nr[w].call(void 0,s,i,n)}let[e,t]=o;if(g.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Zc(this);r.headers=[],r.types=r.node[C]=new Z,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof O?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof O?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),os=class os extends g{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=Xc({kind:m.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(os,"RpcOperationClass");var is=os;nr.prototype=is.prototype;nr[w]=$t;import{omitUndefined as Hc}from"@jsopen/objects";var ns=class ns extends g{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.payloadType?this.payloadType=(t==null?void 0:t.payloadType)instanceof O?t.payloadType:this.owner.node.getDataType(t.payloadType):this.payloadType=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof O?t.keyType:this.owner.node.getDataType(t.keyType))}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=Hc({description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}};a(ns,"RpcOperationResponse");var Gr=ns;var ss=class ss{static async createApi(e,t){let r=new ct(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!el(r)&&(r=r()),r=await se(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(re,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid RpcController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(re,n),s?p=r:(s=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with RpcController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let c=new Je(t,{...s,name:i,instance:p,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,c,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let y of s.headers)await e.enterAsync(`[${l++}]`,async()=>{let d={...y};await e.enterAsync(".type",async()=>{y.type&&(d.type=c.node.findDataType(y.type)),!d.type&&typeof y.type=="object"&&(d.type=await I.createDataType(e,c,y.type)),d.type||(d.type=c.node.getDataType("any"))});let F=new or(c,d);c.headers.push(F)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[l,y]of Object.entries(s.operations))await e.enterAsync(`[${l}]`,async()=>{let d=new nr(c,{...y,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,y),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await I.addDataTypes(e,t,r.types)}),t.payloadType=await I.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await I.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await I.resolveDataType(e,t,n.type)});let p=new or(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new Gr(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initRpcOperationResponse(e,i,r.response),t.response=i})}static async _initRpcOperationResponse(e,t,r){t.payloadType=await I.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await I.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await I.resolveDataType(e,t,n.type)});let p=new or(t,s);t.headers.push(p)})})}};a(ss,"RpcApiFactory");var Yr=ss;var tl="https://oprajs.com/spec/v"+m.SpecVersion,Qr=class Qr{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new Qr,i=t instanceof pe?t:new pe(t);try{let n=new Ce;if(n.scopes=i.scopes,await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof et||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length;i.error.message=`(${s}) error${s>1?"s":""} found in document schema.`,i.showErrorDetails&&(i.error.message+=i.error.details.map(p=>`
|
|
10
10
|
|
|
11
11
|
- ${p.message}`+(p.path?`
|
|
12
|
-
@${p.path}`:"")).join(""))}throw
|
|
12
|
+
@${p.path}`:"")).join(""))}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[Me]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,p;for([s,p]of Object.entries(i.references))p=await se(p),await t.enterAsync(`[${s}]`,async()=>{if(!j.test(s))throw new TypeError(`Invalid namespace (${s})`);if(p instanceof Ce){e.references.set(s,p);return}let c=new Ce;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(s,this._allDocuments[c.id])})}),i.types&&await t.enterAsync(".types",async()=>{await I.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await pt.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="rpc"){let s=await Yr.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:tl,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[Br,Vr,Kr,ze,zr,ye,Jr,Se,Tr,ut,dt,yt,Et,J,W,ne,Ur,Y,Nt,qr,tr]},r=new Ce;r[Me]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[ar];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(SharedArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Qr,"ApiDocumentFactory");var ca=Qr;var la;(function(o){o.HttpApiFactory=pt,o.DataTypeFactory=I,o.RpcOperationDecoratorFactory=$t,o.RpcControllerDecoratorFactory=Ze})(la||(la={}));import{uid as kO}from"uid";export{Br as AnyType,nt as ApiBase,Ce as ApiDocument,ca as ApiDocumentFactory,P as ApiField,Me as BUILTIN,Ms as BadRequestError,Tr as Base64Type,va as BaseI18n,Vr as BigintType,Kr as BooleanType,j as CLASS_NAME_PATTERN,Q as ComplexType,vs as ConflictError,E as DATATYPE_METADATA,T as DECODER,w as DECORATOR,O as DataType,Z as DataTypeMap,dt as DateStringType,Et as DateTimeStringType,yt as DateTimeType,ut as DateType,g as DocumentElement,pe as DocumentInitContext,fr as DocumentNode,x as ENCODER,J as EmailType,ce as EnumType,Ps as FailedDependencyError,W as FieldPathType,ve as FieldsProjection,ne as FilterType,gr as ForbiddenError,te as HTTP_CONTROLLER_METADATA,st as HttpApi,H as HttpController,bs as HttpHeaderCodes,we as HttpMediaType,dr as HttpMultipartField,N as HttpOperation,hr as HttpOperationResponse,Jt as HttpParameter,yr as HttpRequestBody,A as HttpStatusCode,mh as HttpStatusMessages,zt as HttpStatusRange,Bt as I18n,ze as IntegerType,Fs as InternalServerError,Ks as IssueSeverity,Fe as MappedType,ks as MethodNotAllowedError,L as MimeTypes,ot as MixinType,ls as NAMESPACE_PATTERN,js as NotAcceptableError,Cs as NotFoundError,zr as NullType,ye as NumberType,Ur as ObjectIdType,Jr as ObjectType,d2 as OmitType,Y as OperationResult,et as OpraDocumentError,Te as OpraException,er as OpraFilter,b as OpraHttpError,m as OpraSchema,E2 as PartialType,Us as PermissionError,g2 as PickType,re as RPC_CONTROLLER_METADATA,S_ as RequiredType,$s as ResourceConflictError,qs as ResourceNotAvailableError,D as ResponsiveMap,ct as RpcApi,Je as RpcController,or as RpcHeader,nr as RpcOperation,u as SimpleType,Se as StringType,Nt as TimeType,Bs as UnauthorizedError,Vs as UnprocessableEntityError,qr as UrlType,tr as UuidType,la as classes,M as cloneObject,af as getErrorStack,sf as getStackFileName,si as i18n,cr as inheritPropertyInitializers,Df as isBlob,Nf as isFormData,wf as isReadable,bf as isReadableStream,ni as isStream,Sf as isURL,Af as isWritable,ar as kCtorMap,C as kDataTypeMap,Re as kTypeNSMap,pr as mergePrototype,Ts as parse,ys as parseFieldsProjection,se as resolveThunk,Of as safeJsonStringify,R as translate,kO as uid};
|