@opra/common 1.0.0-beta.5 → 1.0.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.mjs CHANGED
@@ -3,10 +3,10 @@
3
3
  * http://www.panates.com
4
4
  *****************************************/
5
5
 
6
- var ls=Object.defineProperty;var s=(i,e)=>ls(i,"name",{value:e,configurable:!0});var fs=(i,e)=>{for(var t in e)ls(i,t,{get:e[t],enumerable:!0})};import"reflect-metadata";import _a from"lodash.omit";import oi from"putil-merge";var m={};fs(m,{ComplexType:()=>Ge,EnumType:()=>Ye,HttpController:()=>$t,HttpOperation:()=>ti,MappedType:()=>Qe,MixinType:()=>Xe,RpcController:()=>ri,RpcOperation:()=>ii,SimpleType:()=>Ze,SpecVersion:()=>fa,isComplexType:()=>ma,isDataType:()=>ua,isEnumType:()=>Ta,isHttpController:()=>Ea,isMappedType:()=>ya,isMixinType:()=>ha,isSimpleType:()=>da});var fa="1.0";var Ge;(function(i){i.Kind="ComplexType"})(Ge||(Ge={}));var Ye;(function(i){i.Kind="EnumType"})(Ye||(Ye={}));var Qe;(function(i){i.Kind="MappedType"})(Qe||(Qe={}));var Xe;(function(i){i.Kind="MixinType"})(Xe||(Xe={}));var Ze;(function(i){i.Kind="SimpleType"})(Ze||(Ze={}));var $t;(function(i){i.Kind="HttpController"})($t||($t={}));var ti;(function(i){i.Kind="HttpOperation"})(ti||(ti={}));var ri;(function(i){i.Kind="RpcController"})(ri||(ri={}));var ii;(function(i){i.Kind="RpcOperation"})(ii||(ii={}));function ua(i){return i&&typeof i=="object"&&(i.kind===Ge.Kind||i.kind===Ye.Kind||i.kind===Qe.Kind||i.kind===Ze.Kind||i.kind===Xe.Kind)}s(ua,"isDataType");function ma(i){return i&&typeof i=="object"&&i.kind===Ge.Kind}s(ma,"isComplexType");function da(i){return i&&typeof i=="object"&&i.kind===Ze.Kind}s(da,"isSimpleType");function ha(i){return i&&typeof i=="object"&&i.kind===Xe.Kind}s(ha,"isMixinType");function ya(i){return i&&typeof i=="object"&&i.kind===Qe.Kind}s(ya,"isMappedType");function Ta(i){return i&&typeof i=="object"&&i.kind===Ye.Kind}s(Ta,"isEnumType");function Ea(i){return i&&typeof i=="object"&&i.kind===$t.Kind}s(Ea,"isHttpController");var E=Symbol.for("opra.type.metadata"),V=Symbol("opra.http-controller.metadata"),K=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),O=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Le=Symbol.for("BUILTIN"),us=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,cr=/^(.*)Type(\d*)$/,F=Symbol.for("kDataTypeMap"),lr=Symbol.for("kCtorMap"),we=Symbol.for("kTypeNSMap");var xa=/^(.*)(Controller)$/,ms=[];function He(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(K,Object.getPrototypeOf(r));a&&oi(n,a,{deep:!0});let p=Reflect.getOwnMetadata(K,r);p&&oi(n,p,{deep:!0}),oi(n,{kind:m.RpcController.Kind,name:o,path:o,..._a(i,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(K,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(K,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),ms.forEach(r=>r(t,e,i)),t}s(He,"RpcControllerDecoratorFactory");He.augment=function(i){ms.push(i)};import ga from"lodash.omit";var ds=[];function Bt(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,...ga(t,["kind"]),payloadType:e},c=Reflect.getOwnMetadata(K,n.constructor)||{};c.operations=c.operations||{},c.operations[a]=p;for(let l of i)l(p,n,a);Reflect.defineMetadata(K,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(x=>String(x.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),ds.forEach(n=>n(o,i,e,t)),o}s(Bt,"RpcOperationDecoratorFactory");Bt.augment=function(i){ds.push(i)};BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import wa from"putil-promisify";function et(i){return typeof i=="function"&&i.prototype&&i.prototype.constructor===i&&i.prototype.constructor.name!=="Function"&&i.prototype.constructor.name!=="embedded"}s(et,"isConstructor");function ni(i){return i!==null&&typeof i=="object"&&typeof i.pipe=="function"}s(ni,"isStream");function kl(i){return ni(i)&&typeof i._read=="function"&&typeof i._readableState=="object"}s(kl,"isReadable");function jl(i){return ni(i)&&typeof i._write=="function"}s(jl,"isWritable");function Cl(i){return ni(i)&&typeof i.getReader=="function"&&typeof i.pipeThrough=="function"&&typeof i.pipeTo=="function"}s(Cl,"isReadableStream");function Ul(i){return i!==null&&typeof i=="object"&&typeof i.size=="number"&&typeof i.arrayBuffer=="function"&&typeof i.stream=="function"}s(Ul,"isBlob");function ql(i){return i!==null&&typeof i.constructor=="function"&&i.constructor.name==="FormData"&&typeof i.append=="function"&&typeof i.getAll=="function"}s(ql,"isFormData");function $l(i){return i!==null&&typeof i=="object"&&typeof i.host=="string"&&typeof i.href=="string"}s($l,"isURL");function Bl(i){return Symbol.iterator in i}s(Bl,"isIterable");function Vl(i){return Symbol.asyncIterator in i}s(Vl,"isAsyncIterable");async function ne(i){return i=wa.isPromise(i)?await i:i,typeof i=="function"?et(i)?i:await i():i}s(ne,"resolveThunk");var hs=/^(?:file:\/\/)?(.+)$/;function Ql(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?hs.exec(r):void 0;return o?o[1]:""}return""}s(Ql,"getStackFileName");function Xl(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?hs.exec(r):void 0;return o?o[1]:""}return""}s(Xl,"getErrorStack");function fr(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(fr,"mergePrototype");function ur(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(ur,"inheritPropertyInitializers");import si from"putil-isplainobject";import Aa from"putil-merge";function L(i,e){return Aa({},i,{deep:s(t=>si(t)&&!t[E],"deep"),descriptor:!0,filter:s((t,r)=>{let o=t[r];return!e||typeof o!="function"&&(typeof o!="object"||si(o)||Array.isArray(o))},"filter")})}s(L,"cloneObject");function y(i,e){if(!(i&&typeof i=="object"))return i;for(let t of Object.keys(i))i[t]===void 0?delete i[t]:e&&typeof i[t]=="object"&&y(i[t]);return i}s(y,"omitUndefined");function ba(i,e){if(!(i&&typeof i=="object"))return i;for(let t of Object.keys(i))i[t]==null?delete i[t]:e&&si(i[t])&&ba(i[t]);return i}s(ba,"omitNullish");import{splitString as ys}from"fast-tokenizer";var Na=/^([+-])?([a-z_$]\w*)$/i,Da=/[^.]\(/g,ai=class ai{};s(ai,"FieldsProjection");var ve=ai;(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 J=Symbol.for("kEntries"),se=Symbol.for("kKeyMap"),mr=Symbol.for("kWellKnownKeys"),pi=Symbol.for("kOptions"),tt=Symbol.for("kSize"),ci=class ci{constructor(e,t){Object.defineProperty(this,tt,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,J,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,se,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,mr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,pi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(o=>{r?this[mr][o]=o:this[mr][o.toLowerCase()]=o}),this.clear(),e&&this.setAll(e)}get size(){return this[tt]}clear(){Object.keys(this[J]).forEach(e=>delete this[J][e]),Object.keys(this[se]).forEach(e=>delete this[se][e]),this[tt]=0}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,r,this)}get(e){if(e)return this[J][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[J],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let o=Object.prototype.hasOwnProperty.call(this[J],r);return this[J][r]=t,o||this[tt]++,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[J])[Symbol.iterator]()}entries(){return Object.entries(this[J])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[J],t);return delete this[J][t],delete this[se][t],r||this[tt]--,r}sort(e){let t={...this[J]},r={...this[se]},o=Array.from(this.keys());e?o.sort(e):o.sort(),this.clear();for(let n of o)this[J][n]=t[n],this[se][n]=r[n];return this[tt]=o.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[se]))e[r]=this[J][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[pi].caseSensitive)return e;let t=this._getStoringKey(e);return this[se][t]??this[mr][t]??e}_getStoringKey(e){return this[pi].caseSensitive?e:e.toLowerCase()}};s(ci,"ResponsiveMap");var N=ci;function mf(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(mf,"safeJsonStringify");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,Vt=class Vt 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 Vt(e,t)}static createInstance(e,t){return new Vt(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 x=c.length>1?"$t("+c.join(",")+")":c[0];o+=p?this.t(x,p,{...r,...l}):this.t(x,{...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(Vt,"I18n");var Kt=Vt,Fa=Kt.createInstance();var ka=/(\))/g;function w(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(w,"translate");var li=Kt.createInstance();li.init().catch(()=>{});var fi=class fi 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 li.deep(this.message)}toJSON(){var t;let e="production";return y({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(fi,"OpraException");var ye=fi;var ui=class ui extends ye{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};s(ui,"OpraDocumentError");var rt=ui;var mi=class mi{constructor(e){this.path="",this.error=new rt,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(mi,"DocumentInitContext");var ae=mi;import"reflect-metadata";import{asMutable as za}from"ts-gems";import ja from"lodash.omit";function di(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(cr))==null?void 0:o[1])||e.name;let r=Reflect.getOwnMetadata(E,e);r||(r={},Reflect.defineMetadata(E,r,e)),r.kind=m.ComplexType.Kind,r.name=t,i&&Object.assign(r,ja(i,["kind","name","base","fields"]))}}s(di,"ComplexTypeDecorator");import{asMutable as Ka}from"ts-gems";import{asMutable as Ca}from"ts-gems";import{uid as Ua}from"uid";var hi=class hi{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[we])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(E,e).name;else if(typeof e=="object"){let o=e[E];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(hi,"DocumentNode");var dr=hi;var R=s(function(i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Ca(this);e.id=Ua(16),Object.defineProperty(e,"node",{value:new dr(this,i==null?void 0:i.node),enumerable:!1,writable:!0}),i&&Object.defineProperty(e,"owner",{value:i,enumerable:!1,writable:!0})},"DocumentElement"),Ti=class Ti{};s(Ti,"DocumentElementClass");var yi=Ti;R.prototype=yi.prototype;function Ei(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(E,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(E,r,e.constructor)}}s(Ei,"ApiFieldDecorator");import{asMutable as $a}from"ts-gems";import{validator as Ba,vg as Fe}from"valgen";import{asMutable as qa}from"ts-gems";var it=Symbol.for("nodejs.util.inspect.custom"),Pe="\x1B[0m",ot="\x1B[33m",nt="\x1B[35m";var g=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`);R.call(this,i);let r=qa(this);r.kind=e.kind,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),xi=class xi extends R{get embedded(){return!this.name}toJSON(){return y({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[it](){return`[${ot+Object.getPrototypeOf(this).constructor.name+Pe} ${nt+this.name+Pe}]`}};s(xi,"DataTypeClass");var _i=xi;g.prototype=_i.prototype;var Va=/^([+-])?([a-z$_][\w.]*)$/i,D=s(function(...i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;g.call(this,e,t,r);let o=$a(this);o.fields=new N},"ComplexTypeBase"),gi=class gi extends g{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(w("error:UNKNOWN_FIELD",{field:e}));return t}parseFieldPath(e,t){var d,B,cs;let r=this,o,n=e.split("."),a=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,x=s(()=>p.map(Me=>Me.fieldName).join("."),"getStrPath");for(let Me=0;Me<a;Me++){let Y={fieldName:n[Me],dataType:c};p.push(Y);let pr=Va.exec(n[Me]);if(!pr)throw new TypeError(`Invalid field name (${x()})`);if(pr[1]&&((Me===0&&l==="first"||l==="each")&&(Y.sign=pr[1]),Y.fieldName=pr[2]),r){if(r instanceof D){if(o=r.fields.get(Y.fieldName),o){Y.fieldName=o.name,Y.field=o,Y.dataType=o.type,r=o.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){Y.additionalField=!0,Y.dataType=c,r=void 0;continue}if(((B=r.additionalFields)==null?void 0:B[0])==="type"&&((cs=r.additionalFields)==null?void 0:cs[1])instanceof g){Y.additionalField=!0,Y.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(ei=>ei.fieldName).join(".")})`)}throw new TypeError(`"${p.map(ei=>ei.fieldName).join(".")}" field is not a complex type and has no child fields`)}Y.additionalField=!0,Y.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 g)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=Ba((p,c,l)=>c.fail(l,a,p))}return Fe.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]=Fe.isUndefined({coerce:!0});continue}p=l.name;let x;if(n!=="*"&&(x=n==null?void 0:n[p.toLowerCase()],(x==null?void 0:x.sign)==="-"||a&&!x||!a&&l.exclusive&&!x)){r[l.name]=Fe.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?Fe.optional(d):Fe.required(d)}return r}_generateFieldCodec(e,t,r){let o=t.type.generateCodec(e,r);return t.fixed&&(o=Fe.isEnum([t.fixed])),t.isArray&&(o=Fe.isArray(o)),o}};s(gi,"ComplexTypeBaseClass");var Oi=gi;D.prototype=Oi.prototype;var P=s(function(...i){if(!this){let[n]=i;return P[A](n)}let[e,t]=i;R.call(this,e);let r=Ka(this);r.name=t.name;let o=t.origin||e;if(!(o instanceof D))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.translatable=t.translatable,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.hidden=t.hidden},"ApiField"),wi=class wi extends R{toJSON(){var t;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return y({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,translatable:this.translatable||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}};s(wi,"ApiFieldClass");var Ri=wi;P.prototype=Ri.prototype;Object.assign(P,Ei);P[A]=Ei;var H=s(function(...i){var n;if(!this)return H[A].apply(void 0,i);let[e,t]=i,r=i[2]||new ae({maxErrors:0});D.call(this,e,t,r);let o=za(this);o.kind=m.ComplexType.Kind,o.additionalFields=t.additionalFields,o.keyField=t.keyField,t.base&&r.enter(".base",()=>{if(!(t.base instanceof D))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.additionalFields==null&&o.base.additionalFields&&(o.additionalFields=o.base.additionalFields);for(let a of o.base.fields.values())this.fields.set(a.name,new P(this,a))}),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"),bi=class bi extends D{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof D?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,t=y({...D.prototype.toJSON.call(this),kind:this.kind,base:this.base?e||this.base.toJSON():void 0});if(this.additionalFields)if(this.additionalFields instanceof g){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 y(t)}};s(bi,"ComplexTypeClass");var Ai=bi;H.prototype=Ai.prototype;Object.assign(H,di);H[A]=di;import"reflect-metadata";import{asMutable as Ja}from"ts-gems";import{vg as Wa}from"valgen";var pe=s(function(...i){if(!this)return pe[A].apply(void 0,i);let[e,t,r]=i;g.call(this,e,t,r);let o=Ja(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"),Ni=class Ni extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof pe?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Wa.isEnum(Object.keys(this.attributes))}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return y({...g.prototype.toJSON.call(this),base:this.base?e||this.base.toJSON():void 0,attributes:L(this.ownAttributes)})}};s(Ni,"EnumTypeClass");var zt=Ni;pe.prototype=zt.prototype;Object.assign(pe,zt);function Ga(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]=y({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]]=y({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,E,{value:a,enumerable:!1,configurable:!0,writable:!0}),n}s(Ga,"EnumTypeFactory");pe.prototype=zt.prototype;pe[A]=Ga;import"reflect-metadata";import{asMutable as Ya}from"ts-gems";function hr(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(hr,"getIsInheritedPredicateFn");var ke=s(function(...i){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;D.call(this,e,t,r);let o=Ya(this);if(o.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof D))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=hr(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,x]of o.base.fields.entries()){if(!a(l))continue;let d={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(d.required=!0);let B=new P(this,d);o.fields.set(B.name,B)}(!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"),Si=class Si extends D{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof D?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return y({...D.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(Si,"MappedTypeClass");var Di=Si;ke.prototype=Di.prototype;ke._applyMixin=()=>{};import"reflect-metadata";import{asMutable as Qa}from"ts-gems";var st=s(function(...i){if(!this)return st[A].apply(void 0,i);let[e,t,r]=i;D.call(this,e,t,r);let o=Qa(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"),Mi=class Mi extends D{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof D))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(){return y({...D.prototype.toJSON.call(this),kind:this.kind,types:this.types.map(e=>{let t=this.node.getDataTypeNameWithNs(e);return t||e.toJSON()})})}};s(Mi,"MixinTypeClass");var Ii=Mi;st.prototype=Ii.prototype;st[A]=Xa;function Xa(...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)ur(this,a)}}}[r],n={...t,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(E,n,o);for(let a of e){let p=Reflect.getMetadata(E,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),fr(o.prototype,a.prototype)}return o}s(Xa,"MixinTypeFactory");import"reflect-metadata";import{asMutable as Ha}from"ts-gems";import{isAny as Rs}from"valgen";import Za from"lodash.omit";function Li(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(cr))==null?void 0:a[1])||r.name,o=o.toLowerCase();let n=Reflect.getOwnMetadata(E,r)||{};n.kind=m.SimpleType.Kind,n.name=o,i&&Object.assign(n,Za(i,["kind","name"])),Reflect.defineMetadata(E,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(Li,"SimpleTypeDecoratorFactory");function gs(i){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(E,e.constructor)||{},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(E,r,e.constructor)}}s(gs,"AttributeDecoratorFactory");var u=s(function(...i){var n,a;if(!this)return u[A](...i);let[e,t,r]=i;g.call(this,e,t,r);let o=Ha(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"),Pi=class Pi extends g{extendsFrom(e){var t;return e instanceof g||(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 Rs}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(o,(t==null?void 0:t.documentElement)||this.owner);n=this.base}return Rs}toJSON(){let e=y(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=y({...g.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}),o}};s(Pi,"SimpleTypeClass");var vi=Pi;u.prototype=vi.prototype;Object.assign(u,Li);u[A]=Li;u.Attribute=gs;var Fi=Symbol("initializing"),yr=class yr{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 yr.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 x=this._createDataType(a,t,l);x&&p.push(x)});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(E,c)||c[E];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 x;r=await ne(r);let{importQueue:o,initArgsMap:n}=e,a=t.node.findDataType(r);if(a instanceof g)return a.name;let p,c,l;if(typeof r!="string"){let B=t.node.getDocument().types[lr].get(r);B&&(r=B)}if(typeof r=="string"){let d=r;if(r=(o==null?void 0:o.get(d))||((x=e.initArgsMap)==null?void 0:x.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(E,r),!p)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);c=r}else if(typeof r=="object"){if(p=r[E],p)l=r,p.kind!==m.EnumType.Kind&&(p=void 0);else if(m.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(E,c),p&&p.kind===m.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let B=n==null?void 0:n.get(p.name);if(B)return B[Fi]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[Fi]=!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[Fi]}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),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(E,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=je(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=je(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:je(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=je(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 x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,x)&&(l=await this._importDataTypeArgs(e,t,x))}l&&(r.base=je(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[T])=="function"&&(r.generateDecoder=(a=r.properties)==null?void 0:a[T].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[O])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[O].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(E,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=je(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(je(c))})})}static _createDataType(e,t,r){var a;let o=t.node.findDataType(typeof r=="string"?r:r.name||"");if(o instanceof g)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,H.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})})}),H.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,ke.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),ke.apply(o,[t,n]),o}static _createMixinType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,st.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 D))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),st.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(yr,"DataTypeFactory");var S=yr;function je(i){return typeof i=="object"&&i.name?i.name:i}s(je,"preferName");var ki=class ki extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(){return y({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(ki,"ApiBase");var at=ki;import ip from"path-browserify";import{asMutable as op}from"ts-gems";var ws,As,ee=Symbol.for("kMap"),Jt=Symbol.for("kCtorMap"),ji=class ji{constructor(){this[ws]=new N,this[As]=new WeakMap}get size(){return this[ee].size}forEach(e,t){this[ee].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Jt].get(e);if(!t&&typeof e=="function"){let r=Reflect.getMetadata(E,e);t=r==null?void 0:r.name}if(!t&&typeof e=="object"){let r=e[E];t=r==null?void 0:r.name}return t?this[ee].get(t):void 0}set(e,t){this[ee].set(e,t),t.ctor?this[Jt].set(t.ctor,e):t.instance&&this[Jt].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[ee].has(e.name);let t=typeof e=="string"?e:this[Jt].get(e);return t?this[ee].has(t):!1}keys(){return this[ee].keys()}values(){return this[ee].values()}entries(){return this[ee].entries()}sort(e){return this[ee].sort(e),this}[(ws=ee,As=Jt,Symbol.iterator)](){return this[ee][Symbol.iterator]()}};s(ji,"DataTypeMap");var te=ji;import tp from"lodash.omit";import Ci from"putil-merge";var rp=/^(.*)(Controller)$/;function Ui(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=rp.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(V,Object.getPrototypeOf(r));a&&Ci(n,a,{deep:!0});let p=Reflect.getOwnMetadata(V,r);p&&Ci(n,p,{deep:!0}),Ci(n,{kind:m.HttpController.Kind,name:o,path:o,...tp(i,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(V,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(V,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(Ui,"HttpControllerDecoratorFactory");var W=s(function(...i){var o;if(!this)return W[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=op(this);r.kind=m.HttpController.Kind,r.types=r.node[F]=new te,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),r.onInit=t.onInit,r.onShutdown=t.onShutdown},"HttpController"),$i=class $i extends R{get isRoot(){return!(this.owner instanceof W)}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 W)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return ip.posix.join(this.owner instanceof W?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(){let e=y({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}[it](){return`[${ot}HttpController${nt+this.name+Pe}]`}};s($i,"HttpControllerClass");var qi=$i;W.prototype=qi.prototype;Object.assign(W,Ui);W[A]=Ui;W.OnInit=function(){return(i,e)=>{let t=Reflect.getOwnMetadata(V,i.constructor)||{};t.onInit=i[e],Reflect.defineMetadata(V,i.constructor,t)}};W.OnShutdown=function(){return(i,e)=>{let t=Reflect.getOwnMetadata(V,i.constructor)||{};t.onShutdown=i[e],Reflect.defineMetadata(V,i.constructor,t)}};var Bi=class Bi extends at{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new N,this.url=e.url}findController(e){return W.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(Bi,"HttpApi");var pt=Bi;import np from"@browsery/type-is";import{asMutable as sp}from"ts-gems";import{isAny as ap,vg as pp}from"valgen";var Ae=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=sp(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 g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Ki=class Ki extends R{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=y({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=>np.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||ap,this.isArray?pp.isArray(r):r}};s(Ki,"HttpMediaTypeClass");var Vi=Ki;Ae.prototype=Vi.prototype;function ct(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(ct,"parseRegExp");var zi=class zi extends Ae{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?ct(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(){return y({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON()})}};s(zi,"HttpMultipartField");var Tr=zi;import lp from"path-browserify";import{asMutable as fp}from"ts-gems";import cp from"lodash.omit";var bs;(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"})(bs||(bs={}));var I;(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"})(I||(I={}));var Y0={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 v;(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"})(v||(v={}));function C(i,e){let t=s((r,o)=>{if(typeof o!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:m.HttpOperation.Kind,...cp(e,["kind"])},a=Reflect.getOwnMetadata(V,r.constructor)||{};a.operations=a.operations||{},a.operations[o]=n;for(let p of i)p(n);Reflect.defineMetadata(V,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||v.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===v.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||v.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(C,"HttpOperationDecoratorFactory");var M=s(function(...i){if(!this){let[o]=i,n=[];return M[A].call(void 0,n,o)}let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=fp(this);r.parameters=[],r.responses=[],r.types=r.node[F]=new te,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"),Wi=class Wi extends R{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:lp.posix.join(e,this.path):e:this.path||"/"}toJSON(){var t;let e=y({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(Wi,"HttpOperationClass");var Ji=Wi;M.prototype=Ji.prototype;M[A]=C;M.GET=function(i){return C([],{...i,method:"GET"})};M.DELETE=function(i){return C([],{...i,method:"DELETE"})};M.HEAD=function(i){return C([],{...i,method:"HEAD"})};M.OPTIONS=function(i){return C([],{...i,method:"OPTIONS"})};M.PATCH=function(i){return C([],{...i,method:"PATCH"})};M.POST=function(i){return C([],{...i,method:"POST"})};M.PUT=function(i){return C([],{...i,method:"PUT"})};M.SEARCH=function(i){return C([],{...i,method:"SEARCH"})};var up=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Gi=class Gi{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=up.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(Gi,"HttpStatusRange");var Wt=Gi;var Yi=class Yi extends Ae{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new Wt(r.start,r.end):new Wt(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=y({...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 Er=Yi;import{asMutable as dp}from"ts-gems";import{asMutable as mp}from"ts-gems";var Ce=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=mp(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Xi=class Xi extends R{toJSON(){let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return y({type:this.type?e||this.type.toJSON():"any",description:this.description,isArray:this.isArray,examples:this.examples})}};s(Xi,"ValueClass");var Qi=Xi;Ce.prototype=Qi.prototype;var Gt=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ce.call(this,i,e);let t=dp(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?ct(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"),Hi=class Hi extends Ce{toJSON(){return y({...super.toJSON(),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};s(Hi,"HttpParameterClass");var Zi=Hi;Gt.prototype=Zi.prototype;var eo=class eo extends R{constructor(e){super(e),this.content=[]}toJSON(){return y({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(e=>e.toJSON()):[],partial:this.partial})}};s(eo,"HttpRequestBody");var _r=eo;var to=class to{static async createApi(e,t){let r=new pt(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"&&!et(r)&&(r=t instanceof W?r(t.instance):r()),r=await ne(r);let o,n,a;if(typeof r=="function"){if(n=Reflect.getMetadata(V,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(V,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 W(t,{...r,instance:o,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await S.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 S.resolveDataType(e,a,c.type)});let x=new Gt(a,l);a.parameters.push(x)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let l=new M(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 M.apply(t,[t.owner,o]),r.types&&await e.enterAsync(".types",async()=>{await S.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 S.resolveDataType(e,t,a.type)});let c=new Gt(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 Er(t,{statusCode:a.statusCode});await this._initHttpOperationResponse(e,p,a),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new _r(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Ae.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await S.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 Tr(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 S.resolveDataType(e,t,n.type)});let p=new Gt(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 Ae(t,String(o));await this._initHttpMediaType(e,a,n),t.content.push(a)})})}};s(to,"HttpApiFactory");var lt=to;import{md5 as yp}from"super-fast-md5";var ro=class ro extends at{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(ro,"RpcApi");var ft=ro;var Ns,io=class io extends R{constructor(){super(null),this[Ns]=new WeakMap,this.id="",this.info={},this.references=new N,this.types=new te,this.node[F]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof g?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[we].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 pt))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof ft))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(){let e=y({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=yp(JSON.stringify(e)),this[we]=new WeakMap}_findDataType(e,t){let r=this.types.get(e);if(r||!this.references.size)return r;if(typeof e=="string"){let n=us.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[we].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[we].set(r,a!=null&&a[Le]?"":n),r}}};s(io,"ApiDocument");var Ue=io;Ns=we;import{__decorate as Tp,__metadata as Ep}from"tslib";import{vg as Ds}from"valgen";var ut,xr=(ut=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ds.isBase64({coerce:!0})}[O](){return Ds.isBase64({coerce:!0})}},s(ut,"Base64Type"),ut);xr=Tp([u({description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Ep("design:paramtypes",[Object])],xr);import{__decorate as oo,__metadata as no}from"tslib";import{isDateString as Or,toString as Ss,vg as be}from"valgen";var mt,dt=(mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=be.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&(Or(e.minValue),r.push(Ss,be.isGte(e.minValue))),e.maxValue&&(Or(e.maxValue),r.push(Ss,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=be.isDateString({precision:"date",trim:"date",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(mt,"DateType"),mt);oo([u.Attribute({description:"Minimum value"}),no("design:type",String)],dt.prototype,"minValue",void 0);oo([u.Attribute({description:"Maximum value"}),no("design:type",String)],dt.prototype,"maxValue",void 0);dt=oo([u({description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),no("design:paramtypes",[Object])],dt);import{__decorate as so,__metadata as ao}from"tslib";import{vg as gr}from"valgen";var ht,yt=(ht=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=gr.isDateString({trim:"date",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],{returnIndex:0}):t}[O](e){return this[T](e)}},s(ht,"DateStringType"),ht);so([u.Attribute({description:"Minimum value"}),ao("design:type",String)],yt.prototype,"minValue",void 0);so([u.Attribute({description:"Maximum value"}),ao("design:type",String)],yt.prototype,"maxValue",void 0);yt=so([u({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"),ao("design:paramtypes",[Object])],yt);import{__decorate as po,__metadata as co}from"tslib";import{isDateString as Rr,toString as Is,vg as Ne}from"valgen";var Tt,Et=(Tt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ne.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&(Rr(e.minValue),r.push(Is,Ne.isGte(e.minValue))),e.maxValue&&(Rr(e.maxValue),r.push(Is,Ne.isLte(e.maxValue))),r.length>0?Ne.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=Ne.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&(Rr(e.minValue),r.push(Ne.isGte(e.minValue))),e.maxValue&&(Rr(e.maxValue),r.push(Ne.isLte(e.maxValue))),r.length>0?Ne.pipe([t,...r],{returnIndex:0}):t}},s(Tt,"DateTimeType"),Tt);po([u.Attribute({description:"Minimum value"}),co("design:type",String)],Et.prototype,"minValue",void 0);po([u.Attribute({description:"Maximum value"}),co("design:type",String)],Et.prototype,"maxValue",void 0);Et=po([u({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"),co("design:paramtypes",[Object])],Et);import{__decorate as lo,__metadata as fo}from"tslib";import{vg as wr}from"valgen";var _t,xt=(_t=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=wr.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(wr.isGte(e.minValue)),e.maxValue&&r.push(wr.isLte(e.maxValue)),r.length>0?wr.pipe([t,...r]):t}[O](e){return this[T](e)}},s(_t,"DateTimeStringType"),_t);lo([u.Attribute({description:"Minimum value"}),fo("design:type",String)],xt.prototype,"minValue",void 0);lo([u.Attribute({description:"Maximum value"}),fo("design:type",String)],xt.prototype,"maxValue",void 0);xt=lo([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"),fo("design:paramtypes",[Object])],xt);import{__decorate as ce,__metadata as le}from"tslib";import{vg as Ms}from"valgen";var Ot,Q=(Ot=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Ms.isEmail({...e,coerce:!0})}[O](e){return Ms.isEmail({...e,coerce:!0})}},s(Ot,"EmailType"),Ot);ce([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),le("design:type",Boolean)],Q.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)],Q.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)],Q.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)],Q.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)],Q.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)],Q.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)],Q.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)],Q.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)],Q.prototype,"blacklistedChars",void 0);Q=ce([u({description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),le("design:paramtypes",[Object])],Q);import{__decorate as uo,__metadata as mo}from"tslib";import{toString as _p,validator as xp,vg as Op}from"valgen";var gt,re=(gt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.allowSigns,n=xp("decodeFieldPath",a=>r.normalizeFieldPath(a,{allowSigns:o}));return Op.pipe([_p,n])}[O](e,t){return this[T](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(gt,"FieldPathType"),gt);uo([u.Attribute({description:"Data type which field belong to"}),mo("design:type",Object)],re.prototype,"dataType",void 0);uo([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'}),mo("design:type",String)],re.prototype,"allowSigns",void 0);re=uo([u({description:"Field path",nameMappings:{js:"string",json:"string"}}),mo("design:paramtypes",[Object])],re);import{__decorate as Jn,__metadata as Wn}from"tslib";import{validator as Qs}from"valgen";var ho=class ho 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(ho,"OpraHttpError");var b=ho;var yo=class yo extends b{constructor(){super(...arguments),this.status=400}init(e){super.init({message:w("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};s(yo,"BadRequestError");var Ls=yo;var To=class To extends b{constructor(){super(...arguments),this.status=409}init(e){super.init({message:w("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};s(To,"ConflictError");var vs=To;var Eo=class Eo extends b{constructor(){super(...arguments),this.status=424}init(e){super.init({message:w("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};s(Eo,"FailedDependencyError");var Ps=Eo;var _o=class _o extends b{constructor(){super(...arguments),this.status=I.FORBIDDEN}init(e){super.init({message:w("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};s(_o,"ForbiddenError");var Ar=_o;var xo=class xo extends b{constructor(){super(...arguments),this.status=500}init(e){super.init({message:w("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};s(xo,"InternalServerError");var Fs=xo;var Oo=class Oo extends b{constructor(){super(...arguments),this.status=405}init(e){super.init({message:w("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};s(Oo,"MethodNotAllowedError");var ks=Oo;var go=class go extends b{constructor(){super(...arguments),this.status=406}init(e){super.init({message:w("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};s(go,"NotAcceptableError");var js=go;var Ro=class Ro extends b{constructor(){super(...arguments),this.status=404}init(e){super.init({message:w("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};s(Ro,"NotFoundError");var Cs=Ro;var wo=class wo extends Ar{init(e){super.init({message:w("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};s(wo,"PermissionError");var Us=wo;var Ao=class Ao extends b{constructor(e,t,r){super({message:w("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(Ao,"ResourceConflictError");var qs=Ao;var bo=class bo extends b{constructor(e,t,r){super({message:w("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,I.UNPROCESSABLE_ENTITY)}};s(bo,"ResourceNotAvailableError");var $s=bo;var No=class No extends b{constructor(){super(...arguments),this.status=401}init(e){super.init({message:w("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};s(No,"UnauthorizedError");var Bs=No;var Do=class Do extends b{constructor(){super(...arguments),this.status=422}init(e){super.init({message:w("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};s(Do,"UnprocessableEntityError");var Vs=Do;var Ks;(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"}})(Ks||(Ks={}));var So=class So{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};s(So,"Ast");var Yt=So;var Io=class Io extends Yt{};s(Io,"Expression");var U=Io;var Mo=class Mo extends U{};s(Mo,"Term");var qe=Mo;var Lo=class Lo extends qe{constructor(e){super(),this.value=e}toString(){return""+this.value}};s(Lo,"Literal");var k=Lo;var vo=class vo extends U{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new br({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};s(vo,"ArithmeticExpression");var $e=vo,Po=class Po{constructor(e){Object.assign(this,e)}};s(Po,"ArithmeticExpressionItem");var br=Po;var Fo=class Fo extends qe{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};s(Fo,"ArrayExpression");var Te=Fo;var gp=/\w/,ko=class ko extends U{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${gp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};s(ko,"ComparisonExpression");var Ee=ko;var jo=class jo extends U{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};s(jo,"LogicalExpression");var fe=jo;var Co=class Co extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(Co,"NegativeExpression");var Qt=Co;var Uo=class Uo extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(Uo,"ParenthesizedExpression");var _e=Uo;var qo=class qo extends k{constructor(e){super(e)}};s(qo,"BooleanLiteral");var Be=qo;import{toDateDef as Dp}from"putil-varhelpers";var $o=class $o extends TypeError{};s($o,"SyntaxError");var Nr=$o,Bo=class Bo extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};s(Bo,"FilterValidationError");var De=Bo,Vo=class Vo extends Error{constructor(e,t){super(e),Object.assign(this,t)}};s(Vo,"FilterParseError");var Dr=Vo;var Rp=/'/g,wp=/(\\)/g,Ap=/\\(.)/g;function bp(i){return i.replace(wp,"\\\\")}s(bp,"escapeString");function Np(i){return i.replace(Ap,"$1")}s(Np,"unescapeString");function Rt(i){return"'"+bp(i).replace(Rp,"\\'")+"'"}s(Rt,"quoteFilterString");function Xt(i){return i&&(i.startsWith("'")||i.startsWith('"'))&&i.endsWith(i.charAt(0))?Np(i.substring(1,i.length-1)):i}s(Xt,"unquoteFilterString");var zs=new Date(0),Ko=class Ko extends k{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Dp(e,zs)!==zs){this.value=e;return}throw new De(`Invalid date value "${e}"`)}toString(){return Rt(this.value)}};s(Ko,"DateLiteral");var xe=Ko;var zo=class zo extends k{constructor(){super(null),this.value=null}};s(zo,"NullLiteral");var Ve=zo;var Jo=class Jo extends k{constructor(e){if(super(0),typeof e=="number"||typeof e=="bigint"){this.value=e;return}try{if(typeof e=="string"){if(e.includes(".")){this.value=parseFloat(e);return}let t=Number(e);""+t===e?this.value=t:this.value=BigInt(e);return}}catch{}throw new De(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};s(Jo,"NumberLiteral");var Oe=Jo;var Wo=class Wo extends k{constructor(e){super(""+e)}};s(Wo,"QualifiedIdentifier");var ue=Wo;var Go=class Go extends k{constructor(e){super(""+e)}toString(){return Rt(this.value)}};s(Go,"StringLiteral");var Ke=Go;var Sp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Yo=class Yo extends k{constructor(e){if(super(""),e instanceof Date){this.value=Sr(e.getHours())+":"+Sr(e.getMinutes())+(e.getSeconds()?":"+Sr(e.getSeconds()):"")+(e.getMilliseconds()?"."+Sr(e.getMilliseconds()):"");return}if(typeof e=="string"&&Sp.test(e)){this.value=e;return}throw new De(`Invalid time value "${e}"`)}toString(){return Rt(this.value)}};s(Yo,"TimeLiteral");var ze=Yo;function Sr(i){return i<=9?"0"+i:""+i}s(Sr,"pad");import{CharStream as zp,CommonTokenStream as Jp}from"@browsery/antlr4";import{ATNDeserializer as Ip,DFA as Mp,Lexer as Lp,LexerATNSimulator as vp,PredictionContextCache as Pp,Token as Fp}from"@browsery/antlr4";var z=class z extends Lp{constructor(e){super(e),this._interp=new vp(this,z._ATN,z.DecisionsToDFA,new Pp)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return z.literalNames}get symbolicNames(){return z.symbolicNames}get ruleNames(){return z.ruleNames}get serializedATN(){return z._serializedATN}get channelNames(){return z.channelNames}get modeNames(){return z.modeNames}static get _ATN(){return z.__ATN||(z.__ATN=new Ip().deserialize(z._serializedATN)),z.__ATN}};s(z,"OpraFilterLexer");var h=z;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=Fp.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 Mp(i,e));var Js=h;import{ATN as Ws,ATNDeserializer as kp,DFA as jp,FailedPredicateException as Cp,NoViableAltException as Qo,Parser as Up,ParserATNSimulator as qp,ParserRuleContext as $,PredictionContextCache as $p,RecognitionException as q,Token as Bp}from"@browsery/antlr4";var _=class _ extends Up{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return _.literalNames}get symbolicNames(){return _.symbolicNames}get ruleNames(){return _.ruleNames}get serializedATN(){return _._serializedATN}createFailedPredicateException(e,t){return new Cp(this,e,t)}constructor(e){super(e),this._interp=new qp(this,_._ATN,_.DecisionsToDFA,new $p)}root(){let e=new Xo(this,this._ctx,this.state);this.enterRule(e,0,_.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(_.EOF)}catch(t){if(t instanceof q)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 X(this,this._ctx,r),n=o,a=2;this.enterRecursionRule(o,2,_.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 en(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 Zo(this,o),this._ctx=o,n=o,this.state=42,this.match(_.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(_.T__1);break;case 3:case 4:o=new Ho(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 Qo(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==Ws.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=o;{if(o=new Zt(this,new X(this,t,r)),this.pushNewRecursionContext(o,a,_.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 q)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 Ir(this,this._ctx,this.state);this.enterRule(e,4,_.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof q)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 Mr(this,this._ctx,this.state);this.enterRule(e,6,_.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new Qo(this)}}catch(t){if(t instanceof q)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 Lr(this,this._ctx,this.state);this.enterRule(e,8,_.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof q)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 G(this,this._ctx,this.state);this.enterRule(e,10,_.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new cn(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(_.NUMBER);break;case 13:case 14:e=new an(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new pn(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new rn(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 37:e=new sn(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(_.DATE);break;case 38:e=new on(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(_.DATETIME);break;case 39:e=new tn(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(_.TIME);break;case 42:e=new nn(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(_.STRING);break;default:throw new Qo(this)}}catch(t){if(t instanceof q)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 Ht(this,this._ctx,this.state);this.enterRule(e,12,_.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==Ws.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(_.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof q)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 vr(this,this._ctx,this.state);this.enterRule(e,14,_.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(_.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof q)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 wt(this,this._ctx,this.state);this.enterRule(e,16,_.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(_.IDENTIFIER)}catch(t){if(t instanceof q)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 Pr(this,this._ctx,this.state);this.enterRule(e,18,_.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(_.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(_.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(_.T__8)}}catch(r){if(r instanceof q)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 Fr(this,this._ctx,this.state);this.enterRule(e,20,_.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)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 kr(this,this._ctx,this.state);this.enterRule(e,22,_.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(_.T__11)}catch(t){if(t instanceof q)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 jr(this,this._ctx,this.state);this.enterRule(e,24,_.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)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 ln(this,this._ctx,this.state);this.enterRule(e,26,_.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),!(t&-32)&&1<<t&491520?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)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 Cr(this,this._ctx,this.state);this.enterRule(e,28,_.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),!(t&-32)&&1<<t&2146959360?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)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 Ur(this,this._ctx,this.state);this.enterRule(e,30,_.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),!(t-31&-32)&&1<<t-31&15?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)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 fn(this,this._ctx,this.state);this.enterRule(e,32,_.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(_.POLAR_OP)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return _.__ATN||(_.__ATN=new kp().deserialize(_._serializedATN)),_.__ATN}};s(_,"OpraFilterParser");var f=_;f.T__0=1;f.T__1=2;f.T__2=3;f.T__3=4;f.T__4=5;f.T__5=6;f.T__6=7;f.T__7=8;f.T__8=9;f.T__9=10;f.T__10=11;f.T__11=12;f.T__12=13;f.T__13=14;f.T__14=15;f.T__15=16;f.T__16=17;f.T__17=18;f.T__18=19;f.T__19=20;f.T__20=21;f.T__21=22;f.T__22=23;f.T__23=24;f.T__24=25;f.T__25=26;f.T__26=27;f.T__27=28;f.T__28=29;f.T__29=30;f.T__30=31;f.T__31=32;f.T__32=33;f.T__33=34;f.IDENTIFIER=35;f.POLAR_OP=36;f.DATE=37;f.DATETIME=38;f.TIME=39;f.NUMBER=40;f.INTEGER=41;f.STRING=42;f.WHITESPACE=43;f.EOF=Bp.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 jp(i,e));var Gs=f,un=class un extends ${constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(X,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(un,"RootContext");var Xo=un,mn=class mn extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};s(mn,"ExpressionContext");var X=mn,dn=class dn extends X{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Lr,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(dn,"ParenthesizedExpressionContext");var Zo=dn,hn=class hn extends X{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(X,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(hn,"NegativeExpressionContext");var Ho=hn,yn=class yn extends X{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(Ir,0)}comparisonOperator(){return this.getTypedRuleContext(Cr,0)}comparisonRight(){return this.getTypedRuleContext(Mr,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(yn,"ComparisonExpressionContext");var en=yn,Tn=class Tn extends X{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(X)}expression(e){return this.getTypedRuleContext(X,e)}logicalOperator(){return this.getTypedRuleContext(Ur,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(Tn,"LogicalExpressionContext");var Zt=Tn,En=class En extends ${constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Ht,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(En,"ComparisonLeftContext");var Ir=En,_n=class _n extends ${constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(G,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Ht,0)}externalConstant(){return this.getTypedRuleContext(vr,0)}arrayValue(){return this.getTypedRuleContext(Pr,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(_n,"ComparisonRightContext");var Mr=_n,xn=class xn extends ${constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(X,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(xn,"ParenthesizedItemContext");var Lr=xn,On=class On extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};s(On,"ValueContext");var G=On,gn=class gn extends G{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(gn,"TimeLiteralContext");var tn=gn,Rn=class Rn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(kr,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(Rn,"NullLiteralContext");var rn=Rn,wn=class wn extends G{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(wn,"DateTimeLiteralContext");var on=wn,An=class An extends G{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(An,"StringLiteralContext");var nn=An,bn=class bn extends G{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(bn,"DateLiteralContext");var sn=bn,Nn=class Nn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(jr,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(Nn,"InfinityLiteralContext");var an=Nn,Dn=class Dn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Fr,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(Dn,"BooleanLiteralContext");var pn=Dn,Sn=class Sn extends G{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(Sn,"NumberLiteralContext");var cn=Sn,In=class In extends ${constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(wt)}identifier(e){return this.getTypedRuleContext(wt,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(In,"QualifiedIdentifierContext");var Ht=In,Mn=class Mn extends ${constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(wt,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(Mn,"ExternalConstantContext");var vr=Mn,Ln=class Ln extends ${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(Ln,"IdentifierContext");var wt=Ln,vn=class vn extends ${constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(G)}value(e){return this.getTypedRuleContext(G,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(vn,"ArrayValueContext");var Pr=vn,Pn=class Pn extends ${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(Pn,"BooleanContext");var Fr=Pn,Fn=class Fn extends ${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(Fn,"NullContext");var kr=Fn,kn=class kn extends ${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(kn,"InfinityContext");var jr=kn,jn=class jn extends ${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(jn,"ArithmeticOperatorContext");var ln=jn,Cn=class Cn extends ${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(Cn,"ComparisonOperatorContext");var Cr=Cn,Un=class Un extends ${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(Un,"LogicalOperatorContext");var Ur=Un,qn=class qn extends ${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(qn,"PolarityOperatorContext");var fn=qn;import{ParseTreeVisitor as Vp}from"@browsery/antlr4";var $n=class $n extends k{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};s($n,"ExternalConstant");var qr=$n;var Bn=class Bn extends Vp{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 Qt(t)}visitComparisonExpression(e){return new Ee({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 Zt&&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 fe({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new ue(e.getText())}visitExternalConstant(e){return new qr(e.identifier().getText())}visitNullLiteral(){return new Ve}visitBooleanLiteral(e){return new Be(e.getText()==="true")}visitNumberLiteral(e){return new Oe(e.getText())}visitStringLiteral(e){return new Ke(Xt(e.getText()))}visitInfinityLiteral(){return new Oe(1/0)}visitDateLiteral(e){return new xe(Xt(e.getText()))}visitDateTimeLiteral(e){return new xe(Xt(e.getText()))}visitTimeLiteral(e){return new ze(Xt(e.getText()))}visitArrayValue(e){return new Te(e.value_list().map(t=>this.visit(t)))}};s(Bn,"FilterTreeVisitor");var er=Bn;import{ErrorListener as Kp}from"@browsery/antlr4";var Vn=class Vn extends Kp{constructor(e){super(),this.errors=e}syntaxError(e,t,r,o,n,a){this.errors.push(new Dr(n,{recognizer:e,offendingSymbol:t,line:r,column:o,e:a}))}};s(Vn,"OpraErrorListener");var tr=Vn;function Kn(i,e){let t=new zp(i),r=new Js(t),o=new Jp(r),n=new Gs(o);n.buildParseTrees=!0;let a=[],p=new tr(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 ls=Object.defineProperty;var s=(i,e)=>ls(i,"name",{value:e,configurable:!0});var fs=(i,e)=>{for(var t in e)ls(i,t,{get:e[t],enumerable:!0})};import"reflect-metadata";import _a from"lodash.omit";import oi from"putil-merge";var u={};fs(u,{ComplexType:()=>Ge,EnumType:()=>Ye,HttpController:()=>qt,HttpOperation:()=>ti,MappedType:()=>Qe,MixinType:()=>Xe,RpcController:()=>ri,RpcOperation:()=>ii,SimpleType:()=>Ze,SpecVersion:()=>fa,isComplexType:()=>ua,isDataType:()=>ma,isEnumType:()=>Ta,isHttpController:()=>Ea,isMappedType:()=>ya,isMixinType:()=>ha,isSimpleType:()=>da});var fa="1.0";var Ge;(function(i){i.Kind="ComplexType"})(Ge||(Ge={}));var Ye;(function(i){i.Kind="EnumType"})(Ye||(Ye={}));var Qe;(function(i){i.Kind="MappedType"})(Qe||(Qe={}));var Xe;(function(i){i.Kind="MixinType"})(Xe||(Xe={}));var Ze;(function(i){i.Kind="SimpleType"})(Ze||(Ze={}));var qt;(function(i){i.Kind="HttpController"})(qt||(qt={}));var ti;(function(i){i.Kind="HttpOperation"})(ti||(ti={}));var ri;(function(i){i.Kind="RpcController"})(ri||(ri={}));var ii;(function(i){i.Kind="RpcOperation"})(ii||(ii={}));function ma(i){return i&&typeof i=="object"&&(i.kind===Ge.Kind||i.kind===Ye.Kind||i.kind===Qe.Kind||i.kind===Ze.Kind||i.kind===Xe.Kind)}s(ma,"isDataType");function ua(i){return i&&typeof i=="object"&&i.kind===Ge.Kind}s(ua,"isComplexType");function da(i){return i&&typeof i=="object"&&i.kind===Ze.Kind}s(da,"isSimpleType");function ha(i){return i&&typeof i=="object"&&i.kind===Xe.Kind}s(ha,"isMixinType");function ya(i){return i&&typeof i=="object"&&i.kind===Qe.Kind}s(ya,"isMappedType");function Ta(i){return i&&typeof i=="object"&&i.kind===Ye.Kind}s(Ta,"isEnumType");function Ea(i){return i&&typeof i=="object"&&i.kind===qt.Kind}s(Ea,"isHttpController");var E=Symbol.for("opra.type.metadata"),re=Symbol("opra.http-controller.metadata"),ie=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),O=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Me=Symbol.for("BUILTIN"),ms=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,cr=/^(.*)Type(\d*)$/,k=Symbol.for("kDataTypeMap"),lr=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");var xa=/^(.*)(Controller)$/,us=[];function He(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(ie,Object.getPrototypeOf(r));a&&oi(n,a,{deep:!0});let p=Reflect.getOwnMetadata(ie,r);p&&oi(n,p,{deep:!0}),oi(n,{kind:u.RpcController.Kind,name:o,path:o,..._a(i,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(ie,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(ie,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(He,"RpcControllerDecoratorFactory");He.augment=function(i){us.push(i)};import ga from"lodash.omit";var ds=[];function $t(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:u.RpcOperation.Kind,channel:a,...ga(t,["kind"]),payloadType:e},c=Reflect.getOwnMetadata(ie,n.constructor)||{};c.operations=c.operations||{},c.operations[a]=p;for(let l of i)l(p,n,a);Reflect.defineMetadata(ie,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(x=>String(x.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),ds.forEach(n=>n(o,i,e,t)),o}s($t,"RpcOperationDecoratorFactory");$t.augment=function(i){ds.push(i)};BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import wa from"putil-promisify";function et(i){return typeof i=="function"&&i.prototype&&i.prototype.constructor===i&&i.prototype.constructor.name!=="Function"&&i.prototype.constructor.name!=="embedded"}s(et,"isConstructor");function ni(i){return i!==null&&typeof i=="object"&&typeof i.pipe=="function"}s(ni,"isStream");function jl(i){return ni(i)&&typeof i._read=="function"&&typeof i._readableState=="object"}s(jl,"isReadable");function Cl(i){return ni(i)&&typeof i._write=="function"}s(Cl,"isWritable");function Ul(i){return ni(i)&&typeof i.getReader=="function"&&typeof i.pipeThrough=="function"&&typeof i.pipeTo=="function"}s(Ul,"isReadableStream");function Bl(i){return i!==null&&typeof i=="object"&&typeof i.size=="number"&&typeof i.arrayBuffer=="function"&&typeof i.stream=="function"}s(Bl,"isBlob");function ql(i){return i!==null&&typeof i.constructor=="function"&&i.constructor.name==="FormData"&&typeof i.append=="function"&&typeof i.getAll=="function"}s(ql,"isFormData");function $l(i){return i!==null&&typeof i=="object"&&typeof i.host=="string"&&typeof i.href=="string"}s($l,"isURL");function Vl(i){return Symbol.iterator in i}s(Vl,"isIterable");function Kl(i){return Symbol.asyncIterator in i}s(Kl,"isAsyncIterable");async function se(i){return i=wa.isPromise(i)?await i:i,typeof i=="function"?et(i)?i:await i():i}s(se,"resolveThunk");var hs=/^(?:file:\/\/)?(.+)$/;function Xl(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?hs.exec(r):void 0;return o?o[1]:""}return""}s(Xl,"getStackFileName");function Zl(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?hs.exec(r):void 0;return o?o[1]:""}return""}s(Zl,"getErrorStack");function fr(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(fr,"mergePrototype");function mr(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(mr,"inheritPropertyInitializers");import si from"putil-isplainobject";import Aa from"putil-merge";function L(i,e){return Aa({},i,{deep:s(t=>si(t)&&!t[E],"deep"),descriptor:!0,filter:s((t,r)=>{let o=t[r];return!e||typeof o!="function"&&(typeof o!="object"||si(o)||Array.isArray(o))},"filter")})}s(L,"cloneObject");function y(i,e){if(!(i&&typeof i=="object"))return i;for(let t of Object.keys(i))i[t]===void 0?delete i[t]:e&&typeof i[t]=="object"&&y(i[t]);return i}s(y,"omitUndefined");function ba(i,e){if(!(i&&typeof i=="object"))return i;for(let t of Object.keys(i))i[t]==null?delete i[t]:e&&si(i[t])&&ba(i[t]);return i}s(ba,"omitNullish");var Na=Object.getPrototypeOf(Uint8Array);function af(i){return Array.isArray(i)||typeof i=="object"&&(i instanceof Date||i instanceof RegExp||i instanceof Map||i instanceof Set||i instanceof ArrayBuffer||i instanceof SharedArrayBuffer||i instanceof Promise||i instanceof Error||i instanceof Na||Buffer.isBuffer(i))}s(af,"isBuiltInObject");import{splitString as ys}from"fast-tokenizer";var Da=/^([+-])?([a-z_$]\w*)$/i,Sa=/[^.]\(/g,ai=class ai{};s(ai,"FieldsProjection");var Le=ai;(function(i){let t=class t{};s(t,"Item");let e=t;i.Item=e})(Le||(Le={}));function Ts(i,e){let t=Array.isArray(i)?i:[i];if(!(t&&t.length))return;let r=new Le;for(let o of t)e||(o=o.toLowerCase()),Es(o,r);return r}s(Ts,"parseFieldsProjection");function Es(i,e){i=i.replace(Sa,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=Da.exec(o);if(!n)throw new TypeError(`Invalid field path (${i})`);let a=n[2],p=e[a]=e[a]||new Le.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new Le}}s(Es,"parse");function Ia(i){return i&&typeof i.forEach=="function"}s(Ia,"isMap");var K=Symbol.for("kEntries"),ae=Symbol.for("kKeyMap"),ur=Symbol.for("kWellKnownKeys"),pi=Symbol.for("kOptions"),tt=Symbol.for("kSize"),ci=class ci{constructor(e,t){Object.defineProperty(this,tt,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,K,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ae,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ur,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,pi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(o=>{r?this[ur][o]=o:this[ur][o.toLowerCase()]=o}),this.clear(),e&&this.setAll(e)}get size(){return this[tt]}clear(){Object.keys(this[K]).forEach(e=>delete this[K][e]),Object.keys(this[ae]).forEach(e=>delete this[ae][e]),this[tt]=0}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,r,this)}get(e){if(e)return this[K][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[K],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let o=Object.prototype.hasOwnProperty.call(this[K],r);return this[K][r]=t,o||this[tt]++,this[ae][r]=e,this}setAll(e){return Ia(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[K])[Symbol.iterator]()}entries(){return Object.entries(this[K])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[K],t);return delete this[K][t],delete this[ae][t],r||this[tt]--,r}sort(e){let t={...this[K]},r={...this[ae]},o=Array.from(this.keys());e?o.sort(e):o.sort(),this.clear();for(let n of o)this[K][n]=t[n],this[ae][n]=r[n];return this[tt]=o.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ae]))e[r]=this[K][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[pi].caseSensitive)return e;let t=this._getStoringKey(e);return this[ae][t]??this[ur][t]??e}_getStoringKey(e){return this[pi].caseSensitive?e:e.toLowerCase()}};s(ci,"ResponsiveMap");var N=ci;function hf(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(hf,"safeJsonStringify");import va from"@browsery/i18next";import{splitString as Pa,tokenize as Os}from"fast-tokenizer";var Ma=/\\(.)/g,La=/(\\)/g;function _s(i){return i.replace(La,"\\\\")}s(_s,"escapeString");function xs(i){return i.replace(Ma,"$1")}s(xs,"unescapeString");var Fa=Object.getPrototypeOf(va.createInstance()).constructor,Vt=class Vt extends Fa{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 Vt(e,t)}static createInstance(e,t){return new Vt(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=Pa(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 x=c.length>1?"$t("+c.join(",")+")":c[0];o+=p?this.t(x,p,{...r,...l}):this.t(x,{...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 ka}};s(Vt,"I18n");var Kt=Vt,ka=Kt.createInstance();var ja=/(\))/g;function w(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(ja,"\\$1"):"")+")"}s(w,"translate");var li=Kt.createInstance();li.init().catch(()=>{});var fi=class fi 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 li.deep(this.message)}toJSON(){var t;let e="production";return y({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(fi,"OpraException");var ye=fi;var mi=class mi extends ye{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};s(mi,"OpraDocumentError");var rt=mi;var ui=class ui{constructor(e){this.path="",this.error=new rt,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(ui,"DocumentInitContext");var pe=ui;import"reflect-metadata";import{asMutable as Ja}from"ts-gems";import Ca from"lodash.omit";function di(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(cr))==null?void 0:o[1])||e.name;let r=Reflect.getOwnMetadata(E,e);r||(r={},Reflect.defineMetadata(E,r,e)),r.kind=u.ComplexType.Kind,r.name=t,i&&Object.assign(r,Ca(i,["kind","name","base","fields"]))}}s(di,"ComplexTypeDecorator");import{asMutable as za}from"ts-gems";import{asMutable as Ua}from"ts-gems";import{uid as Ba}from"uid";var hi=class hi{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[k])==null?void 0:r.has(e);return t||(this.parent?this.parent.hasDataType(e):!1)}findDataType(e){var r;let t=(r=this[k])==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(E,e).name;else if(typeof e=="object"){let o=e[E];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===u.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===u.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===u.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===u.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===u.MixinType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a MixinType`)}};s(hi,"DocumentNode");var dr=hi;var R=s(function(i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Ua(this);e.id=Ba(16),Object.defineProperty(e,"node",{value:new dr(this,i==null?void 0:i.node),enumerable:!1,writable:!0}),i&&Object.defineProperty(e,"owner",{value:i,enumerable:!1,writable:!0})},"DocumentElement"),Ti=class Ti{};s(Ti,"DocumentElementClass");var yi=Ti;R.prototype=yi.prototype;function Ei(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(E,e.constructor)||{};r.kind=u.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(E,r,e.constructor)}}s(Ei,"ApiFieldDecorator");import{asMutable as $a}from"ts-gems";import{validator as Va,vg as Pe}from"valgen";import{asMutable as qa}from"ts-gems";var it=Symbol.for("nodejs.util.inspect.custom"),ve="\x1B[0m",ot="\x1B[33m",nt="\x1B[35m";var g=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`);R.call(this,i);let r=qa(this);r.kind=e.kind,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),xi=class xi extends R{get embedded(){return!this.name}toJSON(){return y({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[it](){return`[${ot+Object.getPrototypeOf(this).constructor.name+ve} ${nt+this.name+ve}]`}};s(xi,"DataTypeClass");var _i=xi;g.prototype=_i.prototype;var Ka=/^([+-])?([a-z$_][\w.]*)$/i,D=s(function(...i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;g.call(this,e,t,r);let o=$a(this);o.fields=new N},"ComplexTypeBase"),gi=class gi extends g{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(w("error:UNKNOWN_FIELD",{field:e}));return t}parseFieldPath(e,t){var d,$,cs;let r=this,o,n=e.split("."),a=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,x=s(()=>p.map(Ie=>Ie.fieldName).join("."),"getStrPath");for(let Ie=0;Ie<a;Ie++){let J={fieldName:n[Ie],dataType:c};p.push(J);let pr=Ka.exec(n[Ie]);if(!pr)throw new TypeError(`Invalid field name (${x()})`);if(pr[1]&&((Ie===0&&l==="first"||l==="each")&&(J.sign=pr[1]),J.fieldName=pr[2]),r){if(r instanceof D){if(o=r.fields.get(J.fieldName),o){J.fieldName=o.name,J.field=o,J.dataType=o.type,r=o.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){J.additionalField=!0,J.dataType=c,r=void 0;continue}if((($=r.additionalFields)==null?void 0:$[0])==="type"&&((cs=r.additionalFields)==null?void 0:cs[1])instanceof g){J.additionalField=!0,J.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(ei=>ei.fieldName).join(".")})`)}throw new TypeError(`"${p.map(ei=>ei.fieldName).join(".")}" field is not a complex type and has no child fields`)}J.additionalField=!0,J.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 g)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=Va((p,c,l)=>c.fail(l,a,p))}return Pe.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]=Pe.isUndefined({coerce:!0});continue}p=l.name;let x;if(n!=="*"&&(x=n==null?void 0:n[p.toLowerCase()],(x==null?void 0:x.sign)==="-"||a&&!x||!a&&l.exclusive&&!x)){r[l.name]=Pe.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?Pe.optional(d):Pe.required(d)}return r}_generateFieldCodec(e,t,r){let o=t.type.generateCodec(e,r);return t.fixed&&(o=Pe.isEnum([t.fixed])),t.isArray&&(o=Pe.isArray(o)),o}};s(gi,"ComplexTypeBaseClass");var Oi=gi;D.prototype=Oi.prototype;var F=s(function(...i){if(!this){let[n]=i;return F[A](n)}let[e,t]=i;R.call(this,e);let r=za(this);r.name=t.name;let o=t.origin||e;if(!(o instanceof D))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.translatable=t.translatable,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.hidden=t.hidden},"ApiField"),wi=class wi extends R{toJSON(){var t;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return y({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,translatable:this.translatable||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}};s(wi,"ApiFieldClass");var Ri=wi;F.prototype=Ri.prototype;Object.assign(F,Ei);F[A]=Ei;var Q=s(function(...i){var n;if(!this)return Q[A].apply(void 0,i);let[e,t]=i,r=i[2]||new pe({maxErrors:0});D.call(this,e,t,r);let o=Ja(this);o.kind=u.ComplexType.Kind,o.additionalFields=t.additionalFields,o.keyField=t.keyField,t.base&&r.enter(".base",()=>{if(!(t.base instanceof D))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.additionalFields==null&&o.base.additionalFields&&(o.additionalFields=o.base.additionalFields);for(let a of o.base.fields.values())this.fields.set(a.name,new F(this,a))}),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 F(this,{...p,name:a});this.fields.set(c.name,c)}})},"ComplexType"),bi=class bi extends D{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof D?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,t=y({...D.prototype.toJSON.call(this),kind:this.kind,base:this.base?e||this.base.toJSON():void 0});if(this.additionalFields)if(this.additionalFields instanceof g){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 y(t)}};s(bi,"ComplexTypeClass");var Ai=bi;Q.prototype=Ai.prototype;Object.assign(Q,di);Q[A]=di;import"reflect-metadata";import{asMutable as Wa}from"ts-gems";import{vg as Ga}from"valgen";var ce=s(function(...i){if(!this)return ce[A].apply(void 0,i);let[e,t,r]=i;g.call(this,e,t,r);let o=Wa(this);if(o.kind=u.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"),Ni=class Ni extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof ce?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Ga.isEnum(Object.keys(this.attributes))}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return y({...g.prototype.toJSON.call(this),base:this.base?e||this.base.toJSON():void 0,attributes:L(this.ownAttributes)})}};s(Ni,"EnumTypeClass");var zt=Ni;ce.prototype=zt.prototype;Object.assign(ce,zt);function Ya(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]=y({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]]=y({alias:p,description:c})})}let a={kind:u.EnumType.Kind,attributes:o,base:r.base,name:r.name,description:r==null?void 0:r.description};return Object.defineProperty(i,E,{value:a,enumerable:!1,configurable:!0,writable:!0}),n}s(Ya,"EnumTypeFactory");ce.prototype=zt.prototype;ce[A]=Ya;import"reflect-metadata";import{asMutable as Qa}from"ts-gems";function hr(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(hr,"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;D.call(this,e,t,r);let o=Qa(this);if(o.kind=u.MappedType.Kind,t.base){if(!(t.base instanceof D))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=hr(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,x]of o.base.fields.entries()){if(!a(l))continue;let d={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(d.required=!0);let $=new F(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"),Si=class Si extends D{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof D?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return y({...D.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(Si,"MappedTypeClass");var Di=Si;Fe.prototype=Di.prototype;Fe._applyMixin=()=>{};import"reflect-metadata";import{asMutable as Xa}from"ts-gems";var st=s(function(...i){if(!this)return st[A].apply(void 0,i);let[e,t,r]=i;D.call(this,e,t,r);let o=Xa(this);o.kind=u.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 F(this,a);o.fields.set(p.name,p)}o.types.push(n),n.keyField&&(o.keyField=n.keyField)}},"MixinType"),Mi=class Mi extends D{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof D))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(){return y({...D.prototype.toJSON.call(this),kind:this.kind,types:this.types.map(e=>{let t=this.node.getDataTypeNameWithNs(e);return t||e.toJSON()})})}};s(Mi,"MixinTypeClass");var Ii=Mi;st.prototype=Ii.prototype;st[A]=Za;function Za(...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)mr(this,a)}}}[r],n={...t,kind:u.MixinType.Kind,types:[]};Reflect.defineMetadata(E,n,o);for(let a of e){let p=Reflect.getMetadata(E,a);if(!(p&&(p.kind===u.ComplexType.Kind||p.kind===u.MixinType.Kind||p.kind===u.MappedType.Kind)))throw new TypeError(`Class "${a.name}" is not a ${u.ComplexType.Kind}, ${u.MixinType.Kind} or ${u.MappedType.Kind}`);n.types.push(a),fr(o.prototype,a.prototype)}return o}s(Za,"MixinTypeFactory");import"reflect-metadata";import{asMutable as ep}from"ts-gems";import{isAny as Rs}from"valgen";import Ha from"lodash.omit";function Li(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(cr))==null?void 0:a[1])||r.name,o=o.toLowerCase();let n=Reflect.getOwnMetadata(E,r)||{};n.kind=u.SimpleType.Kind,n.name=o,i&&Object.assign(n,Ha(i,["kind","name"])),Reflect.defineMetadata(E,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(Li,"SimpleTypeDecoratorFactory");function gs(i){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(E,e.constructor)||{},o=Reflect.getMetadata("design:type",e,t),n="string";o===Boolean?n="boolean":o===Number&&(n="number"),r.kind=u.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(E,r,e.constructor)}}s(gs,"AttributeDecoratorFactory");var m=s(function(...i){var n,a;if(!this)return m[A](...i);let[e,t,r]=i;g.call(this,e,t,r);let o=ep(this);if(o.kind=u.SimpleType.Kind,t.base){if(!(t.base instanceof m))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"),Pi=class Pi extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof m?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 Rs}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(o,(t==null?void 0:t.documentElement)||this.owner);n=this.base}return Rs}toJSON(){let e=y(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=y({...g.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}),o}};s(Pi,"SimpleTypeClass");var vi=Pi;m.prototype=vi.prototype;Object.assign(m,Li);m[A]=Li;m.Attribute=gs;var Fi=Symbol("initializing"),yr=class yr{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 yr.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[k];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 x=this._createDataType(a,t,l);x&&p.push(x)});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[k])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(E,c)||c[E];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 x;r=await se(r);let{importQueue:o,initArgsMap:n}=e,a=t.node.findDataType(r);if(a instanceof g)return a.name;let p,c,l;if(typeof r!="string"){let $=t.node.getDocument().types[lr].get(r);$&&(r=$)}if(typeof r=="string"){let d=r;if(r=(o==null?void 0:o.get(d))||((x=e.initArgsMap)==null?void 0:x.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(E,r),!p)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);c=r}else if(typeof r=="object"){if(p=r[E],p)l=r,p.kind!==u.EnumType.Kind&&(p=void 0);else if(u.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(E,c),p&&p.kind===u.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==u.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:u.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 $[Fi]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[Fi]=!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[k]=t.node[k];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case u.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case u.EnumType.Kind:d.instance=l,await this._prepareEnumTypeArgs(e,t,d,p);break;case u.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case u.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case u.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[Fi]}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),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(E,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 x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,x)&&(l=await this._importDataTypeArgs(e,t,x))}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[T])=="function"&&(r.generateDecoder=(a=r.properties)==null?void 0:a[T].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[O])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[O].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(E,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 g)return o;let n=typeof r=="string"?(a=e.initArgsMap)==null?void 0:a.get(r):r;if(n){let p=n[k];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 u.ComplexType.Kind:return this._createComplexType(e,t,n);case u.EnumType.Kind:return this._createEnumType(e,t,n);case u.MappedType.Kind:return this._createMappedType(e,t,n);case u.MixinType.Kind:return this._createMixinType(e,t,n);case u.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,st.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 D))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),st.apply(o,[t,n]),o}static _createSimpleType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,m.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),m.apply(o,[t,n]),o}};s(yr,"DataTypeFactory");var S=yr;function ke(i){return typeof i=="object"&&i.name?i.name:i}s(ke,"preferName");var ki=class ki extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(){return y({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(ki,"ApiBase");var at=ki;import op from"path-browserify";import{asMutable as np}from"ts-gems";var ws,As,X=Symbol.for("kMap"),Jt=Symbol.for("kCtorMap"),ji=class ji{constructor(){this[ws]=new N,this[As]=new WeakMap}get size(){return this[X].size}forEach(e,t){this[X].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Jt].get(e);if(!t&&typeof e=="function"){let r=Reflect.getMetadata(E,e);t=r==null?void 0:r.name}if(!t&&typeof e=="object"){let r=e[E];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[Jt].set(t.ctor,e):t.instance&&this[Jt].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[X].has(e.name);let t=typeof e=="string"?e:this[Jt].get(e);return t?this[X].has(t):!1}keys(){return this[X].keys()}values(){return this[X].values()}entries(){return this[X].entries()}sort(e){return this[X].sort(e),this}[(ws=X,As=Jt,Symbol.iterator)](){return this[X][Symbol.iterator]()}};s(ji,"DataTypeMap");var Z=ji;import rp from"lodash.omit";import Ci from"putil-merge";var ip=/^(.*)(Controller)$/;function Ui(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=ip.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(re,Object.getPrototypeOf(r));a&&Ci(n,a,{deep:!0});let p=Reflect.getOwnMetadata(re,r);p&&Ci(n,p,{deep:!0}),Ci(n,{kind:u.HttpController.Kind,name:o,path:o,...rp(i,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(re,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(re,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(Ui,"HttpControllerDecoratorFactory");var H=s(function(...i){var o;if(!this)return H[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=np(this);r.kind=u.HttpController.Kind,r.types=r.node[k]=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 R{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 op.posix.join(this.owner instanceof H?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(){let e=y({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}[it](){return`[${ot}HttpController${nt+this.name+ve}]`}};s(qi,"HttpControllerClass");var Bi=qi;H.prototype=Bi.prototype;Object.assign(H,Ui);H[A]=Ui;var $i=class $i extends at{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 pt=$i;import sp from"@browsery/type-is";import{asMutable as ap}from"ts-gems";import{isAny as pp,vg as cp}from"valgen";var we=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=ap(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 g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Ki=class Ki extends R{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=y({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=>sp.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||pp,this.isArray?cp.isArray(r):r}};s(Ki,"HttpMediaTypeClass");var Vi=Ki;we.prototype=Vi.prototype;function ct(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(ct,"parseRegExp");var zi=class zi extends we{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?ct(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(){return y({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON()})}};s(zi,"HttpMultipartField");var Tr=zi;import fp from"path-browserify";import{asMutable as mp}from"ts-gems";import lp from"lodash.omit";var bs;(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"})(bs||(bs={}));var I;(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"})(I||(I={}));var X0={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 v;(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"})(v||(v={}));function C(i,e){let t=s((r,o)=>{if(typeof o!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:u.HttpOperation.Kind,...lp(e,["kind"])},a=Reflect.getOwnMetadata(re,r.constructor)||{};a.operations=a.operations||{},a.operations[o]=n;for(let p of i)p(n);Reflect.defineMetadata(re,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||v.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===v.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||v.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(C,"HttpOperationDecoratorFactory");var M=s(function(...i){if(!this){let[o]=i,n=[];return M[A].call(void 0,n,o)}let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=mp(this);r.parameters=[],r.responses=[],r.types=r.node[k]=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"),Wi=class Wi extends R{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:fp.posix.join(e,this.path):e:this.path||"/"}toJSON(){var t;let e=y({kind:u.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(Wi,"HttpOperationClass");var Ji=Wi;M.prototype=Ji.prototype;M[A]=C;M.GET=function(i){return C([],{...i,method:"GET"})};M.DELETE=function(i){return C([],{...i,method:"DELETE"})};M.HEAD=function(i){return C([],{...i,method:"HEAD"})};M.OPTIONS=function(i){return C([],{...i,method:"OPTIONS"})};M.PATCH=function(i){return C([],{...i,method:"PATCH"})};M.POST=function(i){return C([],{...i,method:"POST"})};M.PUT=function(i){return C([],{...i,method:"PUT"})};M.SEARCH=function(i){return C([],{...i,method:"SEARCH"})};var up=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Gi=class Gi{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=up.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(Gi,"HttpStatusRange");var Wt=Gi;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 Wt(r.start,r.end):new Wt(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=y({...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 Er=Yi;import{asMutable as hp}from"ts-gems";import{asMutable as dp}from"ts-gems";var je=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=dp(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Xi=class Xi extends R{toJSON(){let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return y({type:this.type?e||this.type.toJSON():"any",description:this.description,isArray:this.isArray,examples:this.examples})}};s(Xi,"ValueClass");var Qi=Xi;je.prototype=Qi.prototype;var Gt=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');je.call(this,i,e);let t=hp(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?ct(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"),Hi=class Hi extends je{toJSON(){return y({...super.toJSON(),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};s(Hi,"HttpParameterClass");var Zi=Hi;Gt.prototype=Zi.prototype;var eo=class eo extends R{constructor(e){super(e),this.content=[]}toJSON(){return y({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(e=>e.toJSON()):[],partial:this.partial})}};s(eo,"HttpRequestBody");var _r=eo;var to=class to{static async createApi(e,t){let r=new pt(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"&&!et(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(re,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(re,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 S.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 S.resolveDataType(e,a,c.type)});let x=new Gt(a,l);a.parameters.push(x)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let l=new M(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 M.apply(t,[t.owner,o]),r.types&&await e.enterAsync(".types",async()=>{await S.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 S.resolveDataType(e,t,a.type)});let c=new Gt(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 Er(t,{statusCode:a.statusCode});await this._initHttpOperationResponse(e,p,a),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new _r(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 S.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 Tr(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 S.resolveDataType(e,t,n.type)});let p=new Gt(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(to,"HttpApiFactory");var lt=to;import{md5 as Tp}from"super-fast-md5";var ro=class ro extends at{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(ro,"RpcApi");var ft=ro;var Ns,io=class io extends R{constructor(){super(null),this[Ns]=new WeakMap,this.id="",this.info={},this.references=new N,this.types=new Z,this.node[k]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof g?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 pt))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof ft))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(){let e=y({spec:u.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[Me]||(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=Tp(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=ms.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[Me]?"":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[Me]?"":n),r}}};s(io,"ApiDocument");var Ce=io;Ns=Re;import{__decorate as Ep,__metadata as _p}from"tslib";import{vg as Ds}from"valgen";var mt,xr=(mt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ds.isBase64({coerce:!0})}[O](){return Ds.isBase64({coerce:!0})}},s(mt,"Base64Type"),mt);xr=Ep([m({description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),_p("design:paramtypes",[Object])],xr);import{__decorate as oo,__metadata as no}from"tslib";import{isDateString as Or,toString as Ss,vg as Ae}from"valgen";var ut,dt=(ut=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ae.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&(Or(e.minValue),r.push(Ss,Ae.isGte(e.minValue))),e.maxValue&&(Or(e.maxValue),r.push(Ss,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=Ae.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue&&(Or(e.minValue),r.push(Ae.isGte(e.minValue))),e.maxValue&&(Or(e.maxValue),r.push(Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}},s(ut,"DateType"),ut);oo([m.Attribute({description:"Minimum value"}),no("design:type",String)],dt.prototype,"minValue",void 0);oo([m.Attribute({description:"Maximum value"}),no("design:type",String)],dt.prototype,"maxValue",void 0);dt=oo([m({description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),no("design:paramtypes",[Object])],dt);import{__decorate as so,__metadata as ao}from"tslib";import{vg as gr}from"valgen";var ht,yt=(ht=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=gr.isDateString({trim:"date",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],{returnIndex:0}):t}[O](e){return this[T](e)}},s(ht,"DateStringType"),ht);so([m.Attribute({description:"Minimum value"}),ao("design:type",String)],yt.prototype,"minValue",void 0);so([m.Attribute({description:"Maximum value"}),ao("design:type",String)],yt.prototype,"maxValue",void 0);yt=so([m({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"),ao("design:paramtypes",[Object])],yt);import{__decorate as po,__metadata as co}from"tslib";import{isDateString as Rr,toString as Is,vg as be}from"valgen";var Tt,Et=(Tt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=be.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&(Rr(e.minValue),r.push(Is,be.isGte(e.minValue))),e.maxValue&&(Rr(e.maxValue),r.push(Is,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=be.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&(Rr(e.minValue),r.push(be.isGte(e.minValue))),e.maxValue&&(Rr(e.maxValue),r.push(be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}},s(Tt,"DateTimeType"),Tt);po([m.Attribute({description:"Minimum value"}),co("design:type",String)],Et.prototype,"minValue",void 0);po([m.Attribute({description:"Maximum value"}),co("design:type",String)],Et.prototype,"maxValue",void 0);Et=po([m({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"),co("design:paramtypes",[Object])],Et);import{__decorate as lo,__metadata as fo}from"tslib";import{vg as wr}from"valgen";var _t,xt=(_t=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=wr.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(wr.isGte(e.minValue)),e.maxValue&&r.push(wr.isLte(e.maxValue)),r.length>0?wr.pipe([t,...r]):t}[O](e){return this[T](e)}},s(_t,"DateTimeStringType"),_t);lo([m.Attribute({description:"Minimum value"}),fo("design:type",String)],xt.prototype,"minValue",void 0);lo([m.Attribute({description:"Maximum value"}),fo("design:type",String)],xt.prototype,"maxValue",void 0);xt=lo([m({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"),fo("design:paramtypes",[Object])],xt);import{__decorate as le,__metadata as fe}from"tslib";import{vg as Ms}from"valgen";var Ot,W=(Ot=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Ms.isEmail({...e,coerce:!0})}[O](e){return Ms.isEmail({...e,coerce:!0})}},s(Ot,"EmailType"),Ot);le([m.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),fe("design:type",Boolean)],W.prototype,"allowDisplayName",void 0);le([m.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),fe("design:type",Boolean)],W.prototype,"requireDisplayName",void 0);le([m.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)],W.prototype,"utf8LocalPart",void 0);le([m.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)],W.prototype,"ignoreMaxLength",void 0);le([m.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),fe("design:type",Boolean)],W.prototype,"allowIpDomain",void 0);le([m.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)],W.prototype,"domainSpecificValidation",void 0);le([m.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)],W.prototype,"hostBlacklist",void 0);le([m.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)],W.prototype,"hostWhitelist",void 0);le([m.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)],W.prototype,"blacklistedChars",void 0);W=le([m({description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),fe("design:paramtypes",[Object])],W);import{__decorate as mo,__metadata as uo}from"tslib";import{toString as xp,validator as Op,vg as gp}from"valgen";var gt,ee=(gt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.allowSigns,n=Op("decodeFieldPath",a=>r.normalizeFieldPath(a,{allowSigns:o}));return gp.pipe([xp,n])}[O](e,t){return this[T](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(gt,"FieldPathType"),gt);mo([m.Attribute({description:"Data type which field belong to"}),uo("design:type",Object)],ee.prototype,"dataType",void 0);mo([m.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)],ee.prototype,"allowSigns",void 0);ee=mo([m({description:"Field path",nameMappings:{js:"string",json:"string"}}),uo("design:paramtypes",[Object])],ee);import{__decorate as Jn,__metadata as Wn}from"tslib";import{validator as Qs}from"valgen";var ho=class ho 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(ho,"OpraHttpError");var b=ho;var yo=class yo extends b{constructor(){super(...arguments),this.status=400}init(e){super.init({message:w("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};s(yo,"BadRequestError");var Ls=yo;var To=class To extends b{constructor(){super(...arguments),this.status=409}init(e){super.init({message:w("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};s(To,"ConflictError");var vs=To;var Eo=class Eo extends b{constructor(){super(...arguments),this.status=424}init(e){super.init({message:w("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};s(Eo,"FailedDependencyError");var Ps=Eo;var _o=class _o extends b{constructor(){super(...arguments),this.status=I.FORBIDDEN}init(e){super.init({message:w("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};s(_o,"ForbiddenError");var Ar=_o;var xo=class xo extends b{constructor(){super(...arguments),this.status=500}init(e){super.init({message:w("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};s(xo,"InternalServerError");var Fs=xo;var Oo=class Oo extends b{constructor(){super(...arguments),this.status=405}init(e){super.init({message:w("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};s(Oo,"MethodNotAllowedError");var ks=Oo;var go=class go extends b{constructor(){super(...arguments),this.status=406}init(e){super.init({message:w("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};s(go,"NotAcceptableError");var js=go;var Ro=class Ro extends b{constructor(){super(...arguments),this.status=404}init(e){super.init({message:w("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};s(Ro,"NotFoundError");var Cs=Ro;var wo=class wo extends Ar{init(e){super.init({message:w("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};s(wo,"PermissionError");var Us=wo;var Ao=class Ao extends b{constructor(e,t,r){super({message:w("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(Ao,"ResourceConflictError");var Bs=Ao;var bo=class bo extends b{constructor(e,t,r){super({message:w("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,I.UNPROCESSABLE_ENTITY)}};s(bo,"ResourceNotAvailableError");var qs=bo;var No=class No extends b{constructor(){super(...arguments),this.status=401}init(e){super.init({message:w("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};s(No,"UnauthorizedError");var $s=No;var Do=class Do extends b{constructor(){super(...arguments),this.status=422}init(e){super.init({message:w("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};s(Do,"UnprocessableEntityError");var Vs=Do;var Ks;(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"}})(Ks||(Ks={}));var So=class So{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};s(So,"Ast");var Yt=So;var Io=class Io extends Yt{};s(Io,"Expression");var U=Io;var Mo=class Mo extends U{};s(Mo,"Term");var Ue=Mo;var Lo=class Lo extends Ue{constructor(e){super(),this.value=e}toString(){return""+this.value}};s(Lo,"Literal");var P=Lo;var vo=class vo extends U{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new br({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};s(vo,"ArithmeticExpression");var Be=vo,Po=class Po{constructor(e){Object.assign(this,e)}};s(Po,"ArithmeticExpressionItem");var br=Po;var Fo=class Fo extends Ue{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};s(Fo,"ArrayExpression");var Te=Fo;var Rp=/\w/,ko=class ko extends U{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${Rp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};s(ko,"ComparisonExpression");var Ee=ko;var jo=class jo extends U{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};s(jo,"LogicalExpression");var me=jo;var Co=class Co extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(Co,"NegativeExpression");var Qt=Co;var Uo=class Uo extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(Uo,"ParenthesizedExpression");var _e=Uo;var Bo=class Bo extends P{constructor(e){super(e)}};s(Bo,"BooleanLiteral");var qe=Bo;import{toDateDef as Sp}from"putil-varhelpers";var qo=class qo extends TypeError{};s(qo,"SyntaxError");var Nr=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,Vo=class Vo extends Error{constructor(e,t){super(e),Object.assign(this,t)}};s(Vo,"FilterParseError");var Dr=Vo;var wp=/'/g,Ap=/(\\)/g,bp=/\\(.)/g;function Np(i){return i.replace(Ap,"\\\\")}s(Np,"escapeString");function Dp(i){return i.replace(bp,"$1")}s(Dp,"unescapeString");function Rt(i){return"'"+Np(i).replace(wp,"\\'")+"'"}s(Rt,"quoteFilterString");function Xt(i){return i&&(i.startsWith("'")||i.startsWith('"'))&&i.endsWith(i.charAt(0))?Dp(i.substring(1,i.length-1)):i}s(Xt,"unquoteFilterString");var zs=new Date(0),Ko=class Ko extends P{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Sp(e,zs)!==zs){this.value=e;return}throw new Ne(`Invalid date value "${e}"`)}toString(){return Rt(this.value)}};s(Ko,"DateLiteral");var xe=Ko;var zo=class zo extends P{constructor(){super(null),this.value=null}};s(zo,"NullLiteral");var $e=zo;var Jo=class Jo extends P{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(Jo,"NumberLiteral");var Oe=Jo;var Wo=class Wo extends P{constructor(e){super(""+e)}};s(Wo,"QualifiedIdentifier");var oe=Wo;var Go=class Go extends P{constructor(e){super(""+e)}toString(){return Rt(this.value)}};s(Go,"StringLiteral");var Ve=Go;var Ip=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Yo=class Yo extends P{constructor(e){if(super(""),e instanceof Date){this.value=Sr(e.getHours())+":"+Sr(e.getMinutes())+(e.getSeconds()?":"+Sr(e.getSeconds()):"")+(e.getMilliseconds()?"."+Sr(e.getMilliseconds()):"");return}if(typeof e=="string"&&Ip.test(e)){this.value=e;return}throw new Ne(`Invalid time value "${e}"`)}toString(){return Rt(this.value)}};s(Yo,"TimeLiteral");var Ke=Yo;function Sr(i){return i<=9?"0"+i:""+i}s(Sr,"pad");import{CharStream as Jp,CommonTokenStream as Wp}from"@browsery/antlr4";import{ATNDeserializer as Mp,DFA as Lp,Lexer as vp,LexerATNSimulator as Pp,PredictionContextCache as Fp,Token as kp}from"@browsery/antlr4";var V=class V extends vp{constructor(e){super(e),this._interp=new Pp(this,V._ATN,V.DecisionsToDFA,new Fp)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return V.literalNames}get symbolicNames(){return V.symbolicNames}get ruleNames(){return V.ruleNames}get serializedATN(){return V._serializedATN}get channelNames(){return V.channelNames}get modeNames(){return V.modeNames}static get _ATN(){return V.__ATN||(V.__ATN=new Mp().deserialize(V._serializedATN)),V.__ATN}};s(V,"OpraFilterLexer");var h=V;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=kp.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 Lp(i,e));var Js=h;import{ATN as Ws,ATNDeserializer as jp,DFA as Cp,FailedPredicateException as Up,NoViableAltException as Qo,Parser as Bp,ParserATNSimulator as qp,ParserRuleContext as q,PredictionContextCache as $p,RecognitionException as B,Token as Vp}from"@browsery/antlr4";var _=class _ extends Bp{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return _.literalNames}get symbolicNames(){return _.symbolicNames}get ruleNames(){return _.ruleNames}get serializedATN(){return _._serializedATN}createFailedPredicateException(e,t){return new Up(this,e,t)}constructor(e){super(e),this._interp=new qp(this,_._ATN,_.DecisionsToDFA,new $p)}root(){let e=new Xo(this,this._ctx,this.state);this.enterRule(e,0,_.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(_.EOF)}catch(t){if(t instanceof B)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 G(this,this._ctx,r),n=o,a=2;this.enterRecursionRule(o,2,_.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 en(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 Zo(this,o),this._ctx=o,n=o,this.state=42,this.match(_.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(_.T__1);break;case 3:case 4:o=new Ho(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 Qo(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==Ws.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=o;{if(o=new Zt(this,new G(this,t,r)),this.pushNewRecursionContext(o,a,_.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 B)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 Ir(this,this._ctx,this.state);this.enterRule(e,4,_.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof B)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 Mr(this,this._ctx,this.state);this.enterRule(e,6,_.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new Qo(this)}}catch(t){if(t instanceof B)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 Lr(this,this._ctx,this.state);this.enterRule(e,8,_.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof B)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 z(this,this._ctx,this.state);this.enterRule(e,10,_.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new cn(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(_.NUMBER);break;case 13:case 14:e=new an(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new pn(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new rn(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 37:e=new sn(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(_.DATE);break;case 38:e=new on(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(_.DATETIME);break;case 39:e=new tn(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(_.TIME);break;case 42:e=new nn(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(_.STRING);break;default:throw new Qo(this)}}catch(t){if(t instanceof B)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 Ht(this,this._ctx,this.state);this.enterRule(e,12,_.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==Ws.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(_.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof B)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 vr(this,this._ctx,this.state);this.enterRule(e,14,_.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(_.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof B)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 wt(this,this._ctx,this.state);this.enterRule(e,16,_.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(_.IDENTIFIER)}catch(t){if(t instanceof B)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 Pr(this,this._ctx,this.state);this.enterRule(e,18,_.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(_.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(_.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(_.T__8)}}catch(r){if(r instanceof B)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 Fr(this,this._ctx,this.state);this.enterRule(e,20,_.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof B)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 kr(this,this._ctx,this.state);this.enterRule(e,22,_.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(_.T__11)}catch(t){if(t instanceof B)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 jr(this,this._ctx,this.state);this.enterRule(e,24,_.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof B)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 ln(this,this._ctx,this.state);this.enterRule(e,26,_.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),!(t&-32)&&1<<t&491520?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof B)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 Cr(this,this._ctx,this.state);this.enterRule(e,28,_.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),!(t&-32)&&1<<t&2146959360?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof B)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 Ur(this,this._ctx,this.state);this.enterRule(e,30,_.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),!(t-31&-32)&&1<<t-31&15?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof B)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 fn(this,this._ctx,this.state);this.enterRule(e,32,_.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(_.POLAR_OP)}catch(t){if(t instanceof B)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return _.__ATN||(_.__ATN=new jp().deserialize(_._serializedATN)),_.__ATN}};s(_,"OpraFilterParser");var f=_;f.T__0=1;f.T__1=2;f.T__2=3;f.T__3=4;f.T__4=5;f.T__5=6;f.T__6=7;f.T__7=8;f.T__8=9;f.T__9=10;f.T__10=11;f.T__11=12;f.T__12=13;f.T__13=14;f.T__14=15;f.T__15=16;f.T__16=17;f.T__17=18;f.T__18=19;f.T__19=20;f.T__20=21;f.T__21=22;f.T__22=23;f.T__23=24;f.T__24=25;f.T__25=26;f.T__26=27;f.T__27=28;f.T__28=29;f.T__29=30;f.T__30=31;f.T__31=32;f.T__32=33;f.T__33=34;f.IDENTIFIER=35;f.POLAR_OP=36;f.DATE=37;f.DATETIME=38;f.TIME=39;f.NUMBER=40;f.INTEGER=41;f.STRING=42;f.WHITESPACE=43;f.EOF=Vp.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 Cp(i,e));var Gs=f,mn=class mn extends q{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(G,0)}EOF(){return this.getToken(f.EOF,0)}get ruleIndex(){return f.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};s(mn,"RootContext");var Xo=mn,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 G=un,dn=class dn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Lr,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(dn,"ParenthesizedExpressionContext");var Zo=dn,hn=class hn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(G,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};s(hn,"NegativeExpressionContext");var Ho=hn,yn=class yn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(Ir,0)}comparisonOperator(){return this.getTypedRuleContext(Cr,0)}comparisonRight(){return this.getTypedRuleContext(Mr,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(yn,"ComparisonExpressionContext");var en=yn,Tn=class Tn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(G)}expression(e){return this.getTypedRuleContext(G,e)}logicalOperator(){return this.getTypedRuleContext(Ur,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(Tn,"LogicalExpressionContext");var Zt=Tn,En=class En extends q{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Ht,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(En,"ComparisonLeftContext");var Ir=En,_n=class _n extends q{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(z,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Ht,0)}externalConstant(){return this.getTypedRuleContext(vr,0)}arrayValue(){return this.getTypedRuleContext(Pr,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(_n,"ComparisonRightContext");var Mr=_n,xn=class xn extends q{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(G,0)}get ruleIndex(){return f.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};s(xn,"ParenthesizedItemContext");var Lr=xn,On=class On extends q{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};s(On,"ValueContext");var z=On,gn=class gn extends z{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(gn,"TimeLiteralContext");var tn=gn,Rn=class Rn extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(kr,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(Rn,"NullLiteralContext");var rn=Rn,wn=class wn extends z{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(wn,"DateTimeLiteralContext");var on=wn,An=class An extends z{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(An,"StringLiteralContext");var nn=An,bn=class bn extends z{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(bn,"DateLiteralContext");var sn=bn,Nn=class Nn extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(jr,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(Nn,"InfinityLiteralContext");var an=Nn,Dn=class Dn extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Fr,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(Dn,"BooleanLiteralContext");var pn=Dn,Sn=class Sn extends z{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(Sn,"NumberLiteralContext");var cn=Sn,In=class In extends q{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(wt)}identifier(e){return this.getTypedRuleContext(wt,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(In,"QualifiedIdentifierContext");var Ht=In,Mn=class Mn extends q{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(wt,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(Mn,"ExternalConstantContext");var vr=Mn,Ln=class Ln 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(Ln,"IdentifierContext");var wt=Ln,vn=class vn extends q{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(z)}value(e){return this.getTypedRuleContext(z,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(vn,"ArrayValueContext");var Pr=vn,Pn=class Pn 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(Pn,"BooleanContext");var Fr=Pn,Fn=class Fn 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(Fn,"NullContext");var kr=Fn,kn=class kn 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(kn,"InfinityContext");var jr=kn,jn=class jn 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(jn,"ArithmeticOperatorContext");var ln=jn,Cn=class Cn 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(Cn,"ComparisonOperatorContext");var Cr=Cn,Un=class Un 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(Un,"LogicalOperatorContext");var Ur=Un,Bn=class Bn 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(Bn,"PolarityOperatorContext");var fn=Bn;import{ParseTreeVisitor as Kp}from"@browsery/antlr4";var qn=class qn extends P{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};s(qn,"ExternalConstant");var Br=qn;var $n=class $n extends Kp{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 Qt(t)}visitComparisonExpression(e){return new Ee({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 Zt&&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 Br(e.identifier().getText())}visitNullLiteral(){return new $e}visitBooleanLiteral(e){return new qe(e.getText()==="true")}visitNumberLiteral(e){return new Oe(e.getText())}visitStringLiteral(e){return new Ve(Xt(e.getText()))}visitInfinityLiteral(){return new Oe(1/0)}visitDateLiteral(e){return new xe(Xt(e.getText()))}visitDateTimeLiteral(e){return new xe(Xt(e.getText()))}visitTimeLiteral(e){return new Ke(Xt(e.getText()))}visitArrayValue(e){return new Te(e.value_list().map(t=>this.visit(t)))}};s($n,"FilterTreeVisitor");var er=$n;import{ErrorListener as zp}from"@browsery/antlr4";var Vn=class Vn extends zp{constructor(e){super(),this.errors=e}syntaxError(e,t,r,o,n,a){this.errors.push(new Dr(n,{recognizer:e,offendingSymbol:t,line:r,column:o,e:a}))}};s(Vn,"OpraErrorListener");var tr=Vn;function Kn(i,e){let t=new Jp(i),r=new Js(t),o=new Wp(r),n=new Gs(o);n.buildParseTrees=!0;let a=[],p=new tr(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 x=new Nr(l.join(`
9
- `));throw x.errors=a,x}return e=e||new er,e.visit(c)}s(Kn,"parse");var zn=class zn{constructor(e,t){if(this._rules=new N,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,y({...t,operators:r}))}normalizeFilter(e,t){if(!e)return;let r=typeof e=="string"?Kn(e):e;if(r instanceof Ee){if(this.normalizeFilter(r.left,t),!(r.left instanceof ue&&r.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let o=this._rules.get(r.left.value);if(!o)throw new ye({message:w("error:UNACCEPTED_FILTER_FIELD",{field:r.left.value}),code:"UNACCEPTED_FILTER_FIELD",details:{field:r.left.value}});if(o.operators&&!o.operators.includes(r.op))throw new ye({message:w("error:UNACCEPTED_FILTER_OPERATION",{field:r.left.value}),code:"UNACCEPTED_FILTER_OPERATION",details:{field:r.left.value,operator:r.op}});return this.normalizeFilter(r.right,t),r}return r instanceof fe?(r.items.forEach(o=>this.normalizeFilter(o,t)),r):r instanceof $e?(r.items.forEach(o=>this.normalizeFilter(o.expression,t)),r):r instanceof Te?(r.items.forEach(o=>this.normalizeFilter(o,t)),r):r instanceof _e?(this.normalizeFilter(r.expression,t),r):(r instanceof ue&&t&&(r.value=t.normalizeFieldPath(r.value),r.field=t.getField(r.value),r.dataType=r.field.type),r)}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};s(zn,"FilterRules");var ge=zn;var rr={};fs(rr,{$and:()=>Gp,$arithmetic:()=>uc,$array:()=>Ys,$date:()=>Yp,$eq:()=>Hp,$field:()=>Zp,$gt:()=>tc,$gte:()=>rc,$ilike:()=>cc,$in:()=>nc,$like:()=>ac,$lt:()=>ic,$lte:()=>oc,$ne:()=>ec,$notILike:()=>lc,$notIn:()=>sc,$notLike:()=>pc,$number:()=>Xp,$or:()=>Wp,$paren:()=>fc,$time:()=>Qp,ArithmeticExpression:()=>$e,ArithmeticExpressionItem:()=>br,ArrayExpression:()=>Te,Ast:()=>Yt,BooleanLiteral:()=>Be,ComparisonExpression:()=>Ee,DateLiteral:()=>xe,Expression:()=>U,FilterTreeVisitor:()=>er,Literal:()=>k,LogicalExpression:()=>fe,NegativeExpression:()=>Qt,NullLiteral:()=>Ve,NumberLiteral:()=>Oe,OpraErrorListener:()=>tr,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>ue,StringLiteral:()=>Ke,Term:()=>qe,TimeLiteral:()=>ze,parse:()=>Kn});function Wp(...i){return new fe({op:"or",items:i})}s(Wp,"$or");function Gp(...i){return new fe({op:"and",items:i})}s(Gp,"$and");function Yp(i){return new xe(i)}s(Yp,"$date");function Qp(i){return new ze(i)}s(Qp,"$time");function Xp(i){return new Oe(i)}s(Xp,"$number");function Ys(...i){return new Te(i.map($r))}s(Ys,"$array");function Zp(i){return new ue(i)}s(Zp,"$field");function Hp(i,e){return ie("=",i,e)}s(Hp,"$eq");function ec(i,e){return ie("!=",i,e)}s(ec,"$ne");function tc(i,e){return ie(">",i,e)}s(tc,"$gt");function rc(i,e){return ie(">=",i,e)}s(rc,"$gte");function ic(i,e){return ie("<",i,e)}s(ic,"$lt");function oc(i,e){return ie("<=",i,e)}s(oc,"$lte");function nc(i,e){return ie("in",i,e)}s(nc,"$in");function sc(i,e){return ie("!in",i,e)}s(sc,"$notIn");function ac(i,e){return ie("like",i,e)}s(ac,"$like");function pc(i,e){return ie("!like",i,e)}s(pc,"$notLike");function cc(i,e){return ie("ilike",i,e)}s(cc,"$ilike");function lc(i,e){return ie("!ilike",i,e)}s(lc,"$notILike");function fc(i){return new _e(i)}s(fc,"$paren");function uc(i){let e=new $e;return e.add=t=>(e.append("+",At(t)),e),e.sub=t=>(e.append("-",At(t)),e),e.mul=t=>(e.append("*",At(t)),e),e.div=t=>(e.append("/",At(t)),e),e.append("+",$r(i)),e}s(uc,"$arithmetic");function ie(i,e,t){let r=$r(e),o=$r(t);return new Ee({op:i,left:r,right:o})}s(ie,"comparisonExpression");var $r=s(i=>Array.isArray(i)?Ys(...i.map(At)):At(i),"wrapEntryValue"),At=s(i=>i instanceof U?i:typeof i=="boolean"?new Be(i):typeof i=="number"||typeof i=="bigint"?new Oe(i):i==null?new Ve:i instanceof Date?new xe(i):new Ke(""+i),"_wrapEntryValue");var bt,oe=(bt=class{constructor(e){e&&Object.assign(this,e)}[T](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 mc(r,o)}[O](){return dc}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(bt,"FilterType"),bt);Jn([u.Attribute({description:"Data type which filtering fields belong to"}),Wn("design:type",Object)],oe.prototype,"dataType",void 0);Jn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),Wn("design:type",Object)],oe.prototype,"rules",void 0);oe=Jn([u({description:"A query filter",nameMappings:{js:"object",json:"string"}}),Wn("design:paramtypes",[Object])],oe);var mc=s((i,e)=>Qs("decodeFilter",(t,r,o)=>{if(typeof t=="string")try{let n=rr.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"),dc=Qs("encodeFilter",(i,e,t)=>{if(i instanceof rr.Ast)return i.toString();e.fail(t,"Not a valid filter expression",i)});import{__decorate as hc,__metadata as yc}from"tslib";import{vg as Xs}from"valgen";var Nt,Br=(Nt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Xs.isObjectId({coerce:!0})}[O](){return Xs.isObjectId({coerce:!0})}},s(Nt,"ObjectIdType"),Nt);Br=hc([u({description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),yc("design:paramtypes",[Object])],Br);import{__decorate as me,__metadata as de}from"tslib";var Dt,Z=(Dt=class{constructor(e){e&&Object.assign(this,e)}},s(Dt,"OperationResult"),Dt);me([P(),de("design:type",Number)],Z.prototype,"affected",void 0);me([P(),de("design:type",Number)],Z.prototype,"totalMatches",void 0);me([P(),de("design:type",String)],Z.prototype,"context",void 0);me([P(),de("design:type",String)],Z.prototype,"type",void 0);me([P(),de("design:type",String)],Z.prototype,"message",void 0);me([P({type:"any"}),de("design:type",Object)],Z.prototype,"payload",void 0);me([P({type:"object"}),de("design:type",Array)],Z.prototype,"errors",void 0);Z=me([H({description:"Operation result"}),de("design:paramtypes",[Object])],Z);(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([H({embedded:!0}),de("design:paramtypes",[Object])],r),r}s(e,"forPayload"),i.forPayload=e})(Z||(Z={}));import{__decorate as Gn,__metadata as Yn}from"tslib";import{vg as Vr}from"valgen";var Tc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,St,It=(St=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Vr.matches(Tc,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push(Vr.isGte(e.minValue)),e.maxValue&&r.push(Vr.isLte(e.maxValue)),r.length>0?Vr.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},s(St,"TimeType"),St);Gn([u.Attribute({description:"Minimum value"}),Yn("design:type",String)],It.prototype,"minValue",void 0);Gn([u.Attribute({description:"Maximum value"}),Yn("design:type",String)],It.prototype,"maxValue",void 0);It=Gn([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])],It);import{__decorate as Ec,__metadata as _c}from"tslib";import{vg as Zs}from"valgen";var Mt,Kr=(Mt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Zs.isURL({coerce:!0})}[O](){return Zs.isURL({coerce:!0})}},s(Mt,"UrlType"),Mt);Kr=Ec([u({description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),_c("design:paramtypes",[Object])],Kr);import{__decorate as ea,__metadata as ta}from"tslib";import{vg as Hs}from"valgen";var Lt,ir=(Lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Hs.isUUID(e==null?void 0:e.version,{coerce:!0})}[O](e){return Hs.isUUID(e==null?void 0:e.version,{coerce:!0})}},s(Lt,"UuidType"),Lt);ea([u.Attribute({description:"Version of the UUID"}),ta("design:type",Number)],ir.prototype,"version",void 0);ir=ea([u({description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),ta("design:paramtypes",[Object])],ir);function Se(i,e,t){let r=hr(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"&&ur(this,i,r)}}}[n];if(typeof i=="function"&&fr(a.prototype,i.prototype),typeof i=="function"){let c=Reflect.getOwnMetadata(E,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(E,p,a),typeof i=="function"&&ke._applyMixin(a,i,{...e,isInheritedPredicate:r}),a}s(Se,"createMappedClass");function z3(i,e,t){return Se(i,{omit:e},t)}s(z3,"OmitType");function Y3(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Se(i,{partial:t},r)}s(Y3,"PartialType");function H3(i,e,t){return Se(i,{pick:e},t)}s(H3,"PickType");import{__decorate as xc,__metadata as Oc}from"tslib";import{isAny as ra}from"valgen";var vt,zr=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ra}[O](){return ra}},s(vt,"AnyType"),vt);zr=xc([u({description:"Represents any value"}),Oc("design:paramtypes",[Object])],zr);import{__decorate as gc,__metadata as Rc}from"tslib";import{toBigint as oa,vg as Hn}from"valgen";import{__decorate as Xn,__metadata as Zn}from"tslib";import{toNumber as ia,vg as Qn}from"valgen";var Pt,he=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue&&t.push(Qn.isGte(e.minValue)),e.maxValue&&t.push(Qn.isLte(e.maxValue)),t.length>0?Qn.pipe([ia,...t],{returnIndex:0}):ia}[O](e){return this[T](e)}},s(Pt,"NumberType"),Pt);Xn([u.Attribute({description:"Determines the minimum value"}),Zn("design:type",Number)],he.prototype,"minValue",void 0);Xn([u.Attribute({description:"Determines the maximum value"}),Zn("design:type",Number)],he.prototype,"maxValue",void 0);he=Xn([u({description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Zn("design:paramtypes",[Object])],he);var Ft,Jr=(Ft=class extends he{constructor(e){super(e)}[T](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([oa,...t],{returnIndex:0}):oa}[O](e){return this[T](e)}},s(Ft,"BigintType"),Ft);Jr=gc([u({description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),Rc("design:paramtypes",[Object])],Jr);import{__decorate as wc,__metadata as Ac}from"tslib";import{toBoolean as na}from"valgen";var kt,Wr=(kt=class{constructor(e){e&&Object.assign(this,e)}[T](){return na}[O](){return na}},s(kt,"BooleanType"),kt);Wr=wc([u({description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),Ac("design:paramtypes",[Object])],Wr);import{__decorate as bc,__metadata as Nc}from"tslib";import{toInteger as sa,vg as es}from"valgen";var jt,Je=(jt=class extends he{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(es.isGte(e.minValue)),e.maxValue&&t.push(es.isLte(e.maxValue)),t.length>0?es.pipe([sa,...t],{returnIndex:0}):sa}[O](e){return this[T](e)}},s(jt,"IntegerType"),jt);Je=bc([u({description:"An integer number",nameMappings:{js:"number",json:"number"}}),Nc("design:paramtypes",[Object])],Je);import{__decorate as Dc,__metadata as Sc}from"tslib";import{isNull as aa}from"valgen";var Ct,Gr=(Ct=class{constructor(e){e&&Object.assign(this,e)}[T](){return aa}[O](){return aa}},s(Ct,"NullType"),Ct);Gr=Dc([u({description:"A Null value",nameMappings:{js:"null",json:"null"}}),Sc("design:paramtypes",[Object])],Gr);import{__decorate as Ic,__metadata as Mc}from"tslib";var Ut,Yr=(Ut=class{constructor(e){e&&Object.assign(this,e)}},s(Ut,"ObjectType"),Ut);Yr=Ic([H({name:"object",description:"A non modelled object",additionalFields:!0}),Mc("design:paramtypes",[Object])],Yr);import{__decorate as or,__metadata as nr}from"tslib";import{toString as pa,vg as Qr}from"valgen";var qt,Ie=(qt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(E,Object.getPrototypeOf(this).constructor).name),t.push(Qr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Qr.lengthMin(e.minLength)),e.maxLength&&t.push(Qr.lengthMax(e.maxLength)),t.length>0?Qr.pipe([pa,...t],{returnIndex:0}):pa}[O](e){return this[T](e)}},s(qt,"StringType"),qt);or([u.Attribute({description:"Regex pattern to be used for validation"}),nr("design:type",Object)],Ie.prototype,"pattern",void 0);or([u.Attribute({description:"Name of the pattern"}),nr("design:type",String)],Ie.prototype,"patternName",void 0);or([u.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Ie.prototype,"minLength",void 0);or([u.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Ie.prototype,"maxLength",void 0);Ie=or([u({description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),nr("design:paramtypes",[Object])],Ie);function s_(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Se(i,{required:t},r)}s(s_,"RequiredType");M.Entity={};M.Entity.Create=function(i,e){var n;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=C(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return o.QueryParam("projection",{description:"Determines fields projection",type:new re({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(I.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:v.opra_response_json,type:t.type,partial:"deep"}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}),r.push(a=>{let p=a.compositionOptions=a.compositionOptions||{};p.type=We(t.type)}),o};M.Entity.Delete=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=C(r,{method:"DELETE",...t,composition:"Entity.Delete"});return o.Response(I.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:v.opra_response_json}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.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=We(t.type)}),o};M.Entity.DeleteMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new ge,n=new oe({dataType:t.type});n.rules={};let a=C(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return a.Response(I.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:v.opra_response_json}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}).QueryParam("filter",{type:n,description:"Determines filter fields"}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=We(t.type)}),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};M.Entity.FindMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new ge,n=new oe({dataType:t.type});n.rules={};let a=C(r,{method:"GET",...t,composition:"Entity.FindMany"});return a.Response(I.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:v.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Je({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Je({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new re({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).QueryParam("sort",{description:"Determines sort fields",type:new re({dataType:t.type,allowSigns:"first"}),isArray:!0,arraySeparator:","}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=We(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};M.Entity.Get=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=C(r,{method:"GET",...t,composition:"Entity.Get"});return o.QueryParam("projection",{description:"Determines fields projection",type:new re({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(I.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:v.opra_response_json,type:t.type,partial:"deep"}).Response(I.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.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=We(t.type)}),o};M.Entity.UpdateMany=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new oe({dataType:t.type});o.rules={};let n=new ge,a=C(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(I.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:v.opra_response_json}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}).QueryParam("filter",{type:o,description:"Determines filter fields"}),r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=We(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{n.set(c,{operators:l,description:x}),o.rules=n.toJSON()}),a),a};M.Entity.Update=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new ge,n=new oe({dataType:t.type});n.rules={};let a=C(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 re({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(I.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:v.opra_response_json,type:t.type,partial:"deep"}).Response(I.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}),a.KeyParam=(c,l)=>{let x=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,x),r.push(d=>{var B;(B=d.path)!=null&&B.includes(":"+c)||(d.path=(d.path||"")+"@:"+c),d.mergePath=!0}),a},r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=We(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{o.set(c,{operators:l,description:x}),n.rules=o.toJSON()}),a),a};function We(i){if(typeof i=="string")return i;let e=Reflect.getMetadata(E,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(We,"getDataTypeName");import{asMutable as Lc}from"ts-gems";var Re=s(function(...i){var o;if(!this)return Re[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Lc(this);r.kind=m.RpcController.Kind,r.types=r.node[F]=new te,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),r.onInit=t.onInit,r.onShutdown=t.onShutdown},"RpcController"),rs=class rs extends R{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 Re)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=y({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}[it](){return`[${ot}RpcController${nt+this.name+Pe}]`}};s(rs,"RpcControllerClass");var ts=rs;Re.prototype=ts.prototype;Object.assign(Re,He);Re[A]=He;Re.OnInit=function(){return(i,e)=>{let t=Reflect.getOwnMetadata(K,i.constructor)||{};t.onInit=i[e],Reflect.defineMetadata(K,i.constructor,t)}};Re.OnShutdown=function(){return(i,e)=>{let t=Reflect.getOwnMetadata(K,i.constructor)||{};t.onShutdown=i[e],Reflect.defineMetadata(K,i.constructor,t)}};import{asMutable as vc}from"ts-gems";var sr=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ce.call(this,i,e);let t=vc(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?ct(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),os=class os extends Ce{toJSON(){return y({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};s(os,"RpcHeaderClass");var is=os;sr.prototype=is.prototype;import{asMutable as Pc}from"ts-gems";var ar=s(function(...i){if(!this){let[o,n]=i,a=[];return ar[A].call(void 0,a,o,n)}let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Pc(this);r.headers=[],r.types=r.node[F]=new te,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 g?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),ss=class ss extends R{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=y({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(ss,"RpcOperationClass");var ns=ss;ar.prototype=ns.prototype;ar[A]=Bt;var as=class as extends R{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 g?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 g?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=y({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(as,"RpcOperationResponse");var Xr=as;var ps=class ps{static async createApi(e,t){let r=new ft(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"&&!et(r)&&(r=r()),r=await ne(r);let n,a,p;if(typeof r=="function"){if(a=Reflect.getMetadata(K,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(K,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 Re(t,{...a,name:o,instance:p,ctor:n});return a.types&&await e.enterAsync(".types",async()=>{await S.addDataTypes(e,c,a.types)}),a.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let x of a.headers)await e.enterAsync(`[${l++}]`,async()=>{let d={...x};await e.enterAsync(".type",async()=>{x.type&&(d.type=c.node.findDataType(x.type)),!d.type&&typeof x.type=="object"&&(d.type=await S.createDataType(e,c,x.type)),d.type||(d.type=c.node.getDataType("any"))});let B=new sr(c,d);c.headers.push(B)})}),a.operations&&await e.enterAsync(".operations",async()=>{for(let[l,x]of Object.entries(a.operations))await e.enterAsync(`[${l}]`,async()=>{let d=new ar(c,{...x,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,x),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await S.addDataTypes(e,t,r.types)}),t.payloadType=await S.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await S.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 S.resolveDataType(e,t,n.type)});let p=new sr(t,a);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let o=new Xr(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 S.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await S.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 S.resolveDataType(e,t,n.type)});let p=new sr(t,a);t.headers.push(p)})})}};s(ps,"RpcApiFactory");var Zr=ps;var Fc="https://oprajs.com/spec/v"+m.SpecVersion,Hr=class Hr{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new Hr,o=t instanceof ae?t:new ae(t);try{let n=new Ue;if(await r.initDocument(n,o,e),o.error.details.length)throw o.error;return n}catch(n){try{n instanceof rt||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 x.errors=a,x}return e=e||new er,e.visit(c)}s(Kn,"parse");var zn=class zn{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,y({...t,operators:r}))}normalizeFilter(e,t){let r=typeof e=="string"?Kn(e):e;return this.normalizeFilterAst(r,t)}normalizeFilterAst(e,t,r){if(e instanceof Ee){if(this.normalizeFilterAst(e.left,t),!(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 ye({message:w("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:w("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,e.left),e}if(e instanceof me)return e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),e;if(e instanceof Be)return e.items.forEach(o=>this.normalizeFilterAst(o.expression,t,r)),e;if(e instanceof Te)return e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),e;if(e instanceof _e)return this.normalizeFilterAst(e.expression,t,r),e;if(e instanceof oe&&t&&(e.value=t.normalizeFieldPath(e.value),e.field=t.getField(e.value),e.dataType=e.field.type),e instanceof P&&r instanceof oe&&r.field){if(e.value==null&&!r.field.required)return e.value;let o=this._decoderCache.get(r.field);o||(o=r.field.type.generateCodec("decode",{projection:"*",ignoreWriteonlyFields:!0,ignoreHiddenFields:!0,coerce:!0}),this._decoderCache.set(r.field,o)),e.value=o(e.value)}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};s(zn,"FilterRules");var ge=zn;var rr={};fs(rr,{$and:()=>Yp,$arithmetic:()=>uc,$array:()=>Ys,$date:()=>Qp,$eq:()=>ec,$field:()=>Hp,$gt:()=>rc,$gte:()=>ic,$ilike:()=>lc,$in:()=>sc,$like:()=>pc,$lt:()=>oc,$lte:()=>nc,$ne:()=>tc,$notILike:()=>fc,$notIn:()=>ac,$notLike:()=>cc,$number:()=>Zp,$or:()=>Gp,$paren:()=>mc,$time:()=>Xp,ArithmeticExpression:()=>Be,ArithmeticExpressionItem:()=>br,ArrayExpression:()=>Te,Ast:()=>Yt,BooleanLiteral:()=>qe,ComparisonExpression:()=>Ee,DateLiteral:()=>xe,Expression:()=>U,FilterTreeVisitor:()=>er,Literal:()=>P,LogicalExpression:()=>me,NegativeExpression:()=>Qt,NullLiteral:()=>$e,NumberLiteral:()=>Oe,OpraErrorListener:()=>tr,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>oe,StringLiteral:()=>Ve,Term:()=>Ue,TimeLiteral:()=>Ke,parse:()=>Kn});function Gp(...i){return new me({op:"or",items:i})}s(Gp,"$or");function Yp(...i){return new me({op:"and",items:i})}s(Yp,"$and");function Qp(i){return new xe(i)}s(Qp,"$date");function Xp(i){return new Ke(i)}s(Xp,"$time");function Zp(i){return new Oe(i)}s(Zp,"$number");function Ys(...i){return new Te(i.map(qr))}s(Ys,"$array");function Hp(i){return new oe(i)}s(Hp,"$field");function ec(i,e){return te("=",i,e)}s(ec,"$eq");function tc(i,e){return te("!=",i,e)}s(tc,"$ne");function rc(i,e){return te(">",i,e)}s(rc,"$gt");function ic(i,e){return te(">=",i,e)}s(ic,"$gte");function oc(i,e){return te("<",i,e)}s(oc,"$lt");function nc(i,e){return te("<=",i,e)}s(nc,"$lte");function sc(i,e){return te("in",i,e)}s(sc,"$in");function ac(i,e){return te("!in",i,e)}s(ac,"$notIn");function pc(i,e){return te("like",i,e)}s(pc,"$like");function cc(i,e){return te("!like",i,e)}s(cc,"$notLike");function lc(i,e){return te("ilike",i,e)}s(lc,"$ilike");function fc(i,e){return te("!ilike",i,e)}s(fc,"$notILike");function mc(i){return new _e(i)}s(mc,"$paren");function uc(i){let e=new Be;return e.add=t=>(e.append("+",At(t)),e),e.sub=t=>(e.append("-",At(t)),e),e.mul=t=>(e.append("*",At(t)),e),e.div=t=>(e.append("/",At(t)),e),e.append("+",qr(i)),e}s(uc,"$arithmetic");function te(i,e,t){let r=qr(e),o=qr(t);return new Ee({op:i,left:r,right:o})}s(te,"comparisonExpression");var qr=s(i=>Array.isArray(i)?Ys(...i.map(At)):At(i),"wrapEntryValue"),At=s(i=>i instanceof U?i:typeof i=="boolean"?new qe(i):typeof i=="number"||typeof i=="bigint"?new Oe(i):i==null?new $e:i instanceof Date?new xe(i):new Ve(""+i),"_wrapEntryValue");var bt,ne=(bt=class{constructor(e){e&&Object.assign(this,e)}[T](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 dc(r,o)}[O](){return hc}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(bt,"FilterType"),bt);Jn([m.Attribute({description:"Data type which filtering fields belong to"}),Wn("design:type",Object)],ne.prototype,"dataType",void 0);Jn([m.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),Wn("design:type",Object)],ne.prototype,"rules",void 0);ne=Jn([m({description:"A query filter",nameMappings:{js:"object",json:"string"}}),Wn("design:paramtypes",[Object])],ne);var dc=s((i,e)=>Qs("decodeFilter",(t,r,o)=>{if(typeof t=="string")try{let n=rr.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"),hc=Qs("encodeFilter",(i,e,t)=>{if(i instanceof rr.Ast)return i.toString();e.fail(t,"Not a valid filter expression",i)});import{__decorate as yc,__metadata as Tc}from"tslib";import{vg as Xs}from"valgen";var Nt,$r=(Nt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Xs.isObjectId({coerce:!0})}[O](){return Xs.isObjectId({coerce:!0})}},s(Nt,"ObjectIdType"),Nt);$r=yc([m({description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),Tc("design:paramtypes",[Object])],$r);import{__decorate as ue,__metadata as de}from"tslib";var Dt,Y=(Dt=class{constructor(e){e&&Object.assign(this,e)}},s(Dt,"OperationResult"),Dt);ue([F(),de("design:type",Number)],Y.prototype,"affected",void 0);ue([F(),de("design:type",Number)],Y.prototype,"totalMatches",void 0);ue([F(),de("design:type",String)],Y.prototype,"context",void 0);ue([F(),de("design:type",String)],Y.prototype,"type",void 0);ue([F(),de("design:type",String)],Y.prototype,"message",void 0);ue([F({type:"any"}),de("design:type",Object)],Y.prototype,"payload",void 0);ue([F({type:"object"}),de("design:type",Array)],Y.prototype,"errors",void 0);Y=ue([Q({description:"Operation result"}),de("design:paramtypes",[Object])],Y);(function(i){function e(t){var o;let r=(o=class extends i{constructor(...a){super(...a)}},s(o,"OperationResult_"),o);return ue([F({type:t,required:!0}),de("design:type",Object)],r.prototype,"payload",void 0),r=ue([Q({embedded:!0}),de("design:paramtypes",[Object])],r),r}s(e,"forPayload"),i.forPayload=e})(Y||(Y={}));import{__decorate as Gn,__metadata as Yn}from"tslib";import{vg as Vr}from"valgen";var Ec=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,St,It=(St=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Vr.matches(Ec,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push(Vr.isGte(e.minValue)),e.maxValue&&r.push(Vr.isLte(e.maxValue)),r.length>0?Vr.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},s(St,"TimeType"),St);Gn([m.Attribute({description:"Minimum value"}),Yn("design:type",String)],It.prototype,"minValue",void 0);Gn([m.Attribute({description:"Maximum value"}),Yn("design:type",String)],It.prototype,"maxValue",void 0);It=Gn([m({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])],It);import{__decorate as _c,__metadata as xc}from"tslib";import{vg as Zs}from"valgen";var Mt,Kr=(Mt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Zs.isURL({coerce:!0})}[O](){return Zs.isURL({coerce:!0})}},s(Mt,"UrlType"),Mt);Kr=_c([m({description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),xc("design:paramtypes",[Object])],Kr);import{__decorate as ea,__metadata as ta}from"tslib";import{vg as Hs}from"valgen";var Lt,ir=(Lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Hs.isUUID(e==null?void 0:e.version,{coerce:!0})}[O](e){return Hs.isUUID(e==null?void 0:e.version,{coerce:!0})}},s(Lt,"UuidType"),Lt);ea([m.Attribute({description:"Version of the UUID"}),ta("design:type",Number)],ir.prototype,"version",void 0);ir=ea([m({description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),ta("design:paramtypes",[Object])],ir);function De(i,e,t){let r=hr(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"&&mr(this,i,r)}}}[n];if(typeof i=="function"&&fr(a.prototype,i.prototype),typeof i=="function"){let c=Reflect.getOwnMetadata(E,i);if(!c)throw new TypeError(`Class "${i}" doesn't have datatype metadata information`);if(!(c.kind===u.ComplexType.Kind||c.kind===u.MappedType.Kind||c.kind===u.MixinType.Kind))throw new TypeError(`Class "${i}" is not a ${u.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(E,p,a),typeof i=="function"&&Fe._applyMixin(a,i,{...e,isInheritedPredicate:r}),a}s(De,"createMappedClass");function W3(i,e,t){return De(i,{omit:e},t)}s(W3,"OmitType");function X3(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(X3,"PartialType");function t2(i,e,t){return De(i,{pick:e},t)}s(t2,"PickType");import{__decorate as Oc,__metadata as gc}from"tslib";import{isAny as ra}from"valgen";var vt,zr=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ra}[O](){return ra}},s(vt,"AnyType"),vt);zr=Oc([m({description:"Represents any value"}),gc("design:paramtypes",[Object])],zr);import{__decorate as Rc,__metadata as wc}from"tslib";import{toBigint as oa,vg as Hn}from"valgen";import{__decorate as Xn,__metadata as Zn}from"tslib";import{toNumber as ia,vg as Qn}from"valgen";var Pt,he=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue&&t.push(Qn.isGte(e.minValue)),e.maxValue&&t.push(Qn.isLte(e.maxValue)),t.length>0?Qn.pipe([ia,...t],{returnIndex:0}):ia}[O](e){return this[T](e)}},s(Pt,"NumberType"),Pt);Xn([m.Attribute({description:"Determines the minimum value"}),Zn("design:type",Number)],he.prototype,"minValue",void 0);Xn([m.Attribute({description:"Determines the maximum value"}),Zn("design:type",Number)],he.prototype,"maxValue",void 0);he=Xn([m({description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Zn("design:paramtypes",[Object])],he);var Ft,Jr=(Ft=class extends he{constructor(e){super(e)}[T](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([oa,...t],{returnIndex:0}):oa}[O](e){return this[T](e)}},s(Ft,"BigintType"),Ft);Jr=Rc([m({description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),wc("design:paramtypes",[Object])],Jr);import{__decorate as Ac,__metadata as bc}from"tslib";import{toBoolean as na}from"valgen";var kt,Wr=(kt=class{constructor(e){e&&Object.assign(this,e)}[T](){return na}[O](){return na}},s(kt,"BooleanType"),kt);Wr=Ac([m({description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),bc("design:paramtypes",[Object])],Wr);import{__decorate as Nc,__metadata as Dc}from"tslib";import{toInteger as sa,vg as es}from"valgen";var jt,ze=(jt=class extends he{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(es.isGte(e.minValue)),e.maxValue&&t.push(es.isLte(e.maxValue)),t.length>0?es.pipe([sa,...t],{returnIndex:0}):sa}[O](e){return this[T](e)}},s(jt,"IntegerType"),jt);ze=Nc([m({description:"An integer number",nameMappings:{js:"number",json:"number"}}),Dc("design:paramtypes",[Object])],ze);import{__decorate as Sc,__metadata as Ic}from"tslib";import{isNull as aa}from"valgen";var Ct,Gr=(Ct=class{constructor(e){e&&Object.assign(this,e)}[T](){return aa}[O](){return aa}},s(Ct,"NullType"),Ct);Gr=Sc([m({description:"A Null value",nameMappings:{js:"null",json:"null"}}),Ic("design:paramtypes",[Object])],Gr);import{__decorate as Mc,__metadata as Lc}from"tslib";var Ut,Yr=(Ut=class{constructor(e){e&&Object.assign(this,e)}},s(Ut,"ObjectType"),Ut);Yr=Mc([Q({name:"object",description:"A non modelled object",additionalFields:!0}),Lc("design:paramtypes",[Object])],Yr);import{__decorate as or,__metadata as nr}from"tslib";import{toString as pa,vg as Qr}from"valgen";var Bt,Se=(Bt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(E,Object.getPrototypeOf(this).constructor).name),t.push(Qr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Qr.lengthMin(e.minLength)),e.maxLength&&t.push(Qr.lengthMax(e.maxLength)),t.length>0?Qr.pipe([pa,...t],{returnIndex:0}):pa}[O](e){return this[T](e)}},s(Bt,"StringType"),Bt);or([m.Attribute({description:"Regex pattern to be used for validation"}),nr("design:type",Object)],Se.prototype,"pattern",void 0);or([m.Attribute({description:"Name of the pattern"}),nr("design:type",String)],Se.prototype,"patternName",void 0);or([m.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Se.prototype,"minLength",void 0);or([m.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Se.prototype,"maxLength",void 0);Se=or([m({description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),nr("design:paramtypes",[Object])],Se);function p_(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(p_,"RequiredType");M.Entity={};M.Entity.Create=function(i,e){var n;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=C(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return o.QueryParam("projection",{description:"Determines fields projection",type:new ee({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(I.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:v.opra_response_json,type:t.type,partial:"deep"}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}),r.push(a=>{let p=a.compositionOptions=a.compositionOptions||{};p.type=Je(t.type)}),o};M.Entity.Delete=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=C(r,{method:"DELETE",...t,composition:"Entity.Delete"});return o.Response(I.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:v.opra_response_json}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.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=Je(t.type)}),o};M.Entity.DeleteMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new ge,n=new ne({dataType:t.type});n.rules={};let a=C(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return a.Response(I.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:v.opra_response_json}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}).QueryParam("filter",{type:n,description:"Determines filter fields"}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Je(t.type)}),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};M.Entity.FindMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new ge,n=new ne({dataType:t.type});n.rules={};let a=C(r,{method:"GET",...t,composition:"Entity.FindMany"});return a.Response(I.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:v.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.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 ee({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).QueryParam("sort",{description:"Determines sort fields",type:new ee({dataType:t.type,allowSigns:"first"}),isArray:!0,arraySeparator:","}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Je(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};M.Entity.Get=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=C(r,{method:"GET",...t,composition:"Entity.Get"});return o.QueryParam("projection",{description:"Determines fields projection",type:new ee({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(I.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:v.opra_response_json,type:t.type,partial:"deep"}).Response(I.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.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=Je(t.type)}),o};M.Entity.UpdateMany=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new ne({dataType:t.type});o.rules={};let n=new ge,a=C(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(I.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:v.opra_response_json}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}).QueryParam("filter",{type:o,description:"Determines filter fields"}),r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Je(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{n.set(c,{operators:l,description:x}),o.rules=n.toJSON()}),a),a};M.Entity.Update=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new ge,n=new ne({dataType:t.type});n.rules={};let a=C(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 ee({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(I.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:v.opra_response_json,type:t.type,partial:"deep"}).Response(I.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(I.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:v.opra_response_json}),a.KeyParam=(c,l)=>{let x=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,x),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=Je(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{o.set(c,{operators:l,description:x}),n.rules=o.toJSON()}),a),a};function Je(i){if(typeof i=="string")return i;let e=Reflect.getMetadata(E,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(Je,"getDataTypeName");import{asMutable as vc}from"ts-gems";var We=s(function(...i){var o;if(!this)return We[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=vc(this);r.kind=u.RpcController.Kind,r.types=r.node[k]=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"),rs=class rs extends R{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 We)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=y({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}[it](){return`[${ot}RpcController${nt+this.name+ve}]`}};s(rs,"RpcControllerClass");var ts=rs;We.prototype=ts.prototype;Object.assign(We,He);We[A]=He;import{asMutable as Pc}from"ts-gems";var sr=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');je.call(this,i,e);let t=Pc(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?ct(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),os=class os extends je{toJSON(){return y({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};s(os,"RpcHeaderClass");var is=os;sr.prototype=is.prototype;import{asMutable as Fc}from"ts-gems";var ar=s(function(...i){if(!this){let[o,n]=i,a=[];return ar[A].call(void 0,a,o,n)}let[e,t]=i;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Fc(this);r.headers=[],r.types=r.node[k]=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 g?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),ss=class ss extends R{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=y({kind:u.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(ss,"RpcOperationClass");var ns=ss;ar.prototype=ns.prototype;ar[A]=$t;var as=class as extends R{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 g?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 g?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=y({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(as,"RpcOperationResponse");var Xr=as;var ps=class ps{static async createApi(e,t){let r=new ft(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"&&!et(r)&&(r=r()),r=await se(r);let n,a,p;if(typeof r=="function"){if(a=Reflect.getMetadata(ie,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(ie,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 We(t,{...a,name:o,instance:p,ctor:n});return a.types&&await e.enterAsync(".types",async()=>{await S.addDataTypes(e,c,a.types)}),a.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let x of a.headers)await e.enterAsync(`[${l++}]`,async()=>{let d={...x};await e.enterAsync(".type",async()=>{x.type&&(d.type=c.node.findDataType(x.type)),!d.type&&typeof x.type=="object"&&(d.type=await S.createDataType(e,c,x.type)),d.type||(d.type=c.node.getDataType("any"))});let $=new sr(c,d);c.headers.push($)})}),a.operations&&await e.enterAsync(".operations",async()=>{for(let[l,x]of Object.entries(a.operations))await e.enterAsync(`[${l}]`,async()=>{let d=new ar(c,{...x,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,x),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await S.addDataTypes(e,t,r.types)}),t.payloadType=await S.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await S.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 S.resolveDataType(e,t,n.type)});let p=new sr(t,a);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let o=new Xr(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 S.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await S.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 S.resolveDataType(e,t,n.type)});let p=new sr(t,a);t.headers.push(p)})})}};s(ps,"RpcApiFactory");var Zr=ps;var kc="https://oprajs.com/spec/v"+u.SpecVersion,Hr=class Hr{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new Hr,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 rt||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 ne(p),await t.enterAsync(`[${a}]`,async()=>{if(!j.test(a))throw new TypeError(`Invalid namespace (${a})`);if(p instanceof Ue){e.references.set(a,p);return}let c=new Ue;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 S.addDataTypes(t,e,o.types)}),o.api&&await t.enterAsync(".api",async()=>{if(o.api&&o.api.transport==="http"){let a=await lt.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else if(o.api&&o.api.transport==="rpc"){let a=await Zr.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:Fc,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[zr,Jr,Wr,Je,Gr,he,Yr,Ie,xr,dt,yt,Et,xt,Q,re,oe,Br,Z,It,Kr,ir]},r=new Ue;r[Le]=!0;let o=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),a=r.types[lr];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(Hr,"ApiDocumentFactory");var ca=Hr;var la;(function(i){i.HttpApiFactory=lt,i.DataTypeFactory=S,i.RpcOperationDecoratorFactory=Bt,i.RpcControllerDecoratorFactory=He})(la||(la={}));import{uid as fO}from"uid";export{zr as AnyType,at as ApiBase,Ue as ApiDocument,ca as ApiDocumentFactory,P as ApiField,Le as BUILTIN,Ls as BadRequestError,xr as Base64Type,Pa as BaseI18n,Jr as BigintType,Wr as BooleanType,j as CLASS_NAME_PATTERN,H as ComplexType,vs as ConflictError,E as DATATYPE_METADATA,T as DECODER,A as DECORATOR,g as DataType,te as DataTypeMap,yt as DateStringType,xt as DateTimeStringType,Et as DateTimeType,dt as DateType,R as DocumentElement,ae as DocumentInitContext,dr as DocumentNode,O as ENCODER,cr as EXTRACT_TYPENAME_PATTERN,Q as EmailType,pe as EnumType,Ps as FailedDependencyError,re as FieldPathType,ve as FieldsProjection,oe as FilterType,Ar as ForbiddenError,V as HTTP_CONTROLLER_METADATA,pt as HttpApi,W as HttpController,bs as HttpHeaderCodes,Ae as HttpMediaType,Tr as HttpMultipartField,M as HttpOperation,Er as HttpOperationResponse,Gt as HttpParameter,_r as HttpRequestBody,I as HttpStatusCode,Y0 as HttpStatusMessages,Wt as HttpStatusRange,Kt as I18n,Je as IntegerType,Fs as InternalServerError,Ks as IssueSeverity,ke as MappedType,ks as MethodNotAllowedError,v as MimeTypes,st as MixinType,us as NAMESPACE_PATTERN,js as NotAcceptableError,Cs as NotFoundError,Gr as NullType,he as NumberType,Br as ObjectIdType,Yr as ObjectType,z3 as OmitType,Z as OperationResult,rt as OpraDocumentError,ye as OpraException,rr as OpraFilter,b as OpraHttpError,m as OpraSchema,Y3 as PartialType,Us as PermissionError,H3 as PickType,K as RPC_CONTROLLER_METADATA,s_ as RequiredType,qs as ResourceConflictError,$s as ResourceNotAvailableError,N as ResponsiveMap,ft as RpcApi,Re as RpcController,sr as RpcHeader,ar as RpcOperation,u as SimpleType,Ie as StringType,It as TimeType,Bs as UnauthorizedError,Vs as UnprocessableEntityError,Kr as UrlType,ir as UuidType,la as classes,L as cloneObject,Xl as getErrorStack,Ql as getStackFileName,li as i18n,ur as inheritPropertyInitializers,Vl as isAsyncIterable,Ul as isBlob,et as isConstructor,ql as isFormData,Bl as isIterable,kl as isReadable,Cl as isReadableStream,ni as isStream,$l as isURL,jl as isWritable,lr as kCtorMap,F as kDataTypeMap,we as kTypeNSMap,fr as mergePrototype,ba as omitNullish,y as omitUndefined,Es as parse,Ts as parseFieldsProjection,ne as resolveThunk,mf as safeJsonStringify,w as translate,fO as uid};
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[Me]){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||u.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 S.addDataTypes(t,e,o.types)}),o.api&&await t.enterAsync(".api",async()=>{if(o.api&&o.api.transport==="http"){let a=await lt.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else if(o.api&&o.api.transport==="rpc"){let a=await Zr.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:u.SpecVersion,url:kc,info:{version:u.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[zr,Jr,Wr,ze,Gr,he,Yr,Se,xr,dt,yt,Et,xt,W,ee,ne,$r,Y,It,Kr,ir]},r=new Ce;r[Me]=!0;let o=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),a=r.types[lr];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(Hr,"ApiDocumentFactory");var ca=Hr;var la;(function(i){i.HttpApiFactory=lt,i.DataTypeFactory=S,i.RpcOperationDecoratorFactory=$t,i.RpcControllerDecoratorFactory=He})(la||(la={}));import{uid as uO}from"uid";export{zr as AnyType,at as ApiBase,Ce as ApiDocument,ca as ApiDocumentFactory,F as ApiField,Me as BUILTIN,Ls as BadRequestError,xr as Base64Type,Fa as BaseI18n,Jr as BigintType,Wr as BooleanType,j as CLASS_NAME_PATTERN,Q as ComplexType,vs as ConflictError,E as DATATYPE_METADATA,T as DECODER,A as DECORATOR,g as DataType,Z as DataTypeMap,yt as DateStringType,xt as DateTimeStringType,Et as DateTimeType,dt as DateType,R as DocumentElement,pe as DocumentInitContext,dr as DocumentNode,O as ENCODER,cr as EXTRACT_TYPENAME_PATTERN,W as EmailType,ce as EnumType,Ps as FailedDependencyError,ee as FieldPathType,Le as FieldsProjection,ne as FilterType,Ar as ForbiddenError,re as HTTP_CONTROLLER_METADATA,pt as HttpApi,H as HttpController,bs as HttpHeaderCodes,we as HttpMediaType,Tr as HttpMultipartField,M as HttpOperation,Er as HttpOperationResponse,Gt as HttpParameter,_r as HttpRequestBody,I as HttpStatusCode,X0 as HttpStatusMessages,Wt as HttpStatusRange,Kt as I18n,ze as IntegerType,Fs as InternalServerError,Ks as IssueSeverity,Fe as MappedType,ks as MethodNotAllowedError,v as MimeTypes,st as MixinType,ms as NAMESPACE_PATTERN,js as NotAcceptableError,Cs as NotFoundError,Gr as NullType,he as NumberType,$r as ObjectIdType,Yr as ObjectType,W3 as OmitType,Y as OperationResult,rt as OpraDocumentError,ye as OpraException,rr as OpraFilter,b as OpraHttpError,u as OpraSchema,X3 as PartialType,Us as PermissionError,t2 as PickType,ie as RPC_CONTROLLER_METADATA,p_ as RequiredType,Bs as ResourceConflictError,qs as ResourceNotAvailableError,N as ResponsiveMap,ft as RpcApi,We as RpcController,sr as RpcHeader,ar as RpcOperation,m as SimpleType,Se as StringType,It as TimeType,$s as UnauthorizedError,Vs as UnprocessableEntityError,Kr as UrlType,ir as UuidType,la as classes,L as cloneObject,Zl as getErrorStack,Xl as getStackFileName,li as i18n,mr as inheritPropertyInitializers,Kl as isAsyncIterable,Bl as isBlob,af as isBuiltInObject,et as isConstructor,ql as isFormData,Vl as isIterable,jl as isReadable,Ul as isReadableStream,ni as isStream,$l as isURL,Cl as isWritable,lr as kCtorMap,k as kDataTypeMap,Re as kTypeNSMap,fr as mergePrototype,ba as omitNullish,y as omitUndefined,Es as parse,Ts as parseFieldsProjection,se as resolveThunk,hf as safeJsonStringify,w as translate,uO as uid};