@opra/common 1.28.5 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser.js CHANGED
@@ -3,9 +3,9 @@
3
3
  * http://www.panates.com
4
4
  *****************************************/
5
5
 
6
- var xi=Object.defineProperty;var Tp=(o,e,t)=>e in o?xi(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e)=>xi(o,"name",{value:e,configurable:!0});var Lr=(o,e)=>{for(var t in e)xi(o,t,{get:e[t],enumerable:!0})};var p=(o,e,t)=>Tp(o,typeof e!="symbol"?e+"":e,t);import"reflect-metadata";import"reflect-metadata";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as Tc}from"@jsopen/objects";import{isString as Ec}from"valgen";var ea;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(ea||(ea={}));import{omitUndefined as Rp}from"@jsopen/objects";import"@browsery/i18next";import _p from"@browsery/i18next";import{splitString as gp,tokenize as ia}from"fast-tokenizer";var Ep=/\\(.)/g,xp=/(\\)/g;function ta(o){return o.replace(xp,"\\\\")}a(ta,"escapeString");function ra(o){return o.replace(Ep,"$1")}a(ra,"unescapeString");var Op=Object.getPrototypeOf(_p.createInstance()).constructor,tr=class tr extends Op{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(c,l)=>c.toLocaleLowerCase(l)),s.add("uppercase",(c,l)=>c.toLocaleUpperCase(l)),s.add("upperFirst",(c,l)=>c.charAt(0).toLocaleUpperCase(l)+c.substring(1)),r!=null&&r.resources)for(let c of Object.keys(r.resources)){let l=r.resources[c];for(let u of Object.keys(l))this.addResourceBundle(c,u,l[u],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new tr(e,t)}static createInstance(e,t){return new tr(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of ia(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=gp(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),c=ra(n.substring((s[0]||"").length+1));n=s[0]||"";let l=[],u=null;for(let O of ia(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(O.startsWith("{")){u=JSON.parse(O);continue}l.push(O)}let E=l.length>1?"$t("+l.join(",")+")":l[0];i+=c?this.t(E,c,{...r,...u}):this.t(E,{...r,...u});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,c=n.length;s<c;s++){let l=n[s];i[l]=this._deepTranslate(e[l],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Ap}};a(tr,"I18n");var rr=tr,Ap=rr.createInstance();var wp=/(\))/g;function Hf(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+ta(i).replace(wp,"\\$1"):"")+")"}a(Hf,"translate");var _i=rr.createInstance();_i.init().catch(()=>{});var gi=class gi extends Error{constructor(t,r){super("Unknown error");p(this,"cause");p(this,"severity","error");p(this,"system");p(this,"code");p(this,"details");r=r||(t instanceof Error?t:void 0),t instanceof Error&&(r=t),r&&r instanceof Error&&(this.cause=r,r.stack&&(this.stack=r.stack)),typeof t=="string"?this.initString(t):t instanceof Error?this.initError(t):this.init(t),this.message=this.message||this.constructor.name}toString(){return _i.deep(this.message)}toJSON(){return Rp({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:this.stack},!0)}init(t){this.message=(t==null?void 0:t.message)||this.constructor.name,this.severity=(t==null?void 0:t.severity)||"error",t&&(this.system=t.system,this.code=t.code,this.details=t.details)}initString(t){this.init({message:String(t||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(t){let r="production";this.init({message:t.message,severity:t.severity||"error",code:t.code||t.constructor.name,stack:r==="dev"||r==="development"||r==="test"?t.stack:void 0})}};a(gi,"OpraException");var Te=gi;var Oi=class Oi extends Te{constructor(t,r,i){super(t,r instanceof Error?r:void 0);p(this,"status");this.status=(typeof r=="number"?r:Number(i))||500}setStatus(t){return this.status=t,this}initError(t){typeof t.status=="number"?this.status=t.status:typeof t.getStatus=="function"&&(this.status=t.getStatus()),super.initError(t)}};a(Oi,"OpraHttpError");var v=Oi;var Ai=class Ai extends v{constructor(){super(...arguments);p(this,"status",400)}init(t){super.init({message:"Bad request",code:"BAD_REQUEST",...t})}};a(Ai,"BadRequestError");var oa=Ai;var wi=class wi extends v{constructor(){super(...arguments);p(this,"status",409)}init(t){super.init({message:"Conflict",code:"CONFLICT",...t})}};a(wi,"ConflictError");var na=wi;var Ri=class Ri extends v{constructor(){super(...arguments);p(this,"status",424)}init(t){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...t})}};a(Ri,"FailedDependencyError");var sa=Ri;var aa;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(aa||(aa={}));var R;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(R||(R={}));var bm={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 b;(function(o){o.json="application/json",o.xml="application/xml",o.yaml="text/yaml",o.yaml2="application/yaml",o.toml="text/toml",o.toml2="application/toml",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream",o.opra_response_json="application/opra.response+json",o.opra_response_xml="application/opra.response+xml",o.opra_response_yaml="text/opra.response+yaml",o.opra_response_toml="text/opra.response+toml"})(b||(b={}));var bi=class bi extends v{constructor(){super(...arguments);p(this,"status",R.FORBIDDEN)}init(t){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...t})}};a(bi,"ForbiddenError");var Pr=bi;var Di=class Di extends v{constructor(){super(...arguments);p(this,"status",500)}init(t){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...t})}};a(Di,"InternalServerError");var pa=Di;var Ni=class Ni extends v{constructor(){super(...arguments);p(this,"status",405)}init(t){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...t})}};a(Ni,"MethodNotAllowedError");var ca=Ni;var Si=class Si extends v{constructor(){super(...arguments);p(this,"status",406)}init(t){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...t})}};a(Si,"NotAcceptableError");var la=Si;var Mi=class Mi extends v{constructor(){super(...arguments);p(this,"status",404)}init(t){super.init({message:"Not found",code:"NOT_FOUND",...t})}};a(Mi,"NotFoundError");var fa=Mi;var vi=class vi extends Pr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(vi,"PermissionError");var ma=vi;var Ii=class Ii extends v{constructor(t,r,i){super({message:`There is already an other "${t}" resource with same values for field(s) [${r}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:t,location:r}},i);p(this,"status",409)}};a(Ii,"ResourceConflictError");var ua=Ii;var Li=class Li extends v{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,R.UNPROCESSABLE_ENTITY)}};a(Li,"ResourceNotAvailableError");var da=Li;var Pi=class Pi extends v{constructor(){super(...arguments);p(this,"status",401)}init(t){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...t})}};a(Pi,"UnauthorizedError");var ha=Pi;var ki=class ki extends v{constructor(){super(...arguments);p(this,"status",422)}init(t){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...t})}};a(ki,"UnprocessableEntityError");var ya=ki;BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as bp}from"@jsopen/objects";import Dp from"putil-promisify";async function Z(o){return o=Dp.isPromise(o)?await o:o,typeof o=="function"?bp(o)?o:await o():o}a(Z,"resolveThunk");var Ta=/^(?:file:\/\/)?(.+)$/;function Pu(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ta.exec(r):void 0;return i?i[1]:""}return""}a(Pu,"getStackFileName");function ku(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ta.exec(r):void 0;return i?i[1]:""}return""}a(ku,"getErrorStack");function kr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(kr,"mergePrototype");function Cr(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(Cr,"inheritPropertyInitializers");import{isPlainObject as xa,merge as Np}from"@jsopen/objects";var y=Symbol.for("opra.type.metadata"),se=Symbol("opra.http-controller.metadata"),ae=Symbol("opra.mq-controller.metadata"),pe=Symbol("opra.ws-controller.metadata"),ir=Symbol("opra.ws-param.metadata"),$u=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),_=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Ve=Symbol.for("BUILTIN"),Ea=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,P=Symbol.for("kDataTypeMap"),jr=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");function k(o,e){return Np({},o,{deep:a(t=>xa(t)&&!t[y],"deep"),symbolKeys:!0,copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||xa(i)||Array.isArray(i))}})}a(k,"cloneObject");import{splitString as _a}from"fast-tokenizer";var Sp=/^([+-])?([a-z_$]\w*)$/i,Mp=/[^.]\(/g,Ci=class Ci{};a(Ci,"FieldsProjection");var We=Ci;(function(o){let t=class t{constructor(){p(this,"sign");p(this,"projection")}};a(t,"Item");let e=t;o.Item=e})(We||(We={}));function ga(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new We;for(let i of t)e||(i=i.toLowerCase()),Oa(i,r);return r}a(ga,"parseFieldsProjection");function Oa(o,e){o=o.replace(Mp,r=>r.charAt(0)+"."+r.substring(1));let t=_a(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let l=_a(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let u of l)Oa(u,e);continue}let n=Sp.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],c=e[s]=e[s]||new We.Item;n[1]&&(c.sign=n[1]),r===t.length-1?delete c.projection:e=c.projection=c.projection||new We}}a(Oa,"parse");function vp(o){return o&&typeof o.forEach=="function"}a(vp,"isMap");var Q=Symbol.for("kEntries"),ce=Symbol.for("kKeyMap"),Fr=Symbol.for("kWellKnownKeys"),ji=Symbol.for("kOptions"),ct=Symbol.for("kSize"),Fi=class Fi{constructor(e,t){Object.defineProperty(this,ct,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,Q,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ce,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Fr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,ji,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Fr][i]=i:this[Fr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[ct]}clear(){Object.keys(this[Q]).forEach(e=>delete this[Q][e]),Object.keys(this[ce]).forEach(e=>delete this[ce][e]),this[ct]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[Q][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[Q],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[Q],r);return this[Q][r]=t,i||this[ct]++,this[ce][r]=e,this}setAll(e){return vp(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[ce])[Symbol.iterator]()}values(){return Object.values(this[Q])[Symbol.iterator]()}entries(){return Object.entries(this[Q])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[Q],t);return delete this[Q][t],delete this[ce][t],r||this[ct]--,r}sort(e){let t={...this[Q]},r={...this[ce]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[Q][n]=t[n],this[ce][n]=r[n];return this[ct]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ce]))e[r]=this[Q][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[ji].caseSensitive)return e;let t=this._getStoringKey(e);return this[ce][t]??this[Fr][t]??e}_getStoringKey(e){return this[ji].caseSensitive?e:e.toLowerCase()}};a(Fi,"ResponsiveMap");var S=Fi;function Xu(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(Xu,"safeJsonStringify");import"@browsery/stream";function Ui(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Ui,"isStream");function id(o){return Ui(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(id,"isReadable");function od(o){return Ui(o)&&typeof o._write=="function"}a(od,"isWritable");function nd(o){return Ui(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(nd,"isReadableStream");function sd(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(sd,"isBlob");function ad(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(ad,"isFormData");function pd(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(pd,"isURL");var m={};Lr(m,{ArrayType:()=>lt,ComplexType:()=>ft,EnumType:()=>mt,HttpController:()=>or,HttpOperation:()=>$i,MQController:()=>Bi,MQOperation:()=>qi,MappedType:()=>ut,MixinType:()=>dt,SimpleType:()=>ht,SpecVersion:()=>gd,UnionType:()=>yt,WSController:()=>Ki,WSOperation:()=>Vi,isArrayType:()=>Up,isComplexType:()=>Lp,isDataType:()=>Ip,isEnumType:()=>jp,isHttpController:()=>$p,isMappedType:()=>Cp,isMixinType:()=>kp,isSimpleType:()=>Pp,isUnionType:()=>Fp});var gd="1.0";var lt;(function(o){o.Kind="ArrayType"})(lt||(lt={}));var ft;(function(o){o.Kind="ComplexType"})(ft||(ft={}));var mt;(function(o){o.Kind="EnumType"})(mt||(mt={}));var ut;(function(o){o.Kind="MappedType"})(ut||(ut={}));var dt;(function(o){o.Kind="MixinType"})(dt||(dt={}));var ht;(function(o){o.Kind="SimpleType"})(ht||(ht={}));var yt;(function(o){o.Kind="UnionType"})(yt||(yt={}));var or;(function(o){o.Kind="HttpController"})(or||(or={}));var $i;(function(o){o.Kind="HttpOperation"})($i||($i={}));var Bi;(function(o){o.Kind="MQController"})(Bi||(Bi={}));var qi;(function(o){o.Kind="MQOperation"})(qi||(qi={}));function Ip(o){return o&&typeof o=="object"&&(o.kind===lt.Kind||o.kind===ft.Kind||o.kind===mt.Kind||o.kind===ut.Kind||o.kind===ht.Kind||o.kind===dt.Kind||o.kind===yt.Kind)}a(Ip,"isDataType");function Lp(o){return o&&typeof o=="object"&&o.kind===ft.Kind}a(Lp,"isComplexType");function Pp(o){return o&&typeof o=="object"&&o.kind===ht.Kind}a(Pp,"isSimpleType");function kp(o){return o&&typeof o=="object"&&o.kind===dt.Kind}a(kp,"isMixinType");function Cp(o){return o&&typeof o=="object"&&o.kind===ut.Kind}a(Cp,"isMappedType");function jp(o){return o&&typeof o=="object"&&o.kind===mt.Kind}a(jp,"isEnumType");function Fp(o){return o&&typeof o=="object"&&o.kind===yt.Kind}a(Fp,"isUnionType");function Up(o){return o&&typeof o=="object"&&o.kind===lt.Kind}a(Up,"isArrayType");function $p(o){return o&&typeof o=="object"&&o.kind===or.Kind}a($p,"isHttpController");var Ki;(function(o){o.Kind="WSController"})(Ki||(Ki={}));var Vi;(function(o){o.Kind="WSOperation"})(Vi||(Vi={}));var Wi=class Wi{constructor(){p(this,"kind");this.kind=Object.getPrototypeOf(this).constructor.name}};a(Wi,"Ast");var nr=Wi;var zi=class zi extends nr{};a(zi,"Expression");var B=zi;var Ji=class Ji extends B{};a(Ji,"Term");var ze=Ji;var Qi=class Qi extends ze{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Qi,"Literal");var C=Qi;var Yi=class Yi extends B{constructor(){super();p(this,"items",[])}append(t,r){return this.items.push(new Ur({op:t,expression:r})),this}toString(){return this.items.map((t,r)=>(r>0?t.op:"")+t.expression).join("")}};a(Yi,"ArithmeticExpression");var Je=Yi,Gi=class Gi{constructor(e){p(this,"op");p(this,"expression");Object.assign(this,e)}};a(Gi,"ArithmeticExpressionItem");var Ur=Gi;var Xi=class Xi extends ze{constructor(t){super();p(this,"items");this.items=t}toString(){return"["+this.items.map(t=>""+t).join(",")+"]"}};a(Xi,"ArrayExpression");var Ee=Xi;var Bp=/\w/,Zi=class Zi extends B{constructor(t){super();p(this,"op");p(this,"left");p(this,"right");p(this,"prepare");Object.assign(this,t)}toString(){return`${this.left}${Bp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Zi,"ComparisonExpression");var le=Zi;var Hi=class Hi extends B{constructor(t){super();p(this,"op");p(this,"items");Object.assign(this,t),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(t=>""+t).join(" "+this.op+" ")}};a(Hi,"LogicalExpression");var fe=Hi;var eo=class eo extends B{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(eo,"NegativeExpression");var sr=eo;var to=class to extends B{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(to,"ParenthesizedExpression");var xe=to;var ro=class ro extends C{constructor(e){super(e)}};a(ro,"BooleanLiteral");var Qe=ro;import{toDateDef as Jp}from"putil-varhelpers";import"@browsery/antlr4";var io=class io extends TypeError{};a(io,"SyntaxError");var $r=io,oo=class oo extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(oo,"FilterValidationError");var me=oo,no=class no extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(no,"FilterParseError");var Br=no;var qp=/'/g,Kp=/(\\)/g,Vp=/\\(.)/g;function Wp(o){return o.replace(Kp,"\\\\")}a(Wp,"escapeString");function zp(o){return o.replace(Vp,"$1")}a(zp,"unescapeString");function be(o){return"'"+Wp(o).replace(qp,"\\'")+"'"}a(be,"quoteFilterString");function ar(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?zp(o.substring(1,o.length-1)):o}a(ar,"unquoteFilterString");var Aa=new Date(0),so=class so extends C{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Jp(t,Aa)!==Aa){this.value=t;return}throw new me(`Invalid date value "${t}"`)}toString(){return be(this.value)}};a(so,"DateLiteral");var De=so;import{toDateDef as Qp}from"putil-varhelpers";var wa=new Date(0),ao=class ao extends C{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Qp(t,wa)!==wa){this.value=t;return}throw new me(`Invalid date-time value "${t}"`)}toString(){return be(this.value)}};a(ao,"DateTimeLiteral");var pr=ao;var po=class po extends C{constructor(){super(null);p(this,"value",null)}};a(po,"NullLiteral");var Ye=po;var co=class co extends C{constructor(t){super(0);p(this,"value");if(typeof t=="number"||typeof t=="bigint"){this.value=t;return}try{if(typeof t=="string"){if(t.includes(".")){this.value=parseFloat(t);return}let r=Number(t);""+r===t?this.value=r:this.value=BigInt(t);return}}catch{}throw new me(`Invalid number literal ${t}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(co,"NumberLiteral");var _e=co;import{omitUndefined as Xp}from"@jsopen/objects";import{asMutable as Zp}from"ts-gems";import{asMutable as Yp}from"ts-gems";import{uid as Gp}from"uid";var Ra;Ra=P;var lo=class lo{constructor(e,t){p(this,Ra);p(this,"_document");p(this,"parent");p(this,"element");this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Re])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[P])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(y,e).name;else if(typeof e=="object"){let n=e[y];if(!n)throw new TypeError(`OPRA Metadata not found for data type (${e})`);i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getArrayType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ArrayType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a UnionType`)}};a(lo,"DocumentNode");var qr=lo;var w=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Yp(this);e.id=Gp(16),Object.defineProperty(e,"node",{value:new qr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),mo=class mo{};a(mo,"DocumentElementClass");var fo=mo;w.prototype=fo.prototype;var uo=class uo extends Te{constructor(){super("");p(this,"details",[])}add(t){return this.details.push(t),this}};a(uo,"OpraDocumentError");var Tt=uo;var ho=class ho{constructor(e){p(this,"path","");p(this,"error",new Tt);p(this,"maxErrors");p(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(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(ho,"DocumentInitContext");var ue=ho;var Ne=Symbol.for("nodejs.util.inspect.custom"),ge="\x1B[0m",Se="\x1B[33m",Me="\x1B[35m";function cr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(cr,"testScopeMatch");var g=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!j.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);w.call(this,o);let r=Zp(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),To=class To extends w{get embedded(){return!this.name}inScope(e){return cr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return Xp({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[Ne](){return`[${Se+Object.getPrototypeOf(this).constructor.name+ge} ${Me+this.name+ge}]`}};a(To,"DataTypeClass");var yo=To;g.prototype=yo.prototype;var Eo=class Eo extends C{constructor(e){super(""+e)}};a(Eo,"QualifiedIdentifier");var H=Eo;var xo=class xo extends C{constructor(e){super(""+e)}toString(){return be(this.value)}};a(xo,"StringLiteral");var Ge=xo;var Hp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,_o=class _o extends C{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=Kr(t.getHours())+":"+Kr(t.getMinutes())+(t.getSeconds()?":"+Kr(t.getSeconds()):"")+(t.getMilliseconds()?"."+Kr(t.getMilliseconds()):"");return}if(typeof t=="string"&&Hp.test(t)){this.value=t;return}throw new me(`Invalid time value "${t}"`)}toString(){return be(this.value)}};a(_o,"TimeLiteral");var Xe=_o;function Kr(o){return o<=9?"0"+o:""+o}a(Kr,"pad");import{CharStream as hc,CommonTokenStream as yc}from"@browsery/antlr4";import{ATNDeserializer as ec,DFA as tc,Lexer as rc,LexerATNSimulator as ic,PredictionContextCache as oc,Token as nc}from"@browsery/antlr4";var h=class h extends rc{constructor(e){super(e),this._interp=new ic(this,h._ATN,h.DecisionsToDFA,new oc)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return h.literalNames}get symbolicNames(){return h.symbolicNames}get ruleNames(){return h.ruleNames}get serializedATN(){return h._serializedATN}get channelNames(){return h.channelNames}get modeNames(){return h.modeNames}static get _ATN(){return h.__ATN||(h.__ATN=new ec().deserialize(h._serializedATN)),h.__ATN}};a(h,"OpraFilterLexer"),p(h,"T__0",1),p(h,"T__1",2),p(h,"T__2",3),p(h,"T__3",4),p(h,"T__4",5),p(h,"T__5",6),p(h,"T__6",7),p(h,"T__7",8),p(h,"T__8",9),p(h,"T__9",10),p(h,"T__10",11),p(h,"T__11",12),p(h,"T__12",13),p(h,"T__13",14),p(h,"T__14",15),p(h,"T__15",16),p(h,"T__16",17),p(h,"T__17",18),p(h,"T__18",19),p(h,"T__19",20),p(h,"T__20",21),p(h,"T__21",22),p(h,"T__22",23),p(h,"T__23",24),p(h,"T__24",25),p(h,"T__25",26),p(h,"T__26",27),p(h,"T__27",28),p(h,"T__28",29),p(h,"T__29",30),p(h,"T__30",31),p(h,"T__31",32),p(h,"T__32",33),p(h,"T__33",34),p(h,"IDENTIFIER",35),p(h,"POLAR_OP",36),p(h,"DATE",37),p(h,"DATETIME",38),p(h,"TIME",39),p(h,"NUMBER",40),p(h,"INTEGER",41),p(h,"STRING",42),p(h,"WHITESPACE",43),p(h,"EOF",nc.EOF),p(h,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),p(h,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(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"]),p(h,"modeNames",["DEFAULT_MODE"]),p(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"]),p(h,"_serializedATN",[4,0,43,461,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,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,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,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,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,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,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,491,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,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,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,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,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,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0]),p(h,"__ATN"),p(h,"DecisionsToDFA",h._ATN.decisionToState.map((e,t)=>new tc(e,t)));var lr=h;import{ATN as ba,ATNDeserializer as sc,DFA as ac,FailedPredicateException as pc,NoViableAltException as go,Parser as cc,ParserATNSimulator as lc,ParserRuleContext as K,PredictionContextCache as fc,RecognitionException as q,Token as mc}from"@browsery/antlr4";var f=class f extends cc{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return f.literalNames}get symbolicNames(){return f.symbolicNames}get ruleNames(){return f.ruleNames}get serializedATN(){return f._serializedATN}createFailedPredicateException(e,t){return new pc(this,e,t)}constructor(e){super(e),this._interp=new lc(this,f._ATN,f.DecisionsToDFA,new fc)}root(){let e=new Oo(this,this._ctx,this.state);this.enterRule(e,0,f.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(f.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,i=new X(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,f.RULE_expression,e);let c;try{let l;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new Ro(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new Ao(this,i),this._ctx=i,n=i,this.state=42,this.match(f.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(f.T__1);break;case 3:case 4:i=new wo(this,i),this._ctx=i,n=i,this.state=46,c=this._input.LA(1),c===3||c===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new go(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx);l!==2&&l!==ba.INVALID_ALT_NUMBER;){if(l===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new fr(this,new X(this,t,r)),this.pushNewRecursionContext(i,s,f.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(l){if(l instanceof q)i.exception=l,this._errHandler.reportError(this,l),this._errHandler.recover(this,l);else throw l}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new Vr(this,this._ctx,this.state);this.enterRule(e,4,f.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 Wr(this,this._ctx,this.state);this.enterRule(e,6,f.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new go(this)}}catch(t){if(t instanceof 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 zr(this,this._ctx,this.state);this.enterRule(e,8,f.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 Y(this,this._ctx,this.state);this.enterRule(e,10,f.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new Lo(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(f.NUMBER);break;case 13:case 14:e=new vo(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new Io(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Do(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new No(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(f.DATETIME);break;case 37:e=new Mo(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(f.DATE);break;case 39:e=new bo(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(f.TIME);break;case 42:e=new So(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(f.STRING);break;default:throw new go(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 mr(this,this._ctx,this.state);this.enterRule(e,12,f.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!==ba.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(f.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 Jr(this,this._ctx,this.state);this.enterRule(e,14,f.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(f.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 Et(this,this._ctx,this.state);this.enterRule(e,16,f.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(f.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 Qr(this,this._ctx,this.state);this.enterRule(e,18,f.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(f.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(f.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(f.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 Yr(this,this._ctx,this.state);this.enterRule(e,20,f.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 Gr(this,this._ctx,this.state);this.enterRule(e,22,f.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(f.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 Xr(this,this._ctx,this.state);this.enterRule(e,24,f.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 Po(this,this._ctx,this.state);this.enterRule(e,26,f.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(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 Zr(this,this._ctx,this.state);this.enterRule(e,28,f.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(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 Hr(this,this._ctx,this.state);this.enterRule(e,30,f.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(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 ko(this,this._ctx,this.state);this.enterRule(e,32,f.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(f.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){return t===1?this.expression_sempred(e,r):!0}expression_sempred(e,t){return t===0?this.precpred(this._ctx,3):!0}static get _ATN(){return f.__ATN||(f.__ATN=new sc().deserialize(f._serializedATN)),f.__ATN}};a(f,"OpraFilterParser"),p(f,"T__0",1),p(f,"T__1",2),p(f,"T__2",3),p(f,"T__3",4),p(f,"T__4",5),p(f,"T__5",6),p(f,"T__6",7),p(f,"T__7",8),p(f,"T__8",9),p(f,"T__9",10),p(f,"T__10",11),p(f,"T__11",12),p(f,"T__12",13),p(f,"T__13",14),p(f,"T__14",15),p(f,"T__15",16),p(f,"T__16",17),p(f,"T__17",18),p(f,"T__18",19),p(f,"T__19",20),p(f,"T__20",21),p(f,"T__21",22),p(f,"T__22",23),p(f,"T__23",24),p(f,"T__24",25),p(f,"T__25",26),p(f,"T__26",27),p(f,"T__27",28),p(f,"T__28",29),p(f,"T__29",30),p(f,"T__30",31),p(f,"T__31",32),p(f,"T__32",33),p(f,"T__33",34),p(f,"IDENTIFIER",35),p(f,"POLAR_OP",36),p(f,"DATE",37),p(f,"DATETIME",38),p(f,"TIME",39),p(f,"NUMBER",40),p(f,"INTEGER",41),p(f,"STRING",42),p(f,"WHITESPACE",43),p(f,"EOF",mc.EOF),p(f,"RULE_root",0),p(f,"RULE_expression",1),p(f,"RULE_comparisonLeft",2),p(f,"RULE_comparisonRight",3),p(f,"RULE_parenthesizedItem",4),p(f,"RULE_value",5),p(f,"RULE_qualifiedIdentifier",6),p(f,"RULE_externalConstant",7),p(f,"RULE_identifier",8),p(f,"RULE_arrayValue",9),p(f,"RULE_boolean",10),p(f,"RULE_null",11),p(f,"RULE_infinity",12),p(f,"RULE_arithmeticOperator",13),p(f,"RULE_comparisonOperator",14),p(f,"RULE_logicalOperator",15),p(f,"RULE_polarityOperator",16),p(f,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(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"]),p(f,"ruleNames",["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"]),p(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,38,0,0,74,78,5,37,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]),p(f,"__ATN"),p(f,"DecisionsToDFA",f._ATN.decisionToState.map((e,t)=>new ac(e,t)));var N=f,Co=class Co extends K{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(X,0)}EOF(){return this.getToken(N.EOF,0)}get ruleIndex(){return N.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(Co,"RootContext");var Oo=Co,jo=class jo extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(jo,"ExpressionContext");var X=jo,Fo=class Fo extends X{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(zr,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(Fo,"ParenthesizedExpressionContext");var Ao=Fo,Uo=class Uo 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)}};a(Uo,"NegativeExpressionContext");var wo=Uo,$o=class $o extends X{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_left");p(this,"_operator");p(this,"_right");super.copyFrom(r)}comparisonLeft(){return this.getTypedRuleContext(Vr,0)}comparisonOperator(){return this.getTypedRuleContext(Zr,0)}comparisonRight(){return this.getTypedRuleContext(Wr,0)}enterRule(t){t.enterComparisonExpression&&t.enterComparisonExpression(this)}exitRule(t){t.exitComparisonExpression&&t.exitComparisonExpression(this)}accept(t){return t.visitComparisonExpression?t.visitComparisonExpression(this):t.visitChildren(this)}};a($o,"ComparisonExpressionContext");var Ro=$o,Bo=class Bo extends X{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_op");super.copyFrom(r)}expression_list(){return this.getTypedRuleContexts(X)}expression(t){return this.getTypedRuleContext(X,t)}logicalOperator(){return this.getTypedRuleContext(Hr,0)}enterRule(t){t.enterLogicalExpression&&t.enterLogicalExpression(this)}exitRule(t){t.exitLogicalExpression&&t.exitLogicalExpression(this)}accept(t){return t.visitLogicalExpression?t.visitLogicalExpression(this):t.visitChildren(this)}};a(Bo,"LogicalExpressionContext");var fr=Bo,qo=class qo extends K{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(mr,0)}get ruleIndex(){return N.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(qo,"ComparisonLeftContext");var Vr=qo,Ko=class Ko extends K{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(Y,0)}qualifiedIdentifier(){return this.getTypedRuleContext(mr,0)}externalConstant(){return this.getTypedRuleContext(Jr,0)}arrayValue(){return this.getTypedRuleContext(Qr,0)}get ruleIndex(){return N.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(Ko,"ComparisonRightContext");var Wr=Ko,Vo=class Vo extends K{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(X,0)}get ruleIndex(){return N.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(Vo,"ParenthesizedItemContext");var zr=Vo,Wo=class Wo extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_value}copyFrom(e){super.copyFrom(e)}};a(Wo,"ValueContext");var Y=Wo,zo=class zo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(N.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(zo,"TimeLiteralContext");var bo=zo,Jo=class Jo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Gr,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(Jo,"NullLiteralContext");var Do=Jo,Qo=class Qo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(N.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(Qo,"DateTimeLiteralContext");var No=Qo,Yo=class Yo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(N.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(Yo,"StringLiteralContext");var So=Yo,Go=class Go extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(N.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(Go,"DateLiteralContext");var Mo=Go,Xo=class Xo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Xr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(Xo,"InfinityLiteralContext");var vo=Xo,Zo=class Zo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Yr,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(Zo,"BooleanLiteralContext");var Io=Zo,Ho=class Ho extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(N.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(Ho,"NumberLiteralContext");var Lo=Ho,en=class en extends K{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Et)}identifier(e){return this.getTypedRuleContext(Et,e)}get ruleIndex(){return N.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(en,"QualifiedIdentifierContext");var mr=en,tn=class tn extends K{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Et,0)}get ruleIndex(){return N.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(tn,"ExternalConstantContext");var Jr=tn,rn=class rn extends K{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(N.IDENTIFIER,0)}get ruleIndex(){return N.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(rn,"IdentifierContext");var Et=rn,on=class on extends K{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(Y)}value(e){return this.getTypedRuleContext(Y,e)}get ruleIndex(){return N.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(on,"ArrayValueContext");var Qr=on,nn=class nn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(nn,"BooleanContext");var Yr=nn,sn=class sn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(sn,"NullContext");var Gr=sn,an=class an extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(an,"InfinityContext");var Xr=an,pn=class pn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(pn,"ArithmeticOperatorContext");var Po=pn,cn=class cn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(cn,"ComparisonOperatorContext");var Zr=cn,ln=class ln extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(ln,"LogicalOperatorContext");var Hr=ln,fn=class fn extends K{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(N.POLAR_OP,0)}get ruleIndex(){return N.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(fn,"PolarityOperatorContext");var ko=fn;import{ParseTreeVisitor as uc}from"@browsery/antlr4";import{ParseTreeVisitor as l1}from"@browsery/antlr4";var mn=class mn extends C{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(mn,"ExternalConstant");var ei=mn;var un=class un extends uc{constructor(t){super();p(this,"_timeZone");this._timeZone=t==null?void 0:t.timeZone}visitChildren(t){let r=super.visitChildren(t);return Array.isArray(r)&&r.length<2?r[0]:r??t.getText()}defaultResult(){}visitRoot(t){return this.visit(t.expression())}visitParenthesizedExpression(t){let r=this.visit(t.parenthesizedItem());return new xe(r)}visitParenthesizedItem(t){return this.visit(t.expression())}visitNegativeExpression(t){let r=this.visit(t.expression());return new sr(r)}visitComparisonExpression(t){return new le({op:t.comparisonOperator().getText(),left:this.visit(t.comparisonLeft()),right:this.visit(t.comparisonRight())})}visitLogicalExpression(t){let r=[],i=a((n,s)=>{for(let c of n){if(c instanceof fr&&c.logicalOperator().getText()===s){i(c.expression_list(),c.logicalOperator().getText());continue}let l=this.visit(c);r.push(l)}},"wrapChildren");return i(t.expression_list(),t.logicalOperator().getText()),new fe({op:t.logicalOperator().getText(),items:r})}visitQualifiedIdentifier(t){return new H(t.getText())}visitExternalConstant(t){return new ei(t.identifier().getText())}visitNullLiteral(){return new Ye}visitBooleanLiteral(t){return new Qe(t.getText()==="true")}visitNumberLiteral(t){return new _e(t.getText())}visitStringLiteral(t){return new Ge(ar(t.getText()))}visitInfinityLiteral(){return new _e(1/0)}visitDateLiteral(t){return new De(ar(t.getText()))}visitDateTimeLiteral(t){return new pr(ar(t.getText()))}visitTimeLiteral(t){return new Xe(ar(t.getText()))}visitArrayValue(t){return new Ee(t.value_list().map(r=>this.visit(r)))}};a(un,"FilterTreeVisitor");var ur=un;import{ErrorListener as dc}from"@browsery/antlr4";var dn=class dn extends dc{constructor(t){super();p(this,"errors");this.errors=t}syntaxError(t,r,i,n,s,c){this.errors.push(new Br(s,{recognizer:t,offendingSymbol:r,line:i,column:n,e:c}))}};a(dn,"OpraErrorListener");var dr=dn;function hn(o,e){let t=new hc(o),r=new lr(t),i=new yc(r),n=new N(i);n.buildParseTrees=!0;let s=[],c=new dr(s);r.removeErrorListeners(),r.addErrorListener(c),n.removeErrorListeners(),n.addErrorListener(c);let l=n.root();if(s.length){let u=[];for(let O of s)u.push(O.message+(o.includes(`
7
- `)?" at line: "+O.line+" column: "+O.column:" at column: "+O.column));let E=new $r(u.join(`
8
- `));throw E.errors=s,E}return e=e||new ur,e.visit(l)}a(hn,"parse");var yn=class yn{constructor(e,t){p(this,"_rules",new S);p(this,"_decoderCache",new WeakMap);if(Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,Tc({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?hn(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof le){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof H&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Te({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Te({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof fe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Je)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Ee)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof H&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof C){let n=t.findLastIndex(s=>s instanceof le);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof H&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let c;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?c=Ec:c=this._decoderCache.get(s.left.field),c||(c=s.left.field.generateCodec("decode",{scope:i,projection:"*",ignoreReadonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,c)),e.value=c(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(yn,"FilterRules");var xt=yn;var hr={};Lr(hr,{$and:()=>_c,$arithmetic:()=>Fc,$array:()=>Da,$date:()=>gc,$eq:()=>Rc,$field:()=>wc,$gt:()=>Dc,$gte:()=>Nc,$ilike:()=>kc,$in:()=>vc,$like:()=>Lc,$lt:()=>Sc,$lte:()=>Mc,$ne:()=>bc,$notILike:()=>Cc,$notIn:()=>Ic,$notLike:()=>Pc,$number:()=>Ac,$or:()=>xc,$paren:()=>jc,$time:()=>Oc,ArithmeticExpression:()=>Je,ArithmeticExpressionItem:()=>Ur,ArrayExpression:()=>Ee,Ast:()=>nr,BooleanLiteral:()=>Qe,ComparisonExpression:()=>le,DateLiteral:()=>De,DateTimeLiteral:()=>pr,Expression:()=>B,FilterTreeVisitor:()=>ur,Literal:()=>C,LogicalExpression:()=>fe,NegativeExpression:()=>sr,NullLiteral:()=>Ye,NumberLiteral:()=>_e,OpraErrorListener:()=>dr,ParenthesizedExpression:()=>xe,QualifiedIdentifier:()=>H,StringLiteral:()=>Ge,Term:()=>ze,TimeLiteral:()=>Xe,parse:()=>hn});function xc(...o){return new fe({op:"or",items:o})}a(xc,"$or");function _c(...o){return new fe({op:"and",items:o})}a(_c,"$and");function gc(o){return new De(o)}a(gc,"$date");function Oc(o){return new Xe(o)}a(Oc,"$time");function Ac(o){return new _e(o)}a(Ac,"$number");function Da(...o){return new Ee(o.map(ti))}a(Da,"$array");function wc(o){return new H(o)}a(wc,"$field");function Rc(o,e){return ee("=",o,e)}a(Rc,"$eq");function bc(o,e){return ee("!=",o,e)}a(bc,"$ne");function Dc(o,e){return ee(">",o,e)}a(Dc,"$gt");function Nc(o,e){return ee(">=",o,e)}a(Nc,"$gte");function Sc(o,e){return ee("<",o,e)}a(Sc,"$lt");function Mc(o,e){return ee("<=",o,e)}a(Mc,"$lte");function vc(o,e){return ee("in",o,e)}a(vc,"$in");function Ic(o,e){return ee("!in",o,e)}a(Ic,"$notIn");function Lc(o,e){return ee("like",o,e)}a(Lc,"$like");function Pc(o,e){return ee("!like",o,e)}a(Pc,"$notLike");function kc(o,e){return ee("ilike",o,e)}a(kc,"$ilike");function Cc(o,e){return ee("!ilike",o,e)}a(Cc,"$notILike");function jc(o){return new xe(o)}a(jc,"$paren");function Fc(o){let e=new Je;return e.add=t=>(e.append("+",_t(t)),e),e.sub=t=>(e.append("-",_t(t)),e),e.mul=t=>(e.append("*",_t(t)),e),e.div=t=>(e.append("/",_t(t)),e),e.append("+",ti(o)),e}a(Fc,"$arithmetic");function ee(o,e,t){let r=typeof e=="string"?new H(e):ti(e),i=ti(t);return new le({op:o,left:r,right:i})}a(ee,"comparisonExpression");var ti=a(o=>Array.isArray(o)?Da(...o.map(_t)):_t(o),"wrapEntryValue"),_t=a(o=>o instanceof B?o:typeof o=="boolean"?new Qe(o):typeof o=="number"||typeof o=="bigint"?new _e(o):o==null?new Ye:o instanceof Date?new De(o):new Ge(""+o),"_wrapEntryValue");import Uc from"object-hash";import{asMutable as $c}from"ts-gems";import{validator as Bc,vg as G}from"valgen";var gt=/^([+-])?([a-z$_][\w.]*)$/i,F=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;g.call(this,e,t,r);let i=$c(this);i._fields=new S},"ComplexTypeBase"),En=class En extends g{constructor(){super(...arguments);p(this,"ctor");p(this,"additionalFields");p(this,"keyField")}fieldCount(t){if(t==="*")return this._fields.size;let r=0;for(let i of this.fields(t))r++;return r}fieldEntries(t){let r=this._fields.entries();if(t==="*")return r;let i;return{next(){for(;r&&(i=r.next(),!(i.done||i.value&&i.value[1].inScope(t))););return i.done?{done:i.done,value:void 0}:{done:i.done,value:[i.value[0],i.value[1].forScope(t)]}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fields(t){let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[1]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fieldNames(t){if(t==="*")return this._fields.keys();let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[0]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}findField(t,r){if(t.includes(".")){let n=this.parseFieldPath(t,{scope:r});if(n.length===0)throw new Error(`Field "${t}" does not exist in scope "${r}"`);let s=n.pop();return s==null?void 0:s.field}let i=this._fields.get(t);if(i&&i.inScope(r))return i.forScope(r)}getField(t,r){let i=this.findField(t,"*");if(i&&!i.inScope(r))throw new Error(`Field "${t}" does not exist in scope "${r||"null"}"`);if(!i)throw new Error(`Field (${t}) does not exist`);return i.forScope(r)}parseFieldPath(t,r){var x,U,qe;let i=this,n,s=t.split("."),c=s.length,l=[],u=this.owner.node.getDataType("object"),E=r==null?void 0:r.allowSigns,O=a(()=>l.map(L=>L.fieldName).join("."),"getStrPath");for(let L=0;L<c;L++){let V={fieldName:s[L],dataType:u};l.push(V);let Ke=gt.exec(s[L]);if(!Ke)throw new TypeError(`Invalid field name (${O()})`);if(Ke[1]&&((L===0&&E==="first"||E==="each")&&(V.sign=Ke[1]),V.fieldName=Ke[2]),i){if(i instanceof F){if(n=i.findField(V.fieldName,r==null?void 0:r.scope),n){V.fieldName=n.name,V.field=n,V.dataType=n.type,i=n.type;continue}if(((x=i.additionalFields)==null?void 0:x[0])===!0){V.additionalField=!0,V.dataType=u,i=void 0;continue}if(((U=i.additionalFields)==null?void 0:U[0])==="type"&&((qe=i.additionalFields)==null?void 0:qe[1])instanceof g){V.additionalField=!0,V.dataType=i.additionalFields[1],i=i.additionalFields[1];continue}throw new Error(`Unknown field (${l.map(Ei=>Ei.fieldName).join(".")})`)}throw new TypeError(`"${l.map(Ei=>Ei.fieldName).join(".")}" field is not a complex type and has no child fields`)}V.additionalField=!0,V.dataType=u}return l}normalizeFieldPath(t,r){return this.parseFieldPath(t,r).map(i=>(i.sign||"")+i.fieldName).join(".")}generateCodec(t,r){var l;let i=r!=null&&r.cache?r:{...r,projection:Array.isArray(r==null?void 0:r.projection)?ga(r.projection):r==null?void 0:r.projection,currentPath:""},n=this._generateSchema(t,i),s;if(this.additionalFields instanceof g)s=this.additionalFields.generateCodec(t,r);else if(typeof this.additionalFields=="boolean")s=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)s="error";else{let u=s[1];s=Bc((E,O,x)=>O.fail(x,u,E))}let c=G.isObject(n,{ctor:this.name==="object"?Object:this.ctor,additionalFields:s,name:this.name,coerce:!0,caseInSensitive:r==null?void 0:r.caseInSensitive,onFail:r==null?void 0:r.onFail});if(i.level===0&&((l=i.forwardCallbacks)!=null&&l.size))for(let u of i.forwardCallbacks)u();return c}_generateSchema(t,r){var u;r.fieldCache=r.fieldCache||new Map,r.level=r.level||0,r.forwardCallbacks=r.forwardCallbacks||new Set;let i={},{currentPath:n,projection:s}=r,c=!!(s&&Object.values(s).find(E=>!E.sign)),l;for(let E of this.fields("*")){if(!E.inScope(r.scope)||!(r.keepKeyFields&&this.keyField)&&(r.ignoreReadonlyFields&&E.readonly||r.ignoreWriteonlyFields&&E.writeonly)){i[E.name]=G.isUndefined({coerce:!0});continue}l=E.name;let O;if(s!=="*"&&(O=s==null?void 0:s[l.toLowerCase()],(O==null?void 0:O.sign)==="-"||c&&!O||!c&&E.exclusive&&!O)){i[E.name]=G.isUndefined({coerce:!0});continue}let x=typeof s=="object"?((u=s[l])==null?void 0:u.projection)||"*":s,U=r.fieldCache.get(E),qe=typeof x=="string"?x:Uc(x||{});U||(U={},r.fieldCache.set(E,U));let L=U[qe];if(L===null)L=G.isAny(),r.forwardCallbacks.add(()=>{L=U[qe],i[l]=r.partial||!E.required?r.allowNullOptionals?G.nullable(L):G.optional(L):G.required(L)});else if(!L){let V=a(()=>{U[qe]=null;let Ke=E.generateCodec(t,{...r,partial:r.partial==="deep"?r.partial:void 0,projection:x,currentPath:n+(n?".":"")+l,level:r.level+1});return U[qe]=Ke,Ke},"defaultGenerator");r.fieldHook?L=r.fieldHook(E,r.currentPath,V):L=V()}i[l]=r.partial||!(E.required||L.id==="required")?r.allowNullOptionals?G.nullable(L):G.optional(L):L.id==="required"?L:G.required(L)}return r.allowPatchOperators&&(i._$pull=G.optional(G.isAny()),i._$push=G.optional(G.isAny())),i}};a(En,"ComplexTypeBaseClass");var Tn=En;F.prototype=Tn.prototype;import"reflect-metadata";import{omitUndefined as xn}from"@jsopen/objects";import{asMutable as qc}from"ts-gems";import{vg as Kc}from"valgen";var te=a(function(...o){if(!this)return te[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=qc(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof te))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),_n=class _n extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof te?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Kc.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return xn({...t,kind:this.kind,base:r,attributes:k(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(_n,"EnumTypeClass");var yr=_n;te.prototype=yr.prototype;Object.assign(te,yr);function Vc(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(c=>{var u;if(!isNaN(Number(c)))return;let l=(u=r==null?void 0:r.meanings)==null?void 0:u[c];i[c]=xn({description:l})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(c=>{var u;if(!isNaN(Number(c)))return;let l=(u=r==null?void 0:r.meanings)==null?void 0:u[c];i[o[c]]=xn({alias:c,description:l})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,y,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Vc,"EnumTypeFactory");te.prototype=yr.prototype;te[A]=Vc;var Yn={};Lr(Yn,{Base64Type:()=>Rn,CreditCardType:()=>ri,DateTimeType:()=>Ze,DateTimeTypeTz:()=>_r,DateType:()=>Tr,EanType:()=>vn,EmailType:()=>re,FieldPathType:()=>J,FilterType:()=>et,IbanType:()=>Cn,IpType:()=>ii,MobilePhoneType:()=>gr,ObjectIdType:()=>Un,OperationResult:()=>ye,TimeType:()=>Or,UrlType:()=>Qn,UuidType:()=>si});import{__decorate as zc,__metadata as Jc}from"tslib";import{isBase64 as Qc,validator as bn,vg as wn}from"valgen";import"reflect-metadata";import{omitUndefined as Sa}from"@jsopen/objects";import{asMutable as Wc}from"ts-gems";import{isAny as Ma}from"valgen";function gn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(y,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(y,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(gn,"SimpleTypeDecoratorFactory");function Na(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(y,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(y,r,e.constructor)}}a(Na,"AttributeDecoratorFactory");var d=a(function(...o){var n,s;if(!this)return d[A](...o);let[e,t,r]=o;g.call(this,e,t,r);let i=Wc(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof d))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{},i.ownAttributes)for(let[c,l]of Object.entries(i.ownAttributes)){if((s=i.attributes[c])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${c}" can not be overwritten`);i.attributes[c]=l}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),An=class An extends g{constructor(){super(...arguments);p(this,"_generateDecoder");p(this,"_generateEncoder");p(this,"properties")}extend(t){return Object.setPrototypeOf(t,this),t}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof d?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}generateCodec(t,r,i){let n={...this.properties,...i};if(t==="decode"){let c=this;for(;c;){if(c._generateDecoder)return c._generateDecoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});c=this.base}return Ma}let s=this;for(;s;){if(s._generateEncoder)return s._generateEncoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});s=this.base}return Ma}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n=Sa(this.ownAttributes),s;this.properties&&typeof this.properties.toJSON=="function"?s=this.properties.toJSON(this.properties,this.owner,t):s=this.properties?k(this.properties):{};let c={...r,kind:this.kind,base:i,attributes:n&&Object.keys(n).length?n:void 0,properties:Object.keys(s).length?s:void 0};return Object.keys(this.ownNameMappings).length&&(c.nameMappings={...this.ownNameMappings}),Sa(c,!0)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(An,"SimpleTypeClass");var On=An;d.prototype=On.prototype;Object.assign(d,gn);d[A]=gn;d.Attribute=Na;var Ot,Rn=(Ot=class{constructor(e){p(this,"designType");e&&Object.assign(this,e)}[T](e){let t=wn.isBase64({coerce:!0});return e.designType===Buffer?wn.pipe([t,Yc],{coerce:!0}):e.designType===Uint8Array?wn.pipe([t,Gc],{coerce:!0}):t}[_](){return Xc}},a(Ot,"Base64Type"),Ot);Rn=zc([d({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Jc("design:paramtypes",[Object])],Rn);var Yc=bn(o=>Buffer.from(o,"base64")),Gc=bn(o=>new Uint8Array(Buffer.from(o,"base64"))),Xc=bn(o=>Buffer.isBuffer(o)?o.toString("base64"):Qc(o));import{__decorate as Ia,__metadata as La}from"tslib";import{vg as va}from"valgen";var At,ri=(At=class{constructor(e){p(this,"provider");e&&Object.assign(this,e)}[T](e){return va.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}[_](e){return va.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}},a(At,"CreditCardType"),At);Ia([d.Attribute({description:"Locale to use for validation"}),La("design:type",Object)],ri.prototype,"provider",void 0);ri=Ia([d({name:"creditcard",description:"A Credit Card value",nameMappings:{js:"string",json:"string"}}),La("design:paramtypes",[Object])],ri);import{__decorate as Dn,__metadata as Nn}from"tslib";import{vg as ve}from"valgen";var Pa=ve.isDateString({precisionMin:"day",precisionMax:"day",trim:!0,coerce:!0}),Zc=ve.isDate({trim:"day",coerce:!0}),wt,Tr=(wt=class{constructor(e){p(this,"designType");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t;e.designType===Date?t=Zc:t=Pa;let r=[t];return e.minValue!=null&&r.push(ve.isGte(t(e.minValue))),e.maxValue!=null&&r.push(ve.isLte(t(e.maxValue))),r.length>0?ve.pipe(r,{returnIndex:0}):t}[_](e){let t=Pa,r=[t];return e.minValue!=null&&r.push(ve.isGte(t(e.minValue))),e.maxValue!=null&&r.push(ve.isLte(t(e.maxValue))),r.length>0?ve.pipe(r,{returnIndex:0}):t}},a(wt,"DateType"),wt);Dn([d.Attribute({description:"Minimum value"}),Nn("design:type",String)],Tr.prototype,"minValue",void 0);Dn([d.Attribute({description:"Maximum value"}),Nn("design:type",String)],Tr.prototype,"maxValue",void 0);Tr=Dn([d({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),Nn("design:paramtypes",[Object])],Tr);import{__decorate as Er,__metadata as xr}from"tslib";import{vg as Oe}from"valgen";var Rt,Ze=(Rt=class{constructor(e){p(this,"designType");p(this,"precisionMin");p(this,"precisionMax");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t;e.designType===Date?t=Oe.isDate({coerce:!0}):t=Oe.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0});let r=[t];return e.minValue!=null&&r.push(Oe.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Oe.isLte(t(e.maxValue))),r.length>0?Oe.pipe(r,{returnIndex:0}):t}[_](e){let t=Oe.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0}),r=[t];return e.minValue!=null&&r.push(Oe.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Oe.isLte(t(e.maxValue))),r.length>0?Oe.pipe(r,{returnIndex:0}):t}},a(Rt,"DateTimeType"),Rt);Er([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "day".'}),xr("design:type",String)],Ze.prototype,"precisionMin",void 0);Er([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "ms".'}),xr("design:type",String)],Ze.prototype,"precisionMax",void 0);Er([d.Attribute({description:"Minimum value"}),xr("design:type",String)],Ze.prototype,"minValue",void 0);Er([d.Attribute({description:"Maximum value"}),xr("design:type",String)],Ze.prototype,"maxValue",void 0);Ze=Er([d({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}),xr("design:paramtypes",[Object])],Ze);import{__decorate as Sn,__metadata as Mn}from"tslib";import{vg as He}from"valgen";var ka=He.isDateString({precisionMin:"tz",coerce:!0}),bt,_r=(bt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=ka,r=[t];return e.minValue!=null&&r.push(He.isGte(t(e.minValue))),e.maxValue!=null&&r.push(He.isLte(t(e.maxValue))),r.length>0?He.pipe(r,{returnIndex:0}):t}[_](e){let t=ka,r=[t];return e.minValue!=null&&r.push(He.isGte(t(e.minValue))),e.maxValue!=null&&r.push(He.isLte(t(e.maxValue))),r.length>0?He.pipe(r,{returnIndex:0}):t}},a(bt,"DateTimeTypeTz"),bt);Sn([d.Attribute({description:"Minimum value"}),Mn("design:type",String)],_r.prototype,"minValue",void 0);Sn([d.Attribute({description:"Maximum value"}),Mn("design:type",String)],_r.prototype,"maxValue",void 0);_r=Sn([d({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),Mn("design:paramtypes",[Object])],_r);import{__decorate as Hc,__metadata as el}from"tslib";import{vg as Ca}from"valgen";var Dt,vn=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ca.isEAN({coerce:!0})}[_](){return Ca.isEAN({coerce:!0})}},a(Dt,"EanType"),Dt);vn=Hc([d({name:"ean",description:"An EAN (European Article Number)",nameMappings:{js:"string",json:"string"}}),el("design:paramtypes",[Object])],vn);import{__decorate as de,__metadata as he}from"tslib";import{vg as ja}from"valgen";var Nt,re=(Nt=class{constructor(e){p(this,"allowDisplayName");p(this,"requireDisplayName");p(this,"utf8LocalPart");p(this,"ignoreMaxLength");p(this,"allowIpDomain");p(this,"domainSpecificValidation");p(this,"hostBlacklist");p(this,"hostWhitelist");p(this,"blacklistedChars");e&&Object.assign(this,e)}[T](e){return ja.isEmail({...e,coerce:!0})}[_](e){return ja.isEmail({...e,coerce:!0})}},a(Nt,"EmailType"),Nt);de([d.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),he("design:type",Boolean)],re.prototype,"allowDisplayName",void 0);de([d.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),he("design:type",Boolean)],re.prototype,"requireDisplayName",void 0);de([d.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),he("design:type",Boolean)],re.prototype,"utf8LocalPart",void 0);de([d.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),he("design:type",Boolean)],re.prototype,"ignoreMaxLength",void 0);de([d.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),he("design:type",Boolean)],re.prototype,"allowIpDomain",void 0);de([d.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}),he("design:type",Boolean)],re.prototype,"domainSpecificValidation",void 0);de([d.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."}),he("design:type",Array)],re.prototype,"hostBlacklist",void 0);de([d.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."}),he("design:type",Array)],re.prototype,"hostWhitelist",void 0);de([d.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."}),he("design:type",String)],re.prototype,"blacklistedChars",void 0);re=de([d({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),he("design:paramtypes",[Object])],re);import{__decorate as In,__metadata as Ln}from"tslib";import{toString as tl,validator as rl,vg as il}from"valgen";var St,J=(St=class{constructor(e){p(this,"dataType");p(this,"allowSigns");e&&Object.assign(this,e)}[T](e,{element:t,scope:r}){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=rl("decodeFieldPath",c=>i.normalizeFieldPath(c,{allowSigns:n,scope:r}));return il.pipe([tl,s])}[_](e,t){return this[T](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(St,"FieldPathType"),St);In([d.Attribute({description:"Data type which field belong to"}),Ln("design:type",Object)],J.prototype,"dataType",void 0);In([d.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'}),Ln("design:type",String)],J.prototype,"allowSigns",void 0);J=In([d({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),Ln("design:paramtypes",[Object])],J);import{__decorate as Pn,__metadata as kn}from"tslib";import{validator as Fa}from"valgen";var Mt,et=(Mt=class{constructor(e){p(this,"dataType");p(this,"rules");e&&Object.assign(this,e)}[T](e,{element:t}){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new xt(e.rules):void 0;return ol(r,i)}[_](){return nl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(Mt,"FilterType"),Mt);Pn([d.Attribute({description:"Data type which filtering fields belong to"}),kn("design:type",Object)],et.prototype,"dataType",void 0);Pn([d.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),kn("design:type",Object)],et.prototype,"rules",void 0);et=Pn([d({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),kn("design:paramtypes",[Object])],et);var ol=a((o,e,t)=>Fa("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=hr.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),nl=Fa("encodeFilter",(o,e,t)=>{if(o instanceof hr.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as sl,__metadata as al}from"tslib";import{vg as Ua}from"valgen";var vt,Cn=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ua.isIBAN({coerce:!0})}[_](){return Ua.isIBAN({coerce:!0})}},a(vt,"IbanType"),vt);Cn=sl([d({name:"iban",description:"An IBAN (International Bank Account Number)",nameMappings:{js:"string",json:"string"}}),al("design:paramtypes",[Object])],Cn);import{__decorate as $a,__metadata as Ba}from"tslib";import{vg as Ie}from"valgen";var It,ii=(It=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[T](e){return e!=null&&e.version?Ie.isIP(e==null?void 0:e.version,{coerce:!0}):Ie.oneOf([Ie.isIP("4",{coerce:!0}),Ie.isIP("6",{coerce:!0})])}[_](e){return e!=null&&e.version?Ie.isIP(e==null?void 0:e.version,{coerce:!0}):Ie.oneOf([Ie.isIP("4",{coerce:!0}),Ie.isIP("6",{coerce:!0})])}},a(It,"IpType"),It);$a([d.Attribute({description:"IP version to use for validation"}),Ba("design:type",Object)],ii.prototype,"version",void 0);ii=$a([d({name:"ip",description:"An IP address",nameMappings:{js:"string",json:"string"}}),Ba("design:paramtypes",[Object])],ii);import{__decorate as jn,__metadata as Fn}from"tslib";import{vg as qa}from"valgen";var Lt,gr=(Lt=class{constructor(e){p(this,"locale");p(this,"strictMode");e&&Object.assign(this,e)}[T](e){return qa.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}[_](e){return qa.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}},a(Lt,"MobilePhoneType"),Lt);jn([d.Attribute({description:"Locale to use for validation"}),Fn("design:type",String)],gr.prototype,"locale",void 0);jn([d.Attribute({description:"If this is set to true, the mobile phone number must be supplied with the country code and therefore must start with +. Locale number"}),Fn("design:type",Boolean)],gr.prototype,"strictMode",void 0);gr=jn([d({name:"mobilephone",description:"A Mobile Phone Number value",nameMappings:{js:"string",json:"string"}}),Fn("design:paramtypes",[Object])],gr);import{__decorate as pl,__metadata as cl}from"tslib";import{vg as Ka}from"valgen";var Pt,Un=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ka.isObjectId({coerce:!0})}[_](){return Ka.isObjectId({coerce:!0})}},a(Pt,"ObjectIdType"),Pt);Un=pl([d({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),cl("design:paramtypes",[Object])],Un);import{__decorate as Le,__metadata as Pe}from"tslib";import{omitUndefined as Va}from"@jsopen/objects";import{asMutable as fl}from"ts-gems";import{vg as oi}from"valgen";import{omitUndefined as ll}from"@jsopen/objects";function $n(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(y,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),c=n.fields[i]={...o,designType:s};s===Array?c.isArray=!0:c.type=c.type||s,Reflect.defineMetadata(y,n,r.constructor);for(let l of e)l(c)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(ll({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a($n,"ApiFieldDecoratorFactory");var $=a(function(...o){if(!(this instanceof $)){let[n]=o;return $[A](n)}let[e,t]=o;w.call(this,e);let r=fl(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof F))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.designType=t.designType,r.override=t.override},"ApiField"),qn=class qn extends w{constructor(){super(...arguments);p(this,"origin")}inScope(t){return cr(t,this.scopePattern)}forScope(t){if(!(t&&this.override))return this;this._overrideCache=this._overrideCache||{};let r=this._overrideCache[t];if(r)return r;if(t!=="*"){for(let i of this.override)if(cr(t,i.scopePattern)){r=Va({...i,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:i.scopePattern}),Object.setPrototypeOf(r,this);break}}return r=r||this,this._overrideCache[t]=r,r}toJSON(t){var i;let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Va({type:r||((i=this.type)==null?void 0:i.toJSON(t)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}generateCodec(t,r,i){var s;if(this.fixed)return oi.fixed(this.fixed);let n=((s=this.type)==null?void 0:s.generateCodec(t,r,{...i,designType:this.designType}))||oi.isAny();return this.default!==void 0&&(n=oi.required(n,{default:this.default})),this.isArray&&this.type.kind!==m.ArrayType.Kind&&(n=oi.isArray(n)),n}};a(qn,"ApiFieldClass");var Bn=qn;$.prototype=Bn.prototype;Object.assign($,$n);$[A]=$n;import"reflect-metadata";import{omitUndefined as ul}from"@jsopen/objects";import{asMutable as dl}from"ts-gems";import{omit as ml}from"@jsopen/objects";function Kn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(y,e);r||(r={},Reflect.defineMetadata(y,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,ml(o,["name"]))}}a(Kn,"ComplexTypeDecorator");var ie=a(function(...o){var n;if(!this)return ie[A].apply(void 0,o);let[e,t]=o,r=o[2]||new ue({maxErrors:0});F.call(this,e,t,r);let i=dl(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof F))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new $(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,c]of Object.entries(t.fields)){let l=new $(this,{...c,name:s});this._fields.set(l.name,l)}})},"ComplexType"),Wn=class Wn extends F{constructor(){super(...arguments);p(this,"base")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof F?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n={...r,kind:this.kind,base:this.base?i||this.base.toJSON(t):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof g){let s=this.node.getDataTypeNameWithNs(this.additionalFields);n.additionalFields=s||this.additionalFields.toJSON(t)}else n.additionalFields=this.additionalFields;if(this._fields.size){let s={},c=0;for(let l of this._fields.values())l.origin===this&&l.inScope(t==null?void 0:t.scope)&&(s[l.name]=l.toJSON(t),c++);c&&(n.fields=s)}return ul(n)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Wn,"ComplexTypeClass");var Vn=Wn;ie.prototype=Vn.prototype;Object.assign(ie,Kn);ie[A]=Kn;var kt,ye=(kt=class{constructor(e){e&&Object.assign(this,e)}},a(kt,"OperationResult"),kt);Le([$(),Pe("design:type",String)],ye.prototype,"context",void 0);Le([$(),Pe("design:type",String)],ye.prototype,"type",void 0);Le([$(),Pe("design:type",String)],ye.prototype,"message",void 0);Le([$({type:"any"}),Pe("design:type",Object)],ye.prototype,"payload",void 0);Le([$({type:"object"}),Pe("design:type",Array)],ye.prototype,"errors",void 0);ye=Le([ie({name:"OperationResult",description:"Operation result",additionalFields:!0}),Pe("design:paramtypes",[Object])],ye);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return Le([$({type:t,required:!0}),Pe("design:type",Object)],r.prototype,"payload",void 0),r=Le([ie({embedded:!0}),Pe("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(ye||(ye={}));import{__decorate as zn,__metadata as Jn}from"tslib";import{vg as ni}from"valgen";var hl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Ct,Or=(Ct=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=ni.matches(hl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(ni.isGte(e.minValue)),e.maxValue!=null&&r.push(ni.isLte(e.maxValue)),r.length>0?ni.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[T](e)}},a(Ct,"TimeType"),Ct);zn([d.Attribute({description:"Minimum value"}),Jn("design:type",String)],Or.prototype,"minValue",void 0);zn([d.Attribute({description:"Maximum value"}),Jn("design:type",String)],Or.prototype,"maxValue",void 0);Or=zn([d({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Jn("design:paramtypes",[Object])],Or);import{__decorate as yl,__metadata as Tl}from"tslib";import{vg as Wa}from"valgen";var jt,Qn=(jt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Wa.isURL({coerce:!0})}[_](){return Wa.isURL({coerce:!0})}},a(jt,"UrlType"),jt);Qn=yl([d({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Tl("design:paramtypes",[Object])],Qn);import{__decorate as Ja,__metadata as Qa}from"tslib";import{vg as za}from"valgen";var Ft,si=(Ft=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[T](e){return za.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return za.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(Ft,"UuidType"),Ft);Ja([d.Attribute({description:"Version of the UUID"}),Qa("design:type",Object)],si.prototype,"version",void 0);si=Ja([d({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),Qa("design:paramtypes",[Object])],si);import Nl from"path-browserify";import{omitUndefined as Sl}from"@jsopen/objects";import{asMutable as Ml}from"ts-gems";var oe=Symbol.for("kMap"),Ar=Symbol.for("kCtorMap"),Ya,Ga,Gn=class Gn{constructor(){p(this,Ga,new S);p(this,Ya,new WeakMap)}get size(){return this[oe].size}forEach(e,t){this[oe].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Ar].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(y,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[y];t=i==null?void 0:i.name}if(!t)return;let r=this[oe].get(t);if(r){if(typeof e=="function"&&r.kind==="ComplexType"&&r.ctor!==e)throw new TypeError(`An other data type with same class (${e.name}) already exists.`);return r}}set(e,t){this[oe].set(e,t),t.ctor?this[Ar].set(t.ctor,e):t.instance&&this[Ar].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[oe].has(e.name);let t=typeof e=="string"?e:this[Ar].get(e);return t?this[oe].has(t):!1}keys(){return this[oe].keys()}values(){return this[oe].values()}entries(){return this[oe].entries()}sort(e){return this[oe].sort(e),this}[(Ga=oe,Ya=Ar,Symbol.iterator)](){return this[oe][Symbol.iterator]()}};a(Gn,"DataTypeMap");var W=Gn;import Dl from"@browsery/type-is";import{isConstructor as Ut}from"@jsopen/objects";import gl from"@browsery/type-is";import{omitUndefined as Ol}from"@jsopen/objects";import{asMutable as Al}from"ts-gems";import{isAny as wl,vg as Rl}from"valgen";import"reflect-metadata";import{omitUndefined as El}from"@jsopen/objects";import{asMutable as xl}from"ts-gems";import{vg as ai}from"valgen";var ke=a(function(...o){if(!this)return ke[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=xl(this);i.kind=m.ArrayType.Kind,i.type=t.type,i.minOccurs=t.minOccurs,i.maxOccurs=t.maxOccurs},"ArrayType"),Zn=class Zn extends g{toJSON(e){let t=super.toJSON(e),r=this.node.getDataTypeNameWithNs(this.type);return El({...t,kind:this.kind,type:r||this.type.toJSON(e),minOccurs:this.minOccurs,maxOccurs:this.maxOccurs})}generateCodec(e,t,r){let i=this.type.generateCodec(e,t,r);i=ai.isArray(i);let n=[];return this.minOccurs&&n.push(ai.lengthMin(this.minOccurs)),this.maxOccurs&&n.push(ai.lengthMax(this.maxOccurs)),n.length>0?ai.pipe([i,...n],{returnIndex:0}):i}extendsFrom(){return!1}_locateBase(){}};a(Zn,"ArrayTypeClass");var Xn=Zn;ke.prototype=Xn.prototype;ke[A]=_l;function _l(o,e){let i=class i{};a(i,"ArrayClass");let t=i,r={...e,kind:m.ArrayType.Kind,type:o};return Reflect.defineMetadata(y,r,t),t}a(_l,"ArrayTypeFactory");var Ce=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=Al(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray,t.designType=e.designType},"HttpMediaType"),es=class es extends w{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Ol({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t,r){let i;return this.type?i=this.type.generateCodec(e,t,{designType:this.designType}):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(s=>gl.is(s,["json"]))&&(i=this.node.findDataType("object").generateCodec(e,t,{...r,designType:this.designType})),i=i||wl,this.isArray&&!(this.type instanceof ke)?Rl.isArray(i):i}};a(es,"HttpMediaTypeClass");var Hn=es;Ce.prototype=Hn.prototype;import{omitUndefined as bl}from"@jsopen/objects";function je(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(je,"parseRegExp");var ts=class ts extends Ce{constructor(t,r){super(t,r);p(this,"fieldName");p(this,"fieldType");p(this,"required");this.fieldName=r.fieldName instanceof RegExp?r.fieldName:r.fieldName.startsWith("/")?je(r.fieldName):r.fieldName,this.fieldType=r.fieldType,this.required=r.required}toJSON(t){return bl({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(t)})}};a(ts,"HttpMultipartField");var pi=ts;function I(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(se,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n);Reflect.defineMetadata(se,s,r.constructor)}),"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="cookie"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="header"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="query"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="path"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType??b.json),(n.contentType?Array.isArray(n.contentType)?n.contentType:[n.contentType]:[]).find(c=>c.endsWith("+json")||c.endsWith("+xml")||c.endsWith("+yaml")||c.endsWith("+toml")||Dl.is(c,"json","html","text","xml"))&&(n.contentEncoding=n.contentEncoding??"utf-8"),Ut(n.type)&&(n.designType=n.type),o.push(c=>{c.responses=c.responses||[],c.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||[b.json,b.yaml,b.yaml2,b.toml,b.toml2],i.contentEncoding=i.contentEncoding||"utf-8",Ut(i.type)&&(i.designType=i.type)),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"field",...l}),s},File(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"file",...l}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(I,"HttpOperationDecoratorFactory");var D=a(function(...o){if(!this){let[i]=o,n=[];return D[A].call(void 0,n,i)}let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Ml(this);r.parameters=[],r.responses=[],r.types=r.node[P]=new W,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?k(t.compositionOptions):void 0},"HttpOperation"),is=class is extends w{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:Nl.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=Sl({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(is,"HttpOperationClass");var rs=is;D.prototype=rs.prototype;D[A]=I;D.GET=function(o){return I([],{...o,method:"GET"})};D.DELETE=function(o){return I([],{...o,method:"DELETE"})};D.HEAD=function(o){return I([],{...o,method:"HEAD"})};D.OPTIONS=function(o){return I([],{...o,method:"OPTIONS"})};D.PATCH=function(o){return I([],{...o,method:"PATCH"})};D.POST=function(o){return I([],{...o,method:"POST"})};D.PUT=function(o){return I([],{...o,method:"PUT"})};D.SEARCH=function(o){return I([],{...o,method:"SEARCH"})};import{omitUndefined as vl}from"@jsopen/objects";var os=class os extends w{constructor(t){super(t);p(this,"description");p(this,"content",[]);p(this,"required");p(this,"maxContentSize");p(this,"immediateFetch");p(this,"partial");p(this,"allowPatchOperators");p(this,"keepKeyFields");p(this,"allowNullOptionals")}toJSON(t){return vl({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(r=>r.toJSON(t)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators,allowNullOptionals:this.allowNullOptionals})}};a(os,"HttpRequestBody");var ci=os;D.Entity={};function z(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(y,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(z,"getDataTypeName");function Fe(o,e){return(t,r)=>{let i=typeof r=="string"||typeof r=="function"?{name:t,location:"path",type:r,keyParam:!0}:{...r,name:t,location:"path",keyParam:!0};return o.PathParam(t,i),e.push(n=>{var s;(s=n.path)!=null&&s.includes(":"+t)||(n.path=(n.path||"")+"@:"+t),n.mergePath=!0}),o}}a(Fe,"createKeyParamDecorator");function Xa(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,c)=>{let l=c.split(":");return s[l[0]]=l[1]||l[0],s},{}),i=Object.keys(r).reduce((s,c)=>{let l=gt.exec(c),u=gt.exec(r[c]);return l&&u&&(s[l[2]]=u[2]),s},{}),n=Object.keys(r).reduce((s,c)=>{let l=gt.exec(c);return l&&(l[1]!="-"&&(s[l[2]]=l[2]),l[1]!="+"&&(s["-"+l[2]]="-"+l[2])),s},{});return e.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:te(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(c=>{let l=gt.exec(c);return l?(l[1]||"")+i[l[2]]:c}),"parser")}),o}}a(Xa,"createSortFieldsDecorator");function Ue(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new xt,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new et({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let c=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(c.operators=c.operators||["=","!="],n.includes(":")){let l=n.split(":");n=l[0],c.mappedField=l[1]}return e.push(()=>{r.set(n,c),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(Ue,"createFilterDecorator");D.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i};D.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.Filter=Ue(i,r,t.type),i};var hs={};Lr(hs,{AnyType:()=>ns,BigintType:()=>ls,BooleanType:()=>fs,IntegerType:()=>Wt,NullType:()=>us,NumberType:()=>Ae,ObjectType:()=>ds,StringType:()=>tt});import{__decorate as Il,__metadata as Ll}from"tslib";import{isAny as Za}from"valgen";var $t,ns=($t=class{constructor(e){e&&Object.assign(this,e)}[T](){return Za}[_](){return Za}},a($t,"AnyType"),$t);ns=Il([d({name:"any",description:"Represents any value"}),Ll("design:paramtypes",[Object])],ns);import{__decorate as Pl,__metadata as kl}from"tslib";import{toBigint as ep,vg as cs}from"valgen";import{__decorate as as,__metadata as ps}from"tslib";import{toNumber as Ha,vg as ss}from"valgen";var Bt,Ae=(Bt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue!=null&&t.push(ss.isGte(e.minValue)),e.maxValue!=null&&t.push(ss.isLte(e.maxValue)),t.length>0?ss.pipe([Ha,...t],{returnIndex:0}):Ha}[_](e){return this[T](e)}},a(Bt,"NumberType"),Bt);as([d.Attribute({description:"Determines the minimum value"}),ps("design:type",Number)],Ae.prototype,"minValue",void 0);as([d.Attribute({description:"Determines the maximum value"}),ps("design:type",Number)],Ae.prototype,"maxValue",void 0);Ae=as([d({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),ps("design:paramtypes",[Object])],Ae);var qt,ls=(qt=class extends Ae{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(cs.isGte(e.minValue)),e.maxValue!=null&&t.push(cs.isLte(e.maxValue)),t.length>0?cs.pipe([ep,...t],{returnIndex:0}):ep}[_](e){return this[T](e)}},a(qt,"BigintType"),qt);ls=Pl([d({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),kl("design:paramtypes",[Object])],ls);import{__decorate as Cl,__metadata as jl}from"tslib";import{toBoolean as tp}from"valgen";var Kt,fs=(Kt=class{constructor(e){e&&Object.assign(this,e)}[T](){return tp}[_](){return tp}},a(Kt,"BooleanType"),Kt);fs=Cl([d({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),jl("design:paramtypes",[Object])],fs);import{__decorate as Fl,__metadata as Ul}from"tslib";import{toInteger as rp,vg as ms}from"valgen";var Vt,Wt=(Vt=class extends Ae{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(ms.isGte(e.minValue)),e.maxValue!=null&&t.push(ms.isLte(e.maxValue)),t.length>0?ms.pipe([rp,...t],{returnIndex:0}):rp}[_](e){return this[T](e)}},a(Vt,"IntegerType"),Vt);Wt=Fl([d({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Ul("design:paramtypes",[Object])],Wt);import{__decorate as $l,__metadata as Bl}from"tslib";import{isNull as ip}from"valgen";var zt,us=(zt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ip}[_](){return ip}},a(zt,"NullType"),zt);us=$l([d({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),Bl("design:paramtypes",[Object])],us);import{__decorate as ql,__metadata as Kl}from"tslib";var Jt,ds=(Jt=class{constructor(e){e&&Object.assign(this,e)}},a(Jt,"ObjectType"),Jt);ds=ql([ie({name:"object",description:"A non modelled object",additionalFields:!0}),Kl("design:paramtypes",[Object])],ds);import{__decorate as wr,__metadata as Rr}from"tslib";import{toString as op,vg as li}from"valgen";var Qt,tt=(Qt=class{constructor(e){p(this,"pattern");p(this,"patternName");p(this,"minLength");p(this,"maxLength");e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(y,Object.getPrototypeOf(this).constructor).name),t.push(li.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(li.lengthMin(e.minLength)),e.maxLength&&t.push(li.lengthMax(e.maxLength)),t.length>0?li.pipe([op,...t],{returnIndex:0}):op}[_](e){return this[T](e)}},a(Qt,"StringType"),Qt);wr([d.Attribute({description:"Regex pattern to be used for validation"}),Rr("design:type",Object)],tt.prototype,"pattern",void 0);wr([d.Attribute({description:"Name of the pattern"}),Rr("design:type",String)],tt.prototype,"patternName",void 0);wr([d.Attribute({description:"Minimum number of characters"}),Rr("design:type",Number)],tt.prototype,"minLength",void 0);wr([d.Attribute({description:"Minimum number of characters"}),Rr("design:type",Number)],tt.prototype,"maxLength",void 0);tt=wr([d({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),Rr("design:paramtypes",[Object])],tt);D.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:b.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Wt({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Wt({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=Ue(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.defaultSort=n}),i),i.SortFields=Xa(i,r),i};D.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i.KeyParam=Fe(i,r),i.Filter=Ue(i,r,t.type),i};D.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i.Filter=Ue(i,r,t.type),i};import{merge as ys}from"@jsopen/objects";var Vl=/^(.*)(Controller)$/,np=[];function Yt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Vl.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&ys(n,s,{deep:!0});let c=Reflect.getOwnMetadata(ae,r);c&&ys(n,c,{deep:!0}),ys(n,{...o,kind:m.MQController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),np.forEach(r=>r(t,e,o)),t}a(Yt,"MQControllerDecoratorFactory");Yt.augment=function(o){np.push(o)};import{isConstructor as sp,omit as zl}from"@jsopen/objects";var ap=[];function br(o,e,t){let r=!1,i=a(((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let c={kind:m.MQOperation.Kind,channel:s,type:e,...zl(t,["kind","type"])},l=Reflect.getOwnMetadata(ae,n.constructor)||{};l.operations=l.operations||{},l.operations[s]=c;for(let u of o)u(c,n,s);Reflect.defineMetadata(ae,l,n.constructor)}),"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(c=>{let l=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n};sp(l.type)&&(l.designType=l.type);let u=r?c.response:c;u.headers?u.headers=u.headers.filter(E=>String(E.name)!==String(n)):u.headers=[],u.headers.push(l)}),i),i.Response=(n,s)=>(o.push(c=>{r=!0,c.response={...s,type:n},sp(n)&&(c.response.designType=n)}),i),ap.forEach(n=>n(i,o,e,t)),i}a(br,"MQOperationDecoratorFactory");br.augment=function(o){ap.push(o)};import{merge as Ts}from"@jsopen/objects";var Ql=/^(.*)(Controller)$/,pp=[];function Gt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Ql.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(pe,Object.getPrototypeOf(r));s&&Ts(n,s,{deep:!0});let c=Reflect.getOwnMetadata(pe,r);c&&Ts(n,c,{deep:!0}),Ts(n,{...o,kind:m.WSController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(pe,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(pe,n,r)},"decorator");return t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),pp.forEach(r=>r(t,e,o)),t}a(Gt,"WSControllerDecoratorFactory");Gt.augment=function(o){pp.push(o)};import{omit as Gl}from"@jsopen/objects";var cp=[];function Dr(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:m.WSOperation.Kind,event:i,...Gl(e,["kind"])},s=Reflect.getOwnMetadata(pe,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n,r,i);Reflect.defineMetadata(pe,s,r.constructor)}),"decorator");return t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),cp.forEach(r=>r(t,o,e)),t}a(Dr,"WSOperationDecoratorFactory");Dr.augment=function(o){cp.push(o)};import"reflect-metadata";import{omitUndefined as Zl}from"@jsopen/objects";import{asMutable as Hl}from"ts-gems";function fi(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(fi,"getIsInheritedPredicateFn");var rt=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;F.call(this,e,t,r);let i=Hl(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof F))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(u=>i.base.normalizeFieldPath(u)):t.omit?i.omit=t.omit.map(u=>i.base.normalizeFieldPath(u)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(u=>i.base.normalizeFieldPath(u)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(u=>i.base.normalizeFieldPath(u)):t.required);let s=fi(i.pick,i.omit),c=Array.isArray(i.partial)?i.partial.map(u=>u.toLowerCase()):i.partial,l=Array.isArray(i.required)?i.required.map(u=>u.toLowerCase()):i.required;for(let[u,E]of i.base.fieldEntries("*")){if(!s(u))continue;let O={...E};c===!0||Array.isArray(c)&&c.includes(E.name.toLowerCase())?O.required=!1:(l===!0||Array.isArray(l)&&l.includes(E.name.toLowerCase()))&&(O.required=!0);let x=new $(this,O);i._fields.set(x.name,x)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),xs=class xs extends F{constructor(){super(...arguments);p(this,"omit");p(this,"pick");p(this,"partial");p(this,"required")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof F?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Zl({...r,base:i||this.base.toJSON(t),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(xs,"MappedTypeClass");var Es=xs;rt.prototype=Es.prototype;rt._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as ef}from"@jsopen/objects";import{asMutable as tf}from"ts-gems";var Xt=a(function(...o){if(!this)return Xt[A].apply(void 0,o);let[e,t,r]=o;F.call(this,e,t,r);let i=tf(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let c=new $(this,s);i._fields.set(c.name,c)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),gs=class gs extends F{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof F))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return ef({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a(gs,"MixinTypeClass");var _s=gs;Xt.prototype=_s.prototype;Xt[A]=rf;function rf(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)Cr(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(y,i,r);for(let n of o){let s=Reflect.getMetadata(y,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),kr(r.prototype,n.prototype)}return r}a(rf,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as of}from"@jsopen/objects";import{asMutable as nf}from"ts-gems";import{vg as lp}from"valgen";var Zt=a(function(...o){if(!this)return Zt[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=nf(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),As=class As extends g{toJSON(e){let t=super.toJSON(e);return of({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:lp.isEqual(i.discriminatorValue)}]:n});return lp.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(As,"UnionTypeClass");var Os=As;Zt.prototype=Os.prototype;Zt[A]=sf;function sf(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(y,r,t),t}a(sf,"UnionTypeFactory");var ws=Symbol("initializing"),mi=class mi{static async createDataType(e,t,r){e=e||new ue({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await mi.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[P];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new ue({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let l of i)n.set(l.name,l);let s=e.extend({initArgsMap:n}),c=[];for(let[l,u]of n.entries())e.enter(`[${l}]`,()=>{if(!n.has(l))return;let E=this._createDataType(s,t,u);E&&c.push(E)});return c}static async _prepareAllInitArgs(e,t,r){let i=new S,n=new S,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[P])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let c=0;for(let l of r)await s.enterAsync(`$[${c++}]`,async()=>{l=await Z(l);let u=Reflect.getMetadata(y,l)||l[y];if(!(u&&u.name))return typeof l=="function"?s.addError(`Class "${l.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(u.name,l)})}else{let c,l;for([l,c]of Object.entries(r))c=await Z(c),i.set(l,typeof c=="object"?{...c,name:l}:c)}for(let c of Array.from(i.keys())){if(!i.has(c))continue;let l=await this._importDataTypeArgs(s,t,c);l&&typeof l!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var O;r=await Z(r);let{importQueue:n,initArgsMap:s}=e,c=t.node.findDataType(r);if(c instanceof g)return c.name;let l,u,E;if(typeof r!="string"){let U=t.node.getDocument().types[jr].get(r);U&&(r=U)}if(typeof r=="string"){let x=r;if(r=(n==null?void 0:n.get(x))||((O=e.initArgsMap)==null?void 0:O.get(x)),!r)return e.addError(`Unknown data type (${x})`)}if(typeof r=="function"){if(l=Reflect.getMetadata(y,r),!l)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);u=r}else if(typeof r=="object"){if(l=r[y],l)E=r,l.kind!==m.EnumType.Kind&&(l=void 0);else if(m.isDataType(r))l=r,u=l.ctor;else if(u=Object.getPrototypeOf(r).constructor,l=u&&Reflect.getMetadata(y,u),l&&l.kind===m.SimpleType.Kind){let x=await this._importDataTypeArgs(e,t,l.name);return x?typeof x=="object"&&x.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:x,properties:r}:void 0}}return l?e.enterAsync(l.name?`[${l.name}]`:"",async()=>{if(l.name){let U=s==null?void 0:s.get(l.name);if(U)return i&&U[ws]?e.addError("Circular reference detected"):l.name}let x={kind:l.kind,name:l.name};x[ws]=!0;try{if(x.name)if(n!=null&&n.has(x.name))s==null||s.set(l.name,x),x._instance={name:l.name},x[P]=t.node[P];else return e.addError(`Data Type (${x.name}) must be explicitly added to type list in the document scope`);switch(x.kind){case m.ArrayType.Kind:await this._prepareArrayTypeArgs(e,t,x,l);break;case m.ComplexType.Kind:x.ctor=u,await this._prepareComplexTypeArgs(e,t,x,l);break;case m.EnumType.Kind:x.instance=E,await this._prepareEnumTypeArgs(e,t,x,l);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,x,l);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,x,l);break;case m.SimpleType.Kind:x.ctor=u,await this._prepareSimpleTypeArgs(e,t,x,l);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,x,l);break;default:return e.addError(`Invalid data type kind ${l.kind}`)}}finally{x.name&&(n==null||n.delete(x.name)),delete x[ws]}return n&&x.name?x.name:x}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareArrayTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".type",async()=>{let n=await this._importDataTypeArgs(e,t,i.type);n&&(r.type=we(n))})}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=we(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=we(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let c=typeof s=="string"?{type:s}:s;if(c.isArray&&!c.type)return e.addError('"type" must be defined explicitly for array fields');let l=await this._importDataTypeArgs(e,t,c.type||"any");l&&(r.fields[n]={...c,type:we(l)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=we(n))}),r.attributes=k(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,c,l;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let u;if(i.base)u=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let E=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,E)&&(u=await this._importDataTypeArgs(e,t,E))}u&&(r.base=we(u),r.ctor=r.ctor||u.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=k(i.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[T].bind(r.properties)),typeof((c=r.properties)==null?void 0:c[_])=="function"&&(r.generateEncoder=(l=r.properties)==null?void 0:l[_].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=we(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(we(l))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(we(l))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof g)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let c=n[P];switch(c||delete n._instance,i=n._instance,i!=null&&i.name&&c&&c.set(i.name,i),n==null?void 0:n.kind){case m.ArrayType.Kind:return this._createArrayType(e,t,n);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);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createArrayType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ke.prototype);let n=k(r);return r.type&&e.enter(".type",()=>{n.type=this._createDataType(e,t,r.type)}),ke.apply(i,[t,n]),i}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ie.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,c]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let l=this._createDataType(e,t,c.type);l&&(n.fields[s]={...c,name:s,type:l})})}),ie.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,te.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,te.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,rt.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),rt.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Xt.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);if(!(l instanceof F))throw new TypeError(`"${l==null?void 0:l.kind}" can't be set as base for a "${n.kind}"`);n.types.push(l)})}),Xt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,d.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),d.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Zt.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);n.types.push(l)})}),Zt.apply(i,[t,n]),i}};a(mi,"DataTypeFactory");var M=mi;function we(o){return typeof o=="object"&&o.name?o.name:o}a(we,"preferName");import{isConstructor as _f}from"@jsopen/objects";import{omitUndefined as pf}from"@jsopen/objects";var Rs=class Rs extends w{constructor(t){super(t.owner);p(this,"name","OpraApi");p(this,"description");this.name=t.name,this.description=t.description}toJSON(t){return pf({transport:this.transport,name:this.name,description:this.description})}async _initialize(t,r){if(!j.test(t.name))throw new TypeError(`Invalid api name (${t.name})`);this.name=t.name,this.description=t==null?void 0:t.description}};a(Rs,"ApiBase");var $e=Rs;import hf from"path-browserify";import{omitUndefined as yf}from"@jsopen/objects";import{asMutable as Tf}from"ts-gems";import{merge as bs,omit as cf}from"@jsopen/objects";var lf=/^(.*)(Controller)$/;function Ds(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=lf.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(se,Object.getPrototypeOf(r));s&&bs(n,s,{deep:!0});let c=Reflect.getOwnMetadata(se,r);c&&bs(n,c,{deep:!0}),bs(n,{kind:m.HttpController.Kind,name:i,path:i,...cf(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(se,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(se,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var c;(c=n.path)!=null&&c.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(Ds,"HttpControllerDecoratorFactory");import{omitUndefined as uf}from"@jsopen/objects";import{asMutable as df}from"ts-gems";import{vg as fp}from"valgen";import{omitUndefined as ff}from"@jsopen/objects";import{asMutable as mf}from"ts-gems";var it=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=mf(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Ss=class Ss extends w{constructor(){super(...arguments);p(this,"type");p(this,"description");p(this,"examples");p(this,"isArray")}toJSON(t){let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ff({type:this.type?r||this.type.toJSON(t):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Ss,"ValueClass");var Ns=Ss;it.prototype=Ns.prototype;var Nr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');it.call(this,o,e);let t=df(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?je(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.default=e.default,t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser,t.designType=e.designType},"HttpParameter"),vs=class vs extends it{toJSON(e){return uf({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,default:this.default,deprecated:this.deprecated})}generateCodec(e,t,r){var n;let i=((n=this.type)==null?void 0:n.generateCodec(e,t,{...r,designType:this.designType}))||fp.isAny();return this.default!==void 0?fp.required(i,{default:this.default}):i}};a(vs,"HttpParameterClass");var Ms=vs;Nr.prototype=Ms.prototype;var ne=a(function(...o){var i;if(!this)return ne[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Tf(this);r.kind=m.HttpController.Kind,r.types=r.node[P]=new W,r.operations=new S,r.controllers=new S,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Ls=class Ls extends w{get isRoot(){return!(this.owner instanceof ne)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof ne)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return hf.posix.join(this.owner instanceof ne?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=yf({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[Ne](){return`[${Se}HttpController${Me+this.name+ge}]`}};a(Ls,"HttpControllerClass");var Is=Ls;ne.prototype=Is.prototype;Object.assign(ne,Ds);ne[A]=Ds;var Ps=class Ps extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","http");p(this,"controllers",new S);p(this,"url");this.url=t.url}findController(t){return ne.prototype.findController.call(this,t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(t){let i={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let n of this.controllers.values())i.controllers[n.name]=n.toJSON(t);return i}};a(Ps,"HttpApi");var ot=Ps;import{omitUndefined as xf}from"@jsopen/objects";var Ef=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,ks=class ks{constructor(e,t){p(this,"start",0);p(this,"end",0);if(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=Ef.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a(ks,"HttpStatusRange");var Sr=ks;var Cs=class Cs extends Ce{constructor(t,r){super(t,r);p(this,"statusCode");p(this,"parameters");p(this,"partial");this.parameters=[],this.statusCode=(Array.isArray(r.statusCode)?r.statusCode:[r.statusCode]).map(i=>typeof i=="object"?new Sr(i.start,i.end):new Sr(i)),this.partial=r.partial}findParameter(t,r){t=t.toLowerCase();for(let i of this.parameters)if((!r||r===i.location)&&(i.name instanceof RegExp&&i.name.test(t)||i.name===t))return i}toJSON(t){let r=this.statusCode.map(n=>n.toJSON()),i=xf({...super.toJSON(t),statusCode:r.length===1&&typeof r[0]=="number"?r[0]:r,partial:this.partial});if(this.parameters.length){i.parameters=[];for(let n of this.parameters)i.parameters.push(n.toJSON(t))}return i}};a(Cs,"HttpOperationResponse");var ui=Cs;var js=class js{static async createApi(e,t){let r=new ot(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let c=await this._createController(e,t,s.metadata,s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(c.name,c))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let c=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(c.name,c))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!_f(r)&&(r=t instanceof ne?r(t.instance):r()),r=await Z(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(se,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(se,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new ne(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let c=0;for(let l of r.parameters)await e.enterAsync(`[${c++}]`,async()=>{let u={...l};await e.enterAsync(".type",async()=>{u.type=await M.resolveDataType(e,s,l.type)});let E=new Nr(s,u);s.parameters.push(E)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[c,l]of Object.entries(r.operations))await e.enterAsync(`[${c}]`,async()=>{let u=new D(s,{name:c,method:"GET"});await this._initHttpOperation(e,u,l),s.operations.set(c,u)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let c={...s};await e.enterAsync(".type",async()=>{c.type=await M.resolveDataType(e,t,s.type)});let l=new Nr(t,c);t.parameters.push(l)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let c=new ui(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,c,s),t.responses.push(c)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new ci(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Ce.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await M.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new pi(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Nr(t,s);t.parameters.push(c)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.allowNullOptionals=r.allowNullOptionals,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new Ce(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(js,"HttpApiFactory");var Ht=js;import{omitUndefined as Mf}from"@jsopen/objects";import{md5 as vf}from"super-fast-md5";import{omitUndefined as Of}from"@jsopen/objects";import{asMutable as Af}from"ts-gems";var nt=a(function(...o){var i;if(!this)return nt[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Af(this);r.kind=m.MQController.Kind,r.types=r.node[P]=new W,r.operations=new S,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"MQController"),Us=class Us extends w{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof nt)return this.node.parent.element.findHeader(e,t)}toString(){return`[MQController ${this.name}]`}toJSON(){let e=Of({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}[Ne](){return`[${Se}MQController${Me+this.name+ge}]`}};a(Us,"MQControllerClass");var Fs=Us;nt.prototype=Fs.prototype;Object.assign(nt,Yt);nt[A]=Yt;import{omitUndefined as wf}from"@jsopen/objects";import{asMutable as Rf}from"ts-gems";import{vg as mp}from"valgen";var Mr=a(function(...o){if(!this){let[i,n]=o,s=[];return Mr[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Rf(this);r.headers=[],r.types=r.node[P]=new W,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.type&&(r.type=(t==null?void 0:t.type)instanceof g?t.type:r.owner.node.getDataType(t.type)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType)),r.designType=t.designType,r.keyDesignType=t.keyDesignType},"MQOperation"),Bs=class Bs extends w{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=wf({kind:m.MQOperation.Kind,description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.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}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||mp.isAny()}generateKeyCodec(e,t,r){var i;return((i=this.keyType)==null?void 0:i.generateCodec(e,t,{...r,designType:this.keyDesignType}))||mp.isAny()}};a(Bs,"MQOperationClass");var $s=Bs;Mr.prototype=$s.prototype;Mr[A]=br;var qs=class qs extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","mq");p(this,"platform");p(this,"controllers",new S);this.platform=t.platform}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(qs,"MQApi");var st=qs;import{omitUndefined as bf}from"@jsopen/objects";import{asMutable as Df}from"ts-gems";var er=a(function(...o){var i;if(!this)return er[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Df(this);r.kind=m.WSController.Kind,r.types=r.node[P]=new W,r.operations=new S,r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"WSController"),Vs=class Vs extends w{toString(){return`[WSController ${this.name}]`}toJSON(){let e=bf({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()}return e}[Ne](){return`[${Se}WSController${Me+this.name+ge}]`}};a(Vs,"WSControllerClass");var Ks=Vs;er.prototype=Ks.prototype;Object.assign(er,Gt);er[A]=Gt;import{omitUndefined as Nf}from"@jsopen/objects";import{asMutable as Sf}from"ts-gems";var vr=a(function(...o){if(!this){let[i,n]=o,s=[];return vr[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Sf(this);r.types=r.node[P]=new W,r.name=t.name,r.description=t.description,t.event?this.event=t.event instanceof RegExp?t.event:t.event.startsWith("/")?je(t.event):t.event:r.event=this.name,t!=null&&t.arguments?r.arguments=t.arguments.map(i=>({type:i.type instanceof g?i.type:r.owner.node.getDataType(i.type),parameterIndex:i.parameterIndex})):r.arguments=[],t!=null&&t.response&&(r.response=t.response instanceof g?t.response:r.owner.node.getDataType(t.response))},"WSOperation"),zs=class zs extends w{toJSON(){var e;return Nf({kind:m.WSOperation.Kind,description:this.description,event:this.event,arguments:(e=this.arguments)==null?void 0:e.map(t=>t.type.name?t.type.name:t.type.toJSON())})}};a(zs,"WSOperationClass");var Ws=zs;vr.prototype=Ws.prototype;vr[A]=Dr;var Js=class Js extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","ws");p(this,"controllers",new S)}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(Js,"WSApi");var at=Js;var up,dp,Qs=class Qs extends(dp=w,up=Re,dp){constructor(){super(null);p(this,up,new WeakMap);p(this,"id","");p(this,"url");p(this,"info",{});p(this,"references",new S);p(this,"types",new W);p(this,"api");this.node[P]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(t){let r=t instanceof g?this._findDataType(t.name||""):this._findDataType(t);if(r)return this[Re].get(r)}findDocument(t){if(this.id===t)return this;for(let r of this.references.values()){if(r.id===t)return r;let i=r.findDocument(t);if(i)return i}}get httpApi(){if(this.api&&this.api instanceof ot)return this.api}get mqApi(){if(this.api&&this.api instanceof st)return this.api}get wsApi(){if(this.api&&this.api instanceof at)return this.api}getHttpApi(){if(!(this.api&&this.api instanceof ot))throw new TypeError("The document do not contains HttpApi instance");return this.api}getMqApi(){if(!(this.api&&this.api instanceof st))throw new TypeError("The document do not contains MQApi instance");return this.api}getWsApi(){if(!(this.api&&this.api instanceof at))throw new TypeError("The document do not contains WSApi instance");return this.api}toJSON(){return this.export()}export(t){let r=Mf({spec:m.SpecVersion,id:this.id,url:this.url,info:k(this.info,!0)});if(this.references.size){let i=0,n={};for(let[s,c]of this.references.entries())c[Ve]||(n[s]={id:c.id,url:c.url,info:k(c.info,!0)},i++);i&&(r.references=n)}if(this.types.size){r.types={};for(let i of this.types.values())i.inScope(t==null?void 0:t.scope)&&(r.types[i.name]=i.toJSON(t))}return this.api&&(r.api=this.api.toJSON(t)),r}invalidate(){let t=this.export({});delete t.id,this.id=vf(JSON.stringify(t)),this[Re]=new WeakMap}_findDataType(t,r,i){let n=this.types.get(t);if(n&&n.inScope(r))return n;if(!this.references.size)return;if(typeof t=="string"){let c=Ea.exec(t);if(c){let l=c[1];if(l){let u=this.references.get(l);return u?(i=i||new WeakMap,i.set(this,!0),i.set(u,!0),u._findDataType(c[2],r,i)):void 0}t=c[2]}}i=i||new WeakMap,i.set(this,!0);let s=Array.from(this.references.keys()).reverse();for(let c of s){let l=this.references.get(c);if(n=l==null?void 0:l.types.get(t),n)return this[Re].set(n,l!=null&&l[Ve]?"":c),n}for(let c of s){let l=this.references.get(c);if(i.set(l,!0),n=l._findDataType(t,r,i),n)return this[Re].set(n,l!=null&&l[Ve]?"":c),n}}};a(Qs,"ApiDocument");var pt=Qs;function Be(o,e,t){let r=fi(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&Cr(this,o,r)}}}[n];if(typeof o=="function"&&kr(s.prototype,o.prototype),typeof o=="function"){let l=Reflect.getOwnMetadata(y,o);if(!l)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(l.kind===m.ComplexType.Kind||l.kind===m.MappedType.Kind||l.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let c={...t,kind:"MappedType",base:o};return e.pick&&(c.pick=e.pick),e.omit&&(c.omit=e.omit),e.partial&&(c.partial=e.partial),e.required&&(c.required=e.required),Reflect.defineMetadata(y,c,s),typeof o=="function"&&rt._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(Be,"createMappedClass");function YR(o,e,t){return Be(o,{omit:e},t)}a(YR,"OmitType");function HR(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Be(o,{partial:t},r)}a(HR,"PartialType");function ib(o,e,t){return Be(o,{pick:e},t)}a(ib,"PickType");function ab(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Be(o,{required:t},r)}a(ab,"RequiredType");function fb(o,e){return(t,r,i)=>{if(typeof r!="string")throw new TypeError("Un-named properties can not be decorated");if(!o&&(o=Reflect.getMetadata("design:paramtypes",t,r)[i],!o))throw new TypeError("Missing parameter type");let n=Reflect.getOwnMetadata(ir,t,r);n||(n=[],Reflect.defineMetadata(ir,n,t,r)),n.push({...e,type:o,parameterIndex:i})}}a(fb,"WsParam");import{updateErrorMessage as Ff}from"@jsopen/objects";import{isConstructor as Cf}from"@jsopen/objects";import{omitUndefined as If}from"@jsopen/objects";import{asMutable as Lf}from"ts-gems";import{vg as Pf}from"valgen";var Ir=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');it.call(this,o,e);let t=Lf(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?je(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required,t.designType=e.designType},"MQHeader"),Gs=class Gs extends it{toJSON(){return If({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||Pf.isAny()}};a(Gs,"MQHeaderClass");var Ys=Gs;Ir.prototype=Ys.prototype;import{omitUndefined as kf}from"@jsopen/objects";var Xs=class Xs extends w{constructor(t,r){super(t);p(this,"channel");p(this,"description");p(this,"type");p(this,"keyType");p(this,"headers",[]);p(this,"designType");p(this,"keyDesignType");this.channel=r==null?void 0:r.channel,this.description=r==null?void 0:r.description,r!=null&&r.type?this.type=(r==null?void 0:r.type)instanceof g?r.type:this.owner.node.getDataType(r.type):this.type=this.owner.node.getDataType("any"),r!=null&&r.keyType&&(this.keyType=(r==null?void 0:r.keyType)instanceof g?r.keyType:this.owner.node.getDataType(r.keyType)),this.designType=r==null?void 0:r.designType,this.keyDesignType=r==null?void 0:r.keyDesignType}findHeader(t){let r=t.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(t))return i}toJSON(){let t=kf({description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){t.headers=[];for(let r of this.headers)t.headers.push(r.toJSON())}return t}};a(Xs,"MQOperationResponse");var di=Xs;var Zs=class Zs{static async createApi(e,t){let r=new st(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!Cf(r)&&(r=r()),r=await Z(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(ae,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid MQController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(ae,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with MQController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new nt(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let u=0;for(let E of s.headers)await e.enterAsync(`[${u++}]`,async()=>{let O={...E};await e.enterAsync(".type",async()=>{E.type&&(O.type=l.node.findDataType(E.type)),!O.type&&typeof E.type=="object"&&(O.type=await M.createDataType(e,l,E.type)),O.type||(O.type=l.node.getDataType("any"))});let x=new Ir(l,O);l.headers.push(x)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[u,E]of Object.entries(s.operations))await e.enterAsync(`[${u}]`,async()=>{let O=new Mr(l,{...E,name:u,types:void 0,type:void 0,keyType:void 0});await this._initMQOperation(e,O,E),l.operations.set(O.name,O)})}),l}static async _initMQOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Ir(t,s);t.headers.push(c)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new di(t,{...r.response,type:void 0,keyType:void 0});await this._initMQOperationResponse(e,i,r.response),t.response=i})}static async _initMQOperationResponse(e,t,r){t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Ir(t,s);t.headers.push(c)})})}};a(Zs,"MQApiFactory");var hi=Zs;import{isConstructor as jf}from"@jsopen/objects";var Hs=class Hs{static async createApi(e,t){let r=new at(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!jf(r)&&(r=r()),r=await Z(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(pe,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid WSController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(pe,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with WSController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new er(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[u,E]of Object.entries(s.operations))await e.enterAsync(`[${u}]`,async()=>{let O=Reflect.getMetadata(ir,n.prototype,u),x=E;O&&(x={...x,arguments:O});let U=new vr(l,{...x,name:u,types:void 0,type:void 0,keyType:void 0,arguments:void 0,response:void 0});await this._initWSOperation(e,U,x),l.operations.set(u,U)})}),l}static async _initWSOperation(e,t,r){var i;r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),(i=r.arguments)!=null&&i.length&&(await e.enterAsync(".arguments",async()=>{var s;t.arguments=[];let n;for(n of r.arguments){let c={};typeof n=="object"&&n.type&&n.parameterIndex!==null?Object.assign(c,n):c.type=n;let l=await M.resolveDataType(e,t,c.type);(s=t.arguments)==null||s.push({type:l,parameterIndex:c.parameterIndex})}}),t.arguments.sort((n,s)=>n.parameterIndex-s.parameterIndex)),r.response&&await e.enterAsync(".response",async()=>{t.response=await M.resolveDataType(e,t,r.response)})}};a(Hs,"WSApiFactory");var yi=Hs;var Uf="https://oprajs.com/spec/v"+m.SpecVersion,Ti=class Ti{constructor(){p(this,"_allDocuments",{})}static async createDocument(e,t){let r=new Ti,i=t instanceof ue?t:new ue(t);try{let n=new pt;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof Tt||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length,c=`(${s}) error${s>1?"s":""} found in document schema.`;i.showErrorDetails&&(c+=i.error.details.map(l=>`
6
+ var Pp=Object.create;var ir=Object.defineProperty;var Cp=Object.getOwnPropertyDescriptor;var kp=Object.getOwnPropertyNames;var jp=Object.getPrototypeOf,Fp=Object.prototype.hasOwnProperty;var Up=(o,e,t)=>e in o?ir(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e)=>ir(o,"name",{value:e,configurable:!0});var $p=(o,e)=>()=>{try{return e||o((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},kr=(o,e)=>{for(var t in e)ir(o,t,{get:e[t],enumerable:!0})},Bp=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of kp(e))!Fp.call(o,i)&&i!==t&&ir(o,i,{get:()=>e[i],enumerable:!(r=Cp(e,i))||r.enumerable});return o};var qp=(o,e,t)=>(t=o!=null?Pp(jp(o)):{},Bp(e||!o||!o.__esModule?ir(t,"default",{value:o,enumerable:!0}):t,o));var p=(o,e,t)=>Up(o,typeof e!="symbol"?e+"":e,t);var Fa=$p((Rd,Bi)=>{"use strict";var lt=typeof Reflect=="object"?Reflect:null,Na=lt&&typeof lt.apply=="function"?lt.apply:a(function(e,t,r){return Function.prototype.apply.call(e,t,r)},"ReflectApply"),Br;lt&&typeof lt.ownKeys=="function"?Br=lt.ownKeys:Object.getOwnPropertySymbols?Br=a(function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))},"ReflectOwnKeys"):Br=a(function(e){return Object.getOwnPropertyNames(e)},"ReflectOwnKeys");function rc(o){console&&console.warn&&console.warn(o)}a(rc,"ProcessEmitWarning");var Sa=Number.isNaN||a(function(e){return e!==e},"NumberIsNaN");function v(){v.init.call(this)}a(v,"EventEmitter");Bi.exports=v;Bi.exports.once=sc;v.EventEmitter=v;v.prototype._events=void 0;v.prototype._eventsCount=0;v.prototype._maxListeners=void 0;var va=10;function qr(o){if(typeof o!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o)}a(qr,"checkListener");Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:a(function(){return va},"get"),set:a(function(o){if(typeof o!="number"||o<0||Sa(o))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+o+".");va=o},"set")});v.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};v.prototype.setMaxListeners=a(function(e){if(typeof e!="number"||e<0||Sa(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},"setMaxListeners");function Ma(o){return o._maxListeners===void 0?v.defaultMaxListeners:o._maxListeners}a(Ma,"_getMaxListeners");v.prototype.getMaxListeners=a(function(){return Ma(this)},"getMaxListeners");v.prototype.emit=a(function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i=e==="error",n=this._events;if(n!==void 0)i=i&&n.error===void 0;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var c=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw c.context=s,c}var l=n[e];if(l===void 0)return!1;if(typeof l=="function")Na(l,this,t);else for(var m=l.length,T=ka(l,m),r=0;r<m;++r)Na(T[r],this,t);return!0},"emit");function Ia(o,e,t,r){var i,n,s;if(qr(t),n=o._events,n===void 0?(n=o._events=Object.create(null),o._eventsCount=0):(n.newListener!==void 0&&(o.emit("newListener",e,t.listener?t.listener:t),n=o._events),s=n[e]),s===void 0)s=n[e]=t,++o._eventsCount;else if(typeof s=="function"?s=n[e]=r?[t,s]:[s,t]:r?s.unshift(t):s.push(t),i=Ma(o),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=o,c.type=e,c.count=s.length,rc(c)}return o}a(Ia,"_addListener");v.prototype.addListener=a(function(e,t){return Ia(this,e,t,!1)},"addListener");v.prototype.on=v.prototype.addListener;v.prototype.prependListener=a(function(e,t){return Ia(this,e,t,!0)},"prependListener");function ic(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}a(ic,"onceWrapper");function La(o,e,t){var r={fired:!1,wrapFn:void 0,target:o,type:e,listener:t},i=ic.bind(r);return i.listener=t,r.wrapFn=i,i}a(La,"_onceWrap");v.prototype.once=a(function(e,t){return qr(t),this.on(e,La(this,e,t)),this},"once");v.prototype.prependOnceListener=a(function(e,t){return qr(t),this.prependListener(e,La(this,e,t)),this},"prependOnceListener");v.prototype.removeListener=a(function(e,t){var r,i,n,s,c;if(qr(t),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===t||r.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if(typeof r!="function"){for(n=-1,s=r.length-1;s>=0;s--)if(r[s]===t||r[s].listener===t){c=r[s].listener,n=s;break}if(n<0)return this;n===0?r.shift():oc(r,n),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,c||t)}return this},"removeListener");v.prototype.off=v.prototype.removeListener;v.prototype.removeAllListeners=a(function(e){var t,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var n=Object.keys(r),s;for(i=0;i<n.length;++i)s=n[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=r[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},"removeAllListeners");function Pa(o,e,t){var r=o._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?nc(i):ka(i,i.length)}a(Pa,"_listeners");v.prototype.listeners=a(function(e){return Pa(this,e,!0)},"listeners");v.prototype.rawListeners=a(function(e){return Pa(this,e,!1)},"rawListeners");v.listenerCount=function(o,e){return typeof o.listenerCount=="function"?o.listenerCount(e):Ca.call(o,e)};v.prototype.listenerCount=Ca;function Ca(o){var e=this._events;if(e!==void 0){var t=e[o];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}a(Ca,"listenerCount");v.prototype.eventNames=a(function(){return this._eventsCount>0?Br(this._events):[]},"eventNames");function ka(o,e){for(var t=new Array(e),r=0;r<e;++r)t[r]=o[r];return t}a(ka,"arrayClone");function oc(o,e){for(;e+1<o.length;e++)o[e]=o[e+1];o.pop()}a(oc,"spliceOne");function nc(o){for(var e=new Array(o.length),t=0;t<e.length;++t)e[t]=o[t].listener||o[t];return e}a(nc,"unwrapListeners");function sc(o,e){return new Promise(function(t,r){function i(s){o.removeListener(e,n),r(s)}a(i,"errorListener");function n(){typeof o.removeListener=="function"&&o.removeListener("error",i),t([].slice.call(arguments))}a(n,"resolver"),ja(o,e,n,{once:!0}),e!=="error"&&ac(o,i,{once:!0})})}a(sc,"once");function ac(o,e,t){typeof o.on=="function"&&ja(o,"error",e,t)}a(ac,"addErrorHandlerIfEventEmitter");function ja(o,e,t,r){if(typeof o.on=="function")r.once?o.once(e,t):o.on(e,t);else if(typeof o.addEventListener=="function")o.addEventListener(e,a(function i(n){r.once&&o.removeEventListener(e,i),t(n)},"wrapListener"));else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof o)}a(ja,"eventTargetAgnosticAddListener")});import"reflect-metadata";import"reflect-metadata";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as Qc}from"@jsopen/objects";import{isString as Yc}from"valgen";var na;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(na||(na={}));import{omitUndefined as Gp}from"@jsopen/objects";import"@browsery/i18next";import Wp from"@browsery/i18next";import{splitString as zp,tokenize as pa}from"fast-tokenizer";var Kp=/\\(.)/g,Vp=/(\\)/g;function sa(o){return o.replace(Vp,"\\\\")}a(sa,"escapeString");function aa(o){return o.replace(Kp,"$1")}a(aa,"unescapeString");var Jp=Object.getPrototypeOf(Wp.createInstance()).constructor,or=class or extends Jp{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(c,l)=>c.toLocaleLowerCase(l)),s.add("uppercase",(c,l)=>c.toLocaleUpperCase(l)),s.add("upperFirst",(c,l)=>c.charAt(0).toLocaleUpperCase(l)+c.substring(1)),r!=null&&r.resources)for(let c of Object.keys(r.resources)){let l=r.resources[c];for(let m of Object.keys(l))this.addResourceBundle(c,m,l[m],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new or(e,t)}static createInstance(e,t){return new or(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of pa(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=zp(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),c=aa(n.substring((s[0]||"").length+1));n=s[0]||"";let l=[],m=null;for(let O of pa(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(O.startsWith("{")){m=JSON.parse(O);continue}l.push(O)}let T=l.length>1?"$t("+l.join(",")+")":l[0];i+=c?this.t(T,c,{...r,...m}):this.t(T,{...r,...m});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,c=n.length;s<c;s++){let l=n[s];i[l]=this._deepTranslate(e[l],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Qp}};a(or,"I18n");var nr=or,Qp=nr.createInstance();var Yp=/(\))/g;function Sm(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+sa(i).replace(Yp,"\\$1"):"")+")"}a(Sm,"translate");var Ai=nr.createInstance();Ai.init().catch(()=>{});var bi=class bi extends Error{constructor(t,r){super("Unknown error");p(this,"cause");p(this,"severity","error");p(this,"system");p(this,"code");p(this,"details");r=r||(t instanceof Error?t:void 0),t instanceof Error&&(r=t),r&&r instanceof Error&&(this.cause=r,r.stack&&(this.stack=r.stack)),typeof t=="string"?this.initString(t):t instanceof Error?this.initError(t):this.init(t),this.message=this.message||this.constructor.name}toString(){return Ai.deep(this.message)}toJSON(){return Gp({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:this.stack},!0)}init(t){this.message=(t==null?void 0:t.message)||this.constructor.name,this.severity=(t==null?void 0:t.severity)||"error",t&&(this.system=t.system,this.code=t.code,this.details=t.details)}initString(t){this.init({message:String(t||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(t){let r="production";this.init({message:t.message,severity:t.severity||"error",code:t.code||t.constructor.name,stack:r==="dev"||r==="development"||r==="test"?t.stack:void 0})}};a(bi,"OpraException");var Ee=bi;var Ri=class Ri extends Ee{constructor(t,r,i){super(t,r instanceof Error?r:void 0);p(this,"status");this.status=(typeof r=="number"?r:Number(i))||500}setStatus(t){return this.status=t,this}initError(t){typeof t.status=="number"?this.status=t.status:typeof t.getStatus=="function"&&(this.status=t.getStatus()),super.initError(t)}};a(Ri,"OpraHttpError");var I=Ri;var Di=class Di extends I{constructor(){super(...arguments);p(this,"status",400)}init(t){super.init({message:"Bad request",code:"BAD_REQUEST",...t})}};a(Di,"BadRequestError");var ca=Di;var Ni=class Ni extends I{constructor(){super(...arguments);p(this,"status",409)}init(t){super.init({message:"Conflict",code:"CONFLICT",...t})}};a(Ni,"ConflictError");var la=Ni;var vi=class vi extends I{constructor(){super(...arguments);p(this,"status",424)}init(t){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...t})}};a(vi,"FailedDependencyError");var fa=vi;var ma;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(ma||(ma={}));var b;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(b||(b={}));var iu={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 R;(function(o){o.json="application/json",o.xml="application/xml",o.yaml="text/yaml",o.yaml2="application/yaml",o.toml="text/toml",o.toml2="application/toml",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream",o.multipart_mixed="multipart/mixed",o.opra_response_json="application/opra.response+json",o.opra_response_xml="application/opra.response+xml",o.opra_response_yaml="text/opra.response+yaml",o.opra_response_toml="text/opra.response+toml"})(R||(R={}));var Si=class Si extends I{constructor(){super(...arguments);p(this,"status",b.FORBIDDEN)}init(t){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...t})}};a(Si,"ForbiddenError");var jr=Si;var Mi=class Mi extends I{constructor(){super(...arguments);p(this,"status",500)}init(t){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...t})}};a(Mi,"InternalServerError");var ua=Mi;var Ii=class Ii extends I{constructor(){super(...arguments);p(this,"status",405)}init(t){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...t})}};a(Ii,"MethodNotAllowedError");var da=Ii;var Li=class Li extends I{constructor(){super(...arguments);p(this,"status",406)}init(t){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...t})}};a(Li,"NotAcceptableError");var ha=Li;var Pi=class Pi extends I{constructor(){super(...arguments);p(this,"status",404)}init(t){super.init({message:"Not found",code:"NOT_FOUND",...t})}};a(Pi,"NotFoundError");var ya=Pi;var Ci=class Ci extends jr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(Ci,"PermissionError");var Ta=Ci;var ki=class ki extends I{constructor(t,r,i){super({message:`There is already an other "${t}" resource with same values for field(s) [${r}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:t,location:r}},i);p(this,"status",409)}};a(ki,"ResourceConflictError");var Ea=ki;var ji=class ji extends I{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,b.UNPROCESSABLE_ENTITY)}};a(ji,"ResourceNotAvailableError");var xa=ji;var Fi=class Fi extends I{constructor(){super(...arguments);p(this,"status",401)}init(t){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...t})}};a(Fi,"UnauthorizedError");var _a=Fi;var Ui=class Ui extends I{constructor(){super(...arguments);p(this,"status",422)}init(t){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...t})}};a(Ui,"UnprocessableEntityError");var ga=Ui;BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Xp}from"@jsopen/objects";import Zp from"putil-promisify";async function H(o){return o=Zp.isPromise(o)?await o:o,typeof o=="function"?Xp(o)?o:await o():o}a(H,"resolveThunk");var Oa=/^(?:file:\/\/)?(.+)$/;function fd(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Oa.exec(r):void 0;return i?i[1]:""}return""}a(fd,"getStackFileName");function md(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Oa.exec(r):void 0;return i?i[1]:""}return""}a(md,"getErrorStack");function Fr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(Fr,"mergePrototype");function Ur(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(Ur,"inheritPropertyInitializers");import{isPlainObject as Aa,merge as Hp}from"@jsopen/objects";var y=Symbol.for("opra.type.metadata"),ae=Symbol("opra.http-controller.metadata"),pe=Symbol("opra.mq-controller.metadata"),ce=Symbol("opra.ws-controller.metadata"),sr=Symbol("opra.ws-param.metadata"),Td=Symbol("opra.rpc-controller.metadata"),E=Symbol.for("opra.type.decoder"),_=Symbol("opra.type.encoder"),w=Symbol.for("DECORATOR"),We=Symbol.for("BUILTIN"),wa=/([a-z$_]\w+):(.+)/i,F=/^[a-z][\w_]*$/i,C=Symbol.for("kDataTypeMap"),$r=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");function k(o,e){return Hp({},o,{deep:a(t=>Aa(t)&&!t[y],"deep"),symbolKeys:!0,copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||Aa(i)||Array.isArray(i))}})}a(k,"cloneObject");import{splitString as ba}from"fast-tokenizer";var ec=/^([+-])?([a-z_$]\w*)$/i,tc=/[^.]\(/g,$i=class $i{};a($i,"FieldsProjection");var ze=$i;(function(o){let t=class t{constructor(){p(this,"sign");p(this,"projection")}};a(t,"Item");let e=t;o.Item=e})(ze||(ze={}));function Ra(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new ze;for(let i of t)e||(i=i.toLowerCase()),Da(i,r);return r}a(Ra,"parseFieldsProjection");function Da(o,e){o=o.replace(tc,r=>r.charAt(0)+"."+r.substring(1));let t=ba(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let l=ba(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let m of l)Da(m,e);continue}let n=ec.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],c=e[s]=e[s]||new ze.Item;n[1]&&(c.sign=n[1]),r===t.length-1?delete c.projection:e=c.projection=c.projection||new ze}}a(Da,"parse");var Ua=qp(Fa(),1);function pc(o){return o&&typeof o.forEach=="function"}a(pc,"isMap");var Q=Symbol.for("kEntries"),le=Symbol.for("kKeyMap"),Kr=Symbol.for("kWellKnownKeys"),qi=Symbol.for("kOptions"),ft=Symbol.for("kSize"),Ki=class Ki extends Ua.default{constructor(e,t){super(),Object.defineProperty(this,ft,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,Q,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,le,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Kr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,qi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Kr][i]=i:this[Kr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[ft]}clear(){Object.keys(this[Q]).forEach(e=>delete this[Q][e]),Object.keys(this[le]).forEach(e=>delete this[le][e]),this[ft]=0,this.emit("change"),this.emit("clear")}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[Q][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[Q],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[Q],r);return this[Q][r]=t,i||this[ft]++,this[le][r]=e,this.emit("change"),this.emit("set",e,t),this}setAll(e){return pc(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[le])[Symbol.iterator]()}values(){return Object.values(this[Q])[Symbol.iterator]()}entries(){return Object.entries(this[Q])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[Q],t);return delete this[Q][t],delete this[le][t],r&&(this[ft]--,this.emit("change")),r}sort(e){let t={...this[Q]},r={...this[le]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[Q][n]=t[n],this[le][n]=r[n];return this[ft]=i.length,this.emit("change"),this}toObject(){let e={};for(let[t,r]of Object.entries(this[le]))e[r]=this[Q][t];return e}toProxy(){let e=this;return new Proxy(e[Q],{get(t,r){return typeof r=="string"?e.get(r):void 0},set(t,r,i){return typeof r=="string"?(e.set(r,i),!0):!1},has(t,r){return typeof r=="string"?e.has(r):!1},deleteProperty(t,r){return typeof r=="string"?(e.delete(r),!0):!1},defineProperty(t,r,i){return typeof r=="string"?(i.value!==void 0?e.set(r,i.value):e.delete(r),!0):!1}})}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[qi].caseSensitive)return e;let t=this._getStoringKey(e);return this[le][t]??this[Kr][t]??e}_getStoringKey(e){return this[qi].caseSensitive?e:e.toLowerCase()}};a(Ki,"ResponsiveMap");var S=Ki;function Sd(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(Sd,"safeJsonStringify");import"@browsery/stream";function Vi(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Vi,"isStream");function kd(o){return Vi(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(kd,"isReadable");function jd(o){return Vi(o)&&typeof o._write=="function"}a(jd,"isWritable");function Fd(o){return Vi(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Fd,"isReadableStream");function Ud(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Ud,"isBlob");function $d(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a($d,"isFormData");function Bd(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Bd,"isURL");var u={};kr(u,{ArrayType:()=>mt,ComplexType:()=>ut,EnumType:()=>dt,HttpController:()=>ar,HttpOperation:()=>Wi,MQController:()=>zi,MQOperation:()=>Ji,MappedType:()=>ht,MixinType:()=>yt,SimpleType:()=>Tt,SpecVersion:()=>eh,UnionType:()=>Et,WSController:()=>Qi,WSOperation:()=>Yi,isArrayType:()=>yc,isComplexType:()=>lc,isDataType:()=>cc,isEnumType:()=>dc,isHttpController:()=>Tc,isMappedType:()=>uc,isMixinType:()=>mc,isSimpleType:()=>fc,isUnionType:()=>hc});var eh="1.0";var mt;(function(o){o.Kind="ArrayType"})(mt||(mt={}));var ut;(function(o){o.Kind="ComplexType"})(ut||(ut={}));var dt;(function(o){o.Kind="EnumType"})(dt||(dt={}));var ht;(function(o){o.Kind="MappedType"})(ht||(ht={}));var yt;(function(o){o.Kind="MixinType"})(yt||(yt={}));var Tt;(function(o){o.Kind="SimpleType"})(Tt||(Tt={}));var Et;(function(o){o.Kind="UnionType"})(Et||(Et={}));var ar;(function(o){o.Kind="HttpController"})(ar||(ar={}));var Wi;(function(o){o.Kind="HttpOperation"})(Wi||(Wi={}));var zi;(function(o){o.Kind="MQController"})(zi||(zi={}));var Ji;(function(o){o.Kind="MQOperation"})(Ji||(Ji={}));function cc(o){return o&&typeof o=="object"&&(o.kind===mt.Kind||o.kind===ut.Kind||o.kind===dt.Kind||o.kind===ht.Kind||o.kind===Tt.Kind||o.kind===yt.Kind||o.kind===Et.Kind)}a(cc,"isDataType");function lc(o){return o&&typeof o=="object"&&o.kind===ut.Kind}a(lc,"isComplexType");function fc(o){return o&&typeof o=="object"&&o.kind===Tt.Kind}a(fc,"isSimpleType");function mc(o){return o&&typeof o=="object"&&o.kind===yt.Kind}a(mc,"isMixinType");function uc(o){return o&&typeof o=="object"&&o.kind===ht.Kind}a(uc,"isMappedType");function dc(o){return o&&typeof o=="object"&&o.kind===dt.Kind}a(dc,"isEnumType");function hc(o){return o&&typeof o=="object"&&o.kind===Et.Kind}a(hc,"isUnionType");function yc(o){return o&&typeof o=="object"&&o.kind===mt.Kind}a(yc,"isArrayType");function Tc(o){return o&&typeof o=="object"&&o.kind===ar.Kind}a(Tc,"isHttpController");var Qi;(function(o){o.Kind="WSController"})(Qi||(Qi={}));var Yi;(function(o){o.Kind="WSOperation"})(Yi||(Yi={}));var Gi=class Gi{constructor(){p(this,"kind");this.kind=Object.getPrototypeOf(this).constructor.name}};a(Gi,"Ast");var pr=Gi;var Xi=class Xi extends pr{};a(Xi,"Expression");var q=Xi;var Zi=class Zi extends q{};a(Zi,"Term");var Je=Zi;var Hi=class Hi extends Je{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Hi,"Literal");var j=Hi;var eo=class eo extends q{constructor(){super();p(this,"items",[])}append(t,r){return this.items.push(new Vr({op:t,expression:r})),this}toString(){return this.items.map((t,r)=>(r>0?t.op:"")+t.expression).join("")}};a(eo,"ArithmeticExpression");var Qe=eo,to=class to{constructor(e){p(this,"op");p(this,"expression");Object.assign(this,e)}};a(to,"ArithmeticExpressionItem");var Vr=to;var ro=class ro extends Je{constructor(t){super();p(this,"items");this.items=t}toString(){return"["+this.items.map(t=>""+t).join(",")+"]"}};a(ro,"ArrayExpression");var xe=ro;var Ec=/\w/,io=class io extends q{constructor(t){super();p(this,"op");p(this,"left");p(this,"right");p(this,"prepare");Object.assign(this,t)}toString(){return`${this.left}${Ec.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(io,"ComparisonExpression");var fe=io;var oo=class oo extends q{constructor(t){super();p(this,"op");p(this,"items");Object.assign(this,t),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(t=>""+t).join(" "+this.op+" ")}};a(oo,"LogicalExpression");var me=oo;var no=class no extends q{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(no,"NegativeExpression");var cr=no;var so=class so extends q{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(so,"ParenthesizedExpression");var _e=so;var ao=class ao extends j{constructor(e){super(e)}};a(ao,"BooleanLiteral");var Ye=ao;import{toDateDef as Ac}from"putil-varhelpers";import"@browsery/antlr4";var po=class po extends TypeError{};a(po,"SyntaxError");var Wr=po,co=class co extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(co,"FilterValidationError");var ue=co,lo=class lo extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(lo,"FilterParseError");var zr=lo;var xc=/'/g,_c=/(\\)/g,gc=/\\(.)/g;function Oc(o){return o.replace(_c,"\\\\")}a(Oc,"escapeString");function wc(o){return o.replace(gc,"$1")}a(wc,"unescapeString");function De(o){return"'"+Oc(o).replace(xc,"\\'")+"'"}a(De,"quoteFilterString");function lr(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?wc(o.substring(1,o.length-1)):o}a(lr,"unquoteFilterString");var $a=new Date(0),fo=class fo extends j{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Ac(t,$a)!==$a){this.value=t;return}throw new ue(`Invalid date value "${t}"`)}toString(){return De(this.value)}};a(fo,"DateLiteral");var Ne=fo;import{toDateDef as bc}from"putil-varhelpers";var Ba=new Date(0),mo=class mo extends j{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&bc(t,Ba)!==Ba){this.value=t;return}throw new ue(`Invalid date-time value "${t}"`)}toString(){return De(this.value)}};a(mo,"DateTimeLiteral");var fr=mo;var uo=class uo extends j{constructor(){super(null);p(this,"value",null)}};a(uo,"NullLiteral");var Ge=uo;var ho=class ho extends j{constructor(t){super(0);p(this,"value");if(typeof t=="number"||typeof t=="bigint"){this.value=t;return}try{if(typeof t=="string"){if(t.includes(".")){this.value=parseFloat(t);return}let r=Number(t);""+r===t?this.value=r:this.value=BigInt(t);return}}catch{}throw new ue(`Invalid number literal ${t}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(ho,"NumberLiteral");var ge=ho;import{omitUndefined as Nc}from"@jsopen/objects";import{asMutable as vc}from"ts-gems";import{asMutable as Rc}from"ts-gems";import{uid as Dc}from"uid";var qa;qa=C;var yo=class yo{constructor(e,t){p(this,qa);p(this,"_document");p(this,"parent");p(this,"element");this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Re])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[C])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(y,e).name;else if(typeof e=="object"){let n=e[y];if(!n)throw new TypeError(`OPRA Metadata not found for data type (${e})`);i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getArrayType(e,t){let r=this.getDataType(e,t);if(r.kind===u.ArrayType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===u.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===u.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===u.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===u.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a UnionType`)}};a(yo,"DocumentNode");var Jr=yo;var A=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Rc(this);e.id=Dc(16),Object.defineProperty(e,"node",{value:new Jr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Eo=class Eo{};a(Eo,"DocumentElementClass");var To=Eo;A.prototype=To.prototype;var xo=class xo extends Ee{constructor(){super("");p(this,"details",[])}add(t){return this.details.push(t),this}};a(xo,"OpraDocumentError");var xt=xo;var _o=class _o{constructor(e){p(this,"path","");p(this,"error",new xt);p(this,"maxErrors");p(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(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(_o,"DocumentInitContext");var de=_o;var ve=Symbol.for("nodejs.util.inspect.custom"),Oe="\x1B[0m",Se="\x1B[33m",Me="\x1B[35m";function mr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(mr,"testScopeMatch");var g=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!F.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);A.call(this,o);let r=vc(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),Oo=class Oo extends A{get embedded(){return!this.name}inScope(e){return mr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return Nc({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[ve](){return`[${Se+Object.getPrototypeOf(this).constructor.name+Oe} ${Me+this.name+Oe}]`}};a(Oo,"DataTypeClass");var go=Oo;g.prototype=go.prototype;var wo=class wo extends j{constructor(e){super(""+e)}};a(wo,"QualifiedIdentifier");var ee=wo;var Ao=class Ao extends j{constructor(e){super(""+e)}toString(){return De(this.value)}};a(Ao,"StringLiteral");var Xe=Ao;var Sc=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,bo=class bo extends j{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=Qr(t.getHours())+":"+Qr(t.getMinutes())+(t.getSeconds()?":"+Qr(t.getSeconds()):"")+(t.getMilliseconds()?"."+Qr(t.getMilliseconds()):"");return}if(typeof t=="string"&&Sc.test(t)){this.value=t;return}throw new ue(`Invalid time value "${t}"`)}toString(){return De(this.value)}};a(bo,"TimeLiteral");var Ze=bo;function Qr(o){return o<=9?"0"+o:""+o}a(Qr,"pad");import{CharStream as zc,CommonTokenStream as Jc}from"@browsery/antlr4";import{ATNDeserializer as Mc,DFA as Ic,Lexer as Lc,LexerATNSimulator as Pc,PredictionContextCache as Cc,Token as kc}from"@browsery/antlr4";var h=class h extends Lc{constructor(e){super(e),this._interp=new Pc(this,h._ATN,h.DecisionsToDFA,new Cc)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return h.literalNames}get symbolicNames(){return h.symbolicNames}get ruleNames(){return h.ruleNames}get serializedATN(){return h._serializedATN}get channelNames(){return h.channelNames}get modeNames(){return h.modeNames}static get _ATN(){return h.__ATN||(h.__ATN=new Mc().deserialize(h._serializedATN)),h.__ATN}};a(h,"OpraFilterLexer"),p(h,"T__0",1),p(h,"T__1",2),p(h,"T__2",3),p(h,"T__3",4),p(h,"T__4",5),p(h,"T__5",6),p(h,"T__6",7),p(h,"T__7",8),p(h,"T__8",9),p(h,"T__9",10),p(h,"T__10",11),p(h,"T__11",12),p(h,"T__12",13),p(h,"T__13",14),p(h,"T__14",15),p(h,"T__15",16),p(h,"T__16",17),p(h,"T__17",18),p(h,"T__18",19),p(h,"T__19",20),p(h,"T__20",21),p(h,"T__21",22),p(h,"T__22",23),p(h,"T__23",24),p(h,"T__24",25),p(h,"T__25",26),p(h,"T__26",27),p(h,"T__27",28),p(h,"T__28",29),p(h,"T__29",30),p(h,"T__30",31),p(h,"T__31",32),p(h,"T__32",33),p(h,"T__33",34),p(h,"IDENTIFIER",35),p(h,"POLAR_OP",36),p(h,"DATE",37),p(h,"DATETIME",38),p(h,"TIME",39),p(h,"NUMBER",40),p(h,"INTEGER",41),p(h,"STRING",42),p(h,"WHITESPACE",43),p(h,"EOF",kc.EOF),p(h,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),p(h,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(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"]),p(h,"modeNames",["DEFAULT_MODE"]),p(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"]),p(h,"_serializedATN",[4,0,43,461,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,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,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,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,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,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,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,491,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,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,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,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,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,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0]),p(h,"__ATN"),p(h,"DecisionsToDFA",h._ATN.decisionToState.map((e,t)=>new Ic(e,t)));var ur=h;import{ATN as Ka,ATNDeserializer as jc,DFA as Fc,FailedPredicateException as Uc,NoViableAltException as Ro,Parser as $c,ParserATNSimulator as Bc,ParserRuleContext as V,PredictionContextCache as qc,RecognitionException as K,Token as Kc}from"@browsery/antlr4";var f=class f extends $c{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return f.literalNames}get symbolicNames(){return f.symbolicNames}get ruleNames(){return f.ruleNames}get serializedATN(){return f._serializedATN}createFailedPredicateException(e,t){return new Uc(this,e,t)}constructor(e){super(e),this._interp=new Bc(this,f._ATN,f.DecisionsToDFA,new qc)}root(){let e=new Do(this,this._ctx,this.state);this.enterRule(e,0,f.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(f.EOF)}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new Z(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,f.RULE_expression,e);let c;try{let l;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new So(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new No(this,i),this._ctx=i,n=i,this.state=42,this.match(f.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(f.T__1);break;case 3:case 4:i=new vo(this,i),this._ctx=i,n=i,this.state=46,c=this._input.LA(1),c===3||c===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new Ro(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx);l!==2&&l!==Ka.INVALID_ALT_NUMBER;){if(l===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new dr(this,new Z(this,t,r)),this.pushNewRecursionContext(i,s,f.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(l){if(l instanceof K)i.exception=l,this._errHandler.reportError(this,l),this._errHandler.recover(this,l);else throw l}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new Yr(this,this._ctx,this.state);this.enterRule(e,4,f.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof K)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 Gr(this,this._ctx,this.state);this.enterRule(e,6,f.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 Ro(this)}}catch(t){if(t instanceof K)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 Xr(this,this._ctx,this.state);this.enterRule(e,8,f.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof K)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,f.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new Fo(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(f.NUMBER);break;case 13:case 14:e=new ko(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new jo(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Io(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new Lo(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(f.DATETIME);break;case 37:e=new Co(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(f.DATE);break;case 39:e=new Mo(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(f.TIME);break;case 42:e=new Po(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(f.STRING);break;default:throw new Ro(this)}}catch(t){if(t instanceof K)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 hr(this,this._ctx,this.state);this.enterRule(e,12,f.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!==Ka.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(f.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 K)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 Zr(this,this._ctx,this.state);this.enterRule(e,14,f.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(f.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof K)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 _t(this,this._ctx,this.state);this.enterRule(e,16,f.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(f.IDENTIFIER)}catch(t){if(t instanceof K)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 Hr(this,this._ctx,this.state);this.enterRule(e,18,f.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(f.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(f.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(f.T__8)}}catch(r){if(r instanceof K)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 ei(this,this._ctx,this.state);this.enterRule(e,20,f.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 K)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 ti(this,this._ctx,this.state);this.enterRule(e,22,f.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(f.T__11)}catch(t){if(t instanceof K)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 ri(this,this._ctx,this.state);this.enterRule(e,24,f.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 K)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 Uo(this,this._ctx,this.state);this.enterRule(e,26,f.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)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 ii(this,this._ctx,this.state);this.enterRule(e,28,f.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)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 oi(this,this._ctx,this.state);this.enterRule(e,30,f.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)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 $o(this,this._ctx,this.state);this.enterRule(e,32,f.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(f.POLAR_OP)}catch(t){if(t instanceof K)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){return t===1?this.expression_sempred(e,r):!0}expression_sempred(e,t){return t===0?this.precpred(this._ctx,3):!0}static get _ATN(){return f.__ATN||(f.__ATN=new jc().deserialize(f._serializedATN)),f.__ATN}};a(f,"OpraFilterParser"),p(f,"T__0",1),p(f,"T__1",2),p(f,"T__2",3),p(f,"T__3",4),p(f,"T__4",5),p(f,"T__5",6),p(f,"T__6",7),p(f,"T__7",8),p(f,"T__8",9),p(f,"T__9",10),p(f,"T__10",11),p(f,"T__11",12),p(f,"T__12",13),p(f,"T__13",14),p(f,"T__14",15),p(f,"T__15",16),p(f,"T__16",17),p(f,"T__17",18),p(f,"T__18",19),p(f,"T__19",20),p(f,"T__20",21),p(f,"T__21",22),p(f,"T__22",23),p(f,"T__23",24),p(f,"T__24",25),p(f,"T__25",26),p(f,"T__26",27),p(f,"T__27",28),p(f,"T__28",29),p(f,"T__29",30),p(f,"T__30",31),p(f,"T__31",32),p(f,"T__32",33),p(f,"T__33",34),p(f,"IDENTIFIER",35),p(f,"POLAR_OP",36),p(f,"DATE",37),p(f,"DATETIME",38),p(f,"TIME",39),p(f,"NUMBER",40),p(f,"INTEGER",41),p(f,"STRING",42),p(f,"WHITESPACE",43),p(f,"EOF",Kc.EOF),p(f,"RULE_root",0),p(f,"RULE_expression",1),p(f,"RULE_comparisonLeft",2),p(f,"RULE_comparisonRight",3),p(f,"RULE_parenthesizedItem",4),p(f,"RULE_value",5),p(f,"RULE_qualifiedIdentifier",6),p(f,"RULE_externalConstant",7),p(f,"RULE_identifier",8),p(f,"RULE_arrayValue",9),p(f,"RULE_boolean",10),p(f,"RULE_null",11),p(f,"RULE_infinity",12),p(f,"RULE_arithmeticOperator",13),p(f,"RULE_comparisonOperator",14),p(f,"RULE_logicalOperator",15),p(f,"RULE_polarityOperator",16),p(f,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(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"]),p(f,"ruleNames",["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"]),p(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,38,0,0,74,78,5,37,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]),p(f,"__ATN"),p(f,"DecisionsToDFA",f._ATN.decisionToState.map((e,t)=>new Fc(e,t)));var N=f,Bo=class Bo extends V{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Z,0)}EOF(){return this.getToken(N.EOF,0)}get ruleIndex(){return N.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(Bo,"RootContext");var Do=Bo,qo=class qo extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(qo,"ExpressionContext");var Z=qo,Ko=class Ko extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Xr,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(Ko,"ParenthesizedExpressionContext");var No=Ko,Vo=class Vo extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(Z,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(Vo,"NegativeExpressionContext");var vo=Vo,Wo=class Wo extends Z{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_left");p(this,"_operator");p(this,"_right");super.copyFrom(r)}comparisonLeft(){return this.getTypedRuleContext(Yr,0)}comparisonOperator(){return this.getTypedRuleContext(ii,0)}comparisonRight(){return this.getTypedRuleContext(Gr,0)}enterRule(t){t.enterComparisonExpression&&t.enterComparisonExpression(this)}exitRule(t){t.exitComparisonExpression&&t.exitComparisonExpression(this)}accept(t){return t.visitComparisonExpression?t.visitComparisonExpression(this):t.visitChildren(this)}};a(Wo,"ComparisonExpressionContext");var So=Wo,zo=class zo extends Z{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_op");super.copyFrom(r)}expression_list(){return this.getTypedRuleContexts(Z)}expression(t){return this.getTypedRuleContext(Z,t)}logicalOperator(){return this.getTypedRuleContext(oi,0)}enterRule(t){t.enterLogicalExpression&&t.enterLogicalExpression(this)}exitRule(t){t.exitLogicalExpression&&t.exitLogicalExpression(this)}accept(t){return t.visitLogicalExpression?t.visitLogicalExpression(this):t.visitChildren(this)}};a(zo,"LogicalExpressionContext");var dr=zo,Jo=class Jo extends V{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(hr,0)}get ruleIndex(){return N.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(Jo,"ComparisonLeftContext");var Yr=Jo,Qo=class Qo extends V{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(G,0)}qualifiedIdentifier(){return this.getTypedRuleContext(hr,0)}externalConstant(){return this.getTypedRuleContext(Zr,0)}arrayValue(){return this.getTypedRuleContext(Hr,0)}get ruleIndex(){return N.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(Qo,"ComparisonRightContext");var Gr=Qo,Yo=class Yo extends V{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Z,0)}get ruleIndex(){return N.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(Yo,"ParenthesizedItemContext");var Xr=Yo,Go=class Go extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_value}copyFrom(e){super.copyFrom(e)}};a(Go,"ValueContext");var G=Go,Xo=class Xo extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(N.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(Xo,"TimeLiteralContext");var Mo=Xo,Zo=class Zo extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(ti,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(Zo,"NullLiteralContext");var Io=Zo,Ho=class Ho extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(N.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(Ho,"DateTimeLiteralContext");var Lo=Ho,en=class en extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(N.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(en,"StringLiteralContext");var Po=en,tn=class tn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(N.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(tn,"DateLiteralContext");var Co=tn,rn=class rn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(ri,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(rn,"InfinityLiteralContext");var ko=rn,on=class on extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(ei,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(on,"BooleanLiteralContext");var jo=on,nn=class nn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(N.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(nn,"NumberLiteralContext");var Fo=nn,sn=class sn extends V{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(_t)}identifier(e){return this.getTypedRuleContext(_t,e)}get ruleIndex(){return N.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(sn,"QualifiedIdentifierContext");var hr=sn,an=class an extends V{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(_t,0)}get ruleIndex(){return N.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(an,"ExternalConstantContext");var Zr=an,pn=class pn extends V{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(N.IDENTIFIER,0)}get ruleIndex(){return N.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(pn,"IdentifierContext");var _t=pn,cn=class cn extends V{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 N.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(cn,"ArrayValueContext");var Hr=cn,ln=class ln extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(ln,"BooleanContext");var ei=ln,fn=class fn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(fn,"NullContext");var ti=fn,mn=class mn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(mn,"InfinityContext");var ri=mn,un=class un extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(un,"ArithmeticOperatorContext");var Uo=un,dn=class dn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(dn,"ComparisonOperatorContext");var ii=dn,hn=class hn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(hn,"LogicalOperatorContext");var oi=hn,yn=class yn extends V{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(N.POLAR_OP,0)}get ruleIndex(){return N.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(yn,"PolarityOperatorContext");var $o=yn;import{ParseTreeVisitor as Vc}from"@browsery/antlr4";import{ParseTreeVisitor as K1}from"@browsery/antlr4";var Tn=class Tn extends j{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(Tn,"ExternalConstant");var ni=Tn;var En=class En extends Vc{constructor(t){super();p(this,"_timeZone");this._timeZone=t==null?void 0:t.timeZone}visitChildren(t){let r=super.visitChildren(t);return Array.isArray(r)&&r.length<2?r[0]:r??t.getText()}defaultResult(){}visitRoot(t){return this.visit(t.expression())}visitParenthesizedExpression(t){let r=this.visit(t.parenthesizedItem());return new _e(r)}visitParenthesizedItem(t){return this.visit(t.expression())}visitNegativeExpression(t){let r=this.visit(t.expression());return new cr(r)}visitComparisonExpression(t){return new fe({op:t.comparisonOperator().getText(),left:this.visit(t.comparisonLeft()),right:this.visit(t.comparisonRight())})}visitLogicalExpression(t){let r=[],i=a((n,s)=>{for(let c of n){if(c instanceof dr&&c.logicalOperator().getText()===s){i(c.expression_list(),c.logicalOperator().getText());continue}let l=this.visit(c);r.push(l)}},"wrapChildren");return i(t.expression_list(),t.logicalOperator().getText()),new me({op:t.logicalOperator().getText(),items:r})}visitQualifiedIdentifier(t){return new ee(t.getText())}visitExternalConstant(t){return new ni(t.identifier().getText())}visitNullLiteral(){return new Ge}visitBooleanLiteral(t){return new Ye(t.getText()==="true")}visitNumberLiteral(t){return new ge(t.getText())}visitStringLiteral(t){return new Xe(lr(t.getText()))}visitInfinityLiteral(){return new ge(1/0)}visitDateLiteral(t){return new Ne(lr(t.getText()))}visitDateTimeLiteral(t){return new fr(lr(t.getText()))}visitTimeLiteral(t){return new Ze(lr(t.getText()))}visitArrayValue(t){return new xe(t.value_list().map(r=>this.visit(r)))}};a(En,"FilterTreeVisitor");var yr=En;import{ErrorListener as Wc}from"@browsery/antlr4";var xn=class xn extends Wc{constructor(t){super();p(this,"errors");this.errors=t}syntaxError(t,r,i,n,s,c){this.errors.push(new zr(s,{recognizer:t,offendingSymbol:r,line:i,column:n,e:c}))}};a(xn,"OpraErrorListener");var Tr=xn;function _n(o,e){let t=new zc(o),r=new ur(t),i=new Jc(r),n=new N(i);n.buildParseTrees=!0;let s=[],c=new Tr(s);r.removeErrorListeners(),r.addErrorListener(c),n.removeErrorListeners(),n.addErrorListener(c);let l=n.root();if(s.length){let m=[];for(let O of s)m.push(O.message+(o.includes(`
7
+ `)?" at line: "+O.line+" column: "+O.column:" at column: "+O.column));let T=new Wr(m.join(`
8
+ `));throw T.errors=s,T}return e=e||new yr,e.visit(l)}a(_n,"parse");var gn=class gn{constructor(e,t){p(this,"_rules",new S);p(this,"_decoderCache",new WeakMap);if(Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,Qc({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?_n(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof fe){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof ee&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Ee({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Ee({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof me)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Qe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof _e)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof ee&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof j){let n=t.findLastIndex(s=>s instanceof fe);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof ee&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let c;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?c=Yc:c=this._decoderCache.get(s.left.field),c||(c=s.left.field.generateCodec("decode",{scope:i,projection:"*",ignoreReadonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,c)),e.value=c(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(gn,"FilterRules");var gt=gn;var Er={};kr(Er,{$and:()=>Xc,$arithmetic:()=>hl,$array:()=>Va,$date:()=>Zc,$eq:()=>rl,$field:()=>tl,$gt:()=>ol,$gte:()=>nl,$ilike:()=>ml,$in:()=>pl,$like:()=>ll,$lt:()=>sl,$lte:()=>al,$ne:()=>il,$notILike:()=>ul,$notIn:()=>cl,$notLike:()=>fl,$number:()=>el,$or:()=>Gc,$paren:()=>dl,$time:()=>Hc,ArithmeticExpression:()=>Qe,ArithmeticExpressionItem:()=>Vr,ArrayExpression:()=>xe,Ast:()=>pr,BooleanLiteral:()=>Ye,ComparisonExpression:()=>fe,DateLiteral:()=>Ne,DateTimeLiteral:()=>fr,Expression:()=>q,FilterTreeVisitor:()=>yr,Literal:()=>j,LogicalExpression:()=>me,NegativeExpression:()=>cr,NullLiteral:()=>Ge,NumberLiteral:()=>ge,OpraErrorListener:()=>Tr,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>ee,StringLiteral:()=>Xe,Term:()=>Je,TimeLiteral:()=>Ze,parse:()=>_n});function Gc(...o){return new me({op:"or",items:o})}a(Gc,"$or");function Xc(...o){return new me({op:"and",items:o})}a(Xc,"$and");function Zc(o){return new Ne(o)}a(Zc,"$date");function Hc(o){return new Ze(o)}a(Hc,"$time");function el(o){return new ge(o)}a(el,"$number");function Va(...o){return new xe(o.map(si))}a(Va,"$array");function tl(o){return new ee(o)}a(tl,"$field");function rl(o,e){return te("=",o,e)}a(rl,"$eq");function il(o,e){return te("!=",o,e)}a(il,"$ne");function ol(o,e){return te(">",o,e)}a(ol,"$gt");function nl(o,e){return te(">=",o,e)}a(nl,"$gte");function sl(o,e){return te("<",o,e)}a(sl,"$lt");function al(o,e){return te("<=",o,e)}a(al,"$lte");function pl(o,e){return te("in",o,e)}a(pl,"$in");function cl(o,e){return te("!in",o,e)}a(cl,"$notIn");function ll(o,e){return te("like",o,e)}a(ll,"$like");function fl(o,e){return te("!like",o,e)}a(fl,"$notLike");function ml(o,e){return te("ilike",o,e)}a(ml,"$ilike");function ul(o,e){return te("!ilike",o,e)}a(ul,"$notILike");function dl(o){return new _e(o)}a(dl,"$paren");function hl(o){let e=new Qe;return e.add=t=>(e.append("+",Ot(t)),e),e.sub=t=>(e.append("-",Ot(t)),e),e.mul=t=>(e.append("*",Ot(t)),e),e.div=t=>(e.append("/",Ot(t)),e),e.append("+",si(o)),e}a(hl,"$arithmetic");function te(o,e,t){let r=typeof e=="string"?new ee(e):si(e),i=si(t);return new fe({op:o,left:r,right:i})}a(te,"comparisonExpression");var si=a(o=>Array.isArray(o)?Va(...o.map(Ot)):Ot(o),"wrapEntryValue"),Ot=a(o=>o instanceof q?o:typeof o=="boolean"?new Ye(o):typeof o=="number"||typeof o=="bigint"?new ge(o):o==null?new Ge:o instanceof Date?new Ne(o):new Xe(""+o),"_wrapEntryValue");import yl from"object-hash";import{asMutable as Tl}from"ts-gems";import{validator as El,vg as X}from"valgen";var wt=/^([+-])?([a-z$_][\w.]*)$/i,U=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;g.call(this,e,t,r);let i=Tl(this);i._fields=new S},"ComplexTypeBase"),wn=class wn extends g{constructor(){super(...arguments);p(this,"ctor");p(this,"additionalFields");p(this,"keyField")}fieldCount(t){if(t==="*")return this._fields.size;let r=0;for(let i of this.fields(t))r++;return r}fieldEntries(t){let r=this._fields.entries();if(t==="*")return r;let i;return{next(){for(;r&&(i=r.next(),!(i.done||i.value&&i.value[1].inScope(t))););return i.done?{done:i.done,value:void 0}:{done:i.done,value:[i.value[0],i.value[1].forScope(t)]}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fields(t){let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[1]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fieldNames(t){if(t==="*")return this._fields.keys();let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[0]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}findField(t,r){if(t.includes(".")){let n=this.parseFieldPath(t,{scope:r});if(n.length===0)throw new Error(`Field "${t}" does not exist in scope "${r}"`);let s=n.pop();return s==null?void 0:s.field}let i=this._fields.get(t);if(i&&i.inScope(r))return i.forScope(r)}getField(t,r){let i=this.findField(t,"*");if(i&&!i.inScope(r))throw new Error(`Field "${t}" does not exist in scope "${r||"null"}"`);if(!i)throw new Error(`Field (${t}) does not exist`);return i.forScope(r)}parseFieldPath(t,r){var x,$,Ke;let i=this,n,s=t.split("."),c=s.length,l=[],m=this.owner.node.getDataType("object"),T=r==null?void 0:r.allowSigns,O=a(()=>l.map(P=>P.fieldName).join("."),"getStrPath");for(let P=0;P<c;P++){let W={fieldName:s[P],dataType:m};l.push(W);let Ve=wt.exec(s[P]);if(!Ve)throw new TypeError(`Invalid field name (${O()})`);if(Ve[1]&&((P===0&&T==="first"||T==="each")&&(W.sign=Ve[1]),W.fieldName=Ve[2]),i){if(i instanceof U){if(n=i.findField(W.fieldName,r==null?void 0:r.scope),n){W.fieldName=n.name,W.field=n,W.dataType=n.type,i=n.type;continue}if(((x=i.additionalFields)==null?void 0:x[0])===!0){W.additionalField=!0,W.dataType=m,i=void 0;continue}if((($=i.additionalFields)==null?void 0:$[0])==="type"&&((Ke=i.additionalFields)==null?void 0:Ke[1])instanceof g){W.additionalField=!0,W.dataType=i.additionalFields[1],i=i.additionalFields[1];continue}throw new Error(`Unknown field (${l.map(wi=>wi.fieldName).join(".")})`)}throw new TypeError(`"${l.map(wi=>wi.fieldName).join(".")}" field is not a complex type and has no child fields`)}W.additionalField=!0,W.dataType=m}return l}normalizeFieldPath(t,r){return this.parseFieldPath(t,r).map(i=>(i.sign||"")+i.fieldName).join(".")}generateCodec(t,r){var l;let i=r!=null&&r.cache?r:{...r,projection:Array.isArray(r==null?void 0:r.projection)?Ra(r.projection):r==null?void 0:r.projection,currentPath:""},n=this._generateSchema(t,i),s;if(this.additionalFields instanceof g)s=this.additionalFields.generateCodec(t,r);else if(typeof this.additionalFields=="boolean")s=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)s="error";else{let m=s[1];s=El((T,O,x)=>O.fail(x,m,T))}let c=X.isObject(n,{ctor:this.name==="object"?Object:this.ctor,additionalFields:s,name:this.name,coerce:!0,caseInSensitive:r==null?void 0:r.caseInSensitive,onFail:r==null?void 0:r.onFail});if(i.level===0&&((l=i.forwardCallbacks)!=null&&l.size))for(let m of i.forwardCallbacks)m();return c}_generateSchema(t,r){var m;r.fieldCache=r.fieldCache||new Map,r.level=r.level||0,r.forwardCallbacks=r.forwardCallbacks||new Set;let i={},{currentPath:n,projection:s}=r,c=!!(s&&Object.values(s).find(T=>!T.sign)),l;for(let T of this.fields("*")){if(!T.inScope(r.scope)||!(r.keepKeyFields&&this.keyField)&&(r.ignoreReadonlyFields&&T.readonly||r.ignoreWriteonlyFields&&T.writeonly)){i[T.name]=X.isUndefined({coerce:!0});continue}l=T.name;let O;if(s!=="*"&&(O=s==null?void 0:s[l.toLowerCase()],(O==null?void 0:O.sign)==="-"||c&&!O||!c&&T.exclusive&&!O)){i[T.name]=X.isUndefined({coerce:!0});continue}let x=typeof s=="object"?((m=s[l])==null?void 0:m.projection)||"*":s,$=r.fieldCache.get(T),Ke=typeof x=="string"?x:yl(x||{});$||($={},r.fieldCache.set(T,$));let P=$[Ke];if(P===null)P=X.isAny(),r.forwardCallbacks.add(()=>{P=$[Ke],i[l]=r.partial||!T.required?r.allowNullOptionals?X.nullable(P):X.optional(P):X.required(P)});else if(!P){let W=a(()=>{$[Ke]=null;let Ve=T.generateCodec(t,{...r,partial:r.partial==="deep"?r.partial:void 0,projection:x,currentPath:n+(n?".":"")+l,level:r.level+1});return $[Ke]=Ve,Ve},"defaultGenerator");r.fieldHook?P=r.fieldHook(T,r.currentPath,W):P=W()}i[l]=r.partial||!(T.required||P.id==="required")?r.allowNullOptionals?X.nullable(P):X.optional(P):P.id==="required"?P:X.required(P)}return r.allowPatchOperators&&(i._$pull=X.optional(X.isAny()),i._$push=X.optional(X.isAny())),i}};a(wn,"ComplexTypeBaseClass");var On=wn;U.prototype=On.prototype;import"reflect-metadata";import{omitUndefined as An}from"@jsopen/objects";import{asMutable as xl}from"ts-gems";import{vg as _l}from"valgen";var re=a(function(...o){if(!this)return re[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=xl(this);if(i.kind=u.EnumType.Kind,t.base){if(!(t.base instanceof re))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),bn=class bn extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof re?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return _l.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return An({...t,kind:this.kind,base:r,attributes:k(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(bn,"EnumTypeClass");var xr=bn;re.prototype=xr.prototype;Object.assign(re,xr);function gl(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(c=>{var m;if(!isNaN(Number(c)))return;let l=(m=r==null?void 0:r.meanings)==null?void 0:m[c];i[c]=An({description:l})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(c=>{var m;if(!isNaN(Number(c)))return;let l=(m=r==null?void 0:r.meanings)==null?void 0:m[c];i[o[c]]=An({alias:c,description:l})})}let s={kind:u.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,y,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(gl,"EnumTypeFactory");re.prototype=xr.prototype;re[w]=gl;var es={};kr(es,{Base64Type:()=>Sn,CreditCardType:()=>ai,DateTimeType:()=>He,DateTimeTypeTz:()=>wr,DateType:()=>_r,EanType:()=>kn,EmailType:()=>ie,FieldPathType:()=>Y,FilterType:()=>tt,IbanType:()=>Bn,IpType:()=>pi,MobilePhoneType:()=>Ar,ObjectIdType:()=>Vn,OperationResult:()=>Te,TimeType:()=>br,UrlType:()=>Hn,UuidType:()=>fi});import{__decorate as wl,__metadata as Al}from"tslib";import{isBase64 as bl,validator as Mn,vg as vn}from"valgen";import"reflect-metadata";import{omitUndefined as za}from"@jsopen/objects";import{asMutable as Ol}from"ts-gems";import{isAny as Ja}from"valgen";function Rn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(y,r)||{};o&&Object.assign(n,o),n.kind=u.SimpleType.Kind,n.name=i,Reflect.defineMetadata(y,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(Rn,"SimpleTypeDecoratorFactory");function Wa(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(y,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=u.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(y,r,e.constructor)}}a(Wa,"AttributeDecoratorFactory");var d=a(function(...o){var n,s;if(!this)return d[w](...o);let[e,t,r]=o;g.call(this,e,t,r);let i=Ol(this);if(i.kind=u.SimpleType.Kind,t.base){if(!(t.base instanceof d))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{},i.ownAttributes)for(let[c,l]of Object.entries(i.ownAttributes)){if((s=i.attributes[c])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${c}" can not be overwritten`);i.attributes[c]=l}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),Nn=class Nn extends g{constructor(){super(...arguments);p(this,"_generateDecoder");p(this,"_generateEncoder");p(this,"properties")}extend(t){return Object.setPrototypeOf(t,this),t}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof d?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}generateCodec(t,r,i){let n={...this.properties,...i};if(t==="decode"){let c=this;for(;c;){if(c._generateDecoder)return c._generateDecoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});c=this.base}return Ja}let s=this;for(;s;){if(s._generateEncoder)return s._generateEncoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});s=this.base}return Ja}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n=za(this.ownAttributes),s;this.properties&&typeof this.properties.toJSON=="function"?s=this.properties.toJSON(this.properties,this.owner,t):s=this.properties?k(this.properties):{};let c={...r,kind:this.kind,base:i,attributes:n&&Object.keys(n).length?n:void 0,properties:Object.keys(s).length?s:void 0};return Object.keys(this.ownNameMappings).length&&(c.nameMappings={...this.ownNameMappings}),za(c,!0)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Nn,"SimpleTypeClass");var Dn=Nn;d.prototype=Dn.prototype;Object.assign(d,Rn);d[w]=Rn;d.Attribute=Wa;var At,Sn=(At=class{constructor(e){p(this,"designType");e&&Object.assign(this,e)}[E](e){let t=vn.isBase64({coerce:!0});return e.designType===Buffer?vn.pipe([t,Rl],{coerce:!0}):e.designType===Uint8Array?vn.pipe([t,Dl],{coerce:!0}):t}[_](){return Nl}},a(At,"Base64Type"),At);Sn=wl([d({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Al("design:paramtypes",[Object])],Sn);var Rl=Mn(o=>Buffer.from(o,"base64")),Dl=Mn(o=>new Uint8Array(Buffer.from(o,"base64"))),Nl=Mn(o=>Buffer.isBuffer(o)?o.toString("base64"):bl(o));import{__decorate as Ya,__metadata as Ga}from"tslib";import{vg as Qa}from"valgen";var bt,ai=(bt=class{constructor(e){p(this,"provider");e&&Object.assign(this,e)}[E](e){return Qa.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}[_](e){return Qa.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}},a(bt,"CreditCardType"),bt);Ya([d.Attribute({description:"Locale to use for validation"}),Ga("design:type",Object)],ai.prototype,"provider",void 0);ai=Ya([d({name:"creditcard",description:"A Credit Card value",nameMappings:{js:"string",json:"string"}}),Ga("design:paramtypes",[Object])],ai);import{__decorate as In,__metadata as Ln}from"tslib";import{vg as Ie}from"valgen";var Xa=Ie.isDateString({precisionMin:"day",precisionMax:"day",trim:!0,coerce:!0}),vl=Ie.isDate({trim:"day",coerce:!0}),Rt,_r=(Rt=class{constructor(e){p(this,"designType");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t;e.designType===Date?t=vl:t=Xa;let r=[t];return e.minValue!=null&&r.push(Ie.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ie.isLte(t(e.maxValue))),r.length>0?Ie.pipe(r,{returnIndex:0}):t}[_](e){let t=Xa,r=[t];return e.minValue!=null&&r.push(Ie.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ie.isLte(t(e.maxValue))),r.length>0?Ie.pipe(r,{returnIndex:0}):t}},a(Rt,"DateType"),Rt);In([d.Attribute({description:"Minimum value"}),Ln("design:type",String)],_r.prototype,"minValue",void 0);In([d.Attribute({description:"Maximum value"}),Ln("design:type",String)],_r.prototype,"maxValue",void 0);_r=In([d({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),Ln("design:paramtypes",[Object])],_r);import{__decorate as gr,__metadata as Or}from"tslib";import{vg as we}from"valgen";var Dt,He=(Dt=class{constructor(e){p(this,"designType");p(this,"precisionMin");p(this,"precisionMax");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t;e.designType===Date?t=we.isDate({coerce:!0}):t=we.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0});let r=[t];return e.minValue!=null&&r.push(we.isGte(t(e.minValue))),e.maxValue!=null&&r.push(we.isLte(t(e.maxValue))),r.length>0?we.pipe(r,{returnIndex:0}):t}[_](e){let t=we.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0}),r=[t];return e.minValue!=null&&r.push(we.isGte(t(e.minValue))),e.maxValue!=null&&r.push(we.isLte(t(e.maxValue))),r.length>0?we.pipe(r,{returnIndex:0}):t}},a(Dt,"DateTimeType"),Dt);gr([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "day".'}),Or("design:type",String)],He.prototype,"precisionMin",void 0);gr([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "ms".'}),Or("design:type",String)],He.prototype,"precisionMax",void 0);gr([d.Attribute({description:"Minimum value"}),Or("design:type",String)],He.prototype,"minValue",void 0);gr([d.Attribute({description:"Maximum value"}),Or("design:type",String)],He.prototype,"maxValue",void 0);He=gr([d({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}),Or("design:paramtypes",[Object])],He);import{__decorate as Pn,__metadata as Cn}from"tslib";import{vg as et}from"valgen";var Za=et.isDateString({precisionMin:"tz",coerce:!0}),Nt,wr=(Nt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=Za,r=[t];return e.minValue!=null&&r.push(et.isGte(t(e.minValue))),e.maxValue!=null&&r.push(et.isLte(t(e.maxValue))),r.length>0?et.pipe(r,{returnIndex:0}):t}[_](e){let t=Za,r=[t];return e.minValue!=null&&r.push(et.isGte(t(e.minValue))),e.maxValue!=null&&r.push(et.isLte(t(e.maxValue))),r.length>0?et.pipe(r,{returnIndex:0}):t}},a(Nt,"DateTimeTypeTz"),Nt);Pn([d.Attribute({description:"Minimum value"}),Cn("design:type",String)],wr.prototype,"minValue",void 0);Pn([d.Attribute({description:"Maximum value"}),Cn("design:type",String)],wr.prototype,"maxValue",void 0);wr=Pn([d({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),Cn("design:paramtypes",[Object])],wr);import{__decorate as Sl,__metadata as Ml}from"tslib";import{vg as Ha}from"valgen";var vt,kn=(vt=class{constructor(e){e&&Object.assign(this,e)}[E](){return Ha.isEAN({coerce:!0})}[_](){return Ha.isEAN({coerce:!0})}},a(vt,"EanType"),vt);kn=Sl([d({name:"ean",description:"An EAN (European Article Number)",nameMappings:{js:"string",json:"string"}}),Ml("design:paramtypes",[Object])],kn);import{__decorate as he,__metadata as ye}from"tslib";import{vg as ep}from"valgen";var St,ie=(St=class{constructor(e){p(this,"allowDisplayName");p(this,"requireDisplayName");p(this,"utf8LocalPart");p(this,"ignoreMaxLength");p(this,"allowIpDomain");p(this,"domainSpecificValidation");p(this,"hostBlacklist");p(this,"hostWhitelist");p(this,"blacklistedChars");e&&Object.assign(this,e)}[E](e){return ep.isEmail({...e,coerce:!0})}[_](e){return ep.isEmail({...e,coerce:!0})}},a(St,"EmailType"),St);he([d.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),ye("design:type",Boolean)],ie.prototype,"allowDisplayName",void 0);he([d.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),ye("design:type",Boolean)],ie.prototype,"requireDisplayName",void 0);he([d.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),ye("design:type",Boolean)],ie.prototype,"utf8LocalPart",void 0);he([d.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),ye("design:type",Boolean)],ie.prototype,"ignoreMaxLength",void 0);he([d.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),ye("design:type",Boolean)],ie.prototype,"allowIpDomain",void 0);he([d.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}),ye("design:type",Boolean)],ie.prototype,"domainSpecificValidation",void 0);he([d.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."}),ye("design:type",Array)],ie.prototype,"hostBlacklist",void 0);he([d.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."}),ye("design:type",Array)],ie.prototype,"hostWhitelist",void 0);he([d.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."}),ye("design:type",String)],ie.prototype,"blacklistedChars",void 0);ie=he([d({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),ye("design:paramtypes",[Object])],ie);import{__decorate as jn,__metadata as Fn}from"tslib";import{toString as Il,validator as Ll,vg as Pl}from"valgen";var Mt,Y=(Mt=class{constructor(e){p(this,"dataType");p(this,"allowSigns");e&&Object.assign(this,e)}[E](e,{element:t,scope:r}){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=Ll("decodeFieldPath",c=>i.normalizeFieldPath(c,{allowSigns:n,scope:r}));return Pl.pipe([Il,s])}[_](e,t){return this[E](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Mt,"FieldPathType"),Mt);jn([d.Attribute({description:"Data type which field belong to"}),Fn("design:type",Object)],Y.prototype,"dataType",void 0);jn([d.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'}),Fn("design:type",String)],Y.prototype,"allowSigns",void 0);Y=jn([d({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),Fn("design:paramtypes",[Object])],Y);import{__decorate as Un,__metadata as $n}from"tslib";import{validator as tp}from"valgen";var It,tt=(It=class{constructor(e){p(this,"dataType");p(this,"rules");e&&Object.assign(this,e)}[E](e,{element:t}){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new gt(e.rules):void 0;return Cl(r,i)}[_](){return kl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(It,"FilterType"),It);Un([d.Attribute({description:"Data type which filtering fields belong to"}),$n("design:type",Object)],tt.prototype,"dataType",void 0);Un([d.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),$n("design:type",Object)],tt.prototype,"rules",void 0);tt=Un([d({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),$n("design:paramtypes",[Object])],tt);var Cl=a((o,e,t)=>tp("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=Er.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),kl=tp("encodeFilter",(o,e,t)=>{if(o instanceof Er.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as jl,__metadata as Fl}from"tslib";import{vg as rp}from"valgen";var Lt,Bn=(Lt=class{constructor(e){e&&Object.assign(this,e)}[E](){return rp.isIBAN({coerce:!0})}[_](){return rp.isIBAN({coerce:!0})}},a(Lt,"IbanType"),Lt);Bn=jl([d({name:"iban",description:"An IBAN (International Bank Account Number)",nameMappings:{js:"string",json:"string"}}),Fl("design:paramtypes",[Object])],Bn);import{__decorate as ip,__metadata as op}from"tslib";import{vg as Le}from"valgen";var Pt,pi=(Pt=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[E](e){return e!=null&&e.version?Le.isIP(e==null?void 0:e.version,{coerce:!0}):Le.oneOf([Le.isIP("4",{coerce:!0}),Le.isIP("6",{coerce:!0})])}[_](e){return e!=null&&e.version?Le.isIP(e==null?void 0:e.version,{coerce:!0}):Le.oneOf([Le.isIP("4",{coerce:!0}),Le.isIP("6",{coerce:!0})])}},a(Pt,"IpType"),Pt);ip([d.Attribute({description:"IP version to use for validation"}),op("design:type",Object)],pi.prototype,"version",void 0);pi=ip([d({name:"ip",description:"An IP address",nameMappings:{js:"string",json:"string"}}),op("design:paramtypes",[Object])],pi);import{__decorate as qn,__metadata as Kn}from"tslib";import{vg as np}from"valgen";var Ct,Ar=(Ct=class{constructor(e){p(this,"locale");p(this,"strictMode");e&&Object.assign(this,e)}[E](e){return np.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}[_](e){return np.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}},a(Ct,"MobilePhoneType"),Ct);qn([d.Attribute({description:"Locale to use for validation"}),Kn("design:type",String)],Ar.prototype,"locale",void 0);qn([d.Attribute({description:"If this is set to true, the mobile phone number must be supplied with the country code and therefore must start with +. Locale number"}),Kn("design:type",Boolean)],Ar.prototype,"strictMode",void 0);Ar=qn([d({name:"mobilephone",description:"A Mobile Phone Number value",nameMappings:{js:"string",json:"string"}}),Kn("design:paramtypes",[Object])],Ar);import{__decorate as Ul,__metadata as $l}from"tslib";import{vg as sp}from"valgen";var kt,Vn=(kt=class{constructor(e){e&&Object.assign(this,e)}[E](){return sp.isObjectId({coerce:!0})}[_](){return sp.isObjectId({coerce:!0})}},a(kt,"ObjectIdType"),kt);Vn=Ul([d({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),$l("design:paramtypes",[Object])],Vn);import{__decorate as Pe,__metadata as Ce}from"tslib";import{omitUndefined as ap}from"@jsopen/objects";import{asMutable as ql}from"ts-gems";import{vg as ci}from"valgen";import{omitUndefined as Bl}from"@jsopen/objects";function Wn(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(y,r.constructor)||{};n.kind=u.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),c=n.fields[i]={...o,designType:s};s===Array?c.isArray=!0:c.type=c.type||s,Reflect.defineMetadata(y,n,r.constructor);for(let l of e)l(c)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(Bl({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(Wn,"ApiFieldDecoratorFactory");var B=a(function(...o){if(!(this instanceof B)){let[n]=o;return B[w](n)}let[e,t]=o;A.call(this,e);let r=ql(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof U))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.designType=t.designType,r.override=t.override},"ApiField"),Jn=class Jn extends A{constructor(){super(...arguments);p(this,"origin")}inScope(t){return mr(t,this.scopePattern)}forScope(t){if(!(t&&this.override))return this;this._overrideCache=this._overrideCache||{};let r=this._overrideCache[t];if(r)return r;if(t!=="*"){for(let i of this.override)if(mr(t,i.scopePattern)){r=ap({...i,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:i.scopePattern}),Object.setPrototypeOf(r,this);break}}return r=r||this,this._overrideCache[t]=r,r}toJSON(t){var i;let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ap({type:r||((i=this.type)==null?void 0:i.toJSON(t)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}generateCodec(t,r,i){var s;if(this.fixed)return ci.fixed(this.fixed);let n=((s=this.type)==null?void 0:s.generateCodec(t,r,{...i,designType:this.designType}))||ci.isAny();return this.default!==void 0&&(n=ci.required(n,{default:this.default})),this.isArray&&this.type.kind!==u.ArrayType.Kind&&(n=ci.isArray(n)),n}};a(Jn,"ApiFieldClass");var zn=Jn;B.prototype=zn.prototype;Object.assign(B,Wn);B[w]=Wn;import"reflect-metadata";import{omitUndefined as Vl}from"@jsopen/objects";import{asMutable as Wl}from"ts-gems";import{omit as Kl}from"@jsopen/objects";function Qn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(y,e);r||(r={},Reflect.defineMetadata(y,r,e)),r.kind=u.ComplexType.Kind,r.name=t,o&&Object.assign(r,Kl(o,["name"]))}}a(Qn,"ComplexTypeDecorator");var oe=a(function(...o){var n;if(!this)return oe[w].apply(void 0,o);let[e,t]=o,r=o[2]||new de({maxErrors:0});U.call(this,e,t,r);let i=Wl(this);i.kind=u.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof U))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new B(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,c]of Object.entries(t.fields)){let l=new B(this,{...c,name:s});this._fields.set(l.name,l)}})},"ComplexType"),Gn=class Gn extends U{constructor(){super(...arguments);p(this,"base")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof U?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n={...r,kind:this.kind,base:this.base?i||this.base.toJSON(t):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof g){let s=this.node.getDataTypeNameWithNs(this.additionalFields);n.additionalFields=s||this.additionalFields.toJSON(t)}else n.additionalFields=this.additionalFields;if(this._fields.size){let s={},c=0;for(let l of this._fields.values())l.origin===this&&l.inScope(t==null?void 0:t.scope)&&(s[l.name]=l.toJSON(t),c++);c&&(n.fields=s)}return Vl(n)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Gn,"ComplexTypeClass");var Yn=Gn;oe.prototype=Yn.prototype;Object.assign(oe,Qn);oe[w]=Qn;var jt,Te=(jt=class{constructor(e){e&&Object.assign(this,e)}},a(jt,"OperationResult"),jt);Pe([B(),Ce("design:type",String)],Te.prototype,"context",void 0);Pe([B(),Ce("design:type",String)],Te.prototype,"type",void 0);Pe([B(),Ce("design:type",String)],Te.prototype,"message",void 0);Pe([B({type:"any"}),Ce("design:type",Object)],Te.prototype,"payload",void 0);Pe([B({type:"object"}),Ce("design:type",Array)],Te.prototype,"errors",void 0);Te=Pe([oe({name:"OperationResult",description:"Operation result",additionalFields:!0}),Ce("design:paramtypes",[Object])],Te);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return Pe([B({type:t,required:!0}),Ce("design:type",Object)],r.prototype,"payload",void 0),r=Pe([oe({embedded:!0}),Ce("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Te||(Te={}));import{__decorate as Xn,__metadata as Zn}from"tslib";import{vg as li}from"valgen";var zl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Ft,br=(Ft=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=li.matches(zl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(li.isGte(e.minValue)),e.maxValue!=null&&r.push(li.isLte(e.maxValue)),r.length>0?li.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[E](e)}},a(Ft,"TimeType"),Ft);Xn([d.Attribute({description:"Minimum value"}),Zn("design:type",String)],br.prototype,"minValue",void 0);Xn([d.Attribute({description:"Maximum value"}),Zn("design:type",String)],br.prototype,"maxValue",void 0);br=Xn([d({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Zn("design:paramtypes",[Object])],br);import{__decorate as Jl,__metadata as Ql}from"tslib";import{vg as pp}from"valgen";var Ut,Hn=(Ut=class{constructor(e){e&&Object.assign(this,e)}[E](){return pp.isURL({coerce:!0})}[_](){return pp.isURL({coerce:!0})}},a(Ut,"UrlType"),Ut);Hn=Jl([d({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Ql("design:paramtypes",[Object])],Hn);import{__decorate as lp,__metadata as fp}from"tslib";import{vg as cp}from"valgen";var $t,fi=($t=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[E](e){return cp.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return cp.isUUID(e==null?void 0:e.version,{coerce:!0})}},a($t,"UuidType"),$t);lp([d.Attribute({description:"Version of the UUID"}),fp("design:type",Object)],fi.prototype,"version",void 0);fi=lp([d({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),fp("design:paramtypes",[Object])],fi);import sf from"path-browserify";import{omitUndefined as af}from"@jsopen/objects";import{asMutable as pf}from"ts-gems";var ne=Symbol.for("kMap"),Rr=Symbol.for("kCtorMap"),mp,up,ts=class ts{constructor(){p(this,up,new S);p(this,mp,new WeakMap)}get size(){return this[ne].size}forEach(e,t){this[ne].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Rr].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(y,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[y];t=i==null?void 0:i.name}if(!t)return;let r=this[ne].get(t);if(r){if(typeof e=="function"&&r.kind==="ComplexType"&&r.ctor!==e)throw new TypeError(`An other data type with same class (${e.name}) already exists.`);return r}}set(e,t){this[ne].set(e,t),t.ctor?this[Rr].set(t.ctor,e):t.instance&&this[Rr].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[ne].has(e.name);let t=typeof e=="string"?e:this[Rr].get(e);return t?this[ne].has(t):!1}keys(){return this[ne].keys()}values(){return this[ne].values()}entries(){return this[ne].entries()}sort(e){return this[ne].sort(e),this}[(up=ne,mp=Rr,Symbol.iterator)](){return this[ne][Symbol.iterator]()}};a(ts,"DataTypeMap");var z=ts;import nf from"@browsery/type-is";import{isConstructor as Bt}from"@jsopen/objects";import Zl from"@browsery/type-is";import{omitUndefined as Hl}from"@jsopen/objects";import{asMutable as ef}from"ts-gems";import{isAny as tf,vg as rf}from"valgen";import"reflect-metadata";import{omitUndefined as Yl}from"@jsopen/objects";import{asMutable as Gl}from"ts-gems";import{vg as mi}from"valgen";var ke=a(function(...o){if(!this)return ke[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=Gl(this);i.kind=u.ArrayType.Kind,i.type=t.type,i.minOccurs=t.minOccurs,i.maxOccurs=t.maxOccurs},"ArrayType"),is=class is extends g{toJSON(e){let t=super.toJSON(e),r=this.node.getDataTypeNameWithNs(this.type);return Yl({...t,kind:this.kind,type:r||this.type.toJSON(e),minOccurs:this.minOccurs,maxOccurs:this.maxOccurs})}generateCodec(e,t,r){let i=this.type.generateCodec(e,t,r);i=mi.isArray(i);let n=[];return this.minOccurs&&n.push(mi.lengthMin(this.minOccurs)),this.maxOccurs&&n.push(mi.lengthMax(this.maxOccurs)),n.length>0?mi.pipe([i,...n],{returnIndex:0}):i}extendsFrom(){return!1}_locateBase(){}};a(is,"ArrayTypeClass");var rs=is;ke.prototype=rs.prototype;ke[w]=Xl;function Xl(o,e){let i=class i{};a(i,"ArrayClass");let t=i,r={...e,kind:u.ArrayType.Kind,type:o};return Reflect.defineMetadata(y,r,t),t}a(Xl,"ArrayTypeFactory");var je=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');A.call(this,o);let t=ef(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxParts=e.maxParts,t.maxPartSize=e.maxPartSize,t.maxFieldSize=e.maxFieldSize,t.maxTotalSize=e.maxTotalSize,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,t.designType=e.designType},"HttpMediaType"),ns=class ns extends A{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Hl({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxParts:this.maxParts,maxPartSize:this.maxPartSize,maxFieldSize:this.maxFieldSize,maxTotalSize:this.maxTotalSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t,r){let i;return this.type?i=this.type.generateCodec(e,t,{designType:this.designType}):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(s=>Zl.is(s,["json"]))&&(i=this.node.findDataType("object").generateCodec(e,t,{...r,designType:this.designType})),i=i||tf,this.isArray&&!(this.type instanceof ke)?rf.isArray(i):i}};a(ns,"HttpMediaTypeClass");var os=ns;je.prototype=os.prototype;import{omitUndefined as of}from"@jsopen/objects";function Fe(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(Fe,"parseRegExp");var ss=class ss extends je{constructor(t,r){super(t,r);p(this,"fieldName");p(this,"fieldType");p(this,"required");this.fieldName=r.fieldName instanceof RegExp?r.fieldName:r.fieldName.startsWith("/")?Fe(r.fieldName):r.fieldName,this.fieldType=r.fieldType,this.required=r.required}toJSON(t){return of({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(t)})}};a(ss,"HttpMultipartField");var ui=ss;function L(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:u.HttpOperation.Kind},s=Reflect.getOwnMetadata(ae,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n);Reflect.defineMetadata(ae,s,r.constructor)}),"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="cookie"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="header"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="query"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="path"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType??R.json),(n.contentType?Array.isArray(n.contentType)?n.contentType:[n.contentType]:[]).find(c=>c.endsWith("+json")||c.endsWith("+xml")||c.endsWith("+yaml")||c.endsWith("+toml")||nf.is(c,"json","html","text","xml"))&&(n.contentEncoding=n.contentEncoding??"utf-8"),Bt(n.type)&&(n.designType=n.type),o.push(c=>{c.responses=c.responses||[],c.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||[R.json,R.yaml,R.yaml2,R.toml,R.toml2],i.contentEncoding=i.contentEncoding||"utf-8",Bt(i.type)&&(i.designType=i.type)),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"field",...l}),s},File(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"file",...l}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(L,"HttpOperationDecoratorFactory");var D=a(function(...o){if(!this){let[i]=o,n=[];return D[w].call(void 0,n,i)}let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=pf(this);r.parameters=[],r.responses=[],r.types=r.node[C]=new z,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?k(t.compositionOptions):void 0},"HttpOperation"),ps=class ps extends A{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:sf.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=af({kind:u.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(ps,"HttpOperationClass");var as=ps;D.prototype=as.prototype;D[w]=L;D.GET=function(o){return L([],{...o,method:"GET"})};D.DELETE=function(o){return L([],{...o,method:"DELETE"})};D.HEAD=function(o){return L([],{...o,method:"HEAD"})};D.OPTIONS=function(o){return L([],{...o,method:"OPTIONS"})};D.PATCH=function(o){return L([],{...o,method:"PATCH"})};D.POST=function(o){return L([],{...o,method:"POST"})};D.PUT=function(o){return L([],{...o,method:"PUT"})};D.SEARCH=function(o){return L([],{...o,method:"SEARCH"})};import{omitUndefined as cf}from"@jsopen/objects";var cs=class cs extends A{constructor(t){super(t);p(this,"description");p(this,"content",[]);p(this,"required");p(this,"maxContentSize");p(this,"immediateFetch");p(this,"partial");p(this,"allowPatchOperators");p(this,"keepKeyFields");p(this,"allowNullOptionals")}toJSON(t){return cf({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(r=>r.toJSON(t)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators,allowNullOptionals:this.allowNullOptionals})}};a(cs,"HttpRequestBody");var di=cs;D.Entity={};function J(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(y,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(J,"getDataTypeName");function Ue(o,e){return(t,r)=>{let i=typeof r=="string"||typeof r=="function"?{name:t,location:"path",type:r,keyParam:!0}:{...r,name:t,location:"path",keyParam:!0};return o.PathParam(t,i),e.push(n=>{var s;(s=n.path)!=null&&s.includes(":"+t)||(n.path=(n.path||"")+"@:"+t),n.mergePath=!0}),o}}a(Ue,"createKeyParamDecorator");function dp(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,c)=>{let l=c.split(":");return s[l[0]]=l[1]||l[0],s},{}),i=Object.keys(r).reduce((s,c)=>{let l=wt.exec(c),m=wt.exec(r[c]);return l&&m&&(s[l[2]]=m[2]),s},{}),n=Object.keys(r).reduce((s,c)=>{let l=wt.exec(c);return l&&(l[1]!="-"&&(s[l[2]]=l[2]),l[1]!="+"&&(s["-"+l[2]]="-"+l[2])),s},{});return e.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:re(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(c=>{let l=wt.exec(c);return l?(l[1]||"")+i[l[2]]:c}),"parser")}),o}}a(dp,"createSortFieldsDecorator");function $e(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new gt,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new tt({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let c=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(c.operators=c.operators||["=","!="],n.includes(":")){let l=n.split(":");n=l[0],c.mappedField=l[1]}return e.push(()=>{r.set(n,c),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a($e,"createFilterDecorator");D.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=J(t.type)}),i};D.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:R.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.KeyParam=Ue(i,r),i};D.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:R.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.Filter=$e(i,r,t.type),i};var _s={};kr(_s,{AnyType:()=>ls,BigintType:()=>hs,BooleanType:()=>ys,IntegerType:()=>Jt,NullType:()=>Es,NumberType:()=>Ae,ObjectType:()=>xs,StringType:()=>rt});import{__decorate as lf,__metadata as ff}from"tslib";import{isAny as hp}from"valgen";var qt,ls=(qt=class{constructor(e){e&&Object.assign(this,e)}[E](){return hp}[_](){return hp}},a(qt,"AnyType"),qt);ls=lf([d({name:"any",description:"Represents any value"}),ff("design:paramtypes",[Object])],ls);import{__decorate as mf,__metadata as uf}from"tslib";import{toBigint as Tp,vg as ds}from"valgen";import{__decorate as ms,__metadata as us}from"tslib";import{toNumber as yp,vg as fs}from"valgen";var Kt,Ae=(Kt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=[];return e.minValue!=null&&t.push(fs.isGte(e.minValue)),e.maxValue!=null&&t.push(fs.isLte(e.maxValue)),t.length>0?fs.pipe([yp,...t],{returnIndex:0}):yp}[_](e){return this[E](e)}},a(Kt,"NumberType"),Kt);ms([d.Attribute({description:"Determines the minimum value"}),us("design:type",Number)],Ae.prototype,"minValue",void 0);ms([d.Attribute({description:"Determines the maximum value"}),us("design:type",Number)],Ae.prototype,"maxValue",void 0);Ae=ms([d({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),us("design:paramtypes",[Object])],Ae);var Vt,hs=(Vt=class extends Ae{constructor(e){super(e)}[E](e){let t=[];return e.minValue!=null&&t.push(ds.isGte(e.minValue)),e.maxValue!=null&&t.push(ds.isLte(e.maxValue)),t.length>0?ds.pipe([Tp,...t],{returnIndex:0}):Tp}[_](e){return this[E](e)}},a(Vt,"BigintType"),Vt);hs=mf([d({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),uf("design:paramtypes",[Object])],hs);import{__decorate as df,__metadata as hf}from"tslib";import{toBoolean as Ep}from"valgen";var Wt,ys=(Wt=class{constructor(e){e&&Object.assign(this,e)}[E](){return Ep}[_](){return Ep}},a(Wt,"BooleanType"),Wt);ys=df([d({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),hf("design:paramtypes",[Object])],ys);import{__decorate as yf,__metadata as Tf}from"tslib";import{toInteger as xp,vg as Ts}from"valgen";var zt,Jt=(zt=class extends Ae{constructor(e){super(e)}[E](e){let t=[];return e.minValue!=null&&t.push(Ts.isGte(e.minValue)),e.maxValue!=null&&t.push(Ts.isLte(e.maxValue)),t.length>0?Ts.pipe([xp,...t],{returnIndex:0}):xp}[_](e){return this[E](e)}},a(zt,"IntegerType"),zt);Jt=yf([d({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Tf("design:paramtypes",[Object])],Jt);import{__decorate as Ef,__metadata as xf}from"tslib";import{isNull as _p}from"valgen";var Qt,Es=(Qt=class{constructor(e){e&&Object.assign(this,e)}[E](){return _p}[_](){return _p}},a(Qt,"NullType"),Qt);Es=Ef([d({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),xf("design:paramtypes",[Object])],Es);import{__decorate as _f,__metadata as gf}from"tslib";var Yt,xs=(Yt=class{constructor(e){e&&Object.assign(this,e)}},a(Yt,"ObjectType"),Yt);xs=_f([oe({name:"object",description:"A non modelled object",additionalFields:!0}),gf("design:paramtypes",[Object])],xs);import{__decorate as Dr,__metadata as Nr}from"tslib";import{toString as gp,vg as hi}from"valgen";var Gt,rt=(Gt=class{constructor(e){p(this,"pattern");p(this,"patternName");p(this,"minLength");p(this,"maxLength");e&&Object.assign(this,e)}[E](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(y,Object.getPrototypeOf(this).constructor).name),t.push(hi.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(hi.lengthMin(e.minLength)),e.maxLength&&t.push(hi.lengthMax(e.maxLength)),t.length>0?hi.pipe([gp,...t],{returnIndex:0}):gp}[_](e){return this[E](e)}},a(Gt,"StringType"),Gt);Dr([d.Attribute({description:"Regex pattern to be used for validation"}),Nr("design:type",Object)],rt.prototype,"pattern",void 0);Dr([d.Attribute({description:"Name of the pattern"}),Nr("design:type",String)],rt.prototype,"patternName",void 0);Dr([d.Attribute({description:"Minimum number of characters"}),Nr("design:type",Number)],rt.prototype,"minLength",void 0);Dr([d.Attribute({description:"Minimum number of characters"}),Nr("design:type",Number)],rt.prototype,"maxLength",void 0);rt=Dr([d({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),Nr("design:paramtypes",[Object])],rt);D.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:R.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Jt({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Jt({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=$e(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.defaultSort=n}),i),i.SortFields=dp(i,r),i};D.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.KeyParam=Ue(i,r),i};D.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.KeyParam=Ue(i,r),i};D.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=J(t.type)}),i.KeyParam=Ue(i,r),i.Filter=$e(i,r,t.type),i};D.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:R.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=J(t.type)}),i.Filter=$e(i,r,t.type),i};import{merge as gs}from"@jsopen/objects";var Of=/^(.*)(Controller)$/,Op=[];function Xt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Of.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(pe,Object.getPrototypeOf(r));s&&gs(n,s,{deep:!0});let c=Reflect.getOwnMetadata(pe,r);c&&gs(n,c,{deep:!0}),gs(n,{...o,kind:u.MQController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(pe,n,r);for(let m of e)m(n,r);Reflect.defineMetadata(pe,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),Op.forEach(r=>r(t,e,o)),t}a(Xt,"MQControllerDecoratorFactory");Xt.augment=function(o){Op.push(o)};import{isConstructor as wp,omit as Af}from"@jsopen/objects";var Ap=[];function vr(o,e,t){let r=!1,i=a(((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let c={kind:u.MQOperation.Kind,channel:s,type:e,...Af(t,["kind","type"])},l=Reflect.getOwnMetadata(pe,n.constructor)||{};l.operations=l.operations||{},l.operations[s]=c;for(let m of o)m(c,n,s);Reflect.defineMetadata(pe,l,n.constructor)}),"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(c=>{let l=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n};wp(l.type)&&(l.designType=l.type);let m=r?c.response:c;m.headers?m.headers=m.headers.filter(T=>String(T.name)!==String(n)):m.headers=[],m.headers.push(l)}),i),i.Response=(n,s)=>(o.push(c=>{r=!0,c.response={...s,type:n},wp(n)&&(c.response.designType=n)}),i),Ap.forEach(n=>n(i,o,e,t)),i}a(vr,"MQOperationDecoratorFactory");vr.augment=function(o){Ap.push(o)};import{merge as Os}from"@jsopen/objects";var Rf=/^(.*)(Controller)$/,bp=[];function Zt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Rf.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(ce,Object.getPrototypeOf(r));s&&Os(n,s,{deep:!0});let c=Reflect.getOwnMetadata(ce,r);c&&Os(n,c,{deep:!0}),Os(n,{...o,kind:u.WSController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ce,n,r);for(let m of e)m(n,r);Reflect.defineMetadata(ce,n,r)},"decorator");return t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),bp.forEach(r=>r(t,e,o)),t}a(Zt,"WSControllerDecoratorFactory");Zt.augment=function(o){bp.push(o)};import{omit as Nf}from"@jsopen/objects";var Rp=[];function Sr(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:u.WSOperation.Kind,event:i,...Nf(e,["kind"])},s=Reflect.getOwnMetadata(ce,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n,r,i);Reflect.defineMetadata(ce,s,r.constructor)}),"decorator");return t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),Rp.forEach(r=>r(t,o,e)),t}a(Sr,"WSOperationDecoratorFactory");Sr.augment=function(o){Rp.push(o)};import"reflect-metadata";import{omitUndefined as Sf}from"@jsopen/objects";import{asMutable as Mf}from"ts-gems";function yi(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(yi,"getIsInheritedPredicateFn");var it=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;U.call(this,e,t,r);let i=Mf(this);if(i.kind=u.MappedType.Kind,t.base){if(!(t.base instanceof U))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(m=>i.base.normalizeFieldPath(m)):t.omit?i.omit=t.omit.map(m=>i.base.normalizeFieldPath(m)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(m=>i.base.normalizeFieldPath(m)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(m=>i.base.normalizeFieldPath(m)):t.required);let s=yi(i.pick,i.omit),c=Array.isArray(i.partial)?i.partial.map(m=>m.toLowerCase()):i.partial,l=Array.isArray(i.required)?i.required.map(m=>m.toLowerCase()):i.required;for(let[m,T]of i.base.fieldEntries("*")){if(!s(m))continue;let O={...T};c===!0||Array.isArray(c)&&c.includes(T.name.toLowerCase())?O.required=!1:(l===!0||Array.isArray(l)&&l.includes(T.name.toLowerCase()))&&(O.required=!0);let x=new B(this,O);i._fields.set(x.name,x)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),As=class As extends U{constructor(){super(...arguments);p(this,"omit");p(this,"pick");p(this,"partial");p(this,"required")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof U?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Sf({...r,base:i||this.base.toJSON(t),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(As,"MappedTypeClass");var ws=As;it.prototype=ws.prototype;it._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as If}from"@jsopen/objects";import{asMutable as Lf}from"ts-gems";var Ht=a(function(...o){if(!this)return Ht[w].apply(void 0,o);let[e,t,r]=o;U.call(this,e,t,r);let i=Lf(this);i.kind=u.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let c=new B(this,s);i._fields.set(c.name,c)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Rs=class Rs extends U{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof U))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return If({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a(Rs,"MixinTypeClass");var bs=Rs;Ht.prototype=bs.prototype;Ht[w]=Pf;function Pf(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)Ur(this,n)}}}[t],i={...e,kind:u.MixinType.Kind,types:[]};Reflect.defineMetadata(y,i,r);for(let n of o){let s=Reflect.getMetadata(y,n);if(!(s&&(s.kind===u.ComplexType.Kind||s.kind===u.MixinType.Kind||s.kind===u.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${u.ComplexType.Kind}, ${u.MixinType.Kind} or ${u.MappedType.Kind}`);i.types.push(n),Fr(r.prototype,n.prototype)}return r}a(Pf,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as Cf}from"@jsopen/objects";import{asMutable as kf}from"ts-gems";import{vg as Dp}from"valgen";var er=a(function(...o){if(!this)return er[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=kf(this);i.kind=u.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),Ns=class Ns extends g{toJSON(e){let t=super.toJSON(e);return Cf({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===u.ComplexType.Kind||i.kind===u.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:Dp.isEqual(i.discriminatorValue)}]:n});return Dp.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(Ns,"UnionTypeClass");var Ds=Ns;er.prototype=Ds.prototype;er[w]=jf;function jf(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:u.UnionType.Kind,types:o};return Reflect.defineMetadata(y,r,t),t}a(jf,"UnionTypeFactory");var vs=Symbol("initializing"),Ti=class Ti{static async createDataType(e,t,r){e=e||new de({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Ti.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[C];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new de({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let l of i)n.set(l.name,l);let s=e.extend({initArgsMap:n}),c=[];for(let[l,m]of n.entries())e.enter(`[${l}]`,()=>{if(!n.has(l))return;let T=this._createDataType(s,t,m);T&&c.push(T)});return c}static async _prepareAllInitArgs(e,t,r){let i=new S,n=new S,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[C])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let c=0;for(let l of r)await s.enterAsync(`$[${c++}]`,async()=>{l=await H(l);let m=Reflect.getMetadata(y,l)||l[y];if(!(m&&m.name))return typeof l=="function"?s.addError(`Class "${l.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(m.name,l)})}else{let c,l;for([l,c]of Object.entries(r))c=await H(c),i.set(l,typeof c=="object"?{...c,name:l}:c)}for(let c of Array.from(i.keys())){if(!i.has(c))continue;let l=await this._importDataTypeArgs(s,t,c);l&&typeof l!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var O;r=await H(r);let{importQueue:n,initArgsMap:s}=e,c=t.node.findDataType(r);if(c instanceof g)return c.name;let l,m,T;if(typeof r!="string"){let $=t.node.getDocument().types[$r].get(r);$&&(r=$)}if(typeof r=="string"){let x=r;if(r=(n==null?void 0:n.get(x))||((O=e.initArgsMap)==null?void 0:O.get(x)),!r)return e.addError(`Unknown data type (${x})`)}if(typeof r=="function"){if(l=Reflect.getMetadata(y,r),!l)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);m=r}else if(typeof r=="object"){if(l=r[y],l)T=r,l.kind!==u.EnumType.Kind&&(l=void 0);else if(u.isDataType(r))l=r,m=l.ctor;else if(m=Object.getPrototypeOf(r).constructor,l=m&&Reflect.getMetadata(y,m),l&&l.kind===u.SimpleType.Kind){let x=await this._importDataTypeArgs(e,t,l.name);return x?typeof x=="object"&&x.kind!==u.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:u.SimpleType.Kind,name:void 0,base:x,properties:r}:void 0}}return l?e.enterAsync(l.name?`[${l.name}]`:"",async()=>{if(l.name){let $=s==null?void 0:s.get(l.name);if($)return i&&$[vs]?e.addError("Circular reference detected"):l.name}let x={kind:l.kind,name:l.name};x[vs]=!0;try{if(x.name)if(n!=null&&n.has(x.name))s==null||s.set(l.name,x),x._instance={name:l.name},x[C]=t.node[C];else return e.addError(`Data Type (${x.name}) must be explicitly added to type list in the document scope`);switch(x.kind){case u.ArrayType.Kind:await this._prepareArrayTypeArgs(e,t,x,l);break;case u.ComplexType.Kind:x.ctor=m,await this._prepareComplexTypeArgs(e,t,x,l);break;case u.EnumType.Kind:x.instance=T,await this._prepareEnumTypeArgs(e,t,x,l);break;case u.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,x,l);break;case u.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,x,l);break;case u.SimpleType.Kind:x.ctor=m,await this._prepareSimpleTypeArgs(e,t,x,l);break;case u.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,x,l);break;default:return e.addError(`Invalid data type kind ${l.kind}`)}}finally{x.name&&(n==null||n.delete(x.name)),delete x[vs]}return n&&x.name?x.name:x}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareArrayTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".type",async()=>{let n=await this._importDataTypeArgs(e,t,i.type);n&&(r.type=be(n))})}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=be(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=be(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let c=typeof s=="string"?{type:s}:s;if(c.isArray&&!c.type)return e.addError('"type" must be defined explicitly for array fields');let l=await this._importDataTypeArgs(e,t,c.type||"any");l&&(r.fields[n]={...c,type:be(l)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=be(n))}),r.attributes=k(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,c,l;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let m;if(i.base)m=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let T=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,T)&&(m=await this._importDataTypeArgs(e,t,T))}m&&(r.base=be(m),r.ctor=r.ctor||m.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=k(i.attributes)),typeof((n=r.properties)==null?void 0:n[E])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[E].bind(r.properties)),typeof((c=r.properties)==null?void 0:c[_])=="function"&&(r.generateEncoder=(l=r.properties)==null?void 0:l[_].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=be(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(be(l))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(be(l))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof g)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let c=n[C];switch(c||delete n._instance,i=n._instance,i!=null&&i.name&&c&&c.set(i.name,i),n==null?void 0:n.kind){case u.ArrayType.Kind:return this._createArrayType(e,t,n);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);case u.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createArrayType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ke.prototype);let n=k(r);return r.type&&e.enter(".type",()=>{n.type=this._createDataType(e,t,r.type)}),ke.apply(i,[t,n]),i}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,oe.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,c]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let l=this._createDataType(e,t,c.type);l&&(n.fields[s]={...c,name:s,type:l})})}),oe.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,re.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,re.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,it.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),it.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Ht.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);if(!(l instanceof U))throw new TypeError(`"${l==null?void 0:l.kind}" can't be set as base for a "${n.kind}"`);n.types.push(l)})}),Ht.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,d.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),d.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,er.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);n.types.push(l)})}),er.apply(i,[t,n]),i}};a(Ti,"DataTypeFactory");var M=Ti;function be(o){return typeof o=="object"&&o.name?o.name:o}a(be,"preferName");import{isConstructor as Xf}from"@jsopen/objects";import{omitUndefined as Uf}from"@jsopen/objects";var Ss=class Ss extends A{constructor(t){super(t.owner);p(this,"name","OpraApi");p(this,"description");this.name=t.name,this.description=t.description}toJSON(t){return Uf({transport:this.transport,name:this.name,description:this.description})}async _initialize(t,r){if(!F.test(t.name))throw new TypeError(`Invalid api name (${t.name})`);this.name=t.name,this.description=t==null?void 0:t.description}};a(Ss,"ApiBase");var Be=Ss;import zf from"path-browserify";import{omitUndefined as Jf}from"@jsopen/objects";import{asMutable as Qf}from"ts-gems";import{merge as Ms,omit as $f}from"@jsopen/objects";var Bf=/^(.*)(Controller)$/;function Is(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Bf.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&Ms(n,s,{deep:!0});let c=Reflect.getOwnMetadata(ae,r);c&&Ms(n,c,{deep:!0}),Ms(n,{kind:u.HttpController.Kind,name:i,path:i,...$f(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let m of e)m(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var c;(c=n.path)!=null&&c.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(Is,"HttpControllerDecoratorFactory");import{omitUndefined as Vf}from"@jsopen/objects";import{asMutable as Wf}from"ts-gems";import{vg as Np}from"valgen";import{omitUndefined as qf}from"@jsopen/objects";import{asMutable as Kf}from"ts-gems";var ot=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');A.call(this,o);let t=Kf(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Ps=class Ps extends A{constructor(){super(...arguments);p(this,"type");p(this,"description");p(this,"examples");p(this,"isArray")}toJSON(t){let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return qf({type:this.type?r||this.type.toJSON(t):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Ps,"ValueClass");var Ls=Ps;ot.prototype=Ls.prototype;var Mr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');ot.call(this,o,e);let t=Wf(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Fe(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.default=e.default,t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser,t.designType=e.designType},"HttpParameter"),ks=class ks extends ot{toJSON(e){return Vf({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,default:this.default,deprecated:this.deprecated})}generateCodec(e,t,r){var n;let i=((n=this.type)==null?void 0:n.generateCodec(e,t,{...r,designType:this.designType}))||Np.isAny();return this.default!==void 0?Np.required(i,{default:this.default}):i}};a(ks,"HttpParameterClass");var Cs=ks;Mr.prototype=Cs.prototype;var se=a(function(...o){var i;if(!this)return se[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Qf(this);r.kind=u.HttpController.Kind,r.types=r.node[C]=new z,r.operations=new S,r.controllers=new S,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Fs=class Fs extends A{get isRoot(){return!(this.owner instanceof se)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof se)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return zf.posix.join(this.owner instanceof se?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=Jf({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[ve](){return`[${Se}HttpController${Me+this.name+Oe}]`}};a(Fs,"HttpControllerClass");var js=Fs;se.prototype=js.prototype;Object.assign(se,Is);se[w]=Is;var Us=class Us extends Be{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","http");p(this,"controllers",new S);p(this,"url");this.url=t.url}findController(t){return se.prototype.findController.call(this,t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(t){let i={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let n of this.controllers.values())i.controllers[n.name]=n.toJSON(t);return i}};a(Us,"HttpApi");var nt=Us;import{omitUndefined as Gf}from"@jsopen/objects";var Yf=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,$s=class $s{constructor(e,t){p(this,"start",0);p(this,"end",0);if(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=Yf.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a($s,"HttpStatusRange");var Ir=$s;var Bs=class Bs extends je{constructor(t,r){super(t,r);p(this,"statusCode");p(this,"parameters");p(this,"partial");this.parameters=[],this.statusCode=(Array.isArray(r.statusCode)?r.statusCode:[r.statusCode]).map(i=>typeof i=="object"?new Ir(i.start,i.end):new Ir(i)),this.partial=r.partial}findParameter(t,r){t=t.toLowerCase();for(let i of this.parameters)if((!r||r===i.location)&&(i.name instanceof RegExp&&i.name.test(t)||i.name===t))return i}toJSON(t){let r=this.statusCode.map(n=>n.toJSON()),i=Gf({...super.toJSON(t),statusCode:r.length===1&&typeof r[0]=="number"?r[0]:r,partial:this.partial});if(this.parameters.length){i.parameters=[];for(let n of this.parameters)i.parameters.push(n.toJSON(t))}return i}};a(Bs,"HttpOperationResponse");var Ei=Bs;var qs=class qs{static async createApi(e,t){let r=new nt(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let c=await this._createController(e,t,s.metadata,s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(c.name,c))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let c=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(c.name,c))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!Xf(r)&&(r=t instanceof se?r(t.instance):r()),r=await H(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(ae,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(ae,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new se(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let c=0;for(let l of r.parameters)await e.enterAsync(`[${c++}]`,async()=>{let m={...l};await e.enterAsync(".type",async()=>{m.type=await M.resolveDataType(e,s,l.type)});let T=new Mr(s,m);s.parameters.push(T)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[c,l]of Object.entries(r.operations))await e.enterAsync(`[${c}]`,async()=>{let m=new D(s,{name:c,method:"GET"});await this._initHttpOperation(e,m,l),s.operations.set(c,m)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let c={...s};await e.enterAsync(".type",async()=>{c.type=await M.resolveDataType(e,t,s.type)});let l=new Mr(t,c);t.parameters.push(l)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let c=new Ei(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,c,s),t.responses.push(c)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new di(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){je.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await M.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new ui(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Mr(t,s);t.parameters.push(c)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.allowNullOptionals=r.allowNullOptionals,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new je(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(qs,"HttpApiFactory");var tr=qs;import{omitUndefined as am}from"@jsopen/objects";import{md5 as pm}from"super-fast-md5";import{omitUndefined as Hf}from"@jsopen/objects";import{asMutable as em}from"ts-gems";var st=a(function(...o){var i;if(!this)return st[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=em(this);r.kind=u.MQController.Kind,r.types=r.node[C]=new z,r.operations=new S,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"MQController"),Vs=class Vs extends A{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof st)return this.node.parent.element.findHeader(e,t)}toString(){return`[MQController ${this.name}]`}toJSON(){let e=Hf({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}[ve](){return`[${Se}MQController${Me+this.name+Oe}]`}};a(Vs,"MQControllerClass");var Ks=Vs;st.prototype=Ks.prototype;Object.assign(st,Xt);st[w]=Xt;import{omitUndefined as tm}from"@jsopen/objects";import{asMutable as rm}from"ts-gems";import{vg as vp}from"valgen";var Lr=a(function(...o){if(!this){let[i,n]=o,s=[];return Lr[w].call(void 0,s,i,n)}let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=rm(this);r.headers=[],r.types=r.node[C]=new z,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.type&&(r.type=(t==null?void 0:t.type)instanceof g?t.type:r.owner.node.getDataType(t.type)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType)),r.designType=t.designType,r.keyDesignType=t.keyDesignType},"MQOperation"),zs=class zs extends A{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=tm({kind:u.MQOperation.Kind,description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.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}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||vp.isAny()}generateKeyCodec(e,t,r){var i;return((i=this.keyType)==null?void 0:i.generateCodec(e,t,{...r,designType:this.keyDesignType}))||vp.isAny()}};a(zs,"MQOperationClass");var Ws=zs;Lr.prototype=Ws.prototype;Lr[w]=vr;var Js=class Js extends Be{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","mq");p(this,"platform");p(this,"controllers",new S);this.platform=t.platform}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(Js,"MQApi");var at=Js;import{omitUndefined as im}from"@jsopen/objects";import{asMutable as om}from"ts-gems";var rr=a(function(...o){var i;if(!this)return rr[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=om(this);r.kind=u.WSController.Kind,r.types=r.node[C]=new z,r.operations=new S,r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"WSController"),Ys=class Ys extends A{toString(){return`[WSController ${this.name}]`}toJSON(){let e=im({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()}return e}[ve](){return`[${Se}WSController${Me+this.name+Oe}]`}};a(Ys,"WSControllerClass");var Qs=Ys;rr.prototype=Qs.prototype;Object.assign(rr,Zt);rr[w]=Zt;import{omitUndefined as nm}from"@jsopen/objects";import{asMutable as sm}from"ts-gems";var Pr=a(function(...o){if(!this){let[i,n]=o,s=[];return Pr[w].call(void 0,s,i,n)}let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=sm(this);r.types=r.node[C]=new z,r.name=t.name,r.description=t.description,t.event?this.event=t.event instanceof RegExp?t.event:t.event.startsWith("/")?Fe(t.event):t.event:r.event=this.name,t!=null&&t.arguments?r.arguments=t.arguments.map(i=>({type:i.type instanceof g?i.type:r.owner.node.getDataType(i.type),parameterIndex:i.parameterIndex})):r.arguments=[],t!=null&&t.response&&(r.response=t.response instanceof g?t.response:r.owner.node.getDataType(t.response))},"WSOperation"),Xs=class Xs extends A{toJSON(){var e;return nm({kind:u.WSOperation.Kind,description:this.description,event:this.event,arguments:(e=this.arguments)==null?void 0:e.map(t=>t.type.name?t.type.name:t.type.toJSON())})}};a(Xs,"WSOperationClass");var Gs=Xs;Pr.prototype=Gs.prototype;Pr[w]=Sr;var Zs=class Zs extends Be{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","ws");p(this,"controllers",new S)}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(Zs,"WSApi");var pt=Zs;var Sp,Mp,Hs=class Hs extends(Mp=A,Sp=Re,Mp){constructor(){super(null);p(this,Sp,new WeakMap);p(this,"id","");p(this,"url");p(this,"info",{});p(this,"references",new S);p(this,"types",new z);p(this,"api");this.node[C]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(t){let r=t instanceof g?this._findDataType(t.name||""):this._findDataType(t);if(r)return this[Re].get(r)}findDocument(t){if(this.id===t)return this;for(let r of this.references.values()){if(r.id===t)return r;let i=r.findDocument(t);if(i)return i}}get httpApi(){if(this.api&&this.api instanceof nt)return this.api}get mqApi(){if(this.api&&this.api instanceof at)return this.api}get wsApi(){if(this.api&&this.api instanceof pt)return this.api}getHttpApi(){if(!(this.api&&this.api instanceof nt))throw new TypeError("The document do not contains HttpApi instance");return this.api}getMqApi(){if(!(this.api&&this.api instanceof at))throw new TypeError("The document do not contains MQApi instance");return this.api}getWsApi(){if(!(this.api&&this.api instanceof pt))throw new TypeError("The document do not contains WSApi instance");return this.api}toJSON(){return this.export()}export(t){let r=am({spec:u.SpecVersion,id:this.id,url:this.url,info:k(this.info,!0)});if(this.references.size){let i=0,n={};for(let[s,c]of this.references.entries())c[We]||(n[s]={id:c.id,url:c.url,info:k(c.info,!0)},i++);i&&(r.references=n)}if(this.types.size){r.types={};for(let i of this.types.values())i.inScope(t==null?void 0:t.scope)&&(r.types[i.name]=i.toJSON(t))}return this.api&&(r.api=this.api.toJSON(t)),r}invalidate(){let t=this.export({});delete t.id,this.id=pm(JSON.stringify(t)),this[Re]=new WeakMap}_findDataType(t,r,i){let n=this.types.get(t);if(n&&n.inScope(r))return n;if(!this.references.size)return;if(typeof t=="string"){let c=wa.exec(t);if(c){let l=c[1];if(l){let m=this.references.get(l);return m?(i=i||new WeakMap,i.set(this,!0),i.set(m,!0),m._findDataType(c[2],r,i)):void 0}t=c[2]}}i=i||new WeakMap,i.set(this,!0);let s=Array.from(this.references.keys()).reverse();for(let c of s){let l=this.references.get(c);if(n=l==null?void 0:l.types.get(t),n)return this[Re].set(n,l!=null&&l[We]?"":c),n}for(let c of s){let l=this.references.get(c);if(i.set(l,!0),n=l._findDataType(t,r,i),n)return this[Re].set(n,l!=null&&l[We]?"":c),n}}};a(Hs,"ApiDocument");var ct=Hs;function qe(o,e,t){let r=yi(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&Ur(this,o,r)}}}[n];if(typeof o=="function"&&Fr(s.prototype,o.prototype),typeof o=="function"){let l=Reflect.getOwnMetadata(y,o);if(!l)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(l.kind===u.ComplexType.Kind||l.kind===u.MappedType.Kind||l.kind===u.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${u.ComplexType.Kind}`)}let c={...t,kind:"MappedType",base:o};return e.pick&&(c.pick=e.pick),e.omit&&(c.omit=e.omit),e.partial&&(c.partial=e.partial),e.required&&(c.required=e.required),Reflect.defineMetadata(y,c,s),typeof o=="function"&&it._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(qe,"createMappedClass");function NR(o,e,t){return qe(o,{omit:e},t)}a(NR,"OmitType");function IR(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return qe(o,{partial:t},r)}a(IR,"PartialType");function kR(o,e,t){return qe(o,{pick:e},t)}a(kR,"PickType");function $R(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return qe(o,{required:t},r)}a($R,"RequiredType");function VR(o,e){return(t,r,i)=>{if(typeof r!="string")throw new TypeError("Un-named properties can not be decorated");if(!o&&(o=Reflect.getMetadata("design:paramtypes",t,r)[i],!o))throw new TypeError("Missing parameter type");let n=Reflect.getOwnMetadata(sr,t,r);n||(n=[],Reflect.defineMetadata(sr,n,t,r)),n.push({...e,type:o,parameterIndex:i})}}a(VR,"WsParam");import{updateErrorMessage as hm}from"@jsopen/objects";import{isConstructor as um}from"@jsopen/objects";import{omitUndefined as cm}from"@jsopen/objects";import{asMutable as lm}from"ts-gems";import{vg as fm}from"valgen";var Cr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');ot.call(this,o,e);let t=lm(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Fe(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required,t.designType=e.designType},"MQHeader"),ta=class ta extends ot{toJSON(){return cm({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||fm.isAny()}};a(ta,"MQHeaderClass");var ea=ta;Cr.prototype=ea.prototype;import{omitUndefined as mm}from"@jsopen/objects";var ra=class ra extends A{constructor(t,r){super(t);p(this,"channel");p(this,"description");p(this,"type");p(this,"keyType");p(this,"headers",[]);p(this,"designType");p(this,"keyDesignType");this.channel=r==null?void 0:r.channel,this.description=r==null?void 0:r.description,r!=null&&r.type?this.type=(r==null?void 0:r.type)instanceof g?r.type:this.owner.node.getDataType(r.type):this.type=this.owner.node.getDataType("any"),r!=null&&r.keyType&&(this.keyType=(r==null?void 0:r.keyType)instanceof g?r.keyType:this.owner.node.getDataType(r.keyType)),this.designType=r==null?void 0:r.designType,this.keyDesignType=r==null?void 0:r.keyDesignType}findHeader(t){let r=t.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(t))return i}toJSON(){let t=mm({description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){t.headers=[];for(let r of this.headers)t.headers.push(r.toJSON())}return t}};a(ra,"MQOperationResponse");var xi=ra;var ia=class ia{static async createApi(e,t){let r=new at(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!um(r)&&(r=r()),r=await H(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(pe,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid MQController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(pe,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with MQController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new st(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let m=0;for(let T of s.headers)await e.enterAsync(`[${m++}]`,async()=>{let O={...T};await e.enterAsync(".type",async()=>{T.type&&(O.type=l.node.findDataType(T.type)),!O.type&&typeof T.type=="object"&&(O.type=await M.createDataType(e,l,T.type)),O.type||(O.type=l.node.getDataType("any"))});let x=new Cr(l,O);l.headers.push(x)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[m,T]of Object.entries(s.operations))await e.enterAsync(`[${m}]`,async()=>{let O=new Lr(l,{...T,name:m,types:void 0,type:void 0,keyType:void 0});await this._initMQOperation(e,O,T),l.operations.set(O.name,O)})}),l}static async _initMQOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Cr(t,s);t.headers.push(c)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new xi(t,{...r.response,type:void 0,keyType:void 0});await this._initMQOperationResponse(e,i,r.response),t.response=i})}static async _initMQOperationResponse(e,t,r){t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Cr(t,s);t.headers.push(c)})})}};a(ia,"MQApiFactory");var _i=ia;import{isConstructor as dm}from"@jsopen/objects";var oa=class oa{static async createApi(e,t){let r=new pt(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!dm(r)&&(r=r()),r=await H(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(ce,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid WSController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(ce,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with WSController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new rr(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[m,T]of Object.entries(s.operations))await e.enterAsync(`[${m}]`,async()=>{let O=Reflect.getMetadata(sr,n.prototype,m),x=T;O&&(x={...x,arguments:O});let $=new Pr(l,{...x,name:m,types:void 0,type:void 0,keyType:void 0,arguments:void 0,response:void 0});await this._initWSOperation(e,$,x),l.operations.set(m,$)})}),l}static async _initWSOperation(e,t,r){var i;r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),(i=r.arguments)!=null&&i.length&&(await e.enterAsync(".arguments",async()=>{var s;t.arguments=[];let n;for(n of r.arguments){let c={};typeof n=="object"&&n.type&&n.parameterIndex!==null?Object.assign(c,n):c.type=n;let l=await M.resolveDataType(e,t,c.type);(s=t.arguments)==null||s.push({type:l,parameterIndex:c.parameterIndex})}}),t.arguments.sort((n,s)=>n.parameterIndex-s.parameterIndex)),r.response&&await e.enterAsync(".response",async()=>{t.response=await M.resolveDataType(e,t,r.response)})}};a(oa,"WSApiFactory");var gi=oa;var ym="https://oprajs.com/spec/v"+u.SpecVersion,Oi=class Oi{constructor(){p(this,"_allDocuments",{})}static async createDocument(e,t){let r=new Oi,i=t instanceof de?t:new de(t);try{let n=new ct;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof xt||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length,c=`(${s}) error${s>1?"s":""} found in document schema.`;i.showErrorDetails&&(c+=i.error.details.map(l=>`
9
9
 
10
10
  - ${l.message}`+(l.path?`
11
- @${l.path}`:"")).join("")),Ff(i.error,c)}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[Ve]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,c;for([s,c]of Object.entries(i.references))c=await Z(c),await t.enterAsync(`[${s}]`,async()=>{if(!j.test(s))throw new TypeError(`Invalid namespace (${s})`);if(c instanceof pt){e.references.set(s,c);return}let l=new pt;n&&l.references.set("opra",n),await this.initDocument(l,t,c),e.references.set(s,this._allDocuments[l.id])})}),i.types&&await t.enterAsync(".types",async()=>{await M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await Ht.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await hi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="ws"){let s=await yi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:Uf,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/panates/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(hs),...Object.values(Yn)]},r=new pt;r[Ve]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[jr];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Ti,"ApiDocumentFactory");var hp=Ti;var yp;(function(o){o.HttpApiFactory=Ht,o.DataTypeFactory=M,o.MQOperationDecoratorFactory=br,o.MQControllerDecoratorFactory=Yt,o.WSOperationDecoratorFactory=Dr,o.WSControllerDecoratorFactory=Gt})(yp||(yp={}));import{uid as N5}from"uid";export{ns as AnyType,$e as ApiBase,pt as ApiDocument,hp as ApiDocumentFactory,$ as ApiField,ke as ArrayType,Ve as BUILTIN,oa as BadRequestError,Rn as Base64Type,Op as BaseI18n,ls as BigintType,fs as BooleanType,j as CLASS_NAME_PATTERN,ie as ComplexType,na as ConflictError,ri as CreditCardType,y as DATATYPE_METADATA,T as DECODER,A as DECORATOR,g as DataType,W as DataTypeMap,Ze as DateTimeType,_r as DateTimeTypeTz,Tr as DateType,w as DocumentElement,ue as DocumentInitContext,qr as DocumentNode,_ as ENCODER,vn as EanType,re as EmailType,te as EnumType,sa as FailedDependencyError,J as FieldPathType,We as FieldsProjection,et as FilterType,Pr as ForbiddenError,se as HTTP_CONTROLLER_METADATA,ot as HttpApi,ne as HttpController,aa as HttpHeaderCodes,Ce as HttpMediaType,pi as HttpMultipartField,D as HttpOperation,ui as HttpOperationResponse,Nr as HttpParameter,ci as HttpRequestBody,R as HttpStatusCode,bm as HttpStatusMessages,Sr as HttpStatusRange,rr as I18n,Cn as IbanType,Wt as IntegerType,pa as InternalServerError,ii as IpType,ea as IssueSeverity,st as MQApi,nt as MQController,Ir as MQHeader,Mr as MQOperation,ae as MQ_CONTROLLER_METADATA,rt as MappedType,ca as MethodNotAllowedError,b as MimeTypes,Xt as MixinType,gr as MobilePhoneType,Ea as NAMESPACE_PATTERN,la as NotAcceptableError,fa as NotFoundError,us as NullType,Ae as NumberType,Un as ObjectIdType,ds as ObjectType,YR as OmitType,ye as OperationResult,Tt as OpraDocumentError,Te as OpraException,hr as OpraFilter,v as OpraHttpError,m as OpraSchema,HR as PartialType,ma as PermissionError,ib as PickType,$u as RPC_CONTROLLER_METADATA,ab as RequiredType,ua as ResourceConflictError,da as ResourceNotAvailableError,S as ResponsiveMap,d as SimpleType,tt as StringType,Or as TimeType,ha as UnauthorizedError,Zt as UnionType,ya as UnprocessableEntityError,Qn as UrlType,si as UuidType,at as WSApi,er as WSController,vr as WSOperation,pe as WS_CONTROLLER_METADATA,ir as WS_PARAM_METADATA,fb as WsParam,yp as classes,k as cloneObject,ku as getErrorStack,Pu as getStackFileName,_i as i18n,Cr as inheritPropertyInitializers,sd as isBlob,ad as isFormData,id as isReadable,nd as isReadableStream,Ui as isStream,pd as isURL,od as isWritable,jr as kCtorMap,P as kDataTypeMap,Re as kTypeNSMap,kr as mergePrototype,Oa as parse,ga as parseFieldsProjection,Z as resolveThunk,Xu as safeJsonStringify,Hf as translate,N5 as uid};
11
+ @${l.path}`:"")).join("")),hm(i.error,c)}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[We]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||u.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,c;for([s,c]of Object.entries(i.references))c=await H(c),await t.enterAsync(`[${s}]`,async()=>{if(!F.test(s))throw new TypeError(`Invalid namespace (${s})`);if(c instanceof ct){e.references.set(s,c);return}let l=new ct;n&&l.references.set("opra",n),await this.initDocument(l,t,c),e.references.set(s,this._allDocuments[l.id])})}),i.types&&await t.enterAsync(".types",async()=>{await M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await tr.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await _i.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="ws"){let s=await gi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:u.SpecVersion,url:ym,info:{version:u.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/panates/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(_s),...Object.values(es)]},r=new ct;r[We]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[$r];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Oi,"ApiDocumentFactory");var Ip=Oi;var Lp;(function(o){o.HttpApiFactory=tr,o.DataTypeFactory=M,o.MQOperationDecoratorFactory=vr,o.MQControllerDecoratorFactory=Xt,o.WSOperationDecoratorFactory=Sr,o.WSControllerDecoratorFactory=Zt})(Lp||(Lp={}));import{uid as a5}from"uid";export{ls as AnyType,Be as ApiBase,ct as ApiDocument,Ip as ApiDocumentFactory,B as ApiField,ke as ArrayType,We as BUILTIN,ca as BadRequestError,Sn as Base64Type,Jp as BaseI18n,hs as BigintType,ys as BooleanType,F as CLASS_NAME_PATTERN,oe as ComplexType,la as ConflictError,ai as CreditCardType,y as DATATYPE_METADATA,E as DECODER,w as DECORATOR,g as DataType,z as DataTypeMap,He as DateTimeType,wr as DateTimeTypeTz,_r as DateType,A as DocumentElement,de as DocumentInitContext,Jr as DocumentNode,_ as ENCODER,kn as EanType,ie as EmailType,re as EnumType,fa as FailedDependencyError,Y as FieldPathType,ze as FieldsProjection,tt as FilterType,jr as ForbiddenError,ae as HTTP_CONTROLLER_METADATA,nt as HttpApi,se as HttpController,ma as HttpHeaderCodes,je as HttpMediaType,ui as HttpMultipartField,D as HttpOperation,Ei as HttpOperationResponse,Mr as HttpParameter,di as HttpRequestBody,b as HttpStatusCode,iu as HttpStatusMessages,Ir as HttpStatusRange,nr as I18n,Bn as IbanType,Jt as IntegerType,ua as InternalServerError,pi as IpType,na as IssueSeverity,at as MQApi,st as MQController,Cr as MQHeader,Lr as MQOperation,pe as MQ_CONTROLLER_METADATA,it as MappedType,da as MethodNotAllowedError,R as MimeTypes,Ht as MixinType,Ar as MobilePhoneType,wa as NAMESPACE_PATTERN,ha as NotAcceptableError,ya as NotFoundError,Es as NullType,Ae as NumberType,Vn as ObjectIdType,xs as ObjectType,NR as OmitType,Te as OperationResult,xt as OpraDocumentError,Ee as OpraException,Er as OpraFilter,I as OpraHttpError,u as OpraSchema,IR as PartialType,Ta as PermissionError,kR as PickType,Td as RPC_CONTROLLER_METADATA,$R as RequiredType,Ea as ResourceConflictError,xa as ResourceNotAvailableError,S as ResponsiveMap,d as SimpleType,rt as StringType,br as TimeType,_a as UnauthorizedError,er as UnionType,ga as UnprocessableEntityError,Hn as UrlType,fi as UuidType,pt as WSApi,rr as WSController,Pr as WSOperation,ce as WS_CONTROLLER_METADATA,sr as WS_PARAM_METADATA,VR as WsParam,Lp as classes,k as cloneObject,md as getErrorStack,fd as getStackFileName,Ai as i18n,Ur as inheritPropertyInitializers,Ud as isBlob,$d as isFormData,kd as isReadable,Fd as isReadableStream,Vi as isStream,Bd as isURL,jd as isWritable,$r as kCtorMap,C as kDataTypeMap,Re as kTypeNSMap,Fr as mergePrototype,Da as parse,Ra as parseFieldsProjection,H as resolveThunk,Sd as safeJsonStringify,Sm as translate,a5 as uid};