@opra/common 1.29.1 → 1.29.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* http://www.panates.com
|
|
4
4
|
*****************************************/
|
|
5
5
|
|
|
6
|
-
var Pp=Object.create;var ir=Object.defineProperty;var Cp=Object.getOwnPropertyDescriptor;var kp=Object.getOwnPropertyNames;var jp=Object.getPrototypeOf,Fp=Object.prototype.hasOwnProperty;var Up=(o,e,t)=>e in o?ir(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e)=>ir(o,"name",{value:e,configurable:!0});var $p=(o,e)=>()=>{try{return e||o((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},kr=(o,e)=>{for(var t in e)ir(o,t,{get:e[t],enumerable:!0})},Bp=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of kp(e))!Fp.call(o,i)&&i!==t&&ir(o,i,{get:()=>e[i],enumerable:!(r=Cp(e,i))||r.enumerable});return o};var qp=(o,e,t)=>(t=o!=null?Pp(jp(o)):{},Bp(e||!o||!o.__esModule?ir(t,"default",{value:o,enumerable:!0}):t,o));var p=(o,e,t)=>Up(o,typeof e!="symbol"?e+"":e,t);var Fa=$p((Rd,Bi)=>{"use strict";var lt=typeof Reflect=="object"?Reflect:null,Na=lt&&typeof lt.apply=="function"?lt.apply:a(function(e,t,r){return Function.prototype.apply.call(e,t,r)},"ReflectApply"),Br;lt&&typeof lt.ownKeys=="function"?Br=lt.ownKeys:Object.getOwnPropertySymbols?Br=a(function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))},"ReflectOwnKeys"):Br=a(function(e){return Object.getOwnPropertyNames(e)},"ReflectOwnKeys");function rc(o){console&&console.warn&&console.warn(o)}a(rc,"ProcessEmitWarning");var Sa=Number.isNaN||a(function(e){return e!==e},"NumberIsNaN");function v(){v.init.call(this)}a(v,"EventEmitter");Bi.exports=v;Bi.exports.once=sc;v.EventEmitter=v;v.prototype._events=void 0;v.prototype._eventsCount=0;v.prototype._maxListeners=void 0;var va=10;function qr(o){if(typeof o!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o)}a(qr,"checkListener");Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:a(function(){return va},"get"),set:a(function(o){if(typeof o!="number"||o<0||Sa(o))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+o+".");va=o},"set")});v.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};v.prototype.setMaxListeners=a(function(e){if(typeof e!="number"||e<0||Sa(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},"setMaxListeners");function Ma(o){return o._maxListeners===void 0?v.defaultMaxListeners:o._maxListeners}a(Ma,"_getMaxListeners");v.prototype.getMaxListeners=a(function(){return Ma(this)},"getMaxListeners");v.prototype.emit=a(function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i=e==="error",n=this._events;if(n!==void 0)i=i&&n.error===void 0;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var c=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw c.context=s,c}var l=n[e];if(l===void 0)return!1;if(typeof l=="function")Na(l,this,t);else for(var m=l.length,T=ka(l,m),r=0;r<m;++r)Na(T[r],this,t);return!0},"emit");function Ia(o,e,t,r){var i,n,s;if(qr(t),n=o._events,n===void 0?(n=o._events=Object.create(null),o._eventsCount=0):(n.newListener!==void 0&&(o.emit("newListener",e,t.listener?t.listener:t),n=o._events),s=n[e]),s===void 0)s=n[e]=t,++o._eventsCount;else if(typeof s=="function"?s=n[e]=r?[t,s]:[s,t]:r?s.unshift(t):s.push(t),i=Ma(o),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=o,c.type=e,c.count=s.length,rc(c)}return o}a(Ia,"_addListener");v.prototype.addListener=a(function(e,t){return Ia(this,e,t,!1)},"addListener");v.prototype.on=v.prototype.addListener;v.prototype.prependListener=a(function(e,t){return Ia(this,e,t,!0)},"prependListener");function ic(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}a(ic,"onceWrapper");function La(o,e,t){var r={fired:!1,wrapFn:void 0,target:o,type:e,listener:t},i=ic.bind(r);return i.listener=t,r.wrapFn=i,i}a(La,"_onceWrap");v.prototype.once=a(function(e,t){return qr(t),this.on(e,La(this,e,t)),this},"once");v.prototype.prependOnceListener=a(function(e,t){return qr(t),this.prependListener(e,La(this,e,t)),this},"prependOnceListener");v.prototype.removeListener=a(function(e,t){var r,i,n,s,c;if(qr(t),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===t||r.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if(typeof r!="function"){for(n=-1,s=r.length-1;s>=0;s--)if(r[s]===t||r[s].listener===t){c=r[s].listener,n=s;break}if(n<0)return this;n===0?r.shift():oc(r,n),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,c||t)}return this},"removeListener");v.prototype.off=v.prototype.removeListener;v.prototype.removeAllListeners=a(function(e){var t,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var n=Object.keys(r),s;for(i=0;i<n.length;++i)s=n[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=r[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},"removeAllListeners");function Pa(o,e,t){var r=o._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?nc(i):ka(i,i.length)}a(Pa,"_listeners");v.prototype.listeners=a(function(e){return Pa(this,e,!0)},"listeners");v.prototype.rawListeners=a(function(e){return Pa(this,e,!1)},"rawListeners");v.listenerCount=function(o,e){return typeof o.listenerCount=="function"?o.listenerCount(e):Ca.call(o,e)};v.prototype.listenerCount=Ca;function Ca(o){var e=this._events;if(e!==void 0){var t=e[o];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}a(Ca,"listenerCount");v.prototype.eventNames=a(function(){return this._eventsCount>0?Br(this._events):[]},"eventNames");function ka(o,e){for(var t=new Array(e),r=0;r<e;++r)t[r]=o[r];return t}a(ka,"arrayClone");function oc(o,e){for(;e+1<o.length;e++)o[e]=o[e+1];o.pop()}a(oc,"spliceOne");function nc(o){for(var e=new Array(o.length),t=0;t<e.length;++t)e[t]=o[t].listener||o[t];return e}a(nc,"unwrapListeners");function sc(o,e){return new Promise(function(t,r){function i(s){o.removeListener(e,n),r(s)}a(i,"errorListener");function n(){typeof o.removeListener=="function"&&o.removeListener("error",i),t([].slice.call(arguments))}a(n,"resolver"),ja(o,e,n,{once:!0}),e!=="error"&&ac(o,i,{once:!0})})}a(sc,"once");function ac(o,e,t){typeof o.on=="function"&&ja(o,"error",e,t)}a(ac,"addErrorHandlerIfEventEmitter");function ja(o,e,t,r){if(typeof o.on=="function")r.once?o.once(e,t):o.on(e,t);else if(typeof o.addEventListener=="function")o.addEventListener(e,a(function i(n){r.once&&o.removeEventListener(e,i),t(n)},"wrapListener"));else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof o)}a(ja,"eventTargetAgnosticAddListener")});import"reflect-metadata";import"reflect-metadata";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as Qc}from"@jsopen/objects";import{isString as Yc}from"valgen";var na;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(na||(na={}));import{omitUndefined as Gp}from"@jsopen/objects";import"@browsery/i18next";import Wp from"@browsery/i18next";import{splitString as zp,tokenize as pa}from"fast-tokenizer";var Kp=/\\(.)/g,Vp=/(\\)/g;function sa(o){return o.replace(Vp,"\\\\")}a(sa,"escapeString");function aa(o){return o.replace(Kp,"$1")}a(aa,"unescapeString");var Jp=Object.getPrototypeOf(Wp.createInstance()).constructor,or=class or extends Jp{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(c,l)=>c.toLocaleLowerCase(l)),s.add("uppercase",(c,l)=>c.toLocaleUpperCase(l)),s.add("upperFirst",(c,l)=>c.charAt(0).toLocaleUpperCase(l)+c.substring(1)),r!=null&&r.resources)for(let c of Object.keys(r.resources)){let l=r.resources[c];for(let m of Object.keys(l))this.addResourceBundle(c,m,l[m],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new or(e,t)}static createInstance(e,t){return new or(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of pa(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=zp(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),c=aa(n.substring((s[0]||"").length+1));n=s[0]||"";let l=[],m=null;for(let O of pa(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(O.startsWith("{")){m=JSON.parse(O);continue}l.push(O)}let T=l.length>1?"$t("+l.join(",")+")":l[0];i+=c?this.t(T,c,{...r,...m}):this.t(T,{...r,...m});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,c=n.length;s<c;s++){let l=n[s];i[l]=this._deepTranslate(e[l],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Qp}};a(or,"I18n");var nr=or,Qp=nr.createInstance();var Yp=/(\))/g;function Sm(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+sa(i).replace(Yp,"\\$1"):"")+")"}a(Sm,"translate");var Ai=nr.createInstance();Ai.init().catch(()=>{});var bi=class bi extends Error{constructor(t,r){super("Unknown error");p(this,"cause");p(this,"severity","error");p(this,"system");p(this,"code");p(this,"details");r=r||(t instanceof Error?t:void 0),t instanceof Error&&(r=t),r&&r instanceof Error&&(this.cause=r,r.stack&&(this.stack=r.stack)),typeof t=="string"?this.initString(t):t instanceof Error?this.initError(t):this.init(t),this.message=this.message||this.constructor.name}toString(){return Ai.deep(this.message)}toJSON(){return Gp({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:this.stack},!0)}init(t){this.message=(t==null?void 0:t.message)||this.constructor.name,this.severity=(t==null?void 0:t.severity)||"error",t&&(this.system=t.system,this.code=t.code,this.details=t.details)}initString(t){this.init({message:String(t||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(t){let r="production";this.init({message:t.message,severity:t.severity||"error",code:t.code||t.constructor.name,stack:r==="dev"||r==="development"||r==="test"?t.stack:void 0})}};a(bi,"OpraException");var Ee=bi;var Ri=class Ri extends Ee{constructor(t,r,i){super(t,r instanceof Error?r:void 0);p(this,"status");this.status=(typeof r=="number"?r:Number(i))||500}setStatus(t){return this.status=t,this}initError(t){typeof t.status=="number"?this.status=t.status:typeof t.getStatus=="function"&&(this.status=t.getStatus()),super.initError(t)}};a(Ri,"OpraHttpError");var I=Ri;var Di=class Di extends I{constructor(){super(...arguments);p(this,"status",400)}init(t){super.init({message:"Bad request",code:"BAD_REQUEST",...t})}};a(Di,"BadRequestError");var ca=Di;var Ni=class Ni extends I{constructor(){super(...arguments);p(this,"status",409)}init(t){super.init({message:"Conflict",code:"CONFLICT",...t})}};a(Ni,"ConflictError");var la=Ni;var vi=class vi extends I{constructor(){super(...arguments);p(this,"status",424)}init(t){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...t})}};a(vi,"FailedDependencyError");var fa=vi;var ma;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(ma||(ma={}));var b;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(b||(b={}));var iu={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var R;(function(o){o.json="application/json",o.xml="application/xml",o.yaml="text/yaml",o.yaml2="application/yaml",o.toml="text/toml",o.toml2="application/toml",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream",o.multipart_mixed="multipart/mixed",o.opra_response_json="application/opra.response+json",o.opra_response_xml="application/opra.response+xml",o.opra_response_yaml="text/opra.response+yaml",o.opra_response_toml="text/opra.response+toml"})(R||(R={}));var Si=class Si extends I{constructor(){super(...arguments);p(this,"status",b.FORBIDDEN)}init(t){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...t})}};a(Si,"ForbiddenError");var jr=Si;var Mi=class Mi extends I{constructor(){super(...arguments);p(this,"status",500)}init(t){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...t})}};a(Mi,"InternalServerError");var ua=Mi;var Ii=class Ii extends I{constructor(){super(...arguments);p(this,"status",405)}init(t){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...t})}};a(Ii,"MethodNotAllowedError");var da=Ii;var Li=class Li extends I{constructor(){super(...arguments);p(this,"status",406)}init(t){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...t})}};a(Li,"NotAcceptableError");var ha=Li;var Pi=class Pi extends I{constructor(){super(...arguments);p(this,"status",404)}init(t){super.init({message:"Not found",code:"NOT_FOUND",...t})}};a(Pi,"NotFoundError");var ya=Pi;var Ci=class Ci extends jr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(Ci,"PermissionError");var Ta=Ci;var ki=class ki extends I{constructor(t,r,i){super({message:`There is already an other "${t}" resource with same values for field(s) [${r}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:t,location:r}},i);p(this,"status",409)}};a(ki,"ResourceConflictError");var Ea=ki;var ji=class ji extends I{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,b.UNPROCESSABLE_ENTITY)}};a(ji,"ResourceNotAvailableError");var xa=ji;var Fi=class Fi extends I{constructor(){super(...arguments);p(this,"status",401)}init(t){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...t})}};a(Fi,"UnauthorizedError");var _a=Fi;var Ui=class Ui extends I{constructor(){super(...arguments);p(this,"status",422)}init(t){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...t})}};a(Ui,"UnprocessableEntityError");var ga=Ui;BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Xp}from"@jsopen/objects";import Zp from"putil-promisify";async function H(o){return o=Zp.isPromise(o)?await o:o,typeof o=="function"?Xp(o)?o:await o():o}a(H,"resolveThunk");var Oa=/^(?:file:\/\/)?(.+)$/;function fd(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Oa.exec(r):void 0;return i?i[1]:""}return""}a(fd,"getStackFileName");function md(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Oa.exec(r):void 0;return i?i[1]:""}return""}a(md,"getErrorStack");function Fr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(Fr,"mergePrototype");function Ur(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(Ur,"inheritPropertyInitializers");import{isPlainObject as Aa,merge as Hp}from"@jsopen/objects";var y=Symbol.for("opra.type.metadata"),ae=Symbol("opra.http-controller.metadata"),pe=Symbol("opra.mq-controller.metadata"),ce=Symbol("opra.ws-controller.metadata"),sr=Symbol("opra.ws-param.metadata"),Td=Symbol("opra.rpc-controller.metadata"),E=Symbol.for("opra.type.decoder"),_=Symbol("opra.type.encoder"),w=Symbol.for("DECORATOR"),We=Symbol.for("BUILTIN"),wa=/([a-z$_]\w+):(.+)/i,F=/^[a-z][\w_]*$/i,C=Symbol.for("kDataTypeMap"),$r=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");function k(o,e){return Hp({},o,{deep:a(t=>Aa(t)&&!t[y],"deep"),symbolKeys:!0,copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||Aa(i)||Array.isArray(i))}})}a(k,"cloneObject");import{splitString as ba}from"fast-tokenizer";var ec=/^([+-])?([a-z_$]\w*)$/i,tc=/[^.]\(/g,$i=class $i{};a($i,"FieldsProjection");var ze=$i;(function(o){let t=class t{constructor(){p(this,"sign");p(this,"projection")}};a(t,"Item");let e=t;o.Item=e})(ze||(ze={}));function Ra(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new ze;for(let i of t)e||(i=i.toLowerCase()),Da(i,r);return r}a(Ra,"parseFieldsProjection");function Da(o,e){o=o.replace(tc,r=>r.charAt(0)+"."+r.substring(1));let t=ba(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let l=ba(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let m of l)Da(m,e);continue}let n=ec.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],c=e[s]=e[s]||new ze.Item;n[1]&&(c.sign=n[1]),r===t.length-1?delete c.projection:e=c.projection=c.projection||new ze}}a(Da,"parse");var Ua=qp(Fa(),1);function pc(o){return o&&typeof o.forEach=="function"}a(pc,"isMap");var Q=Symbol.for("kEntries"),le=Symbol.for("kKeyMap"),Kr=Symbol.for("kWellKnownKeys"),qi=Symbol.for("kOptions"),ft=Symbol.for("kSize"),Ki=class Ki extends Ua.default{constructor(e,t){super(),Object.defineProperty(this,ft,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,Q,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,le,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Kr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,qi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Kr][i]=i:this[Kr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[ft]}clear(){Object.keys(this[Q]).forEach(e=>delete this[Q][e]),Object.keys(this[le]).forEach(e=>delete this[le][e]),this[ft]=0,this.emit("change"),this.emit("clear")}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[Q][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[Q],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[Q],r);return this[Q][r]=t,i||this[ft]++,this[le][r]=e,this.emit("change"),this.emit("set",e,t),this}setAll(e){return pc(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[le])[Symbol.iterator]()}values(){return Object.values(this[Q])[Symbol.iterator]()}entries(){return Object.entries(this[Q])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[Q],t);return delete this[Q][t],delete this[le][t],r&&(this[ft]--,this.emit("change")),r}sort(e){let t={...this[Q]},r={...this[le]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[Q][n]=t[n],this[le][n]=r[n];return this[ft]=i.length,this.emit("change"),this}toObject(){let e={};for(let[t,r]of Object.entries(this[le]))e[r]=this[Q][t];return e}toProxy(){let e=this;return new Proxy(e[Q],{get(t,r){return typeof r=="string"?e.get(r):void 0},set(t,r,i){return typeof r=="string"?(e.set(r,i),!0):!1},has(t,r){return typeof r=="string"?e.has(r):!1},deleteProperty(t,r){return typeof r=="string"?(e.delete(r),!0):!1},defineProperty(t,r,i){return typeof r=="string"?(i.value!==void 0?e.set(r,i.value):e.delete(r),!0):!1}})}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[qi].caseSensitive)return e;let t=this._getStoringKey(e);return this[le][t]??this[Kr][t]??e}_getStoringKey(e){return this[qi].caseSensitive?e:e.toLowerCase()}};a(Ki,"ResponsiveMap");var S=Ki;function Sd(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(Sd,"safeJsonStringify");import"@browsery/stream";function Vi(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Vi,"isStream");function kd(o){return Vi(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(kd,"isReadable");function jd(o){return Vi(o)&&typeof o._write=="function"}a(jd,"isWritable");function Fd(o){return Vi(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Fd,"isReadableStream");function Ud(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Ud,"isBlob");function $d(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a($d,"isFormData");function Bd(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Bd,"isURL");var u={};kr(u,{ArrayType:()=>mt,ComplexType:()=>ut,EnumType:()=>dt,HttpController:()=>ar,HttpOperation:()=>Wi,MQController:()=>zi,MQOperation:()=>Ji,MappedType:()=>ht,MixinType:()=>yt,SimpleType:()=>Tt,SpecVersion:()=>eh,UnionType:()=>Et,WSController:()=>Qi,WSOperation:()=>Yi,isArrayType:()=>yc,isComplexType:()=>lc,isDataType:()=>cc,isEnumType:()=>dc,isHttpController:()=>Tc,isMappedType:()=>uc,isMixinType:()=>mc,isSimpleType:()=>fc,isUnionType:()=>hc});var eh="1.0";var mt;(function(o){o.Kind="ArrayType"})(mt||(mt={}));var ut;(function(o){o.Kind="ComplexType"})(ut||(ut={}));var dt;(function(o){o.Kind="EnumType"})(dt||(dt={}));var ht;(function(o){o.Kind="MappedType"})(ht||(ht={}));var yt;(function(o){o.Kind="MixinType"})(yt||(yt={}));var Tt;(function(o){o.Kind="SimpleType"})(Tt||(Tt={}));var Et;(function(o){o.Kind="UnionType"})(Et||(Et={}));var ar;(function(o){o.Kind="HttpController"})(ar||(ar={}));var Wi;(function(o){o.Kind="HttpOperation"})(Wi||(Wi={}));var zi;(function(o){o.Kind="MQController"})(zi||(zi={}));var Ji;(function(o){o.Kind="MQOperation"})(Ji||(Ji={}));function cc(o){return o&&typeof o=="object"&&(o.kind===mt.Kind||o.kind===ut.Kind||o.kind===dt.Kind||o.kind===ht.Kind||o.kind===Tt.Kind||o.kind===yt.Kind||o.kind===Et.Kind)}a(cc,"isDataType");function lc(o){return o&&typeof o=="object"&&o.kind===ut.Kind}a(lc,"isComplexType");function fc(o){return o&&typeof o=="object"&&o.kind===Tt.Kind}a(fc,"isSimpleType");function mc(o){return o&&typeof o=="object"&&o.kind===yt.Kind}a(mc,"isMixinType");function uc(o){return o&&typeof o=="object"&&o.kind===ht.Kind}a(uc,"isMappedType");function dc(o){return o&&typeof o=="object"&&o.kind===dt.Kind}a(dc,"isEnumType");function hc(o){return o&&typeof o=="object"&&o.kind===Et.Kind}a(hc,"isUnionType");function yc(o){return o&&typeof o=="object"&&o.kind===mt.Kind}a(yc,"isArrayType");function Tc(o){return o&&typeof o=="object"&&o.kind===ar.Kind}a(Tc,"isHttpController");var Qi;(function(o){o.Kind="WSController"})(Qi||(Qi={}));var Yi;(function(o){o.Kind="WSOperation"})(Yi||(Yi={}));var Gi=class Gi{constructor(){p(this,"kind");this.kind=Object.getPrototypeOf(this).constructor.name}};a(Gi,"Ast");var pr=Gi;var Xi=class Xi extends pr{};a(Xi,"Expression");var q=Xi;var Zi=class Zi extends q{};a(Zi,"Term");var Je=Zi;var Hi=class Hi extends Je{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Hi,"Literal");var j=Hi;var eo=class eo extends q{constructor(){super();p(this,"items",[])}append(t,r){return this.items.push(new Vr({op:t,expression:r})),this}toString(){return this.items.map((t,r)=>(r>0?t.op:"")+t.expression).join("")}};a(eo,"ArithmeticExpression");var Qe=eo,to=class to{constructor(e){p(this,"op");p(this,"expression");Object.assign(this,e)}};a(to,"ArithmeticExpressionItem");var Vr=to;var ro=class ro extends Je{constructor(t){super();p(this,"items");this.items=t}toString(){return"["+this.items.map(t=>""+t).join(",")+"]"}};a(ro,"ArrayExpression");var xe=ro;var Ec=/\w/,io=class io extends q{constructor(t){super();p(this,"op");p(this,"left");p(this,"right");p(this,"prepare");Object.assign(this,t)}toString(){return`${this.left}${Ec.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(io,"ComparisonExpression");var fe=io;var oo=class oo extends q{constructor(t){super();p(this,"op");p(this,"items");Object.assign(this,t),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(t=>""+t).join(" "+this.op+" ")}};a(oo,"LogicalExpression");var me=oo;var no=class no extends q{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(no,"NegativeExpression");var cr=no;var so=class so extends q{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(so,"ParenthesizedExpression");var _e=so;var ao=class ao extends j{constructor(e){super(e)}};a(ao,"BooleanLiteral");var Ye=ao;import{toDateDef as Ac}from"putil-varhelpers";import"@browsery/antlr4";var po=class po extends TypeError{};a(po,"SyntaxError");var Wr=po,co=class co extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(co,"FilterValidationError");var ue=co,lo=class lo extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(lo,"FilterParseError");var zr=lo;var xc=/'/g,_c=/(\\)/g,gc=/\\(.)/g;function Oc(o){return o.replace(_c,"\\\\")}a(Oc,"escapeString");function wc(o){return o.replace(gc,"$1")}a(wc,"unescapeString");function De(o){return"'"+Oc(o).replace(xc,"\\'")+"'"}a(De,"quoteFilterString");function lr(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?wc(o.substring(1,o.length-1)):o}a(lr,"unquoteFilterString");var $a=new Date(0),fo=class fo extends j{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Ac(t,$a)!==$a){this.value=t;return}throw new ue(`Invalid date value "${t}"`)}toString(){return De(this.value)}};a(fo,"DateLiteral");var Ne=fo;import{toDateDef as bc}from"putil-varhelpers";var Ba=new Date(0),mo=class mo extends j{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&bc(t,Ba)!==Ba){this.value=t;return}throw new ue(`Invalid date-time value "${t}"`)}toString(){return De(this.value)}};a(mo,"DateTimeLiteral");var fr=mo;var uo=class uo extends j{constructor(){super(null);p(this,"value",null)}};a(uo,"NullLiteral");var Ge=uo;var ho=class ho extends j{constructor(t){super(0);p(this,"value");if(typeof t=="number"||typeof t=="bigint"){this.value=t;return}try{if(typeof t=="string"){if(t.includes(".")){this.value=parseFloat(t);return}let r=Number(t);""+r===t?this.value=r:this.value=BigInt(t);return}}catch{}throw new ue(`Invalid number literal ${t}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(ho,"NumberLiteral");var ge=ho;import{omitUndefined as Nc}from"@jsopen/objects";import{asMutable as vc}from"ts-gems";import{asMutable as Rc}from"ts-gems";import{uid as Dc}from"uid";var qa;qa=C;var yo=class yo{constructor(e,t){p(this,qa);p(this,"_document");p(this,"parent");p(this,"element");this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Re])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[C])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(y,e).name;else if(typeof e=="object"){let n=e[y];if(!n)throw new TypeError(`OPRA Metadata not found for data type (${e})`);i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getArrayType(e,t){let r=this.getDataType(e,t);if(r.kind===u.ArrayType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===u.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===u.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===u.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===u.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a UnionType`)}};a(yo,"DocumentNode");var Jr=yo;var A=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Rc(this);e.id=Dc(16),Object.defineProperty(e,"node",{value:new Jr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Eo=class Eo{};a(Eo,"DocumentElementClass");var To=Eo;A.prototype=To.prototype;var xo=class xo extends Ee{constructor(){super("");p(this,"details",[])}add(t){return this.details.push(t),this}};a(xo,"OpraDocumentError");var xt=xo;var _o=class _o{constructor(e){p(this,"path","");p(this,"error",new xt);p(this,"maxErrors");p(this,"showErrorDetails",!0);this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message=""}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(_o,"DocumentInitContext");var de=_o;var ve=Symbol.for("nodejs.util.inspect.custom"),Oe="\x1B[0m",Se="\x1B[33m",Me="\x1B[35m";function mr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(mr,"testScopeMatch");var g=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!F.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);A.call(this,o);let r=vc(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),Oo=class Oo extends A{get embedded(){return!this.name}inScope(e){return mr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return Nc({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[ve](){return`[${Se+Object.getPrototypeOf(this).constructor.name+Oe} ${Me+this.name+Oe}]`}};a(Oo,"DataTypeClass");var go=Oo;g.prototype=go.prototype;var wo=class wo extends j{constructor(e){super(""+e)}};a(wo,"QualifiedIdentifier");var ee=wo;var Ao=class Ao extends j{constructor(e){super(""+e)}toString(){return De(this.value)}};a(Ao,"StringLiteral");var Xe=Ao;var Sc=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,bo=class bo extends j{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=Qr(t.getHours())+":"+Qr(t.getMinutes())+(t.getSeconds()?":"+Qr(t.getSeconds()):"")+(t.getMilliseconds()?"."+Qr(t.getMilliseconds()):"");return}if(typeof t=="string"&&Sc.test(t)){this.value=t;return}throw new ue(`Invalid time value "${t}"`)}toString(){return De(this.value)}};a(bo,"TimeLiteral");var Ze=bo;function Qr(o){return o<=9?"0"+o:""+o}a(Qr,"pad");import{CharStream as zc,CommonTokenStream as Jc}from"@browsery/antlr4";import{ATNDeserializer as Mc,DFA as Ic,Lexer as Lc,LexerATNSimulator as Pc,PredictionContextCache as Cc,Token as kc}from"@browsery/antlr4";var h=class h extends Lc{constructor(e){super(e),this._interp=new Pc(this,h._ATN,h.DecisionsToDFA,new Cc)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return h.literalNames}get symbolicNames(){return h.symbolicNames}get ruleNames(){return h.ruleNames}get serializedATN(){return h._serializedATN}get channelNames(){return h.channelNames}get modeNames(){return h.modeNames}static get _ATN(){return h.__ATN||(h.__ATN=new Mc().deserialize(h._serializedATN)),h.__ATN}};a(h,"OpraFilterLexer"),p(h,"T__0",1),p(h,"T__1",2),p(h,"T__2",3),p(h,"T__3",4),p(h,"T__4",5),p(h,"T__5",6),p(h,"T__6",7),p(h,"T__7",8),p(h,"T__8",9),p(h,"T__9",10),p(h,"T__10",11),p(h,"T__11",12),p(h,"T__12",13),p(h,"T__13",14),p(h,"T__14",15),p(h,"T__15",16),p(h,"T__16",17),p(h,"T__17",18),p(h,"T__18",19),p(h,"T__19",20),p(h,"T__20",21),p(h,"T__21",22),p(h,"T__22",23),p(h,"T__23",24),p(h,"T__24",25),p(h,"T__25",26),p(h,"T__26",27),p(h,"T__27",28),p(h,"T__28",29),p(h,"T__29",30),p(h,"T__30",31),p(h,"T__31",32),p(h,"T__32",33),p(h,"T__33",34),p(h,"IDENTIFIER",35),p(h,"POLAR_OP",36),p(h,"DATE",37),p(h,"DATETIME",38),p(h,"TIME",39),p(h,"NUMBER",40),p(h,"INTEGER",41),p(h,"STRING",42),p(h,"WHITESPACE",43),p(h,"EOF",kc.EOF),p(h,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),p(h,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(h,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"]),p(h,"modeNames",["DEFAULT_MODE"]),p(h,"ruleNames",["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"]),p(h,"_serializedATN",[4,0,43,461,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,491,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0]),p(h,"__ATN"),p(h,"DecisionsToDFA",h._ATN.decisionToState.map((e,t)=>new Ic(e,t)));var ur=h;import{ATN as Ka,ATNDeserializer as jc,DFA as Fc,FailedPredicateException as Uc,NoViableAltException as Ro,Parser as $c,ParserATNSimulator as Bc,ParserRuleContext as V,PredictionContextCache as qc,RecognitionException as K,Token as Kc}from"@browsery/antlr4";var f=class f extends $c{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return f.literalNames}get symbolicNames(){return f.symbolicNames}get ruleNames(){return f.ruleNames}get serializedATN(){return f._serializedATN}createFailedPredicateException(e,t){return new Uc(this,e,t)}constructor(e){super(e),this._interp=new Bc(this,f._ATN,f.DecisionsToDFA,new qc)}root(){let e=new Do(this,this._ctx,this.state);this.enterRule(e,0,f.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(f.EOF)}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new Z(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,f.RULE_expression,e);let c;try{let l;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new So(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new No(this,i),this._ctx=i,n=i,this.state=42,this.match(f.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(f.T__1);break;case 3:case 4:i=new vo(this,i),this._ctx=i,n=i,this.state=46,c=this._input.LA(1),c===3||c===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new Ro(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx);l!==2&&l!==Ka.INVALID_ALT_NUMBER;){if(l===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new dr(this,new Z(this,t,r)),this.pushNewRecursionContext(i,s,f.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(l){if(l instanceof K)i.exception=l,this._errHandler.reportError(this,l),this._errHandler.recover(this,l);else throw l}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new Yr(this,this._ctx,this.state);this.enterRule(e,4,f.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new Gr(this,this._ctx,this.state);this.enterRule(e,6,f.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new Ro(this)}}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new Xr(this,this._ctx,this.state);this.enterRule(e,8,f.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new G(this,this._ctx,this.state);this.enterRule(e,10,f.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new Fo(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(f.NUMBER);break;case 13:case 14:e=new ko(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new jo(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Io(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new Lo(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(f.DATETIME);break;case 37:e=new Co(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(f.DATE);break;case 39:e=new Mo(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(f.TIME);break;case 42:e=new Po(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(f.STRING);break;default:throw new Ro(this)}}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new hr(this,this._ctx,this.state);this.enterRule(e,12,f.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==Ka.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(f.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new Zr(this,this._ctx,this.state);this.enterRule(e,14,f.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(f.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new _t(this,this._ctx,this.state);this.enterRule(e,16,f.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(f.IDENTIFIER)}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new Hr(this,this._ctx,this.state);this.enterRule(e,18,f.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(f.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(f.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(f.T__8)}}catch(r){if(r instanceof K)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new ei(this,this._ctx,this.state);this.enterRule(e,20,f.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new ti(this,this._ctx,this.state);this.enterRule(e,22,f.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(f.T__11)}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new ri(this,this._ctx,this.state);this.enterRule(e,24,f.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new Uo(this,this._ctx,this.state);this.enterRule(e,26,f.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new ii(this,this._ctx,this.state);this.enterRule(e,28,f.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new oi(this,this._ctx,this.state);this.enterRule(e,30,f.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof K)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new $o(this,this._ctx,this.state);this.enterRule(e,32,f.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(f.POLAR_OP)}catch(t){if(t instanceof K)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){return t===1?this.expression_sempred(e,r):!0}expression_sempred(e,t){return t===0?this.precpred(this._ctx,3):!0}static get _ATN(){return f.__ATN||(f.__ATN=new jc().deserialize(f._serializedATN)),f.__ATN}};a(f,"OpraFilterParser"),p(f,"T__0",1),p(f,"T__1",2),p(f,"T__2",3),p(f,"T__3",4),p(f,"T__4",5),p(f,"T__5",6),p(f,"T__6",7),p(f,"T__7",8),p(f,"T__8",9),p(f,"T__9",10),p(f,"T__10",11),p(f,"T__11",12),p(f,"T__12",13),p(f,"T__13",14),p(f,"T__14",15),p(f,"T__15",16),p(f,"T__16",17),p(f,"T__17",18),p(f,"T__18",19),p(f,"T__19",20),p(f,"T__20",21),p(f,"T__21",22),p(f,"T__22",23),p(f,"T__23",24),p(f,"T__24",25),p(f,"T__25",26),p(f,"T__26",27),p(f,"T__27",28),p(f,"T__28",29),p(f,"T__29",30),p(f,"T__30",31),p(f,"T__31",32),p(f,"T__32",33),p(f,"T__33",34),p(f,"IDENTIFIER",35),p(f,"POLAR_OP",36),p(f,"DATE",37),p(f,"DATETIME",38),p(f,"TIME",39),p(f,"NUMBER",40),p(f,"INTEGER",41),p(f,"STRING",42),p(f,"WHITESPACE",43),p(f,"EOF",Kc.EOF),p(f,"RULE_root",0),p(f,"RULE_expression",1),p(f,"RULE_comparisonLeft",2),p(f,"RULE_comparisonRight",3),p(f,"RULE_parenthesizedItem",4),p(f,"RULE_value",5),p(f,"RULE_qualifiedIdentifier",6),p(f,"RULE_externalConstant",7),p(f,"RULE_identifier",8),p(f,"RULE_arrayValue",9),p(f,"RULE_boolean",10),p(f,"RULE_null",11),p(f,"RULE_infinity",12),p(f,"RULE_arithmeticOperator",13),p(f,"RULE_comparisonOperator",14),p(f,"RULE_logicalOperator",15),p(f,"RULE_polarityOperator",16),p(f,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(f,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"]),p(f,"ruleNames",["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"]),p(f,"_serializedATN",[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,38,0,0,74,78,5,37,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100]),p(f,"__ATN"),p(f,"DecisionsToDFA",f._ATN.decisionToState.map((e,t)=>new Fc(e,t)));var N=f,Bo=class Bo extends V{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Z,0)}EOF(){return this.getToken(N.EOF,0)}get ruleIndex(){return N.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(Bo,"RootContext");var Do=Bo,qo=class qo extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(qo,"ExpressionContext");var Z=qo,Ko=class Ko extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Xr,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(Ko,"ParenthesizedExpressionContext");var No=Ko,Vo=class Vo extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(Z,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(Vo,"NegativeExpressionContext");var vo=Vo,Wo=class Wo extends Z{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_left");p(this,"_operator");p(this,"_right");super.copyFrom(r)}comparisonLeft(){return this.getTypedRuleContext(Yr,0)}comparisonOperator(){return this.getTypedRuleContext(ii,0)}comparisonRight(){return this.getTypedRuleContext(Gr,0)}enterRule(t){t.enterComparisonExpression&&t.enterComparisonExpression(this)}exitRule(t){t.exitComparisonExpression&&t.exitComparisonExpression(this)}accept(t){return t.visitComparisonExpression?t.visitComparisonExpression(this):t.visitChildren(this)}};a(Wo,"ComparisonExpressionContext");var So=Wo,zo=class zo extends Z{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_op");super.copyFrom(r)}expression_list(){return this.getTypedRuleContexts(Z)}expression(t){return this.getTypedRuleContext(Z,t)}logicalOperator(){return this.getTypedRuleContext(oi,0)}enterRule(t){t.enterLogicalExpression&&t.enterLogicalExpression(this)}exitRule(t){t.exitLogicalExpression&&t.exitLogicalExpression(this)}accept(t){return t.visitLogicalExpression?t.visitLogicalExpression(this):t.visitChildren(this)}};a(zo,"LogicalExpressionContext");var dr=zo,Jo=class Jo extends V{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(hr,0)}get ruleIndex(){return N.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(Jo,"ComparisonLeftContext");var Yr=Jo,Qo=class Qo extends V{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(G,0)}qualifiedIdentifier(){return this.getTypedRuleContext(hr,0)}externalConstant(){return this.getTypedRuleContext(Zr,0)}arrayValue(){return this.getTypedRuleContext(Hr,0)}get ruleIndex(){return N.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(Qo,"ComparisonRightContext");var Gr=Qo,Yo=class Yo extends V{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Z,0)}get ruleIndex(){return N.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(Yo,"ParenthesizedItemContext");var Xr=Yo,Go=class Go extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_value}copyFrom(e){super.copyFrom(e)}};a(Go,"ValueContext");var G=Go,Xo=class Xo extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(N.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(Xo,"TimeLiteralContext");var Mo=Xo,Zo=class Zo extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(ti,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(Zo,"NullLiteralContext");var Io=Zo,Ho=class Ho extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(N.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(Ho,"DateTimeLiteralContext");var Lo=Ho,en=class en extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(N.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(en,"StringLiteralContext");var Po=en,tn=class tn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(N.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(tn,"DateLiteralContext");var Co=tn,rn=class rn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(ri,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(rn,"InfinityLiteralContext");var ko=rn,on=class on extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(ei,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(on,"BooleanLiteralContext");var jo=on,nn=class nn extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(N.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(nn,"NumberLiteralContext");var Fo=nn,sn=class sn extends V{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(_t)}identifier(e){return this.getTypedRuleContext(_t,e)}get ruleIndex(){return N.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(sn,"QualifiedIdentifierContext");var hr=sn,an=class an extends V{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(_t,0)}get ruleIndex(){return N.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(an,"ExternalConstantContext");var Zr=an,pn=class pn extends V{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(N.IDENTIFIER,0)}get ruleIndex(){return N.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(pn,"IdentifierContext");var _t=pn,cn=class cn extends V{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(G)}value(e){return this.getTypedRuleContext(G,e)}get ruleIndex(){return N.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(cn,"ArrayValueContext");var Hr=cn,ln=class ln extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(ln,"BooleanContext");var ei=ln,fn=class fn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(fn,"NullContext");var ti=fn,mn=class mn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(mn,"InfinityContext");var ri=mn,un=class un extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(un,"ArithmeticOperatorContext");var Uo=un,dn=class dn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(dn,"ComparisonOperatorContext");var ii=dn,hn=class hn extends V{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(hn,"LogicalOperatorContext");var oi=hn,yn=class yn extends V{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(N.POLAR_OP,0)}get ruleIndex(){return N.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(yn,"PolarityOperatorContext");var $o=yn;import{ParseTreeVisitor as Vc}from"@browsery/antlr4";import{ParseTreeVisitor as K1}from"@browsery/antlr4";var Tn=class Tn extends j{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(Tn,"ExternalConstant");var ni=Tn;var En=class En extends Vc{constructor(t){super();p(this,"_timeZone");this._timeZone=t==null?void 0:t.timeZone}visitChildren(t){let r=super.visitChildren(t);return Array.isArray(r)&&r.length<2?r[0]:r??t.getText()}defaultResult(){}visitRoot(t){return this.visit(t.expression())}visitParenthesizedExpression(t){let r=this.visit(t.parenthesizedItem());return new _e(r)}visitParenthesizedItem(t){return this.visit(t.expression())}visitNegativeExpression(t){let r=this.visit(t.expression());return new cr(r)}visitComparisonExpression(t){return new fe({op:t.comparisonOperator().getText(),left:this.visit(t.comparisonLeft()),right:this.visit(t.comparisonRight())})}visitLogicalExpression(t){let r=[],i=a((n,s)=>{for(let c of n){if(c instanceof dr&&c.logicalOperator().getText()===s){i(c.expression_list(),c.logicalOperator().getText());continue}let l=this.visit(c);r.push(l)}},"wrapChildren");return i(t.expression_list(),t.logicalOperator().getText()),new me({op:t.logicalOperator().getText(),items:r})}visitQualifiedIdentifier(t){return new ee(t.getText())}visitExternalConstant(t){return new ni(t.identifier().getText())}visitNullLiteral(){return new Ge}visitBooleanLiteral(t){return new Ye(t.getText()==="true")}visitNumberLiteral(t){return new ge(t.getText())}visitStringLiteral(t){return new Xe(lr(t.getText()))}visitInfinityLiteral(){return new ge(1/0)}visitDateLiteral(t){return new Ne(lr(t.getText()))}visitDateTimeLiteral(t){return new fr(lr(t.getText()))}visitTimeLiteral(t){return new Ze(lr(t.getText()))}visitArrayValue(t){return new xe(t.value_list().map(r=>this.visit(r)))}};a(En,"FilterTreeVisitor");var yr=En;import{ErrorListener as Wc}from"@browsery/antlr4";var xn=class xn extends Wc{constructor(t){super();p(this,"errors");this.errors=t}syntaxError(t,r,i,n,s,c){this.errors.push(new zr(s,{recognizer:t,offendingSymbol:r,line:i,column:n,e:c}))}};a(xn,"OpraErrorListener");var Tr=xn;function _n(o,e){let t=new zc(o),r=new ur(t),i=new Jc(r),n=new N(i);n.buildParseTrees=!0;let s=[],c=new Tr(s);r.removeErrorListeners(),r.addErrorListener(c),n.removeErrorListeners(),n.addErrorListener(c);let l=n.root();if(s.length){let m=[];for(let O of s)m.push(O.message+(o.includes(`
|
|
6
|
+
var Pp=Object.create;var ir=Object.defineProperty;var Cp=Object.getOwnPropertyDescriptor;var kp=Object.getOwnPropertyNames;var jp=Object.getPrototypeOf,Fp=Object.prototype.hasOwnProperty;var Up=(o,e,t)=>e in o?ir(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e)=>ir(o,"name",{value:e,configurable:!0});var $p=(o,e)=>()=>{try{return e||o((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},kr=(o,e)=>{for(var t in e)ir(o,t,{get:e[t],enumerable:!0})},Bp=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of kp(e))!Fp.call(o,i)&&i!==t&&ir(o,i,{get:()=>e[i],enumerable:!(r=Cp(e,i))||r.enumerable});return o};var qp=(o,e,t)=>(t=o!=null?Pp(jp(o)):{},Bp(e||!o||!o.__esModule?ir(t,"default",{value:o,enumerable:!0}):t,o));var p=(o,e,t)=>Up(o,typeof e!="symbol"?e+"":e,t);var Fa=$p((Rd,Bi)=>{"use strict";var lt=typeof Reflect=="object"?Reflect:null,Na=lt&&typeof lt.apply=="function"?lt.apply:a(function(e,t,r){return Function.prototype.apply.call(e,t,r)},"ReflectApply"),Br;lt&&typeof lt.ownKeys=="function"?Br=lt.ownKeys:Object.getOwnPropertySymbols?Br=a(function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))},"ReflectOwnKeys"):Br=a(function(e){return Object.getOwnPropertyNames(e)},"ReflectOwnKeys");function rc(o){console&&console.warn&&console.warn(o)}a(rc,"ProcessEmitWarning");var Sa=Number.isNaN||a(function(e){return e!==e},"NumberIsNaN");function v(){v.init.call(this)}a(v,"EventEmitter");Bi.exports=v;Bi.exports.once=sc;v.EventEmitter=v;v.prototype._events=void 0;v.prototype._eventsCount=0;v.prototype._maxListeners=void 0;var va=10;function qr(o){if(typeof o!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o)}a(qr,"checkListener");Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:a(function(){return va},"get"),set:a(function(o){if(typeof o!="number"||o<0||Sa(o))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+o+".");va=o},"set")});v.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};v.prototype.setMaxListeners=a(function(e){if(typeof e!="number"||e<0||Sa(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},"setMaxListeners");function Ma(o){return o._maxListeners===void 0?v.defaultMaxListeners:o._maxListeners}a(Ma,"_getMaxListeners");v.prototype.getMaxListeners=a(function(){return Ma(this)},"getMaxListeners");v.prototype.emit=a(function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i=e==="error",n=this._events;if(n!==void 0)i=i&&n.error===void 0;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var c=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw c.context=s,c}var l=n[e];if(l===void 0)return!1;if(typeof l=="function")Na(l,this,t);else for(var m=l.length,T=ka(l,m),r=0;r<m;++r)Na(T[r],this,t);return!0},"emit");function Ia(o,e,t,r){var i,n,s;if(qr(t),n=o._events,n===void 0?(n=o._events=Object.create(null),o._eventsCount=0):(n.newListener!==void 0&&(o.emit("newListener",e,t.listener?t.listener:t),n=o._events),s=n[e]),s===void 0)s=n[e]=t,++o._eventsCount;else if(typeof s=="function"?s=n[e]=r?[t,s]:[s,t]:r?s.unshift(t):s.push(t),i=Ma(o),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=o,c.type=e,c.count=s.length,rc(c)}return o}a(Ia,"_addListener");v.prototype.addListener=a(function(e,t){return Ia(this,e,t,!1)},"addListener");v.prototype.on=v.prototype.addListener;v.prototype.prependListener=a(function(e,t){return Ia(this,e,t,!0)},"prependListener");function ic(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}a(ic,"onceWrapper");function La(o,e,t){var r={fired:!1,wrapFn:void 0,target:o,type:e,listener:t},i=ic.bind(r);return i.listener=t,r.wrapFn=i,i}a(La,"_onceWrap");v.prototype.once=a(function(e,t){return qr(t),this.on(e,La(this,e,t)),this},"once");v.prototype.prependOnceListener=a(function(e,t){return qr(t),this.prependListener(e,La(this,e,t)),this},"prependOnceListener");v.prototype.removeListener=a(function(e,t){var r,i,n,s,c;if(qr(t),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===t||r.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if(typeof r!="function"){for(n=-1,s=r.length-1;s>=0;s--)if(r[s]===t||r[s].listener===t){c=r[s].listener,n=s;break}if(n<0)return this;n===0?r.shift():oc(r,n),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,c||t)}return this},"removeListener");v.prototype.off=v.prototype.removeListener;v.prototype.removeAllListeners=a(function(e){var t,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var n=Object.keys(r),s;for(i=0;i<n.length;++i)s=n[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=r[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},"removeAllListeners");function Pa(o,e,t){var r=o._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?nc(i):ka(i,i.length)}a(Pa,"_listeners");v.prototype.listeners=a(function(e){return Pa(this,e,!0)},"listeners");v.prototype.rawListeners=a(function(e){return Pa(this,e,!1)},"rawListeners");v.listenerCount=function(o,e){return typeof o.listenerCount=="function"?o.listenerCount(e):Ca.call(o,e)};v.prototype.listenerCount=Ca;function Ca(o){var e=this._events;if(e!==void 0){var t=e[o];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}a(Ca,"listenerCount");v.prototype.eventNames=a(function(){return this._eventsCount>0?Br(this._events):[]},"eventNames");function ka(o,e){for(var t=new Array(e),r=0;r<e;++r)t[r]=o[r];return t}a(ka,"arrayClone");function oc(o,e){for(;e+1<o.length;e++)o[e]=o[e+1];o.pop()}a(oc,"spliceOne");function nc(o){for(var e=new Array(o.length),t=0;t<e.length;++t)e[t]=o[t].listener||o[t];return e}a(nc,"unwrapListeners");function sc(o,e){return new Promise(function(t,r){function i(s){o.removeListener(e,n),r(s)}a(i,"errorListener");function n(){typeof o.removeListener=="function"&&o.removeListener("error",i),t([].slice.call(arguments))}a(n,"resolver"),ja(o,e,n,{once:!0}),e!=="error"&&ac(o,i,{once:!0})})}a(sc,"once");function ac(o,e,t){typeof o.on=="function"&&ja(o,"error",e,t)}a(ac,"addErrorHandlerIfEventEmitter");function ja(o,e,t,r){if(typeof o.on=="function")r.once?o.once(e,t):o.on(e,t);else if(typeof o.addEventListener=="function")o.addEventListener(e,a(function i(n){r.once&&o.removeEventListener(e,i),t(n)},"wrapListener"));else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof o)}a(ja,"eventTargetAgnosticAddListener")});import"reflect-metadata";import"reflect-metadata";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as Qc}from"@jsopen/objects";import{isString as Yc}from"valgen";var na;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(na||(na={}));import{omitUndefined as Gp}from"@jsopen/objects";import"@browsery/i18next";import Wp from"@browsery/i18next";import{splitString as zp,tokenize as pa}from"fast-tokenizer";var Kp=/\\(.)/g,Vp=/(\\)/g;function sa(o){return o.replace(Vp,"\\\\")}a(sa,"escapeString");function aa(o){return o.replace(Kp,"$1")}a(aa,"unescapeString");var Jp=Object.getPrototypeOf(Wp.createInstance()).constructor,or=class or extends Jp{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(c,l)=>c.toLocaleLowerCase(l)),s.add("uppercase",(c,l)=>c.toLocaleUpperCase(l)),s.add("upperFirst",(c,l)=>c.charAt(0).toLocaleUpperCase(l)+c.substring(1)),r!=null&&r.resources)for(let c of Object.keys(r.resources)){let l=r.resources[c];for(let m of Object.keys(l))this.addResourceBundle(c,m,l[m],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new or(e,t)}static createInstance(e,t){return new or(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of pa(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=zp(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),c=aa(n.substring((s[0]||"").length+1));n=s[0]||"";let l=[],m=null;for(let O of pa(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(O.startsWith("{")){m=JSON.parse(O);continue}l.push(O)}let T=l.length>1?"$t("+l.join(",")+")":l[0];i+=c?this.t(T,c,{...r,...m}):this.t(T,{...r,...m});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,c=n.length;s<c;s++){let l=n[s];i[l]=this._deepTranslate(e[l],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Qp}};a(or,"I18n");var nr=or,Qp=nr.createInstance();var Yp=/(\))/g;function Sm(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+sa(i).replace(Yp,"\\$1"):"")+")"}a(Sm,"translate");var Ai=nr.createInstance();Ai.init().catch(()=>{});var bi=class bi extends Error{constructor(t,r){super("Unknown error");p(this,"cause");p(this,"severity","error");p(this,"system");p(this,"code");p(this,"details");r=r||(t instanceof Error?t:void 0),t instanceof Error&&(r=t),r&&r instanceof Error&&(this.cause=r,r.stack&&(this.stack=r.stack)),typeof t=="string"?this.initString(t):t instanceof Error?this.initError(t):this.init(t),this.message=this.message||this.constructor.name}toString(){return Ai.deep(this.message)}toJSON(){return Gp({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:this.stack},!0)}init(t){this.message=(t==null?void 0:t.message)||this.constructor.name,this.severity=(t==null?void 0:t.severity)||"error",t&&(this.system=t.system,this.code=t.code,this.details=t.details)}initString(t){this.init({message:String(t||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(t){let r="production";this.init({message:t.message,severity:t.severity||"error",code:t.code||t.constructor.name,stack:r==="dev"||r==="development"||r==="test"?t.stack:void 0})}};a(bi,"OpraException");var Ee=bi;var Ri=class Ri extends Ee{constructor(t,r,i){super(t,r instanceof Error?r:void 0);p(this,"status");this.status=(typeof r=="number"?r:Number(i))||500}setStatus(t){return this.status=t,this}initError(t){typeof t.status=="number"?this.status=t.status:typeof t.getStatus=="function"&&(this.status=t.getStatus()),super.initError(t)}};a(Ri,"OpraHttpError");var 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(`
|
|
7
7
|
`)?" at line: "+O.line+" column: "+O.column:" at column: "+O.column));let T=new Wr(m.join(`
|
|
8
|
-
`));throw T.errors=s,T}return e=e||new yr,e.visit(l)}a(_n,"parse");var gn=class gn{constructor(e,t){p(this,"_rules",new S);p(this,"_decoderCache",new WeakMap);if(Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,Qc({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?_n(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof fe){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof ee&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Ee({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Ee({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof me)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Qe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof _e)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof ee&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof j){let n=t.findLastIndex(s=>s instanceof fe);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof ee&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let c;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?c=Yc:c=this._decoderCache.get(s.left.field),c||(c=s.left.field.generateCodec("decode",{scope:i,projection:"*",ignoreReadonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,c)),e.value=c(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(gn,"FilterRules");var gt=gn;var Er={};kr(Er,{$and:()=>Xc,$arithmetic:()=>hl,$array:()=>Va,$date:()=>Zc,$eq:()=>rl,$field:()=>tl,$gt:()=>ol,$gte:()=>nl,$ilike:()=>ml,$in:()=>pl,$like:()=>ll,$lt:()=>sl,$lte:()=>al,$ne:()=>il,$notILike:()=>ul,$notIn:()=>cl,$notLike:()=>fl,$number:()=>el,$or:()=>Gc,$paren:()=>dl,$time:()=>Hc,ArithmeticExpression:()=>Qe,ArithmeticExpressionItem:()=>Vr,ArrayExpression:()=>xe,Ast:()=>pr,BooleanLiteral:()=>Ye,ComparisonExpression:()=>fe,DateLiteral:()=>Ne,DateTimeLiteral:()=>fr,Expression:()=>q,FilterTreeVisitor:()=>yr,Literal:()=>j,LogicalExpression:()=>me,NegativeExpression:()=>cr,NullLiteral:()=>Ge,NumberLiteral:()=>ge,OpraErrorListener:()=>Tr,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>ee,StringLiteral:()=>Xe,Term:()=>Je,TimeLiteral:()=>Ze,parse:()=>_n});function Gc(...o){return new me({op:"or",items:o})}a(Gc,"$or");function Xc(...o){return new me({op:"and",items:o})}a(Xc,"$and");function Zc(o){return new Ne(o)}a(Zc,"$date");function Hc(o){return new Ze(o)}a(Hc,"$time");function el(o){return new ge(o)}a(el,"$number");function Va(...o){return new xe(o.map(si))}a(Va,"$array");function tl(o){return new ee(o)}a(tl,"$field");function rl(o,e){return te("=",o,e)}a(rl,"$eq");function il(o,e){return te("!=",o,e)}a(il,"$ne");function ol(o,e){return te(">",o,e)}a(ol,"$gt");function nl(o,e){return te(">=",o,e)}a(nl,"$gte");function sl(o,e){return te("<",o,e)}a(sl,"$lt");function al(o,e){return te("<=",o,e)}a(al,"$lte");function pl(o,e){return te("in",o,e)}a(pl,"$in");function cl(o,e){return te("!in",o,e)}a(cl,"$notIn");function ll(o,e){return te("like",o,e)}a(ll,"$like");function fl(o,e){return te("!like",o,e)}a(fl,"$notLike");function ml(o,e){return te("ilike",o,e)}a(ml,"$ilike");function ul(o,e){return te("!ilike",o,e)}a(ul,"$notILike");function dl(o){return new _e(o)}a(dl,"$paren");function hl(o){let e=new Qe;return e.add=t=>(e.append("+",Ot(t)),e),e.sub=t=>(e.append("-",Ot(t)),e),e.mul=t=>(e.append("*",Ot(t)),e),e.div=t=>(e.append("/",Ot(t)),e),e.append("+",si(o)),e}a(hl,"$arithmetic");function te(o,e,t){let r=typeof e=="string"?new ee(e):si(e),i=si(t);return new fe({op:o,left:r,right:i})}a(te,"comparisonExpression");var si=a(o=>Array.isArray(o)?Va(...o.map(Ot)):Ot(o),"wrapEntryValue"),Ot=a(o=>o instanceof q?o:typeof o=="boolean"?new Ye(o):typeof o=="number"||typeof o=="bigint"?new ge(o):o==null?new Ge:o instanceof Date?new Ne(o):new Xe(""+o),"_wrapEntryValue");import yl from"object-hash";import{asMutable as Tl}from"ts-gems";import{validator as El,vg as X}from"valgen";var wt=/^([+-])?([a-z$_][\w.]*)$/i,U=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;g.call(this,e,t,r);let i=Tl(this);i._fields=new S},"ComplexTypeBase"),wn=class wn extends g{constructor(){super(...arguments);p(this,"ctor");p(this,"additionalFields");p(this,"keyField")}fieldCount(t){if(t==="*")return this._fields.size;let r=0;for(let i of this.fields(t))r++;return r}fieldEntries(t){let r=this._fields.entries();if(t==="*")return r;let i;return{next(){for(;r&&(i=r.next(),!(i.done||i.value&&i.value[1].inScope(t))););return i.done?{done:i.done,value:void 0}:{done:i.done,value:[i.value[0],i.value[1].forScope(t)]}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fields(t){let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[1]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fieldNames(t){if(t==="*")return this._fields.keys();let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[0]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}findField(t,r){if(t.includes(".")){let n=this.parseFieldPath(t,{scope:r});if(n.length===0)throw new Error(`Field "${t}" does not exist in scope "${r}"`);let s=n.pop();return s==null?void 0:s.field}let i=this._fields.get(t);if(i&&i.inScope(r))return i.forScope(r)}getField(t,r){let i=this.findField(t,"*");if(i&&!i.inScope(r))throw new Error(`Field "${t}" does not exist in scope "${r||"null"}"`);if(!i)throw new Error(`Field (${t}) does not exist`);return i.forScope(r)}parseFieldPath(t,r){var x,$,Ke;let i=this,n,s=t.split("."),c=s.length,l=[],m=this.owner.node.getDataType("object"),T=r==null?void 0:r.allowSigns,O=a(()=>l.map(P=>P.fieldName).join("."),"getStrPath");for(let P=0;P<c;P++){let W={fieldName:s[P],dataType:m};l.push(W);let Ve=wt.exec(s[P]);if(!Ve)throw new TypeError(`Invalid field name (${O()})`);if(Ve[1]&&((P===0&&T==="first"||T==="each")&&(W.sign=Ve[1]),W.fieldName=Ve[2]),i){if(i instanceof U){if(n=i.findField(W.fieldName,r==null?void 0:r.scope),n){W.fieldName=n.name,W.field=n,W.dataType=n.type,i=n.type;continue}if(((x=i.additionalFields)==null?void 0:x[0])===!0){W.additionalField=!0,W.dataType=m,i=void 0;continue}if((($=i.additionalFields)==null?void 0:$[0])==="type"&&((Ke=i.additionalFields)==null?void 0:Ke[1])instanceof g){W.additionalField=!0,W.dataType=i.additionalFields[1],i=i.additionalFields[1];continue}throw new Error(`Unknown field (${l.map(wi=>wi.fieldName).join(".")})`)}throw new TypeError(`"${l.map(wi=>wi.fieldName).join(".")}" field is not a complex type and has no child fields`)}W.additionalField=!0,W.dataType=m}return l}normalizeFieldPath(t,r){return this.parseFieldPath(t,r).map(i=>(i.sign||"")+i.fieldName).join(".")}generateCodec(t,r){var l;let i=r!=null&&r.cache?r:{...r,projection:Array.isArray(r==null?void 0:r.projection)?Ra(r.projection):r==null?void 0:r.projection,currentPath:""},n=this._generateSchema(t,i),s;if(this.additionalFields instanceof g)s=this.additionalFields.generateCodec(t,r);else if(typeof this.additionalFields=="boolean")s=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)s="error";else{let m=s[1];s=El((T,O,x)=>O.fail(x,m,T))}let c=X.isObject(n,{ctor:this.name==="object"?Object:this.ctor,additionalFields:s,name:this.name,coerce:!0,caseInSensitive:r==null?void 0:r.caseInSensitive,onFail:r==null?void 0:r.onFail});if(i.level===0&&((l=i.forwardCallbacks)!=null&&l.size))for(let m of i.forwardCallbacks)m();return c}_generateSchema(t,r){var m;r.fieldCache=r.fieldCache||new Map,r.level=r.level||0,r.forwardCallbacks=r.forwardCallbacks||new Set;let i={},{currentPath:n,projection:s}=r,c=!!(s&&Object.values(s).find(T=>!T.sign)),l;for(let T of this.fields("*")){if(!T.inScope(r.scope)||!(r.keepKeyFields&&this.keyField)&&(r.ignoreReadonlyFields&&T.readonly||r.ignoreWriteonlyFields&&T.writeonly)){i[T.name]=X.isUndefined({coerce:!0});continue}l=T.name;let O;if(s!=="*"&&(O=s==null?void 0:s[l.toLowerCase()],(O==null?void 0:O.sign)==="-"||c&&!O||!c&&T.exclusive&&!O)){i[T.name]=X.isUndefined({coerce:!0});continue}let x=typeof s=="object"?((m=s[l])==null?void 0:m.projection)||"*":s,$=r.fieldCache.get(T),Ke=typeof x=="string"?x:yl(x||{});$||($={},r.fieldCache.set(T,$));let P=$[Ke];if(P===null)P=X.isAny(),r.forwardCallbacks.add(()=>{P=$[Ke],i[l]=r.partial||!T.required?r.allowNullOptionals?X.nullable(P):X.optional(P):X.required(P)});else if(!P){let W=a(()=>{$[Ke]=null;let Ve=T.generateCodec(t,{...r,partial:r.partial==="deep"?r.partial:void 0,projection:x,currentPath:n+(n?".":"")+l,level:r.level+1});return $[Ke]=Ve,Ve},"defaultGenerator");r.fieldHook?P=r.fieldHook(T,r.currentPath,W):P=W()}i[l]=r.partial||!(T.required||P.id==="required")?r.allowNullOptionals?X.nullable(P):X.optional(P):P.id==="required"?P:X.required(P)}return r.allowPatchOperators&&(i._$pull=X.optional(X.isAny()),i._$push=X.optional(X.isAny())),i}};a(wn,"ComplexTypeBaseClass");var On=wn;U.prototype=On.prototype;import"reflect-metadata";import{omitUndefined as An}from"@jsopen/objects";import{asMutable as xl}from"ts-gems";import{vg as _l}from"valgen";var re=a(function(...o){if(!this)return re[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=xl(this);if(i.kind=u.EnumType.Kind,t.base){if(!(t.base instanceof re))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),bn=class bn extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof re?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return _l.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return An({...t,kind:this.kind,base:r,attributes:k(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(bn,"EnumTypeClass");var xr=bn;re.prototype=xr.prototype;Object.assign(re,xr);function gl(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(c=>{var m;if(!isNaN(Number(c)))return;let l=(m=r==null?void 0:r.meanings)==null?void 0:m[c];i[c]=An({description:l})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(c=>{var m;if(!isNaN(Number(c)))return;let l=(m=r==null?void 0:r.meanings)==null?void 0:m[c];i[o[c]]=An({alias:c,description:l})})}let s={kind:u.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,y,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(gl,"EnumTypeFactory");re.prototype=xr.prototype;re[w]=gl;var es={};kr(es,{Base64Type:()=>Sn,CreditCardType:()=>ai,DateTimeType:()=>He,DateTimeTypeTz:()=>wr,DateType:()=>_r,EanType:()=>kn,EmailType:()=>ie,FieldPathType:()=>Y,FilterType:()=>tt,IbanType:()=>Bn,IpType:()=>pi,MobilePhoneType:()=>Ar,ObjectIdType:()=>Vn,OperationResult:()=>Te,TimeType:()=>br,UrlType:()=>Hn,UuidType:()=>fi});import{__decorate as wl,__metadata as Al}from"tslib";import{isBase64 as bl,validator as Mn,vg as vn}from"valgen";import"reflect-metadata";import{omitUndefined as za}from"@jsopen/objects";import{asMutable as Ol}from"ts-gems";import{isAny as Ja}from"valgen";function Rn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(y,r)||{};o&&Object.assign(n,o),n.kind=u.SimpleType.Kind,n.name=i,Reflect.defineMetadata(y,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(Rn,"SimpleTypeDecoratorFactory");function Wa(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(y,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=u.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(y,r,e.constructor)}}a(Wa,"AttributeDecoratorFactory");var d=a(function(...o){var n,s;if(!this)return d[w](...o);let[e,t,r]=o;g.call(this,e,t,r);let i=Ol(this);if(i.kind=u.SimpleType.Kind,t.base){if(!(t.base instanceof d))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{},i.ownAttributes)for(let[c,l]of Object.entries(i.ownAttributes)){if((s=i.attributes[c])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${c}" can not be overwritten`);i.attributes[c]=l}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),Nn=class Nn extends g{constructor(){super(...arguments);p(this,"_generateDecoder");p(this,"_generateEncoder");p(this,"properties")}extend(t){return Object.setPrototypeOf(t,this),t}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof d?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}generateCodec(t,r,i){let n={...this.properties,...i};if(t==="decode"){let c=this;for(;c;){if(c._generateDecoder)return c._generateDecoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});c=this.base}return Ja}let s=this;for(;s;){if(s._generateEncoder)return s._generateEncoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});s=this.base}return Ja}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n=za(this.ownAttributes),s;this.properties&&typeof this.properties.toJSON=="function"?s=this.properties.toJSON(this.properties,this.owner,t):s=this.properties?k(this.properties):{};let c={...r,kind:this.kind,base:i,attributes:n&&Object.keys(n).length?n:void 0,properties:Object.keys(s).length?s:void 0};return Object.keys(this.ownNameMappings).length&&(c.nameMappings={...this.ownNameMappings}),za(c,!0)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Nn,"SimpleTypeClass");var Dn=Nn;d.prototype=Dn.prototype;Object.assign(d,Rn);d[w]=Rn;d.Attribute=Wa;var At,Sn=(At=class{constructor(e){p(this,"designType");e&&Object.assign(this,e)}[E](e){let t=vn.isBase64({coerce:!0});return e.designType===Buffer?vn.pipe([t,Rl],{coerce:!0}):e.designType===Uint8Array?vn.pipe([t,Dl],{coerce:!0}):t}[_](){return Nl}},a(At,"Base64Type"),At);Sn=wl([d({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Al("design:paramtypes",[Object])],Sn);var Rl=Mn(o=>Buffer.from(o,"base64")),Dl=Mn(o=>new Uint8Array(Buffer.from(o,"base64"))),Nl=Mn(o=>Buffer.isBuffer(o)?o.toString("base64"):bl(o));import{__decorate as Ya,__metadata as Ga}from"tslib";import{vg as Qa}from"valgen";var bt,ai=(bt=class{constructor(e){p(this,"provider");e&&Object.assign(this,e)}[E](e){return Qa.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}[_](e){return Qa.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}},a(bt,"CreditCardType"),bt);Ya([d.Attribute({description:"Locale to use for validation"}),Ga("design:type",Object)],ai.prototype,"provider",void 0);ai=Ya([d({name:"creditcard",description:"A Credit Card value",nameMappings:{js:"string",json:"string"}}),Ga("design:paramtypes",[Object])],ai);import{__decorate as In,__metadata as Ln}from"tslib";import{vg as Ie}from"valgen";var Xa=Ie.isDateString({precisionMin:"day",precisionMax:"day",trim:!0,coerce:!0}),vl=Ie.isDate({trim:"day",coerce:!0}),Rt,_r=(Rt=class{constructor(e){p(this,"designType");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t;e.designType===Date?t=vl:t=Xa;let r=[t];return e.minValue!=null&&r.push(Ie.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ie.isLte(t(e.maxValue))),r.length>0?Ie.pipe(r,{returnIndex:0}):t}[_](e){let t=Xa,r=[t];return e.minValue!=null&&r.push(Ie.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ie.isLte(t(e.maxValue))),r.length>0?Ie.pipe(r,{returnIndex:0}):t}},a(Rt,"DateType"),Rt);In([d.Attribute({description:"Minimum value"}),Ln("design:type",String)],_r.prototype,"minValue",void 0);In([d.Attribute({description:"Maximum value"}),Ln("design:type",String)],_r.prototype,"maxValue",void 0);_r=In([d({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),Ln("design:paramtypes",[Object])],_r);import{__decorate as gr,__metadata as Or}from"tslib";import{vg as we}from"valgen";var Dt,He=(Dt=class{constructor(e){p(this,"designType");p(this,"precisionMin");p(this,"precisionMax");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t;e.designType===Date?t=we.isDate({coerce:!0}):t=we.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0});let r=[t];return e.minValue!=null&&r.push(we.isGte(t(e.minValue))),e.maxValue!=null&&r.push(we.isLte(t(e.maxValue))),r.length>0?we.pipe(r,{returnIndex:0}):t}[_](e){let t=we.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0}),r=[t];return e.minValue!=null&&r.push(we.isGte(t(e.minValue))),e.maxValue!=null&&r.push(we.isLte(t(e.maxValue))),r.length>0?we.pipe(r,{returnIndex:0}):t}},a(Dt,"DateTimeType"),Dt);gr([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "day".'}),Or("design:type",String)],He.prototype,"precisionMin",void 0);gr([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "ms".'}),Or("design:type",String)],He.prototype,"precisionMax",void 0);gr([d.Attribute({description:"Minimum value"}),Or("design:type",String)],He.prototype,"minValue",void 0);gr([d.Attribute({description:"Maximum value"}),Or("design:type",String)],He.prototype,"maxValue",void 0);He=gr([d({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}),Or("design:paramtypes",[Object])],He);import{__decorate as Pn,__metadata as Cn}from"tslib";import{vg as et}from"valgen";var Za=et.isDateString({precisionMin:"tz",coerce:!0}),Nt,wr=(Nt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=Za,r=[t];return e.minValue!=null&&r.push(et.isGte(t(e.minValue))),e.maxValue!=null&&r.push(et.isLte(t(e.maxValue))),r.length>0?et.pipe(r,{returnIndex:0}):t}[_](e){let t=Za,r=[t];return e.minValue!=null&&r.push(et.isGte(t(e.minValue))),e.maxValue!=null&&r.push(et.isLte(t(e.maxValue))),r.length>0?et.pipe(r,{returnIndex:0}):t}},a(Nt,"DateTimeTypeTz"),Nt);Pn([d.Attribute({description:"Minimum value"}),Cn("design:type",String)],wr.prototype,"minValue",void 0);Pn([d.Attribute({description:"Maximum value"}),Cn("design:type",String)],wr.prototype,"maxValue",void 0);wr=Pn([d({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),Cn("design:paramtypes",[Object])],wr);import{__decorate as Sl,__metadata as Ml}from"tslib";import{vg as Ha}from"valgen";var vt,kn=(vt=class{constructor(e){e&&Object.assign(this,e)}[E](){return Ha.isEAN({coerce:!0})}[_](){return Ha.isEAN({coerce:!0})}},a(vt,"EanType"),vt);kn=Sl([d({name:"ean",description:"An EAN (European Article Number)",nameMappings:{js:"string",json:"string"}}),Ml("design:paramtypes",[Object])],kn);import{__decorate as he,__metadata as ye}from"tslib";import{vg as ep}from"valgen";var St,ie=(St=class{constructor(e){p(this,"allowDisplayName");p(this,"requireDisplayName");p(this,"utf8LocalPart");p(this,"ignoreMaxLength");p(this,"allowIpDomain");p(this,"domainSpecificValidation");p(this,"hostBlacklist");p(this,"hostWhitelist");p(this,"blacklistedChars");e&&Object.assign(this,e)}[E](e){return ep.isEmail({...e,coerce:!0})}[_](e){return ep.isEmail({...e,coerce:!0})}},a(St,"EmailType"),St);he([d.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),ye("design:type",Boolean)],ie.prototype,"allowDisplayName",void 0);he([d.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),ye("design:type",Boolean)],ie.prototype,"requireDisplayName",void 0);he([d.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),ye("design:type",Boolean)],ie.prototype,"utf8LocalPart",void 0);he([d.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),ye("design:type",Boolean)],ie.prototype,"ignoreMaxLength",void 0);he([d.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),ye("design:type",Boolean)],ie.prototype,"allowIpDomain",void 0);he([d.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),ye("design:type",Boolean)],ie.prototype,"domainSpecificValidation",void 0);he([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),ye("design:type",Array)],ie.prototype,"hostBlacklist",void 0);he([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),ye("design:type",Array)],ie.prototype,"hostWhitelist",void 0);he([d.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),ye("design:type",String)],ie.prototype,"blacklistedChars",void 0);ie=he([d({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),ye("design:paramtypes",[Object])],ie);import{__decorate as jn,__metadata as Fn}from"tslib";import{toString as Il,validator as Ll,vg as Pl}from"valgen";var Mt,Y=(Mt=class{constructor(e){p(this,"dataType");p(this,"allowSigns");e&&Object.assign(this,e)}[E](e,{element:t,scope:r}){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=Ll("decodeFieldPath",c=>i.normalizeFieldPath(c,{allowSigns:n,scope:r}));return Pl.pipe([Il,s])}[_](e,t){return this[E](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Mt,"FieldPathType"),Mt);jn([d.Attribute({description:"Data type which field belong to"}),Fn("design:type",Object)],Y.prototype,"dataType",void 0);jn([d.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),Fn("design:type",String)],Y.prototype,"allowSigns",void 0);Y=jn([d({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),Fn("design:paramtypes",[Object])],Y);import{__decorate as Un,__metadata as $n}from"tslib";import{validator as tp}from"valgen";var It,tt=(It=class{constructor(e){p(this,"dataType");p(this,"rules");e&&Object.assign(this,e)}[E](e,{element:t}){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new gt(e.rules):void 0;return Cl(r,i)}[_](){return kl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(It,"FilterType"),It);Un([d.Attribute({description:"Data type which filtering fields belong to"}),$n("design:type",Object)],tt.prototype,"dataType",void 0);Un([d.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),$n("design:type",Object)],tt.prototype,"rules",void 0);tt=Un([d({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),$n("design:paramtypes",[Object])],tt);var Cl=a((o,e,t)=>tp("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=Er.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),kl=tp("encodeFilter",(o,e,t)=>{if(o instanceof Er.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as jl,__metadata as Fl}from"tslib";import{vg as rp}from"valgen";var Lt,Bn=(Lt=class{constructor(e){e&&Object.assign(this,e)}[E](){return rp.isIBAN({coerce:!0})}[_](){return rp.isIBAN({coerce:!0})}},a(Lt,"IbanType"),Lt);Bn=jl([d({name:"iban",description:"An IBAN (International Bank Account Number)",nameMappings:{js:"string",json:"string"}}),Fl("design:paramtypes",[Object])],Bn);import{__decorate as ip,__metadata as op}from"tslib";import{vg as Le}from"valgen";var Pt,pi=(Pt=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[E](e){return e!=null&&e.version?Le.isIP(e==null?void 0:e.version,{coerce:!0}):Le.oneOf([Le.isIP("4",{coerce:!0}),Le.isIP("6",{coerce:!0})])}[_](e){return e!=null&&e.version?Le.isIP(e==null?void 0:e.version,{coerce:!0}):Le.oneOf([Le.isIP("4",{coerce:!0}),Le.isIP("6",{coerce:!0})])}},a(Pt,"IpType"),Pt);ip([d.Attribute({description:"IP version to use for validation"}),op("design:type",Object)],pi.prototype,"version",void 0);pi=ip([d({name:"ip",description:"An IP address",nameMappings:{js:"string",json:"string"}}),op("design:paramtypes",[Object])],pi);import{__decorate as qn,__metadata as Kn}from"tslib";import{vg as np}from"valgen";var Ct,Ar=(Ct=class{constructor(e){p(this,"locale");p(this,"strictMode");e&&Object.assign(this,e)}[E](e){return np.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}[_](e){return np.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}},a(Ct,"MobilePhoneType"),Ct);qn([d.Attribute({description:"Locale to use for validation"}),Kn("design:type",String)],Ar.prototype,"locale",void 0);qn([d.Attribute({description:"If this is set to true, the mobile phone number must be supplied with the country code and therefore must start with +. Locale number"}),Kn("design:type",Boolean)],Ar.prototype,"strictMode",void 0);Ar=qn([d({name:"mobilephone",description:"A Mobile Phone Number value",nameMappings:{js:"string",json:"string"}}),Kn("design:paramtypes",[Object])],Ar);import{__decorate as Ul,__metadata as $l}from"tslib";import{vg as sp}from"valgen";var kt,Vn=(kt=class{constructor(e){e&&Object.assign(this,e)}[E](){return sp.isObjectId({coerce:!0})}[_](){return sp.isObjectId({coerce:!0})}},a(kt,"ObjectIdType"),kt);Vn=Ul([d({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),$l("design:paramtypes",[Object])],Vn);import{__decorate as Pe,__metadata as Ce}from"tslib";import{omitUndefined as ap}from"@jsopen/objects";import{asMutable as ql}from"ts-gems";import{vg as ci}from"valgen";import{omitUndefined as Bl}from"@jsopen/objects";function Wn(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(y,r.constructor)||{};n.kind=u.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),c=n.fields[i]={...o,designType:s};s===Array?c.isArray=!0:c.type=c.type||s,Reflect.defineMetadata(y,n,r.constructor);for(let l of e)l(c)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(Bl({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(Wn,"ApiFieldDecoratorFactory");var B=a(function(...o){if(!(this instanceof B)){let[n]=o;return B[w](n)}let[e,t]=o;A.call(this,e);let r=ql(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof U))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.designType=t.designType,r.override=t.override},"ApiField"),Jn=class Jn extends A{constructor(){super(...arguments);p(this,"origin")}inScope(t){return mr(t,this.scopePattern)}forScope(t){if(!(t&&this.override))return this;this._overrideCache=this._overrideCache||{};let r=this._overrideCache[t];if(r)return r;if(t!=="*"){for(let i of this.override)if(mr(t,i.scopePattern)){r=ap({...i,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:i.scopePattern}),Object.setPrototypeOf(r,this);break}}return r=r||this,this._overrideCache[t]=r,r}toJSON(t){var i;let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ap({type:r||((i=this.type)==null?void 0:i.toJSON(t)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}generateCodec(t,r,i){var s;if(this.fixed)return ci.fixed(this.fixed);let n=((s=this.type)==null?void 0:s.generateCodec(t,r,{...i,designType:this.designType}))||ci.isAny();return this.default!==void 0&&(n=ci.required(n,{default:this.default})),this.isArray&&this.type.kind!==u.ArrayType.Kind&&(n=ci.isArray(n)),n}};a(Jn,"ApiFieldClass");var zn=Jn;B.prototype=zn.prototype;Object.assign(B,Wn);B[w]=Wn;import"reflect-metadata";import{omitUndefined as Vl}from"@jsopen/objects";import{asMutable as Wl}from"ts-gems";import{omit as Kl}from"@jsopen/objects";function Qn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(y,e);r||(r={},Reflect.defineMetadata(y,r,e)),r.kind=u.ComplexType.Kind,r.name=t,o&&Object.assign(r,Kl(o,["name"]))}}a(Qn,"ComplexTypeDecorator");var oe=a(function(...o){var n;if(!this)return oe[w].apply(void 0,o);let[e,t]=o,r=o[2]||new de({maxErrors:0});U.call(this,e,t,r);let i=Wl(this);i.kind=u.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof U))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new B(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,c]of Object.entries(t.fields)){let l=new B(this,{...c,name:s});this._fields.set(l.name,l)}})},"ComplexType"),Gn=class Gn extends U{constructor(){super(...arguments);p(this,"base")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof U?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n={...r,kind:this.kind,base:this.base?i||this.base.toJSON(t):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof g){let s=this.node.getDataTypeNameWithNs(this.additionalFields);n.additionalFields=s||this.additionalFields.toJSON(t)}else n.additionalFields=this.additionalFields;if(this._fields.size){let s={},c=0;for(let l of this._fields.values())l.origin===this&&l.inScope(t==null?void 0:t.scope)&&(s[l.name]=l.toJSON(t),c++);c&&(n.fields=s)}return Vl(n)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Gn,"ComplexTypeClass");var Yn=Gn;oe.prototype=Yn.prototype;Object.assign(oe,Qn);oe[w]=Qn;var jt,Te=(jt=class{constructor(e){e&&Object.assign(this,e)}},a(jt,"OperationResult"),jt);Pe([B(),Ce("design:type",String)],Te.prototype,"context",void 0);Pe([B(),Ce("design:type",String)],Te.prototype,"type",void 0);Pe([B(),Ce("design:type",String)],Te.prototype,"message",void 0);Pe([B({type:"any"}),Ce("design:type",Object)],Te.prototype,"payload",void 0);Pe([B({type:"object"}),Ce("design:type",Array)],Te.prototype,"errors",void 0);Te=Pe([oe({name:"OperationResult",description:"Operation result",additionalFields:!0}),Ce("design:paramtypes",[Object])],Te);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return Pe([B({type:t,required:!0}),Ce("design:type",Object)],r.prototype,"payload",void 0),r=Pe([oe({embedded:!0}),Ce("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Te||(Te={}));import{__decorate as Xn,__metadata as Zn}from"tslib";import{vg as li}from"valgen";var zl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Ft,br=(Ft=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=li.matches(zl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(li.isGte(e.minValue)),e.maxValue!=null&&r.push(li.isLte(e.maxValue)),r.length>0?li.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[E](e)}},a(Ft,"TimeType"),Ft);Xn([d.Attribute({description:"Minimum value"}),Zn("design:type",String)],br.prototype,"minValue",void 0);Xn([d.Attribute({description:"Maximum value"}),Zn("design:type",String)],br.prototype,"maxValue",void 0);br=Xn([d({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Zn("design:paramtypes",[Object])],br);import{__decorate as Jl,__metadata as Ql}from"tslib";import{vg as pp}from"valgen";var Ut,Hn=(Ut=class{constructor(e){e&&Object.assign(this,e)}[E](){return pp.isURL({coerce:!0})}[_](){return pp.isURL({coerce:!0})}},a(Ut,"UrlType"),Ut);Hn=Jl([d({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Ql("design:paramtypes",[Object])],Hn);import{__decorate as lp,__metadata as fp}from"tslib";import{vg as cp}from"valgen";var $t,fi=($t=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[E](e){return cp.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return cp.isUUID(e==null?void 0:e.version,{coerce:!0})}},a($t,"UuidType"),$t);lp([d.Attribute({description:"Version of the UUID"}),fp("design:type",Object)],fi.prototype,"version",void 0);fi=lp([d({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),fp("design:paramtypes",[Object])],fi);import sf from"path-browserify";import{omitUndefined as af}from"@jsopen/objects";import{asMutable as pf}from"ts-gems";var ne=Symbol.for("kMap"),Rr=Symbol.for("kCtorMap"),mp,up,ts=class ts{constructor(){p(this,up,new S);p(this,mp,new WeakMap)}get size(){return this[ne].size}forEach(e,t){this[ne].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Rr].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(y,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[y];t=i==null?void 0:i.name}if(!t)return;let r=this[ne].get(t);if(r){if(typeof e=="function"&&r.kind==="ComplexType"&&r.ctor!==e)throw new TypeError(`An other data type with same class (${e.name}) already exists.`);return r}}set(e,t){this[ne].set(e,t),t.ctor?this[Rr].set(t.ctor,e):t.instance&&this[Rr].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[ne].has(e.name);let t=typeof e=="string"?e:this[Rr].get(e);return t?this[ne].has(t):!1}keys(){return this[ne].keys()}values(){return this[ne].values()}entries(){return this[ne].entries()}sort(e){return this[ne].sort(e),this}[(up=ne,mp=Rr,Symbol.iterator)](){return this[ne][Symbol.iterator]()}};a(ts,"DataTypeMap");var z=ts;import nf from"@browsery/type-is";import{isConstructor as Bt}from"@jsopen/objects";import Zl from"@browsery/type-is";import{omitUndefined as Hl}from"@jsopen/objects";import{asMutable as ef}from"ts-gems";import{isAny as tf,vg as rf}from"valgen";import"reflect-metadata";import{omitUndefined as Yl}from"@jsopen/objects";import{asMutable as Gl}from"ts-gems";import{vg as mi}from"valgen";var ke=a(function(...o){if(!this)return ke[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=Gl(this);i.kind=u.ArrayType.Kind,i.type=t.type,i.minOccurs=t.minOccurs,i.maxOccurs=t.maxOccurs},"ArrayType"),is=class is extends g{toJSON(e){let t=super.toJSON(e),r=this.node.getDataTypeNameWithNs(this.type);return Yl({...t,kind:this.kind,type:r||this.type.toJSON(e),minOccurs:this.minOccurs,maxOccurs:this.maxOccurs})}generateCodec(e,t,r){let i=this.type.generateCodec(e,t,r);i=mi.isArray(i);let n=[];return this.minOccurs&&n.push(mi.lengthMin(this.minOccurs)),this.maxOccurs&&n.push(mi.lengthMax(this.maxOccurs)),n.length>0?mi.pipe([i,...n],{returnIndex:0}):i}extendsFrom(){return!1}_locateBase(){}};a(is,"ArrayTypeClass");var rs=is;ke.prototype=rs.prototype;ke[w]=Xl;function Xl(o,e){let i=class i{};a(i,"ArrayClass");let t=i,r={...e,kind:u.ArrayType.Kind,type:o};return Reflect.defineMetadata(y,r,t),t}a(Xl,"ArrayTypeFactory");var je=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');A.call(this,o);let t=ef(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxParts=e.maxParts,t.maxPartSize=e.maxPartSize,t.maxFieldSize=e.maxFieldSize,t.maxTotalSize=e.maxTotalSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray,t.designType=e.designType},"HttpMediaType"),ns=class ns extends A{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Hl({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxParts:this.maxParts,maxPartSize:this.maxPartSize,maxFieldSize:this.maxFieldSize,maxTotalSize:this.maxTotalSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t,r){let i;return this.type?i=this.type.generateCodec(e,t,{designType:this.designType}):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(s=>Zl.is(s,["json"]))&&(i=this.node.findDataType("object").generateCodec(e,t,{...r,designType:this.designType})),i=i||tf,this.isArray&&!(this.type instanceof ke)?rf.isArray(i):i}};a(ns,"HttpMediaTypeClass");var os=ns;je.prototype=os.prototype;import{omitUndefined as of}from"@jsopen/objects";function Fe(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(Fe,"parseRegExp");var ss=class ss extends je{constructor(t,r){super(t,r);p(this,"fieldName");p(this,"fieldType");p(this,"required");this.fieldName=r.fieldName instanceof RegExp?r.fieldName:r.fieldName.startsWith("/")?Fe(r.fieldName):r.fieldName,this.fieldType=r.fieldType,this.required=r.required}toJSON(t){return of({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(t)})}};a(ss,"HttpMultipartField");var ui=ss;function L(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:u.HttpOperation.Kind},s=Reflect.getOwnMetadata(ae,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n);Reflect.defineMetadata(ae,s,r.constructor)}),"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="cookie"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="header"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="query"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};Bt(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="path"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType??R.json),(n.contentType?Array.isArray(n.contentType)?n.contentType:[n.contentType]:[]).find(c=>c.endsWith("+json")||c.endsWith("+xml")||c.endsWith("+yaml")||c.endsWith("+toml")||nf.is(c,"json","html","text","xml"))&&(n.contentEncoding=n.contentEncoding??"utf-8"),Bt(n.type)&&(n.designType=n.type),o.push(c=>{c.responses=c.responses||[],c.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||[R.json,R.yaml,R.yaml2,R.toml,R.toml2],i.contentEncoding=i.contentEncoding||"utf-8",Bt(i.type)&&(i.designType=i.type)),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"field",...l}),s},File(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"file",...l}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(L,"HttpOperationDecoratorFactory");var D=a(function(...o){if(!this){let[i]=o,n=[];return D[w].call(void 0,n,i)}let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=pf(this);r.parameters=[],r.responses=[],r.types=r.node[C]=new z,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?k(t.compositionOptions):void 0},"HttpOperation"),ps=class ps extends A{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:sf.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=af({kind:u.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(ps,"HttpOperationClass");var as=ps;D.prototype=as.prototype;D[w]=L;D.GET=function(o){return L([],{...o,method:"GET"})};D.DELETE=function(o){return L([],{...o,method:"DELETE"})};D.HEAD=function(o){return L([],{...o,method:"HEAD"})};D.OPTIONS=function(o){return L([],{...o,method:"OPTIONS"})};D.PATCH=function(o){return L([],{...o,method:"PATCH"})};D.POST=function(o){return L([],{...o,method:"POST"})};D.PUT=function(o){return L([],{...o,method:"PUT"})};D.SEARCH=function(o){return L([],{...o,method:"SEARCH"})};import{omitUndefined as cf}from"@jsopen/objects";var cs=class cs extends A{constructor(t){super(t);p(this,"description");p(this,"content",[]);p(this,"required");p(this,"maxContentSize");p(this,"immediateFetch");p(this,"partial");p(this,"allowPatchOperators");p(this,"keepKeyFields");p(this,"allowNullOptionals")}toJSON(t){return cf({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(r=>r.toJSON(t)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators,allowNullOptionals:this.allowNullOptionals})}};a(cs,"HttpRequestBody");var di=cs;D.Entity={};function J(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(y,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(J,"getDataTypeName");function Ue(o,e){return(t,r)=>{let i=typeof r=="string"||typeof r=="function"?{name:t,location:"path",type:r,keyParam:!0}:{...r,name:t,location:"path",keyParam:!0};return o.PathParam(t,i),e.push(n=>{var s;(s=n.path)!=null&&s.includes(":"+t)||(n.path=(n.path||"")+"@:"+t),n.mergePath=!0}),o}}a(Ue,"createKeyParamDecorator");function dp(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,c)=>{let l=c.split(":");return s[l[0]]=l[1]||l[0],s},{}),i=Object.keys(r).reduce((s,c)=>{let l=wt.exec(c),m=wt.exec(r[c]);return l&&m&&(s[l[2]]=m[2]),s},{}),n=Object.keys(r).reduce((s,c)=>{let l=wt.exec(c);return l&&(l[1]!="-"&&(s[l[2]]=l[2]),l[1]!="+"&&(s["-"+l[2]]="-"+l[2])),s},{});return e.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:re(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(c=>{let l=wt.exec(c);return l?(l[1]||"")+i[l[2]]:c}),"parser")}),o}}a(dp,"createSortFieldsDecorator");function $e(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new gt,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new tt({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let c=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(c.operators=c.operators||["=","!="],n.includes(":")){let l=n.split(":");n=l[0],c.mappedField=l[1]}return e.push(()=>{r.set(n,c),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a($e,"createFilterDecorator");D.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=J(t.type)}),i};D.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:R.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.KeyParam=Ue(i,r),i};D.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:R.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.Filter=$e(i,r,t.type),i};var _s={};kr(_s,{AnyType:()=>ls,BigintType:()=>hs,BooleanType:()=>ys,IntegerType:()=>Jt,NullType:()=>Es,NumberType:()=>Ae,ObjectType:()=>xs,StringType:()=>rt});import{__decorate as lf,__metadata as ff}from"tslib";import{isAny as hp}from"valgen";var qt,ls=(qt=class{constructor(e){e&&Object.assign(this,e)}[E](){return hp}[_](){return hp}},a(qt,"AnyType"),qt);ls=lf([d({name:"any",description:"Represents any value"}),ff("design:paramtypes",[Object])],ls);import{__decorate as mf,__metadata as uf}from"tslib";import{toBigint as Tp,vg as ds}from"valgen";import{__decorate as ms,__metadata as us}from"tslib";import{toNumber as yp,vg as fs}from"valgen";var Kt,Ae=(Kt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=[];return e.minValue!=null&&t.push(fs.isGte(e.minValue)),e.maxValue!=null&&t.push(fs.isLte(e.maxValue)),t.length>0?fs.pipe([yp,...t],{returnIndex:0}):yp}[_](e){return this[E](e)}},a(Kt,"NumberType"),Kt);ms([d.Attribute({description:"Determines the minimum value"}),us("design:type",Number)],Ae.prototype,"minValue",void 0);ms([d.Attribute({description:"Determines the maximum value"}),us("design:type",Number)],Ae.prototype,"maxValue",void 0);Ae=ms([d({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),us("design:paramtypes",[Object])],Ae);var Vt,hs=(Vt=class extends Ae{constructor(e){super(e)}[E](e){let t=[];return e.minValue!=null&&t.push(ds.isGte(e.minValue)),e.maxValue!=null&&t.push(ds.isLte(e.maxValue)),t.length>0?ds.pipe([Tp,...t],{returnIndex:0}):Tp}[_](e){return this[E](e)}},a(Vt,"BigintType"),Vt);hs=mf([d({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),uf("design:paramtypes",[Object])],hs);import{__decorate as df,__metadata as hf}from"tslib";import{toBoolean as Ep}from"valgen";var Wt,ys=(Wt=class{constructor(e){e&&Object.assign(this,e)}[E](){return Ep}[_](){return Ep}},a(Wt,"BooleanType"),Wt);ys=df([d({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),hf("design:paramtypes",[Object])],ys);import{__decorate as yf,__metadata as Tf}from"tslib";import{toInteger as xp,vg as Ts}from"valgen";var zt,Jt=(zt=class extends Ae{constructor(e){super(e)}[E](e){let t=[];return e.minValue!=null&&t.push(Ts.isGte(e.minValue)),e.maxValue!=null&&t.push(Ts.isLte(e.maxValue)),t.length>0?Ts.pipe([xp,...t],{returnIndex:0}):xp}[_](e){return this[E](e)}},a(zt,"IntegerType"),zt);Jt=yf([d({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Tf("design:paramtypes",[Object])],Jt);import{__decorate as Ef,__metadata as xf}from"tslib";import{isNull as _p}from"valgen";var Qt,Es=(Qt=class{constructor(e){e&&Object.assign(this,e)}[E](){return _p}[_](){return _p}},a(Qt,"NullType"),Qt);Es=Ef([d({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),xf("design:paramtypes",[Object])],Es);import{__decorate as _f,__metadata as gf}from"tslib";var Yt,xs=(Yt=class{constructor(e){e&&Object.assign(this,e)}},a(Yt,"ObjectType"),Yt);xs=_f([oe({name:"object",description:"A non modelled object",additionalFields:!0}),gf("design:paramtypes",[Object])],xs);import{__decorate as Dr,__metadata as Nr}from"tslib";import{toString as gp,vg as hi}from"valgen";var Gt,rt=(Gt=class{constructor(e){p(this,"pattern");p(this,"patternName");p(this,"minLength");p(this,"maxLength");e&&Object.assign(this,e)}[E](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(y,Object.getPrototypeOf(this).constructor).name),t.push(hi.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(hi.lengthMin(e.minLength)),e.maxLength&&t.push(hi.lengthMax(e.maxLength)),t.length>0?hi.pipe([gp,...t],{returnIndex:0}):gp}[_](e){return this[E](e)}},a(Gt,"StringType"),Gt);Dr([d.Attribute({description:"Regex pattern to be used for validation"}),Nr("design:type",Object)],rt.prototype,"pattern",void 0);Dr([d.Attribute({description:"Name of the pattern"}),Nr("design:type",String)],rt.prototype,"patternName",void 0);Dr([d.Attribute({description:"Minimum number of characters"}),Nr("design:type",Number)],rt.prototype,"minLength",void 0);Dr([d.Attribute({description:"Minimum number of characters"}),Nr("design:type",Number)],rt.prototype,"maxLength",void 0);rt=Dr([d({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),Nr("design:paramtypes",[Object])],rt);D.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:R.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Jt({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Jt({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=$e(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.defaultSort=n}),i),i.SortFields=dp(i,r),i};D.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.KeyParam=Ue(i,r),i};D.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=J(t.type)}),i.KeyParam=Ue(i,r),i};D.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:R.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=J(t.type)}),i.KeyParam=Ue(i,r),i.Filter=$e(i,r,t.type),i};D.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=L(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:R.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:R.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=J(t.type)}),i.Filter=$e(i,r,t.type),i};import{merge as gs}from"@jsopen/objects";var Of=/^(.*)(Controller)$/,Op=[];function Xt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Of.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(pe,Object.getPrototypeOf(r));s&&gs(n,s,{deep:!0});let c=Reflect.getOwnMetadata(pe,r);c&&gs(n,c,{deep:!0}),gs(n,{...o,kind:u.MQController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(pe,n,r);for(let m of e)m(n,r);Reflect.defineMetadata(pe,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),Op.forEach(r=>r(t,e,o)),t}a(Xt,"MQControllerDecoratorFactory");Xt.augment=function(o){Op.push(o)};import{isConstructor as wp,omit as Af}from"@jsopen/objects";var Ap=[];function vr(o,e,t){let r=!1,i=a(((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let c={kind:u.MQOperation.Kind,channel:s,type:e,...Af(t,["kind","type"])},l=Reflect.getOwnMetadata(pe,n.constructor)||{};l.operations=l.operations||{},l.operations[s]=c;for(let m of o)m(c,n,s);Reflect.defineMetadata(pe,l,n.constructor)}),"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(c=>{let l=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n};wp(l.type)&&(l.designType=l.type);let m=r?c.response:c;m.headers?m.headers=m.headers.filter(T=>String(T.name)!==String(n)):m.headers=[],m.headers.push(l)}),i),i.Response=(n,s)=>(o.push(c=>{r=!0,c.response={...s,type:n},wp(n)&&(c.response.designType=n)}),i),Ap.forEach(n=>n(i,o,e,t)),i}a(vr,"MQOperationDecoratorFactory");vr.augment=function(o){Ap.push(o)};import{merge as Os}from"@jsopen/objects";var Rf=/^(.*)(Controller)$/,bp=[];function Zt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Rf.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(ce,Object.getPrototypeOf(r));s&&Os(n,s,{deep:!0});let c=Reflect.getOwnMetadata(ce,r);c&&Os(n,c,{deep:!0}),Os(n,{...o,kind:u.WSController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ce,n,r);for(let m of e)m(n,r);Reflect.defineMetadata(ce,n,r)},"decorator");return t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),bp.forEach(r=>r(t,e,o)),t}a(Zt,"WSControllerDecoratorFactory");Zt.augment=function(o){bp.push(o)};import{omit as Nf}from"@jsopen/objects";var Rp=[];function Sr(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:u.WSOperation.Kind,event:i,...Nf(e,["kind"])},s=Reflect.getOwnMetadata(ce,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n,r,i);Reflect.defineMetadata(ce,s,r.constructor)}),"decorator");return t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),Rp.forEach(r=>r(t,o,e)),t}a(Sr,"WSOperationDecoratorFactory");Sr.augment=function(o){Rp.push(o)};import"reflect-metadata";import{omitUndefined as Sf}from"@jsopen/objects";import{asMutable as Mf}from"ts-gems";function yi(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(yi,"getIsInheritedPredicateFn");var it=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;U.call(this,e,t,r);let i=Mf(this);if(i.kind=u.MappedType.Kind,t.base){if(!(t.base instanceof U))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(m=>i.base.normalizeFieldPath(m)):t.omit?i.omit=t.omit.map(m=>i.base.normalizeFieldPath(m)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(m=>i.base.normalizeFieldPath(m)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(m=>i.base.normalizeFieldPath(m)):t.required);let s=yi(i.pick,i.omit),c=Array.isArray(i.partial)?i.partial.map(m=>m.toLowerCase()):i.partial,l=Array.isArray(i.required)?i.required.map(m=>m.toLowerCase()):i.required;for(let[m,T]of i.base.fieldEntries("*")){if(!s(m))continue;let O={...T};c===!0||Array.isArray(c)&&c.includes(T.name.toLowerCase())?O.required=!1:(l===!0||Array.isArray(l)&&l.includes(T.name.toLowerCase()))&&(O.required=!0);let x=new B(this,O);i._fields.set(x.name,x)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),As=class As extends U{constructor(){super(...arguments);p(this,"omit");p(this,"pick");p(this,"partial");p(this,"required")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof U?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Sf({...r,base:i||this.base.toJSON(t),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(As,"MappedTypeClass");var ws=As;it.prototype=ws.prototype;it._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as If}from"@jsopen/objects";import{asMutable as Lf}from"ts-gems";var Ht=a(function(...o){if(!this)return Ht[w].apply(void 0,o);let[e,t,r]=o;U.call(this,e,t,r);let i=Lf(this);i.kind=u.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let c=new B(this,s);i._fields.set(c.name,c)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Rs=class Rs extends U{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof U))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return If({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a(Rs,"MixinTypeClass");var bs=Rs;Ht.prototype=bs.prototype;Ht[w]=Pf;function Pf(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)Ur(this,n)}}}[t],i={...e,kind:u.MixinType.Kind,types:[]};Reflect.defineMetadata(y,i,r);for(let n of o){let s=Reflect.getMetadata(y,n);if(!(s&&(s.kind===u.ComplexType.Kind||s.kind===u.MixinType.Kind||s.kind===u.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${u.ComplexType.Kind}, ${u.MixinType.Kind} or ${u.MappedType.Kind}`);i.types.push(n),Fr(r.prototype,n.prototype)}return r}a(Pf,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as Cf}from"@jsopen/objects";import{asMutable as kf}from"ts-gems";import{vg as Dp}from"valgen";var er=a(function(...o){if(!this)return er[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=kf(this);i.kind=u.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),Ns=class Ns extends g{toJSON(e){let t=super.toJSON(e);return Cf({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===u.ComplexType.Kind||i.kind===u.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:Dp.isEqual(i.discriminatorValue)}]:n});return Dp.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(Ns,"UnionTypeClass");var Ds=Ns;er.prototype=Ds.prototype;er[w]=jf;function jf(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:u.UnionType.Kind,types:o};return Reflect.defineMetadata(y,r,t),t}a(jf,"UnionTypeFactory");var vs=Symbol("initializing"),Ti=class Ti{static async createDataType(e,t,r){e=e||new de({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Ti.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[C];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new de({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let l of i)n.set(l.name,l);let s=e.extend({initArgsMap:n}),c=[];for(let[l,m]of n.entries())e.enter(`[${l}]`,()=>{if(!n.has(l))return;let T=this._createDataType(s,t,m);T&&c.push(T)});return c}static async _prepareAllInitArgs(e,t,r){let i=new S,n=new S,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[C])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let c=0;for(let l of r)await s.enterAsync(`$[${c++}]`,async()=>{l=await H(l);let m=Reflect.getMetadata(y,l)||l[y];if(!(m&&m.name))return typeof l=="function"?s.addError(`Class "${l.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(m.name,l)})}else{let c,l;for([l,c]of Object.entries(r))c=await H(c),i.set(l,typeof c=="object"?{...c,name:l}:c)}for(let c of Array.from(i.keys())){if(!i.has(c))continue;let l=await this._importDataTypeArgs(s,t,c);l&&typeof l!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var O;r=await H(r);let{importQueue:n,initArgsMap:s}=e,c=t.node.findDataType(r);if(c instanceof g)return c.name;let l,m,T;if(typeof r!="string"){let $=t.node.getDocument().types[$r].get(r);$&&(r=$)}if(typeof r=="string"){let x=r;if(r=(n==null?void 0:n.get(x))||((O=e.initArgsMap)==null?void 0:O.get(x)),!r)return e.addError(`Unknown data type (${x})`)}if(typeof r=="function"){if(l=Reflect.getMetadata(y,r),!l)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);m=r}else if(typeof r=="object"){if(l=r[y],l)T=r,l.kind!==u.EnumType.Kind&&(l=void 0);else if(u.isDataType(r))l=r,m=l.ctor;else if(m=Object.getPrototypeOf(r).constructor,l=m&&Reflect.getMetadata(y,m),l&&l.kind===u.SimpleType.Kind){let x=await this._importDataTypeArgs(e,t,l.name);return x?typeof x=="object"&&x.kind!==u.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:u.SimpleType.Kind,name:void 0,base:x,properties:r}:void 0}}return l?e.enterAsync(l.name?`[${l.name}]`:"",async()=>{if(l.name){let $=s==null?void 0:s.get(l.name);if($)return i&&$[vs]?e.addError("Circular reference detected"):l.name}let x={kind:l.kind,name:l.name};x[vs]=!0;try{if(x.name)if(n!=null&&n.has(x.name))s==null||s.set(l.name,x),x._instance={name:l.name},x[C]=t.node[C];else return e.addError(`Data Type (${x.name}) must be explicitly added to type list in the document scope`);switch(x.kind){case u.ArrayType.Kind:await this._prepareArrayTypeArgs(e,t,x,l);break;case u.ComplexType.Kind:x.ctor=m,await this._prepareComplexTypeArgs(e,t,x,l);break;case u.EnumType.Kind:x.instance=T,await this._prepareEnumTypeArgs(e,t,x,l);break;case u.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,x,l);break;case u.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,x,l);break;case u.SimpleType.Kind:x.ctor=m,await this._prepareSimpleTypeArgs(e,t,x,l);break;case u.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,x,l);break;default:return e.addError(`Invalid data type kind ${l.kind}`)}}finally{x.name&&(n==null||n.delete(x.name)),delete x[vs]}return n&&x.name?x.name:x}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareArrayTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".type",async()=>{let n=await this._importDataTypeArgs(e,t,i.type);n&&(r.type=be(n))})}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=be(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=be(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let c=typeof s=="string"?{type:s}:s;if(c.isArray&&!c.type)return e.addError('"type" must be defined explicitly for array fields');let l=await this._importDataTypeArgs(e,t,c.type||"any");l&&(r.fields[n]={...c,type:be(l)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=be(n))}),r.attributes=k(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,c,l;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let m;if(i.base)m=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let T=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,T)&&(m=await this._importDataTypeArgs(e,t,T))}m&&(r.base=be(m),r.ctor=r.ctor||m.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=k(i.attributes)),typeof((n=r.properties)==null?void 0:n[E])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[E].bind(r.properties)),typeof((c=r.properties)==null?void 0:c[_])=="function"&&(r.generateEncoder=(l=r.properties)==null?void 0:l[_].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=be(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(be(l))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(be(l))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof g)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let c=n[C];switch(c||delete n._instance,i=n._instance,i!=null&&i.name&&c&&c.set(i.name,i),n==null?void 0:n.kind){case u.ArrayType.Kind:return this._createArrayType(e,t,n);case u.ComplexType.Kind:return this._createComplexType(e,t,n);case u.EnumType.Kind:return this._createEnumType(e,t,n);case u.MappedType.Kind:return this._createMappedType(e,t,n);case u.MixinType.Kind:return this._createMixinType(e,t,n);case u.SimpleType.Kind:return this._createSimpleType(e,t,n);case u.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createArrayType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ke.prototype);let n=k(r);return r.type&&e.enter(".type",()=>{n.type=this._createDataType(e,t,r.type)}),ke.apply(i,[t,n]),i}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,oe.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,c]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let l=this._createDataType(e,t,c.type);l&&(n.fields[s]={...c,name:s,type:l})})}),oe.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,re.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,re.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,it.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),it.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Ht.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);if(!(l instanceof U))throw new TypeError(`"${l==null?void 0:l.kind}" can't be set as base for a "${n.kind}"`);n.types.push(l)})}),Ht.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,d.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),d.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,er.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);n.types.push(l)})}),er.apply(i,[t,n]),i}};a(Ti,"DataTypeFactory");var M=Ti;function be(o){return typeof o=="object"&&o.name?o.name:o}a(be,"preferName");import{isConstructor as Xf}from"@jsopen/objects";import{omitUndefined as Uf}from"@jsopen/objects";var Ss=class Ss extends A{constructor(t){super(t.owner);p(this,"name","OpraApi");p(this,"description");this.name=t.name,this.description=t.description}toJSON(t){return Uf({transport:this.transport,name:this.name,description:this.description})}async _initialize(t,r){if(!F.test(t.name))throw new TypeError(`Invalid api name (${t.name})`);this.name=t.name,this.description=t==null?void 0:t.description}};a(Ss,"ApiBase");var Be=Ss;import zf from"path-browserify";import{omitUndefined as Jf}from"@jsopen/objects";import{asMutable as Qf}from"ts-gems";import{merge as Ms,omit as $f}from"@jsopen/objects";var Bf=/^(.*)(Controller)$/;function Is(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Bf.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&Ms(n,s,{deep:!0});let c=Reflect.getOwnMetadata(ae,r);c&&Ms(n,c,{deep:!0}),Ms(n,{kind:u.HttpController.Kind,name:i,path:i,...$f(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let m of e)m(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var c;(c=n.path)!=null&&c.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(Is,"HttpControllerDecoratorFactory");import{omitUndefined as Vf}from"@jsopen/objects";import{asMutable as Wf}from"ts-gems";import{vg as Np}from"valgen";import{omitUndefined as qf}from"@jsopen/objects";import{asMutable as Kf}from"ts-gems";var ot=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');A.call(this,o);let t=Kf(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Ps=class Ps extends A{constructor(){super(...arguments);p(this,"type");p(this,"description");p(this,"examples");p(this,"isArray")}toJSON(t){let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return qf({type:this.type?r||this.type.toJSON(t):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Ps,"ValueClass");var Ls=Ps;ot.prototype=Ls.prototype;var Mr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');ot.call(this,o,e);let t=Wf(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Fe(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.default=e.default,t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser,t.designType=e.designType},"HttpParameter"),ks=class ks extends ot{toJSON(e){return Vf({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,default:this.default,deprecated:this.deprecated})}generateCodec(e,t,r){var n;let i=((n=this.type)==null?void 0:n.generateCodec(e,t,{...r,designType:this.designType}))||Np.isAny();return this.default!==void 0?Np.required(i,{default:this.default}):i}};a(ks,"HttpParameterClass");var Cs=ks;Mr.prototype=Cs.prototype;var se=a(function(...o){var i;if(!this)return se[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Qf(this);r.kind=u.HttpController.Kind,r.types=r.node[C]=new z,r.operations=new S,r.controllers=new S,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Fs=class Fs extends A{get isRoot(){return!(this.owner instanceof se)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof se)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return zf.posix.join(this.owner instanceof se?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=Jf({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[ve](){return`[${Se}HttpController${Me+this.name+Oe}]`}};a(Fs,"HttpControllerClass");var js=Fs;se.prototype=js.prototype;Object.assign(se,Is);se[w]=Is;var Us=class Us extends Be{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","http");p(this,"controllers",new S);p(this,"url");this.url=t.url}findController(t){return se.prototype.findController.call(this,t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(t){let i={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let n of this.controllers.values())i.controllers[n.name]=n.toJSON(t);return i}};a(Us,"HttpApi");var nt=Us;import{omitUndefined as Gf}from"@jsopen/objects";var Yf=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,$s=class $s{constructor(e,t){p(this,"start",0);p(this,"end",0);if(e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=Yf.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a($s,"HttpStatusRange");var Ir=$s;var Bs=class Bs extends je{constructor(t,r){super(t,r);p(this,"statusCode");p(this,"parameters");p(this,"partial");this.parameters=[],this.statusCode=(Array.isArray(r.statusCode)?r.statusCode:[r.statusCode]).map(i=>typeof i=="object"?new Ir(i.start,i.end):new Ir(i)),this.partial=r.partial}findParameter(t,r){t=t.toLowerCase();for(let i of this.parameters)if((!r||r===i.location)&&(i.name instanceof RegExp&&i.name.test(t)||i.name===t))return i}toJSON(t){let r=this.statusCode.map(n=>n.toJSON()),i=Gf({...super.toJSON(t),statusCode:r.length===1&&typeof r[0]=="number"?r[0]:r,partial:this.partial});if(this.parameters.length){i.parameters=[];for(let n of this.parameters)i.parameters.push(n.toJSON(t))}return i}};a(Bs,"HttpOperationResponse");var Ei=Bs;var qs=class qs{static async createApi(e,t){let r=new nt(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let c=await this._createController(e,t,s.metadata,s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(c.name,c))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let c=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(c.name,c))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!Xf(r)&&(r=t instanceof se?r(t.instance):r()),r=await H(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(ae,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(ae,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new se(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let c=0;for(let l of r.parameters)await e.enterAsync(`[${c++}]`,async()=>{let m={...l};await e.enterAsync(".type",async()=>{m.type=await M.resolveDataType(e,s,l.type)});let T=new Mr(s,m);s.parameters.push(T)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[c,l]of Object.entries(r.operations))await e.enterAsync(`[${c}]`,async()=>{let m=new D(s,{name:c,method:"GET"});await this._initHttpOperation(e,m,l),s.operations.set(c,m)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let c={...s};await e.enterAsync(".type",async()=>{c.type=await M.resolveDataType(e,t,s.type)});let l=new Mr(t,c);t.parameters.push(l)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let c=new Ei(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,c,s),t.responses.push(c)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new di(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){je.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await M.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new ui(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Mr(t,s);t.parameters.push(c)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.allowNullOptionals=r.allowNullOptionals,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new je(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(qs,"HttpApiFactory");var tr=qs;import{omitUndefined as am}from"@jsopen/objects";import{md5 as pm}from"super-fast-md5";import{omitUndefined as Hf}from"@jsopen/objects";import{asMutable as em}from"ts-gems";var st=a(function(...o){var i;if(!this)return st[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=em(this);r.kind=u.MQController.Kind,r.types=r.node[C]=new z,r.operations=new S,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"MQController"),Vs=class Vs extends A{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof st)return this.node.parent.element.findHeader(e,t)}toString(){return`[MQController ${this.name}]`}toJSON(){let e=Hf({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[ve](){return`[${Se}MQController${Me+this.name+Oe}]`}};a(Vs,"MQControllerClass");var Ks=Vs;st.prototype=Ks.prototype;Object.assign(st,Xt);st[w]=Xt;import{omitUndefined as tm}from"@jsopen/objects";import{asMutable as rm}from"ts-gems";import{vg as vp}from"valgen";var Lr=a(function(...o){if(!this){let[i,n]=o,s=[];return Lr[w].call(void 0,s,i,n)}let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=rm(this);r.headers=[],r.types=r.node[C]=new z,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.type&&(r.type=(t==null?void 0:t.type)instanceof g?t.type:r.owner.node.getDataType(t.type)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType)),r.designType=t.designType,r.keyDesignType=t.keyDesignType},"MQOperation"),zs=class zs extends A{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=tm({kind:u.MQOperation.Kind,description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||vp.isAny()}generateKeyCodec(e,t,r){var i;return((i=this.keyType)==null?void 0:i.generateCodec(e,t,{...r,designType:this.keyDesignType}))||vp.isAny()}};a(zs,"MQOperationClass");var Ws=zs;Lr.prototype=Ws.prototype;Lr[w]=vr;var Js=class Js extends Be{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","mq");p(this,"platform");p(this,"controllers",new S);this.platform=t.platform}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(Js,"MQApi");var at=Js;import{omitUndefined as im}from"@jsopen/objects";import{asMutable as om}from"ts-gems";var rr=a(function(...o){var i;if(!this)return rr[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=om(this);r.kind=u.WSController.Kind,r.types=r.node[C]=new z,r.operations=new S,r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"WSController"),Ys=class Ys extends A{toString(){return`[WSController ${this.name}]`}toJSON(){let e=im({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return e}[ve](){return`[${Se}WSController${Me+this.name+Oe}]`}};a(Ys,"WSControllerClass");var Qs=Ys;rr.prototype=Qs.prototype;Object.assign(rr,Zt);rr[w]=Zt;import{omitUndefined as nm}from"@jsopen/objects";import{asMutable as sm}from"ts-gems";var Pr=a(function(...o){if(!this){let[i,n]=o,s=[];return Pr[w].call(void 0,s,i,n)}let[e,t]=o;if(A.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=sm(this);r.types=r.node[C]=new z,r.name=t.name,r.description=t.description,t.event?this.event=t.event instanceof RegExp?t.event:t.event.startsWith("/")?Fe(t.event):t.event:r.event=this.name,t!=null&&t.arguments?r.arguments=t.arguments.map(i=>({type:i.type instanceof g?i.type:r.owner.node.getDataType(i.type),parameterIndex:i.parameterIndex})):r.arguments=[],t!=null&&t.response&&(r.response=t.response instanceof g?t.response:r.owner.node.getDataType(t.response))},"WSOperation"),Xs=class Xs extends A{toJSON(){var e;return nm({kind:u.WSOperation.Kind,description:this.description,event:this.event,arguments:(e=this.arguments)==null?void 0:e.map(t=>t.type.name?t.type.name:t.type.toJSON())})}};a(Xs,"WSOperationClass");var Gs=Xs;Pr.prototype=Gs.prototype;Pr[w]=Sr;var Zs=class Zs extends Be{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","ws");p(this,"controllers",new S)}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(Zs,"WSApi");var pt=Zs;var Sp,Mp,Hs=class Hs extends(Mp=A,Sp=Re,Mp){constructor(){super(null);p(this,Sp,new WeakMap);p(this,"id","");p(this,"url");p(this,"info",{});p(this,"references",new S);p(this,"types",new z);p(this,"api");this.node[C]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(t){let r=t instanceof g?this._findDataType(t.name||""):this._findDataType(t);if(r)return this[Re].get(r)}findDocument(t){if(this.id===t)return this;for(let r of this.references.values()){if(r.id===t)return r;let i=r.findDocument(t);if(i)return i}}get httpApi(){if(this.api&&this.api instanceof nt)return this.api}get mqApi(){if(this.api&&this.api instanceof at)return this.api}get wsApi(){if(this.api&&this.api instanceof pt)return this.api}getHttpApi(){if(!(this.api&&this.api instanceof nt))throw new TypeError("The document do not contains HttpApi instance");return this.api}getMqApi(){if(!(this.api&&this.api instanceof at))throw new TypeError("The document do not contains MQApi instance");return this.api}getWsApi(){if(!(this.api&&this.api instanceof pt))throw new TypeError("The document do not contains WSApi instance");return this.api}toJSON(){return this.export()}export(t){let r=am({spec:u.SpecVersion,id:this.id,url:this.url,info:k(this.info,!0)});if(this.references.size){let i=0,n={};for(let[s,c]of this.references.entries())c[We]||(n[s]={id:c.id,url:c.url,info:k(c.info,!0)},i++);i&&(r.references=n)}if(this.types.size){r.types={};for(let i of this.types.values())i.inScope(t==null?void 0:t.scope)&&(r.types[i.name]=i.toJSON(t))}return this.api&&(r.api=this.api.toJSON(t)),r}invalidate(){let t=this.export({});delete t.id,this.id=pm(JSON.stringify(t)),this[Re]=new WeakMap}_findDataType(t,r,i){let n=this.types.get(t);if(n&&n.inScope(r))return n;if(!this.references.size)return;if(typeof t=="string"){let c=wa.exec(t);if(c){let l=c[1];if(l){let m=this.references.get(l);return m?(i=i||new WeakMap,i.set(this,!0),i.set(m,!0),m._findDataType(c[2],r,i)):void 0}t=c[2]}}i=i||new WeakMap,i.set(this,!0);let s=Array.from(this.references.keys()).reverse();for(let c of s){let l=this.references.get(c);if(n=l==null?void 0:l.types.get(t),n)return this[Re].set(n,l!=null&&l[We]?"":c),n}for(let c of s){let l=this.references.get(c);if(i.set(l,!0),n=l._findDataType(t,r,i),n)return this[Re].set(n,l!=null&&l[We]?"":c),n}}};a(Hs,"ApiDocument");var ct=Hs;function qe(o,e,t){let r=yi(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&Ur(this,o,r)}}}[n];if(typeof o=="function"&&Fr(s.prototype,o.prototype),typeof o=="function"){let l=Reflect.getOwnMetadata(y,o);if(!l)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(l.kind===u.ComplexType.Kind||l.kind===u.MappedType.Kind||l.kind===u.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${u.ComplexType.Kind}`)}let c={...t,kind:"MappedType",base:o};return e.pick&&(c.pick=e.pick),e.omit&&(c.omit=e.omit),e.partial&&(c.partial=e.partial),e.required&&(c.required=e.required),Reflect.defineMetadata(y,c,s),typeof o=="function"&&it._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(qe,"createMappedClass");function NR(o,e,t){return qe(o,{omit:e},t)}a(NR,"OmitType");function IR(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return qe(o,{partial:t},r)}a(IR,"PartialType");function kR(o,e,t){return qe(o,{pick:e},t)}a(kR,"PickType");function $R(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return qe(o,{required:t},r)}a($R,"RequiredType");function VR(o,e){return(t,r,i)=>{if(typeof r!="string")throw new TypeError("Un-named properties can not be decorated");if(!o&&(o=Reflect.getMetadata("design:paramtypes",t,r)[i],!o))throw new TypeError("Missing parameter type");let n=Reflect.getOwnMetadata(sr,t,r);n||(n=[],Reflect.defineMetadata(sr,n,t,r)),n.push({...e,type:o,parameterIndex:i})}}a(VR,"WsParam");import{updateErrorMessage as hm}from"@jsopen/objects";import{isConstructor as um}from"@jsopen/objects";import{omitUndefined as cm}from"@jsopen/objects";import{asMutable as lm}from"ts-gems";import{vg as fm}from"valgen";var Cr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');ot.call(this,o,e);let t=lm(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Fe(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required,t.designType=e.designType},"MQHeader"),ta=class ta extends ot{toJSON(){return cm({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||fm.isAny()}};a(ta,"MQHeaderClass");var ea=ta;Cr.prototype=ea.prototype;import{omitUndefined as mm}from"@jsopen/objects";var ra=class ra extends A{constructor(t,r){super(t);p(this,"channel");p(this,"description");p(this,"type");p(this,"keyType");p(this,"headers",[]);p(this,"designType");p(this,"keyDesignType");this.channel=r==null?void 0:r.channel,this.description=r==null?void 0:r.description,r!=null&&r.type?this.type=(r==null?void 0:r.type)instanceof g?r.type:this.owner.node.getDataType(r.type):this.type=this.owner.node.getDataType("any"),r!=null&&r.keyType&&(this.keyType=(r==null?void 0:r.keyType)instanceof g?r.keyType:this.owner.node.getDataType(r.keyType)),this.designType=r==null?void 0:r.designType,this.keyDesignType=r==null?void 0:r.keyDesignType}findHeader(t){let r=t.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(t))return i}toJSON(){let t=mm({description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){t.headers=[];for(let r of this.headers)t.headers.push(r.toJSON())}return t}};a(ra,"MQOperationResponse");var xi=ra;var ia=class ia{static async createApi(e,t){let r=new at(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!um(r)&&(r=r()),r=await H(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(pe,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid MQController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(pe,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with MQController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new st(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let m=0;for(let T of s.headers)await e.enterAsync(`[${m++}]`,async()=>{let O={...T};await e.enterAsync(".type",async()=>{T.type&&(O.type=l.node.findDataType(T.type)),!O.type&&typeof T.type=="object"&&(O.type=await M.createDataType(e,l,T.type)),O.type||(O.type=l.node.getDataType("any"))});let x=new Cr(l,O);l.headers.push(x)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[m,T]of Object.entries(s.operations))await e.enterAsync(`[${m}]`,async()=>{let O=new Lr(l,{...T,name:m,types:void 0,type:void 0,keyType:void 0});await this._initMQOperation(e,O,T),l.operations.set(O.name,O)})}),l}static async _initMQOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Cr(t,s);t.headers.push(c)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new xi(t,{...r.response,type:void 0,keyType:void 0});await this._initMQOperationResponse(e,i,r.response),t.response=i})}static async _initMQOperationResponse(e,t,r){t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Cr(t,s);t.headers.push(c)})})}};a(ia,"MQApiFactory");var _i=ia;import{isConstructor as dm}from"@jsopen/objects";var oa=class oa{static async createApi(e,t){let r=new pt(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!dm(r)&&(r=r()),r=await H(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(ce,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid WSController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(ce,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with WSController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new rr(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[m,T]of Object.entries(s.operations))await e.enterAsync(`[${m}]`,async()=>{let O=Reflect.getMetadata(sr,n.prototype,m),x=T;O&&(x={...x,arguments:O});let $=new Pr(l,{...x,name:m,types:void 0,type:void 0,keyType:void 0,arguments:void 0,response:void 0});await this._initWSOperation(e,$,x),l.operations.set(m,$)})}),l}static async _initWSOperation(e,t,r){var i;r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),(i=r.arguments)!=null&&i.length&&(await e.enterAsync(".arguments",async()=>{var s;t.arguments=[];let n;for(n of r.arguments){let c={};typeof n=="object"&&n.type&&n.parameterIndex!==null?Object.assign(c,n):c.type=n;let l=await M.resolveDataType(e,t,c.type);(s=t.arguments)==null||s.push({type:l,parameterIndex:c.parameterIndex})}}),t.arguments.sort((n,s)=>n.parameterIndex-s.parameterIndex)),r.response&&await e.enterAsync(".response",async()=>{t.response=await M.resolveDataType(e,t,r.response)})}};a(oa,"WSApiFactory");var gi=oa;var ym="https://oprajs.com/spec/v"+u.SpecVersion,Oi=class Oi{constructor(){p(this,"_allDocuments",{})}static async createDocument(e,t){let r=new Oi,i=t instanceof de?t:new de(t);try{let n=new ct;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof xt||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length,c=`(${s}) error${s>1?"s":""} found in document schema.`;i.showErrorDetails&&(c+=i.error.details.map(l=>`
|
|
8
|
+
`));throw T.errors=s,T}return e=e||new yr,e.visit(l)}a(_n,"parse");var gn=class gn{constructor(e,t){p(this,"_rules",new S);p(this,"_decoderCache",new WeakMap);if(Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,Qc({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?_n(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof fe){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof ee&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Ee({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Ee({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof me)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Qe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof _e)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof ee&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof j){let n=t.findLastIndex(s=>s instanceof fe);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof ee&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let c;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?c=Yc:c=this._decoderCache.get(s.left.field),c||(c=s.left.field.generateCodec("decode",{scope:i,projection:"*",ignoreReadonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,c)),e.value=c(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(gn,"FilterRules");var gt=gn;var Er={};kr(Er,{$and:()=>Xc,$arithmetic:()=>hl,$array:()=>Va,$date:()=>Zc,$eq:()=>rl,$field:()=>tl,$gt:()=>ol,$gte:()=>nl,$ilike:()=>ml,$in:()=>pl,$like:()=>ll,$lt:()=>sl,$lte:()=>al,$ne:()=>il,$notILike:()=>ul,$notIn:()=>cl,$notLike:()=>fl,$number:()=>el,$or:()=>Gc,$paren:()=>dl,$time:()=>Hc,ArithmeticExpression:()=>Qe,ArithmeticExpressionItem:()=>Vr,ArrayExpression:()=>xe,Ast:()=>pr,BooleanLiteral:()=>Ye,ComparisonExpression:()=>fe,DateLiteral:()=>Ne,DateTimeLiteral:()=>fr,Expression:()=>q,FilterTreeVisitor:()=>yr,Literal:()=>j,LogicalExpression:()=>me,NegativeExpression:()=>cr,NullLiteral:()=>Ge,NumberLiteral:()=>ge,OpraErrorListener:()=>Tr,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>ee,StringLiteral:()=>Xe,Term:()=>Je,TimeLiteral:()=>Ze,parse:()=>_n});function Gc(...o){return new me({op:"or",items:o})}a(Gc,"$or");function Xc(...o){return new me({op:"and",items:o})}a(Xc,"$and");function Zc(o){return new Ne(o)}a(Zc,"$date");function Hc(o){return new Ze(o)}a(Hc,"$time");function el(o){return new ge(o)}a(el,"$number");function Va(...o){return new xe(o.map(si))}a(Va,"$array");function tl(o){return new ee(o)}a(tl,"$field");function rl(o,e){return te("=",o,e)}a(rl,"$eq");function il(o,e){return te("!=",o,e)}a(il,"$ne");function ol(o,e){return te(">",o,e)}a(ol,"$gt");function nl(o,e){return te(">=",o,e)}a(nl,"$gte");function sl(o,e){return te("<",o,e)}a(sl,"$lt");function al(o,e){return te("<=",o,e)}a(al,"$lte");function pl(o,e){return te("in",o,e)}a(pl,"$in");function cl(o,e){return te("!in",o,e)}a(cl,"$notIn");function ll(o,e){return te("like",o,e)}a(ll,"$like");function fl(o,e){return te("!like",o,e)}a(fl,"$notLike");function ml(o,e){return te("ilike",o,e)}a(ml,"$ilike");function ul(o,e){return te("!ilike",o,e)}a(ul,"$notILike");function dl(o){return new _e(o)}a(dl,"$paren");function hl(o){let e=new Qe;return e.add=t=>(e.append("+",Ot(t)),e),e.sub=t=>(e.append("-",Ot(t)),e),e.mul=t=>(e.append("*",Ot(t)),e),e.div=t=>(e.append("/",Ot(t)),e),e.append("+",si(o)),e}a(hl,"$arithmetic");function te(o,e,t){let r=typeof e=="string"?new ee(e):si(e),i=si(t);return new fe({op:o,left:r,right:i})}a(te,"comparisonExpression");var si=a(o=>Array.isArray(o)?Va(...o.map(Ot)):Ot(o),"wrapEntryValue"),Ot=a(o=>o instanceof q?o:typeof o=="boolean"?new Ye(o):typeof o=="number"||typeof o=="bigint"?new ge(o):o==null?new Ge:o instanceof Date?new Ne(o):new Xe(""+o),"_wrapEntryValue");import yl from"object-hash";import{asMutable as Tl}from"ts-gems";import{validator as El,vg as X}from"valgen";var wt=/^([+-])?([a-z$_][\w.]*)$/i,U=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;g.call(this,e,t,r);let i=Tl(this);i._fields=new S},"ComplexTypeBase"),wn=class wn extends g{constructor(){super(...arguments);p(this,"ctor");p(this,"additionalFields");p(this,"keyField")}fieldCount(t){if(t==="*")return this._fields.size;let r=0;for(let i of this.fields(t))r++;return r}fieldEntries(t){let r=this._fields.entries();if(t==="*")return r;let i;return{next(){for(;r&&(i=r.next(),!(i.done||i.value&&i.value[1].inScope(t))););return i.done?{done:i.done,value:void 0}:{done:i.done,value:[i.value[0],i.value[1].forScope(t)]}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fields(t){let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[1]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fieldNames(t){if(t==="*")return this._fields.keys();let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[0]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}findField(t,r){if(t.includes(".")){let n=this.parseFieldPath(t,{scope:r});if(n.length===0)throw new Error(`Field "${t}" does not exist in scope "${r}"`);let s=n.pop();return s==null?void 0:s.field}let i=this._fields.get(t);if(i&&i.inScope(r))return i.forScope(r)}getField(t,r){let i=this.findField(t,"*");if(i&&!i.inScope(r))throw new Error(`Field "${t}" does not exist in scope "${r||"null"}"`);if(!i)throw new Error(`Field (${t}) does not exist`);return i.forScope(r)}parseFieldPath(t,r){var x,$,Ke;let i=this,n,s=t.split("."),c=s.length,l=[],m=this.owner.node.getDataType("object"),T=r==null?void 0:r.allowSigns,O=a(()=>l.map(P=>P.fieldName).join("."),"getStrPath");for(let P=0;P<c;P++){let W={fieldName:s[P],dataType:m};l.push(W);let Ve=wt.exec(s[P]);if(!Ve)throw new TypeError(`Invalid field name (${O()})`);if(Ve[1]&&((P===0&&T==="first"||T==="each")&&(W.sign=Ve[1]),W.fieldName=Ve[2]),i){if(i instanceof U){if(n=i.findField(W.fieldName,r==null?void 0:r.scope),n){W.fieldName=n.name,W.field=n,W.dataType=n.type,i=n.type;continue}if(((x=i.additionalFields)==null?void 0:x[0])===!0){W.additionalField=!0,W.dataType=m,i=void 0;continue}if((($=i.additionalFields)==null?void 0:$[0])==="type"&&((Ke=i.additionalFields)==null?void 0:Ke[1])instanceof g){W.additionalField=!0,W.dataType=i.additionalFields[1],i=i.additionalFields[1];continue}throw new Error(`Unknown field (${l.map(wi=>wi.fieldName).join(".")})`)}throw new TypeError(`"${l.map(wi=>wi.fieldName).join(".")}" field is not a complex type and has no child fields`)}W.additionalField=!0,W.dataType=m}return l}normalizeFieldPath(t,r){return this.parseFieldPath(t,r).map(i=>(i.sign||"")+i.fieldName).join(".")}generateCodec(t,r){var l;let i=r!=null&&r.cache?r:{...r,projection:Array.isArray(r==null?void 0:r.projection)?Ra(r.projection):r==null?void 0:r.projection,currentPath:""},n=this._generateSchema(t,i),s;if(this.additionalFields instanceof g)s=this.additionalFields.generateCodec(t,r);else if(typeof this.additionalFields=="boolean")s=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)s="error";else{let m=s[1];s=El((T,O,x)=>O.fail(x,m,T))}let c=X.isObject(n,{ctor:this.name==="object"?Object:this.ctor,additionalFields:s,name:this.name,coerce:!0,caseInSensitive:r==null?void 0:r.caseInSensitive,onFail:r==null?void 0:r.onFail});if(i.level===0&&((l=i.forwardCallbacks)!=null&&l.size))for(let m of i.forwardCallbacks)m();return c}_generateSchema(t,r){var m;r.fieldCache=r.fieldCache||new Map,r.level=r.level||0,r.forwardCallbacks=r.forwardCallbacks||new Set;let i={},{currentPath:n,projection:s}=r,c=!!(s&&Object.values(s).find(T=>!T.sign)),l;for(let T of this.fields("*")){if(!T.inScope(r.scope)||!(r.keepKeyFields&&this.keyField)&&(r.ignoreReadonlyFields&&T.readonly||r.ignoreWriteonlyFields&&T.writeonly)){i[T.name]=X.isUndefined({coerce:!0});continue}l=T.name;let O;if(s!=="*"&&(O=s==null?void 0:s[l.toLowerCase()],(O==null?void 0:O.sign)==="-"||c&&!O||!c&&T.exclusive&&!O)){i[T.name]=X.isUndefined({coerce:!0});continue}let x=typeof s=="object"?((m=s[l])==null?void 0:m.projection)||"*":s,$=r.fieldCache.get(T),Ke=typeof x=="string"?x:yl(x||{});$||($={},r.fieldCache.set(T,$));let P=$[Ke];if(P===null)P=X.isAny(),r.forwardCallbacks.add(()=>{P=$[Ke],i[l]=r.partial||!T.required?r.allowNullOptionals?X.nullable(P):X.optional(P):X.required(P)});else if(!P){let W=a(()=>{$[Ke]=null;let Ve=T.generateCodec(t,{...r,partial:r.partial==="deep"?r.partial:void 0,projection:x,currentPath:n+(n?".":"")+l,level:r.level+1});return $[Ke]=Ve,Ve},"defaultGenerator");r.fieldHook?P=r.fieldHook(T,r.currentPath,W):P=W()}i[l]=r.partial||!(T.required||P.id==="required")?r.allowNullOptionals?X.nullable(P):X.optional(P):P.id==="required"?P:X.required(P)}return r.allowPatchOperators&&(i._$pull=X.optional(X.isAny()),i._$push=X.optional(X.isAny())),i}};a(wn,"ComplexTypeBaseClass");var On=wn;U.prototype=On.prototype;import"reflect-metadata";import{omitUndefined as An}from"@jsopen/objects";import{asMutable as xl}from"ts-gems";import{vg as _l}from"valgen";var re=a(function(...o){if(!this)return re[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=xl(this);if(i.kind=u.EnumType.Kind,t.base){if(!(t.base instanceof re))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),bn=class bn extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof re?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return _l.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return An({...t,kind:this.kind,base:r,attributes:k(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(bn,"EnumTypeClass");var xr=bn;re.prototype=xr.prototype;Object.assign(re,xr);function gl(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(c=>{var m;if(!isNaN(Number(c)))return;let l=(m=r==null?void 0:r.meanings)==null?void 0:m[c];i[c]=An({description:l})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(c=>{var m;if(!isNaN(Number(c)))return;let l=(m=r==null?void 0:r.meanings)==null?void 0:m[c];i[o[c]]=An({alias:c,description:l})})}let s={kind:u.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,y,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(gl,"EnumTypeFactory");re.prototype=xr.prototype;re[w]=gl;var es={};kr(es,{Base64Type:()=>Sn,CreditCardType:()=>ai,DateTimeType:()=>He,DateTimeTypeTz:()=>wr,DateType:()=>_r,EanType:()=>kn,EmailType:()=>ie,FieldPathType:()=>Y,FilterType:()=>tt,IbanType:()=>Bn,IpType:()=>pi,MobilePhoneType:()=>Ar,ObjectIdType:()=>Vn,OperationResult:()=>Te,TimeType:()=>br,UrlType:()=>Hn,UuidType:()=>fi});import{__decorate as wl,__metadata as Al}from"tslib";import{isBase64 as bl,validator as Mn,vg as vn}from"valgen";import"reflect-metadata";import{omitUndefined as za}from"@jsopen/objects";import{asMutable as Ol}from"ts-gems";import{isAny as Ja}from"valgen";function Rn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(y,r)||{};o&&Object.assign(n,o),n.kind=u.SimpleType.Kind,n.name=i,Reflect.defineMetadata(y,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(Rn,"SimpleTypeDecoratorFactory");function Wa(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(y,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=u.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(y,r,e.constructor)}}a(Wa,"AttributeDecoratorFactory");var d=a(function(...o){var n,s;if(!this)return d[w](...o);let[e,t,r]=o;g.call(this,e,t,r);let i=Ol(this);if(i.kind=u.SimpleType.Kind,t.base){if(!(t.base instanceof d))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{},i.ownAttributes)for(let[c,l]of Object.entries(i.ownAttributes)){if((s=i.attributes[c])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${c}" can not be overwritten`);i.attributes[c]=l}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),Nn=class Nn extends g{constructor(){super(...arguments);p(this,"_generateDecoder");p(this,"_generateEncoder");p(this,"properties")}extend(t){return Object.setPrototypeOf(t,this),t}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof d?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}generateCodec(t,r,i){let n={...this.properties,...i};if(t==="decode"){let c=this;for(;c;){if(c._generateDecoder)return c._generateDecoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});c=this.base}return Ja}let s=this;for(;s;){if(s._generateEncoder)return s._generateEncoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});s=this.base}return Ja}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n=za(this.ownAttributes),s;this.properties&&typeof this.properties.toJSON=="function"?s=this.properties.toJSON(this.properties,this.owner,t):s=this.properties?k(this.properties):{};let c={...r,kind:this.kind,base:i,attributes:n&&Object.keys(n).length?n:void 0,properties:Object.keys(s).length?s:void 0};return Object.keys(this.ownNameMappings).length&&(c.nameMappings={...this.ownNameMappings}),za(c,!0)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Nn,"SimpleTypeClass");var Dn=Nn;d.prototype=Dn.prototype;Object.assign(d,Rn);d[w]=Rn;d.Attribute=Wa;var At,Sn=(At=class{constructor(e){p(this,"designType");e&&Object.assign(this,e)}[E](e){let t=vn.isBase64({coerce:!0});return e.designType===Buffer?vn.pipe([t,Rl],{coerce:!0}):e.designType===Uint8Array?vn.pipe([t,Dl],{coerce:!0}):t}[_](){return Nl}},a(At,"Base64Type"),At);Sn=wl([d({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Al("design:paramtypes",[Object])],Sn);var Rl=Mn(o=>Buffer.from(o,"base64")),Dl=Mn(o=>new Uint8Array(Buffer.from(o,"base64"))),Nl=Mn(o=>Buffer.isBuffer(o)?o.toString("base64"):bl(o));import{__decorate as Ya,__metadata as Ga}from"tslib";import{vg as Qa}from"valgen";var bt,ai=(bt=class{constructor(e){p(this,"provider");e&&Object.assign(this,e)}[E](e){return Qa.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}[_](e){return Qa.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}},a(bt,"CreditCardType"),bt);Ya([d.Attribute({description:"Locale to use for validation"}),Ga("design:type",Object)],ai.prototype,"provider",void 0);ai=Ya([d({name:"creditcard",description:"A Credit Card value",nameMappings:{js:"string",json:"string"}}),Ga("design:paramtypes",[Object])],ai);import{__decorate as In,__metadata as Ln}from"tslib";import{vg as Ie}from"valgen";var Xa=Ie.isDateString({precisionMin:"day",precisionMax:"day",trim:!0,coerce:!0}),vl=Ie.isDate({trim:"day",coerce:!0}),Rt,_r=(Rt=class{constructor(e){p(this,"designType");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t;e.designType===Date?t=vl:t=Xa;let r=[t];return e.minValue!=null&&r.push(Ie.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ie.isLte(t(e.maxValue))),r.length>0?Ie.pipe(r,{returnIndex:0}):t}[_](e){let t=Xa,r=[t];return e.minValue!=null&&r.push(Ie.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ie.isLte(t(e.maxValue))),r.length>0?Ie.pipe(r,{returnIndex:0}):t}},a(Rt,"DateType"),Rt);In([d.Attribute({description:"Minimum value"}),Ln("design:type",String)],_r.prototype,"minValue",void 0);In([d.Attribute({description:"Maximum value"}),Ln("design:type",String)],_r.prototype,"maxValue",void 0);_r=In([d({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),Ln("design:paramtypes",[Object])],_r);import{__decorate as gr,__metadata as Or}from"tslib";import{vg as we}from"valgen";var Dt,He=(Dt=class{constructor(e){p(this,"designType");p(this,"precisionMin");p(this,"precisionMax");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t;e.designType===Date?t=we.isDate({coerce:!0}):t=we.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0});let r=[t];return e.minValue!=null&&r.push(we.isGte(t(e.minValue))),e.maxValue!=null&&r.push(we.isLte(t(e.maxValue))),r.length>0?we.pipe(r,{returnIndex:0}):t}[_](e){let t=we.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0}),r=[t];return e.minValue!=null&&r.push(we.isGte(t(e.minValue))),e.maxValue!=null&&r.push(we.isLte(t(e.maxValue))),r.length>0?we.pipe(r,{returnIndex:0}):t}},a(Dt,"DateTimeType"),Dt);gr([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "day".'}),Or("design:type",String)],He.prototype,"precisionMin",void 0);gr([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "ms".'}),Or("design:type",String)],He.prototype,"precisionMax",void 0);gr([d.Attribute({description:"Minimum value"}),Or("design:type",String)],He.prototype,"minValue",void 0);gr([d.Attribute({description:"Maximum value"}),Or("design:type",String)],He.prototype,"maxValue",void 0);He=gr([d({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}),Or("design:paramtypes",[Object])],He);import{__decorate as Pn,__metadata as Cn}from"tslib";import{vg as et}from"valgen";var Za=et.isDateString({precisionMin:"tz",coerce:!0}),Nt,wr=(Nt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=Za,r=[t];return e.minValue!=null&&r.push(et.isGte(t(e.minValue))),e.maxValue!=null&&r.push(et.isLte(t(e.maxValue))),r.length>0?et.pipe(r,{returnIndex:0}):t}[_](e){let t=Za,r=[t];return e.minValue!=null&&r.push(et.isGte(t(e.minValue))),e.maxValue!=null&&r.push(et.isLte(t(e.maxValue))),r.length>0?et.pipe(r,{returnIndex:0}):t}},a(Nt,"DateTimeTypeTz"),Nt);Pn([d.Attribute({description:"Minimum value"}),Cn("design:type",String)],wr.prototype,"minValue",void 0);Pn([d.Attribute({description:"Maximum value"}),Cn("design:type",String)],wr.prototype,"maxValue",void 0);wr=Pn([d({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),Cn("design:paramtypes",[Object])],wr);import{__decorate as Sl,__metadata as Ml}from"tslib";import{vg as Ha}from"valgen";var vt,kn=(vt=class{constructor(e){e&&Object.assign(this,e)}[E](){return Ha.isEAN({coerce:!0})}[_](){return Ha.isEAN({coerce:!0})}},a(vt,"EanType"),vt);kn=Sl([d({name:"ean",description:"An EAN (European Article Number)",nameMappings:{js:"string",json:"string"}}),Ml("design:paramtypes",[Object])],kn);import{__decorate as he,__metadata as ye}from"tslib";import{vg as ep}from"valgen";var St,ie=(St=class{constructor(e){p(this,"allowDisplayName");p(this,"requireDisplayName");p(this,"utf8LocalPart");p(this,"ignoreMaxLength");p(this,"allowIpDomain");p(this,"domainSpecificValidation");p(this,"hostBlacklist");p(this,"hostWhitelist");p(this,"blacklistedChars");e&&Object.assign(this,e)}[E](e){return ep.isEmail({...e,coerce:!0})}[_](e){return ep.isEmail({...e,coerce:!0})}},a(St,"EmailType"),St);he([d.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),ye("design:type",Boolean)],ie.prototype,"allowDisplayName",void 0);he([d.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),ye("design:type",Boolean)],ie.prototype,"requireDisplayName",void 0);he([d.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),ye("design:type",Boolean)],ie.prototype,"utf8LocalPart",void 0);he([d.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),ye("design:type",Boolean)],ie.prototype,"ignoreMaxLength",void 0);he([d.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),ye("design:type",Boolean)],ie.prototype,"allowIpDomain",void 0);he([d.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),ye("design:type",Boolean)],ie.prototype,"domainSpecificValidation",void 0);he([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),ye("design:type",Array)],ie.prototype,"hostBlacklist",void 0);he([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),ye("design:type",Array)],ie.prototype,"hostWhitelist",void 0);he([d.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),ye("design:type",String)],ie.prototype,"blacklistedChars",void 0);ie=he([d({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),ye("design:paramtypes",[Object])],ie);import{__decorate as jn,__metadata as Fn}from"tslib";import{toString as Il,validator as Ll,vg as Pl}from"valgen";var Mt,Y=(Mt=class{constructor(e){p(this,"dataType");p(this,"allowSigns");e&&Object.assign(this,e)}[E](e,{element:t,scope:r}){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=Ll("decodeFieldPath",c=>i.normalizeFieldPath(c,{allowSigns:n,scope:r}));return Pl.pipe([Il,s])}[_](e,t){return this[E](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Mt,"FieldPathType"),Mt);jn([d.Attribute({description:"Data type which field belong to"}),Fn("design:type",Object)],Y.prototype,"dataType",void 0);jn([d.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),Fn("design:type",String)],Y.prototype,"allowSigns",void 0);Y=jn([d({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),Fn("design:paramtypes",[Object])],Y);import{__decorate as Un,__metadata as $n}from"tslib";import{validator as tp}from"valgen";var It,tt=(It=class{constructor(e){p(this,"dataType");p(this,"rules");e&&Object.assign(this,e)}[E](e,{element:t}){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new gt(e.rules):void 0;return Cl(r,i)}[_](){return kl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(It,"FilterType"),It);Un([d.Attribute({description:"Data type which filtering fields belong to"}),$n("design:type",Object)],tt.prototype,"dataType",void 0);Un([d.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),$n("design:type",Object)],tt.prototype,"rules",void 0);tt=Un([d({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),$n("design:paramtypes",[Object])],tt);var Cl=a((o,e,t)=>tp("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=Er.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),kl=tp("encodeFilter",(o,e,t)=>{if(o instanceof Er.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as jl,__metadata as Fl}from"tslib";import{vg as rp}from"valgen";var Lt,Bn=(Lt=class{constructor(e){e&&Object.assign(this,e)}[E](){return rp.isIBAN({coerce:!0})}[_](){return rp.isIBAN({coerce:!0})}},a(Lt,"IbanType"),Lt);Bn=jl([d({name:"iban",description:"An IBAN (International Bank Account Number)",nameMappings:{js:"string",json:"string"}}),Fl("design:paramtypes",[Object])],Bn);import{__decorate as ip,__metadata as op}from"tslib";import{vg as Le}from"valgen";var Pt,pi=(Pt=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[E](e){return e!=null&&e.version?Le.isIP(e==null?void 0:e.version,{coerce:!0}):Le.oneOf([Le.isIP("4",{coerce:!0}),Le.isIP("6",{coerce:!0})])}[_](e){return e!=null&&e.version?Le.isIP(e==null?void 0:e.version,{coerce:!0}):Le.oneOf([Le.isIP("4",{coerce:!0}),Le.isIP("6",{coerce:!0})])}},a(Pt,"IpType"),Pt);ip([d.Attribute({description:"IP version to use for validation"}),op("design:type",Object)],pi.prototype,"version",void 0);pi=ip([d({name:"ip",description:"An IP address",nameMappings:{js:"string",json:"string"}}),op("design:paramtypes",[Object])],pi);import{__decorate as qn,__metadata as Kn}from"tslib";import{vg as np}from"valgen";var Ct,Ar=(Ct=class{constructor(e){p(this,"locale");p(this,"strictMode");e&&Object.assign(this,e)}[E](e){return np.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}[_](e){return np.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}},a(Ct,"MobilePhoneType"),Ct);qn([d.Attribute({description:"Locale to use for validation"}),Kn("design:type",String)],Ar.prototype,"locale",void 0);qn([d.Attribute({description:"If this is set to true, the mobile phone number must be supplied with the country code and therefore must start with +. Locale number"}),Kn("design:type",Boolean)],Ar.prototype,"strictMode",void 0);Ar=qn([d({name:"mobilephone",description:"A Mobile Phone Number value",nameMappings:{js:"string",json:"string"}}),Kn("design:paramtypes",[Object])],Ar);import{__decorate as Ul,__metadata as $l}from"tslib";import{vg as sp}from"valgen";var kt,Vn=(kt=class{constructor(e){e&&Object.assign(this,e)}[E](){return sp.isObjectId({coerce:!0})}[_](){return sp.isObjectId({coerce:!0})}},a(kt,"ObjectIdType"),kt);Vn=Ul([d({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),$l("design:paramtypes",[Object])],Vn);import{__decorate as Pe,__metadata as Ce}from"tslib";import{omitUndefined as ap}from"@jsopen/objects";import{asMutable as ql}from"ts-gems";import{vg as ci}from"valgen";import{omitUndefined as Bl}from"@jsopen/objects";function Wn(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(y,r.constructor)||{};n.kind=u.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),c=n.fields[i]={...o,designType:s};s===Array?c.isArray=!0:c.type=c.type||s,Reflect.defineMetadata(y,n,r.constructor);for(let l of e)l(c)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(Bl({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(Wn,"ApiFieldDecoratorFactory");var B=a(function(...o){if(!(this instanceof B)){let[n]=o;return B[w](n)}let[e,t]=o;A.call(this,e);let r=ql(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof U))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.designType=t.designType,r.override=t.override},"ApiField"),Jn=class Jn extends A{constructor(){super(...arguments);p(this,"origin")}inScope(t){return mr(t,this.scopePattern)}forScope(t){if(!(t&&this.override))return this;this._overrideCache=this._overrideCache||{};let r=this._overrideCache[t];if(r)return r;if(t!=="*"){for(let i of this.override)if(mr(t,i.scopePattern)){r=ap({...i,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:i.scopePattern}),Object.setPrototypeOf(r,this);break}}return r=r||this,this._overrideCache[t]=r,r}toJSON(t){var i;let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ap({type:r||((i=this.type)==null?void 0:i.toJSON(t)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}generateCodec(t,r,i){var s;if(this.fixed)return ci.fixed(this.fixed);let n=((s=this.type)==null?void 0:s.generateCodec(t,r,{...i,designType:this.designType}))||ci.isAny();return this.default!==void 0&&(n=ci.required(n,{default:this.default})),this.isArray&&this.type.kind!==u.ArrayType.Kind&&(n=ci.isArray(n)),n}};a(Jn,"ApiFieldClass");var zn=Jn;B.prototype=zn.prototype;Object.assign(B,Wn);B[w]=Wn;import"reflect-metadata";import{omitUndefined as Vl}from"@jsopen/objects";import{asMutable as Wl}from"ts-gems";import{omit as Kl}from"@jsopen/objects";function Qn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(y,e);r||(r={},Reflect.defineMetadata(y,r,e)),r.kind=u.ComplexType.Kind,r.name=t,o&&Object.assign(r,Kl(o,["name"]))}}a(Qn,"ComplexTypeDecorator");var oe=a(function(...o){var n;if(!this)return oe[w].apply(void 0,o);let[e,t]=o,r=o[2]||new de({maxErrors:0});U.call(this,e,t,r);let i=Wl(this);i.kind=u.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof U))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new B(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,c]of Object.entries(t.fields)){let l=new B(this,{...c,name:s});this._fields.set(l.name,l)}})},"ComplexType"),Gn=class Gn extends U{constructor(){super(...arguments);p(this,"base")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof U?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n={...r,kind:this.kind,base:this.base?i||this.base.toJSON(t):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof g){let s=this.node.getDataTypeNameWithNs(this.additionalFields);n.additionalFields=s||this.additionalFields.toJSON(t)}else n.additionalFields=this.additionalFields;if(this._fields.size){let s={},c=0;for(let l of this._fields.values())l.origin===this&&l.inScope(t==null?void 0:t.scope)&&(s[l.name]=l.toJSON(t),c++);c&&(n.fields=s)}return Vl(n)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Gn,"ComplexTypeClass");var Yn=Gn;oe.prototype=Yn.prototype;Object.assign(oe,Qn);oe[w]=Qn;var jt,Te=(jt=class{constructor(e){e&&Object.assign(this,e)}},a(jt,"OperationResult"),jt);Pe([B(),Ce("design:type",String)],Te.prototype,"context",void 0);Pe([B(),Ce("design:type",String)],Te.prototype,"type",void 0);Pe([B(),Ce("design:type",String)],Te.prototype,"message",void 0);Pe([B({type:"any"}),Ce("design:type",Object)],Te.prototype,"payload",void 0);Pe([B({type:"object"}),Ce("design:type",Array)],Te.prototype,"errors",void 0);Te=Pe([oe({name:"OperationResult",description:"Operation result",additionalFields:!0}),Ce("design:paramtypes",[Object])],Te);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return Pe([B({type:t,required:!0}),Ce("design:type",Object)],r.prototype,"payload",void 0),r=Pe([oe({embedded:!0}),Ce("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Te||(Te={}));import{__decorate as Xn,__metadata as Zn}from"tslib";import{vg as li}from"valgen";var zl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Ft,br=(Ft=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[E](e){let t=li.matches(zl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(li.isGte(e.minValue)),e.maxValue!=null&&r.push(li.isLte(e.maxValue)),r.length>0?li.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[E](e)}},a(Ft,"TimeType"),Ft);Xn([d.Attribute({description:"Minimum value"}),Zn("design:type",String)],br.prototype,"minValue",void 0);Xn([d.Attribute({description:"Maximum value"}),Zn("design:type",String)],br.prototype,"maxValue",void 0);br=Xn([d({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Zn("design:paramtypes",[Object])],br);import{__decorate as Jl,__metadata as Ql}from"tslib";import{vg as pp}from"valgen";var Ut,Hn=(Ut=class{constructor(e){e&&Object.assign(this,e)}[E](){return pp.isURL({coerce:!0})}[_](){return pp.isURL({coerce:!0})}},a(Ut,"UrlType"),Ut);Hn=Jl([d({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Ql("design:paramtypes",[Object])],Hn);import{__decorate as lp,__metadata as fp}from"tslib";import{vg as cp}from"valgen";var $t,fi=($t=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[E](e){return cp.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return cp.isUUID(e==null?void 0:e.version,{coerce:!0})}},a($t,"UuidType"),$t);lp([d.Attribute({description:"Version of the UUID"}),fp("design:type",Object)],fi.prototype,"version",void 0);fi=lp([d({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),fp("design:paramtypes",[Object])],fi);import sf from"path-browserify";import{omitUndefined as af}from"@jsopen/objects";import{asMutable as pf}from"ts-gems";var ne=Symbol.for("kMap"),Rr=Symbol.for("kCtorMap"),mp,up,ts=class ts{constructor(){p(this,up,new S);p(this,mp,new WeakMap)}get size(){return this[ne].size}forEach(e,t){this[ne].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Rr].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(y,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[y];t=i==null?void 0:i.name}if(!t)return;let r=this[ne].get(t);if(r){if(typeof e=="function"&&r.kind==="ComplexType"&&r.ctor!==e)throw new TypeError(`An other data type with same class (${e.name}) already exists.`);return r}}set(e,t){this[ne].set(e,t),t.ctor?this[Rr].set(t.ctor,e):t.instance&&this[Rr].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[ne].has(e.name);let t=typeof e=="string"?e:this[Rr].get(e);return t?this[ne].has(t):!1}keys(){return this[ne].keys()}values(){return this[ne].values()}entries(){return this[ne].entries()}sort(e){return this[ne].sort(e),this}[(up=ne,mp=Rr,Symbol.iterator)](){return this[ne][Symbol.iterator]()}};a(ts,"DataTypeMap");var z=ts;import nf from"@browsery/type-is";import{isConstructor as Bt}from"@jsopen/objects";import Zl from"@browsery/type-is";import{omitUndefined as Hl}from"@jsopen/objects";import{asMutable as ef}from"ts-gems";import{isAny as tf,vg as rf}from"valgen";import"reflect-metadata";import{omitUndefined as Yl}from"@jsopen/objects";import{asMutable as Gl}from"ts-gems";import{vg as mi}from"valgen";var ke=a(function(...o){if(!this)return ke[w].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=Gl(this);i.kind=u.ArrayType.Kind,i.type=t.type,i.minOccurs=t.minOccurs,i.maxOccurs=t.maxOccurs},"ArrayType"),is=class is extends g{toJSON(e){let t=super.toJSON(e),r=this.node.getDataTypeNameWithNs(this.type);return Yl({...t,kind:this.kind,type:r||this.type.toJSON(e),minOccurs:this.minOccurs,maxOccurs:this.maxOccurs})}generateCodec(e,t,r){let i=this.type.generateCodec(e,t,r);i=mi.isArray(i);let n=[];return this.minOccurs&&n.push(mi.lengthMin(this.minOccurs)),this.maxOccurs&&n.push(mi.lengthMax(this.maxOccurs)),n.length>0?mi.pipe([i,...n],{returnIndex:0}):i}extendsFrom(){return!1}_locateBase(){}};a(is,"ArrayTypeClass");var rs=is;ke.prototype=rs.prototype;ke[w]=Xl;function Xl(o,e){let i=class i{};a(i,"ArrayClass");let t=i,r={...e,kind:u.ArrayType.Kind,type:o};return Reflect.defineMetadata(y,r,t),t}a(Xl,"ArrayTypeFactory");var je=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');A.call(this,o);let t=ef(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxParts=e.maxParts,t.maxPartSize=e.maxPartSize,t.maxFieldSize=e.maxFieldSize,t.maxTotalSize=e.maxTotalSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray,t.designType=e.designType},"HttpMediaType"),ns=class ns extends A{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Hl({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxParts:this.maxParts,maxPartSize:this.maxPartSize,maxFieldSize:this.maxFieldSize,maxTotalSize:this.maxTotalSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t,r){let i;return this.type?i=this.type.generateCodec(e,t,{designType:this.designType}):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(s=>Zl.is(s,["json"]))&&(i=this.node.findDataType("object").generateCodec(e,t,{...r,designType:this.designType})),i=i||tf,this.isArray&&!(this.type instanceof ke)?rf.isArray(i):i}};a(ns,"HttpMediaTypeClass");var os=ns;je.prototype=os.prototype;import{omitUndefined as of}from"@jsopen/objects";function Fe(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(Fe,"parseRegExp");var ss=class ss extends je{constructor(t,r){super(t,r);p(this,"fieldName");p(this,"fieldType");p(this,"required");this.fieldName=r.fieldName instanceof RegExp?r.fieldName:r.fieldName.startsWith("/")?Fe(r.fieldName):r.fieldName,this.fieldType=r.fieldType,this.required=r.required}toJSON(t){return of({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(t)})}};a(ss,"HttpMultipartField");var ui=ss;function 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=>`
|
|
9
9
|
|
|
10
10
|
- ${l.message}`+(l.path?`
|
|
11
|
-
@${l.path}`:"")).join("")),hm(i.error,c)}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[We]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||u.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,c;for([s,c]of Object.entries(i.references))c=await H(c),await t.enterAsync(`[${s}]`,async()=>{if(!F.test(s))throw new TypeError(`Invalid namespace (${s})`);if(c instanceof ct){e.references.set(s,c);return}let l=new ct;n&&l.references.set("opra",n),await this.initDocument(l,t,c),e.references.set(s,this._allDocuments[l.id])})}),i.types&&await t.enterAsync(".types",async()=>{await M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await tr.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await _i.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="ws"){let s=await gi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:u.SpecVersion,url:ym,info:{version:u.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/panates/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(_s),...Object.values(es)]},r=new ct;r[We]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[$r];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Oi,"ApiDocumentFactory");var Ip=Oi;var Lp;(function(o){o.HttpApiFactory=tr,o.DataTypeFactory=M,o.MQOperationDecoratorFactory=vr,o.MQControllerDecoratorFactory=Xt,o.WSOperationDecoratorFactory=Sr,o.WSControllerDecoratorFactory=Zt})(Lp||(Lp={}));import{uid as a5}from"uid";export{ls as AnyType,Be as ApiBase,ct as ApiDocument,Ip as ApiDocumentFactory,B as ApiField,ke as ArrayType,We as BUILTIN,ca as BadRequestError,Sn as Base64Type,Jp as BaseI18n,hs as BigintType,ys as BooleanType,F as CLASS_NAME_PATTERN,oe as ComplexType,la as ConflictError,ai as CreditCardType,y as DATATYPE_METADATA,E as DECODER,w as DECORATOR,g as DataType,z as DataTypeMap,He as DateTimeType,wr as DateTimeTypeTz,_r as DateType,A as DocumentElement,de as DocumentInitContext,Jr as DocumentNode,_ as ENCODER,kn as EanType,ie as EmailType,re as EnumType,fa as FailedDependencyError,Y as FieldPathType,ze as FieldsProjection,tt as FilterType,jr as ForbiddenError,ae as HTTP_CONTROLLER_METADATA,nt as HttpApi,se as HttpController,ma as HttpHeaderCodes,je as HttpMediaType,ui as HttpMultipartField,D as HttpOperation,Ei as HttpOperationResponse,Mr as HttpParameter,di as HttpRequestBody,b as HttpStatusCode,iu as HttpStatusMessages,Ir as HttpStatusRange,nr as I18n,Bn as IbanType,Jt as IntegerType,ua as InternalServerError,pi as IpType,na as IssueSeverity,at as MQApi,st as MQController,Cr as MQHeader,Lr as MQOperation,pe as MQ_CONTROLLER_METADATA,it as MappedType,da as MethodNotAllowedError,R as MimeTypes,Ht as MixinType,Ar as MobilePhoneType,wa as NAMESPACE_PATTERN,ha as NotAcceptableError,ya as NotFoundError,Es as NullType,Ae as NumberType,Vn as ObjectIdType,xs as ObjectType,NR as OmitType,Te as OperationResult,xt as OpraDocumentError,Ee as OpraException,Er as OpraFilter,
|
|
11
|
+
@${l.path}`:"")).join("")),hm(i.error,c)}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[We]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||u.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,c;for([s,c]of Object.entries(i.references))c=await H(c),await t.enterAsync(`[${s}]`,async()=>{if(!F.test(s))throw new TypeError(`Invalid namespace (${s})`);if(c instanceof ct){e.references.set(s,c);return}let l=new ct;n&&l.references.set("opra",n),await this.initDocument(l,t,c),e.references.set(s,this._allDocuments[l.id])})}),i.types&&await t.enterAsync(".types",async()=>{await M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await tr.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await _i.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="ws"){let s=await gi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:u.SpecVersion,url:ym,info:{version:u.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/panates/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(_s),...Object.values(es)]},r=new ct;r[We]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[$r];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Oi,"ApiDocumentFactory");var Ip=Oi;var Lp;(function(o){o.HttpApiFactory=tr,o.DataTypeFactory=M,o.MQOperationDecoratorFactory=vr,o.MQControllerDecoratorFactory=Xt,o.WSOperationDecoratorFactory=Sr,o.WSControllerDecoratorFactory=Zt})(Lp||(Lp={}));import{uid as a5}from"uid";export{ls as AnyType,Be as ApiBase,ct as ApiDocument,Ip as ApiDocumentFactory,B as ApiField,ke as ArrayType,We as BUILTIN,ca as BadRequestError,Sn as Base64Type,Jp as BaseI18n,hs as BigintType,ys as BooleanType,F as CLASS_NAME_PATTERN,oe as ComplexType,la as ConflictError,ai as CreditCardType,y as DATATYPE_METADATA,E as DECODER,w as DECORATOR,g as DataType,z as DataTypeMap,He as DateTimeType,wr as DateTimeTypeTz,_r as DateType,A as DocumentElement,de as DocumentInitContext,Jr as DocumentNode,_ as ENCODER,kn as EanType,ie as EmailType,re as EnumType,fa as FailedDependencyError,Y as FieldPathType,ze as FieldsProjection,tt as FilterType,jr as ForbiddenError,ae as HTTP_CONTROLLER_METADATA,nt as HttpApi,se as HttpController,ma as HttpHeaderCodes,je as HttpMediaType,ui as HttpMultipartField,D as HttpOperation,Ei as HttpOperationResponse,Mr as HttpParameter,di as HttpRequestBody,b as HttpStatusCode,iu as HttpStatusMessages,Ir as HttpStatusRange,nr as I18n,Bn as IbanType,Jt as IntegerType,ua as InternalServerError,pi as IpType,na as IssueSeverity,at as MQApi,st as MQController,Cr as MQHeader,Lr as MQOperation,pe as MQ_CONTROLLER_METADATA,it as MappedType,da as MethodNotAllowedError,R as MimeTypes,Ht as MixinType,Ar as MobilePhoneType,wa as NAMESPACE_PATTERN,ha as NotAcceptableError,ya as NotFoundError,Es as NullType,Ae as NumberType,Vn as ObjectIdType,xs as ObjectType,NR as OmitType,Te as OperationResult,xt as OpraDocumentError,Ee as OpraException,Er as OpraFilter,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};
|
|
@@ -55,6 +55,7 @@ export interface HttpOperationStatic {
|
|
|
55
55
|
PATCH(options?: StrictOmit<HttpOperation.Options, 'method'>): HttpOperationDecorator;
|
|
56
56
|
POST(options?: StrictOmit<HttpOperation.Options, 'method'>): HttpOperationDecorator;
|
|
57
57
|
PUT(options?: StrictOmit<HttpOperation.Options, 'method'>): HttpOperationDecorator;
|
|
58
|
+
QUERY(options?: StrictOmit<HttpOperation.Options, 'method'>): HttpOperationDecorator;
|
|
58
59
|
SEARCH(options?: StrictOmit<HttpOperation.Options, 'method'>): HttpOperationDecorator;
|
|
59
60
|
}
|
|
60
61
|
/**
|
|
@@ -117,6 +117,9 @@ HttpOperation.POST = function (options) {
|
|
|
117
117
|
HttpOperation.PUT = function (options) {
|
|
118
118
|
return HttpOperationDecoratorFactory([], { ...options, method: 'PUT' });
|
|
119
119
|
};
|
|
120
|
+
HttpOperation.QUERY = function (options) {
|
|
121
|
+
return HttpOperationDecoratorFactory([], { ...options, method: 'QUERY' });
|
|
122
|
+
};
|
|
120
123
|
HttpOperation.SEARCH = function (options) {
|
|
121
124
|
return HttpOperationDecoratorFactory([], { ...options, method: 'SEARCH' });
|
|
122
125
|
};
|
package/package.json
CHANGED
package/schema/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type HttpMethod = 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'POST' | 'PUT' | 'PATCH' | 'SEARCH';
|
|
1
|
+
export type HttpMethod = 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'POST' | 'PUT' | 'PATCH' | 'QUERY' | 'SEARCH';
|
|
2
2
|
export type HttpParameterLocation = 'cookie' | 'header' | 'query' | 'path';
|
|
3
3
|
export type HttpMultipartFieldType = 'field' | 'file';
|
|
4
4
|
export type Transport = 'custom' | 'http' | 'ws' | 'mq' | 'rpc';
|