UNPKG

@opra/common

Version:

Opra common package

12 lines • 202 kB
/****************************************
* All rights reserved Panates® 2022-2026
* http://www.panates.com
*****************************************/

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 L=Ri;var Di=class Di extends L{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 L{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 L{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 L{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 L{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 L{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 L{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 L{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 L{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 L{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 L{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 L{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(`
`)?" at line: "+O.line+" column: "+O.column:" at column: "+O.column));let T=new Wr(m.join(`
`));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){var s;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 c=this.node.getDataTypeNameWithNs(this.additionalFields);n.additionalFields=c||this.additionalFields.toJSON(t)}else n.additionalFields=this.additionalFields;if((s=this._fields)!=null&&s.size){let c={},l=0;for(let m of this._fields.values())m.origin===this&&m.inScope(t==null?void 0:t.scope)&&(c[m.name]=m.toJSON(t),l++);l&&(n.fields=c)}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)||"all",{coerce:!0})}[_](e){return cp.isUUID((e==null?void 0:e.version)||"all",{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 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: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(I,"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]=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.QUERY=function(o){return I([],{...o,method:"QUERY"})};D.SEARCH=function(o){return I([],{...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=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 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=I(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=I(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=I(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=I(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=I(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=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 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=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(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=>`

  - ${l.message}`+(l.path?`
    @${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,L 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};