@opra/common 1.9.1 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.cjs +4 -4
- package/browser/index.mjs +3 -3
- package/cjs/document/data-type/mapped-type.js +1 -1
- package/cjs/document/decorators/http-operation-entity.decorator.js +5 -0
- package/cjs/filter/filter-rules.js +2 -0
- package/esm/document/data-type/mapped-type.js +1 -1
- package/esm/document/decorators/http-operation-entity.decorator.js +5 -0
- package/esm/filter/filter-rules.js +2 -0
- package/package.json +2 -2
- package/types/document/decorators/http-operation-entity.decorator.d.ts +1 -0
- package/types/filter/filter-rules.d.ts +1 -0
package/browser/index.mjs
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*****************************************/
|
|
5
5
|
|
|
6
6
|
var us=Object.defineProperty;var a=(o,e)=>us(o,"name",{value:e,configurable:!0});var ds=(o,e)=>{for(var t in e)us(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 np}from"@jsopen/objects";import{isString as sp}from"valgen";import Oa from"@browsery/i18next";import{splitString as ga,tokenize as Ts}from"fast-tokenizer";var _a=/\\(.)/g,xa=/(\\)/g;function hs(o){return o.replace(xa,"\\\\")}a(hs,"escapeString");function ys(o){return o.replace(_a,"$1")}a(ys,"unescapeString");var Ra=Object.getPrototypeOf(Oa.createInstance()).constructor,qt=class qt extends Ra{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 qt(e,t)}static createInstance(e,t){return new qt(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 Ts(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=ga(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=ys(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],f=null;for(let d of Ts(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(d.startsWith("{")){f=JSON.parse(d);continue}c.push(d)}let x=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(x,p,{...r,...f}):this.t(x,{...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 wa}};a(qt,"I18n");var Kt=qt,wa=Kt.createInstance();var Aa=/(\))/g;function b(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?"?"+hs(i).replace(Aa,"\\$1"):"")+")"}a(b,"translate");var ii=Kt.createInstance();ii.init().catch(()=>{});import{omitUndefined as ba}from"@jsopen/objects";var oi=class oi 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 ii.deep(this.message)}toJSON(){var t;let e="production";return ba({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(oi,"OpraException");var Ee=oi;var ni=class ni extends Ee{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(ni,"OpraHttpError");var N=ni;var si=class si extends N{constructor(){super(...arguments),this.status=400}init(e){super.init({message:b("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};a(si,"BadRequestError");var Es=si;var ai=class ai extends N{constructor(){super(...arguments),this.status=409}init(e){super.init({message:b("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};a(ai,"ConflictError");var _s=ai;var pi=class pi extends N{constructor(){super(...arguments),this.status=424}init(e){super.init({message:b("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};a(pi,"FailedDependencyError");var xs=pi;var Os;(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"})(Os||(Os={}));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 Wl={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 ci=class ci extends N{constructor(){super(...arguments),this.status=g.FORBIDDEN}init(e){super.init({message:b("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};a(ci,"ForbiddenError");var mr=ci;var li=class li extends N{constructor(){super(...arguments),this.status=500}init(e){super.init({message:b("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(li,"InternalServerError");var gs=li;var fi=class fi extends N{constructor(){super(...arguments),this.status=405}init(e){super.init({message:b("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};a(fi,"MethodNotAllowedError");var Rs=fi;var mi=class mi extends N{constructor(){super(...arguments),this.status=406}init(e){super.init({message:b("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};a(mi,"NotAcceptableError");var ws=mi;var ui=class ui extends N{constructor(){super(...arguments),this.status=404}init(e){super.init({message:b("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};a(ui,"NotFoundError");var As=ui;var di=class di extends mr{init(e){super.init({message:b("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};a(di,"PermissionError");var bs=di;var hi=class hi extends N{constructor(e,t,r){super({message:b("error:RESOURCE_CONFLICT",{resource:e,fields:t},"There is already an other {{resource}} resource with same values ({{fields}})"),severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(hi,"ResourceConflictError");var Ds=hi;var yi=class yi extends N{constructor(e,t,r){super({message:b("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,g.UNPROCESSABLE_ENTITY)}};a(yi,"ResourceNotAvailableError");var Ns=yi;var Ti=class Ti extends N{constructor(){super(...arguments),this.status=401}init(e){super.init({message:b("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};a(Ti,"UnauthorizedError");var Ss=Ti;var Ei=class Ei extends N{constructor(){super(...arguments),this.status=422}init(e){super.init({message:b("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(Ei,"UnprocessableEntityError");var Is=Ei;var Ms;(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"}})(Ms||(Ms={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Da}from"@jsopen/objects";import Na from"putil-promisify";async function ae(o){return o=Na.isPromise(o)?await o:o,typeof o=="function"?Da(o)?o:await o():o}a(ae,"resolveThunk");var vs=/^(?:file:\/\/)?(.+)$/;function um(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?vs.exec(r):void 0;return i?i[1]:""}return""}a(um,"getStackFileName");function dm(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?vs.exec(r):void 0;return i?i[1]:""}return""}a(dm,"getErrorStack");function ur(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(ur,"mergePrototype");function dr(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(dr,"inheritPropertyInitializers");import{isPlainObject as Ls,merge as Sa}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"),_=Symbol("opra.type.encoder"),D=Symbol.for("DECORATOR"),Le=Symbol.for("BUILTIN"),Fs=/([a-z$_]\w+):(.+)/i,k=/^[a-z][\w_]*$/i,j=Symbol.for("kDataTypeMap"),hr=Symbol.for("kCtorMap"),ge=Symbol.for("kTypeNSMap");function F(o,e){return Sa({},o,{deep:a(t=>Ls(t)&&!t[h],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||Ls(i)||Array.isArray(i))}})}a(F,"cloneObject");import{splitString as Ps}from"fast-tokenizer";var Ia=/^([+-])?([a-z_$]\w*)$/i,Ma=/[^.]\(/g,_i=class _i{};a(_i,"FieldsProjection");var Pe=_i;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(Pe||(Pe={}));function ks(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new Pe;for(let i of t)e||(i=i.toLowerCase()),js(i,r);return r}a(ks,"parseFieldsProjection");function js(o,e){o=o.replace(Ma,r=>r.charAt(0)+"."+r.substring(1));let t=Ps(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=Ps(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let f of c)js(f,e);continue}let n=Ia.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new Pe.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new Pe}}a(js,"parse");function va(o){return o&&typeof o.forEach=="function"}a(va,"isMap");var V=Symbol.for("kEntries"),pe=Symbol.for("kKeyMap"),yr=Symbol.for("kWellKnownKeys"),xi=Symbol.for("kOptions"),Ge=Symbol.for("kSize"),Oi=class Oi{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,pe,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,yr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,xi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[yr][i]=i:this[yr][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[pe]).forEach(e=>delete this[pe][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[pe][r]=e,this}setAll(e){return va(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[pe])[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[pe][t],r||this[Ge]--,r}sort(e){let t={...this[V]},r={...this[pe]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[V][n]=t[n],this[pe][n]=r[n];return this[Ge]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[pe]))e[r]=this[V][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[xi].caseSensitive)return e;let t=this._getStoringKey(e);return this[pe][t]??this[yr][t]??e}_getStoringKey(e){return this[xi].caseSensitive?e:e.toLowerCase()}};a(Oi,"ResponsiveMap");var I=Oi;function Sm(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(Sm,"safeJsonStringify");function gi(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(gi,"isStream");function vm(o){return gi(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(vm,"isReadable");function Fm(o){return gi(o)&&typeof o._write=="function"}a(Fm,"isWritable");function Lm(o){return gi(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Lm,"isReadableStream");function Pm(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Pm,"isBlob");function km(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(km,"isFormData");function jm(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(jm,"isURL");var Ri=class Ri{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Ri,"Ast");var Vt=Ri;var wi=class wi extends Vt{};a(wi,"Expression");var C=wi;var Ai=class Ai extends C{};a(Ai,"Term");var ke=Ai;var bi=class bi extends ke{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(bi,"Literal");var M=bi;var Di=class Di extends C{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Tr({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(Di,"ArithmeticExpression");var je=Di,Ni=class Ni{constructor(e){Object.assign(this,e)}};a(Ni,"ArithmeticExpressionItem");var Tr=Ni;var Si=class Si extends ke{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(Si,"ArrayExpression");var _e=Si;var Fa=/\w/,Ii=class Ii extends C{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${Fa.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Ii,"ComparisonExpression");var ce=Ii;var Mi=class Mi 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(Mi,"LogicalExpression");var le=Mi;var vi=class vi extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(vi,"NegativeExpression");var zt=vi;var Fi=class Fi extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Fi,"ParenthesizedExpression");var xe=Fi;var Li=class Li extends M{constructor(e){super(e)}};a(Li,"BooleanLiteral");var Ce=Li;import{toDateDef as Ua}from"putil-varhelpers";var Pi=class Pi extends TypeError{};a(Pi,"SyntaxError");var Er=Pi,ki=class ki extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(ki,"FilterValidationError");var fe=ki,ji=class ji extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(ji,"FilterParseError");var _r=ji;var La=/'/g,Pa=/(\\)/g,ka=/\\(.)/g;function ja(o){return o.replace(Pa,"\\\\")}a(ja,"escapeString");function Ca(o){return o.replace(ka,"$1")}a(Ca,"unescapeString");function Re(o){return"'"+ja(o).replace(La,"\\'")+"'"}a(Re,"quoteFilterString");function Jt(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?Ca(o.substring(1,o.length-1)):o}a(Jt,"unquoteFilterString");var Cs=new Date(0),Ci=class Ci extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Ua(e,Cs)!==Cs){this.value=e;return}throw new fe(`Invalid date value "${e}"`)}toString(){return Re(this.value)}};a(Ci,"DateLiteral");var we=Ci;import{toDateDef as Ba}from"putil-varhelpers";var Us=new Date(0),Ui=class Ui extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Ba(e,Us)!==Us){this.value=e;return}throw new fe(`Invalid date-time value "${e}"`)}toString(){return Re(this.value)}};a(Ui,"DateTimeLiteral");var Wt=Ui;var Bi=class Bi extends M{constructor(){super(null),this.value=null}};a(Bi,"NullLiteral");var Ue=Bi;var $i=class $i 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 fe(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a($i,"NumberLiteral");var Oe=$i;var qi=class qi extends M{constructor(e){super(""+e)}};a(qi,"QualifiedIdentifier");var X=qi;var Ki=class Ki extends M{constructor(e){super(""+e)}toString(){return Re(this.value)}};a(Ki,"StringLiteral");var Be=Ki;var $a=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Vi=class Vi extends M{constructor(e){if(super(""),e instanceof Date){this.value=xr(e.getHours())+":"+xr(e.getMinutes())+(e.getSeconds()?":"+xr(e.getSeconds()):"")+(e.getMilliseconds()?"."+xr(e.getMilliseconds()):"");return}if(typeof e=="string"&&$a.test(e)){this.value=e;return}throw new fe(`Invalid time value "${e}"`)}toString(){return Re(this.value)}};a(Vi,"TimeLiteral");var $e=Vi;function xr(o){return o<=9?"0"+o:""+o}a(xr,"pad");import{CharStream as ip,CommonTokenStream as op}from"@browsery/antlr4";import{ATNDeserializer as qa,DFA as Ka,Lexer as Va,LexerATNSimulator as za,PredictionContextCache as Ja,Token as Wa}from"@browsery/antlr4";var K=class K extends Va{constructor(e){super(e),this._interp=new za(this,K._ATN,K.DecisionsToDFA,new Ja)}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 qa().deserialize(K._serializedATN)),K.__ATN}};a(K,"OpraFilterLexer");var y=K;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=Wa.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 Ka(o,e));var Bs=y;import{ATN as $s,ATNDeserializer as Ya,DFA as Ga,FailedPredicateException as Qa,NoViableAltException as zi,Parser as Xa,ParserATNSimulator as Za,ParserRuleContext as B,PredictionContextCache as Ha,RecognitionException as U,Token as ep}from"@browsery/antlr4";var E=class E extends Xa{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 Qa(this,e,t)}constructor(e){super(e),this._interp=new Za(this,E._ATN,E.DecisionsToDFA,new Ha)}root(){let e=new Ji(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 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 Y(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 Gi(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 Wi(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 Yi(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 zi(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!==$s.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Yt(this,new Y(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 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 Or(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 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 gr(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 zi(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 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 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,E.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new io(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(E.NUMBER);break;case 13:case 14:e=new to(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new ro(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Xi(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new Zi(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(E.DATETIME);break;case 37:e=new eo(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(E.DATE);break;case 39:e=new Qi(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(E.TIME);break;case 42:e=new Hi(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(E.STRING);break;default:throw new zi(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 Gt(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!==$s.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 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 wr(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 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,E.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(E.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 Ar(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 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 br(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 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 Dr(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 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 Nr(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 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 oo(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)&&1<<t&491520?(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 Sr(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)&&1<<t&2146959360?(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 Ir(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)&&1<<t-31&15?(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 no(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 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 E.__ATN||(E.__ATN=new Ya().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=ep.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 Ga(o,e));var qs=l,so=class so extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Y,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(so,"RootContext");var Ji=so,ao=class ao extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(ao,"ExpressionContext");var Y=ao,po=class po extends Y{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(po,"ParenthesizedExpressionContext");var Wi=po,co=class co extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(Y,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(co,"NegativeExpressionContext");var Yi=co,lo=class lo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(Or,0)}comparisonOperator(){return this.getTypedRuleContext(Sr,0)}comparisonRight(){return this.getTypedRuleContext(gr,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(lo,"ComparisonExpressionContext");var Gi=lo,fo=class fo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(Y)}expression(e){return this.getTypedRuleContext(Y,e)}logicalOperator(){return this.getTypedRuleContext(Ir,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(fo,"LogicalExpressionContext");var Yt=fo,mo=class mo extends B{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Gt,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(mo,"ComparisonLeftContext");var Or=mo,uo=class uo extends B{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(z,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Gt,0)}externalConstant(){return this.getTypedRuleContext(wr,0)}arrayValue(){return this.getTypedRuleContext(Ar,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(uo,"ComparisonRightContext");var gr=uo,ho=class ho extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Y,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(ho,"ParenthesizedItemContext");var Rr=ho,yo=class yo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_value}copyFrom(e){super.copyFrom(e)}};a(yo,"ValueContext");var z=yo,To=class To 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(To,"TimeLiteralContext");var Qi=To,Eo=class Eo extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Dr,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(Eo,"NullLiteralContext");var Xi=Eo,_o=class _o 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(_o,"DateTimeLiteralContext");var Zi=_o,xo=class xo 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(xo,"StringLiteralContext");var Hi=xo,Oo=class Oo 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(Oo,"DateLiteralContext");var eo=Oo,go=class go extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Nr,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(go,"InfinityLiteralContext");var to=go,Ro=class Ro extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(br,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 ro=Ro,wo=class wo 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(wo,"NumberLiteralContext");var io=wo,Ao=class Ao extends B{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(Ao,"QualifiedIdentifierContext");var Gt=Ao,bo=class bo extends B{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(bo,"ExternalConstantContext");var wr=bo,Do=class Do extends B{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(Do,"IdentifierContext");var Qe=Do,No=class No extends B{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(No,"ArrayValueContext");var Ar=No,So=class So extends B{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(So,"BooleanContext");var br=So,Io=class Io extends B{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(Io,"NullContext");var Dr=Io,Mo=class Mo extends B{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(Mo,"InfinityContext");var Nr=Mo,vo=class vo extends B{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(vo,"ArithmeticOperatorContext");var oo=vo,Fo=class Fo extends B{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(Fo,"ComparisonOperatorContext");var Sr=Fo,Lo=class Lo extends B{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 Ir=Lo,Po=class Po extends B{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(Po,"PolarityOperatorContext");var no=Po;import{ParseTreeVisitor as tp}from"@browsery/antlr4";var ko=class ko extends M{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(ko,"ExternalConstant");var Mr=ko;var jo=class jo extends tp{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 xe(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new zt(t)}visitComparisonExpression(e){return new ce({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 Yt&&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 le({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new X(e.getText())}visitExternalConstant(e){return new Mr(e.identifier().getText())}visitNullLiteral(){return new Ue}visitBooleanLiteral(e){return new Ce(e.getText()==="true")}visitNumberLiteral(e){return new Oe(e.getText())}visitStringLiteral(e){return new Be(Jt(e.getText()))}visitInfinityLiteral(){return new Oe(1/0)}visitDateLiteral(e){return new we(Jt(e.getText()))}visitDateTimeLiteral(e){return new Wt(Jt(e.getText()))}visitTimeLiteral(e){return new $e(Jt(e.getText()))}visitArrayValue(e){return new _e(e.value_list().map(t=>this.visit(t)))}};a(jo,"FilterTreeVisitor");var Qt=jo;import{ErrorListener as rp}from"@browsery/antlr4";var Co=class Co extends rp{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new _r(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a(Co,"OpraErrorListener");var Xt=Co;function Uo(o,e){let t=new ip(o),r=new Bs(t),i=new op(r),n=new qs(i);n.buildParseTrees=!0;let s=[],p=new Xt(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(`
|
|
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(oi,"OpraException");var Ee=oi;var ni=class ni extends Ee{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(ni,"OpraHttpError");var N=ni;var si=class si extends N{constructor(){super(...arguments),this.status=400}init(e){super.init({message:b("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};a(si,"BadRequestError");var Es=si;var ai=class ai extends N{constructor(){super(...arguments),this.status=409}init(e){super.init({message:b("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};a(ai,"ConflictError");var _s=ai;var pi=class pi extends N{constructor(){super(...arguments),this.status=424}init(e){super.init({message:b("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};a(pi,"FailedDependencyError");var xs=pi;var Os;(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"})(Os||(Os={}));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 Wl={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 ci=class ci extends N{constructor(){super(...arguments),this.status=g.FORBIDDEN}init(e){super.init({message:b("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};a(ci,"ForbiddenError");var mr=ci;var li=class li extends N{constructor(){super(...arguments),this.status=500}init(e){super.init({message:b("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(li,"InternalServerError");var gs=li;var fi=class fi extends N{constructor(){super(...arguments),this.status=405}init(e){super.init({message:b("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};a(fi,"MethodNotAllowedError");var Rs=fi;var mi=class mi extends N{constructor(){super(...arguments),this.status=406}init(e){super.init({message:b("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};a(mi,"NotAcceptableError");var ws=mi;var ui=class ui extends N{constructor(){super(...arguments),this.status=404}init(e){super.init({message:b("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};a(ui,"NotFoundError");var As=ui;var di=class di extends mr{init(e){super.init({message:b("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};a(di,"PermissionError");var bs=di;var hi=class hi extends N{constructor(e,t,r){super({message:b("error:RESOURCE_CONFLICT",{resource:e,fields:t},"There is already an other {{resource}} resource with same values ({{fields}})"),severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(hi,"ResourceConflictError");var Ds=hi;var yi=class yi extends N{constructor(e,t,r){super({message:b("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,g.UNPROCESSABLE_ENTITY)}};a(yi,"ResourceNotAvailableError");var Ns=yi;var Ti=class Ti extends N{constructor(){super(...arguments),this.status=401}init(e){super.init({message:b("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};a(Ti,"UnauthorizedError");var Ss=Ti;var Ei=class Ei extends N{constructor(){super(...arguments),this.status=422}init(e){super.init({message:b("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(Ei,"UnprocessableEntityError");var Is=Ei;var Ms;(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"}})(Ms||(Ms={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Da}from"@jsopen/objects";import Na from"putil-promisify";async function ae(o){return o=Na.isPromise(o)?await o:o,typeof o=="function"?Da(o)?o:await o():o}a(ae,"resolveThunk");var Fs=/^(?:file:\/\/)?(.+)$/;function um(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?Fs.exec(r):void 0;return i?i[1]:""}return""}a(um,"getStackFileName");function dm(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?Fs.exec(r):void 0;return i?i[1]:""}return""}a(dm,"getErrorStack");function ur(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(ur,"mergePrototype");function dr(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(dr,"inheritPropertyInitializers");import{isPlainObject as Ls,merge as Sa}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"),_=Symbol("opra.type.encoder"),D=Symbol.for("DECORATOR"),Le=Symbol.for("BUILTIN"),vs=/([a-z$_]\w+):(.+)/i,k=/^[a-z][\w_]*$/i,j=Symbol.for("kDataTypeMap"),hr=Symbol.for("kCtorMap"),ge=Symbol.for("kTypeNSMap");function v(o,e){return Sa({},o,{deep:a(t=>Ls(t)&&!t[h],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||Ls(i)||Array.isArray(i))}})}a(v,"cloneObject");import{splitString as Ps}from"fast-tokenizer";var Ia=/^([+-])?([a-z_$]\w*)$/i,Ma=/[^.]\(/g,_i=class _i{};a(_i,"FieldsProjection");var Pe=_i;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(Pe||(Pe={}));function ks(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new Pe;for(let i of t)e||(i=i.toLowerCase()),js(i,r);return r}a(ks,"parseFieldsProjection");function js(o,e){o=o.replace(Ma,r=>r.charAt(0)+"."+r.substring(1));let t=Ps(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=Ps(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let f of c)js(f,e);continue}let n=Ia.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new Pe.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new Pe}}a(js,"parse");function Fa(o){return o&&typeof o.forEach=="function"}a(Fa,"isMap");var V=Symbol.for("kEntries"),pe=Symbol.for("kKeyMap"),yr=Symbol.for("kWellKnownKeys"),xi=Symbol.for("kOptions"),Ge=Symbol.for("kSize"),Oi=class Oi{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,pe,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,yr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,xi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[yr][i]=i:this[yr][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[pe]).forEach(e=>delete this[pe][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[pe][r]=e,this}setAll(e){return Fa(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[pe])[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[pe][t],r||this[Ge]--,r}sort(e){let t={...this[V]},r={...this[pe]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[V][n]=t[n],this[pe][n]=r[n];return this[Ge]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[pe]))e[r]=this[V][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[xi].caseSensitive)return e;let t=this._getStoringKey(e);return this[pe][t]??this[yr][t]??e}_getStoringKey(e){return this[xi].caseSensitive?e:e.toLowerCase()}};a(Oi,"ResponsiveMap");var I=Oi;function Sm(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(Sm,"safeJsonStringify");function gi(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(gi,"isStream");function Fm(o){return gi(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(Fm,"isReadable");function vm(o){return gi(o)&&typeof o._write=="function"}a(vm,"isWritable");function Lm(o){return gi(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Lm,"isReadableStream");function Pm(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Pm,"isBlob");function km(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(km,"isFormData");function jm(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(jm,"isURL");var Ri=class Ri{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Ri,"Ast");var Vt=Ri;var wi=class wi extends Vt{};a(wi,"Expression");var C=wi;var Ai=class Ai extends C{};a(Ai,"Term");var ke=Ai;var bi=class bi extends ke{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(bi,"Literal");var M=bi;var Di=class Di extends C{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Tr({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(Di,"ArithmeticExpression");var je=Di,Ni=class Ni{constructor(e){Object.assign(this,e)}};a(Ni,"ArithmeticExpressionItem");var Tr=Ni;var Si=class Si extends ke{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(Si,"ArrayExpression");var _e=Si;var va=/\w/,Ii=class Ii extends C{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${va.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Ii,"ComparisonExpression");var ce=Ii;var Mi=class Mi 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(Mi,"LogicalExpression");var le=Mi;var Fi=class Fi extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Fi,"NegativeExpression");var zt=Fi;var vi=class vi extends C{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(vi,"ParenthesizedExpression");var xe=vi;var Li=class Li extends M{constructor(e){super(e)}};a(Li,"BooleanLiteral");var Ce=Li;import{toDateDef as Ua}from"putil-varhelpers";var Pi=class Pi extends TypeError{};a(Pi,"SyntaxError");var Er=Pi,ki=class ki extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(ki,"FilterValidationError");var fe=ki,ji=class ji extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(ji,"FilterParseError");var _r=ji;var La=/'/g,Pa=/(\\)/g,ka=/\\(.)/g;function ja(o){return o.replace(Pa,"\\\\")}a(ja,"escapeString");function Ca(o){return o.replace(ka,"$1")}a(Ca,"unescapeString");function Re(o){return"'"+ja(o).replace(La,"\\'")+"'"}a(Re,"quoteFilterString");function Jt(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?Ca(o.substring(1,o.length-1)):o}a(Jt,"unquoteFilterString");var Cs=new Date(0),Ci=class Ci extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Ua(e,Cs)!==Cs){this.value=e;return}throw new fe(`Invalid date value "${e}"`)}toString(){return Re(this.value)}};a(Ci,"DateLiteral");var we=Ci;import{toDateDef as Ba}from"putil-varhelpers";var Us=new Date(0),Ui=class Ui extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Ba(e,Us)!==Us){this.value=e;return}throw new fe(`Invalid date-time value "${e}"`)}toString(){return Re(this.value)}};a(Ui,"DateTimeLiteral");var Wt=Ui;var Bi=class Bi extends M{constructor(){super(null),this.value=null}};a(Bi,"NullLiteral");var Ue=Bi;var $i=class $i 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 fe(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a($i,"NumberLiteral");var Oe=$i;var qi=class qi extends M{constructor(e){super(""+e)}};a(qi,"QualifiedIdentifier");var X=qi;var Ki=class Ki extends M{constructor(e){super(""+e)}toString(){return Re(this.value)}};a(Ki,"StringLiteral");var Be=Ki;var $a=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Vi=class Vi extends M{constructor(e){if(super(""),e instanceof Date){this.value=xr(e.getHours())+":"+xr(e.getMinutes())+(e.getSeconds()?":"+xr(e.getSeconds()):"")+(e.getMilliseconds()?"."+xr(e.getMilliseconds()):"");return}if(typeof e=="string"&&$a.test(e)){this.value=e;return}throw new fe(`Invalid time value "${e}"`)}toString(){return Re(this.value)}};a(Vi,"TimeLiteral");var $e=Vi;function xr(o){return o<=9?"0"+o:""+o}a(xr,"pad");import{CharStream as ip,CommonTokenStream as op}from"@browsery/antlr4";import{ATNDeserializer as qa,DFA as Ka,Lexer as Va,LexerATNSimulator as za,PredictionContextCache as Ja,Token as Wa}from"@browsery/antlr4";var K=class K extends Va{constructor(e){super(e),this._interp=new za(this,K._ATN,K.DecisionsToDFA,new Ja)}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 qa().deserialize(K._serializedATN)),K.__ATN}};a(K,"OpraFilterLexer");var y=K;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=Wa.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 Ka(o,e));var Bs=y;import{ATN as $s,ATNDeserializer as Ya,DFA as Ga,FailedPredicateException as Qa,NoViableAltException as zi,Parser as Xa,ParserATNSimulator as Za,ParserRuleContext as B,PredictionContextCache as Ha,RecognitionException as U,Token as ep}from"@browsery/antlr4";var E=class E extends Xa{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 Qa(this,e,t)}constructor(e){super(e),this._interp=new Za(this,E._ATN,E.DecisionsToDFA,new Ha)}root(){let e=new Ji(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 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 Y(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 Gi(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 Wi(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 Yi(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 zi(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!==$s.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Yt(this,new Y(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 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 Or(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 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 gr(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 zi(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 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 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,E.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new io(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(E.NUMBER);break;case 13:case 14:e=new to(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new ro(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Xi(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new Zi(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(E.DATETIME);break;case 37:e=new eo(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(E.DATE);break;case 39:e=new Qi(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(E.TIME);break;case 42:e=new Hi(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(E.STRING);break;default:throw new zi(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 Gt(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!==$s.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 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 wr(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 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,E.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(E.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 Ar(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 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 br(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 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 Dr(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 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 Nr(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 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 oo(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)&&1<<t&491520?(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 Sr(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)&&1<<t&2146959360?(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 Ir(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)&&1<<t-31&15?(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 no(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 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 E.__ATN||(E.__ATN=new Ya().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=ep.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 Ga(o,e));var qs=l,so=class so extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Y,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(so,"RootContext");var Ji=so,ao=class ao extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(ao,"ExpressionContext");var Y=ao,po=class po extends Y{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(po,"ParenthesizedExpressionContext");var Wi=po,co=class co extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(Y,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(co,"NegativeExpressionContext");var Yi=co,lo=class lo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(Or,0)}comparisonOperator(){return this.getTypedRuleContext(Sr,0)}comparisonRight(){return this.getTypedRuleContext(gr,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(lo,"ComparisonExpressionContext");var Gi=lo,fo=class fo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(Y)}expression(e){return this.getTypedRuleContext(Y,e)}logicalOperator(){return this.getTypedRuleContext(Ir,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(fo,"LogicalExpressionContext");var Yt=fo,mo=class mo extends B{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Gt,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(mo,"ComparisonLeftContext");var Or=mo,uo=class uo extends B{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(z,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Gt,0)}externalConstant(){return this.getTypedRuleContext(wr,0)}arrayValue(){return this.getTypedRuleContext(Ar,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(uo,"ComparisonRightContext");var gr=uo,ho=class ho extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Y,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(ho,"ParenthesizedItemContext");var Rr=ho,yo=class yo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return l.RULE_value}copyFrom(e){super.copyFrom(e)}};a(yo,"ValueContext");var z=yo,To=class To 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(To,"TimeLiteralContext");var Qi=To,Eo=class Eo extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Dr,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(Eo,"NullLiteralContext");var Xi=Eo,_o=class _o 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(_o,"DateTimeLiteralContext");var Zi=_o,xo=class xo 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(xo,"StringLiteralContext");var Hi=xo,Oo=class Oo 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(Oo,"DateLiteralContext");var eo=Oo,go=class go extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Nr,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(go,"InfinityLiteralContext");var to=go,Ro=class Ro extends z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(br,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 ro=Ro,wo=class wo 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(wo,"NumberLiteralContext");var io=wo,Ao=class Ao extends B{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(Ao,"QualifiedIdentifierContext");var Gt=Ao,bo=class bo extends B{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(bo,"ExternalConstantContext");var wr=bo,Do=class Do extends B{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(Do,"IdentifierContext");var Qe=Do,No=class No extends B{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(No,"ArrayValueContext");var Ar=No,So=class So extends B{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(So,"BooleanContext");var br=So,Io=class Io extends B{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(Io,"NullContext");var Dr=Io,Mo=class Mo extends B{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(Mo,"InfinityContext");var Nr=Mo,Fo=class Fo extends B{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(Fo,"ArithmeticOperatorContext");var oo=Fo,vo=class vo extends B{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(vo,"ComparisonOperatorContext");var Sr=vo,Lo=class Lo extends B{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 Ir=Lo,Po=class Po extends B{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(Po,"PolarityOperatorContext");var no=Po;import{ParseTreeVisitor as tp}from"@browsery/antlr4";var ko=class ko extends M{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(ko,"ExternalConstant");var Mr=ko;var jo=class jo extends tp{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 xe(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new zt(t)}visitComparisonExpression(e){return new ce({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 Yt&&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 le({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new X(e.getText())}visitExternalConstant(e){return new Mr(e.identifier().getText())}visitNullLiteral(){return new Ue}visitBooleanLiteral(e){return new Ce(e.getText()==="true")}visitNumberLiteral(e){return new Oe(e.getText())}visitStringLiteral(e){return new Be(Jt(e.getText()))}visitInfinityLiteral(){return new Oe(1/0)}visitDateLiteral(e){return new we(Jt(e.getText()))}visitDateTimeLiteral(e){return new Wt(Jt(e.getText()))}visitTimeLiteral(e){return new $e(Jt(e.getText()))}visitArrayValue(e){return new _e(e.value_list().map(t=>this.visit(t)))}};a(jo,"FilterTreeVisitor");var Qt=jo;import{ErrorListener as rp}from"@browsery/antlr4";var Co=class Co extends rp{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new _r(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a(Co,"OpraErrorListener");var Xt=Co;function Uo(o,e){let t=new ip(o),r=new Bs(t),i=new op(r),n=new qs(i);n.buildParseTrees=!0;let s=[],p=new Xt(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
8
|
`)?" at line: "+d.line+" column: "+d.column:" at column: "+d.column));let x=new Er(f.join(`
|
|
9
|
-
`));throw x.errors=s,x}return e=e||new Qt,e.visit(c)}a(Uo,"parse");var Bo=class Bo{constructor(e,t){if(this._rules=new I,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new I(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,np({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?Uo(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof ce){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 Ee({message:b("error:UNACCEPTED_FILTER_FIELD",{field:e.left.value}),code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Ee({message:b("error:UNACCEPTED_FILTER_OPERATION",{field:e.left.value}),code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof le)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 _e)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof 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 M){let n=t.findLastIndex(s=>s instanceof ce);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=sp: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 Xe=Bo;import{asMutable as _p}from"ts-gems";import{validator as xp,vg as se}from"valgen";import{omitUndefined as Tp}from"@jsopen/objects";import{asMutable as Ep}from"ts-gems";import{asMutable as hp}from"ts-gems";import{uid as yp}from"uid";var u={};ds(u,{ComplexType:()=>Ze,EnumType:()=>He,HttpController:()=>Zt,HttpOperation:()=>$o,MappedType:()=>et,MixinType:()=>tt,RpcController:()=>qo,RpcOperation:()=>Ko,SimpleType:()=>rt,SpecVersion:()=>ap,isComplexType:()=>cp,isDataType:()=>pp,isEnumType:()=>up,isHttpController:()=>dp,isMappedType:()=>mp,isMixinType:()=>fp,isSimpleType:()=>lp});var ap="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 Zt;(function(o){o.Kind="HttpController"})(Zt||(Zt={}));var $o;(function(o){o.Kind="HttpOperation"})($o||($o={}));var qo;(function(o){o.Kind="RpcController"})(qo||(qo={}));var Ko;(function(o){o.Kind="RpcOperation"})(Ko||(Ko={}));function pp(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)}a(pp,"isDataType");function cp(o){return o&&typeof o=="object"&&o.kind===Ze.Kind}a(cp,"isComplexType");function lp(o){return o&&typeof o=="object"&&o.kind===rt.Kind}a(lp,"isSimpleType");function fp(o){return o&&typeof o=="object"&&o.kind===tt.Kind}a(fp,"isMixinType");function mp(o){return o&&typeof o=="object"&&o.kind===et.Kind}a(mp,"isMappedType");function up(o){return o&&typeof o=="object"&&o.kind===He.Kind}a(up,"isEnumType");function dp(o){return o&&typeof o=="object"&&o.kind===Zt.Kind}a(dp,"isHttpController");var Vo=class Vo{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(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===u.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===u.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===u.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(Vo,"DocumentNode");var vr=Vo;var R=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=hp(this);e.id=yp(16),Object.defineProperty(e,"node",{value:new vr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Jo=class Jo{};a(Jo,"DocumentElementClass");var zo=Jo;R.prototype=zo.prototype;var it=Symbol.for("nodejs.util.inspect.custom"),qe="\x1B[0m",ot="\x1B[33m",nt="\x1B[35m";function Ht(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(Ht,"testScopeMatch");var O=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`);R.call(this,o);let r=Ep(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"),Yo=class Yo extends R{get embedded(){return!this.name}inScope(e){return Ht(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 Tp({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(Yo,"DataTypeClass");var Wo=Yo;O.prototype=Wo.prototype;var st=/^([+-])?([a-z$_][\w.]*)$/i,L=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;O.call(this,e,t,r);let i=_p(this);i._fields=new I},"ComplexTypeBase"),Qo=class Qo extends O{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,J,ms;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),f=t==null?void 0:t.allowSigns,x=a(()=>p.map(Fe=>Fe.fieldName).join("."),"getStrPath");for(let Fe=0;Fe<s;Fe++){let W={fieldName:n[Fe],dataType:c};p.push(W);let fr=st.exec(n[Fe]);if(!fr)throw new TypeError(`Invalid field name (${x()})`);if(fr[1]&&((Fe===0&&f==="first"||f==="each")&&(W.sign=fr[1]),W.fieldName=fr[2]),r){if(r instanceof L){if(i=r.findField(W.fieldName,t==null?void 0:t.scope),i){W.fieldName=i.name,W.field=i,W.dataType=i.type,r=i.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){W.additionalField=!0,W.dataType=c,r=void 0;continue}if(((J=r.additionalFields)==null?void 0:J[0])==="type"&&((ms=r.additionalFields)==null?void 0:ms[1])instanceof O){W.additionalField=!0,W.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(ri=>ri.fieldName).join(".")})`)}throw new TypeError(`"${p.map(ri=>ri.fieldName).join(".")}" field is not a complex type and has no child fields`)}W.additionalField=!0,W.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)?ks(t.projection):t==null?void 0:t.projection,i=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof O)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=xp((p,c,f)=>c.fail(f,s,p))}return se.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]=se.isUndefined({coerce:!0});continue}p=f.name;let x;if(n!=="*"&&(x=n==null?void 0:n[p.toLowerCase()],(x==null?void 0:x.sign)==="-"||s&&!x||!s&&f.exclusive&&!x)){r[f.name]=se.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?se.optional(d):se.required(d)}return t.allowPatchOperators&&(r._$pull=se.optional(se.isAny()),r._$push=se.optional(se.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,r);return t.fixed&&(i=se.isEnum([t.fixed])),t.isArray&&(i=se.isArray(i)),i}};a(Qo,"ComplexTypeBaseClass");var Go=Qo;L.prototype=Go.prototype;import"reflect-metadata";import{omitUndefined as Xo}from"@jsopen/objects";import{asMutable as Op}from"ts-gems";import{vg as gp}from"valgen";var Z=a(function(...o){if(!this)return Z[D].apply(void 0,o);let[e,t,r]=o;O.call(this,e,t,r);let i=Op(this);if(i.kind=u.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=F(t.attributes||{}),i.attributes=i.base?F(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),Zo=class Zo extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof Z?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return gp.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Xo({...t,kind:this.kind,base:r,attributes:F(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Zo,"EnumTypeClass");var er=Zo;Z.prototype=er.prototype;Object.assign(Z,er);function Rp(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]=Xo({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]]=Xo({alias:p,description:c})})}let s={kind:u.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,h,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Rp,"EnumTypeFactory");Z.prototype=er.prototype;Z[D]=Rp;import{__decorate as Ap,__metadata as bp}from"tslib";import{vg as Js}from"valgen";import"reflect-metadata";import{omitUndefined as Vs}from"@jsopen/objects";import{asMutable as wp}from"ts-gems";import{isAny as zs}from"valgen";function Ho(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(h,r)||{};o&&Object.assign(n,o),n.kind=u.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(Ho,"SimpleTypeDecoratorFactory");function Ks(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=u.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(h,r,e.constructor)}}a(Ks,"AttributeDecoratorFactory");var m=a(function(...o){var n,s;if(!this)return m[D](...o);let[e,t,r]=o;O.call(this,e,t,r);let i=wp(this);if(i.kind=u.SimpleType.Kind,t.base){if(!(t.base instanceof m))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);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=F(t.attributes||{}),i.attributes=i.base?F(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"),tn=class tn extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof m?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 zs}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 zs}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i=Vs(this.ownAttributes),n;this.properties&&typeof this.properties.toJSON=="function"?n=this.properties.toJSON(this.properties,this.owner,e):n=this.properties?F(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}),Vs(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(tn,"SimpleTypeClass");var en=tn;m.prototype=en.prototype;Object.assign(m,Ho);m[D]=Ho;m.Attribute=Ks;var at,Fr=(at=class{constructor(e){e&&Object.assign(this,e)}[T](){return Js.isBase64({coerce:!0})}[_](){return Js.isBase64({coerce:!0})}},a(at,"Base64Type"),at);Fr=Ap([m({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),bp("design:paramtypes",[Object])],Fr);import{__decorate as rn,__metadata as on}from"tslib";import{isDateString as Lr,toString as Ws,vg as Ae}from"valgen";var pt,ct=(pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ae.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&(Lr(e.minValue),r.push(Ws,Ae.isGte(e.minValue))),e.maxValue&&(Lr(e.maxValue),r.push(Ws,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[_](e){let t=Ae.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue&&(Lr(e.minValue),r.push(Ae.isGte(e.minValue))),e.maxValue&&(Lr(e.maxValue),r.push(Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}},a(pt,"DateType"),pt);rn([m.Attribute({description:"Minimum value"}),on("design:type",String)],ct.prototype,"minValue",void 0);rn([m.Attribute({description:"Maximum value"}),on("design:type",String)],ct.prototype,"maxValue",void 0);ct=rn([m({name:"date",description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),on("design:paramtypes",[Object])],ct);import{__decorate as nn,__metadata as sn}from"tslib";import{vg as Pr}from"valgen";var lt,ft=(lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Pr.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue&&r.push(Pr.isGte(e.minValue)),e.maxValue&&r.push(Pr.isLte(e.maxValue)),r.length>0?Pr.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[T](e)}},a(lt,"DateStringType"),lt);nn([m.Attribute({description:"Minimum value"}),sn("design:type",String)],ft.prototype,"minValue",void 0);nn([m.Attribute({description:"Maximum value"}),sn("design:type",String)],ft.prototype,"maxValue",void 0);ft=nn([m({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"),sn("design:paramtypes",[Object])],ft);import{__decorate as an,__metadata as pn}from"tslib";import{isDateString as kr,toString as Ys,vg as be}from"valgen";var mt,ut=(mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=be.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&(kr(e.minValue),r.push(Ys,be.isGte(e.minValue))),e.maxValue&&(kr(e.maxValue),r.push(Ys,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[_](e){let t=be.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&(kr(e.minValue),r.push(be.isGte(e.minValue))),e.maxValue&&(kr(e.maxValue),r.push(be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}},a(mt,"DateTimeType"),mt);an([m.Attribute({description:"Minimum value"}),pn("design:type",String)],ut.prototype,"minValue",void 0);an([m.Attribute({description:"Maximum value"}),pn("design:type",String)],ut.prototype,"maxValue",void 0);ut=an([m({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"),pn("design:paramtypes",[Object])],ut);import{__decorate as cn,__metadata as ln}from"tslib";import{vg as jr}from"valgen";var dt,ht=(dt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=jr.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(jr.isGte(e.minValue)),e.maxValue&&r.push(jr.isLte(e.maxValue)),r.length>0?jr.pipe([t,...r]):t}[_](e){return this[T](e)}},a(dt,"DateTimeStringType"),dt);cn([m.Attribute({description:"Minimum value"}),ln("design:type",String)],ht.prototype,"minValue",void 0);cn([m.Attribute({description:"Maximum value"}),ln("design:type",String)],ht.prototype,"maxValue",void 0);ht=cn([m({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"),ln("design:paramtypes",[Object])],ht);import{__decorate as me,__metadata as ue}from"tslib";import{vg as Gs}from"valgen";var yt,G=(yt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Gs.isEmail({...e,coerce:!0})}[_](e){return Gs.isEmail({...e,coerce:!0})}},a(yt,"EmailType"),yt);me([m.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),ue("design:type",Boolean)],G.prototype,"allowDisplayName",void 0);me([m.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),ue("design:type",Boolean)],G.prototype,"requireDisplayName",void 0);me([m.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),ue("design:type",Boolean)],G.prototype,"utf8LocalPart",void 0);me([m.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),ue("design:type",Boolean)],G.prototype,"ignoreMaxLength",void 0);me([m.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),ue("design:type",Boolean)],G.prototype,"allowIpDomain",void 0);me([m.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),ue("design:type",Boolean)],G.prototype,"domainSpecificValidation",void 0);me([m.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),ue("design:type",Array)],G.prototype,"hostBlacklist",void 0);me([m.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),ue("design:type",Array)],G.prototype,"hostWhitelist",void 0);me([m.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),ue("design:type",String)],G.prototype,"blacklistedChars",void 0);G=me([m({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),ue("design:paramtypes",[Object])],G);import{__decorate as fn,__metadata as mn}from"tslib";import{toString as Dp,validator as Np,vg as Sp}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=Np("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return Sp.pipe([Dp,s])}[_](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");O.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);fn([m.Attribute({description:"Data type which field belong to"}),mn("design:type",Object)],$.prototype,"dataType",void 0);fn([m.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),mn("design:type",String)],$.prototype,"allowSigns",void 0);$=fn([m({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),mn("design:paramtypes",[Object])],$);import{__decorate as un,__metadata as dn}from"tslib";import{validator as Xs}from"valgen";var tr={};ds(tr,{$and:()=>Mp,$arithmetic:()=>Gp,$array:()=>Qs,$date:()=>vp,$eq:()=>kp,$field:()=>Pp,$gt:()=>Cp,$gte:()=>Up,$ilike:()=>Jp,$in:()=>qp,$like:()=>Vp,$lt:()=>Bp,$lte:()=>$p,$ne:()=>jp,$notILike:()=>Wp,$notIn:()=>Kp,$notLike:()=>zp,$number:()=>Lp,$or:()=>Ip,$paren:()=>Yp,$time:()=>Fp,ArithmeticExpression:()=>je,ArithmeticExpressionItem:()=>Tr,ArrayExpression:()=>_e,Ast:()=>Vt,BooleanLiteral:()=>Ce,ComparisonExpression:()=>ce,DateLiteral:()=>we,DateTimeLiteral:()=>Wt,Expression:()=>C,FilterTreeVisitor:()=>Qt,Literal:()=>M,LogicalExpression:()=>le,NegativeExpression:()=>zt,NullLiteral:()=>Ue,NumberLiteral:()=>Oe,OpraErrorListener:()=>Xt,ParenthesizedExpression:()=>xe,QualifiedIdentifier:()=>X,StringLiteral:()=>Be,Term:()=>ke,TimeLiteral:()=>$e,parse:()=>Uo});function Ip(...o){return new le({op:"or",items:o})}a(Ip,"$or");function Mp(...o){return new le({op:"and",items:o})}a(Mp,"$and");function vp(o){return new we(o)}a(vp,"$date");function Fp(o){return new $e(o)}a(Fp,"$time");function Lp(o){return new Oe(o)}a(Lp,"$number");function Qs(...o){return new _e(o.map(Cr))}a(Qs,"$array");function Pp(o){return new X(o)}a(Pp,"$field");function kp(o,e){return H("=",o,e)}a(kp,"$eq");function jp(o,e){return H("!=",o,e)}a(jp,"$ne");function Cp(o,e){return H(">",o,e)}a(Cp,"$gt");function Up(o,e){return H(">=",o,e)}a(Up,"$gte");function Bp(o,e){return H("<",o,e)}a(Bp,"$lt");function $p(o,e){return H("<=",o,e)}a($p,"$lte");function qp(o,e){return H("in",o,e)}a(qp,"$in");function Kp(o,e){return H("!in",o,e)}a(Kp,"$notIn");function Vp(o,e){return H("like",o,e)}a(Vp,"$like");function zp(o,e){return H("!like",o,e)}a(zp,"$notLike");function Jp(o,e){return H("ilike",o,e)}a(Jp,"$ilike");function Wp(o,e){return H("!ilike",o,e)}a(Wp,"$notILike");function Yp(o){return new xe(o)}a(Yp,"$paren");function Gp(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("+",Cr(o)),e}a(Gp,"$arithmetic");function H(o,e,t){let r=typeof e=="string"?new X(e):Cr(e),i=Cr(t);return new ce({op:o,left:r,right:i})}a(H,"comparisonExpression");var Cr=a(o=>Array.isArray(o)?Qs(...o.map(Et)):Et(o),"wrapEntryValue"),Et=a(o=>o instanceof C?o:typeof o=="boolean"?new Ce(o):typeof o=="number"||typeof o=="bigint"?new Oe(o):o==null?new Ue:o instanceof Date?new we(o):new Be(""+o),"_wrapEntryValue");var _t,De=(_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 Xe(e.rules):void 0;return Qp(r,i)}[_](){return Xp}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");O.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);un([m.Attribute({description:"Data type which filtering fields belong to"}),dn("design:type",Object)],De.prototype,"dataType",void 0);un([m.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),dn("design:type",Object)],De.prototype,"rules",void 0);De=un([m({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),dn("design:paramtypes",[Object])],De);var Qp=a((o,e,t)=>Xs("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=tr.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"),Xp=Xs("encodeFilter",(o,e,t)=>{if(o instanceof tr.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as Zp,__metadata as Hp}from"tslib";import{vg as Zs}from"valgen";var xt,Ur=(xt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Zs.isObjectId({coerce:!0})}[_](){return Zs.isObjectId({coerce:!0})}},a(xt,"ObjectIdType"),xt);Ur=Zp([m({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),Hp("design:paramtypes",[Object])],Ur);import{__decorate as he,__metadata as ye}from"tslib";import{omitUndefined as Hs}from"@jsopen/objects";import{asMutable as tc}from"ts-gems";import{omitUndefined as ec}from"@jsopen/objects";function hn(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=u.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(ec({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(hn,"ApiFieldDecoratorFactory");var P=a(function(...o){if(!this){let[n]=o;return P[D](n)}let[e,t]=o;R.call(this,e);let r=tc(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof L))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"),Tn=class Tn extends R{inScope(e){return Ht(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(Ht(e,r.scopePattern)){t=Hs({...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 Hs({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(Tn,"ApiFieldClass");var yn=Tn;P.prototype=yn.prototype;Object.assign(P,hn);P[D]=hn;import"reflect-metadata";import{omitUndefined as ic}from"@jsopen/objects";import{asMutable as oc}from"ts-gems";var En=class En extends Ee{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(En,"OpraDocumentError");var Ot=En;var _n=class _n{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(_n,"DocumentInitContext");var de=_n;import{omit as rc}from"@jsopen/objects";function xn(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(h,e);r||(r={},Reflect.defineMetadata(h,r,e)),r.kind=u.ComplexType.Kind,r.name=t,o&&Object.assign(r,rc(o,["name"]))}}a(xn,"ComplexTypeDecorator");var ee=a(function(...o){var n;if(!this)return ee[D].apply(void 0,o);let[e,t]=o,r=o[2]||new de({maxErrors:0});L.call(this,e,t,r);let i=oc(this);i.kind=u.ComplexType.Kind,t.base&&r.enter(".base",()=>{if(!(t.base instanceof L))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"),gn=class gn extends L{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof L?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};if(this.additionalFields)if(this.additionalFields instanceof O){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 ic(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(gn,"ComplexTypeClass");var On=gn;ee.prototype=On.prototype;Object.assign(ee,xn);ee[D]=xn;var gt,Q=(gt=class{constructor(e){e&&Object.assign(this,e)}},a(gt,"OperationResult"),gt);he([P(),ye("design:type",Number)],Q.prototype,"affected",void 0);he([P(),ye("design:type",Number)],Q.prototype,"totalMatches",void 0);he([P(),ye("design:type",String)],Q.prototype,"context",void 0);he([P(),ye("design:type",String)],Q.prototype,"type",void 0);he([P(),ye("design:type",String)],Q.prototype,"message",void 0);he([P({type:"any"}),ye("design:type",Object)],Q.prototype,"payload",void 0);he([P({type:"object"}),ye("design:type",Array)],Q.prototype,"errors",void 0);Q=he([ee({name:"OperationResult",description:"Operation result"}),ye("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 he([P({type:t,required:!0}),ye("design:type",Object)],r.prototype,"payload",void 0),r=he([ee({embedded:!0}),ye("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Q||(Q={}));import{__decorate as Rn,__metadata as wn}from"tslib";import{vg as Br}from"valgen";var nc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Rt,wt=(Rt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Br.matches(nc,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push(Br.isGte(e.minValue)),e.maxValue&&r.push(Br.isLte(e.maxValue)),r.length>0?Br.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[T](e)}},a(Rt,"TimeType"),Rt);Rn([m.Attribute({description:"Minimum value"}),wn("design:type",String)],wt.prototype,"minValue",void 0);Rn([m.Attribute({description:"Maximum value"}),wn("design:type",String)],wt.prototype,"maxValue",void 0);wt=Rn([m({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"),wn("design:paramtypes",[Object])],wt);import{__decorate as sc,__metadata as ac}from"tslib";import{vg as ea}from"valgen";var At,$r=(At=class{constructor(e){e&&Object.assign(this,e)}[T](){return ea.isURL({coerce:!0})}[_](){return ea.isURL({coerce:!0})}},a(At,"UrlType"),At);$r=sc([m({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),ac("design:paramtypes",[Object])],$r);import{__decorate as ra,__metadata as ia}from"tslib";import{vg as ta}from"valgen";var bt,rr=(bt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return ta.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return ta.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(bt,"UuidType"),bt);ra([m.Attribute({description:"Version of the UUID"}),ia("design:type",Number)],rr.prototype,"version",void 0);rr=ra([m({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),ia("design:paramtypes",[Object])],rr);import pc from"path-browserify";import{omitUndefined as cc}from"@jsopen/objects";import{asMutable as lc}from"ts-gems";var oa,na,te=Symbol.for("kMap"),ir=Symbol.for("kCtorMap"),An=class An{constructor(){this[oa]=new I,this[na]=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[ir].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[ir].set(t.ctor,e):t.instance&&this[ir].set(t.instance,e)}has(e){if(e instanceof O)return!!e.name&&this[te].has(e.name);let t=typeof e=="string"?e:this[ir].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}[(oa=te,na=ir,Symbol.iterator)](){return this[te][Symbol.iterator]()}};a(An,"DataTypeMap");var re=An;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:u.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(S,"HttpOperationDecoratorFactory");var w=a(function(...o){if(!this){let[i]=o,n=[];return w[D].call(void 0,n,i)}let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=lc(this);r.parameters=[],r.responses=[],r.types=r.node[j]=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?F(t.compositionOptions):void 0},"HttpOperation"),Dn=class Dn extends R{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:pc.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=cc({kind:u.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(Dn,"HttpOperationClass");var bn=Dn;w.prototype=bn.prototype;w[D]=S;w.GET=function(o){return S([],{...o,method:"GET"})};w.DELETE=function(o){return S([],{...o,method:"DELETE"})};w.HEAD=function(o){return S([],{...o,method:"HEAD"})};w.OPTIONS=function(o){return S([],{...o,method:"OPTIONS"})};w.PATCH=function(o){return S([],{...o,method:"PATCH"})};w.POST=function(o){return S([],{...o,method:"POST"})};w.PUT=function(o){return S([],{...o,method:"PUT"})};w.SEARCH=function(o){return S([],{...o,method:"SEARCH"})};w.Entity={};function q(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(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 sa(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(sa,"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)||{};return p.operators=p.operators||["=","!="],e.push(()=>{r.set(n,p),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(Se,"createFilterDecorator");w.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i};w.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[h]?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: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=q(t.type)}),i.KeyParam=Ne(i,r),i};w.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[h]?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: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=q(t.type)}),i.Filter=Se(i,r,t.type),i};import{__decorate as fc,__metadata as mc}from"tslib";import{isAny as aa}from"valgen";var Dt,qr=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](){return aa}[_](){return aa}},a(Dt,"AnyType"),Dt);qr=fc([m({name:"any",description:"Represents any value"}),mc("design:paramtypes",[Object])],qr);import{__decorate as uc,__metadata as dc}from"tslib";import{toBigint as ca,vg as Mn}from"valgen";import{__decorate as Sn,__metadata as In}from"tslib";import{toNumber as pa,vg as Nn}from"valgen";var Nt,Te=(Nt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue&&t.push(Nn.isGte(e.minValue)),e.maxValue&&t.push(Nn.isLte(e.maxValue)),t.length>0?Nn.pipe([pa,...t],{returnIndex:0}):pa}[_](e){return this[T](e)}},a(Nt,"NumberType"),Nt);Sn([m.Attribute({description:"Determines the minimum value"}),In("design:type",Number)],Te.prototype,"minValue",void 0);Sn([m.Attribute({description:"Determines the maximum value"}),In("design:type",Number)],Te.prototype,"maxValue",void 0);Te=Sn([m({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),In("design:paramtypes",[Object])],Te);var St,Kr=(St=class extends Te{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(Mn.isGte(e.minValue)),e.maxValue&&t.push(Mn.isLte(e.maxValue)),t.length>0?Mn.pipe([ca,...t],{returnIndex:0}):ca}[_](e){return this[T](e)}},a(St,"BigintType"),St);Kr=uc([m({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),dc("design:paramtypes",[Object])],Kr);import{__decorate as hc,__metadata as yc}from"tslib";import{toBoolean as la}from"valgen";var It,Vr=(It=class{constructor(e){e&&Object.assign(this,e)}[T](){return la}[_](){return la}},a(It,"BooleanType"),It);Vr=hc([m({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),yc("design:paramtypes",[Object])],Vr);import{__decorate as Tc,__metadata as Ec}from"tslib";import{toInteger as fa,vg as vn}from"valgen";var Mt,Ke=(Mt=class extends Te{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(vn.isGte(e.minValue)),e.maxValue&&t.push(vn.isLte(e.maxValue)),t.length>0?vn.pipe([fa,...t],{returnIndex:0}):fa}[_](e){return this[T](e)}},a(Mt,"IntegerType"),Mt);Ke=Tc([m({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Ec("design:paramtypes",[Object])],Ke);import{__decorate as _c,__metadata as xc}from"tslib";import{isNull as ma}from"valgen";var vt,zr=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ma}[_](){return ma}},a(vt,"NullType"),vt);zr=_c([m({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),xc("design:paramtypes",[Object])],zr);import{__decorate as Oc,__metadata as gc}from"tslib";var Ft,Jr=(Ft=class{constructor(e){e&&Object.assign(this,e)}},a(Ft,"ObjectType"),Ft);Jr=Oc([ee({name:"object",description:"A non modelled object",additionalFields:!0}),gc("design:paramtypes",[Object])],Jr);import{__decorate as or,__metadata as nr}from"tslib";import{toString as ua,vg as Wr}from"valgen";var Lt,Ie=(Lt=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(Wr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Wr.lengthMin(e.minLength)),e.maxLength&&t.push(Wr.lengthMax(e.maxLength)),t.length>0?Wr.pipe([ua,...t],{returnIndex:0}):ua}[_](e){return this[T](e)}},a(Lt,"StringType"),Lt);or([m.Attribute({description:"Regex pattern to be used for validation"}),nr("design:type",Object)],Ie.prototype,"pattern",void 0);or([m.Attribute({description:"Name of the pattern"}),nr("design:type",String)],Ie.prototype,"patternName",void 0);or([m.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Ie.prototype,"minLength",void 0);or([m.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Ie.prototype,"maxLength",void 0);Ie=or([m({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),nr("design:paramtypes",[Object])],Ie);w.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[h]?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: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=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=sa(i,r),i};w.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i.KeyParam=Ne(i,r),i};w.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i.KeyParam=Ne(i,r),i};w.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i.KeyParam=Ne(i,r),i.Filter=Se(i,r,t.type),i};w.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[h]?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: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=q(t.type)}),i.Filter=Se(i,r,t.type),i};import{merge as Fn}from"@jsopen/objects";var Rc=/^(.*)(Controller)$/,da=[];function Pt(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Rc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(ne,Object.getPrototypeOf(r));s&&Fn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(ne,r);p&&Fn(n,p,{deep:!0}),Fn(n,{...o,kind:u.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),da.forEach(r=>r(t,e,o)),t}a(Pt,"RpcControllerDecoratorFactory");Pt.augment=function(o){da.push(o)};import{omit as Ac}from"@jsopen/objects";var ha=[];function sr(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:u.RpcOperation.Kind,channel:s,payloadType:e,...Ac(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(x=>String(x.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),ha.forEach(n=>n(i,o,e,t)),i}a(sr,"RpcOperationDecoratorFactory");sr.augment=function(o){ha.push(o)};import"reflect-metadata";import{omitUndefined as Dc}from"@jsopen/objects";import{asMutable as Nc}from"ts-gems";function Yr(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(Yr,"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;L.call(this,e,t,r);let i=Nc(this);if(i.kind=u.MappedType.Kind,t.base){if(!(t.base instanceof L))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=Yr(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,x]of i.base.fieldEntries()){if(!s(f))continue;let d={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(d.required=!0);let J=new P(this,d);i._fields.set(J.name,J)}(!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)}},"MappedType"),Pn=class Pn extends L{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof L?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 Dc({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Pn,"MappedTypeClass");var Ln=Pn;Ve.prototype=Ln.prototype;Ve._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as Sc}from"@jsopen/objects";import{asMutable as Ic}from"ts-gems";var kt=a(function(...o){if(!this)return kt[D].apply(void 0,o);let[e,t,r]=o;L.call(this,e,t,r);let i=Ic(this);i.kind=u.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new P(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),jn=class jn extends L{extendsFrom(e){if(e instanceof O||(e=this.node.getDataType(e)),!(e instanceof L))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 Sc({...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(jn,"MixinTypeClass");var kn=jn;kt.prototype=kn.prototype;kt[D]=Mc;function Mc(...o){let e=o.filter(s=>typeof s=="function"),t=typeof o[o.length-1]=="object"?o[o.length-1]:void 0;if(!e.length)throw new TypeError("No Class has been provided");if(e.length===1)return e[0];let r=e[0].name+"Mixin",i={[r]:class{constructor(){for(let s of e)dr(this,s)}}}[r],n={...t,kind:u.MixinType.Kind,types:[]};Reflect.defineMetadata(h,n,i);for(let s of e){let p=Reflect.getMetadata(h,s);if(!(p&&(p.kind===u.ComplexType.Kind||p.kind===u.MixinType.Kind||p.kind===u.MappedType.Kind)))throw new TypeError(`Class "${s.name}" is not a ${u.ComplexType.Kind}, ${u.MixinType.Kind} or ${u.MappedType.Kind}`);n.types.push(s),ur(i.prototype,s.prototype)}return i}a(Mc,"MixinTypeFactory");var Cn=Symbol("initializing"),Gr=class Gr{static async createDataType(e,t,r){e=e||new de({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Gr.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 de({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new I;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 x=this._createDataType(s,t,f);x&&p.push(x)});return p}static async _prepareAllInitArgs(e,t,r){let i=new I,n=new I,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 ae(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 ae(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 x;r=await ae(r);let{importQueue:i,initArgsMap:n}=e,s=t.node.findDataType(r);if(s instanceof O)return s.name;let p,c,f;if(typeof r!="string"){let J=t.node.getDocument().types[hr].get(r);J&&(r=J)}if(typeof r=="string"){let d=r;if(r=(i==null?void 0:i.get(d))||((x=e.initArgsMap)==null?void 0:x.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(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!==u.EnumType.Kind&&(p=void 0);else if(u.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(h,c),p&&p.kind===u.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==u.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:u.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let J=n==null?void 0:n.get(p.name);if(J)return J[Cn]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[Cn]=!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[j]=t.node[j];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case u.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case u.EnumType.Kind:d.instance=f,await this._prepareEnumTypeArgs(e,t,d,p);break;case u.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case u.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case u.SimpleType.Kind:d.ctor=c,await this._prepareSimpleTypeArgs(e,t,d,p);break;default:return e.addError(`Invalid data type kind ${p.kind}`)}}finally{d.name&&(i==null||i.delete(d.name)),delete d[Cn]}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,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=ze(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=ze(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:ze(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=ze(n))}),r.attributes=F(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 x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(h,x)&&(f=await this._importDataTypeArgs(e,t,x))}f&&(r.base=ze(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=F(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[_])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[_].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),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=ze(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(ze(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof O)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 u.ComplexType.Kind:return this._createComplexType(e,t,n);case u.EnumType.Kind:return this._createEnumType(e,t,n);case u.MappedType.Kind:return this._createMappedType(e,t,n);case u.MixinType.Kind:return this._createMixinType(e,t,n);case u.SimpleType.Kind:return this._createSimpleType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ee.prototype);let n=F(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=F(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=F(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=F(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 L))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,m.prototype);let n=F(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),m.apply(i,[t,n]),i}};a(Gr,"DataTypeFactory");var v=Gr;function ze(o){return typeof o=="object"&&o.name?o.name:o}a(ze,"preferName");import{isConstructor as Zc}from"@jsopen/objects";import{omitUndefined as Fc}from"@jsopen/objects";var Un=class Un extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return Fc({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(Un,"ApiBase");var jt=Un;import kc from"path-browserify";import{omitUndefined as jc}from"@jsopen/objects";import{asMutable as Cc}from"ts-gems";import{merge as Bn,omit as Lc}from"@jsopen/objects";var Pc=/^(.*)(Controller)$/;function $n(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Pc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(oe,Object.getPrototypeOf(r));s&&Bn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(oe,r);p&&Bn(n,p,{deep:!0}),Bn(n,{kind:u.HttpController.Kind,name:i,path:i,...Lc(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($n,"HttpControllerDecoratorFactory");var ie=a(function(...o){var i;if(!this)return ie[D].apply(void 0,o);let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Cc(this);r.kind=u.HttpController.Kind,r.types=r.node[j]=new re,r.operations=new I,r.controllers=new I,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"),Kn=class Kn extends R{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 kc.posix.join(this.owner instanceof ie?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=jc({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(Kn,"HttpControllerClass");var qn=Kn;ie.prototype=qn.prototype;Object.assign(ie,$n);ie[D]=$n;var Vn=class Vn extends jt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new I,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(Vn,"HttpApi");var Ct=Vn;import Uc from"@browsery/type-is";import{omitUndefined as Bc}from"@jsopen/objects";import{asMutable as $c}from"ts-gems";import{isAny as qc,vg as Kc}from"valgen";var Me=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,o);let t=$c(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 O?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Jn=class Jn extends R{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Bc({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=>Uc.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||qc,this.isArray?Kc.isArray(r):r}};a(Jn,"HttpMediaTypeClass");var zn=Jn;Me.prototype=zn.prototype;import{omitUndefined as Vc}from"@jsopen/objects";function Ut(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(Ut,"parseRegExp");var Wn=class Wn extends Me{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?Ut(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return Vc({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Wn,"HttpMultipartField");var Qr=Wn;import{omitUndefined as Jc}from"@jsopen/objects";var zc=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Yn=class Yn{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=zc.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(Yn,"HttpStatusRange");var ar=Yn;var Gn=class Gn 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 ar(r.start,r.end):new ar(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=Jc({...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(Gn,"HttpOperationResponse");var Xr=Gn;import{omitUndefined as Gc}from"@jsopen/objects";import{asMutable as Qc}from"ts-gems";import{omitUndefined as Wc}from"@jsopen/objects";import{asMutable as Yc}from"ts-gems";var Je=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,o);let t=Yc(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Xn=class Xn extends R{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Wc({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Xn,"ValueClass");var Qn=Xn;Je.prototype=Qn.prototype;var pr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=Qc(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Ut(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"),Hn=class Hn extends Je{toJSON(e){return Gc({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(Hn,"HttpParameterClass");var Zn=Hn;pr.prototype=Zn.prototype;import{omitUndefined as Xc}from"@jsopen/objects";var es=class es extends R{constructor(e){super(e),this.content=[]}toJSON(e){return Xc({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(es,"HttpRequestBody");var Zr=es;var ts=class ts{static async createApi(e,t){let r=new Ct(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"&&!Zc(r)&&(r=t instanceof ie?r(t.instance):r()),r=await ae(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 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 x=new pr(s,f);s.parameters.push(x)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let f=new w(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 w.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 pr(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 Xr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new Zr(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 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 Qr(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 pr(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(ts,"HttpApiFactory");var Bt=ts;import{omitUndefined as el}from"@jsopen/objects";import{md5 as tl}from"super-fast-md5";var rs=class rs extends jt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new I,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(rs,"RpcApi");var $t=rs;var ya,is=class is extends R{constructor(){super(null),this[ya]=new WeakMap,this.id="",this.info={},this.references=new I,this.types=new re,this.node[j]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof O?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 Ct))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof $t))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(e){let t=el({spec:u.SpecVersion,id:this.id,url:this.url,info:F(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:F(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=tl(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=Fs.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(is,"ApiDocument");var We=is;ya=ge;function ve(o,e,t){let r=Yr(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"&&dr(this,o,r)}}}[n];if(typeof o=="function"&&ur(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===u.ComplexType.Kind||c.kind===u.MappedType.Kind||c.kind===u.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${u.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 U4(o,e,t){return ve(o,{omit:e},t)}a(U4,"OmitType");function K4(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(K4,"PartialType");function W4(o,e,t){return ve(o,{pick:e},t)}a(W4,"PickType");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,{required:t},r)}a(X4,"RequiredType");import{isConstructor as cl}from"@jsopen/objects";import{omitUndefined as rl}from"@jsopen/objects";import{asMutable as il}from"ts-gems";var Ye=a(function(...o){var i;if(!this)return Ye[D].apply(void 0,o);let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=il(this);r.kind=u.RpcController.Kind,r.types=r.node[j]=new re,r.operations=new I,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"),ns=class ns extends R{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=rl({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(ns,"RpcControllerClass");var os=ns;Ye.prototype=os.prototype;Object.assign(Ye,Pt);Ye[D]=Pt;import{omitUndefined as ol}from"@jsopen/objects";import{asMutable as nl}from"ts-gems";var cr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=nl(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Ut(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),as=class as extends Je{toJSON(){return ol({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(as,"RpcHeaderClass");var ss=as;cr.prototype=ss.prototype;import{omitUndefined as sl}from"@jsopen/objects";import{asMutable as al}from"ts-gems";var lr=a(function(...o){if(!this){let[i,n]=o,s=[];return lr[D].call(void 0,s,i,n)}let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=al(this);r.headers=[],r.types=r.node[j]=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 O?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof O?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),cs=class cs extends R{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=sl({kind:u.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(cs,"RpcOperationClass");var ps=cs;lr.prototype=ps.prototype;lr[D]=sr;import{omitUndefined as pl}from"@jsopen/objects";var ls=class ls extends R{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.payloadType?this.payloadType=(t==null?void 0:t.payloadType)instanceof O?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 O?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=pl({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(ls,"RpcOperationResponse");var Hr=ls;var fs=class fs{static async createApi(e,t){let r=new $t(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"&&!cl(r)&&(r=r()),r=await ae(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 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 x of s.headers)await e.enterAsync(`[${f++}]`,async()=>{let d={...x};await e.enterAsync(".type",async()=>{x.type&&(d.type=c.node.findDataType(x.type)),!d.type&&typeof x.type=="object"&&(d.type=await v.createDataType(e,c,x.type)),d.type||(d.type=c.node.getDataType("any"))});let J=new cr(c,d);c.headers.push(J)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[f,x]of Object.entries(s.operations))await e.enterAsync(`[${f}]`,async()=>{let d=new lr(c,{...x,name:f,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,x),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await 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 cr(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new Hr(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 cr(t,s);t.headers.push(p)})})}};a(fs,"RpcApiFactory");var ei=fs;var ll="https://oprajs.com/spec/v"+u.SpecVersion,ti=class ti{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new ti,i=t instanceof de?t:new de(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 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=>`
|
|
9
|
+
`));throw x.errors=s,x}return e=e||new Qt,e.visit(c)}a(Uo,"parse");var Bo=class Bo{constructor(e,t){if(this._rules=new I,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new I(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,np({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?Uo(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof ce){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 Ee({message:b("error:UNACCEPTED_FILTER_FIELD",{field:e.left.value}),code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Ee({message:b("error:UNACCEPTED_FILTER_OPERATION",{field:e.left.value}),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 le)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 _e)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof 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 M){let n=t.findLastIndex(s=>s instanceof ce);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=sp: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 Xe=Bo;import{asMutable as _p}from"ts-gems";import{validator as xp,vg as se}from"valgen";import{omitUndefined as Tp}from"@jsopen/objects";import{asMutable as Ep}from"ts-gems";import{asMutable as hp}from"ts-gems";import{uid as yp}from"uid";var u={};ds(u,{ComplexType:()=>Ze,EnumType:()=>He,HttpController:()=>Zt,HttpOperation:()=>$o,MappedType:()=>et,MixinType:()=>tt,RpcController:()=>qo,RpcOperation:()=>Ko,SimpleType:()=>rt,SpecVersion:()=>ap,isComplexType:()=>cp,isDataType:()=>pp,isEnumType:()=>up,isHttpController:()=>dp,isMappedType:()=>mp,isMixinType:()=>fp,isSimpleType:()=>lp});var ap="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 Zt;(function(o){o.Kind="HttpController"})(Zt||(Zt={}));var $o;(function(o){o.Kind="HttpOperation"})($o||($o={}));var qo;(function(o){o.Kind="RpcController"})(qo||(qo={}));var Ko;(function(o){o.Kind="RpcOperation"})(Ko||(Ko={}));function pp(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)}a(pp,"isDataType");function cp(o){return o&&typeof o=="object"&&o.kind===Ze.Kind}a(cp,"isComplexType");function lp(o){return o&&typeof o=="object"&&o.kind===rt.Kind}a(lp,"isSimpleType");function fp(o){return o&&typeof o=="object"&&o.kind===tt.Kind}a(fp,"isMixinType");function mp(o){return o&&typeof o=="object"&&o.kind===et.Kind}a(mp,"isMappedType");function up(o){return o&&typeof o=="object"&&o.kind===He.Kind}a(up,"isEnumType");function dp(o){return o&&typeof o=="object"&&o.kind===Zt.Kind}a(dp,"isHttpController");var Vo=class Vo{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(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===u.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===u.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===u.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===u.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(Vo,"DocumentNode");var Fr=Vo;var R=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=hp(this);e.id=yp(16),Object.defineProperty(e,"node",{value:new Fr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Jo=class Jo{};a(Jo,"DocumentElementClass");var zo=Jo;R.prototype=zo.prototype;var it=Symbol.for("nodejs.util.inspect.custom"),qe="\x1B[0m",ot="\x1B[33m",nt="\x1B[35m";function Ht(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(Ht,"testScopeMatch");var O=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`);R.call(this,o);let r=Ep(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"),Yo=class Yo extends R{get embedded(){return!this.name}inScope(e){return Ht(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 Tp({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(Yo,"DataTypeClass");var Wo=Yo;O.prototype=Wo.prototype;var st=/^([+-])?([a-z$_][\w.]*)$/i,L=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;O.call(this,e,t,r);let i=_p(this);i._fields=new I},"ComplexTypeBase"),Qo=class Qo extends O{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,J,ms;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),f=t==null?void 0:t.allowSigns,x=a(()=>p.map(ve=>ve.fieldName).join("."),"getStrPath");for(let ve=0;ve<s;ve++){let W={fieldName:n[ve],dataType:c};p.push(W);let fr=st.exec(n[ve]);if(!fr)throw new TypeError(`Invalid field name (${x()})`);if(fr[1]&&((ve===0&&f==="first"||f==="each")&&(W.sign=fr[1]),W.fieldName=fr[2]),r){if(r instanceof L){if(i=r.findField(W.fieldName,t==null?void 0:t.scope),i){W.fieldName=i.name,W.field=i,W.dataType=i.type,r=i.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){W.additionalField=!0,W.dataType=c,r=void 0;continue}if(((J=r.additionalFields)==null?void 0:J[0])==="type"&&((ms=r.additionalFields)==null?void 0:ms[1])instanceof O){W.additionalField=!0,W.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(ri=>ri.fieldName).join(".")})`)}throw new TypeError(`"${p.map(ri=>ri.fieldName).join(".")}" field is not a complex type and has no child fields`)}W.additionalField=!0,W.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)?ks(t.projection):t==null?void 0:t.projection,i=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof O)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=xp((p,c,f)=>c.fail(f,s,p))}return se.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]=se.isUndefined({coerce:!0});continue}p=f.name;let x;if(n!=="*"&&(x=n==null?void 0:n[p.toLowerCase()],(x==null?void 0:x.sign)==="-"||s&&!x||!s&&f.exclusive&&!x)){r[f.name]=se.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?se.optional(d):se.required(d)}return t.allowPatchOperators&&(r._$pull=se.optional(se.isAny()),r._$push=se.optional(se.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,r);return t.fixed&&(i=se.isEnum([t.fixed])),t.isArray&&(i=se.isArray(i)),i}};a(Qo,"ComplexTypeBaseClass");var Go=Qo;L.prototype=Go.prototype;import"reflect-metadata";import{omitUndefined as Xo}from"@jsopen/objects";import{asMutable as Op}from"ts-gems";import{vg as gp}from"valgen";var Z=a(function(...o){if(!this)return Z[D].apply(void 0,o);let[e,t,r]=o;O.call(this,e,t,r);let i=Op(this);if(i.kind=u.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"),Zo=class Zo extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof Z?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return gp.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Xo({...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(Zo,"EnumTypeClass");var er=Zo;Z.prototype=er.prototype;Object.assign(Z,er);function Rp(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]=Xo({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]]=Xo({alias:p,description:c})})}let s={kind:u.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,h,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Rp,"EnumTypeFactory");Z.prototype=er.prototype;Z[D]=Rp;import{__decorate as Ap,__metadata as bp}from"tslib";import{vg as Js}from"valgen";import"reflect-metadata";import{omitUndefined as Vs}from"@jsopen/objects";import{asMutable as wp}from"ts-gems";import{isAny as zs}from"valgen";function Ho(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(h,r)||{};o&&Object.assign(n,o),n.kind=u.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(Ho,"SimpleTypeDecoratorFactory");function Ks(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=u.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(h,r,e.constructor)}}a(Ks,"AttributeDecoratorFactory");var m=a(function(...o){var n,s;if(!this)return m[D](...o);let[e,t,r]=o;O.call(this,e,t,r);let i=wp(this);if(i.kind=u.SimpleType.Kind,t.base){if(!(t.base instanceof m))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);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"),tn=class tn extends O{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof m?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 zs}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 zs}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i=Vs(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}),Vs(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(tn,"SimpleTypeClass");var en=tn;m.prototype=en.prototype;Object.assign(m,Ho);m[D]=Ho;m.Attribute=Ks;var at,vr=(at=class{constructor(e){e&&Object.assign(this,e)}[T](){return Js.isBase64({coerce:!0})}[_](){return Js.isBase64({coerce:!0})}},a(at,"Base64Type"),at);vr=Ap([m({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),bp("design:paramtypes",[Object])],vr);import{__decorate as rn,__metadata as on}from"tslib";import{isDateString as Lr,toString as Ws,vg as Ae}from"valgen";var pt,ct=(pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ae.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&(Lr(e.minValue),r.push(Ws,Ae.isGte(e.minValue))),e.maxValue&&(Lr(e.maxValue),r.push(Ws,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[_](e){let t=Ae.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue&&(Lr(e.minValue),r.push(Ae.isGte(e.minValue))),e.maxValue&&(Lr(e.maxValue),r.push(Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}},a(pt,"DateType"),pt);rn([m.Attribute({description:"Minimum value"}),on("design:type",String)],ct.prototype,"minValue",void 0);rn([m.Attribute({description:"Maximum value"}),on("design:type",String)],ct.prototype,"maxValue",void 0);ct=rn([m({name:"date",description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),on("design:paramtypes",[Object])],ct);import{__decorate as nn,__metadata as sn}from"tslib";import{vg as Pr}from"valgen";var lt,ft=(lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Pr.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue&&r.push(Pr.isGte(e.minValue)),e.maxValue&&r.push(Pr.isLte(e.maxValue)),r.length>0?Pr.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[T](e)}},a(lt,"DateStringType"),lt);nn([m.Attribute({description:"Minimum value"}),sn("design:type",String)],ft.prototype,"minValue",void 0);nn([m.Attribute({description:"Maximum value"}),sn("design:type",String)],ft.prototype,"maxValue",void 0);ft=nn([m({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"),sn("design:paramtypes",[Object])],ft);import{__decorate as an,__metadata as pn}from"tslib";import{isDateString as kr,toString as Ys,vg as be}from"valgen";var mt,ut=(mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=be.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&(kr(e.minValue),r.push(Ys,be.isGte(e.minValue))),e.maxValue&&(kr(e.maxValue),r.push(Ys,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[_](e){let t=be.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&(kr(e.minValue),r.push(be.isGte(e.minValue))),e.maxValue&&(kr(e.maxValue),r.push(be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}},a(mt,"DateTimeType"),mt);an([m.Attribute({description:"Minimum value"}),pn("design:type",String)],ut.prototype,"minValue",void 0);an([m.Attribute({description:"Maximum value"}),pn("design:type",String)],ut.prototype,"maxValue",void 0);ut=an([m({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"),pn("design:paramtypes",[Object])],ut);import{__decorate as cn,__metadata as ln}from"tslib";import{vg as jr}from"valgen";var dt,ht=(dt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=jr.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(jr.isGte(e.minValue)),e.maxValue&&r.push(jr.isLte(e.maxValue)),r.length>0?jr.pipe([t,...r]):t}[_](e){return this[T](e)}},a(dt,"DateTimeStringType"),dt);cn([m.Attribute({description:"Minimum value"}),ln("design:type",String)],ht.prototype,"minValue",void 0);cn([m.Attribute({description:"Maximum value"}),ln("design:type",String)],ht.prototype,"maxValue",void 0);ht=cn([m({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"),ln("design:paramtypes",[Object])],ht);import{__decorate as me,__metadata as ue}from"tslib";import{vg as Gs}from"valgen";var yt,G=(yt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Gs.isEmail({...e,coerce:!0})}[_](e){return Gs.isEmail({...e,coerce:!0})}},a(yt,"EmailType"),yt);me([m.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),ue("design:type",Boolean)],G.prototype,"allowDisplayName",void 0);me([m.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),ue("design:type",Boolean)],G.prototype,"requireDisplayName",void 0);me([m.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),ue("design:type",Boolean)],G.prototype,"utf8LocalPart",void 0);me([m.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),ue("design:type",Boolean)],G.prototype,"ignoreMaxLength",void 0);me([m.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),ue("design:type",Boolean)],G.prototype,"allowIpDomain",void 0);me([m.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),ue("design:type",Boolean)],G.prototype,"domainSpecificValidation",void 0);me([m.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),ue("design:type",Array)],G.prototype,"hostBlacklist",void 0);me([m.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),ue("design:type",Array)],G.prototype,"hostWhitelist",void 0);me([m.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),ue("design:type",String)],G.prototype,"blacklistedChars",void 0);G=me([m({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),ue("design:paramtypes",[Object])],G);import{__decorate as fn,__metadata as mn}from"tslib";import{toString as Dp,validator as Np,vg as Sp}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=Np("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return Sp.pipe([Dp,s])}[_](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");O.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);fn([m.Attribute({description:"Data type which field belong to"}),mn("design:type",Object)],$.prototype,"dataType",void 0);fn([m.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),mn("design:type",String)],$.prototype,"allowSigns",void 0);$=fn([m({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),mn("design:paramtypes",[Object])],$);import{__decorate as un,__metadata as dn}from"tslib";import{validator as Xs}from"valgen";var tr={};ds(tr,{$and:()=>Mp,$arithmetic:()=>Gp,$array:()=>Qs,$date:()=>Fp,$eq:()=>kp,$field:()=>Pp,$gt:()=>Cp,$gte:()=>Up,$ilike:()=>Jp,$in:()=>qp,$like:()=>Vp,$lt:()=>Bp,$lte:()=>$p,$ne:()=>jp,$notILike:()=>Wp,$notIn:()=>Kp,$notLike:()=>zp,$number:()=>Lp,$or:()=>Ip,$paren:()=>Yp,$time:()=>vp,ArithmeticExpression:()=>je,ArithmeticExpressionItem:()=>Tr,ArrayExpression:()=>_e,Ast:()=>Vt,BooleanLiteral:()=>Ce,ComparisonExpression:()=>ce,DateLiteral:()=>we,DateTimeLiteral:()=>Wt,Expression:()=>C,FilterTreeVisitor:()=>Qt,Literal:()=>M,LogicalExpression:()=>le,NegativeExpression:()=>zt,NullLiteral:()=>Ue,NumberLiteral:()=>Oe,OpraErrorListener:()=>Xt,ParenthesizedExpression:()=>xe,QualifiedIdentifier:()=>X,StringLiteral:()=>Be,Term:()=>ke,TimeLiteral:()=>$e,parse:()=>Uo});function Ip(...o){return new le({op:"or",items:o})}a(Ip,"$or");function Mp(...o){return new le({op:"and",items:o})}a(Mp,"$and");function Fp(o){return new we(o)}a(Fp,"$date");function vp(o){return new $e(o)}a(vp,"$time");function Lp(o){return new Oe(o)}a(Lp,"$number");function Qs(...o){return new _e(o.map(Cr))}a(Qs,"$array");function Pp(o){return new X(o)}a(Pp,"$field");function kp(o,e){return H("=",o,e)}a(kp,"$eq");function jp(o,e){return H("!=",o,e)}a(jp,"$ne");function Cp(o,e){return H(">",o,e)}a(Cp,"$gt");function Up(o,e){return H(">=",o,e)}a(Up,"$gte");function Bp(o,e){return H("<",o,e)}a(Bp,"$lt");function $p(o,e){return H("<=",o,e)}a($p,"$lte");function qp(o,e){return H("in",o,e)}a(qp,"$in");function Kp(o,e){return H("!in",o,e)}a(Kp,"$notIn");function Vp(o,e){return H("like",o,e)}a(Vp,"$like");function zp(o,e){return H("!like",o,e)}a(zp,"$notLike");function Jp(o,e){return H("ilike",o,e)}a(Jp,"$ilike");function Wp(o,e){return H("!ilike",o,e)}a(Wp,"$notILike");function Yp(o){return new xe(o)}a(Yp,"$paren");function Gp(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("+",Cr(o)),e}a(Gp,"$arithmetic");function H(o,e,t){let r=typeof e=="string"?new X(e):Cr(e),i=Cr(t);return new ce({op:o,left:r,right:i})}a(H,"comparisonExpression");var Cr=a(o=>Array.isArray(o)?Qs(...o.map(Et)):Et(o),"wrapEntryValue"),Et=a(o=>o instanceof C?o:typeof o=="boolean"?new Ce(o):typeof o=="number"||typeof o=="bigint"?new Oe(o):o==null?new Ue:o instanceof Date?new we(o):new Be(""+o),"_wrapEntryValue");var _t,De=(_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 Xe(e.rules):void 0;return Qp(r,i)}[_](){return Xp}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");O.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);un([m.Attribute({description:"Data type which filtering fields belong to"}),dn("design:type",Object)],De.prototype,"dataType",void 0);un([m.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),dn("design:type",Object)],De.prototype,"rules",void 0);De=un([m({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),dn("design:paramtypes",[Object])],De);var Qp=a((o,e,t)=>Xs("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=tr.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"),Xp=Xs("encodeFilter",(o,e,t)=>{if(o instanceof tr.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as Zp,__metadata as Hp}from"tslib";import{vg as Zs}from"valgen";var xt,Ur=(xt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Zs.isObjectId({coerce:!0})}[_](){return Zs.isObjectId({coerce:!0})}},a(xt,"ObjectIdType"),xt);Ur=Zp([m({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),Hp("design:paramtypes",[Object])],Ur);import{__decorate as he,__metadata as ye}from"tslib";import{omitUndefined as Hs}from"@jsopen/objects";import{asMutable as tc}from"ts-gems";import{omitUndefined as ec}from"@jsopen/objects";function hn(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=u.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(ec({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(hn,"ApiFieldDecoratorFactory");var P=a(function(...o){if(!this){let[n]=o;return P[D](n)}let[e,t]=o;R.call(this,e);let r=tc(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof L))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"),Tn=class Tn extends R{inScope(e){return Ht(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(Ht(e,r.scopePattern)){t=Hs({...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 Hs({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(Tn,"ApiFieldClass");var yn=Tn;P.prototype=yn.prototype;Object.assign(P,hn);P[D]=hn;import"reflect-metadata";import{omitUndefined as ic}from"@jsopen/objects";import{asMutable as oc}from"ts-gems";var En=class En extends Ee{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(En,"OpraDocumentError");var Ot=En;var _n=class _n{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(_n,"DocumentInitContext");var de=_n;import{omit as rc}from"@jsopen/objects";function xn(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(h,e);r||(r={},Reflect.defineMetadata(h,r,e)),r.kind=u.ComplexType.Kind,r.name=t,o&&Object.assign(r,rc(o,["name"]))}}a(xn,"ComplexTypeDecorator");var ee=a(function(...o){var n;if(!this)return ee[D].apply(void 0,o);let[e,t]=o,r=o[2]||new de({maxErrors:0});L.call(this,e,t,r);let i=oc(this);i.kind=u.ComplexType.Kind,t.base&&r.enter(".base",()=>{if(!(t.base instanceof L))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"),gn=class gn extends L{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof L?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};if(this.additionalFields)if(this.additionalFields instanceof O){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 ic(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(gn,"ComplexTypeClass");var On=gn;ee.prototype=On.prototype;Object.assign(ee,xn);ee[D]=xn;var gt,Q=(gt=class{constructor(e){e&&Object.assign(this,e)}},a(gt,"OperationResult"),gt);he([P(),ye("design:type",Number)],Q.prototype,"affected",void 0);he([P(),ye("design:type",Number)],Q.prototype,"totalMatches",void 0);he([P(),ye("design:type",String)],Q.prototype,"context",void 0);he([P(),ye("design:type",String)],Q.prototype,"type",void 0);he([P(),ye("design:type",String)],Q.prototype,"message",void 0);he([P({type:"any"}),ye("design:type",Object)],Q.prototype,"payload",void 0);he([P({type:"object"}),ye("design:type",Array)],Q.prototype,"errors",void 0);Q=he([ee({name:"OperationResult",description:"Operation result"}),ye("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 he([P({type:t,required:!0}),ye("design:type",Object)],r.prototype,"payload",void 0),r=he([ee({embedded:!0}),ye("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Q||(Q={}));import{__decorate as Rn,__metadata as wn}from"tslib";import{vg as Br}from"valgen";var nc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Rt,wt=(Rt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Br.matches(nc,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push(Br.isGte(e.minValue)),e.maxValue&&r.push(Br.isLte(e.maxValue)),r.length>0?Br.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[T](e)}},a(Rt,"TimeType"),Rt);Rn([m.Attribute({description:"Minimum value"}),wn("design:type",String)],wt.prototype,"minValue",void 0);Rn([m.Attribute({description:"Maximum value"}),wn("design:type",String)],wt.prototype,"maxValue",void 0);wt=Rn([m({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"),wn("design:paramtypes",[Object])],wt);import{__decorate as sc,__metadata as ac}from"tslib";import{vg as ea}from"valgen";var At,$r=(At=class{constructor(e){e&&Object.assign(this,e)}[T](){return ea.isURL({coerce:!0})}[_](){return ea.isURL({coerce:!0})}},a(At,"UrlType"),At);$r=sc([m({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),ac("design:paramtypes",[Object])],$r);import{__decorate as ra,__metadata as ia}from"tslib";import{vg as ta}from"valgen";var bt,rr=(bt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return ta.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return ta.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(bt,"UuidType"),bt);ra([m.Attribute({description:"Version of the UUID"}),ia("design:type",Number)],rr.prototype,"version",void 0);rr=ra([m({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),ia("design:paramtypes",[Object])],rr);import pc from"path-browserify";import{omitUndefined as cc}from"@jsopen/objects";import{asMutable as lc}from"ts-gems";var oa,na,te=Symbol.for("kMap"),ir=Symbol.for("kCtorMap"),An=class An{constructor(){this[oa]=new I,this[na]=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[ir].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[ir].set(t.ctor,e):t.instance&&this[ir].set(t.instance,e)}has(e){if(e instanceof O)return!!e.name&&this[te].has(e.name);let t=typeof e=="string"?e:this[ir].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}[(oa=te,na=ir,Symbol.iterator)](){return this[te][Symbol.iterator]()}};a(An,"DataTypeMap");var re=An;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:u.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(S,"HttpOperationDecoratorFactory");var w=a(function(...o){if(!this){let[i]=o,n=[];return w[D].call(void 0,n,i)}let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=lc(this);r.parameters=[],r.responses=[],r.types=r.node[j]=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"),Dn=class Dn extends R{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:pc.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=cc({kind:u.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(Dn,"HttpOperationClass");var bn=Dn;w.prototype=bn.prototype;w[D]=S;w.GET=function(o){return S([],{...o,method:"GET"})};w.DELETE=function(o){return S([],{...o,method:"DELETE"})};w.HEAD=function(o){return S([],{...o,method:"HEAD"})};w.OPTIONS=function(o){return S([],{...o,method:"OPTIONS"})};w.PATCH=function(o){return S([],{...o,method:"PATCH"})};w.POST=function(o){return S([],{...o,method:"POST"})};w.PUT=function(o){return S([],{...o,method:"PUT"})};w.SEARCH=function(o){return S([],{...o,method:"SEARCH"})};w.Entity={};function q(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(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 sa(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(sa,"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");w.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i};w.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[h]?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: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=q(t.type)}),i.KeyParam=Ne(i,r),i};w.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[h]?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: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=q(t.type)}),i.Filter=Se(i,r,t.type),i};import{__decorate as fc,__metadata as mc}from"tslib";import{isAny as aa}from"valgen";var Dt,qr=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](){return aa}[_](){return aa}},a(Dt,"AnyType"),Dt);qr=fc([m({name:"any",description:"Represents any value"}),mc("design:paramtypes",[Object])],qr);import{__decorate as uc,__metadata as dc}from"tslib";import{toBigint as ca,vg as Mn}from"valgen";import{__decorate as Sn,__metadata as In}from"tslib";import{toNumber as pa,vg as Nn}from"valgen";var Nt,Te=(Nt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue&&t.push(Nn.isGte(e.minValue)),e.maxValue&&t.push(Nn.isLte(e.maxValue)),t.length>0?Nn.pipe([pa,...t],{returnIndex:0}):pa}[_](e){return this[T](e)}},a(Nt,"NumberType"),Nt);Sn([m.Attribute({description:"Determines the minimum value"}),In("design:type",Number)],Te.prototype,"minValue",void 0);Sn([m.Attribute({description:"Determines the maximum value"}),In("design:type",Number)],Te.prototype,"maxValue",void 0);Te=Sn([m({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),In("design:paramtypes",[Object])],Te);var St,Kr=(St=class extends Te{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(Mn.isGte(e.minValue)),e.maxValue&&t.push(Mn.isLte(e.maxValue)),t.length>0?Mn.pipe([ca,...t],{returnIndex:0}):ca}[_](e){return this[T](e)}},a(St,"BigintType"),St);Kr=uc([m({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),dc("design:paramtypes",[Object])],Kr);import{__decorate as hc,__metadata as yc}from"tslib";import{toBoolean as la}from"valgen";var It,Vr=(It=class{constructor(e){e&&Object.assign(this,e)}[T](){return la}[_](){return la}},a(It,"BooleanType"),It);Vr=hc([m({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),yc("design:paramtypes",[Object])],Vr);import{__decorate as Tc,__metadata as Ec}from"tslib";import{toInteger as fa,vg as Fn}from"valgen";var Mt,Ke=(Mt=class extends Te{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(Fn.isGte(e.minValue)),e.maxValue&&t.push(Fn.isLte(e.maxValue)),t.length>0?Fn.pipe([fa,...t],{returnIndex:0}):fa}[_](e){return this[T](e)}},a(Mt,"IntegerType"),Mt);Ke=Tc([m({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Ec("design:paramtypes",[Object])],Ke);import{__decorate as _c,__metadata as xc}from"tslib";import{isNull as ma}from"valgen";var Ft,zr=(Ft=class{constructor(e){e&&Object.assign(this,e)}[T](){return ma}[_](){return ma}},a(Ft,"NullType"),Ft);zr=_c([m({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),xc("design:paramtypes",[Object])],zr);import{__decorate as Oc,__metadata as gc}from"tslib";var vt,Jr=(vt=class{constructor(e){e&&Object.assign(this,e)}},a(vt,"ObjectType"),vt);Jr=Oc([ee({name:"object",description:"A non modelled object",additionalFields:!0}),gc("design:paramtypes",[Object])],Jr);import{__decorate as or,__metadata as nr}from"tslib";import{toString as ua,vg as Wr}from"valgen";var Lt,Ie=(Lt=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(Wr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Wr.lengthMin(e.minLength)),e.maxLength&&t.push(Wr.lengthMax(e.maxLength)),t.length>0?Wr.pipe([ua,...t],{returnIndex:0}):ua}[_](e){return this[T](e)}},a(Lt,"StringType"),Lt);or([m.Attribute({description:"Regex pattern to be used for validation"}),nr("design:type",Object)],Ie.prototype,"pattern",void 0);or([m.Attribute({description:"Name of the pattern"}),nr("design:type",String)],Ie.prototype,"patternName",void 0);or([m.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Ie.prototype,"minLength",void 0);or([m.Attribute({description:"Minimum number of characters"}),nr("design:type",Number)],Ie.prototype,"maxLength",void 0);Ie=or([m({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),nr("design:paramtypes",[Object])],Ie);w.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[h]?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: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=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=sa(i,r),i};w.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i.KeyParam=Ne(i,r),i};w.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i.KeyParam=Ne(i,r),i};w.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[h]?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 $({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=q(t.type)}),i.KeyParam=Ne(i,r),i.Filter=Se(i,r,t.type),i};w.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[h]?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: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=q(t.type)}),i.Filter=Se(i,r,t.type),i};import{merge as vn}from"@jsopen/objects";var Rc=/^(.*)(Controller)$/,da=[];function Pt(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Rc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(ne,Object.getPrototypeOf(r));s&&vn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(ne,r);p&&vn(n,p,{deep:!0}),vn(n,{...o,kind:u.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),da.forEach(r=>r(t,e,o)),t}a(Pt,"RpcControllerDecoratorFactory");Pt.augment=function(o){da.push(o)};import{omit as Ac}from"@jsopen/objects";var ha=[];function sr(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:u.RpcOperation.Kind,channel:s,payloadType:e,...Ac(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(x=>String(x.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),ha.forEach(n=>n(i,o,e,t)),i}a(sr,"RpcOperationDecoratorFactory");sr.augment=function(o){ha.push(o)};import"reflect-metadata";import{omitUndefined as Dc}from"@jsopen/objects";import{asMutable as Nc}from"ts-gems";function Yr(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(Yr,"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;L.call(this,e,t,r);let i=Nc(this);if(i.kind=u.MappedType.Kind,t.base){if(!(t.base instanceof L))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=Yr(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,x]of i.base.fieldEntries("*")){if(!s(f))continue;let d={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(d.required=!0);let J=new P(this,d);i._fields.set(J.name,J)}(!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)}},"MappedType"),Pn=class Pn extends L{extendsFrom(e){var t;return e instanceof O||(e=this.node.getDataType(e)),e instanceof L?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 Dc({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Pn,"MappedTypeClass");var Ln=Pn;Ve.prototype=Ln.prototype;Ve._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as Sc}from"@jsopen/objects";import{asMutable as Ic}from"ts-gems";var kt=a(function(...o){if(!this)return kt[D].apply(void 0,o);let[e,t,r]=o;L.call(this,e,t,r);let i=Ic(this);i.kind=u.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new P(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),jn=class jn extends L{extendsFrom(e){if(e instanceof O||(e=this.node.getDataType(e)),!(e instanceof L))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 Sc({...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(jn,"MixinTypeClass");var kn=jn;kt.prototype=kn.prototype;kt[D]=Mc;function Mc(...o){let e=o.filter(s=>typeof s=="function"),t=typeof o[o.length-1]=="object"?o[o.length-1]:void 0;if(!e.length)throw new TypeError("No Class has been provided");if(e.length===1)return e[0];let r=e[0].name+"Mixin",i={[r]:class{constructor(){for(let s of e)dr(this,s)}}}[r],n={...t,kind:u.MixinType.Kind,types:[]};Reflect.defineMetadata(h,n,i);for(let s of e){let p=Reflect.getMetadata(h,s);if(!(p&&(p.kind===u.ComplexType.Kind||p.kind===u.MixinType.Kind||p.kind===u.MappedType.Kind)))throw new TypeError(`Class "${s.name}" is not a ${u.ComplexType.Kind}, ${u.MixinType.Kind} or ${u.MappedType.Kind}`);n.types.push(s),ur(i.prototype,s.prototype)}return i}a(Mc,"MixinTypeFactory");var Cn=Symbol("initializing"),Gr=class Gr{static async createDataType(e,t,r){e=e||new de({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Gr.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 de({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new I;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 x=this._createDataType(s,t,f);x&&p.push(x)});return p}static async _prepareAllInitArgs(e,t,r){let i=new I,n=new I,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 ae(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 ae(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 x;r=await ae(r);let{importQueue:i,initArgsMap:n}=e,s=t.node.findDataType(r);if(s instanceof O)return s.name;let p,c,f;if(typeof r!="string"){let J=t.node.getDocument().types[hr].get(r);J&&(r=J)}if(typeof r=="string"){let d=r;if(r=(i==null?void 0:i.get(d))||((x=e.initArgsMap)==null?void 0:x.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(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!==u.EnumType.Kind&&(p=void 0);else if(u.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(h,c),p&&p.kind===u.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==u.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:u.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let J=n==null?void 0:n.get(p.name);if(J)return J[Cn]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[Cn]=!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[j]=t.node[j];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case u.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case u.EnumType.Kind:d.instance=f,await this._prepareEnumTypeArgs(e,t,d,p);break;case u.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case u.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case u.SimpleType.Kind:d.ctor=c,await this._prepareSimpleTypeArgs(e,t,d,p);break;default:return e.addError(`Invalid data type kind ${p.kind}`)}}finally{d.name&&(i==null||i.delete(d.name)),delete d[Cn]}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,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=ze(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=ze(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:ze(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=ze(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 x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(h,x)&&(f=await this._importDataTypeArgs(e,t,x))}f&&(r.base=ze(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[_])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[_].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),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=ze(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(ze(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof O)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 u.ComplexType.Kind:return this._createComplexType(e,t,n);case u.EnumType.Kind:return this._createEnumType(e,t,n);case u.MappedType.Kind:return this._createMappedType(e,t,n);case u.MixinType.Kind:return this._createMixinType(e,t,n);case u.SimpleType.Kind:return this._createSimpleType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let 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 L))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,m.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),m.apply(i,[t,n]),i}};a(Gr,"DataTypeFactory");var F=Gr;function ze(o){return typeof o=="object"&&o.name?o.name:o}a(ze,"preferName");import{isConstructor as Zc}from"@jsopen/objects";import{omitUndefined as vc}from"@jsopen/objects";var Un=class Un extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return vc({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(Un,"ApiBase");var jt=Un;import kc from"path-browserify";import{omitUndefined as jc}from"@jsopen/objects";import{asMutable as Cc}from"ts-gems";import{merge as Bn,omit as Lc}from"@jsopen/objects";var Pc=/^(.*)(Controller)$/;function $n(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Pc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(oe,Object.getPrototypeOf(r));s&&Bn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(oe,r);p&&Bn(n,p,{deep:!0}),Bn(n,{kind:u.HttpController.Kind,name:i,path:i,...Lc(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($n,"HttpControllerDecoratorFactory");var ie=a(function(...o){var i;if(!this)return ie[D].apply(void 0,o);let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Cc(this);r.kind=u.HttpController.Kind,r.types=r.node[j]=new re,r.operations=new I,r.controllers=new I,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"),Kn=class Kn extends R{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 kc.posix.join(this.owner instanceof ie?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=jc({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(Kn,"HttpControllerClass");var qn=Kn;ie.prototype=qn.prototype;Object.assign(ie,$n);ie[D]=$n;var Vn=class Vn extends jt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new I,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(Vn,"HttpApi");var Ct=Vn;import Uc from"@browsery/type-is";import{omitUndefined as Bc}from"@jsopen/objects";import{asMutable as $c}from"ts-gems";import{isAny as qc,vg as Kc}from"valgen";var Me=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,o);let t=$c(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 O?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Jn=class Jn extends R{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Bc({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=>Uc.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||qc,this.isArray?Kc.isArray(r):r}};a(Jn,"HttpMediaTypeClass");var zn=Jn;Me.prototype=zn.prototype;import{omitUndefined as Vc}from"@jsopen/objects";function Ut(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(Ut,"parseRegExp");var Wn=class Wn extends Me{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?Ut(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return Vc({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Wn,"HttpMultipartField");var Qr=Wn;import{omitUndefined as Jc}from"@jsopen/objects";var zc=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Yn=class Yn{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=zc.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(Yn,"HttpStatusRange");var ar=Yn;var Gn=class Gn 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 ar(r.start,r.end):new ar(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=Jc({...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(Gn,"HttpOperationResponse");var Xr=Gn;import{omitUndefined as Gc}from"@jsopen/objects";import{asMutable as Qc}from"ts-gems";import{omitUndefined as Wc}from"@jsopen/objects";import{asMutable as Yc}from"ts-gems";var Je=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,o);let t=Yc(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Xn=class Xn extends R{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Wc({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Xn,"ValueClass");var Qn=Xn;Je.prototype=Qn.prototype;var pr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=Qc(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Ut(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"),Hn=class Hn extends Je{toJSON(e){return Gc({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(Hn,"HttpParameterClass");var Zn=Hn;pr.prototype=Zn.prototype;import{omitUndefined as Xc}from"@jsopen/objects";var es=class es extends R{constructor(e){super(e),this.content=[]}toJSON(e){return Xc({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(es,"HttpRequestBody");var Zr=es;var ts=class ts{static async createApi(e,t){let r=new Ct(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"&&!Zc(r)&&(r=t instanceof ie?r(t.instance):r()),r=await ae(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 F.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 F.resolveDataType(e,s,c.type)});let x=new pr(s,f);s.parameters.push(x)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let f=new w(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 w.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await F.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 F.resolveDataType(e,t,s.type)});let c=new pr(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 Xr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new Zr(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 F.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 Qr(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 F.resolveDataType(e,t,n.type)});let p=new pr(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(ts,"HttpApiFactory");var Bt=ts;import{omitUndefined as el}from"@jsopen/objects";import{md5 as tl}from"super-fast-md5";var rs=class rs extends jt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new I,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(rs,"RpcApi");var $t=rs;var ya,is=class is extends R{constructor(){super(null),this[ya]=new WeakMap,this.id="",this.info={},this.references=new I,this.types=new re,this.node[j]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof O?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 Ct))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof $t))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(e){let t=el({spec:u.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[Le]||(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=tl(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=vs.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(is,"ApiDocument");var We=is;ya=ge;function Fe(o,e,t){let r=Yr(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"&&dr(this,o,r)}}}[n];if(typeof o=="function"&&ur(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===u.ComplexType.Kind||c.kind===u.MappedType.Kind||c.kind===u.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${u.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(Fe,"createMappedClass");function U4(o,e,t){return Fe(o,{omit:e},t)}a(U4,"OmitType");function K4(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Fe(o,{partial:t},r)}a(K4,"PartialType");function W4(o,e,t){return Fe(o,{pick:e},t)}a(W4,"PickType");function X4(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Fe(o,{required:t},r)}a(X4,"RequiredType");import{isConstructor as cl}from"@jsopen/objects";import{omitUndefined as rl}from"@jsopen/objects";import{asMutable as il}from"ts-gems";var Ye=a(function(...o){var i;if(!this)return Ye[D].apply(void 0,o);let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=il(this);r.kind=u.RpcController.Kind,r.types=r.node[j]=new re,r.operations=new I,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"),ns=class ns extends R{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=rl({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(ns,"RpcControllerClass");var os=ns;Ye.prototype=os.prototype;Object.assign(Ye,Pt);Ye[D]=Pt;import{omitUndefined as ol}from"@jsopen/objects";import{asMutable as nl}from"ts-gems";var cr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=nl(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Ut(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),as=class as extends Je{toJSON(){return ol({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(as,"RpcHeaderClass");var ss=as;cr.prototype=ss.prototype;import{omitUndefined as sl}from"@jsopen/objects";import{asMutable as al}from"ts-gems";var lr=a(function(...o){if(!this){let[i,n]=o,s=[];return lr[D].call(void 0,s,i,n)}let[e,t]=o;if(R.call(this,e),!k.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=al(this);r.headers=[],r.types=r.node[j]=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 O?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof O?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),cs=class cs extends R{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=sl({kind:u.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(cs,"RpcOperationClass");var ps=cs;lr.prototype=ps.prototype;lr[D]=sr;import{omitUndefined as pl}from"@jsopen/objects";var ls=class ls extends R{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.payloadType?this.payloadType=(t==null?void 0:t.payloadType)instanceof O?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 O?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=pl({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(ls,"RpcOperationResponse");var Hr=ls;var fs=class fs{static async createApi(e,t){let r=new $t(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"&&!cl(r)&&(r=r()),r=await ae(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 Ye(t,{...s,name:i,instance:p,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await F.addDataTypes(e,c,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let f=0;for(let x of s.headers)await e.enterAsync(`[${f++}]`,async()=>{let d={...x};await e.enterAsync(".type",async()=>{x.type&&(d.type=c.node.findDataType(x.type)),!d.type&&typeof x.type=="object"&&(d.type=await F.createDataType(e,c,x.type)),d.type||(d.type=c.node.getDataType("any"))});let J=new cr(c,d);c.headers.push(J)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[f,x]of Object.entries(s.operations))await e.enterAsync(`[${f}]`,async()=>{let d=new lr(c,{...x,name:f,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,x),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await F.addDataTypes(e,t,r.types)}),t.payloadType=await F.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await F.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 F.resolveDataType(e,t,n.type)});let p=new cr(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new Hr(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 F.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await F.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 F.resolveDataType(e,t,n.type)});let p=new cr(t,s);t.headers.push(p)})})}};a(fs,"RpcApiFactory");var ei=fs;var ll="https://oprajs.com/spec/v"+u.SpecVersion,ti=class ti{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new ti,i=t instanceof de?t:new de(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 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=>`
|
|
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[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||u.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 ae(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
|
|
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||u.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 ae(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 F.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 ei.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:u.SpecVersion,url:ll,info:{version:u.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[qr,Kr,Vr,Ke,zr,Te,Jr,Ie,vr,ct,ft,ut,ht,G,$,De,Ur,Q,wt,$r,rr]},r=new We;r[Le]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[hr];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(SharedArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(ti,"ApiDocumentFactory");var Ta=ti;var Ea;(function(o){o.HttpApiFactory=Bt,o.DataTypeFactory=F,o.RpcOperationDecoratorFactory=sr,o.RpcControllerDecoratorFactory=Pt})(Ea||(Ea={}));import{uid as og}from"uid";export{qr as AnyType,jt as ApiBase,We as ApiDocument,Ta as ApiDocumentFactory,P as ApiField,Le as BUILTIN,Es as BadRequestError,vr as Base64Type,Ra as BaseI18n,Kr as BigintType,Vr as BooleanType,k as CLASS_NAME_PATTERN,ee as ComplexType,_s as ConflictError,h as DATATYPE_METADATA,T as DECODER,D as DECORATOR,O as DataType,re as DataTypeMap,ft as DateStringType,ht as DateTimeStringType,ut as DateTimeType,ct as DateType,R as DocumentElement,de as DocumentInitContext,Fr as DocumentNode,_ as ENCODER,G as EmailType,Z as EnumType,xs as FailedDependencyError,$ as FieldPathType,Pe as FieldsProjection,De as FilterType,mr as ForbiddenError,oe as HTTP_CONTROLLER_METADATA,Ct as HttpApi,ie as HttpController,Os as HttpHeaderCodes,Me as HttpMediaType,Qr as HttpMultipartField,w as HttpOperation,Xr as HttpOperationResponse,pr as HttpParameter,Zr as HttpRequestBody,g as HttpStatusCode,Wl as HttpStatusMessages,ar as HttpStatusRange,Kt as I18n,Ke as IntegerType,gs as InternalServerError,Ms as IssueSeverity,Ve as MappedType,Rs as MethodNotAllowedError,A as MimeTypes,kt as MixinType,vs as NAMESPACE_PATTERN,ws as NotAcceptableError,As as NotFoundError,zr as NullType,Te as NumberType,Ur as ObjectIdType,Jr as ObjectType,U4 as OmitType,Q as OperationResult,Ot as OpraDocumentError,Ee as OpraException,tr as OpraFilter,N as OpraHttpError,u as OpraSchema,K4 as PartialType,bs as PermissionError,W4 as PickType,ne as RPC_CONTROLLER_METADATA,X4 as RequiredType,Ds as ResourceConflictError,Ns as ResourceNotAvailableError,I as ResponsiveMap,$t as RpcApi,Ye as RpcController,cr as RpcHeader,lr as RpcOperation,m as SimpleType,Ie as StringType,wt as TimeType,Ss as UnauthorizedError,Is as UnprocessableEntityError,$r as UrlType,rr as UuidType,Ea as classes,v as cloneObject,dm as getErrorStack,um as getStackFileName,ii as i18n,dr as inheritPropertyInitializers,Pm as isBlob,km as isFormData,Fm as isReadable,Lm as isReadableStream,gi as isStream,jm as isURL,vm as isWritable,hr as kCtorMap,j as kDataTypeMap,ge as kTypeNSMap,ur as mergePrototype,js as parse,ks as parseFieldsProjection,ae as resolveThunk,Sm as safeJsonStringify,b as translate,og as uid};
|