@opra/common 1.17.2 → 1.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser/index.mjs CHANGED
@@ -3,10 +3,10 @@
3
3
  * http://www.panates.com
4
4
  *****************************************/
5
5
 
6
- var ys=Object.defineProperty;var a=(o,e)=>ys(o,"name",{value:e,configurable:!0});var Ts=(o,e)=>{for(var t in e)ys(o,t,{get:e[t],enumerable:!0})};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 cp}from"@jsopen/objects";import{isString as lp}from"valgen";import{omitUndefined as Fa}from"@jsopen/objects";import Aa from"@browsery/i18next";import{splitString as ba,tokenize as xs}from"fast-tokenizer";var wa=/\\(.)/g,Ra=/(\\)/g;function Es(o){return o.replace(Ra,"\\\\")}a(Es,"escapeString");function _s(o){return o.replace(wa,"$1")}a(_s,"unescapeString");var Da=Object.getPrototypeOf(Aa.createInstance()).constructor,Kt=class Kt extends Da{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",(p,c)=>p.toLocaleLowerCase(c)),s.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),s.add("upperFirst",(p,c)=>p.charAt(0).toLocaleUpperCase(c)+p.substring(1)),r!=null&&r.resources)for(let p of Object.keys(r.resources)){let c=r.resources[p];for(let f of Object.keys(c))this.addResourceBundle(p,f,c[f],!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 Kt(e,t)}static createInstance(e,t){return new Kt(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 xs(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=ba(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=_s(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],f=null;for(let d of xs(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(d.startsWith("{")){f=JSON.parse(d);continue}c.push(d)}let O=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(O,p,{...r,...f}):this.t(O,{...r,...f});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,p=n.length;s<p;s++){let c=n[s];i[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Na}};a(Kt,"I18n");var Vt=Kt,Na=Vt.createInstance();var Sa=/(\))/g;function Nl(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?"?"+Es(i).replace(Sa,"\\$1"):"")+")"}a(Nl,"translate");var oi=Vt.createInstance();oi.init().catch(()=>{});var ni=class ni extends Error{constructor(e,t){super("Unknown error"),this.severity="error",t=t||(e instanceof Error?e:void 0),e instanceof Error&&(t=e),t&&t instanceof Error&&(this.cause=t,t.stack&&(this.stack=t.stack)),typeof e=="string"?this.initString(e):e instanceof Error?this.initError(e):this.init(e),this.message=this.message||this.constructor.name}toString(){return oi.deep(this.message)}toJSON(){var t;let e="production";return Fa({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:e==="dev"||e==="development"||e==="test"?(t=this.stack)==null?void 0:t.split(`
7
- `):void 0},!0)}init(e){this.message=(e==null?void 0:e.message)||this.constructor.name,this.severity=(e==null?void 0:e.severity)||"error",e&&(this.system=e.system,this.code=e.code,this.details=e.details)}initString(e){this.init({message:String(e||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(e){this.init({message:e.message,severity:e.severity||"error",code:e.code||e.constructor.name})}};a(ni,"OpraException");var Te=ni;var si=class si extends Te{constructor(e,t,r){super(e,t instanceof Error?t:void 0),this.status=(typeof t=="number"?t:Number(r))||500}setStatus(e){return this.status=e,this}initError(e){typeof e.status=="number"?this.status=e.status:typeof e.getStatus=="function"&&(this.status=e.getStatus()),super.initError(e)}};a(si,"OpraHttpError");var D=si;var ai=class ai extends D{constructor(){super(...arguments),this.status=400}init(e){super.init({message:"Bad request",code:"BAD_REQUEST",...e})}};a(ai,"BadRequestError");var Os=ai;var pi=class pi extends D{constructor(){super(...arguments),this.status=409}init(e){super.init({message:"Conflict",code:"CONFLICT",...e})}};a(pi,"ConflictError");var gs=pi;var ci=class ci extends D{constructor(){super(...arguments),this.status=424}init(e){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...e})}};a(ci,"FailedDependencyError");var ws=ci;var Rs;(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"})(Rs||(Rs={}));var g;(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"})(g||(g={}));var Hl={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 A;(function(o){o.json="application/json",o.opra_response_json="application/opra.response+json",o.xml="application/XML",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream"})(A||(A={}));var li=class li extends D{constructor(){super(...arguments),this.status=g.FORBIDDEN}init(e){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...e})}};a(li,"ForbiddenError");var ur=li;var fi=class fi extends D{constructor(){super(...arguments),this.status=500}init(e){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(fi,"InternalServerError");var As=fi;var mi=class mi extends D{constructor(){super(...arguments),this.status=405}init(e){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...e})}};a(mi,"MethodNotAllowedError");var bs=mi;var ui=class ui extends D{constructor(){super(...arguments),this.status=406}init(e){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...e})}};a(ui,"NotAcceptableError");var Ds=ui;var di=class di extends D{constructor(){super(...arguments),this.status=404}init(e){super.init({message:"Not found",code:"NOT_FOUND",...e})}};a(di,"NotFoundError");var Ns=di;var hi=class hi extends ur{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(hi,"PermissionError");var Ss=hi;var yi=class yi extends D{constructor(e,t,r){super({message:`There is already an other "${e}" resource with same values for field(s) [${t}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(yi,"ResourceConflictError");var Fs=yi;var Ti=class Ti extends D{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,g.UNPROCESSABLE_ENTITY)}};a(Ti,"ResourceNotAvailableError");var Ms=Ti;var Ei=class Ei extends D{constructor(){super(...arguments),this.status=401}init(e){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...e})}};a(Ei,"UnauthorizedError");var vs=Ei;var _i=class _i extends D{constructor(){super(...arguments),this.status=422}init(e){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(_i,"UnprocessableEntityError");var Is=_i;var Ps;(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"}})(Ps||(Ps={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Ma}from"@jsopen/objects";import va from"putil-promisify";async function se(o){return o=va.isPromise(o)?await o:o,typeof o=="function"?Ma(o)?o:await o():o}a(se,"resolveThunk");var Ls=/^(?:file:\/\/)?(.+)$/;function cm(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?Ls.exec(r):void 0;return i?i[1]:""}return""}a(cm,"getStackFileName");function lm(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?Ls.exec(r):void 0;return i?i[1]:""}return""}a(lm,"getErrorStack");function dr(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(dr,"mergePrototype");function hr(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(hr,"inheritPropertyInitializers");import{isPlainObject as js,merge as Ia}from"@jsopen/objects";var h=Symbol.for("opra.type.metadata"),oe=Symbol("opra.http-controller.metadata"),ne=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),x=Symbol("opra.type.encoder"),b=Symbol.for("DECORATOR"),Pe=Symbol.for("BUILTIN"),ks=/([a-z$_]\w+):(.+)/i,L=/^[a-z][\w_]*$/i,k=Symbol.for("kDataTypeMap"),yr=Symbol.for("kCtorMap"),Oe=Symbol.for("kTypeNSMap");function v(o,e){return Ia({},o,{deep:a(t=>js(t)&&!t[h],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||js(i)||Array.isArray(i))}})}a(v,"cloneObject");import{splitString as Cs}from"fast-tokenizer";var Pa=/^([+-])?([a-z_$]\w*)$/i,La=/[^.]\(/g,xi=class xi{};a(xi,"FieldsProjection");var Le=xi;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(Le||(Le={}));function Us(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new Le;for(let i of t)e||(i=i.toLowerCase()),$s(i,r);return r}a(Us,"parseFieldsProjection");function $s(o,e){o=o.replace(La,r=>r.charAt(0)+"."+r.substring(1));let t=Cs(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=Cs(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let f of c)$s(f,e);continue}let n=Pa.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new Le.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new Le}}a($s,"parse");function ka(o){return o&&typeof o.forEach=="function"}a(ka,"isMap");var K=Symbol.for("kEntries"),ae=Symbol.for("kKeyMap"),Tr=Symbol.for("kWellKnownKeys"),Oi=Symbol.for("kOptions"),Ye=Symbol.for("kSize"),gi=class gi{constructor(e,t){Object.defineProperty(this,Ye,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,K,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ae,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Tr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,Oi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Tr][i]=i:this[Tr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[Ye]}clear(){Object.keys(this[K]).forEach(e=>delete this[K][e]),Object.keys(this[ae]).forEach(e=>delete this[ae][e]),this[Ye]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[K][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[K],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[K],r);return this[K][r]=t,i||this[Ye]++,this[ae][r]=e,this}setAll(e){return ka(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ae])[Symbol.iterator]()}values(){return Object.values(this[K])[Symbol.iterator]()}entries(){return Object.entries(this[K])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[K],t);return delete this[K][t],delete this[ae][t],r||this[Ye]--,r}sort(e){let t={...this[K]},r={...this[ae]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[K][n]=t[n],this[ae][n]=r[n];return this[Ye]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ae]))e[r]=this[K][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[Oi].caseSensitive)return e;let t=this._getStoringKey(e);return this[ae][t]??this[Tr][t]??e}_getStoringKey(e){return this[Oi].caseSensitive?e:e.toLowerCase()}};a(gi,"ResponsiveMap");var S=gi;function Am(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(Am,"safeJsonStringify");function wi(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(wi,"isStream");function Nm(o){return wi(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(Nm,"isReadable");function Sm(o){return wi(o)&&typeof o._write=="function"}a(Sm,"isWritable");function Fm(o){return wi(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Fm,"isReadableStream");function Mm(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Mm,"isBlob");function vm(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(vm,"isFormData");function Im(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Im,"isURL");var Ri=class Ri{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Ri,"Ast");var zt=Ri;var Ai=class Ai extends zt{};a(Ai,"Expression");var j=Ai;var bi=class bi extends j{};a(bi,"Term");var ke=bi;var Di=class Di extends ke{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Di,"Literal");var F=Di;var Ni=class Ni extends j{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Er({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(Ni,"ArithmeticExpression");var je=Ni,Si=class Si{constructor(e){Object.assign(this,e)}};a(Si,"ArithmeticExpressionItem");var Er=Si;var Fi=class Fi extends ke{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(Fi,"ArrayExpression");var Ee=Fi;var ja=/\w/,Mi=class Mi extends j{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${ja.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Mi,"ComparisonExpression");var pe=Mi;var vi=class vi extends j{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};a(vi,"LogicalExpression");var ce=vi;var Ii=class Ii extends j{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Ii,"NegativeExpression");var Jt=Ii;var Pi=class Pi extends j{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Pi,"ParenthesizedExpression");var _e=Pi;var Li=class Li extends F{constructor(e){super(e)}};a(Li,"BooleanLiteral");var Ce=Li;import{toDateDef as Ka}from"putil-varhelpers";var ki=class ki extends TypeError{};a(ki,"SyntaxError");var _r=ki,ji=class ji extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(ji,"FilterValidationError");var le=ji,Ci=class Ci extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(Ci,"FilterParseError");var xr=Ci;var Ca=/'/g,Ua=/(\\)/g,$a=/\\(.)/g;function Ba(o){return o.replace(Ua,"\\\\")}a(Ba,"escapeString");function qa(o){return o.replace($a,"$1")}a(qa,"unescapeString");function ge(o){return"'"+Ba(o).replace(Ca,"\\'")+"'"}a(ge,"quoteFilterString");function Wt(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?qa(o.substring(1,o.length-1)):o}a(Wt,"unquoteFilterString");var Bs=new Date(0),Ui=class Ui extends F{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Ka(e,Bs)!==Bs){this.value=e;return}throw new le(`Invalid date value "${e}"`)}toString(){return ge(this.value)}};a(Ui,"DateLiteral");var we=Ui;import{toDateDef as Va}from"putil-varhelpers";var qs=new Date(0),$i=class $i extends F{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Va(e,qs)!==qs){this.value=e;return}throw new le(`Invalid date-time value "${e}"`)}toString(){return ge(this.value)}};a($i,"DateTimeLiteral");var Yt=$i;var Bi=class Bi extends F{constructor(){super(null),this.value=null}};a(Bi,"NullLiteral");var Ue=Bi;var qi=class qi extends F{constructor(e){if(super(0),typeof e=="number"||typeof e=="bigint"){this.value=e;return}try{if(typeof e=="string"){if(e.includes(".")){this.value=parseFloat(e);return}let t=Number(e);""+t===e?this.value=t:this.value=BigInt(e);return}}catch{}throw new le(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(qi,"NumberLiteral");var xe=qi;var Ki=class Ki extends F{constructor(e){super(""+e)}};a(Ki,"QualifiedIdentifier");var X=Ki;var Vi=class Vi extends F{constructor(e){super(""+e)}toString(){return ge(this.value)}};a(Vi,"StringLiteral");var $e=Vi;var za=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,zi=class zi extends F{constructor(e){if(super(""),e instanceof Date){this.value=Or(e.getHours())+":"+Or(e.getMinutes())+(e.getSeconds()?":"+Or(e.getSeconds()):"")+(e.getMilliseconds()?"."+Or(e.getMilliseconds()):"");return}if(typeof e=="string"&&za.test(e)){this.value=e;return}throw new le(`Invalid time value "${e}"`)}toString(){return ge(this.value)}};a(zi,"TimeLiteral");var Be=zi;function Or(o){return o<=9?"0"+o:""+o}a(Or,"pad");import{CharStream as ap,CommonTokenStream as pp}from"@browsery/antlr4";import{ATNDeserializer as Ja,DFA as Wa,Lexer as Ya,LexerATNSimulator as Ga,PredictionContextCache as Qa,Token as Xa}from"@browsery/antlr4";var q=class q extends Ya{constructor(e){super(e),this._interp=new Ga(this,q._ATN,q.DecisionsToDFA,new Qa)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return q.literalNames}get symbolicNames(){return q.symbolicNames}get ruleNames(){return q.ruleNames}get serializedATN(){return q._serializedATN}get channelNames(){return q.channelNames}get modeNames(){return q.modeNames}static get _ATN(){return q.__ATN||(q.__ATN=new Ja().deserialize(q._serializedATN)),q.__ATN}};a(q,"OpraFilterLexer");var y=q;y.T__0=1;y.T__1=2;y.T__2=3;y.T__3=4;y.T__4=5;y.T__5=6;y.T__6=7;y.T__7=8;y.T__8=9;y.T__9=10;y.T__10=11;y.T__11=12;y.T__12=13;y.T__13=14;y.T__14=15;y.T__15=16;y.T__16=17;y.T__17=18;y.T__18=19;y.T__19=20;y.T__20=21;y.T__21=22;y.T__22=23;y.T__23=24;y.T__24=25;y.T__25=26;y.T__26=27;y.T__27=28;y.T__28=29;y.T__29=30;y.T__30=31;y.T__31=32;y.T__32=33;y.T__33=34;y.IDENTIFIER=35;y.POLAR_OP=36;y.DATE=37;y.DATETIME=38;y.TIME=39;y.NUMBER=40;y.INTEGER=41;y.STRING=42;y.WHITESPACE=43;y.EOF=Xa.EOF;y.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];y.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];y.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"];y.modeNames=["DEFAULT_MODE"];y.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"];y._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];y.DecisionsToDFA=y._ATN.decisionToState.map((o,e)=>new Wa(o,e));var Ks=y;import{ATN as Vs,ATNDeserializer as Za,DFA as Ha,FailedPredicateException as ep,NoViableAltException as Ji,Parser as tp,ParserATNSimulator as rp,ParserRuleContext as U,PredictionContextCache as ip,RecognitionException as C,Token as op}from"@browsery/antlr4";var E=class E extends tp{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return E.literalNames}get symbolicNames(){return E.symbolicNames}get ruleNames(){return E.ruleNames}get serializedATN(){return E._serializedATN}createFailedPredicateException(e,t){return new ep(this,e,t)}constructor(e){super(e),this._interp=new rp(this,E._ATN,E.DecisionsToDFA,new ip)}root(){let e=new Wi(this,this._ctx,this.state);this.enterRule(e,0,E.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(E.EOF)}catch(t){if(t instanceof C)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 W(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,E.RULE_expression,e);let p;try{let c;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new Qi(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 Yi(this,i),this._ctx=i,n=i,this.state=42,this.match(E.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(E.T__1);break;case 3:case 4:i=new Gi(this,i),this._ctx=i,n=i,this.state=46,p=this._input.LA(1),p===3||p===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new Ji(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==Vs.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Gt(this,new W(this,t,r)),this.pushNewRecursionContext(i,s,E.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),c=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(c){if(c instanceof C)i.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new gr(this,this._ctx,this.state);this.enterRule(e,4,E.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof C)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new wr(this,this._ctx,this.state);this.enterRule(e,6,E.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new Ji(this)}}catch(t){if(t instanceof C)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 Rr(this,this._ctx,this.state);this.enterRule(e,8,E.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof C)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 V(this,this._ctx,this.state);this.enterRule(e,10,E.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new oo(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(E.NUMBER);break;case 13:case 14:e=new ro(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new io(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Zi(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new Hi(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(E.DATETIME);break;case 37:e=new to(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(E.DATE);break;case 39:e=new Xi(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(E.TIME);break;case 42:e=new eo(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(E.STRING);break;default:throw new Ji(this)}}catch(t){if(t instanceof C)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 Qt(this,this._ctx,this.state);this.enterRule(e,12,E.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==Vs.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(E.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof C)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 Ar(this,this._ctx,this.state);this.enterRule(e,14,E.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(E.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof C)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 Ge(this,this._ctx,this.state);this.enterRule(e,16,E.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(E.IDENTIFIER)}catch(t){if(t instanceof C)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 br(this,this._ctx,this.state);this.enterRule(e,18,E.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(E.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(E.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(E.T__8)}}catch(r){if(r instanceof C)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 Dr(this,this._ctx,this.state);this.enterRule(e,20,E.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof C)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 Nr(this,this._ctx,this.state);this.enterRule(e,22,E.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(E.T__11)}catch(t){if(t instanceof C)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 Sr(this,this._ctx,this.state);this.enterRule(e,24,E.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof C)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 no(this,this._ctx,this.state);this.enterRule(e,26,E.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof C)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 Fr(this,this._ctx,this.state);this.enterRule(e,28,E.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof C)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 Mr(this,this._ctx,this.state);this.enterRule(e,30,E.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof C)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 so(this,this._ctx,this.state);this.enterRule(e,32,E.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(E.POLAR_OP)}catch(t){if(t instanceof C)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return E.__ATN||(E.__ATN=new Za().deserialize(E._serializedATN)),E.__ATN}};a(E,"OpraFilterParser");var l=E;l.T__0=1;l.T__1=2;l.T__2=3;l.T__3=4;l.T__4=5;l.T__5=6;l.T__6=7;l.T__7=8;l.T__8=9;l.T__9=10;l.T__10=11;l.T__11=12;l.T__12=13;l.T__13=14;l.T__14=15;l.T__15=16;l.T__16=17;l.T__17=18;l.T__18=19;l.T__19=20;l.T__20=21;l.T__21=22;l.T__22=23;l.T__23=24;l.T__24=25;l.T__25=26;l.T__26=27;l.T__27=28;l.T__28=29;l.T__29=30;l.T__30=31;l.T__31=32;l.T__32=33;l.T__33=34;l.IDENTIFIER=35;l.POLAR_OP=36;l.DATE=37;l.DATETIME=38;l.TIME=39;l.NUMBER=40;l.INTEGER=41;l.STRING=42;l.WHITESPACE=43;l.EOF=op.EOF;l.RULE_root=0;l.RULE_expression=1;l.RULE_comparisonLeft=2;l.RULE_comparisonRight=3;l.RULE_parenthesizedItem=4;l.RULE_value=5;l.RULE_qualifiedIdentifier=6;l.RULE_externalConstant=7;l.RULE_identifier=8;l.RULE_arrayValue=9;l.RULE_boolean=10;l.RULE_null=11;l.RULE_infinity=12;l.RULE_arithmeticOperator=13;l.RULE_comparisonOperator=14;l.RULE_logicalOperator=15;l.RULE_polarityOperator=16;l.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];l.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"];l.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];l._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];l.DecisionsToDFA=l._ATN.decisionToState.map((o,e)=>new Ha(o,e));var zs=l,ao=class ao extends U{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(W,0)}EOF(){return this.getToken(l.EOF,0)}get ruleIndex(){return l.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(ao,"RootContext");var Wi=ao,po=class po extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(po,"ExpressionContext");var W=po,co=class co extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Rr,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(co,"ParenthesizedExpressionContext");var Yi=co,lo=class lo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(W,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(lo,"NegativeExpressionContext");var Gi=lo,fo=class fo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(gr,0)}comparisonOperator(){return this.getTypedRuleContext(Fr,0)}comparisonRight(){return this.getTypedRuleContext(wr,0)}enterRule(e){e.enterComparisonExpression&&e.enterComparisonExpression(this)}exitRule(e){e.exitComparisonExpression&&e.exitComparisonExpression(this)}accept(e){return e.visitComparisonExpression?e.visitComparisonExpression(this):e.visitChildren(this)}};a(fo,"ComparisonExpressionContext");var Qi=fo,mo=class mo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(W)}expression(e){return this.getTypedRuleContext(W,e)}logicalOperator(){return this.getTypedRuleContext(Mr,0)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}};a(mo,"LogicalExpressionContext");var Gt=mo,uo=class uo extends U{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Qt,0)}get ruleIndex(){return l.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(uo,"ComparisonLeftContext");var gr=uo,ho=class ho extends U{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(V,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Qt,0)}externalConstant(){return this.getTypedRuleContext(Ar,0)}arrayValue(){return this.getTypedRuleContext(br,0)}get ruleIndex(){return l.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(ho,"ComparisonRightContext");var wr=ho,yo=class yo extends U{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(W,0)}get ruleIndex(){return l.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 Rr=yo,To=class To extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_value}copyFrom(e){super.copyFrom(e)}};a(To,"ValueContext");var V=To,Eo=class Eo extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(l.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(Eo,"TimeLiteralContext");var Xi=Eo,_o=class _o extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Nr,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(_o,"NullLiteralContext");var Zi=_o,xo=class xo extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(l.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(xo,"DateTimeLiteralContext");var Hi=xo,Oo=class Oo extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(l.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(Oo,"StringLiteralContext");var eo=Oo,go=class go extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(l.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(go,"DateLiteralContext");var to=go,wo=class wo extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Sr,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(wo,"InfinityLiteralContext");var ro=wo,Ro=class Ro extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Dr,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(Ro,"BooleanLiteralContext");var io=Ro,Ao=class Ao extends V{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(l.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(Ao,"NumberLiteralContext");var oo=Ao,bo=class bo extends U{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Ge)}identifier(e){return this.getTypedRuleContext(Ge,e)}get ruleIndex(){return l.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(bo,"QualifiedIdentifierContext");var Qt=bo,Do=class Do extends U{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Ge,0)}get ruleIndex(){return l.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(Do,"ExternalConstantContext");var Ar=Do,No=class No extends U{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(l.IDENTIFIER,0)}get ruleIndex(){return l.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(No,"IdentifierContext");var Ge=No,So=class So extends U{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(V)}value(e){return this.getTypedRuleContext(V,e)}get ruleIndex(){return l.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(So,"ArrayValueContext");var br=So,Fo=class Fo extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Fo,"BooleanContext");var Dr=Fo,Mo=class Mo extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Mo,"NullContext");var Nr=Mo,vo=class vo extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(vo,"InfinityContext");var Sr=vo,Io=class Io extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Io,"ArithmeticOperatorContext");var no=Io,Po=class Po extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Po,"ComparisonOperatorContext");var Fr=Po,Lo=class Lo extends U{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Lo,"LogicalOperatorContext");var Mr=Lo,ko=class ko extends U{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(l.POLAR_OP,0)}get ruleIndex(){return l.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(ko,"PolarityOperatorContext");var so=ko;import{ParseTreeVisitor as np}from"@browsery/antlr4";var jo=class jo extends F{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(jo,"ExternalConstant");var vr=jo;var Co=class Co extends np{constructor(e){super(),this._timeZone=e==null?void 0:e.timeZone}visitChildren(e){let t=super.visitChildren(e);return Array.isArray(t)&&t.length<2?t[0]:t??e.getText()}defaultResult(){}visitRoot(e){return this.visit(e.expression())}visitParenthesizedExpression(e){let t=this.visit(e.parenthesizedItem());return new _e(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Jt(t)}visitComparisonExpression(e){return new pe({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=a((i,n)=>{for(let s of i){if(s instanceof Gt&&s.logicalOperator().getText()===n){r(s.expression_list(),s.logicalOperator().getText());continue}let p=this.visit(s);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new ce({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new X(e.getText())}visitExternalConstant(e){return new vr(e.identifier().getText())}visitNullLiteral(){return new Ue}visitBooleanLiteral(e){return new Ce(e.getText()==="true")}visitNumberLiteral(e){return new xe(e.getText())}visitStringLiteral(e){return new $e(Wt(e.getText()))}visitInfinityLiteral(){return new xe(1/0)}visitDateLiteral(e){return new we(Wt(e.getText()))}visitDateTimeLiteral(e){return new Yt(Wt(e.getText()))}visitTimeLiteral(e){return new Be(Wt(e.getText()))}visitArrayValue(e){return new Ee(e.value_list().map(t=>this.visit(t)))}};a(Co,"FilterTreeVisitor");var Xt=Co;import{ErrorListener as sp}from"@browsery/antlr4";var Uo=class Uo extends sp{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new xr(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a(Uo,"OpraErrorListener");var Zt=Uo;function $o(o,e){let t=new ap(o),r=new Ks(t),i=new pp(r),n=new zs(i);n.buildParseTrees=!0;let s=[],p=new Zt(s);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(s.length){let f=[];for(let d of s)f.push(d.message+(o.includes(`
8
- `)?" at line: "+d.line+" column: "+d.column:" at column: "+d.column));let O=new _r(f.join(`
9
- `));throw O.errors=s,O}return e=e||new Xt,e.visit(c)}a($o,"parse");var Bo=class Bo{constructor(e,t){if(this._rules=new S,this._decoderCache=new WeakMap,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,cp({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?$o(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof pe){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof X&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Te({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Te({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof ce)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof je)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Ee)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof _e)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof X&&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 F){let n=t.findLastIndex(s=>s instanceof pe);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof X&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let p;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?p=lp:p=this._decoderCache.get(s.left.field),p||(p=s.left.field.type.generateCodec("decode",{scope:i,projection:"*",ignoreWriteonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,p)),e.value=p(e.value)}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(Bo,"FilterRules");var Qe=Bo;import{asMutable as Rp}from"ts-gems";import{validator as Ap,vg as Y}from"valgen";import{omitUndefined as gp}from"@jsopen/objects";import{asMutable as wp}from"ts-gems";import{asMutable as xp}from"ts-gems";import{uid as Op}from"uid";var m={};Ts(m,{ComplexType:()=>Xe,EnumType:()=>Ze,HttpController:()=>Ht,HttpOperation:()=>qo,MappedType:()=>He,MixinType:()=>et,RpcController:()=>Ko,RpcOperation:()=>Vo,SimpleType:()=>tt,SpecVersion:()=>fp,UnionType:()=>rt,isComplexType:()=>up,isDataType:()=>mp,isEnumType:()=>Tp,isHttpController:()=>_p,isMappedType:()=>yp,isMixinType:()=>hp,isSimpleType:()=>dp,isUnionType:()=>Ep});var fp="1.0";var Xe;(function(o){o.Kind="ComplexType"})(Xe||(Xe={}));var Ze;(function(o){o.Kind="EnumType"})(Ze||(Ze={}));var He;(function(o){o.Kind="MappedType"})(He||(He={}));var et;(function(o){o.Kind="MixinType"})(et||(et={}));var tt;(function(o){o.Kind="SimpleType"})(tt||(tt={}));var rt;(function(o){o.Kind="UnionType"})(rt||(rt={}));var Ht;(function(o){o.Kind="HttpController"})(Ht||(Ht={}));var qo;(function(o){o.Kind="HttpOperation"})(qo||(qo={}));var Ko;(function(o){o.Kind="RpcController"})(Ko||(Ko={}));var Vo;(function(o){o.Kind="RpcOperation"})(Vo||(Vo={}));function mp(o){return o&&typeof o=="object"&&(o.kind===Xe.Kind||o.kind===Ze.Kind||o.kind===He.Kind||o.kind===tt.Kind||o.kind===et.Kind||o.kind===rt.Kind)}a(mp,"isDataType");function up(o){return o&&typeof o=="object"&&o.kind===Xe.Kind}a(up,"isComplexType");function dp(o){return o&&typeof o=="object"&&o.kind===tt.Kind}a(dp,"isSimpleType");function hp(o){return o&&typeof o=="object"&&o.kind===et.Kind}a(hp,"isMixinType");function yp(o){return o&&typeof o=="object"&&o.kind===He.Kind}a(yp,"isMappedType");function Tp(o){return o&&typeof o=="object"&&o.kind===Ze.Kind}a(Tp,"isEnumType");function Ep(o){return o&&typeof o=="object"&&o.kind===rt.Kind}a(Ep,"isUnionType");function _p(o){return o&&typeof o=="object"&&o.kind===Ht.Kind}a(_p,"isHttpController");var zo=class zo{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Oe])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[k])==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(h,e).name;else if(typeof e=="object"){let n=e[h];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}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(zo,"DocumentNode");var Ir=zo;var w=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=xp(this);e.id=Op(16),Object.defineProperty(e,"node",{value:new Ir(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Wo=class Wo{};a(Wo,"DocumentElementClass");var Jo=Wo;w.prototype=Jo.prototype;var it=Symbol.for("nodejs.util.inspect.custom"),qe="\x1B[0m",ot="\x1B[33m",nt="\x1B[35m";function er(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(er,"testScopeMatch");var _=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!L.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);w.call(this,o);let r=wp(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"),Go=class Go extends w{get embedded(){return!this.name}inScope(e){return er(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 gp({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[it](){return`[${ot+Object.getPrototypeOf(this).constructor.name+qe} ${nt+this.name+qe}]`}};a(Go,"DataTypeClass");var Yo=Go;_.prototype=Yo.prototype;var st=/^([+-])?([a-z$_][\w.]*)$/i,I=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;_.call(this,e,t,r);let i=Rp(this);i._fields=new S},"ComplexTypeBase"),Xo=class Xo extends _{fieldCount(e){if(e==="*")return this._fields.size;let t=0;for(let r of this.fields(e))t++;return t}fieldEntries(e){let t=this._fields.entries();if(e==="*")return t;let r;return{next(){for(;t&&(r=t.next(),!(r.done||r.value&&r.value[1].inScope(e))););return r.done?{done:r.done,value:void 0}:{done:r.done,value:[r.value[0],r.value[1].forScope(e)]}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fields(e){let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[1]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fieldNames(e){if(e==="*")return this._fields.keys();let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[0]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}findField(e,t){if(e.includes(".")){let i=this.parseFieldPath(e,{scope:t});if(i.length===0)throw new Error(`Field "${e}" does not exist in scope "${t}"`);let n=i.pop();return n==null?void 0:n.field}let r=this._fields.get(e);if(r&&r.inScope(t))return r.forScope(t)}getField(e,t){let r=this.findField(e,"*");if(r&&!r.inScope(t))throw new Error(`Field "${e}" does not exist in scope "${t||"null"}"`);if(!r)throw new Error(`Field (${e}) does not exist`);return r.forScope(t)}parseFieldPath(e,t){var d,z,hs;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),f=t==null?void 0:t.allowSigns,O=a(()=>p.map(Ie=>Ie.fieldName).join("."),"getStrPath");for(let Ie=0;Ie<s;Ie++){let J={fieldName:n[Ie],dataType:c};p.push(J);let mr=st.exec(n[Ie]);if(!mr)throw new TypeError(`Invalid field name (${O()})`);if(mr[1]&&((Ie===0&&f==="first"||f==="each")&&(J.sign=mr[1]),J.fieldName=mr[2]),r){if(r instanceof I){if(i=r.findField(J.fieldName,t==null?void 0:t.scope),i){J.fieldName=i.name,J.field=i,J.dataType=i.type,r=i.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){J.additionalField=!0,J.dataType=c,r=void 0;continue}if(((z=r.additionalFields)==null?void 0:z[0])==="type"&&((hs=r.additionalFields)==null?void 0:hs[1])instanceof _){J.additionalField=!0,J.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(ii=>ii.fieldName).join(".")})`)}throw new TypeError(`"${p.map(ii=>ii.fieldName).join(".")}" field is not a complex type and has no child fields`)}J.additionalField=!0,J.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){let r=Array.isArray(t==null?void 0:t.projection)?Us(t.projection):t==null?void 0:t.projection,i=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof _)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let s=n[1];n=Ap((p,c,f)=>c.fail(f,s,p))}return Y.isObject(i,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail})}_generateSchema(e,t){var c;let r={},{currentPath:i,projection:n}=t,s=!!(n&&Object.values(n).find(f=>!f.sign)),p;for(let f of this.fields("*")){if(!f.inScope(t.scope)||!(t.keepKeyFields&&this.keyField)&&(t.ignoreReadonlyFields&&f.readonly||t.ignoreWriteonlyFields&&f.writeonly)){r[f.name]=Y.isUndefined({coerce:!0});continue}p=f.name;let O;if(n!=="*"&&(O=n==null?void 0:n[p.toLowerCase()],(O==null?void 0:O.sign)==="-"||s&&!O||!s&&f.exclusive&&!O)){r[f.name]=Y.isUndefined({coerce:!0});continue}let d=this._generateFieldCodec(e,f,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,currentPath:i+(i?".":"")+p});r[p]=t.partial||!f.required?Y.optional(d):Y.pipe([Y.required(d),Y.isNotEmpty()])}return t.allowPatchOperators&&(r._$pull=Y.optional(Y.isAny()),r._$push=Y.optional(Y.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,r);return t.fixed&&(i=Y.isEqual(t.fixed)),t.isArray&&(i=Y.isArray(i)),i}};a(Xo,"ComplexTypeBaseClass");var Qo=Xo;I.prototype=Qo.prototype;import"reflect-metadata";import{omitUndefined as Zo}from"@jsopen/objects";import{asMutable as bp}from"ts-gems";import{vg as Dp}from"valgen";var Z=a(function(...o){if(!this)return Z[b].apply(void 0,o);let[e,t,r]=o;_.call(this,e,t,r);let i=bp(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof Z))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=v(t.attributes||{}),i.attributes=i.base?v(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),Ho=class Ho extends _{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof Z?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Dp.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Zo({...t,kind:this.kind,base:r,attributes:v(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Ho,"EnumTypeClass");var tr=Ho;Z.prototype=tr.prototype;Object.assign(Z,tr);function Np(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(p=>{var f;let c=(f=r==null?void 0:r.meanings)==null?void 0:f[p];i[p]=Zo({description:c})})}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(p=>{var f;let c=(f=r==null?void 0:r.meanings)==null?void 0:f[p];i[o[p]]=Zo({alias:p,description:c})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,h,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Np,"EnumTypeFactory");Z.prototype=tr.prototype;Z[b]=Np;import{__decorate as Fp,__metadata as Mp}from"tslib";import{vg as Gs}from"valgen";import"reflect-metadata";import{omitUndefined as Ws}from"@jsopen/objects";import{asMutable as Sp}from"ts-gems";import{isAny as Ys}from"valgen";function en(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!L.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(h,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(h,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(en,"SimpleTypeDecoratorFactory");function Js(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(h,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(h,r,e.constructor)}}a(Js,"AttributeDecoratorFactory");var u=a(function(...o){var n,s;if(!this)return u[b](...o);let[e,t,r]=o;_.call(this,e,t,r);let i=Sp(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);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=v(t.attributes||{}),i.attributes=i.base?v(i.base.attributes):{},i.ownAttributes)for(let[p,c]of Object.entries(i.ownAttributes)){if((s=i.attributes[p])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);i.attributes[p]=c}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),rn=class rn extends _{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let i={...this.properties,...r};if(e==="decode"){let s=this;for(;s;){if(s._generateDecoder)return s._generateDecoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);s=this.base}return Ys}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);n=this.base}return Ys}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i=Ws(this.ownAttributes),n;this.properties&&typeof this.properties.toJSON=="function"?n=this.properties.toJSON(this.properties,this.owner,e):n=this.properties?v(this.properties):{};let s={...t,kind:this.kind,base:r,attributes:i&&Object.keys(i).length?i:void 0,properties:Object.keys(n).length?n:void 0};return Object.keys(this.ownNameMappings).length&&(s.nameMappings={...this.ownNameMappings}),Ws(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(rn,"SimpleTypeClass");var tn=rn;u.prototype=tn.prototype;Object.assign(u,en);u[b]=en;u.Attribute=Js;var at,Pr=(at=class{constructor(e){e&&Object.assign(this,e)}[T](){return Gs.isBase64({coerce:!0})}[x](){return Gs.isBase64({coerce:!0})}},a(at,"Base64Type"),at);Pr=Fp([u({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Mp("design:paramtypes",[Object])],Pr);import{__decorate as on,__metadata as nn}from"tslib";import{isDateString as Lr,toString as Qs,vg as Re}from"valgen";var pt,ct=(pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Re.isDate({precision:"date",coerce:!0}),r=[];return e.minValue!=null&&(Lr(e.minValue),r.push(Qs,Re.isGte(e.minValue))),e.maxValue!=null&&(Lr(e.maxValue),r.push(Qs,Re.isLte(e.maxValue))),r.length>0?Re.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=Re.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue!=null&&(Lr(e.minValue),r.push(Re.isGte(e.minValue))),e.maxValue!=null&&(Lr(e.maxValue),r.push(Re.isLte(e.maxValue))),r.length>0?Re.pipe([t,...r],{returnIndex:0}):t}},a(pt,"DateType"),pt);on([u.Attribute({description:"Minimum value"}),nn("design:type",String)],ct.prototype,"minValue",void 0);on([u.Attribute({description:"Maximum value"}),nn("design:type",String)],ct.prototype,"maxValue",void 0);ct=on([u({name:"date",description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),nn("design:paramtypes",[Object])],ct);import{__decorate as sn,__metadata as an}from"tslib";import{vg as kr}from"valgen";var lt,ft=(lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=kr.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue!=null&&r.push(kr.isGte(e.minValue)),e.maxValue!=null&&r.push(kr.isLte(e.maxValue)),r.length>0?kr.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[T](e)}},a(lt,"DateStringType"),lt);sn([u.Attribute({description:"Minimum value"}),an("design:type",String)],ft.prototype,"minValue",void 0);sn([u.Attribute({description:"Maximum value"}),an("design:type",String)],ft.prototype,"maxValue",void 0);ft=sn([u({name:"datestring",description:"Date string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value").Example("2021-04","Date value without day").Example("2021","Year only value"),an("design:paramtypes",[Object])],ft);import{__decorate as pn,__metadata as cn}from"tslib";import{isDateString as jr,toString as Xs,vg as Ae}from"valgen";var mt,ut=(mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ae.isDate({precision:"time",coerce:!0}),r=[];return e.minValue!=null&&(jr(e.minValue),r.push(Xs,Ae.isGte(e.minValue))),e.maxValue!=null&&(jr(e.maxValue),r.push(Xs,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=Ae.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue!=null&&(jr(e.minValue),r.push(Ae.isGte(e.minValue))),e.maxValue!=null&&(jr(e.maxValue),r.push(Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}},a(mt,"DateTimeType"),mt);pn([u.Attribute({description:"Minimum value"}),cn("design:type",String)],ut.prototype,"minValue",void 0);pn([u.Attribute({description:"Maximum value"}),cn("design:type",String)],ut.prototype,"maxValue",void 0);ut=pn([u({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),cn("design:paramtypes",[Object])],ut);import{__decorate as ln,__metadata as fn}from"tslib";import{vg as Cr}from"valgen";var dt,ht=(dt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Cr.isDateString({coerce:!0}),r=[];return e.minValue!=null&&r.push(Cr.isGte(e.minValue)),e.maxValue!=null&&r.push(Cr.isLte(e.maxValue)),r.length>0?Cr.pipe([t,...r]):t}[x](e){return this[T](e)}},a(dt,"DateTimeStringType"),dt);ln([u.Attribute({description:"Minimum value"}),fn("design:type",String)],ht.prototype,"minValue",void 0);ln([u.Attribute({description:"Maximum value"}),fn("design:type",String)],ht.prototype,"maxValue",void 0);ht=ln([u({name:"datetimestring",description:"DateTime string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+01:00","Full date-time value with timezone").Example("2021-04-18T22:30:15","Full date-time value without timezone").Example("2021-04-18 22:30","Date-time value").Example("2021-04-18","Date value").Example("2021-04","Date value without day").Example("2021","Year only value"),fn("design:paramtypes",[Object])],ht);import{__decorate as fe,__metadata as me}from"tslib";import{vg as Zs}from"valgen";var yt,G=(yt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Zs.isEmail({...e,coerce:!0})}[x](e){return Zs.isEmail({...e,coerce:!0})}},a(yt,"EmailType"),yt);fe([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),me("design:type",Boolean)],G.prototype,"allowDisplayName",void 0);fe([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),me("design:type",Boolean)],G.prototype,"requireDisplayName",void 0);fe([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),me("design:type",Boolean)],G.prototype,"utf8LocalPart",void 0);fe([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),me("design:type",Boolean)],G.prototype,"ignoreMaxLength",void 0);fe([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),me("design:type",Boolean)],G.prototype,"allowIpDomain",void 0);fe([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),me("design:type",Boolean)],G.prototype,"domainSpecificValidation",void 0);fe([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),me("design:type",Array)],G.prototype,"hostBlacklist",void 0);fe([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),me("design:type",Array)],G.prototype,"hostWhitelist",void 0);fe([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),me("design:type",String)],G.prototype,"blacklistedChars",void 0);G=fe([u({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),me("design:paramtypes",[Object])],G);import{__decorate as mn,__metadata as un}from"tslib";import{toString as vp,validator as Ip,vg as Pp}from"valgen";var Tt,$=(Tt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=Ip("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return Pp.pipe([vp,s])}[x](e,t,r){return this[T](e,t,r)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");_.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Tt,"FieldPathType"),Tt);mn([u.Attribute({description:"Data type which field belong to"}),un("design:type",Object)],$.prototype,"dataType",void 0);mn([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),un("design:type",String)],$.prototype,"allowSigns",void 0);$=mn([u({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),un("design:paramtypes",[Object])],$);import{__decorate as dn,__metadata as hn}from"tslib";import{validator as ea}from"valgen";var rr={};Ts(rr,{$and:()=>kp,$arithmetic:()=>ec,$array:()=>Hs,$date:()=>jp,$eq:()=>Bp,$field:()=>$p,$gt:()=>Kp,$gte:()=>Vp,$ilike:()=>Xp,$in:()=>Wp,$like:()=>Gp,$lt:()=>zp,$lte:()=>Jp,$ne:()=>qp,$notILike:()=>Zp,$notIn:()=>Yp,$notLike:()=>Qp,$number:()=>Up,$or:()=>Lp,$paren:()=>Hp,$time:()=>Cp,ArithmeticExpression:()=>je,ArithmeticExpressionItem:()=>Er,ArrayExpression:()=>Ee,Ast:()=>zt,BooleanLiteral:()=>Ce,ComparisonExpression:()=>pe,DateLiteral:()=>we,DateTimeLiteral:()=>Yt,Expression:()=>j,FilterTreeVisitor:()=>Xt,Literal:()=>F,LogicalExpression:()=>ce,NegativeExpression:()=>Jt,NullLiteral:()=>Ue,NumberLiteral:()=>xe,OpraErrorListener:()=>Zt,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>X,StringLiteral:()=>$e,Term:()=>ke,TimeLiteral:()=>Be,parse:()=>$o});function Lp(...o){return new ce({op:"or",items:o})}a(Lp,"$or");function kp(...o){return new ce({op:"and",items:o})}a(kp,"$and");function jp(o){return new we(o)}a(jp,"$date");function Cp(o){return new Be(o)}a(Cp,"$time");function Up(o){return new xe(o)}a(Up,"$number");function Hs(...o){return new Ee(o.map(Ur))}a(Hs,"$array");function $p(o){return new X(o)}a($p,"$field");function Bp(o,e){return H("=",o,e)}a(Bp,"$eq");function qp(o,e){return H("!=",o,e)}a(qp,"$ne");function Kp(o,e){return H(">",o,e)}a(Kp,"$gt");function Vp(o,e){return H(">=",o,e)}a(Vp,"$gte");function zp(o,e){return H("<",o,e)}a(zp,"$lt");function Jp(o,e){return H("<=",o,e)}a(Jp,"$lte");function Wp(o,e){return H("in",o,e)}a(Wp,"$in");function Yp(o,e){return H("!in",o,e)}a(Yp,"$notIn");function Gp(o,e){return H("like",o,e)}a(Gp,"$like");function Qp(o,e){return H("!like",o,e)}a(Qp,"$notLike");function Xp(o,e){return H("ilike",o,e)}a(Xp,"$ilike");function Zp(o,e){return H("!ilike",o,e)}a(Zp,"$notILike");function Hp(o){return new _e(o)}a(Hp,"$paren");function ec(o){let e=new je;return e.add=t=>(e.append("+",Et(t)),e),e.sub=t=>(e.append("-",Et(t)),e),e.mul=t=>(e.append("*",Et(t)),e),e.div=t=>(e.append("/",Et(t)),e),e.append("+",Ur(o)),e}a(ec,"$arithmetic");function H(o,e,t){let r=typeof e=="string"?new X(e):Ur(e),i=Ur(t);return new pe({op:o,left:r,right:i})}a(H,"comparisonExpression");var Ur=a(o=>Array.isArray(o)?Hs(...o.map(Et)):Et(o),"wrapEntryValue"),Et=a(o=>o instanceof j?o:typeof o=="boolean"?new Ce(o):typeof o=="number"||typeof o=="bigint"?new xe(o):o==null?new Ue:o instanceof Date?new we(o):new $e(""+o),"_wrapEntryValue");var _t,be=(_t=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new Qe(e.rules):void 0;return tc(r,i)}[x](){return rc}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");_.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(_t,"FilterType"),_t);dn([u.Attribute({description:"Data type which filtering fields belong to"}),hn("design:type",Object)],be.prototype,"dataType",void 0);dn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),hn("design:type",Object)],be.prototype,"rules",void 0);be=dn([u({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),hn("design:paramtypes",[Object])],be);var tc=a((o,e,t)=>ea("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=rr.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"),rc=ea("encodeFilter",(o,e,t)=>{if(o instanceof rr.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as ic,__metadata as oc}from"tslib";import{vg as ta}from"valgen";var xt,$r=(xt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ta.isObjectId({coerce:!0})}[x](){return ta.isObjectId({coerce:!0})}},a(xt,"ObjectIdType"),xt);$r=ic([u({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),oc("design:paramtypes",[Object])],$r);import{__decorate as de,__metadata as he}from"tslib";import{omitUndefined as ra}from"@jsopen/objects";import{asMutable as sc}from"ts-gems";import{omitUndefined as nc}from"@jsopen/objects";function yn(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(h,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),p=n.fields[i]={...o};s===Array?p.isArray=!0:p.type=p.type||s,Reflect.defineMetadata(h,n,r.constructor);for(let c of e)c(p)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(nc({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(yn,"ApiFieldDecoratorFactory");var P=a(function(...o){if(!this){let[n]=o;return P[b](n)}let[e,t]=o;w.call(this,e);let r=sc(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof I))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,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},"ApiField"),En=class En extends w{inScope(e){return er(e,this.scopePattern)}forScope(e){if(!(e&&this.override))return this;this._overrideCache=this._overrideCache||{};let t=this._overrideCache[e];if(t)return t;if(e!=="*"){for(let r of this.override)if(er(e,r.scopePattern)){t=ra({...r,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:r.scopePattern}),Object.setPrototypeOf(t,this);break}}return t=t||this,this._overrideCache[e]=t,t}toJSON(e){var r;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ra({type:t||((r=this.type)==null?void 0:r.toJSON(e)),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})}};a(En,"ApiFieldClass");var Tn=En;P.prototype=Tn.prototype;Object.assign(P,yn);P[b]=yn;import"reflect-metadata";import{omitUndefined as pc}from"@jsopen/objects";import{asMutable as cc}from"ts-gems";var _n=class _n extends Te{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(_n,"OpraDocumentError");var Ot=_n;var xn=class xn{constructor(e){this.path="",this.error=new Ot,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(xn,"DocumentInitContext");var ue=xn;import{omit as ac}from"@jsopen/objects";function On(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!L.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(h,e);r||(r={},Reflect.defineMetadata(h,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,ac(o,["name"]))}}a(On,"ComplexTypeDecorator");var ee=a(function(...o){var n;if(!this)return ee[b].apply(void 0,o);let[e,t]=o,r=o[2]||new ue({maxErrors:0});I.call(this,e,t,r);let i=cc(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof I))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 P(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,p]of Object.entries(t.fields)){let c=new P(this,{...p,name:s});this._fields.set(c.name,c)}})},"ComplexType"),wn=class wn extends I{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof I?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i={...t,kind:this.kind,base:this.base?r||this.base.toJSON(e):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof _){let n=this.node.getDataTypeNameWithNs(this.additionalFields);i.additionalFields=n||this.additionalFields.toJSON(e)}else i.additionalFields=this.additionalFields;if(this._fields.size){let n={},s=0;for(let p of this._fields.values())p.origin===this&&p.inScope(e==null?void 0:e.scope)&&(n[p.name]=p.toJSON(e),s++);s&&(i.fields=n)}return pc(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(wn,"ComplexTypeClass");var gn=wn;ee.prototype=gn.prototype;Object.assign(ee,On);ee[b]=On;var gt,Q=(gt=class{constructor(e){e&&Object.assign(this,e)}},a(gt,"OperationResult"),gt);de([P(),he("design:type",Number)],Q.prototype,"affected",void 0);de([P(),he("design:type",Number)],Q.prototype,"totalMatches",void 0);de([P(),he("design:type",String)],Q.prototype,"context",void 0);de([P(),he("design:type",String)],Q.prototype,"type",void 0);de([P(),he("design:type",String)],Q.prototype,"message",void 0);de([P({type:"any"}),he("design:type",Object)],Q.prototype,"payload",void 0);de([P({type:"object"}),he("design:type",Array)],Q.prototype,"errors",void 0);Q=de([ee({name:"OperationResult",description:"Operation result"}),he("design:paramtypes",[Object])],Q);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return de([P({type:t,required:!0}),he("design:type",Object)],r.prototype,"payload",void 0),r=de([ee({embedded:!0}),he("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Q||(Q={}));import{__decorate as Rn,__metadata as An}from"tslib";import{vg as Br}from"valgen";var lc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,wt,Rt=(wt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Br.matches(lc,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(Br.isGte(e.minValue)),e.maxValue!=null&&r.push(Br.isLte(e.maxValue)),r.length>0?Br.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[T](e)}},a(wt,"TimeType"),wt);Rn([u.Attribute({description:"Minimum value"}),An("design:type",String)],Rt.prototype,"minValue",void 0);Rn([u.Attribute({description:"Maximum value"}),An("design:type",String)],Rt.prototype,"maxValue",void 0);Rt=Rn([u({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"),An("design:paramtypes",[Object])],Rt);import{__decorate as fc,__metadata as mc}from"tslib";import{vg as ia}from"valgen";var At,qr=(At=class{constructor(e){e&&Object.assign(this,e)}[T](){return ia.isURL({coerce:!0})}[x](){return ia.isURL({coerce:!0})}},a(At,"UrlType"),At);qr=fc([u({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),mc("design:paramtypes",[Object])],qr);import{__decorate as na,__metadata as sa}from"tslib";import{vg as oa}from"valgen";var bt,ir=(bt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return oa.isUUID(e==null?void 0:e.version,{coerce:!0})}[x](e){return oa.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(bt,"UuidType"),bt);na([u.Attribute({description:"Version of the UUID"}),sa("design:type",Number)],ir.prototype,"version",void 0);ir=na([u({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),sa("design:paramtypes",[Object])],ir);import uc from"path-browserify";import{omitUndefined as dc}from"@jsopen/objects";import{asMutable as hc}from"ts-gems";var aa,pa,te=Symbol.for("kMap"),or=Symbol.for("kCtorMap"),bn=class bn{constructor(){this[aa]=new S,this[pa]=new WeakMap}get size(){return this[te].size}forEach(e,t){this[te].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[or].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(h,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[h];t=i==null?void 0:i.name}if(!t)return;let r=this[te].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[te].set(e,t),t.ctor?this[or].set(t.ctor,e):t.instance&&this[or].set(t.instance,e)}has(e){if(e instanceof _)return!!e.name&&this[te].has(e.name);let t=typeof e=="string"?e:this[or].get(e);return t?this[te].has(t):!1}keys(){return this[te].keys()}values(){return this[te].values()}entries(){return this[te].entries()}sort(e){return this[te].sort(e),this}[(aa=te,pa=or,Symbol.iterator)](){return this[te][Symbol.iterator]()}};a(bn,"DataTypeMap");var re=bn;function N(o,e){let t=a((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(oe,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n);Reflect.defineMetadata(oe,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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="cookie"&&String(p.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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="header"&&String(p.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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="query"&&String(p.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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="path"&&String(p.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||A.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===A.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),o.push(s=>{s.responses=s.responses||[],s.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||A.json,i.contentEncoding=i.contentEncoding||"utf-8"),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(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),s},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(N,"HttpOperationDecoratorFactory");var R=a(function(...o){if(!this){let[i]=o,n=[];return R[b].call(void 0,n,i)}let[e,t]=o;if(w.call(this,e),!L.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=hc(this);r.parameters=[],r.responses=[],r.types=r.node[k]=new re,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?v(t.compositionOptions):void 0},"HttpOperation"),Nn=class Nn extends w{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:uc.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=dc({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(Nn,"HttpOperationClass");var Dn=Nn;R.prototype=Dn.prototype;R[b]=N;R.GET=function(o){return N([],{...o,method:"GET"})};R.DELETE=function(o){return N([],{...o,method:"DELETE"})};R.HEAD=function(o){return N([],{...o,method:"HEAD"})};R.OPTIONS=function(o){return N([],{...o,method:"OPTIONS"})};R.PATCH=function(o){return N([],{...o,method:"PATCH"})};R.POST=function(o){return N([],{...o,method:"POST"})};R.PUT=function(o){return N([],{...o,method:"PUT"})};R.SEARCH=function(o){return N([],{...o,method:"SEARCH"})};R.Entity={};function B(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(h,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(B,"getDataTypeName");function De(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(De,"createKeyParamDecorator");function ca(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,p)=>{let c=p.split(":");return s[c[0]]=c[1]||c[0],s},{}),i=Object.keys(r).reduce((s,p)=>{let c=st.exec(p),f=st.exec(r[p]);return c&&f&&(s[c[2]]=f[2]),s},{}),n=Object.keys(r).reduce((s,p)=>{let c=st.exec(p);return c&&(c[1]!="-"&&(s[c[2]]=c[2]),c[1]!="+"&&(s["-"+c[2]]="-"+c[2])),s},{});return e.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:Z(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(p=>{let c=st.exec(p);return c?(c[1]||"")+i[c[2]]:p}),"parser")}),o}}a(ca,"createSortFieldsDecorator");function Ne(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new Qe,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new be({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let p=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(p.operators=p.operators||["=","!="],n.includes(":")){let c=n.split(":");n=c[0],p.mappedField=c[1]}return e.push(()=>{r.set(n,p),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(Ne,"createFilterDecorator");R.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new $({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(g.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:A.opra_response_json,type:t.type,partial:"deep"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=B(t.type)}),i};R.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(g.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:A.opra_response_json}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=B(t.type)}),i.KeyParam=De(i,r),i};R.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(g.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:A.opra_response_json}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=B(t.type)}),i.Filter=Ne(i,r,t.type),i};import{__decorate as yc,__metadata as Tc}from"tslib";import{isAny as la}from"valgen";var Dt,Kr=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](){return la}[x](){return la}},a(Dt,"AnyType"),Dt);Kr=yc([u({name:"any",description:"Represents any value"}),Tc("design:paramtypes",[Object])],Kr);import{__decorate as Ec,__metadata as _c}from"tslib";import{toBigint as ma,vg as vn}from"valgen";import{__decorate as Fn,__metadata as Mn}from"tslib";import{toNumber as fa,vg as Sn}from"valgen";var Nt,ye=(Nt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue!=null&&t.push(Sn.isGte(e.minValue)),e.maxValue!=null&&t.push(Sn.isLte(e.maxValue)),t.length>0?Sn.pipe([fa,...t],{returnIndex:0}):fa}[x](e){return this[T](e)}},a(Nt,"NumberType"),Nt);Fn([u.Attribute({description:"Determines the minimum value"}),Mn("design:type",Number)],ye.prototype,"minValue",void 0);Fn([u.Attribute({description:"Determines the maximum value"}),Mn("design:type",Number)],ye.prototype,"maxValue",void 0);ye=Fn([u({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Mn("design:paramtypes",[Object])],ye);var St,Vr=(St=class extends ye{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(vn.isGte(e.minValue)),e.maxValue!=null&&t.push(vn.isLte(e.maxValue)),t.length>0?vn.pipe([ma,...t],{returnIndex:0}):ma}[x](e){return this[T](e)}},a(St,"BigintType"),St);Vr=Ec([u({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),_c("design:paramtypes",[Object])],Vr);import{__decorate as xc,__metadata as Oc}from"tslib";import{toBoolean as ua}from"valgen";var Ft,zr=(Ft=class{constructor(e){e&&Object.assign(this,e)}[T](){return ua}[x](){return ua}},a(Ft,"BooleanType"),Ft);zr=xc([u({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),Oc("design:paramtypes",[Object])],zr);import{__decorate as gc,__metadata as wc}from"tslib";import{toInteger as da,vg as In}from"valgen";var Mt,Ke=(Mt=class extends ye{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(In.isGte(e.minValue)),e.maxValue!=null&&t.push(In.isLte(e.maxValue)),t.length>0?In.pipe([da,...t],{returnIndex:0}):da}[x](e){return this[T](e)}},a(Mt,"IntegerType"),Mt);Ke=gc([u({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),wc("design:paramtypes",[Object])],Ke);import{__decorate as Rc,__metadata as Ac}from"tslib";import{isNull as ha}from"valgen";var vt,Jr=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ha}[x](){return ha}},a(vt,"NullType"),vt);Jr=Rc([u({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),Ac("design:paramtypes",[Object])],Jr);import{__decorate as bc,__metadata as Dc}from"tslib";var It,Wr=(It=class{constructor(e){e&&Object.assign(this,e)}},a(It,"ObjectType"),It);Wr=bc([ee({name:"object",description:"A non modelled object",additionalFields:!0}),Dc("design:paramtypes",[Object])],Wr);import{__decorate as nr,__metadata as sr}from"tslib";import{toString as ya,vg as Yr}from"valgen";var Pt,Se=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(h,Object.getPrototypeOf(this).constructor).name),t.push(Yr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Yr.lengthMin(e.minLength)),e.maxLength&&t.push(Yr.lengthMax(e.maxLength)),t.length>0?Yr.pipe([ya,...t],{returnIndex:0}):ya}[x](e){return this[T](e)}},a(Pt,"StringType"),Pt);nr([u.Attribute({description:"Regex pattern to be used for validation"}),sr("design:type",Object)],Se.prototype,"pattern",void 0);nr([u.Attribute({description:"Name of the pattern"}),sr("design:type",String)],Se.prototype,"patternName",void 0);nr([u.Attribute({description:"Minimum number of characters"}),sr("design:type",Number)],Se.prototype,"minLength",void 0);nr([u.Attribute({description:"Minimum number of characters"}),sr("design:type",Number)],Se.prototype,"maxLength",void 0);Se=nr([u({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),sr("design:paramtypes",[Object])],Se);R.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:A.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Ke({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Ke({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new $({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=B(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=Ne(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.defaultSort=n}),i),i.SortFields=ca(i,r),i};R.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new $({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:A.opra_response_json,type:t.type,partial:"deep"}).Response(g.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=B(t.type)}),i.KeyParam=De(i,r),i};R.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new $({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:A.opra_response_json,type:t.type,partial:"deep"}).Response(g.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=B(t.type)}),i.KeyParam=De(i,r),i};R.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new $({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:A.opra_response_json,type:t.type,partial:"deep"}).Response(g.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=B(t.type)}),i.KeyParam=De(i,r),i.Filter=Ne(i,r,t.type),i};R.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[h]?t=o:t={...e,type:o};let r=[],i=N(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:A.opra_response_json}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:A.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=B(t.type)}),i.Filter=Ne(i,r,t.type),i};import{merge as Pn}from"@jsopen/objects";var Nc=/^(.*)(Controller)$/,Ta=[];function Lt(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Nc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(ne,Object.getPrototypeOf(r));s&&Pn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(ne,r);p&&Pn(n,p,{deep:!0}),Pn(n,{...o,kind:m.RpcController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ne,n,r);for(let f of e)f(n,r);Reflect.defineMetadata(ne,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),Ta.forEach(r=>r(t,e,o)),t}a(Lt,"RpcControllerDecoratorFactory");Lt.augment=function(o){Ta.push(o)};import{omit as Fc}from"@jsopen/objects";var Ea=[];function ar(o,e,t){let r=!1,i=a((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:s,payloadType:e,...Fc(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(ne,n.constructor)||{};c.operations=c.operations||{},c.operations[s]=p;for(let f of o)f(p,n,s);Reflect.defineMetadata(ne,c,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(p=>{let c=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n},f=r?p.response:p;f.headers?f.headers=f.headers.filter(O=>String(O.name)!==String(n)):f.headers=[],f.headers.push(c)}),i),i.Response=(n,s)=>(o.push(p=>{r=!0,p.response={...s,payloadType:n}}),i),Ea.forEach(n=>n(i,o,e,t)),i}a(ar,"RpcOperationDecoratorFactory");ar.augment=function(o){Ea.push(o)};import"reflect-metadata";import{omitUndefined as vc}from"@jsopen/objects";import{asMutable as Ic}from"ts-gems";function Gr(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(Gr,"getIsInheritedPredicateFn");var Ve=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;I.call(this,e,t,r);let i=Ic(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof I))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(f=>i.base.normalizeFieldPath(f)):t.omit?i.omit=t.omit.map(f=>i.base.normalizeFieldPath(f)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(f=>i.base.normalizeFieldPath(f)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(f=>i.base.normalizeFieldPath(f)):t.required);let s=Gr(i.pick,i.omit),p=Array.isArray(i.partial)?i.partial.map(f=>f.toLowerCase()):i.partial,c=Array.isArray(i.required)?i.required.map(f=>f.toLowerCase()):i.required;for(let[f,O]of i.base.fieldEntries("*")){if(!s(f))continue;let d={...O};p===!0||Array.isArray(p)&&p.includes(O.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(O.name.toLowerCase()))&&(d.required=!0);let z=new P(this,d);i._fields.set(z.name,z)}(!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"),kn=class kn extends I{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof I?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return vc({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(kn,"MappedTypeClass");var Ln=kn;Ve.prototype=Ln.prototype;Ve._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as Pc}from"@jsopen/objects";import{asMutable as Lc}from"ts-gems";var kt=a(function(...o){if(!this)return kt[b].apply(void 0,o);let[e,t,r]=o;I.call(this,e,t,r);let i=Lc(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new P(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Cn=class Cn extends I{extendsFrom(e){if(e instanceof _||(e=this.node.getDataType(e)),!(e instanceof I))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 Pc({...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(Cn,"MixinTypeClass");var jn=Cn;kt.prototype=jn.prototype;kt[b]=kc;function kc(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)hr(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(h,i,r);for(let n of o){let s=Reflect.getMetadata(h,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),dr(r.prototype,n.prototype)}return r}a(kc,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as jc}from"@jsopen/objects";import{asMutable as Cc}from"ts-gems";import{vg as _a}from"valgen";var jt=a(function(...o){if(!this)return jt[b].apply(void 0,o);let[e,t,r]=o;_.call(this,e,t,r);let i=Cc(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),$n=class $n extends _{toJSON(e){let t=super.toJSON(e);return jc({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:_a.isEqual(i.discriminatorValue)}]:n});return _a.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a($n,"UnionTypeClass");var Un=$n;jt.prototype=Un.prototype;jt[b]=Uc;function Uc(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(h,r,t),t}a(Uc,"UnionTypeFactory");var Bn=Symbol("initializing"),Qr=class Qr{static async createDataType(e,t,r){e=e||new ue({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Qr.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[k];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new ue({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let c of i)n.set(c.name,c);let s=e.extend({initArgsMap:n}),p=[];for(let[c,f]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let O=this._createDataType(s,t,f);O&&p.push(O)});return p}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[k])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let p=0;for(let c of r)await s.enterAsync(`$[${p++}]`,async()=>{c=await se(c);let f=Reflect.getMetadata(h,c)||c[h];if(!(f&&f.name))return typeof c=="function"?s.addError(`Class "${c.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(f.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await se(p),i.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(i.keys())){if(!i.has(p))continue;let c=await this._importDataTypeArgs(s,t,p);c&&typeof c!="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){var O;r=await se(r);let{importQueue:i,initArgsMap:n}=e,s=t.node.findDataType(r);if(s instanceof _)return s.name;let p,c,f;if(typeof r!="string"){let z=t.node.getDocument().types[yr].get(r);z&&(r=z)}if(typeof r=="string"){let d=r;if(r=(i==null?void 0:i.get(d))||((O=e.initArgsMap)==null?void 0:O.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(h,r),!p)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);c=r}else if(typeof r=="object"){if(p=r[h],p)f=r,p.kind!==m.EnumType.Kind&&(p=void 0);else if(m.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(h,c),p&&p.kind===m.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let z=n==null?void 0:n.get(p.name);if(z)return z[Bn]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[Bn]=!0;try{if(d.name)if(i!=null&&i.has(d.name))n==null||n.set(p.name,d),d._instance={name:p.name},d[k]=t.node[k];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case m.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case m.EnumType.Kind:d.instance=f,await this._prepareEnumTypeArgs(e,t,d,p);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case m.SimpleType.Kind:d.ctor=c,await this._prepareSimpleTypeArgs(e,t,d,p);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,d,p);break;default:return e.addError(`Invalid data type kind ${p.kind}`)}}finally{d.name&&(i==null||i.delete(d.name)),delete d[Bn]}return i&&d.name?d.name:d}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}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);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(h,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Fe(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=Fe(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 p=typeof s=="string"?{type:s}:s;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:Fe(c)})})}))}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=Fe(n))}),r.attributes=v(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,p,c;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let f;if(i.base)f=await this._importDataTypeArgs(e,t,i.base);else if(r.ctor){let O=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(h,O)&&(f=await this._importDataTypeArgs(e,t,O))}f&&(r.base=Fe(f),r.ctor=r.ctor||f.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=v(i.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[T].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[x])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[x].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,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);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(h,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Fe(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 p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Fe(c))})})}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 p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Fe(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof _)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let p=n[k];switch(p||delete n._instance,i=n._instance,i!=null&&i.name&&p&&p.set(i.name,i),n==null?void 0:n.kind){case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ee.prototype);let n=v(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,p]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[s]={...p,name:s,type:c})})}),ee.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Z.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,Z.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Ve.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),Ve.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,kt.prototype);let n=v(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof I))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),kt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,u.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,jt.prototype);let n=v(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);n.types.push(c)})}),jt.apply(i,[t,n]),i}};a(Qr,"DataTypeFactory");var M=Qr;function Fe(o){return typeof o=="object"&&o.name?o.name:o}a(Fe,"preferName");import{isConstructor as sl}from"@jsopen/objects";import{omitUndefined as Bc}from"@jsopen/objects";var qn=class qn extends w{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return Bc({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!L.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};a(qn,"ApiBase");var Ct=qn;import Vc from"path-browserify";import{omitUndefined as zc}from"@jsopen/objects";import{asMutable as Jc}from"ts-gems";import{merge as Kn,omit as qc}from"@jsopen/objects";var Kc=/^(.*)(Controller)$/;function Vn(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Kc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(oe,Object.getPrototypeOf(r));s&&Kn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(oe,r);p&&Kn(n,p,{deep:!0}),Kn(n,{kind:m.HttpController.Kind,name:i,path:i,...qc(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(oe,n,r);for(let f of e)f(n,r);Reflect.defineMetadata(oe,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 p;(p=n.path)!=null&&p.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(Vn,"HttpControllerDecoratorFactory");var ie=a(function(...o){var i;if(!this)return ie[b].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!L.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Jc(this);r.kind=m.HttpController.Kind,r.types=r.node[k]=new re,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"),Jn=class Jn extends w{get isRoot(){return!(this.owner instanceof ie)}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 ie)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return Vc.posix.join(this.owner instanceof ie?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=zc({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}[it](){return`[${ot}HttpController${nt+this.name+qe}]`}};a(Jn,"HttpControllerClass");var zn=Jn;ie.prototype=zn.prototype;Object.assign(ie,Vn);ie[b]=Vn;var Wn=class Wn extends Ct{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new S,this.url=e.url}findController(e){return ie.prototype.findController.call(this,e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(e){let r={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON(e);return r}};a(Wn,"HttpApi");var Ut=Wn;import Wc from"@browsery/type-is";import{omitUndefined as Yc}from"@jsopen/objects";import{asMutable as Gc}from"ts-gems";import{isAny as Qc,vg as Xc}from"valgen";var Me=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=Gc(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof _?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Gn=class Gn extends w{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Yc({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t){let r;return this.type?r=this.type.generateCodec(e,t):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(n=>Wc.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||Qc,this.isArray?Xc.isArray(r):r}};a(Gn,"HttpMediaTypeClass");var Yn=Gn;Me.prototype=Yn.prototype;import{omitUndefined as Zc}from"@jsopen/objects";function $t(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($t,"parseRegExp");var Qn=class Qn extends Me{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?$t(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return Zc({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Qn,"HttpMultipartField");var Xr=Qn;import{omitUndefined as el}from"@jsopen/objects";var Hc=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Xn=class Xn{constructor(e,t){if(this.start=0,this.end=0,e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=Hc.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(Xn,"HttpStatusRange");var pr=Xn;var Zn=class Zn extends Me{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new pr(r.start,r.end):new pr(r)),this.partial=t.partial}findParameter(e,t){e=e.toLowerCase();for(let r of this.parameters)if((!t||t===r.location)&&(r.name instanceof RegExp&&r.name.test(e)||r.name===e))return r}toJSON(e){let t=this.statusCode.map(i=>i.toJSON()),r=el({...super.toJSON(e),statusCode:t.length===1&&typeof t[0]=="number"?t[0]:t,partial:this.partial});if(this.parameters.length){r.parameters=[];for(let i of this.parameters)r.parameters.push(i.toJSON(e))}return r}};a(Zn,"HttpOperationResponse");var Zr=Zn;import{omitUndefined as il}from"@jsopen/objects";import{asMutable as ol}from"ts-gems";import{omitUndefined as tl}from"@jsopen/objects";import{asMutable as rl}from"ts-gems";var ze=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=rl(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),es=class es extends w{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return tl({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(es,"ValueClass");var Hn=es;ze.prototype=Hn.prototype;var cr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');ze.call(this,o,e);let t=ol(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?$t(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser},"HttpParameter"),rs=class rs extends ze{toJSON(e){return il({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(rs,"HttpParameterClass");var ts=rs;cr.prototype=ts.prototype;import{omitUndefined as nl}from"@jsopen/objects";var is=class is extends w{constructor(e){super(e),this.content=[]}toJSON(e){return nl({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(t=>t.toJSON(e)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};a(is,"HttpRequestBody");var Hr=is;var os=class os{static async createApi(e,t){let r=new Ut(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 p=await this._createController(e,t,s.metadata,s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(p.name,p))})}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 p=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!sl(r)&&(r=t instanceof ie?r(t.instance):r()),r=await se(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(oe,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(oe,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 ie(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 p=0;for(let c of r.parameters)await e.enterAsync(`[${p++}]`,async()=>{let f={...c};await e.enterAsync(".type",async()=>{f.type=await M.resolveDataType(e,s,c.type)});let O=new cr(s,f);s.parameters.push(O)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let f=new R(s,{name:p,method:"GET"});await this._initHttpOperation(e,f,c),s.operations.set(p,f)})}),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 R.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 p={...s};await e.enterAsync(".type",async()=>{p.type=await M.resolveDataType(e,t,s.type)});let c=new cr(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new Zr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new Hr(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Me.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 Xr(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 p=new cr(t,s);t.parameters.push(p)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,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 Me(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(os,"HttpApiFactory");var Bt=os;import{omitUndefined as pl}from"@jsopen/objects";import{md5 as cl}from"super-fast-md5";var ns=class ns extends Ct{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new S,this.platform=e.platform}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(ns,"RpcApi");var qt=ns;var xa,ss=class ss extends w{constructor(){super(null),this[xa]=new WeakMap,this.id="",this.info={},this.references=new S,this.types=new re,this.node[k]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof _?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[Oe].get(t)}findDocument(e){if(this.id===e)return this;for(let t of this.references.values()){if(t.id===e)return t;let r=t.findDocument(e);if(r)return r}}get httpApi(){if(!(this.api&&this.api instanceof Ut))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof qt))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(e){let t=pl({spec:m.SpecVersion,id:this.id,url:this.url,info:v(this.info,!0)});if(this.references.size){let r=0,i={};for(let[n,s]of this.references.entries())s[Pe]||(i[n]={id:s.id,url:s.url,info:v(s.info,!0)},r++);r&&(t.references=i)}if(this.types.size){t.types={};for(let r of this.types.values())r.inScope(e==null?void 0:e.scope)&&(t.types[r.name]=r.toJSON(e))}return this.api&&(t.api=this.api.toJSON(e)),t}invalidate(){let e=this.export({});delete e.id,this.id=cl(JSON.stringify(e)),this[Oe]=new WeakMap}_findDataType(e,t,r){let i=this.types.get(e);if(i&&i.inScope(t))return i;if(!this.references.size)return;if(typeof e=="string"){let s=ks.exec(e);if(s){let p=s[1];if(p){let c=this.references.get(p);return c?(r=r||new WeakMap,r.set(this,!0),r.set(c,!0),c._findDataType(s[2],t,r)):void 0}e=s[2]}}r=r||new WeakMap,r.set(this,!0);let n=Array.from(this.references.keys()).reverse();for(let s of n){let p=this.references.get(s);if(i=p==null?void 0:p.types.get(e),i)return this[Oe].set(i,p!=null&&p[Pe]?"":s),i}for(let s of n){let p=this.references.get(s);if(r.set(p,!0),i=p._findDataType(e,t,r),i)return this[Oe].set(i,p!=null&&p[Pe]?"":s),i}}};a(ss,"ApiDocument");var Je=ss;xa=Oe;function ve(o,e,t){let r=Gr(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"&&hr(this,o,r)}}}[n];if(typeof o=="function"&&dr(s.prototype,o.prototype),typeof o=="function"){let c=Reflect.getOwnMetadata(h,o);if(!c)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(c.kind===m.ComplexType.Kind||c.kind===m.MappedType.Kind||c.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:o};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(h,p,s),typeof o=="function"&&Ve._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(ve,"createMappedClass");function W4(o,e,t){return ve(o,{omit:e},t)}a(W4,"OmitType");function X4(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return ve(o,{partial:t},r)}a(X4,"PartialType");function tx(o,e,t){return ve(o,{pick:e},t)}a(tx,"PickType");function nx(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return ve(o,{required:t},r)}a(nx,"RequiredType");import{isConstructor as Tl}from"@jsopen/objects";import{omitUndefined as ll}from"@jsopen/objects";import{asMutable as fl}from"ts-gems";var We=a(function(...o){var i;if(!this)return We[b].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!L.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=fl(this);r.kind=m.RpcController.Kind,r.types=r.node[k]=new re,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)},"RpcController"),ps=class ps extends w{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof We)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=ll({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[it](){return`[${ot}RpcController${nt+this.name+qe}]`}};a(ps,"RpcControllerClass");var as=ps;We.prototype=as.prototype;Object.assign(We,Lt);We[b]=Lt;import{omitUndefined as ml}from"@jsopen/objects";import{asMutable as ul}from"ts-gems";var lr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');ze.call(this,o,e);let t=ul(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?$t(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),ls=class ls extends ze{toJSON(){return ml({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(ls,"RpcHeaderClass");var cs=ls;lr.prototype=cs.prototype;import{omitUndefined as dl}from"@jsopen/objects";import{asMutable as hl}from"ts-gems";var fr=a(function(...o){if(!this){let[i,n]=o,s=[];return fr[b].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!L.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=hl(this);r.headers=[],r.types=r.node[k]=new re,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof _?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof _?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),ms=class ms extends w{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=dl({kind:m.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(ms,"RpcOperationClass");var fs=ms;fr.prototype=fs.prototype;fr[b]=ar;import{omitUndefined as yl}from"@jsopen/objects";var us=class us extends w{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.payloadType?this.payloadType=(t==null?void 0:t.payloadType)instanceof _?t.payloadType:this.owner.node.getDataType(t.payloadType):this.payloadType=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof _?t.keyType:this.owner.node.getDataType(t.keyType))}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=yl({description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}};a(us,"RpcOperationResponse");var ei=us;var ds=class ds{static async createApi(e,t){let r=new qt(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"&&!Tl(r)&&(r=r()),r=await se(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(ne,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid RpcController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(ne,n),s?p=r:(s=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with RpcController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let c=new We(t,{...s,name:i,instance:p,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,c,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let f=0;for(let O of s.headers)await e.enterAsync(`[${f++}]`,async()=>{let d={...O};await e.enterAsync(".type",async()=>{O.type&&(d.type=c.node.findDataType(O.type)),!d.type&&typeof O.type=="object"&&(d.type=await M.createDataType(e,c,O.type)),d.type||(d.type=c.node.getDataType("any"))});let z=new lr(c,d);c.headers.push(z)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[f,O]of Object.entries(s.operations))await e.enterAsync(`[${f}]`,async()=>{let d=new fr(c,{...O,name:f,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,O),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.payloadType=await M.resolveDataType(e,t,r.payloadType),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 p=new lr(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new ei(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initRpcOperationResponse(e,i,r.response),t.response=i})}static async _initRpcOperationResponse(e,t,r){t.payloadType=await M.resolveDataType(e,t,r.payloadType),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 p=new lr(t,s);t.headers.push(p)})})}};a(ds,"RpcApiFactory");var ti=ds;var El="https://oprajs.com/spec/v"+m.SpecVersion,ri=class ri{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new ri,i=t instanceof ue?t:new ue(t);try{let n=new Je;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof Ot||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length;i.error.message=`(${s}) error${s>1?"s":""} found in document schema.`,i.showErrorDetails&&(i.error.message+=i.error.details.map(p=>`
6
+ var ys=Object.defineProperty;var a=(o,e)=>ys(o,"name",{value:e,configurable:!0});var Ts=(o,e)=>{for(var t in e)ys(o,t,{get:e[t],enumerable:!0})};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 cp}from"@jsopen/objects";import{isString as lp}from"valgen";import{omitUndefined as Fa}from"@jsopen/objects";import Aa from"@browsery/i18next";import{splitString as ba,tokenize as xs}from"fast-tokenizer";var wa=/\\(.)/g,Ra=/(\\)/g;function Es(o){return o.replace(Ra,"\\\\")}a(Es,"escapeString");function _s(o){return o.replace(wa,"$1")}a(_s,"unescapeString");var Da=Object.getPrototypeOf(Aa.createInstance()).constructor,Vt=class Vt extends Da{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",(p,c)=>p.toLocaleLowerCase(c)),s.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),s.add("upperFirst",(p,c)=>p.charAt(0).toLocaleUpperCase(c)+p.substring(1)),r!=null&&r.resources)for(let p of Object.keys(r.resources)){let c=r.resources[p];for(let f of Object.keys(c))this.addResourceBundle(p,f,c[f],!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 Vt(e,t)}static createInstance(e,t){return new Vt(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of xs(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=ba(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=_s(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],f=null;for(let R of xs(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(R.startsWith("{")){f=JSON.parse(R);continue}c.push(R)}let O=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(O,p,{...r,...f}):this.t(O,{...r,...f});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,p=n.length;s<p;s++){let c=n[s];i[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Na}};a(Vt,"I18n");var zt=Vt,Na=zt.createInstance();var Sa=/(\))/g;function Nl(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?"?"+Es(i).replace(Sa,"\\$1"):"")+")"}a(Nl,"translate");var ni=zt.createInstance();ni.init().catch(()=>{});var si=class si extends Error{constructor(e,t){super("Unknown error"),this.severity="error",t=t||(e instanceof Error?e:void 0),e instanceof Error&&(t=e),t&&t instanceof Error&&(this.cause=t,t.stack&&(this.stack=t.stack)),typeof e=="string"?this.initString(e):e instanceof Error?this.initError(e):this.init(e),this.message=this.message||this.constructor.name}toString(){return ni.deep(this.message)}toJSON(){var t;let e="production";return Fa({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:e==="dev"||e==="development"||e==="test"?(t=this.stack)==null?void 0:t.split(`
7
+ `):void 0},!0)}init(e){this.message=(e==null?void 0:e.message)||this.constructor.name,this.severity=(e==null?void 0:e.severity)||"error",e&&(this.system=e.system,this.code=e.code,this.details=e.details)}initString(e){this.init({message:String(e||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(e){this.init({message:e.message,severity:e.severity||"error",code:e.code||e.constructor.name})}};a(si,"OpraException");var Te=si;var ai=class ai extends Te{constructor(e,t,r){super(e,t instanceof Error?t:void 0),this.status=(typeof t=="number"?t:Number(r))||500}setStatus(e){return this.status=e,this}initError(e){typeof e.status=="number"?this.status=e.status:typeof e.getStatus=="function"&&(this.status=e.getStatus()),super.initError(e)}};a(ai,"OpraHttpError");var N=ai;var pi=class pi extends N{constructor(){super(...arguments),this.status=400}init(e){super.init({message:"Bad request",code:"BAD_REQUEST",...e})}};a(pi,"BadRequestError");var Os=pi;var ci=class ci extends N{constructor(){super(...arguments),this.status=409}init(e){super.init({message:"Conflict",code:"CONFLICT",...e})}};a(ci,"ConflictError");var gs=ci;var li=class li extends N{constructor(){super(...arguments),this.status=424}init(e){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...e})}};a(li,"FailedDependencyError");var ws=li;var Rs;(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"})(Rs||(Rs={}));var g;(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"})(g||(g={}));var Hl={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var b;(function(o){o.json="application/json",o.opra_response_json="application/opra.response+json",o.xml="application/XML",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream"})(b||(b={}));var fi=class fi extends N{constructor(){super(...arguments),this.status=g.FORBIDDEN}init(e){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...e})}};a(fi,"ForbiddenError");var dr=fi;var mi=class mi extends N{constructor(){super(...arguments),this.status=500}init(e){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(mi,"InternalServerError");var As=mi;var ui=class ui extends N{constructor(){super(...arguments),this.status=405}init(e){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...e})}};a(ui,"MethodNotAllowedError");var bs=ui;var di=class di extends N{constructor(){super(...arguments),this.status=406}init(e){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...e})}};a(di,"NotAcceptableError");var Ds=di;var hi=class hi extends N{constructor(){super(...arguments),this.status=404}init(e){super.init({message:"Not found",code:"NOT_FOUND",...e})}};a(hi,"NotFoundError");var Ns=hi;var yi=class yi extends dr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(yi,"PermissionError");var Ss=yi;var Ti=class Ti extends N{constructor(e,t,r){super({message:`There is already an other "${e}" resource with same values for field(s) [${t}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(Ti,"ResourceConflictError");var Fs=Ti;var Ei=class Ei extends N{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,g.UNPROCESSABLE_ENTITY)}};a(Ei,"ResourceNotAvailableError");var Ms=Ei;var _i=class _i extends N{constructor(){super(...arguments),this.status=401}init(e){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...e})}};a(_i,"UnauthorizedError");var vs=_i;var xi=class xi extends N{constructor(){super(...arguments),this.status=422}init(e){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(xi,"UnprocessableEntityError");var Is=xi;var Ps;(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"}})(Ps||(Ps={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Ma}from"@jsopen/objects";import va from"putil-promisify";async function se(o){return o=va.isPromise(o)?await o:o,typeof o=="function"?Ma(o)?o:await o():o}a(se,"resolveThunk");var Ls=/^(?:file:\/\/)?(.+)$/;function cm(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?Ls.exec(r):void 0;return i?i[1]:""}return""}a(cm,"getStackFileName");function lm(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?Ls.exec(r):void 0;return i?i[1]:""}return""}a(lm,"getErrorStack");function hr(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(hr,"mergePrototype");function yr(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(yr,"inheritPropertyInitializers");import{isPlainObject as js,merge as Ia}from"@jsopen/objects";var d=Symbol.for("opra.type.metadata"),ie=Symbol("opra.http-controller.metadata"),oe=Symbol("opra.rpc-controller.metadata"),y=Symbol.for("opra.type.decoder"),x=Symbol("opra.type.encoder"),D=Symbol.for("DECORATOR"),Le=Symbol.for("BUILTIN"),ks=/([a-z$_]\w+):(.+)/i,k=/^[a-z][\w_]*$/i,j=Symbol.for("kDataTypeMap"),Tr=Symbol.for("kCtorMap"),ge=Symbol.for("kTypeNSMap");function I(o,e){return Ia({},o,{deep:a(t=>js(t)&&!t[d],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||js(i)||Array.isArray(i))}})}a(I,"cloneObject");import{splitString as Cs}from"fast-tokenizer";var Pa=/^([+-])?([a-z_$]\w*)$/i,La=/[^.]\(/g,Oi=class Oi{};a(Oi,"FieldsProjection");var ke=Oi;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(ke||(ke={}));function Us(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new ke;for(let i of t)e||(i=i.toLowerCase()),$s(i,r);return r}a(Us,"parseFieldsProjection");function $s(o,e){o=o.replace(La,r=>r.charAt(0)+"."+r.substring(1));let t=Cs(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=Cs(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let f of c)$s(f,e);continue}let n=Pa.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new ke.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new ke}}a($s,"parse");function ka(o){return o&&typeof o.forEach=="function"}a(ka,"isMap");var V=Symbol.for("kEntries"),ae=Symbol.for("kKeyMap"),Er=Symbol.for("kWellKnownKeys"),gi=Symbol.for("kOptions"),Ge=Symbol.for("kSize"),wi=class wi{constructor(e,t){Object.defineProperty(this,Ge,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,V,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ae,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Er,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,gi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Er][i]=i:this[Er][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[Ge]}clear(){Object.keys(this[V]).forEach(e=>delete this[V][e]),Object.keys(this[ae]).forEach(e=>delete this[ae][e]),this[Ge]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[V][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[V],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[V],r);return this[V][r]=t,i||this[Ge]++,this[ae][r]=e,this}setAll(e){return ka(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ae])[Symbol.iterator]()}values(){return Object.values(this[V])[Symbol.iterator]()}entries(){return Object.entries(this[V])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[V],t);return delete this[V][t],delete this[ae][t],r||this[Ge]--,r}sort(e){let t={...this[V]},r={...this[ae]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[V][n]=t[n],this[ae][n]=r[n];return this[Ge]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ae]))e[r]=this[V][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[gi].caseSensitive)return e;let t=this._getStoringKey(e);return this[ae][t]??this[Er][t]??e}_getStoringKey(e){return this[gi].caseSensitive?e:e.toLowerCase()}};a(wi,"ResponsiveMap");var F=wi;function Am(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(Am,"safeJsonStringify");function Ri(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Ri,"isStream");function Nm(o){return Ri(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(Nm,"isReadable");function Sm(o){return Ri(o)&&typeof o._write=="function"}a(Sm,"isWritable");function Fm(o){return Ri(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Fm,"isReadableStream");function Mm(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Mm,"isBlob");function vm(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(vm,"isFormData");function Im(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Im,"isURL");var Ai=class Ai{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Ai,"Ast");var Jt=Ai;var bi=class bi extends Jt{};a(bi,"Expression");var C=bi;var Di=class Di extends C{};a(Di,"Term");var je=Di;var Ni=class Ni extends je{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Ni,"Literal");var M=Ni;var Si=class Si extends C{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new _r({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(Si,"ArithmeticExpression");var Ce=Si,Fi=class Fi{constructor(e){Object.assign(this,e)}};a(Fi,"ArithmeticExpressionItem");var _r=Fi;var Mi=class Mi extends je{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(Mi,"ArrayExpression");var Ee=Mi;var ja=/\w/,vi=class vi extends C{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${ja.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(vi,"ComparisonExpression");var pe=vi;var Ii=class Ii extends C{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};a(Ii,"LogicalExpression");var ce=Ii;var Pi=class Pi extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Pi,"NegativeExpression");var Wt=Pi;var Li=class Li extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Li,"ParenthesizedExpression");var _e=Li;var ki=class ki extends M{constructor(e){super(e)}};a(ki,"BooleanLiteral");var Ue=ki;import{toDateDef as Ka}from"putil-varhelpers";var ji=class ji extends TypeError{};a(ji,"SyntaxError");var xr=ji,Ci=class Ci extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(Ci,"FilterValidationError");var le=Ci,Ui=class Ui extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(Ui,"FilterParseError");var Or=Ui;var Ca=/'/g,Ua=/(\\)/g,$a=/\\(.)/g;function Ba(o){return o.replace(Ua,"\\\\")}a(Ba,"escapeString");function qa(o){return o.replace($a,"$1")}a(qa,"unescapeString");function we(o){return"'"+Ba(o).replace(Ca,"\\'")+"'"}a(we,"quoteFilterString");function Yt(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?qa(o.substring(1,o.length-1)):o}a(Yt,"unquoteFilterString");var Bs=new Date(0),$i=class $i extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Ka(e,Bs)!==Bs){this.value=e;return}throw new le(`Invalid date value "${e}"`)}toString(){return we(this.value)}};a($i,"DateLiteral");var Re=$i;import{toDateDef as Va}from"putil-varhelpers";var qs=new Date(0),Bi=class Bi extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Va(e,qs)!==qs){this.value=e;return}throw new le(`Invalid date-time value "${e}"`)}toString(){return we(this.value)}};a(Bi,"DateTimeLiteral");var Gt=Bi;var qi=class qi extends M{constructor(){super(null),this.value=null}};a(qi,"NullLiteral");var $e=qi;var Ki=class Ki extends M{constructor(e){if(super(0),typeof e=="number"||typeof e=="bigint"){this.value=e;return}try{if(typeof e=="string"){if(e.includes(".")){this.value=parseFloat(e);return}let t=Number(e);""+t===e?this.value=t:this.value=BigInt(e);return}}catch{}throw new le(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(Ki,"NumberLiteral");var xe=Ki;var Vi=class Vi extends M{constructor(e){super(""+e)}};a(Vi,"QualifiedIdentifier");var Q=Vi;var zi=class zi extends M{constructor(e){super(""+e)}toString(){return we(this.value)}};a(zi,"StringLiteral");var Be=zi;var za=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Ji=class Ji extends M{constructor(e){if(super(""),e instanceof Date){this.value=gr(e.getHours())+":"+gr(e.getMinutes())+(e.getSeconds()?":"+gr(e.getSeconds()):"")+(e.getMilliseconds()?"."+gr(e.getMilliseconds()):"");return}if(typeof e=="string"&&za.test(e)){this.value=e;return}throw new le(`Invalid time value "${e}"`)}toString(){return we(this.value)}};a(Ji,"TimeLiteral");var qe=Ji;function gr(o){return o<=9?"0"+o:""+o}a(gr,"pad");import{CharStream as ap,CommonTokenStream as pp}from"@browsery/antlr4";import{ATNDeserializer as Ja,DFA as Wa,Lexer as Ya,LexerATNSimulator as Ga,PredictionContextCache as Qa,Token as Xa}from"@browsery/antlr4";var K=class K extends Ya{constructor(e){super(e),this._interp=new Ga(this,K._ATN,K.DecisionsToDFA,new Qa)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return K.literalNames}get symbolicNames(){return K.symbolicNames}get ruleNames(){return K.ruleNames}get serializedATN(){return K._serializedATN}get channelNames(){return K.channelNames}get modeNames(){return K.modeNames}static get _ATN(){return K.__ATN||(K.__ATN=new Ja().deserialize(K._serializedATN)),K.__ATN}};a(K,"OpraFilterLexer");var h=K;h.T__0=1;h.T__1=2;h.T__2=3;h.T__3=4;h.T__4=5;h.T__5=6;h.T__6=7;h.T__7=8;h.T__8=9;h.T__9=10;h.T__10=11;h.T__11=12;h.T__12=13;h.T__13=14;h.T__14=15;h.T__15=16;h.T__16=17;h.T__17=18;h.T__18=19;h.T__19=20;h.T__20=21;h.T__21=22;h.T__22=23;h.T__23=24;h.T__24=25;h.T__25=26;h.T__26=27;h.T__27=28;h.T__28=29;h.T__29=30;h.T__30=31;h.T__31=32;h.T__32=33;h.T__33=34;h.IDENTIFIER=35;h.POLAR_OP=36;h.DATE=37;h.DATETIME=38;h.TIME=39;h.NUMBER=40;h.INTEGER=41;h.STRING=42;h.WHITESPACE=43;h.EOF=Xa.EOF;h.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];h.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];h.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];h.modeNames=["DEFAULT_MODE"];h.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];h._serializedATN=[4,0,43,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];h.DecisionsToDFA=h._ATN.decisionToState.map((o,e)=>new Wa(o,e));var Ks=h;import{ATN as Vs,ATNDeserializer as Za,DFA as Ha,FailedPredicateException as ep,NoViableAltException as Wi,Parser as tp,ParserATNSimulator as rp,ParserRuleContext as $,PredictionContextCache as ip,RecognitionException as U,Token as op}from"@browsery/antlr4";var T=class T extends tp{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return T.literalNames}get symbolicNames(){return T.symbolicNames}get ruleNames(){return T.ruleNames}get serializedATN(){return T._serializedATN}createFailedPredicateException(e,t){return new ep(this,e,t)}constructor(e){super(e),this._interp=new rp(this,T._ATN,T.DecisionsToDFA,new ip)}root(){let e=new Yi(this,this._ctx,this.state);this.enterRule(e,0,T.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(T.EOF)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new W(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,T.RULE_expression,e);let p;try{let c;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new Xi(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 Gi(this,i),this._ctx=i,n=i,this.state=42,this.match(T.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(T.T__1);break;case 3:case 4:i=new Qi(this,i),this._ctx=i,n=i,this.state=46,p=this._input.LA(1),p===3||p===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new Wi(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==Vs.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Qt(this,new W(this,t,r)),this.pushNewRecursionContext(i,s,T.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),c=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(c){if(c instanceof U)i.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new wr(this,this._ctx,this.state);this.enterRule(e,4,T.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new Rr(this,this._ctx,this.state);this.enterRule(e,6,T.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 Wi(this)}}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new Ar(this,this._ctx,this.state);this.enterRule(e,8,T.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new z(this,this._ctx,this.state);this.enterRule(e,10,T.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new no(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(T.NUMBER);break;case 13:case 14:e=new io(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new oo(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Hi(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new eo(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(T.DATETIME);break;case 37:e=new ro(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(T.DATE);break;case 39:e=new Zi(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(T.TIME);break;case 42:e=new to(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(T.STRING);break;default:throw new Wi(this)}}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new Xt(this,this._ctx,this.state);this.enterRule(e,12,T.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!==Vs.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(T.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new br(this,this._ctx,this.state);this.enterRule(e,14,T.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(T.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new Qe(this,this._ctx,this.state);this.enterRule(e,16,T.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(T.IDENTIFIER)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new Dr(this,this._ctx,this.state);this.enterRule(e,18,T.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(T.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(T.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(T.T__8)}}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new Nr(this,this._ctx,this.state);this.enterRule(e,20,T.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new Sr(this,this._ctx,this.state);this.enterRule(e,22,T.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(T.T__11)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new Fr(this,this._ctx,this.state);this.enterRule(e,24,T.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new so(this,this._ctx,this.state);this.enterRule(e,26,T.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 U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new Mr(this,this._ctx,this.state);this.enterRule(e,28,T.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 U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new vr(this,this._ctx,this.state);this.enterRule(e,30,T.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 U)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new ao(this,this._ctx,this.state);this.enterRule(e,32,T.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(T.POLAR_OP)}catch(t){if(t instanceof U)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return T.__ATN||(T.__ATN=new Za().deserialize(T._serializedATN)),T.__ATN}};a(T,"OpraFilterParser");var l=T;l.T__0=1;l.T__1=2;l.T__2=3;l.T__3=4;l.T__4=5;l.T__5=6;l.T__6=7;l.T__7=8;l.T__8=9;l.T__9=10;l.T__10=11;l.T__11=12;l.T__12=13;l.T__13=14;l.T__14=15;l.T__15=16;l.T__16=17;l.T__17=18;l.T__18=19;l.T__19=20;l.T__20=21;l.T__21=22;l.T__22=23;l.T__23=24;l.T__24=25;l.T__25=26;l.T__26=27;l.T__27=28;l.T__28=29;l.T__29=30;l.T__30=31;l.T__31=32;l.T__32=33;l.T__33=34;l.IDENTIFIER=35;l.POLAR_OP=36;l.DATE=37;l.DATETIME=38;l.TIME=39;l.NUMBER=40;l.INTEGER=41;l.STRING=42;l.WHITESPACE=43;l.EOF=op.EOF;l.RULE_root=0;l.RULE_expression=1;l.RULE_comparisonLeft=2;l.RULE_comparisonRight=3;l.RULE_parenthesizedItem=4;l.RULE_value=5;l.RULE_qualifiedIdentifier=6;l.RULE_externalConstant=7;l.RULE_identifier=8;l.RULE_arrayValue=9;l.RULE_boolean=10;l.RULE_null=11;l.RULE_infinity=12;l.RULE_arithmeticOperator=13;l.RULE_comparisonOperator=14;l.RULE_logicalOperator=15;l.RULE_polarityOperator=16;l.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];l.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"];l.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];l._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];l.DecisionsToDFA=l._ATN.decisionToState.map((o,e)=>new Ha(o,e));var zs=l,po=class po extends ${constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(W,0)}EOF(){return this.getToken(l.EOF,0)}get ruleIndex(){return l.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(po,"RootContext");var Yi=po,co=class co extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(co,"ExpressionContext");var W=co,lo=class lo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Ar,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(lo,"ParenthesizedExpressionContext");var Gi=lo,fo=class fo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(W,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(fo,"NegativeExpressionContext");var Qi=fo,mo=class mo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(wr,0)}comparisonOperator(){return this.getTypedRuleContext(Mr,0)}comparisonRight(){return this.getTypedRuleContext(Rr,0)}enterRule(e){e.enterComparisonExpression&&e.enterComparisonExpression(this)}exitRule(e){e.exitComparisonExpression&&e.exitComparisonExpression(this)}accept(e){return e.visitComparisonExpression?e.visitComparisonExpression(this):e.visitChildren(this)}};a(mo,"ComparisonExpressionContext");var Xi=mo,uo=class uo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(W)}expression(e){return this.getTypedRuleContext(W,e)}logicalOperator(){return this.getTypedRuleContext(vr,0)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}};a(uo,"LogicalExpressionContext");var Qt=uo,ho=class ho extends ${constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}get ruleIndex(){return l.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(ho,"ComparisonLeftContext");var wr=ho,yo=class yo extends ${constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(z,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}externalConstant(){return this.getTypedRuleContext(br,0)}arrayValue(){return this.getTypedRuleContext(Dr,0)}get ruleIndex(){return l.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(yo,"ComparisonRightContext");var Rr=yo,To=class To extends ${constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(W,0)}get ruleIndex(){return l.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(To,"ParenthesizedItemContext");var Ar=To,Eo=class Eo extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_value}copyFrom(e){super.copyFrom(e)}};a(Eo,"ValueContext");var z=Eo,_o=class _o extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(l.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(_o,"TimeLiteralContext");var Zi=_o,xo=class xo extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Sr,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(xo,"NullLiteralContext");var Hi=xo,Oo=class Oo extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(l.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(Oo,"DateTimeLiteralContext");var eo=Oo,go=class go extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(l.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(go,"StringLiteralContext");var to=go,wo=class wo extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(l.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(wo,"DateLiteralContext");var ro=wo,Ro=class Ro extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Fr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(Ro,"InfinityLiteralContext");var io=Ro,Ao=class Ao extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Nr,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(Ao,"BooleanLiteralContext");var oo=Ao,bo=class bo extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(l.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(bo,"NumberLiteralContext");var no=bo,Do=class Do extends ${constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Qe)}identifier(e){return this.getTypedRuleContext(Qe,e)}get ruleIndex(){return l.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(Do,"QualifiedIdentifierContext");var Xt=Do,No=class No extends ${constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Qe,0)}get ruleIndex(){return l.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(No,"ExternalConstantContext");var br=No,So=class So extends ${constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(l.IDENTIFIER,0)}get ruleIndex(){return l.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(So,"IdentifierContext");var Qe=So,Fo=class Fo extends ${constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(z)}value(e){return this.getTypedRuleContext(z,e)}get ruleIndex(){return l.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(Fo,"ArrayValueContext");var Dr=Fo,Mo=class Mo extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Mo,"BooleanContext");var Nr=Mo,vo=class vo extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(vo,"NullContext");var Sr=vo,Io=class Io extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Io,"InfinityContext");var Fr=Io,Po=class Po extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Po,"ArithmeticOperatorContext");var so=Po,Lo=class Lo extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(Lo,"ComparisonOperatorContext");var Mr=Lo,ko=class ko extends ${constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.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(ko,"LogicalOperatorContext");var vr=ko,jo=class jo extends ${constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(l.POLAR_OP,0)}get ruleIndex(){return l.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(jo,"PolarityOperatorContext");var ao=jo;import{ParseTreeVisitor as np}from"@browsery/antlr4";var Co=class Co extends M{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(Co,"ExternalConstant");var Ir=Co;var Uo=class Uo extends np{constructor(e){super(),this._timeZone=e==null?void 0:e.timeZone}visitChildren(e){let t=super.visitChildren(e);return Array.isArray(t)&&t.length<2?t[0]:t??e.getText()}defaultResult(){}visitRoot(e){return this.visit(e.expression())}visitParenthesizedExpression(e){let t=this.visit(e.parenthesizedItem());return new _e(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Wt(t)}visitComparisonExpression(e){return new pe({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=a((i,n)=>{for(let s of i){if(s instanceof Qt&&s.logicalOperator().getText()===n){r(s.expression_list(),s.logicalOperator().getText());continue}let p=this.visit(s);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new ce({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new Q(e.getText())}visitExternalConstant(e){return new Ir(e.identifier().getText())}visitNullLiteral(){return new $e}visitBooleanLiteral(e){return new Ue(e.getText()==="true")}visitNumberLiteral(e){return new xe(e.getText())}visitStringLiteral(e){return new Be(Yt(e.getText()))}visitInfinityLiteral(){return new xe(1/0)}visitDateLiteral(e){return new Re(Yt(e.getText()))}visitDateTimeLiteral(e){return new Gt(Yt(e.getText()))}visitTimeLiteral(e){return new qe(Yt(e.getText()))}visitArrayValue(e){return new Ee(e.value_list().map(t=>this.visit(t)))}};a(Uo,"FilterTreeVisitor");var Zt=Uo;import{ErrorListener as sp}from"@browsery/antlr4";var $o=class $o extends sp{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new Or(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a($o,"OpraErrorListener");var Ht=$o;function Bo(o,e){let t=new ap(o),r=new Ks(t),i=new pp(r),n=new zs(i);n.buildParseTrees=!0;let s=[],p=new Ht(s);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(s.length){let f=[];for(let R of s)f.push(R.message+(o.includes(`
8
+ `)?" at line: "+R.line+" column: "+R.column:" at column: "+R.column));let O=new xr(f.join(`
9
+ `));throw O.errors=s,O}return e=e||new Zt,e.visit(c)}a(Bo,"parse");var qo=class qo{constructor(e,t){if(this._rules=new F,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new F(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,cp({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?Bo(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof pe){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof Q&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Te({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Te({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof ce)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Ce)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Ee)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof _e)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof Q&&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 M){let n=t.findLastIndex(s=>s instanceof pe);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof Q&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let p;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?p=lp:p=this._decoderCache.get(s.left.field),p||(p=s.left.field.type.generateCodec("decode",{scope:i,projection:"*",ignoreWriteonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,p)),e.value=p(e.value)}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(qo,"FilterRules");var Xe=qo;import{asMutable as Rp}from"ts-gems";import{validator as Ap,vg as ne}from"valgen";import{omitUndefined as gp}from"@jsopen/objects";import{asMutable as wp}from"ts-gems";import{asMutable as xp}from"ts-gems";import{uid as Op}from"uid";var m={};Ts(m,{ComplexType:()=>Ze,EnumType:()=>He,HttpController:()=>er,HttpOperation:()=>Ko,MappedType:()=>et,MixinType:()=>tt,RpcController:()=>Vo,RpcOperation:()=>zo,SimpleType:()=>rt,SpecVersion:()=>fp,UnionType:()=>it,isComplexType:()=>up,isDataType:()=>mp,isEnumType:()=>Tp,isHttpController:()=>_p,isMappedType:()=>yp,isMixinType:()=>hp,isSimpleType:()=>dp,isUnionType:()=>Ep});var fp="1.0";var Ze;(function(o){o.Kind="ComplexType"})(Ze||(Ze={}));var He;(function(o){o.Kind="EnumType"})(He||(He={}));var et;(function(o){o.Kind="MappedType"})(et||(et={}));var tt;(function(o){o.Kind="MixinType"})(tt||(tt={}));var rt;(function(o){o.Kind="SimpleType"})(rt||(rt={}));var it;(function(o){o.Kind="UnionType"})(it||(it={}));var er;(function(o){o.Kind="HttpController"})(er||(er={}));var Ko;(function(o){o.Kind="HttpOperation"})(Ko||(Ko={}));var Vo;(function(o){o.Kind="RpcController"})(Vo||(Vo={}));var zo;(function(o){o.Kind="RpcOperation"})(zo||(zo={}));function mp(o){return o&&typeof o=="object"&&(o.kind===Ze.Kind||o.kind===He.Kind||o.kind===et.Kind||o.kind===rt.Kind||o.kind===tt.Kind||o.kind===it.Kind)}a(mp,"isDataType");function up(o){return o&&typeof o=="object"&&o.kind===Ze.Kind}a(up,"isComplexType");function dp(o){return o&&typeof o=="object"&&o.kind===rt.Kind}a(dp,"isSimpleType");function hp(o){return o&&typeof o=="object"&&o.kind===tt.Kind}a(hp,"isMixinType");function yp(o){return o&&typeof o=="object"&&o.kind===et.Kind}a(yp,"isMappedType");function Tp(o){return o&&typeof o=="object"&&o.kind===He.Kind}a(Tp,"isEnumType");function Ep(o){return o&&typeof o=="object"&&o.kind===it.Kind}a(Ep,"isUnionType");function _p(o){return o&&typeof o=="object"&&o.kind===er.Kind}a(_p,"isHttpController");var Jo=class Jo{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[ge])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[j])==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(d,e).name;else if(typeof e=="object"){let n=e[d];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}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(Jo,"DocumentNode");var Pr=Jo;var w=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=xp(this);e.id=Op(16),Object.defineProperty(e,"node",{value:new Pr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Yo=class Yo{};a(Yo,"DocumentElementClass");var Wo=Yo;w.prototype=Wo.prototype;var ot=Symbol.for("nodejs.util.inspect.custom"),Ke="\x1B[0m",nt="\x1B[33m",st="\x1B[35m";function tr(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(tr,"testScopeMatch");var E=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!k.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);w.call(this,o);let r=wp(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"),Qo=class Qo extends w{get embedded(){return!this.name}inScope(e){return tr(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 gp({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[ot](){return`[${nt+Object.getPrototypeOf(this).constructor.name+Ke} ${st+this.name+Ke}]`}};a(Qo,"DataTypeClass");var Go=Qo;E.prototype=Go.prototype;var at=/^([+-])?([a-z$_][\w.]*)$/i,P=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;E.call(this,e,t,r);let i=Rp(this);i._fields=new F},"ComplexTypeBase"),Zo=class Zo extends E{fieldCount(e){if(e==="*")return this._fields.size;let t=0;for(let r of this.fields(e))t++;return t}fieldEntries(e){let t=this._fields.entries();if(e==="*")return t;let r;return{next(){for(;t&&(r=t.next(),!(r.done||r.value&&r.value[1].inScope(e))););return r.done?{done:r.done,value:void 0}:{done:r.done,value:[r.value[0],r.value[1].forScope(e)]}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fields(e){let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[1]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fieldNames(e){if(e==="*")return this._fields.keys();let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[0]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}findField(e,t){if(e.includes(".")){let i=this.parseFieldPath(e,{scope:t});if(i.length===0)throw new Error(`Field "${e}" does not exist in scope "${t}"`);let n=i.pop();return n==null?void 0:n.field}let r=this._fields.get(e);if(r&&r.inScope(t))return r.forScope(t)}getField(e,t){let r=this.findField(e,"*");if(r&&!r.inScope(t))throw new Error(`Field "${e}" does not exist in scope "${t||"null"}"`);if(!r)throw new Error(`Field (${e}) does not exist`);return r.forScope(t)}parseFieldPath(e,t){var R,_,Oe;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),f=t==null?void 0:t.allowSigns,O=a(()=>p.map(Pe=>Pe.fieldName).join("."),"getStrPath");for(let Pe=0;Pe<s;Pe++){let J={fieldName:n[Pe],dataType:c};p.push(J);let ur=at.exec(n[Pe]);if(!ur)throw new TypeError(`Invalid field name (${O()})`);if(ur[1]&&((Pe===0&&f==="first"||f==="each")&&(J.sign=ur[1]),J.fieldName=ur[2]),r){if(r instanceof P){if(i=r.findField(J.fieldName,t==null?void 0:t.scope),i){J.fieldName=i.name,J.field=i,J.dataType=i.type,r=i.type;continue}if(((R=r.additionalFields)==null?void 0:R[0])===!0){J.additionalField=!0,J.dataType=c,r=void 0;continue}if(((_=r.additionalFields)==null?void 0:_[0])==="type"&&((Oe=r.additionalFields)==null?void 0:Oe[1])instanceof E){J.additionalField=!0,J.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(oi=>oi.fieldName).join(".")})`)}throw new TypeError(`"${p.map(oi=>oi.fieldName).join(".")}" field is not a complex type and has no child fields`)}J.additionalField=!0,J.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){let r=Array.isArray(t==null?void 0:t.projection)?Us(t.projection):t==null?void 0:t.projection,i=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof E)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let s=n[1];n=Ap((p,c,f)=>c.fail(f,s,p))}return ne.isObject(i,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail})}_generateSchema(e,t){var c;let r={},{currentPath:i,projection:n}=t,s=!!(n&&Object.values(n).find(f=>!f.sign)),p;for(let f of this.fields("*")){if(!f.inScope(t.scope)||!(t.keepKeyFields&&this.keyField)&&(t.ignoreReadonlyFields&&f.readonly||t.ignoreWriteonlyFields&&f.writeonly)){r[f.name]=ne.isUndefined({coerce:!0});continue}p=f.name;let O;if(n!=="*"&&(O=n==null?void 0:n[p.toLowerCase()],(O==null?void 0:O.sign)==="-"||s&&!O||!s&&f.exclusive&&!O)){r[f.name]=ne.isUndefined({coerce:!0});continue}let R=this._generateFieldCodec(e,f,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,currentPath:i+(i?".":"")+p});r[p]=t.partial||!f.required?ne.optional(R):ne.required(R)}return t.allowPatchOperators&&(r._$pull=ne.optional(ne.isAny()),r._$push=ne.optional(ne.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,r);return t.fixed&&(i=ne.isEqual(t.fixed)),t.isArray&&(i=ne.isArray(i)),i}};a(Zo,"ComplexTypeBaseClass");var Xo=Zo;P.prototype=Xo.prototype;import"reflect-metadata";import{omitUndefined as Ho}from"@jsopen/objects";import{asMutable as bp}from"ts-gems";import{vg as Dp}from"valgen";var X=a(function(...o){if(!this)return X[D].apply(void 0,o);let[e,t,r]=o;E.call(this,e,t,r);let i=bp(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof X))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=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),en=class en extends E{extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof X?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Dp.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Ho({...t,kind:this.kind,base:r,attributes:I(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(en,"EnumTypeClass");var rr=en;X.prototype=rr.prototype;Object.assign(X,rr);function Np(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(p=>{var f;let c=(f=r==null?void 0:r.meanings)==null?void 0:f[p];i[p]=Ho({description:c})})}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(p=>{var f;let c=(f=r==null?void 0:r.meanings)==null?void 0:f[p];i[o[p]]=Ho({alias:p,description:c})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,d,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Np,"EnumTypeFactory");X.prototype=rr.prototype;X[D]=Np;import{__decorate as Fp,__metadata as Mp}from"tslib";import{vg as Gs}from"valgen";import"reflect-metadata";import{omitUndefined as Ws}from"@jsopen/objects";import{asMutable as Sp}from"ts-gems";import{isAny as Ys}from"valgen";function tn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!k.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(d,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(d,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(tn,"SimpleTypeDecoratorFactory");function Js(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(d,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(d,r,e.constructor)}}a(Js,"AttributeDecoratorFactory");var u=a(function(...o){var n,s;if(!this)return u[D](...o);let[e,t,r]=o;E.call(this,e,t,r);let i=Sp(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);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=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{},i.ownAttributes)for(let[p,c]of Object.entries(i.ownAttributes)){if((s=i.attributes[p])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);i.attributes[p]=c}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),on=class on extends E{extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let i={...this.properties,...r};if(e==="decode"){let s=this;for(;s;){if(s._generateDecoder)return s._generateDecoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);s=this.base}return Ys}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);n=this.base}return Ys}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i=Ws(this.ownAttributes),n;this.properties&&typeof this.properties.toJSON=="function"?n=this.properties.toJSON(this.properties,this.owner,e):n=this.properties?I(this.properties):{};let s={...t,kind:this.kind,base:r,attributes:i&&Object.keys(i).length?i:void 0,properties:Object.keys(n).length?n:void 0};return Object.keys(this.ownNameMappings).length&&(s.nameMappings={...this.ownNameMappings}),Ws(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(on,"SimpleTypeClass");var rn=on;u.prototype=rn.prototype;Object.assign(u,tn);u[D]=tn;u.Attribute=Js;var pt,Lr=(pt=class{constructor(e){e&&Object.assign(this,e)}[y](){return Gs.isBase64({coerce:!0})}[x](){return Gs.isBase64({coerce:!0})}},a(pt,"Base64Type"),pt);Lr=Fp([u({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Mp("design:paramtypes",[Object])],Lr);import{__decorate as nn,__metadata as sn}from"tslib";import{isDateString as kr,toString as Qs,vg as Ae}from"valgen";var ct,lt=(ct=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=Ae.isDate({precision:"date",coerce:!0}),r=[];return e.minValue!=null&&(kr(e.minValue),r.push(Qs,Ae.isGte(e.minValue))),e.maxValue!=null&&(kr(e.maxValue),r.push(Qs,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=Ae.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue!=null&&(kr(e.minValue),r.push(Ae.isGte(e.minValue))),e.maxValue!=null&&(kr(e.maxValue),r.push(Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}},a(ct,"DateType"),ct);nn([u.Attribute({description:"Minimum value"}),sn("design:type",String)],lt.prototype,"minValue",void 0);nn([u.Attribute({description:"Maximum value"}),sn("design:type",String)],lt.prototype,"maxValue",void 0);lt=nn([u({name:"date",description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),sn("design:paramtypes",[Object])],lt);import{__decorate as an,__metadata as pn}from"tslib";import{vg as jr}from"valgen";var ft,mt=(ft=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=jr.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue!=null&&r.push(jr.isGte(e.minValue)),e.maxValue!=null&&r.push(jr.isLte(e.maxValue)),r.length>0?jr.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[y](e)}},a(ft,"DateStringType"),ft);an([u.Attribute({description:"Minimum value"}),pn("design:type",String)],mt.prototype,"minValue",void 0);an([u.Attribute({description:"Maximum value"}),pn("design:type",String)],mt.prototype,"maxValue",void 0);mt=an([u({name:"datestring",description:"Date string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value").Example("2021-04","Date value without day").Example("2021","Year only value"),pn("design:paramtypes",[Object])],mt);import{__decorate as cn,__metadata as ln}from"tslib";import{isDateString as Cr,toString as Xs,vg as be}from"valgen";var ut,dt=(ut=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=be.isDate({precision:"time",coerce:!0}),r=[];return e.minValue!=null&&(Cr(e.minValue),r.push(Xs,be.isGte(e.minValue))),e.maxValue!=null&&(Cr(e.maxValue),r.push(Xs,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[x](e){let t=be.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue!=null&&(Cr(e.minValue),r.push(be.isGte(e.minValue))),e.maxValue!=null&&(Cr(e.maxValue),r.push(be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}},a(ut,"DateTimeType"),ut);cn([u.Attribute({description:"Minimum value"}),ln("design:type",String)],dt.prototype,"minValue",void 0);cn([u.Attribute({description:"Maximum value"}),ln("design:type",String)],dt.prototype,"maxValue",void 0);dt=cn([u({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),ln("design:paramtypes",[Object])],dt);import{__decorate as fn,__metadata as mn}from"tslib";import{vg as Ur}from"valgen";var ht,yt=(ht=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=Ur.isDateString({coerce:!0}),r=[];return e.minValue!=null&&r.push(Ur.isGte(e.minValue)),e.maxValue!=null&&r.push(Ur.isLte(e.maxValue)),r.length>0?Ur.pipe([t,...r]):t}[x](e){return this[y](e)}},a(ht,"DateTimeStringType"),ht);fn([u.Attribute({description:"Minimum value"}),mn("design:type",String)],yt.prototype,"minValue",void 0);fn([u.Attribute({description:"Maximum value"}),mn("design:type",String)],yt.prototype,"maxValue",void 0);yt=fn([u({name:"datetimestring",description:"DateTime string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+01:00","Full date-time value with timezone").Example("2021-04-18T22:30:15","Full date-time value without timezone").Example("2021-04-18 22:30","Date-time value").Example("2021-04-18","Date value").Example("2021-04","Date value without day").Example("2021","Year only value"),mn("design:paramtypes",[Object])],yt);import{__decorate as fe,__metadata as me}from"tslib";import{vg as Zs}from"valgen";var Tt,Y=(Tt=class{constructor(e){e&&Object.assign(this,e)}[y](e){return Zs.isEmail({...e,coerce:!0})}[x](e){return Zs.isEmail({...e,coerce:!0})}},a(Tt,"EmailType"),Tt);fe([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),me("design:type",Boolean)],Y.prototype,"allowDisplayName",void 0);fe([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),me("design:type",Boolean)],Y.prototype,"requireDisplayName",void 0);fe([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),me("design:type",Boolean)],Y.prototype,"utf8LocalPart",void 0);fe([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),me("design:type",Boolean)],Y.prototype,"ignoreMaxLength",void 0);fe([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),me("design:type",Boolean)],Y.prototype,"allowIpDomain",void 0);fe([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),me("design:type",Boolean)],Y.prototype,"domainSpecificValidation",void 0);fe([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),me("design:type",Array)],Y.prototype,"hostBlacklist",void 0);fe([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),me("design:type",Array)],Y.prototype,"hostWhitelist",void 0);fe([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),me("design:type",String)],Y.prototype,"blacklistedChars",void 0);Y=fe([u({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),me("design:paramtypes",[Object])],Y);import{__decorate as un,__metadata as dn}from"tslib";import{toString as vp,validator as Ip,vg as Pp}from"valgen";var Et,B=(Et=class{constructor(e){e&&Object.assign(this,e)}[y](e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=Ip("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return Pp.pipe([vp,s])}[x](e,t,r){return this[y](e,t,r)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");E.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Et,"FieldPathType"),Et);un([u.Attribute({description:"Data type which field belong to"}),dn("design:type",Object)],B.prototype,"dataType",void 0);un([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),dn("design:type",String)],B.prototype,"allowSigns",void 0);B=un([u({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),dn("design:paramtypes",[Object])],B);import{__decorate as hn,__metadata as yn}from"tslib";import{validator as ea}from"valgen";var ir={};Ts(ir,{$and:()=>kp,$arithmetic:()=>ec,$array:()=>Hs,$date:()=>jp,$eq:()=>Bp,$field:()=>$p,$gt:()=>Kp,$gte:()=>Vp,$ilike:()=>Xp,$in:()=>Wp,$like:()=>Gp,$lt:()=>zp,$lte:()=>Jp,$ne:()=>qp,$notILike:()=>Zp,$notIn:()=>Yp,$notLike:()=>Qp,$number:()=>Up,$or:()=>Lp,$paren:()=>Hp,$time:()=>Cp,ArithmeticExpression:()=>Ce,ArithmeticExpressionItem:()=>_r,ArrayExpression:()=>Ee,Ast:()=>Jt,BooleanLiteral:()=>Ue,ComparisonExpression:()=>pe,DateLiteral:()=>Re,DateTimeLiteral:()=>Gt,Expression:()=>C,FilterTreeVisitor:()=>Zt,Literal:()=>M,LogicalExpression:()=>ce,NegativeExpression:()=>Wt,NullLiteral:()=>$e,NumberLiteral:()=>xe,OpraErrorListener:()=>Ht,ParenthesizedExpression:()=>_e,QualifiedIdentifier:()=>Q,StringLiteral:()=>Be,Term:()=>je,TimeLiteral:()=>qe,parse:()=>Bo});function Lp(...o){return new ce({op:"or",items:o})}a(Lp,"$or");function kp(...o){return new ce({op:"and",items:o})}a(kp,"$and");function jp(o){return new Re(o)}a(jp,"$date");function Cp(o){return new qe(o)}a(Cp,"$time");function Up(o){return new xe(o)}a(Up,"$number");function Hs(...o){return new Ee(o.map($r))}a(Hs,"$array");function $p(o){return new Q(o)}a($p,"$field");function Bp(o,e){return Z("=",o,e)}a(Bp,"$eq");function qp(o,e){return Z("!=",o,e)}a(qp,"$ne");function Kp(o,e){return Z(">",o,e)}a(Kp,"$gt");function Vp(o,e){return Z(">=",o,e)}a(Vp,"$gte");function zp(o,e){return Z("<",o,e)}a(zp,"$lt");function Jp(o,e){return Z("<=",o,e)}a(Jp,"$lte");function Wp(o,e){return Z("in",o,e)}a(Wp,"$in");function Yp(o,e){return Z("!in",o,e)}a(Yp,"$notIn");function Gp(o,e){return Z("like",o,e)}a(Gp,"$like");function Qp(o,e){return Z("!like",o,e)}a(Qp,"$notLike");function Xp(o,e){return Z("ilike",o,e)}a(Xp,"$ilike");function Zp(o,e){return Z("!ilike",o,e)}a(Zp,"$notILike");function Hp(o){return new _e(o)}a(Hp,"$paren");function ec(o){let e=new Ce;return e.add=t=>(e.append("+",_t(t)),e),e.sub=t=>(e.append("-",_t(t)),e),e.mul=t=>(e.append("*",_t(t)),e),e.div=t=>(e.append("/",_t(t)),e),e.append("+",$r(o)),e}a(ec,"$arithmetic");function Z(o,e,t){let r=typeof e=="string"?new Q(e):$r(e),i=$r(t);return new pe({op:o,left:r,right:i})}a(Z,"comparisonExpression");var $r=a(o=>Array.isArray(o)?Hs(...o.map(_t)):_t(o),"wrapEntryValue"),_t=a(o=>o instanceof C?o:typeof o=="boolean"?new Ue(o):typeof o=="number"||typeof o=="bigint"?new xe(o):o==null?new $e:o instanceof Date?new Re(o):new Be(""+o),"_wrapEntryValue");var xt,De=(xt=class{constructor(e){e&&Object.assign(this,e)}[y](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new Xe(e.rules):void 0;return tc(r,i)}[x](){return rc}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");E.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(xt,"FilterType"),xt);hn([u.Attribute({description:"Data type which filtering fields belong to"}),yn("design:type",Object)],De.prototype,"dataType",void 0);hn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),yn("design:type",Object)],De.prototype,"rules",void 0);De=hn([u({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),yn("design:paramtypes",[Object])],De);var tc=a((o,e,t)=>ea("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=ir.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"),rc=ea("encodeFilter",(o,e,t)=>{if(o instanceof ir.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as ic,__metadata as oc}from"tslib";import{vg as ta}from"valgen";var Ot,Br=(Ot=class{constructor(e){e&&Object.assign(this,e)}[y](){return ta.isObjectId({coerce:!0})}[x](){return ta.isObjectId({coerce:!0})}},a(Ot,"ObjectIdType"),Ot);Br=ic([u({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),oc("design:paramtypes",[Object])],Br);import{__decorate as de,__metadata as he}from"tslib";import{omitUndefined as ra}from"@jsopen/objects";import{asMutable as sc}from"ts-gems";import{omitUndefined as nc}from"@jsopen/objects";function Tn(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(d,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),p=n.fields[i]={...o};s===Array?p.isArray=!0:p.type=p.type||s,Reflect.defineMetadata(d,n,r.constructor);for(let c of e)c(p)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(nc({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(Tn,"ApiFieldDecoratorFactory");var L=a(function(...o){if(!this){let[n]=o;return L[D](n)}let[e,t]=o;w.call(this,e);let r=sc(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof P))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,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},"ApiField"),_n=class _n extends w{inScope(e){return tr(e,this.scopePattern)}forScope(e){if(!(e&&this.override))return this;this._overrideCache=this._overrideCache||{};let t=this._overrideCache[e];if(t)return t;if(e!=="*"){for(let r of this.override)if(tr(e,r.scopePattern)){t=ra({...r,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:r.scopePattern}),Object.setPrototypeOf(t,this);break}}return t=t||this,this._overrideCache[e]=t,t}toJSON(e){var r;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ra({type:t||((r=this.type)==null?void 0:r.toJSON(e)),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})}};a(_n,"ApiFieldClass");var En=_n;L.prototype=En.prototype;Object.assign(L,Tn);L[D]=Tn;import"reflect-metadata";import{omitUndefined as pc}from"@jsopen/objects";import{asMutable as cc}from"ts-gems";var xn=class xn extends Te{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(xn,"OpraDocumentError");var gt=xn;var On=class On{constructor(e){this.path="",this.error=new gt,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(On,"DocumentInitContext");var ue=On;import{omit as ac}from"@jsopen/objects";function gn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!k.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(d,e);r||(r={},Reflect.defineMetadata(d,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,ac(o,["name"]))}}a(gn,"ComplexTypeDecorator");var H=a(function(...o){var n;if(!this)return H[D].apply(void 0,o);let[e,t]=o,r=o[2]||new ue({maxErrors:0});P.call(this,e,t,r);let i=cc(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof P))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 L(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,p]of Object.entries(t.fields)){let c=new L(this,{...p,name:s});this._fields.set(c.name,c)}})},"ComplexType"),Rn=class Rn extends P{extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof P?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i={...t,kind:this.kind,base:this.base?r||this.base.toJSON(e):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof E){let n=this.node.getDataTypeNameWithNs(this.additionalFields);i.additionalFields=n||this.additionalFields.toJSON(e)}else i.additionalFields=this.additionalFields;if(this._fields.size){let n={},s=0;for(let p of this._fields.values())p.origin===this&&p.inScope(e==null?void 0:e.scope)&&(n[p.name]=p.toJSON(e),s++);s&&(i.fields=n)}return pc(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Rn,"ComplexTypeClass");var wn=Rn;H.prototype=wn.prototype;Object.assign(H,gn);H[D]=gn;var wt,G=(wt=class{constructor(e){e&&Object.assign(this,e)}},a(wt,"OperationResult"),wt);de([L(),he("design:type",Number)],G.prototype,"affected",void 0);de([L(),he("design:type",Number)],G.prototype,"totalMatches",void 0);de([L(),he("design:type",String)],G.prototype,"context",void 0);de([L(),he("design:type",String)],G.prototype,"type",void 0);de([L(),he("design:type",String)],G.prototype,"message",void 0);de([L({type:"any"}),he("design:type",Object)],G.prototype,"payload",void 0);de([L({type:"object"}),he("design:type",Array)],G.prototype,"errors",void 0);G=de([H({name:"OperationResult",description:"Operation result"}),he("design:paramtypes",[Object])],G);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return de([L({type:t,required:!0}),he("design:type",Object)],r.prototype,"payload",void 0),r=de([H({embedded:!0}),he("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(G||(G={}));import{__decorate as An,__metadata as bn}from"tslib";import{vg as qr}from"valgen";var lc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Rt,At=(Rt=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=qr.matches(lc,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(qr.isGte(e.minValue)),e.maxValue!=null&&r.push(qr.isLte(e.maxValue)),r.length>0?qr.pipe([t,...r],{returnIndex:0}):t}[x](e){return this[y](e)}},a(Rt,"TimeType"),Rt);An([u.Attribute({description:"Minimum value"}),bn("design:type",String)],At.prototype,"minValue",void 0);An([u.Attribute({description:"Maximum value"}),bn("design:type",String)],At.prototype,"maxValue",void 0);At=An([u({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"),bn("design:paramtypes",[Object])],At);import{__decorate as fc,__metadata as mc}from"tslib";import{vg as ia}from"valgen";var bt,Kr=(bt=class{constructor(e){e&&Object.assign(this,e)}[y](){return ia.isURL({coerce:!0})}[x](){return ia.isURL({coerce:!0})}},a(bt,"UrlType"),bt);Kr=fc([u({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),mc("design:paramtypes",[Object])],Kr);import{__decorate as na,__metadata as sa}from"tslib";import{vg as oa}from"valgen";var Dt,or=(Dt=class{constructor(e){e&&Object.assign(this,e)}[y](e){return oa.isUUID(e==null?void 0:e.version,{coerce:!0})}[x](e){return oa.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(Dt,"UuidType"),Dt);na([u.Attribute({description:"Version of the UUID"}),sa("design:type",Number)],or.prototype,"version",void 0);or=na([u({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),sa("design:paramtypes",[Object])],or);import uc from"path-browserify";import{omitUndefined as dc}from"@jsopen/objects";import{asMutable as hc}from"ts-gems";var aa,pa,ee=Symbol.for("kMap"),nr=Symbol.for("kCtorMap"),Dn=class Dn{constructor(){this[aa]=new F,this[pa]=new WeakMap}get size(){return this[ee].size}forEach(e,t){this[ee].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[nr].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(d,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[d];t=i==null?void 0:i.name}if(!t)return;let r=this[ee].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[ee].set(e,t),t.ctor?this[nr].set(t.ctor,e):t.instance&&this[nr].set(t.instance,e)}has(e){if(e instanceof E)return!!e.name&&this[ee].has(e.name);let t=typeof e=="string"?e:this[nr].get(e);return t?this[ee].has(t):!1}keys(){return this[ee].keys()}values(){return this[ee].values()}entries(){return this[ee].entries()}sort(e){return this[ee].sort(e),this}[(aa=ee,pa=nr,Symbol.iterator)](){return this[ee][Symbol.iterator]()}};a(Dn,"DataTypeMap");var te=Dn;function S(o,e){let t=a((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(ie,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n);Reflect.defineMetadata(ie,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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="cookie"&&String(p.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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="header"&&String(p.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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="query"&&String(p.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"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="path"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType||b.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===b.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),o.push(s=>{s.responses=s.responses||[],s.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||b.json,i.contentEncoding=i.contentEncoding||"utf-8"),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(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),s},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(S,"HttpOperationDecoratorFactory");var A=a(function(...o){if(!this){let[i]=o,n=[];return A[D].call(void 0,n,i)}let[e,t]=o;if(w.call(this,e),!k.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=hc(this);r.parameters=[],r.responses=[],r.types=r.node[j]=new te,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?I(t.compositionOptions):void 0},"HttpOperation"),Sn=class Sn extends w{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:uc.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=dc({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(Sn,"HttpOperationClass");var Nn=Sn;A.prototype=Nn.prototype;A[D]=S;A.GET=function(o){return S([],{...o,method:"GET"})};A.DELETE=function(o){return S([],{...o,method:"DELETE"})};A.HEAD=function(o){return S([],{...o,method:"HEAD"})};A.OPTIONS=function(o){return S([],{...o,method:"OPTIONS"})};A.PATCH=function(o){return S([],{...o,method:"PATCH"})};A.POST=function(o){return S([],{...o,method:"POST"})};A.PUT=function(o){return S([],{...o,method:"PUT"})};A.SEARCH=function(o){return S([],{...o,method:"SEARCH"})};A.Entity={};function q(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(d,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(q,"getDataTypeName");function Ne(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(Ne,"createKeyParamDecorator");function ca(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,p)=>{let c=p.split(":");return s[c[0]]=c[1]||c[0],s},{}),i=Object.keys(r).reduce((s,p)=>{let c=at.exec(p),f=at.exec(r[p]);return c&&f&&(s[c[2]]=f[2]),s},{}),n=Object.keys(r).reduce((s,p)=>{let c=at.exec(p);return c&&(c[1]!="-"&&(s[c[2]]=c[2]),c[1]!="+"&&(s["-"+c[2]]="-"+c[2])),s},{});return e.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:X(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(p=>{let c=at.exec(p);return c?(c[1]||"")+i[c[2]]:p}),"parser")}),o}}a(ca,"createSortFieldsDecorator");function Se(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new Xe,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new De({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let p=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(p.operators=p.operators||["=","!="],n.includes(":")){let c=n.split(":");n=c[0],p.mappedField=c[1]}return e.push(()=>{r.set(n,p),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(Se,"createFilterDecorator");A.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new B({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(g.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=q(t.type)}),i};A.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(g.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=q(t.type)}),i.KeyParam=Ne(i,r),i};A.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(g.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=q(t.type)}),i.Filter=Se(i,r,t.type),i};import{__decorate as yc,__metadata as Tc}from"tslib";import{isAny as la}from"valgen";var Nt,Vr=(Nt=class{constructor(e){e&&Object.assign(this,e)}[y](){return la}[x](){return la}},a(Nt,"AnyType"),Nt);Vr=yc([u({name:"any",description:"Represents any value"}),Tc("design:paramtypes",[Object])],Vr);import{__decorate as Ec,__metadata as _c}from"tslib";import{toBigint as ma,vg as In}from"valgen";import{__decorate as Mn,__metadata as vn}from"tslib";import{toNumber as fa,vg as Fn}from"valgen";var St,ye=(St=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=[];return e.minValue!=null&&t.push(Fn.isGte(e.minValue)),e.maxValue!=null&&t.push(Fn.isLte(e.maxValue)),t.length>0?Fn.pipe([fa,...t],{returnIndex:0}):fa}[x](e){return this[y](e)}},a(St,"NumberType"),St);Mn([u.Attribute({description:"Determines the minimum value"}),vn("design:type",Number)],ye.prototype,"minValue",void 0);Mn([u.Attribute({description:"Determines the maximum value"}),vn("design:type",Number)],ye.prototype,"maxValue",void 0);ye=Mn([u({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),vn("design:paramtypes",[Object])],ye);var Ft,zr=(Ft=class extends ye{constructor(e){super(e)}[y](e){let t=[];return e.minValue!=null&&t.push(In.isGte(e.minValue)),e.maxValue!=null&&t.push(In.isLte(e.maxValue)),t.length>0?In.pipe([ma,...t],{returnIndex:0}):ma}[x](e){return this[y](e)}},a(Ft,"BigintType"),Ft);zr=Ec([u({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),_c("design:paramtypes",[Object])],zr);import{__decorate as xc,__metadata as Oc}from"tslib";import{toBoolean as ua}from"valgen";var Mt,Jr=(Mt=class{constructor(e){e&&Object.assign(this,e)}[y](){return ua}[x](){return ua}},a(Mt,"BooleanType"),Mt);Jr=xc([u({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),Oc("design:paramtypes",[Object])],Jr);import{__decorate as gc,__metadata as wc}from"tslib";import{toInteger as da,vg as Pn}from"valgen";var vt,Ve=(vt=class extends ye{constructor(e){super(e)}[y](e){let t=[];return e.minValue!=null&&t.push(Pn.isGte(e.minValue)),e.maxValue!=null&&t.push(Pn.isLte(e.maxValue)),t.length>0?Pn.pipe([da,...t],{returnIndex:0}):da}[x](e){return this[y](e)}},a(vt,"IntegerType"),vt);Ve=gc([u({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),wc("design:paramtypes",[Object])],Ve);import{__decorate as Rc,__metadata as Ac}from"tslib";import{isNull as ha}from"valgen";var It,Wr=(It=class{constructor(e){e&&Object.assign(this,e)}[y](){return ha}[x](){return ha}},a(It,"NullType"),It);Wr=Rc([u({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),Ac("design:paramtypes",[Object])],Wr);import{__decorate as bc,__metadata as Dc}from"tslib";var Pt,Yr=(Pt=class{constructor(e){e&&Object.assign(this,e)}},a(Pt,"ObjectType"),Pt);Yr=bc([H({name:"object",description:"A non modelled object",additionalFields:!0}),Dc("design:paramtypes",[Object])],Yr);import{__decorate as sr,__metadata as ar}from"tslib";import{toString as ya,vg as Gr}from"valgen";var Lt,Fe=(Lt=class{constructor(e){e&&Object.assign(this,e)}[y](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(d,Object.getPrototypeOf(this).constructor).name),t.push(Gr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Gr.lengthMin(e.minLength)),e.maxLength&&t.push(Gr.lengthMax(e.maxLength)),t.length>0?Gr.pipe([ya,...t],{returnIndex:0}):ya}[x](e){return this[y](e)}},a(Lt,"StringType"),Lt);sr([u.Attribute({description:"Regex pattern to be used for validation"}),ar("design:type",Object)],Fe.prototype,"pattern",void 0);sr([u.Attribute({description:"Name of the pattern"}),ar("design:type",String)],Fe.prototype,"patternName",void 0);sr([u.Attribute({description:"Minimum number of characters"}),ar("design:type",Number)],Fe.prototype,"minLength",void 0);sr([u.Attribute({description:"Minimum number of characters"}),ar("design:type",Number)],Fe.prototype,"maxLength",void 0);Fe=sr([u({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),ar("design:paramtypes",[Object])],Fe);A.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:b.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Ve({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Ve({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new B({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=q(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=Se(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.defaultSort=n}),i),i.SortFields=ca(i,r),i};A.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new B({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(g.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=q(t.type)}),i.KeyParam=Ne(i,r),i};A.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new B({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(g.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=q(t.type)}),i.KeyParam=Ne(i,r),i};A.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new B({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(g.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=q(t.type)}),i.KeyParam=Ne(i,r),i.Filter=Se(i,r,t.type),i};A.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(g.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(g.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=q(t.type)}),i.Filter=Se(i,r,t.type),i};import{merge as Ln}from"@jsopen/objects";var Nc=/^(.*)(Controller)$/,Ta=[];function kt(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Nc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(oe,Object.getPrototypeOf(r));s&&Ln(n,s,{deep:!0});let p=Reflect.getOwnMetadata(oe,r);p&&Ln(n,p,{deep:!0}),Ln(n,{...o,kind:m.RpcController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(oe,n,r);for(let f of e)f(n,r);Reflect.defineMetadata(oe,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),Ta.forEach(r=>r(t,e,o)),t}a(kt,"RpcControllerDecoratorFactory");kt.augment=function(o){Ta.push(o)};import{omit as Fc}from"@jsopen/objects";var Ea=[];function pr(o,e,t){let r=!1,i=a((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:s,payloadType:e,...Fc(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(oe,n.constructor)||{};c.operations=c.operations||{},c.operations[s]=p;for(let f of o)f(p,n,s);Reflect.defineMetadata(oe,c,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(p=>{let c=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n},f=r?p.response:p;f.headers?f.headers=f.headers.filter(O=>String(O.name)!==String(n)):f.headers=[],f.headers.push(c)}),i),i.Response=(n,s)=>(o.push(p=>{r=!0,p.response={...s,payloadType:n}}),i),Ea.forEach(n=>n(i,o,e,t)),i}a(pr,"RpcOperationDecoratorFactory");pr.augment=function(o){Ea.push(o)};import"reflect-metadata";import{omitUndefined as vc}from"@jsopen/objects";import{asMutable as Ic}from"ts-gems";function Qr(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(Qr,"getIsInheritedPredicateFn");var ze=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;P.call(this,e,t,r);let i=Ic(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof P))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(f=>i.base.normalizeFieldPath(f)):t.omit?i.omit=t.omit.map(f=>i.base.normalizeFieldPath(f)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(f=>i.base.normalizeFieldPath(f)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(f=>i.base.normalizeFieldPath(f)):t.required);let s=Qr(i.pick,i.omit),p=Array.isArray(i.partial)?i.partial.map(f=>f.toLowerCase()):i.partial,c=Array.isArray(i.required)?i.required.map(f=>f.toLowerCase()):i.required;for(let[f,O]of i.base.fieldEntries("*")){if(!s(f))continue;let R={...O};p===!0||Array.isArray(p)&&p.includes(O.name.toLowerCase())?R.required=!1:(c===!0||Array.isArray(c)&&c.includes(O.name.toLowerCase()))&&(R.required=!0);let _=new L(this,R);i._fields.set(_.name,_)}(!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"),jn=class jn extends P{extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof P?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return vc({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(jn,"MappedTypeClass");var kn=jn;ze.prototype=kn.prototype;ze._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as Pc}from"@jsopen/objects";import{asMutable as Lc}from"ts-gems";var jt=a(function(...o){if(!this)return jt[D].apply(void 0,o);let[e,t,r]=o;P.call(this,e,t,r);let i=Lc(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new L(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Un=class Un extends P{extendsFrom(e){if(e instanceof E||(e=this.node.getDataType(e)),!(e instanceof P))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 Pc({...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(Un,"MixinTypeClass");var Cn=Un;jt.prototype=Cn.prototype;jt[D]=kc;function kc(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)yr(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(d,i,r);for(let n of o){let s=Reflect.getMetadata(d,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),hr(r.prototype,n.prototype)}return r}a(kc,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as jc}from"@jsopen/objects";import{asMutable as Cc}from"ts-gems";import{vg as _a}from"valgen";var Ct=a(function(...o){if(!this)return Ct[D].apply(void 0,o);let[e,t,r]=o;E.call(this,e,t,r);let i=Cc(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),Bn=class Bn extends E{toJSON(e){let t=super.toJSON(e);return jc({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:_a.isEqual(i.discriminatorValue)}]:n});return _a.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(Bn,"UnionTypeClass");var $n=Bn;Ct.prototype=$n.prototype;Ct[D]=Uc;function Uc(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(d,r,t),t}a(Uc,"UnionTypeFactory");var qn=Symbol("initializing"),Xr=class Xr{static async createDataType(e,t,r){e=e||new ue({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Xr.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[j];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new ue({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new F;for(let c of i)n.set(c.name,c);let s=e.extend({initArgsMap:n}),p=[];for(let[c,f]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let O=this._createDataType(s,t,f);O&&p.push(O)});return p}static async _prepareAllInitArgs(e,t,r){let i=new F,n=new F,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[j])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let p=0;for(let c of r)await s.enterAsync(`$[${p++}]`,async()=>{c=await se(c);let f=Reflect.getMetadata(d,c)||c[d];if(!(f&&f.name))return typeof c=="function"?s.addError(`Class "${c.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(f.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await se(p),i.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(i.keys())){if(!i.has(p))continue;let c=await this._importDataTypeArgs(s,t,p);c&&typeof c!="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 R;r=await se(r);let{importQueue:n,initArgsMap:s}=e,p=t.node.findDataType(r);if(p instanceof E)return p.name;let c,f,O;if(typeof r!="string"){let Oe=t.node.getDocument().types[Tr].get(r);Oe&&(r=Oe)}if(typeof r=="string"){let _=r;if(r=(n==null?void 0:n.get(_))||((R=e.initArgsMap)==null?void 0:R.get(_)),!r)return e.addError(`Unknown data type (${_})`)}if(typeof r=="function"){if(c=Reflect.getMetadata(d,r),!c)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);f=r}else if(typeof r=="object"){if(c=r[d],c)O=r,c.kind!==m.EnumType.Kind&&(c=void 0);else if(m.isDataType(r))c=r,f=c.ctor;else if(f=Object.getPrototypeOf(r).constructor,c=f&&Reflect.getMetadata(d,f),c&&c.kind===m.SimpleType.Kind){let _=await this._importDataTypeArgs(e,t,c.name);return _?typeof _=="object"&&_.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:_,properties:r}:void 0}}return c?e.enterAsync(c.name?`[${c.name}]`:"",async()=>{if(c.name){let Oe=s==null?void 0:s.get(c.name);if(Oe)return i&&Oe[qn]?e.addError("Circular reference detected"):c.name}let _={kind:c.kind,name:c.name};_[qn]=!0;try{if(_.name)if(n!=null&&n.has(_.name))s==null||s.set(c.name,_),_._instance={name:c.name},_[j]=t.node[j];else return e.addError(`Data Type (${_.name}) must be explicitly added to type list in the document scope`);switch(_.kind){case m.ComplexType.Kind:_.ctor=f,await this._prepareComplexTypeArgs(e,t,_,c);break;case m.EnumType.Kind:_.instance=O,await this._prepareEnumTypeArgs(e,t,_,c);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,_,c);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,_,c);break;case m.SimpleType.Kind:_.ctor=f,await this._prepareSimpleTypeArgs(e,t,_,c);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,_,c);break;default:return e.addError(`Invalid data type kind ${c.kind}`)}}finally{_.name&&(n==null||n.delete(_.name)),delete _[qn]}return n&&_.name?_.name:_}):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 _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(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(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=Me(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 p=typeof s=="string"?{type:s}:s;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:Me(c)})})}))}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=Me(n))}),r.attributes=I(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,p,c;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let f;if(i.base)f=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let O=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,O)&&(f=await this._importDataTypeArgs(e,t,O))}f&&(r.base=Me(f),r.ctor=r.ctor||f.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=I(i.attributes)),typeof((n=r.properties)==null?void 0:n[y])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[y].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[x])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[x].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,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(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(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 p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}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 p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof E)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let p=n[j];switch(p||delete n._instance,i=n._instance,i!=null&&i.name&&p&&p.set(i.name,i),n==null?void 0:n.kind){case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,H.prototype);let n=I(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,p]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[s]={...p,name:s,type:c})})}),H.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,X.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,X.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ze.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),ze.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,jt.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof P))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),jt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,u.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Ct.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);n.types.push(c)})}),Ct.apply(i,[t,n]),i}};a(Xr,"DataTypeFactory");var v=Xr;function Me(o){return typeof o=="object"&&o.name?o.name:o}a(Me,"preferName");import{isConstructor as sl}from"@jsopen/objects";import{omitUndefined as Bc}from"@jsopen/objects";var Kn=class Kn extends w{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return Bc({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!k.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};a(Kn,"ApiBase");var Ut=Kn;import Vc from"path-browserify";import{omitUndefined as zc}from"@jsopen/objects";import{asMutable as Jc}from"ts-gems";import{merge as Vn,omit as qc}from"@jsopen/objects";var Kc=/^(.*)(Controller)$/;function zn(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Kc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(ie,Object.getPrototypeOf(r));s&&Vn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(ie,r);p&&Vn(n,p,{deep:!0}),Vn(n,{kind:m.HttpController.Kind,name:i,path:i,...qc(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(ie,n,r);for(let f of e)f(n,r);Reflect.defineMetadata(ie,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 p;(p=n.path)!=null&&p.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(zn,"HttpControllerDecoratorFactory");var re=a(function(...o){var i;if(!this)return re[D].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!k.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Jc(this);r.kind=m.HttpController.Kind,r.types=r.node[j]=new te,r.operations=new F,r.controllers=new F,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"),Wn=class Wn extends w{get isRoot(){return!(this.owner instanceof re)}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 re)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return Vc.posix.join(this.owner instanceof re?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=zc({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}[ot](){return`[${nt}HttpController${st+this.name+Ke}]`}};a(Wn,"HttpControllerClass");var Jn=Wn;re.prototype=Jn.prototype;Object.assign(re,zn);re[D]=zn;var Yn=class Yn extends Ut{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new F,this.url=e.url}findController(e){return re.prototype.findController.call(this,e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(e){let r={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON(e);return r}};a(Yn,"HttpApi");var $t=Yn;import Wc from"@browsery/type-is";import{omitUndefined as Yc}from"@jsopen/objects";import{asMutable as Gc}from"ts-gems";import{isAny as Qc,vg as Xc}from"valgen";var ve=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=Gc(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof E?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Qn=class Qn extends w{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Yc({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t){let r;return this.type?r=this.type.generateCodec(e,t):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(n=>Wc.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||Qc,this.isArray?Xc.isArray(r):r}};a(Qn,"HttpMediaTypeClass");var Gn=Qn;ve.prototype=Gn.prototype;import{omitUndefined as Zc}from"@jsopen/objects";function Bt(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(Bt,"parseRegExp");var Xn=class Xn extends ve{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?Bt(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return Zc({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Xn,"HttpMultipartField");var Zr=Xn;import{omitUndefined as el}from"@jsopen/objects";var Hc=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Zn=class Zn{constructor(e,t){if(this.start=0,this.end=0,e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=Hc.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(Zn,"HttpStatusRange");var cr=Zn;var Hn=class Hn extends ve{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new cr(r.start,r.end):new cr(r)),this.partial=t.partial}findParameter(e,t){e=e.toLowerCase();for(let r of this.parameters)if((!t||t===r.location)&&(r.name instanceof RegExp&&r.name.test(e)||r.name===e))return r}toJSON(e){let t=this.statusCode.map(i=>i.toJSON()),r=el({...super.toJSON(e),statusCode:t.length===1&&typeof t[0]=="number"?t[0]:t,partial:this.partial});if(this.parameters.length){r.parameters=[];for(let i of this.parameters)r.parameters.push(i.toJSON(e))}return r}};a(Hn,"HttpOperationResponse");var Hr=Hn;import{omitUndefined as il}from"@jsopen/objects";import{asMutable as ol}from"ts-gems";import{omitUndefined as tl}from"@jsopen/objects";import{asMutable as rl}from"ts-gems";var Je=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=rl(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),ts=class ts extends w{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return tl({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(ts,"ValueClass");var es=ts;Je.prototype=es.prototype;var lr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=ol(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Bt(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser},"HttpParameter"),is=class is extends Je{toJSON(e){return il({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(is,"HttpParameterClass");var rs=is;lr.prototype=rs.prototype;import{omitUndefined as nl}from"@jsopen/objects";var os=class os extends w{constructor(e){super(e),this.content=[]}toJSON(e){return nl({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(t=>t.toJSON(e)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};a(os,"HttpRequestBody");var ei=os;var ns=class ns{static async createApi(e,t){let r=new $t(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 p=await this._createController(e,t,s.metadata,s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(p.name,p))})}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 p=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!sl(r)&&(r=t instanceof re?r(t.instance):r()),r=await se(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(ie,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(ie,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 re(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await v.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let p=0;for(let c of r.parameters)await e.enterAsync(`[${p++}]`,async()=>{let f={...c};await e.enterAsync(".type",async()=>{f.type=await v.resolveDataType(e,s,c.type)});let O=new lr(s,f);s.parameters.push(O)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let f=new A(s,{name:p,method:"GET"});await this._initHttpOperation(e,f,c),s.operations.set(p,f)})}),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 A.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await v.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 p={...s};await e.enterAsync(".type",async()=>{p.type=await v.resolveDataType(e,t,s.type)});let c=new lr(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new Hr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new ei(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){ve.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await v.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 Zr(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 v.resolveDataType(e,t,n.type)});let p=new lr(t,s);t.parameters.push(p)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,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 ve(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(ns,"HttpApiFactory");var qt=ns;import{omitUndefined as pl}from"@jsopen/objects";import{md5 as cl}from"super-fast-md5";var ss=class ss extends Ut{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new F,this.platform=e.platform}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(ss,"RpcApi");var Kt=ss;var xa,as=class as extends w{constructor(){super(null),this[xa]=new WeakMap,this.id="",this.info={},this.references=new F,this.types=new te,this.node[j]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof E?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[ge].get(t)}findDocument(e){if(this.id===e)return this;for(let t of this.references.values()){if(t.id===e)return t;let r=t.findDocument(e);if(r)return r}}get httpApi(){if(!(this.api&&this.api instanceof $t))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof Kt))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(e){let t=pl({spec:m.SpecVersion,id:this.id,url:this.url,info:I(this.info,!0)});if(this.references.size){let r=0,i={};for(let[n,s]of this.references.entries())s[Le]||(i[n]={id:s.id,url:s.url,info:I(s.info,!0)},r++);r&&(t.references=i)}if(this.types.size){t.types={};for(let r of this.types.values())r.inScope(e==null?void 0:e.scope)&&(t.types[r.name]=r.toJSON(e))}return this.api&&(t.api=this.api.toJSON(e)),t}invalidate(){let e=this.export({});delete e.id,this.id=cl(JSON.stringify(e)),this[ge]=new WeakMap}_findDataType(e,t,r){let i=this.types.get(e);if(i&&i.inScope(t))return i;if(!this.references.size)return;if(typeof e=="string"){let s=ks.exec(e);if(s){let p=s[1];if(p){let c=this.references.get(p);return c?(r=r||new WeakMap,r.set(this,!0),r.set(c,!0),c._findDataType(s[2],t,r)):void 0}e=s[2]}}r=r||new WeakMap,r.set(this,!0);let n=Array.from(this.references.keys()).reverse();for(let s of n){let p=this.references.get(s);if(i=p==null?void 0:p.types.get(e),i)return this[ge].set(i,p!=null&&p[Le]?"":s),i}for(let s of n){let p=this.references.get(s);if(r.set(p,!0),i=p._findDataType(e,t,r),i)return this[ge].set(i,p!=null&&p[Le]?"":s),i}}};a(as,"ApiDocument");var We=as;xa=ge;function Ie(o,e,t){let r=Qr(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"&&yr(this,o,r)}}}[n];if(typeof o=="function"&&hr(s.prototype,o.prototype),typeof o=="function"){let c=Reflect.getOwnMetadata(d,o);if(!c)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(c.kind===m.ComplexType.Kind||c.kind===m.MappedType.Kind||c.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:o};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(d,p,s),typeof o=="function"&&ze._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(Ie,"createMappedClass");function W4(o,e,t){return Ie(o,{omit:e},t)}a(W4,"OmitType");function X4(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ie(o,{partial:t},r)}a(X4,"PartialType");function tx(o,e,t){return Ie(o,{pick:e},t)}a(tx,"PickType");function nx(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ie(o,{required:t},r)}a(nx,"RequiredType");import{isConstructor as Tl}from"@jsopen/objects";import{omitUndefined as ll}from"@jsopen/objects";import{asMutable as fl}from"ts-gems";var Ye=a(function(...o){var i;if(!this)return Ye[D].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!k.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=fl(this);r.kind=m.RpcController.Kind,r.types=r.node[j]=new te,r.operations=new F,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)},"RpcController"),cs=class cs extends w{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof Ye)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=ll({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}[ot](){return`[${nt}RpcController${st+this.name+Ke}]`}};a(cs,"RpcControllerClass");var ps=cs;Ye.prototype=ps.prototype;Object.assign(Ye,kt);Ye[D]=kt;import{omitUndefined as ml}from"@jsopen/objects";import{asMutable as ul}from"ts-gems";var fr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=ul(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Bt(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),fs=class fs extends Je{toJSON(){return ml({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(fs,"RpcHeaderClass");var ls=fs;fr.prototype=ls.prototype;import{omitUndefined as dl}from"@jsopen/objects";import{asMutable as hl}from"ts-gems";var mr=a(function(...o){if(!this){let[i,n]=o,s=[];return mr[D].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!k.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=hl(this);r.headers=[],r.types=r.node[j]=new te,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof E?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof E?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),us=class us extends w{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=dl({kind:m.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(us,"RpcOperationClass");var ms=us;mr.prototype=ms.prototype;mr[D]=pr;import{omitUndefined as yl}from"@jsopen/objects";var ds=class ds extends w{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.payloadType?this.payloadType=(t==null?void 0:t.payloadType)instanceof E?t.payloadType:this.owner.node.getDataType(t.payloadType):this.payloadType=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof E?t.keyType:this.owner.node.getDataType(t.keyType))}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=yl({description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}};a(ds,"RpcOperationResponse");var ti=ds;var hs=class hs{static async createApi(e,t){let r=new Kt(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"&&!Tl(r)&&(r=r()),r=await se(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(oe,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid RpcController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(oe,n),s?p=r:(s=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with RpcController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let c=new Ye(t,{...s,name:i,instance:p,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await v.addDataTypes(e,c,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let f=0;for(let O of s.headers)await e.enterAsync(`[${f++}]`,async()=>{let R={...O};await e.enterAsync(".type",async()=>{O.type&&(R.type=c.node.findDataType(O.type)),!R.type&&typeof O.type=="object"&&(R.type=await v.createDataType(e,c,O.type)),R.type||(R.type=c.node.getDataType("any"))});let _=new fr(c,R);c.headers.push(_)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[f,O]of Object.entries(s.operations))await e.enterAsync(`[${f}]`,async()=>{let R=new mr(c,{...O,name:f,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,R,O),c.operations.set(R.name,R)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await v.addDataTypes(e,t,r.types)}),t.payloadType=await v.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await v.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 v.resolveDataType(e,t,n.type)});let p=new fr(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new ti(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initRpcOperationResponse(e,i,r.response),t.response=i})}static async _initRpcOperationResponse(e,t,r){t.payloadType=await v.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await v.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 v.resolveDataType(e,t,n.type)});let p=new fr(t,s);t.headers.push(p)})})}};a(hs,"RpcApiFactory");var ri=hs;var El="https://oprajs.com/spec/v"+m.SpecVersion,ii=class ii{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new ii,i=t instanceof ue?t:new ue(t);try{let n=new We;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof gt||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length;i.error.message=`(${s}) error${s>1?"s":""} found in document schema.`,i.showErrorDetails&&(i.error.message+=i.error.details.map(p=>`
10
10
 
11
11
  - ${p.message}`+(p.path?`
12
- @${p.path}`:"")).join(""))}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[Pe]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,p;for([s,p]of Object.entries(i.references))p=await se(p),await t.enterAsync(`[${s}]`,async()=>{if(!L.test(s))throw new TypeError(`Invalid namespace (${s})`);if(p instanceof Je){e.references.set(s,p);return}let c=new Je;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(s,this._allDocuments[c.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 Bt.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="rpc"){let s=await ti.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:El,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[Kr,Vr,zr,Ke,Jr,ye,Wr,Se,Pr,ct,ft,ut,ht,G,$,be,$r,Q,Rt,qr,ir]},r=new Je;r[Pe]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[yr];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(ri,"ApiDocumentFactory");var Oa=ri;var ga;(function(o){o.HttpApiFactory=Bt,o.DataTypeFactory=M,o.RpcOperationDecoratorFactory=ar,o.RpcControllerDecoratorFactory=Lt})(ga||(ga={}));import{uid as ug}from"uid";export{Kr as AnyType,Ct as ApiBase,Je as ApiDocument,Oa as ApiDocumentFactory,P as ApiField,Pe as BUILTIN,Os as BadRequestError,Pr as Base64Type,Da as BaseI18n,Vr as BigintType,zr as BooleanType,L as CLASS_NAME_PATTERN,ee as ComplexType,gs as ConflictError,h as DATATYPE_METADATA,T as DECODER,b as DECORATOR,_ as DataType,re as DataTypeMap,ft as DateStringType,ht as DateTimeStringType,ut as DateTimeType,ct as DateType,w as DocumentElement,ue as DocumentInitContext,Ir as DocumentNode,x as ENCODER,G as EmailType,Z as EnumType,ws as FailedDependencyError,$ as FieldPathType,Le as FieldsProjection,be as FilterType,ur as ForbiddenError,oe as HTTP_CONTROLLER_METADATA,Ut as HttpApi,ie as HttpController,Rs as HttpHeaderCodes,Me as HttpMediaType,Xr as HttpMultipartField,R as HttpOperation,Zr as HttpOperationResponse,cr as HttpParameter,Hr as HttpRequestBody,g as HttpStatusCode,Hl as HttpStatusMessages,pr as HttpStatusRange,Vt as I18n,Ke as IntegerType,As as InternalServerError,Ps as IssueSeverity,Ve as MappedType,bs as MethodNotAllowedError,A as MimeTypes,kt as MixinType,ks as NAMESPACE_PATTERN,Ds as NotAcceptableError,Ns as NotFoundError,Jr as NullType,ye as NumberType,$r as ObjectIdType,Wr as ObjectType,W4 as OmitType,Q as OperationResult,Ot as OpraDocumentError,Te as OpraException,rr as OpraFilter,D as OpraHttpError,m as OpraSchema,X4 as PartialType,Ss as PermissionError,tx as PickType,ne as RPC_CONTROLLER_METADATA,nx as RequiredType,Fs as ResourceConflictError,Ms as ResourceNotAvailableError,S as ResponsiveMap,qt as RpcApi,We as RpcController,lr as RpcHeader,fr as RpcOperation,u as SimpleType,Se as StringType,Rt as TimeType,vs as UnauthorizedError,jt as UnionType,Is as UnprocessableEntityError,qr as UrlType,ir as UuidType,ga as classes,v as cloneObject,lm as getErrorStack,cm as getStackFileName,oi as i18n,hr as inheritPropertyInitializers,Mm as isBlob,vm as isFormData,Nm as isReadable,Fm as isReadableStream,wi as isStream,Im as isURL,Sm as isWritable,yr as kCtorMap,k as kDataTypeMap,Oe as kTypeNSMap,dr as mergePrototype,$s as parse,Us as parseFieldsProjection,se as resolveThunk,Am as safeJsonStringify,Nl as translate,ug as uid};
12
+ @${p.path}`:"")).join(""))}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[Le]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,p;for([s,p]of Object.entries(i.references))p=await se(p),await t.enterAsync(`[${s}]`,async()=>{if(!k.test(s))throw new TypeError(`Invalid namespace (${s})`);if(p instanceof We){e.references.set(s,p);return}let c=new We;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(s,this._allDocuments[c.id])})}),i.types&&await t.enterAsync(".types",async()=>{await v.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await qt.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="rpc"){let s=await ri.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:El,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[Vr,zr,Jr,Ve,Wr,ye,Yr,Fe,Lr,lt,mt,dt,yt,Y,B,De,Br,G,At,Kr,or]},r=new We;r[Le]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[Tr];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(ii,"ApiDocumentFactory");var Oa=ii;var ga;(function(o){o.HttpApiFactory=qt,o.DataTypeFactory=v,o.RpcOperationDecoratorFactory=pr,o.RpcControllerDecoratorFactory=kt})(ga||(ga={}));import{uid as ug}from"uid";export{Vr as AnyType,Ut as ApiBase,We as ApiDocument,Oa as ApiDocumentFactory,L as ApiField,Le as BUILTIN,Os as BadRequestError,Lr as Base64Type,Da as BaseI18n,zr as BigintType,Jr as BooleanType,k as CLASS_NAME_PATTERN,H as ComplexType,gs as ConflictError,d as DATATYPE_METADATA,y as DECODER,D as DECORATOR,E as DataType,te as DataTypeMap,mt as DateStringType,yt as DateTimeStringType,dt as DateTimeType,lt as DateType,w as DocumentElement,ue as DocumentInitContext,Pr as DocumentNode,x as ENCODER,Y as EmailType,X as EnumType,ws as FailedDependencyError,B as FieldPathType,ke as FieldsProjection,De as FilterType,dr as ForbiddenError,ie as HTTP_CONTROLLER_METADATA,$t as HttpApi,re as HttpController,Rs as HttpHeaderCodes,ve as HttpMediaType,Zr as HttpMultipartField,A as HttpOperation,Hr as HttpOperationResponse,lr as HttpParameter,ei as HttpRequestBody,g as HttpStatusCode,Hl as HttpStatusMessages,cr as HttpStatusRange,zt as I18n,Ve as IntegerType,As as InternalServerError,Ps as IssueSeverity,ze as MappedType,bs as MethodNotAllowedError,b as MimeTypes,jt as MixinType,ks as NAMESPACE_PATTERN,Ds as NotAcceptableError,Ns as NotFoundError,Wr as NullType,ye as NumberType,Br as ObjectIdType,Yr as ObjectType,W4 as OmitType,G as OperationResult,gt as OpraDocumentError,Te as OpraException,ir as OpraFilter,N as OpraHttpError,m as OpraSchema,X4 as PartialType,Ss as PermissionError,tx as PickType,oe as RPC_CONTROLLER_METADATA,nx as RequiredType,Fs as ResourceConflictError,Ms as ResourceNotAvailableError,F as ResponsiveMap,Kt as RpcApi,Ye as RpcController,fr as RpcHeader,mr as RpcOperation,u as SimpleType,Fe as StringType,At as TimeType,vs as UnauthorizedError,Ct as UnionType,Is as UnprocessableEntityError,Kr as UrlType,or as UuidType,ga as classes,I as cloneObject,lm as getErrorStack,cm as getStackFileName,ni as i18n,yr as inheritPropertyInitializers,Mm as isBlob,vm as isFormData,Nm as isReadable,Fm as isReadableStream,Ri as isStream,Im as isURL,Sm as isWritable,Tr as kCtorMap,j as kDataTypeMap,ge as kTypeNSMap,hr as mergePrototype,$s as parse,Us as parseFieldsProjection,se as resolveThunk,Am as safeJsonStringify,Nl as translate,ug as uid};