@opra/common 1.3.1 → 1.4.1
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 +4 -4
- package/browser/index.mjs +4 -4
- package/cjs/document/data-type/complex-type-base.js +2 -1
- package/cjs/document/decorators/http-operation-entity.decorator.js +2 -0
- package/cjs/document/factory/http-api.factory.js +1 -0
- package/cjs/document/http/http-request-body.js +1 -0
- package/esm/document/data-type/complex-type-base.js +2 -1
- package/esm/document/decorators/http-operation-entity.decorator.js +2 -0
- package/esm/document/factory/http-api.factory.js +1 -0
- package/esm/document/http/http-request-body.js +1 -0
- package/package.json +1 -1
- package/types/document/decorators/http-operation-entity.decorator.d.ts +2 -0
- package/types/document/http/http-operation.d.ts +3 -2
- package/types/document/http/http-request-body.d.ts +3 -0
- package/types/schema/http/http-request-body.interface.d.ts +4 -0
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 ne(i){return i=Aa.isPromise(i)?await i:i,typeof i=="function"?wa(i)?i:await i():i}s(ne,"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"),se=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,se,{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[se]).forEach(e=>delete this[se][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[se][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[se])[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[se][t],r||this[He]--,r}sort(e){let t={...this[V]},r={...this[se]},o=Array.from(this.keys());e?o.sort(e):o.sort(),this.clear();for(let n of o)this[V][n]=t[n],this[se][n]=r[n];return this[He]=o.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[se]))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[se][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 ye=pi;var ci=class ci extends ye{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 ae=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 Te}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 Te.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]=Te.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]=Te.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?Te.optional(d):Te.required(d)}return t.allowPatchOperators&&(r.$remove=Te.optional(Te.isAny())),r}_generateFieldCodec(e,t,r){let o=t.type.generateCodec(e,r);return t.fixed&&(o=Te.isEnum([t.fixed])),t.isArray&&(o=Te.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 ae({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 pe=s(function(...i){if(!this)return pe[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 pe))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 pe?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;pe.prototype=Vt.prototype;Object.assign(pe,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");pe.prototype=Vt.prototype;pe[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 ae({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 ae({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 ne(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 ne(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 ne(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,pe.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,pe.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 r=Reflect.getMetadata(T,e);t=r==null?void 0:r.name}if(!t&&typeof e=="object"){let r=e[T];t=r==null?void 0:r.name}return t?this[X].get(t):void 0}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==null?void 0:e.includeFlags)o.includes(n)||(o+=n);if(e!=null&&e.excludeFlags)for(let n of e==null?void 0: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})}};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 ne(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,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 ce,__metadata as le}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);ce([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),le("design:type",Boolean)],J.prototype,"allowDisplayName",void 0);ce([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),le("design:type",Boolean)],J.prototype,"requireDisplayName",void 0);ce([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}),le("design:type",Boolean)],J.prototype,"utf8LocalPart",void 0);ce([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),le("design:type",Boolean)],J.prototype,"ignoreMaxLength",void 0);ce([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),le("design:type",Boolean)],J.prototype,"allowIpDomain",void 0);ce([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}),le("design:type",Boolean)],J.prototype,"domainSpecificValidation",void 0);ce([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."}),le("design:type",Array)],J.prototype,"hostBlacklist",void 0);ce([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."}),le("design:type",Array)],J.prototype,"hostWhitelist",void 0);ce([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."}),le("design:type",String)],J.prototype,"blacklistedChars",void 0);J=ce([u({description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),le("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 ye{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 fe=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 ue=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 ie=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 fe({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 ue({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new ie(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(`
|
|
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 r=Reflect.getMetadata(T,e);t=r==null?void 0:r.name}if(!t&&typeof e=="object"){let r=e[T];t=r==null?void 0:r.name}return t?this[X].get(t):void 0}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==null?void 0:e.includeFlags)o.includes(n)||(o+=n);if(e!=null&&e.excludeFlags)for(let n of e==null?void 0: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
8
|
`)?" at line: "+d.line+" column: "+d.column:" at column: "+d.column));let _=new Ar(l.join(`
|
|
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 fe){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof ie&&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 ye({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 ye({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 ue)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 ie&&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 fe);if(o>=0){let n=t[o];if((e===n.right||t[o+1]===n.right)&&n&&n.left instanceof ie&&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:()=>fe,DateLiteral:()=>xe,Expression:()=>C,FilterTreeVisitor:()=>Zt,Literal:()=>v,LogicalExpression:()=>ue,NegativeExpression:()=>Yt,NullLiteral:()=>Be,NumberLiteral:()=>Oe,OpraErrorListener:()=>Ht,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>ie,StringLiteral:()=>Ve,Term:()=>Ue,TimeLiteral:()=>Ke,parse:()=>Vn});function cc(...i){return new ue({op:"or",items:i})}s(cc,"$or");function lc(...i){return new ue({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 ie(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 fe({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,oe=(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)],oe.prototype,"dataType",void 0);zn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),Jn("design:type",Object)],oe.prototype,"rules",void 0);oe=zn([u({description:"A query filter",nameMappings:{js:"object",json:"string"}}),Jn("design:paramtypes",[Object])],oe);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 me,__metadata as de}from"tslib";var bt,G=(bt=class{constructor(e){e&&Object.assign(this,e)}},s(bt,"OperationResult"),bt);me([P(),de("design:type",Number)],G.prototype,"affected",void 0);me([P(),de("design:type",Number)],G.prototype,"totalMatches",void 0);me([P(),de("design:type",String)],G.prototype,"context",void 0);me([P(),de("design:type",String)],G.prototype,"type",void 0);me([P(),de("design:type",String)],G.prototype,"message",void 0);me([P({type:"any"}),de("design:type",Object)],G.prototype,"payload",void 0);me([P({type:"object"}),de("design:type",Array)],G.prototype,"errors",void 0);G=me([Q({description:"Operation result"}),de("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 me([P({type:t,required:!0}),de("design:type",Object)],r.prototype,"payload",void 0),r=me([Q({embedded:!0}),de("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,he=(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)],he.prototype,"minValue",void 0);Qn([u.Attribute({description:"Determines the maximum value"}),Xn("design:type",Number)],he.prototype,"maxValue",void 0);he=Qn([u({description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Xn("design:paramtypes",[Object])],he);var vt,Kr=(vt=class extends he{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 he{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 oe({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 oe({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 oe({dataType:t.type});o.rules={};let n=new ge,a=k(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",...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 oe({dataType:t.type});n.rules={};let a=k(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!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 ne(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 ae?t:new ae(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=>`
|
|
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=>`
|
|
10
10
|
|
|
11
11
|
- ${p.message}`+(p.path?`
|
|
12
|
-
@${p.path}`:"")).join(""))}throw o.error}}async initDocument(e,t,r){let o;if(typeof r=="string"){if(o=await(await fetch(r,{method:"GET"})).json(),!o)return t.addError(`Invalid response returned from url: ${r}`);o.url=r}else o=r;let n;if(!e[Le]){let a=e.node.findDataType("string");n=a==null?void 0:a.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}o.spec=o.spec||m.SpecVersion,e.url=o.url,o.info&&(e.info={...o.info}),o.references&&await t.enterAsync(".references",async()=>{let a,p;for([a,p]of Object.entries(o.references))p=await
|
|
12
|
+
@${p.path}`:"")).join(""))}throw o.error}}async initDocument(e,t,r){let o;if(typeof r=="string"){if(o=await(await fetch(r,{method:"GET"})).json(),!o)return t.addError(`Invalid response returned from url: ${r}`);o.url=r}else o=r;let n;if(!e[Le]){let a=e.node.findDataType("string");n=a==null?void 0:a.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}o.spec=o.spec||m.SpecVersion,e.url=o.url,o.info&&(e.info={...o.info}),o.references&&await t.enterAsync(".references",async()=>{let a,p;for([a,p]of Object.entries(o.references))p=await se(p),await t.enterAsync(`[${a}]`,async()=>{if(!j.test(a))throw new TypeError(`Invalid namespace (${a})`);if(p instanceof Ce){e.references.set(a,p);return}let c=new Ce;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(a,this._allDocuments[c.id])})}),o.types&&await t.enterAsync(".types",async()=>{await I.addDataTypes(t,e,o.types)}),o.api&&await t.enterAsync(".api",async()=>{if(o.api&&o.api.transport==="http"){let a=await pt.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else if(o.api&&o.api.transport==="rpc"){let a=await Qr.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else t.addError(`Unknown service transport (${o.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:rl,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[Vr,Kr,zr,ze,Jr,ye,Wr,Se,Er,ut,dt,yt,Et,J,W,ne,qr,G,Dt,Br,tr]},r=new Ce;r[Le]=!0;let o=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),a=r.types[pr];return a.set(Object,"object"),a.set(String,"string"),a.set(Number,"number"),a.set(Boolean,"boolean"),a.set(Object,"any"),a.set(Date,"datetime"),a.set(o,"bigint"),a.set(ArrayBuffer,"base64"),a.set(SharedArrayBuffer,"base64"),a.set(n,"base64"),await this.initDocument(r,e,t),r}};s(Xr,"ApiDocumentFactory");var la=Xr;var fa;(function(i){i.HttpApiFactory=pt,i.DataTypeFactory=I,i.RpcOperationDecoratorFactory=qt,i.RpcControllerDecoratorFactory=Ze})(fa||(fa={}));import{uid as jO}from"uid";export{Vr as AnyType,nt as ApiBase,Ce as ApiDocument,la as ApiDocumentFactory,P as ApiField,Le as BUILTIN,vs as BadRequestError,Er as Base64Type,Pa as BaseI18n,Kr as BigintType,zr as BooleanType,j as CLASS_NAME_PATTERN,Q as ComplexType,Ps as ConflictError,T as DATATYPE_METADATA,y 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,ur as DocumentNode,x as ENCODER,ar as EXTRACT_TYPENAME_PATTERN,J as EmailType,ce as EnumType,Fs as FailedDependencyError,W as FieldPathType,ve as FieldsProjection,ne as FilterType,Rr as ForbiddenError,te as HTTP_CONTROLLER_METADATA,st as HttpApi,H as HttpController,Ns as HttpHeaderCodes,we as HttpMediaType,hr as HttpMultipartField,D as HttpOperation,yr as HttpOperationResponse,Jt as HttpParameter,Tr as HttpRequestBody,A as HttpStatusCode,dh as HttpStatusMessages,zt as HttpStatusRange,Bt as I18n,ze as IntegerType,ks as InternalServerError,zs as IssueSeverity,Fe as MappedType,js as MethodNotAllowedError,M as MimeTypes,ot as MixinType,fs as NAMESPACE_PATTERN,Cs as NotAcceptableError,Us as NotFoundError,Jr as NullType,ye as NumberType,qr as ObjectIdType,Wr as ObjectType,h_ as OmitType,G as OperationResult,et as OpraDocumentError,Te as OpraException,er as OpraFilter,b as OpraHttpError,m as OpraSchema,__ as PartialType,qs as PermissionError,R_ as PickType,re as RPC_CONTROLLER_METADATA,I2 as RequiredType,$s as ResourceConflictError,Bs as ResourceNotAvailableError,N as ResponsiveMap,ct as RpcApi,Je as RpcController,or as RpcHeader,nr as RpcOperation,u as SimpleType,Se as StringType,Dt as TimeType,Vs as UnauthorizedError,Ks as UnprocessableEntityError,Br as UrlType,tr as UuidType,fa as classes,L as cloneObject,pf as getErrorStack,af as getStackFileName,ai as i18n,lr as inheritPropertyInitializers,Df as isBlob,Sf as isFormData,Af as isReadable,Nf as isReadableStream,si as isStream,If as isURL,bf as isWritable,pr as kCtorMap,F as kDataTypeMap,Re as kTypeNSMap,cr as mergePrototype,Es as parse,Ts as parseFieldsProjection,se as resolveThunk,gf as safeJsonStringify,R as translate,jO as uid};
|