@opra/common 1.17.6 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/browser/index.cjs +5 -5
  2. package/browser/index.mjs +5 -5
  3. package/cjs/document/data-type/api-field.js +11 -5
  4. package/cjs/document/data-type/complex-type-base.js +23 -12
  5. package/cjs/document/data-type/extended-types/base64.type.js +16 -3
  6. package/cjs/document/data-type/extended-types/date-time-tz.type.js +71 -0
  7. package/cjs/document/data-type/extended-types/date-time.type.js +13 -9
  8. package/cjs/document/data-type/extended-types/date.type.js +14 -9
  9. package/cjs/document/data-type/extended-types/index.js +2 -2
  10. package/cjs/document/data-type/extended-types/partial-date.type.js +85 -0
  11. package/cjs/document/data-type/omit-type.js +0 -6
  12. package/cjs/document/data-type/partial-type.js +0 -6
  13. package/cjs/document/data-type/simple-type.js +4 -0
  14. package/cjs/document/decorators/api-field-decorator.js +1 -0
  15. package/cjs/document/factory/api-document.factory.js +5 -25
  16. package/cjs/document/factory/data-type.factory.js +1 -0
  17. package/cjs/filter/filter-rules.js +1 -1
  18. package/esm/document/data-type/api-field.js +11 -5
  19. package/esm/document/data-type/complex-type-base.js +23 -12
  20. package/esm/document/data-type/extended-types/base64.type.js +17 -4
  21. package/esm/document/data-type/extended-types/date-time-tz.type.js +68 -0
  22. package/esm/document/data-type/extended-types/date-time.type.js +13 -9
  23. package/esm/document/data-type/extended-types/date.type.js +14 -9
  24. package/esm/document/data-type/extended-types/index.js +2 -2
  25. package/esm/document/data-type/extended-types/partial-date.type.js +82 -0
  26. package/esm/document/data-type/omit-type.js +0 -6
  27. package/esm/document/data-type/partial-type.js +0 -6
  28. package/esm/document/data-type/simple-type.js +4 -0
  29. package/esm/document/decorators/api-field-decorator.js +1 -0
  30. package/esm/document/factory/api-document.factory.js +4 -25
  31. package/esm/document/factory/data-type.factory.js +1 -0
  32. package/esm/filter/filter-rules.js +1 -1
  33. package/package.json +3 -3
  34. package/types/document/data-type/api-field.d.ts +8 -0
  35. package/types/document/data-type/data-type.d.ts +4 -4
  36. package/types/document/data-type/extended-types/base64.type.d.ts +2 -1
  37. package/types/document/data-type/extended-types/{date-string.type.d.ts → date-time-tz.type.d.ts} +2 -2
  38. package/types/document/data-type/extended-types/date-time.type.d.ts +1 -0
  39. package/types/document/data-type/extended-types/date.type.d.ts +1 -0
  40. package/types/document/data-type/extended-types/index.d.ts +2 -2
  41. package/types/document/data-type/extended-types/{date-time-string.type.d.ts → partial-date.type.d.ts} +2 -2
  42. package/types/document/data-type/omit-type.d.ts +9 -2
  43. package/types/document/data-type/partial-type.d.ts +7 -1
  44. package/types/document/data-type/simple-type.d.ts +3 -1
  45. package/types/document/factory/data-type.factory.d.ts +1 -0
  46. package/cjs/document/data-type/extended-types/date-string.type.js +0 -52
  47. package/cjs/document/data-type/extended-types/date-time-string.type.js +0 -55
  48. package/esm/document/data-type/extended-types/date-string.type.js +0 -49
  49. package/esm/document/data-type/extended-types/date-time-string.type.js +0 -52
package/browser/index.mjs CHANGED
@@ -3,10 +3,10 @@
3
3
  * http://www.panates.com
4
4
  *****************************************/
5
5
 
6
- var ys=Object.defineProperty;var a=(o,e)=>ys(o,"name",{value:e,configurable:!0});var Ts=(o,e)=>{for(var t in e)ys(o,t,{get:e[t],enumerable:!0})};import"reflect-metadata";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as cp}from"@jsopen/objects";import{isString as lp}from"valgen";import{omitUndefined as Fa}from"@jsopen/objects";import Aa from"@browsery/i18next";import{splitString as ba,tokenize as xs}from"fast-tokenizer";var wa=/\\(.)/g,Ra=/(\\)/g;function Es(o){return o.replace(Ra,"\\\\")}a(Es,"escapeString");function _s(o){return o.replace(wa,"$1")}a(_s,"unescapeString");var Da=Object.getPrototypeOf(Aa.createInstance()).constructor,Vt=class Vt extends Da{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(p,c)=>p.toLocaleLowerCase(c)),s.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),s.add("upperFirst",(p,c)=>p.charAt(0).toLocaleUpperCase(c)+p.substring(1)),r!=null&&r.resources)for(let p of Object.keys(r.resources)){let c=r.resources[p];for(let l of Object.keys(c))this.addResourceBundle(p,l,c[l],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new Vt(e,t)}static createInstance(e,t){return new Vt(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of xs(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=ba(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=_s(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],l=null;for(let g of xs(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(g.startsWith("{")){l=JSON.parse(g);continue}c.push(g)}let x=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(x,p,{...r,...l}):this.t(x,{...r,...l});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,p=n.length;s<p;s++){let c=n[s];i[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Na}};a(Vt,"I18n");var zt=Vt,Na=zt.createInstance();var Sa=/(\))/g;function Sl(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+Es(i).replace(Sa,"\\$1"):"")+")"}a(Sl,"translate");var ni=zt.createInstance();ni.init().catch(()=>{});var si=class si extends Error{constructor(e,t){super("Unknown error"),this.severity="error",t=t||(e instanceof Error?e:void 0),e instanceof Error&&(t=e),t&&t instanceof Error&&(this.cause=t,t.stack&&(this.stack=t.stack)),typeof e=="string"?this.initString(e):e instanceof Error?this.initError(e):this.init(e),this.message=this.message||this.constructor.name}toString(){return ni.deep(this.message)}toJSON(){var t;let e="production";return Fa({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:e==="dev"||e==="development"||e==="test"?(t=this.stack)==null?void 0:t.split(`
7
- `):void 0},!0)}init(e){this.message=(e==null?void 0:e.message)||this.constructor.name,this.severity=(e==null?void 0:e.severity)||"error",e&&(this.system=e.system,this.code=e.code,this.details=e.details)}initString(e){this.init({message:String(e||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(e){this.init({message:e.message,severity:e.severity||"error",code:e.code||e.constructor.name})}};a(si,"OpraException");var _e=si;var ai=class ai extends _e{constructor(e,t,r){super(e,t instanceof Error?t:void 0),this.status=(typeof t=="number"?t:Number(r))||500}setStatus(e){return this.status=e,this}initError(e){typeof e.status=="number"?this.status=e.status:typeof e.getStatus=="function"&&(this.status=e.getStatus()),super.initError(e)}};a(ai,"OpraHttpError");var N=ai;var pi=class pi extends N{constructor(){super(...arguments),this.status=400}init(e){super.init({message:"Bad request",code:"BAD_REQUEST",...e})}};a(pi,"BadRequestError");var Os=pi;var ci=class ci extends N{constructor(){super(...arguments),this.status=409}init(e){super.init({message:"Conflict",code:"CONFLICT",...e})}};a(ci,"ConflictError");var gs=ci;var li=class li extends N{constructor(){super(...arguments),this.status=424}init(e){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...e})}};a(li,"FailedDependencyError");var ws=li;var Rs;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(Rs||(Rs={}));var w;(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"})(w||(w={}));var ef={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var b;(function(o){o.json="application/json",o.opra_response_json="application/opra.response+json",o.xml="application/XML",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream"})(b||(b={}));var fi=class fi extends N{constructor(){super(...arguments),this.status=w.FORBIDDEN}init(e){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...e})}};a(fi,"ForbiddenError");var dr=fi;var mi=class mi extends N{constructor(){super(...arguments),this.status=500}init(e){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(mi,"InternalServerError");var As=mi;var ui=class ui extends N{constructor(){super(...arguments),this.status=405}init(e){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...e})}};a(ui,"MethodNotAllowedError");var bs=ui;var di=class di extends N{constructor(){super(...arguments),this.status=406}init(e){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...e})}};a(di,"NotAcceptableError");var Ds=di;var hi=class hi extends N{constructor(){super(...arguments),this.status=404}init(e){super.init({message:"Not found",code:"NOT_FOUND",...e})}};a(hi,"NotFoundError");var Ns=hi;var yi=class yi extends dr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(yi,"PermissionError");var Ss=yi;var Ti=class Ti extends N{constructor(e,t,r){super({message:`There is already an other "${e}" resource with same values for field(s) [${t}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(Ti,"ResourceConflictError");var Fs=Ti;var Ei=class Ei extends N{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,w.UNPROCESSABLE_ENTITY)}};a(Ei,"ResourceNotAvailableError");var vs=Ei;var _i=class _i extends N{constructor(){super(...arguments),this.status=401}init(e){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...e})}};a(_i,"UnauthorizedError");var Ms=_i;var xi=class xi extends N{constructor(){super(...arguments),this.status=422}init(e){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(xi,"UnprocessableEntityError");var Is=xi;var Ps;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(Ps||(Ps={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as va}from"@jsopen/objects";import Ma from"putil-promisify";async function pe(o){return o=Ma.isPromise(o)?await o:o,typeof o=="function"?va(o)?o:await o():o}a(pe,"resolveThunk");var Ls=/^(?:file:\/\/)?(.+)$/;function lm(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ls.exec(r):void 0;return i?i[1]:""}return""}a(lm,"getStackFileName");function fm(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ls.exec(r):void 0;return i?i[1]:""}return""}a(fm,"getErrorStack");function hr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(hr,"mergePrototype");function yr(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(yr,"inheritPropertyInitializers");import{isPlainObject as js,merge as Ia}from"@jsopen/objects";var d=Symbol.for("opra.type.metadata"),se=Symbol("opra.http-controller.metadata"),ae=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),O=Symbol("opra.type.encoder"),D=Symbol.for("DECORATOR"),Le=Symbol.for("BUILTIN"),ks=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,C=Symbol.for("kDataTypeMap"),Tr=Symbol.for("kCtorMap"),we=Symbol.for("kTypeNSMap");function I(o,e){return Ia({},o,{deep:a(t=>js(t)&&!t[d],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||js(i)||Array.isArray(i))}})}a(I,"cloneObject");import{splitString as Cs}from"fast-tokenizer";var Pa=/^([+-])?([a-z_$]\w*)$/i,La=/[^.]\(/g,Oi=class Oi{};a(Oi,"FieldsProjection");var ke=Oi;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(ke||(ke={}));function Us(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new ke;for(let i of t)e||(i=i.toLowerCase()),$s(i,r);return r}a(Us,"parseFieldsProjection");function $s(o,e){o=o.replace(La,r=>r.charAt(0)+"."+r.substring(1));let t=Cs(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=Cs(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)$s(l,e);continue}let n=Pa.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new ke.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new ke}}a($s,"parse");function ka(o){return o&&typeof o.forEach=="function"}a(ka,"isMap");var z=Symbol.for("kEntries"),ce=Symbol.for("kKeyMap"),Er=Symbol.for("kWellKnownKeys"),gi=Symbol.for("kOptions"),Ge=Symbol.for("kSize"),wi=class wi{constructor(e,t){Object.defineProperty(this,Ge,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,z,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ce,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Er,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,gi,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Er][i]=i:this[Er][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[Ge]}clear(){Object.keys(this[z]).forEach(e=>delete this[z][e]),Object.keys(this[ce]).forEach(e=>delete this[ce][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[z][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[z],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[z],r);return this[z][r]=t,i||this[Ge]++,this[ce][r]=e,this}setAll(e){return ka(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ce])[Symbol.iterator]()}values(){return Object.values(this[z])[Symbol.iterator]()}entries(){return Object.entries(this[z])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[z],t);return delete this[z][t],delete this[ce][t],r||this[Ge]--,r}sort(e){let t={...this[z]},r={...this[ce]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[z][n]=t[n],this[ce][n]=r[n];return this[Ge]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ce]))e[r]=this[z][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[gi].caseSensitive)return e;let t=this._getStoringKey(e);return this[ce][t]??this[Er][t]??e}_getStoringKey(e){return this[gi].caseSensitive?e:e.toLowerCase()}};a(wi,"ResponsiveMap");var F=wi;function bm(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(bm,"safeJsonStringify");function Ri(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Ri,"isStream");function Sm(o){return Ri(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(Sm,"isReadable");function Fm(o){return Ri(o)&&typeof o._write=="function"}a(Fm,"isWritable");function vm(o){return Ri(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(vm,"isReadableStream");function Mm(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Mm,"isBlob");function Im(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(Im,"isFormData");function Pm(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Pm,"isURL");var Ai=class Ai{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Ai,"Ast");var Jt=Ai;var bi=class bi extends Jt{};a(bi,"Expression");var U=bi;var Di=class Di extends U{};a(Di,"Term");var je=Di;var Ni=class Ni extends je{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Ni,"Literal");var v=Ni;var Si=class Si extends U{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new _r({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(Si,"ArithmeticExpression");var Ce=Si,Fi=class Fi{constructor(e){Object.assign(this,e)}};a(Fi,"ArithmeticExpressionItem");var _r=Fi;var vi=class vi extends je{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(vi,"ArrayExpression");var xe=vi;var ja=/\w/,Mi=class Mi extends U{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${ja.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Mi,"ComparisonExpression");var le=Mi;var Ii=class Ii extends U{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};a(Ii,"LogicalExpression");var fe=Ii;var Pi=class Pi extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Pi,"NegativeExpression");var Wt=Pi;var Li=class Li extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Li,"ParenthesizedExpression");var Oe=Li;var ki=class ki extends v{constructor(e){super(e)}};a(ki,"BooleanLiteral");var Ue=ki;import{toDateDef as Ka}from"putil-varhelpers";var ji=class ji extends TypeError{};a(ji,"SyntaxError");var xr=ji,Ci=class Ci extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(Ci,"FilterValidationError");var me=Ci,Ui=class Ui extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(Ui,"FilterParseError");var Or=Ui;var Ca=/'/g,Ua=/(\\)/g,$a=/\\(.)/g;function Ba(o){return o.replace(Ua,"\\\\")}a(Ba,"escapeString");function qa(o){return o.replace($a,"$1")}a(qa,"unescapeString");function Re(o){return"'"+Ba(o).replace(Ca,"\\'")+"'"}a(Re,"quoteFilterString");function Yt(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?qa(o.substring(1,o.length-1)):o}a(Yt,"unquoteFilterString");var Bs=new Date(0),$i=class $i extends v{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Ka(e,Bs)!==Bs){this.value=e;return}throw new me(`Invalid date value "${e}"`)}toString(){return Re(this.value)}};a($i,"DateLiteral");var Ae=$i;import{toDateDef as Va}from"putil-varhelpers";var qs=new Date(0),Bi=class Bi extends v{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&Va(e,qs)!==qs){this.value=e;return}throw new me(`Invalid date-time value "${e}"`)}toString(){return Re(this.value)}};a(Bi,"DateTimeLiteral");var Gt=Bi;var qi=class qi extends v{constructor(){super(null),this.value=null}};a(qi,"NullLiteral");var $e=qi;var Ki=class Ki extends v{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 me(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(Ki,"NumberLiteral");var ge=Ki;var Vi=class Vi extends v{constructor(e){super(""+e)}};a(Vi,"QualifiedIdentifier");var H=Vi;var zi=class zi extends v{constructor(e){super(""+e)}toString(){return Re(this.value)}};a(zi,"StringLiteral");var Be=zi;var za=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Ji=class Ji extends v{constructor(e){if(super(""),e instanceof Date){this.value=gr(e.getHours())+":"+gr(e.getMinutes())+(e.getSeconds()?":"+gr(e.getSeconds()):"")+(e.getMilliseconds()?"."+gr(e.getMilliseconds()):"");return}if(typeof e=="string"&&za.test(e)){this.value=e;return}throw new me(`Invalid time value "${e}"`)}toString(){return Re(this.value)}};a(Ji,"TimeLiteral");var qe=Ji;function gr(o){return o<=9?"0"+o:""+o}a(gr,"pad");import{CharStream as ap,CommonTokenStream as pp}from"@browsery/antlr4";import{ATNDeserializer as Ja,DFA as Wa,Lexer as Ya,LexerATNSimulator as Ga,PredictionContextCache as Qa,Token as Xa}from"@browsery/antlr4";var V=class V extends Ya{constructor(e){super(e),this._interp=new Ga(this,V._ATN,V.DecisionsToDFA,new Qa)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return V.literalNames}get symbolicNames(){return V.symbolicNames}get ruleNames(){return V.ruleNames}get serializedATN(){return V._serializedATN}get channelNames(){return V.channelNames}get modeNames(){return V.modeNames}static get _ATN(){return V.__ATN||(V.__ATN=new Ja().deserialize(V._serializedATN)),V.__ATN}};a(V,"OpraFilterLexer");var h=V;h.T__0=1;h.T__1=2;h.T__2=3;h.T__3=4;h.T__4=5;h.T__5=6;h.T__6=7;h.T__7=8;h.T__8=9;h.T__9=10;h.T__10=11;h.T__11=12;h.T__12=13;h.T__13=14;h.T__14=15;h.T__15=16;h.T__16=17;h.T__17=18;h.T__18=19;h.T__19=20;h.T__20=21;h.T__21=22;h.T__22=23;h.T__23=24;h.T__24=25;h.T__25=26;h.T__26=27;h.T__27=28;h.T__28=29;h.T__29=30;h.T__30=31;h.T__31=32;h.T__32=33;h.T__33=34;h.IDENTIFIER=35;h.POLAR_OP=36;h.DATE=37;h.DATETIME=38;h.TIME=39;h.NUMBER=40;h.INTEGER=41;h.STRING=42;h.WHITESPACE=43;h.EOF=Xa.EOF;h.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];h.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];h.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];h.modeNames=["DEFAULT_MODE"];h.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];h._serializedATN=[4,0,43,461,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,491,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0];h.DecisionsToDFA=h._ATN.decisionToState.map((o,e)=>new Wa(o,e));var Ks=h;import{ATN as Vs,ATNDeserializer as Za,DFA as Ha,FailedPredicateException as ep,NoViableAltException as Wi,Parser as tp,ParserATNSimulator as rp,ParserRuleContext as B,PredictionContextCache as ip,RecognitionException as $,Token as op}from"@browsery/antlr4";var E=class E extends tp{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return E.literalNames}get symbolicNames(){return E.symbolicNames}get ruleNames(){return E.ruleNames}get serializedATN(){return E._serializedATN}createFailedPredicateException(e,t){return new ep(this,e,t)}constructor(e){super(e),this._interp=new rp(this,E._ATN,E.DecisionsToDFA,new ip)}root(){let e=new Yi(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 $)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 Q(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 Xi(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new Gi(this,i),this._ctx=i,n=i,this.state=42,this.match(E.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(E.T__1);break;case 3:case 4:i=new Qi(this,i),this._ctx=i,n=i,this.state=46,p=this._input.LA(1),p===3||p===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new Wi(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==Vs.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Qt(this,new Q(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 $)i.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new wr(this,this._ctx,this.state);this.enterRule(e,4,E.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new Rr(this,this._ctx,this.state);this.enterRule(e,6,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 Wi(this)}}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new Ar(this,this._ctx,this.state);this.enterRule(e,8,E.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof $)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 J(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 no(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(E.NUMBER);break;case 13:case 14:e=new io(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new oo(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Hi(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new eo(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(E.DATETIME);break;case 37:e=new ro(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(E.DATE);break;case 39:e=new Zi(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(E.TIME);break;case 42:e=new to(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(E.STRING);break;default:throw new Wi(this)}}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new Xt(this,this._ctx,this.state);this.enterRule(e,12,E.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==Vs.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(E.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new br(this,this._ctx,this.state);this.enterRule(e,14,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 $)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 $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new Dr(this,this._ctx,this.state);this.enterRule(e,18,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 $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new Nr(this,this._ctx,this.state);this.enterRule(e,20,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 $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new Sr(this,this._ctx,this.state);this.enterRule(e,22,E.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(E.T__11)}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new Fr(this,this._ctx,this.state);this.enterRule(e,24,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 $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new so(this,this._ctx,this.state);this.enterRule(e,26,E.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)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 vr(this,this._ctx,this.state);this.enterRule(e,28,E.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new Mr(this,this._ctx,this.state);this.enterRule(e,30,E.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new ao(this,this._ctx,this.state);this.enterRule(e,32,E.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(E.POLAR_OP)}catch(t){if(t instanceof $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return E.__ATN||(E.__ATN=new Za().deserialize(E._serializedATN)),E.__ATN}};a(E,"OpraFilterParser");var f=E;f.T__0=1;f.T__1=2;f.T__2=3;f.T__3=4;f.T__4=5;f.T__5=6;f.T__6=7;f.T__7=8;f.T__8=9;f.T__9=10;f.T__10=11;f.T__11=12;f.T__12=13;f.T__13=14;f.T__14=15;f.T__15=16;f.T__16=17;f.T__17=18;f.T__18=19;f.T__19=20;f.T__20=21;f.T__21=22;f.T__22=23;f.T__23=24;f.T__24=25;f.T__25=26;f.T__26=27;f.T__27=28;f.T__28=29;f.T__29=30;f.T__30=31;f.T__31=32;f.T__32=33;f.T__33=34;f.IDENTIFIER=35;f.POLAR_OP=36;f.DATE=37;f.DATETIME=38;f.TIME=39;f.NUMBER=40;f.INTEGER=41;f.STRING=42;f.WHITESPACE=43;f.EOF=op.EOF;f.RULE_root=0;f.RULE_expression=1;f.RULE_comparisonLeft=2;f.RULE_comparisonRight=3;f.RULE_parenthesizedItem=4;f.RULE_value=5;f.RULE_qualifiedIdentifier=6;f.RULE_externalConstant=7;f.RULE_identifier=8;f.RULE_arrayValue=9;f.RULE_boolean=10;f.RULE_null=11;f.RULE_infinity=12;f.RULE_arithmeticOperator=13;f.RULE_comparisonOperator=14;f.RULE_logicalOperator=15;f.RULE_polarityOperator=16;f.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];f.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];f.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];f._serializedATN=[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,38,0,0,74,78,5,37,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100];f.DecisionsToDFA=f._ATN.decisionToState.map((o,e)=>new Ha(o,e));var zs=f,po=class po extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Q,0)}EOF(){return this.getToken(f.EOF,0)}get ruleIndex(){return f.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(po,"RootContext");var Yi=po,co=class co extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(co,"ExpressionContext");var Q=co,lo=class lo extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Ar,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(lo,"ParenthesizedExpressionContext");var Gi=lo,fo=class fo extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(Q,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(fo,"NegativeExpressionContext");var Qi=fo,mo=class mo extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(wr,0)}comparisonOperator(){return this.getTypedRuleContext(vr,0)}comparisonRight(){return this.getTypedRuleContext(Rr,0)}enterRule(e){e.enterComparisonExpression&&e.enterComparisonExpression(this)}exitRule(e){e.exitComparisonExpression&&e.exitComparisonExpression(this)}accept(e){return e.visitComparisonExpression?e.visitComparisonExpression(this):e.visitChildren(this)}};a(mo,"ComparisonExpressionContext");var Xi=mo,uo=class uo extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(Q)}expression(e){return this.getTypedRuleContext(Q,e)}logicalOperator(){return this.getTypedRuleContext(Mr,0)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}};a(uo,"LogicalExpressionContext");var Qt=uo,ho=class ho extends B{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}get ruleIndex(){return f.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(ho,"ComparisonLeftContext");var wr=ho,yo=class yo extends B{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(J,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Xt,0)}externalConstant(){return this.getTypedRuleContext(br,0)}arrayValue(){return this.getTypedRuleContext(Dr,0)}get ruleIndex(){return f.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(yo,"ComparisonRightContext");var Rr=yo,To=class To extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Q,0)}get ruleIndex(){return f.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(To,"ParenthesizedItemContext");var Ar=To,Eo=class Eo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};a(Eo,"ValueContext");var J=Eo,_o=class _o extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(f.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(_o,"TimeLiteralContext");var Zi=_o,xo=class xo extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Sr,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(xo,"NullLiteralContext");var Hi=xo,Oo=class Oo extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(f.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(Oo,"DateTimeLiteralContext");var eo=Oo,go=class go extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(f.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(go,"StringLiteralContext");var to=go,wo=class wo extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(f.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(wo,"DateLiteralContext");var ro=wo,Ro=class Ro extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Fr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(Ro,"InfinityLiteralContext");var io=Ro,Ao=class Ao extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Nr,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(Ao,"BooleanLiteralContext");var oo=Ao,bo=class bo extends J{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(f.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(bo,"NumberLiteralContext");var no=bo,Do=class Do extends 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 f.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(Do,"QualifiedIdentifierContext");var Xt=Do,No=class No extends B{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Qe,0)}get ruleIndex(){return f.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(No,"ExternalConstantContext");var br=No,So=class So extends B{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(f.IDENTIFIER,0)}get ruleIndex(){return f.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(So,"IdentifierContext");var Qe=So,Fo=class Fo extends B{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(J)}value(e){return this.getTypedRuleContext(J,e)}get ruleIndex(){return f.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(Fo,"ArrayValueContext");var Dr=Fo,vo=class vo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.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(vo,"BooleanContext");var Nr=vo,Mo=class Mo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(Mo,"NullContext");var Sr=Mo,Io=class Io extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(Io,"InfinityContext");var Fr=Io,Po=class Po extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(Po,"ArithmeticOperatorContext");var so=Po,Lo=class Lo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(Lo,"ComparisonOperatorContext");var vr=Lo,ko=class ko extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(ko,"LogicalOperatorContext");var Mr=ko,jo=class jo extends B{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(f.POLAR_OP,0)}get ruleIndex(){return f.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(jo,"PolarityOperatorContext");var ao=jo;import{ParseTreeVisitor as np}from"@browsery/antlr4";var Co=class Co extends v{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(Co,"ExternalConstant");var Ir=Co;var Uo=class Uo extends np{constructor(e){super(),this._timeZone=e==null?void 0:e.timeZone}visitChildren(e){let t=super.visitChildren(e);return Array.isArray(t)&&t.length<2?t[0]:t??e.getText()}defaultResult(){}visitRoot(e){return this.visit(e.expression())}visitParenthesizedExpression(e){let t=this.visit(e.parenthesizedItem());return new Oe(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Wt(t)}visitComparisonExpression(e){return new le({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=a((i,n)=>{for(let s of i){if(s instanceof Qt&&s.logicalOperator().getText()===n){r(s.expression_list(),s.logicalOperator().getText());continue}let p=this.visit(s);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new fe({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new H(e.getText())}visitExternalConstant(e){return new Ir(e.identifier().getText())}visitNullLiteral(){return new $e}visitBooleanLiteral(e){return new Ue(e.getText()==="true")}visitNumberLiteral(e){return new ge(e.getText())}visitStringLiteral(e){return new Be(Yt(e.getText()))}visitInfinityLiteral(){return new ge(1/0)}visitDateLiteral(e){return new Ae(Yt(e.getText()))}visitDateTimeLiteral(e){return new Gt(Yt(e.getText()))}visitTimeLiteral(e){return new qe(Yt(e.getText()))}visitArrayValue(e){return new xe(e.value_list().map(t=>this.visit(t)))}};a(Uo,"FilterTreeVisitor");var Zt=Uo;import{ErrorListener as sp}from"@browsery/antlr4";var $o=class $o extends sp{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new Or(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a($o,"OpraErrorListener");var Ht=$o;function Bo(o,e){let t=new ap(o),r=new Ks(t),i=new pp(r),n=new zs(i);n.buildParseTrees=!0;let s=[],p=new Ht(s);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(s.length){let l=[];for(let g of s)l.push(g.message+(o.includes(`
8
- `)?" at line: "+g.line+" column: "+g.column:" at column: "+g.column));let x=new xr(l.join(`
9
- `));throw x.errors=s,x}return e=e||new Zt,e.visit(c)}a(Bo,"parse");var qo=class qo{constructor(e,t){if(this._rules=new F,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new F(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,cp({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?Bo(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof le){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof H&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new _e({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new _e({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof fe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Ce)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Oe)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof H&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof v){let n=t.findLastIndex(s=>s instanceof le);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof H&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let p;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?p=lp:p=this._decoderCache.get(s.left.field),p||(p=s.left.field.type.generateCodec("decode",{scope:i,projection:"*",ignoreWriteonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,p)),e.value=p(e.value)}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(qo,"FilterRules");var Xe=qo;import Rp from"object-hash";import{asMutable as Ap}from"ts-gems";import{validator as bp,vg as W}from"valgen";import{omitUndefined as gp}from"@jsopen/objects";import{asMutable as wp}from"ts-gems";import{asMutable as xp}from"ts-gems";import{uid as Op}from"uid";var m={};Ts(m,{ComplexType:()=>Ze,EnumType:()=>He,HttpController:()=>er,HttpOperation:()=>Ko,MappedType:()=>et,MixinType:()=>tt,RpcController:()=>Vo,RpcOperation:()=>zo,SimpleType:()=>rt,SpecVersion:()=>fp,UnionType:()=>it,isComplexType:()=>up,isDataType:()=>mp,isEnumType:()=>Tp,isHttpController:()=>_p,isMappedType:()=>yp,isMixinType:()=>hp,isSimpleType:()=>dp,isUnionType:()=>Ep});var fp="1.0";var Ze;(function(o){o.Kind="ComplexType"})(Ze||(Ze={}));var He;(function(o){o.Kind="EnumType"})(He||(He={}));var et;(function(o){o.Kind="MappedType"})(et||(et={}));var tt;(function(o){o.Kind="MixinType"})(tt||(tt={}));var rt;(function(o){o.Kind="SimpleType"})(rt||(rt={}));var it;(function(o){o.Kind="UnionType"})(it||(it={}));var er;(function(o){o.Kind="HttpController"})(er||(er={}));var Ko;(function(o){o.Kind="HttpOperation"})(Ko||(Ko={}));var Vo;(function(o){o.Kind="RpcController"})(Vo||(Vo={}));var zo;(function(o){o.Kind="RpcOperation"})(zo||(zo={}));function mp(o){return o&&typeof o=="object"&&(o.kind===Ze.Kind||o.kind===He.Kind||o.kind===et.Kind||o.kind===rt.Kind||o.kind===tt.Kind||o.kind===it.Kind)}a(mp,"isDataType");function up(o){return o&&typeof o=="object"&&o.kind===Ze.Kind}a(up,"isComplexType");function dp(o){return o&&typeof o=="object"&&o.kind===rt.Kind}a(dp,"isSimpleType");function hp(o){return o&&typeof o=="object"&&o.kind===tt.Kind}a(hp,"isMixinType");function yp(o){return o&&typeof o=="object"&&o.kind===et.Kind}a(yp,"isMappedType");function Tp(o){return o&&typeof o=="object"&&o.kind===He.Kind}a(Tp,"isEnumType");function Ep(o){return o&&typeof o=="object"&&o.kind===it.Kind}a(Ep,"isUnionType");function _p(o){return o&&typeof o=="object"&&o.kind===er.Kind}a(_p,"isHttpController");var Jo=class Jo{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[we])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[C])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(d,e).name;else if(typeof e=="object"){let n=e[d];i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(Jo,"DocumentNode");var Pr=Jo;var R=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=xp(this);e.id=Op(16),Object.defineProperty(e,"node",{value:new Pr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Yo=class Yo{};a(Yo,"DocumentElementClass");var Wo=Yo;R.prototype=Wo.prototype;var ot=Symbol.for("nodejs.util.inspect.custom"),Ke="\x1B[0m",nt="\x1B[33m",st="\x1B[35m";function tr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(tr,"testScopeMatch");var _=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!j.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);R.call(this,o);let r=wp(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),Qo=class Qo extends R{get embedded(){return!this.name}inScope(e){return tr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return gp({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[ot](){return`[${nt+Object.getPrototypeOf(this).constructor.name+Ke} ${st+this.name+Ke}]`}};a(Qo,"DataTypeClass");var Go=Qo;_.prototype=Go.prototype;var at=/^([+-])?([a-z$_][\w.]*)$/i,P=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;_.call(this,e,t,r);let i=Ap(this);i._fields=new F},"ComplexTypeBase"),Zo=class Zo extends _{fieldCount(e){if(e==="*")return this._fields.size;let t=0;for(let r of this.fields(e))t++;return t}fieldEntries(e){let t=this._fields.entries();if(e==="*")return t;let r;return{next(){for(;t&&(r=t.next(),!(r.done||r.value&&r.value[1].inScope(e))););return r.done?{done:r.done,value:void 0}:{done:r.done,value:[r.value[0],r.value[1].forScope(e)]}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fields(e){let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[1]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fieldNames(e){if(e==="*")return this._fields.keys();let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[0]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}findField(e,t){if(e.includes(".")){let i=this.parseFieldPath(e,{scope:t});if(i.length===0)throw new Error(`Field "${e}" does not exist in scope "${t}"`);let n=i.pop();return n==null?void 0:n.field}let r=this._fields.get(e);if(r&&r.inScope(t))return r.forScope(t)}getField(e,t){let r=this.findField(e,"*");if(r&&!r.inScope(t))throw new Error(`Field "${e}" does not exist in scope "${t||"null"}"`);if(!r)throw new Error(`Field (${e}) does not exist`);return r.forScope(t)}parseFieldPath(e,t){var g,y,Y;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,x=a(()=>p.map(k=>k.fieldName).join("."),"getStrPath");for(let k=0;k<s;k++){let G={fieldName:n[k],dataType:c};p.push(G);let ur=at.exec(n[k]);if(!ur)throw new TypeError(`Invalid field name (${x()})`);if(ur[1]&&((k===0&&l==="first"||l==="each")&&(G.sign=ur[1]),G.fieldName=ur[2]),r){if(r instanceof P){if(i=r.findField(G.fieldName,t==null?void 0:t.scope),i){G.fieldName=i.name,G.field=i,G.dataType=i.type,r=i.type;continue}if(((g=r.additionalFields)==null?void 0:g[0])===!0){G.additionalField=!0,G.dataType=c,r=void 0;continue}if(((y=r.additionalFields)==null?void 0:y[0])==="type"&&((Y=r.additionalFields)==null?void 0:Y[1])instanceof _){G.additionalField=!0,G.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(oi=>oi.fieldName).join(".")})`)}throw new TypeError(`"${p.map(oi=>oi.fieldName).join(".")}" field is not a complex type and has no child fields`)}G.additionalField=!0,G.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){var p;let r=t!=null&&t.cache?t:{...t,projection:Array.isArray(t==null?void 0:t.projection)?Us(t.projection):t==null?void 0:t.projection,currentPath:""},i=this._generateSchema(e,r);r.generateSchemaHook&&(i=r.generateSchemaHook(i,this,r.currentPath));let n;if(this.additionalFields instanceof _)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let c=n[1];n=bp((l,x,g)=>x.fail(g,c,l))}let s=W.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});if(r.level===0&&((p=r.forwardCallbacks)!=null&&p.size))for(let c of r.forwardCallbacks)c();return s}_generateSchema(e,t){var c;t.fieldCache=t.fieldCache||new Map,t.level=t.level||0,t.forwardCallbacks=t.forwardCallbacks||new Set;let r={},{currentPath:i,projection:n}=t,s=!!(n&&Object.values(n).find(l=>!l.sign)),p;for(let l of this.fields("*")){if(!l.inScope(t.scope)||!(t.keepKeyFields&&this.keyField)&&(t.ignoreReadonlyFields&&l.readonly||t.ignoreWriteonlyFields&&l.writeonly)){r[l.name]=W.isUndefined({coerce:!0});continue}p=l.name;let x;if(n!=="*"&&(x=n==null?void 0:n[p.toLowerCase()],(x==null?void 0:x.sign)==="-"||s&&!x||!s&&l.exclusive&&!x)){r[l.name]=W.isUndefined({coerce:!0});continue}let g=typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,y=t.fieldCache.get(l),Y=typeof g=="string"?g:Rp(g||{});y||(y={},t.fieldCache.set(l,y));let k=y[Y];k===null?(k=W.isAny(),t.forwardCallbacks.add(()=>{k=y[Y],r[p]=t.partial||!l.required?W.optional(k):W.required(k)})):k||(y[Y]=null,k=this._generateFieldCodec(e,l,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:g,currentPath:i+(i?".":"")+p}),y[Y]=k),r[p]=t.partial||!l.required?W.optional(k):W.required(k)}return t.allowPatchOperators&&(r._$pull=W.optional(W.isAny()),r._$push=W.optional(W.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,{...r,level:r.level+1});return t.fixed&&(i=W.isEqual(t.fixed)),t.isArray&&(i=W.isArray(i)),i}};a(Zo,"ComplexTypeBaseClass");var Xo=Zo;P.prototype=Xo.prototype;import"reflect-metadata";import{omitUndefined as Ho}from"@jsopen/objects";import{asMutable as Dp}from"ts-gems";import{vg as Np}from"valgen";var ee=a(function(...o){if(!this)return ee[D].apply(void 0,o);let[e,t,r]=o;_.call(this,e,t,r);let i=Dp(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof ee))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),en=class en extends _{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof ee?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Np.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Ho({...t,kind:this.kind,base:r,attributes:I(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(en,"EnumTypeClass");var rr=en;ee.prototype=rr.prototype;Object.assign(ee,rr);function Sp(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 l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[p]=Ho({description:c})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[o[p]]=Ho({alias:p,description:c})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,d,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Sp,"EnumTypeFactory");ee.prototype=rr.prototype;ee[D]=Sp;import{__decorate as vp,__metadata as Mp}from"tslib";import{vg as Gs}from"valgen";import"reflect-metadata";import{omitUndefined as Ws}from"@jsopen/objects";import{asMutable as Fp}from"ts-gems";import{isAny as Ys}from"valgen";function tn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(d,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(d,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(tn,"SimpleTypeDecoratorFactory");function Js(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(d,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(d,r,e.constructor)}}a(Js,"AttributeDecoratorFactory");var u=a(function(...o){var n,s;if(!this)return u[D](...o);let[e,t,r]=o;_.call(this,e,t,r);let i=Fp(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{},i.ownAttributes)for(let[p,c]of Object.entries(i.ownAttributes)){if((s=i.attributes[p])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);i.attributes[p]=c}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),on=class on extends _{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let i={...this.properties,...r};if(e==="decode"){let s=this;for(;s;){if(s._generateDecoder)return s._generateDecoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);s=this.base}return Ys}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);n=this.base}return Ys}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i=Ws(this.ownAttributes),n;this.properties&&typeof this.properties.toJSON=="function"?n=this.properties.toJSON(this.properties,this.owner,e):n=this.properties?I(this.properties):{};let s={...t,kind:this.kind,base:r,attributes:i&&Object.keys(i).length?i:void 0,properties:Object.keys(n).length?n:void 0};return Object.keys(this.ownNameMappings).length&&(s.nameMappings={...this.ownNameMappings}),Ws(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(on,"SimpleTypeClass");var rn=on;u.prototype=rn.prototype;Object.assign(u,tn);u[D]=tn;u.Attribute=Js;var pt,Lr=(pt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Gs.isBase64({coerce:!0})}[O](){return Gs.isBase64({coerce:!0})}},a(pt,"Base64Type"),pt);Lr=vp([u({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Mp("design:paramtypes",[Object])],Lr);import{__decorate as nn,__metadata as sn}from"tslib";import{isDateString as kr,toString as Qs,vg as be}from"valgen";var ct,lt=(ct=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=be.isDate({precision:"date",coerce:!0}),r=[];return e.minValue!=null&&(kr(e.minValue),r.push(Qs,be.isGte(e.minValue))),e.maxValue!=null&&(kr(e.maxValue),r.push(Qs,be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=be.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue!=null&&(kr(e.minValue),r.push(be.isGte(e.minValue))),e.maxValue!=null&&(kr(e.maxValue),r.push(be.isLte(e.maxValue))),r.length>0?be.pipe([t,...r],{returnIndex:0}):t}},a(ct,"DateType"),ct);nn([u.Attribute({description:"Minimum value"}),sn("design:type",String)],lt.prototype,"minValue",void 0);nn([u.Attribute({description:"Maximum value"}),sn("design:type",String)],lt.prototype,"maxValue",void 0);lt=nn([u({name:"date",description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),sn("design:paramtypes",[Object])],lt);import{__decorate as an,__metadata as pn}from"tslib";import{vg as jr}from"valgen";var ft,mt=(ft=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=jr.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue!=null&&r.push(jr.isGte(e.minValue)),e.maxValue!=null&&r.push(jr.isLte(e.maxValue)),r.length>0?jr.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},a(ft,"DateStringType"),ft);an([u.Attribute({description:"Minimum value"}),pn("design:type",String)],mt.prototype,"minValue",void 0);an([u.Attribute({description:"Maximum value"}),pn("design:type",String)],mt.prototype,"maxValue",void 0);mt=an([u({name:"datestring",description:"Date string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value").Example("2021-04","Date value without day").Example("2021","Year only value"),pn("design:paramtypes",[Object])],mt);import{__decorate as cn,__metadata as ln}from"tslib";import{isDateString as Cr,toString as Xs,vg as De}from"valgen";var ut,dt=(ut=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=De.isDate({precision:"time",coerce:!0}),r=[];return e.minValue!=null&&(Cr(e.minValue),r.push(Xs,De.isGte(e.minValue))),e.maxValue!=null&&(Cr(e.maxValue),r.push(Xs,De.isLte(e.maxValue))),r.length>0?De.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=De.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue!=null&&(Cr(e.minValue),r.push(De.isGte(e.minValue))),e.maxValue!=null&&(Cr(e.maxValue),r.push(De.isLte(e.maxValue))),r.length>0?De.pipe([t,...r],{returnIndex:0}):t}},a(ut,"DateTimeType"),ut);cn([u.Attribute({description:"Minimum value"}),ln("design:type",String)],dt.prototype,"minValue",void 0);cn([u.Attribute({description:"Maximum value"}),ln("design:type",String)],dt.prototype,"maxValue",void 0);dt=cn([u({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),ln("design:paramtypes",[Object])],dt);import{__decorate as fn,__metadata as mn}from"tslib";import{vg as Ur}from"valgen";var ht,yt=(ht=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ur.isDateString({coerce:!0}),r=[];return e.minValue!=null&&r.push(Ur.isGte(e.minValue)),e.maxValue!=null&&r.push(Ur.isLte(e.maxValue)),r.length>0?Ur.pipe([t,...r]):t}[O](e){return this[T](e)}},a(ht,"DateTimeStringType"),ht);fn([u.Attribute({description:"Minimum value"}),mn("design:type",String)],yt.prototype,"minValue",void 0);fn([u.Attribute({description:"Maximum value"}),mn("design:type",String)],yt.prototype,"maxValue",void 0);yt=fn([u({name:"datetimestring",description:"DateTime string value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+01:00","Full date-time value with timezone").Example("2021-04-18T22:30:15","Full date-time value without timezone").Example("2021-04-18 22:30","Date-time value").Example("2021-04-18","Date value").Example("2021-04","Date value without day").Example("2021","Year only value"),mn("design:paramtypes",[Object])],yt);import{__decorate as ue,__metadata as de}from"tslib";import{vg as Zs}from"valgen";var Tt,X=(Tt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Zs.isEmail({...e,coerce:!0})}[O](e){return Zs.isEmail({...e,coerce:!0})}},a(Tt,"EmailType"),Tt);ue([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),de("design:type",Boolean)],X.prototype,"allowDisplayName",void 0);ue([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),de("design:type",Boolean)],X.prototype,"requireDisplayName",void 0);ue([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),de("design:type",Boolean)],X.prototype,"utf8LocalPart",void 0);ue([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),de("design:type",Boolean)],X.prototype,"ignoreMaxLength",void 0);ue([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),de("design:type",Boolean)],X.prototype,"allowIpDomain",void 0);ue([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),de("design:type",Boolean)],X.prototype,"domainSpecificValidation",void 0);ue([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),de("design:type",Array)],X.prototype,"hostBlacklist",void 0);ue([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),de("design:type",Array)],X.prototype,"hostWhitelist",void 0);ue([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),de("design:type",String)],X.prototype,"blacklistedChars",void 0);X=ue([u({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),de("design:paramtypes",[Object])],X);import{__decorate as un,__metadata as dn}from"tslib";import{toString as Ip,validator as Pp,vg as Lp}from"valgen";var Et,q=(Et=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=Pp("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return Lp.pipe([Ip,s])}[O](e,t,r){return this[T](e,t,r)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");_.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Et,"FieldPathType"),Et);un([u.Attribute({description:"Data type which field belong to"}),dn("design:type",Object)],q.prototype,"dataType",void 0);un([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),dn("design:type",String)],q.prototype,"allowSigns",void 0);q=un([u({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),dn("design:paramtypes",[Object])],q);import{__decorate as hn,__metadata as yn}from"tslib";import{validator as ea}from"valgen";var ir={};Ts(ir,{$and:()=>jp,$arithmetic:()=>tc,$array:()=>Hs,$date:()=>Cp,$eq:()=>qp,$field:()=>Bp,$gt:()=>Vp,$gte:()=>zp,$ilike:()=>Zp,$in:()=>Yp,$like:()=>Qp,$lt:()=>Jp,$lte:()=>Wp,$ne:()=>Kp,$notILike:()=>Hp,$notIn:()=>Gp,$notLike:()=>Xp,$number:()=>$p,$or:()=>kp,$paren:()=>ec,$time:()=>Up,ArithmeticExpression:()=>Ce,ArithmeticExpressionItem:()=>_r,ArrayExpression:()=>xe,Ast:()=>Jt,BooleanLiteral:()=>Ue,ComparisonExpression:()=>le,DateLiteral:()=>Ae,DateTimeLiteral:()=>Gt,Expression:()=>U,FilterTreeVisitor:()=>Zt,Literal:()=>v,LogicalExpression:()=>fe,NegativeExpression:()=>Wt,NullLiteral:()=>$e,NumberLiteral:()=>ge,OpraErrorListener:()=>Ht,ParenthesizedExpression:()=>Oe,QualifiedIdentifier:()=>H,StringLiteral:()=>Be,Term:()=>je,TimeLiteral:()=>qe,parse:()=>Bo});function kp(...o){return new fe({op:"or",items:o})}a(kp,"$or");function jp(...o){return new fe({op:"and",items:o})}a(jp,"$and");function Cp(o){return new Ae(o)}a(Cp,"$date");function Up(o){return new qe(o)}a(Up,"$time");function $p(o){return new ge(o)}a($p,"$number");function Hs(...o){return new xe(o.map($r))}a(Hs,"$array");function Bp(o){return new H(o)}a(Bp,"$field");function qp(o,e){return te("=",o,e)}a(qp,"$eq");function Kp(o,e){return te("!=",o,e)}a(Kp,"$ne");function Vp(o,e){return te(">",o,e)}a(Vp,"$gt");function zp(o,e){return te(">=",o,e)}a(zp,"$gte");function Jp(o,e){return te("<",o,e)}a(Jp,"$lt");function Wp(o,e){return te("<=",o,e)}a(Wp,"$lte");function Yp(o,e){return te("in",o,e)}a(Yp,"$in");function Gp(o,e){return te("!in",o,e)}a(Gp,"$notIn");function Qp(o,e){return te("like",o,e)}a(Qp,"$like");function Xp(o,e){return te("!like",o,e)}a(Xp,"$notLike");function Zp(o,e){return te("ilike",o,e)}a(Zp,"$ilike");function Hp(o,e){return te("!ilike",o,e)}a(Hp,"$notILike");function ec(o){return new Oe(o)}a(ec,"$paren");function tc(o){let e=new Ce;return e.add=t=>(e.append("+",_t(t)),e),e.sub=t=>(e.append("-",_t(t)),e),e.mul=t=>(e.append("*",_t(t)),e),e.div=t=>(e.append("/",_t(t)),e),e.append("+",$r(o)),e}a(tc,"$arithmetic");function te(o,e,t){let r=typeof e=="string"?new H(e):$r(e),i=$r(t);return new le({op:o,left:r,right:i})}a(te,"comparisonExpression");var $r=a(o=>Array.isArray(o)?Hs(...o.map(_t)):_t(o),"wrapEntryValue"),_t=a(o=>o instanceof U?o:typeof o=="boolean"?new Ue(o):typeof o=="number"||typeof o=="bigint"?new ge(o):o==null?new $e:o instanceof Date?new Ae(o):new Be(""+o),"_wrapEntryValue");var xt,Ne=(xt=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 rc(r,i)}[O](){return ic}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");_.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(xt,"FilterType"),xt);hn([u.Attribute({description:"Data type which filtering fields belong to"}),yn("design:type",Object)],Ne.prototype,"dataType",void 0);hn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),yn("design:type",Object)],Ne.prototype,"rules",void 0);Ne=hn([u({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),yn("design:paramtypes",[Object])],Ne);var rc=a((o,e,t)=>ea("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=ir.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),ic=ea("encodeFilter",(o,e,t)=>{if(o instanceof ir.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as oc,__metadata as nc}from"tslib";import{vg as ta}from"valgen";var Ot,Br=(Ot=class{constructor(e){e&&Object.assign(this,e)}[T](){return ta.isObjectId({coerce:!0})}[O](){return ta.isObjectId({coerce:!0})}},a(Ot,"ObjectIdType"),Ot);Br=oc([u({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),nc("design:paramtypes",[Object])],Br);import{__decorate as ye,__metadata as Te}from"tslib";import{omitUndefined as ra}from"@jsopen/objects";import{asMutable as ac}from"ts-gems";import{omitUndefined as sc}from"@jsopen/objects";function Tn(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(d,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),p=n.fields[i]={...o};s===Array?p.isArray=!0:p.type=p.type||s,Reflect.defineMetadata(d,n,r.constructor);for(let c of e)c(p)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(sc({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(Tn,"ApiFieldDecoratorFactory");var L=a(function(...o){if(!this){let[n]=o;return L[D](n)}let[e,t]=o;R.call(this,e);let r=ac(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof P))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override},"ApiField"),_n=class _n extends R{inScope(e){return tr(e,this.scopePattern)}forScope(e){if(!(e&&this.override))return this;this._overrideCache=this._overrideCache||{};let t=this._overrideCache[e];if(t)return t;if(e!=="*"){for(let r of this.override)if(tr(e,r.scopePattern)){t=ra({...r,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:r.scopePattern}),Object.setPrototypeOf(t,this);break}}return t=t||this,this._overrideCache[e]=t,t}toJSON(e){var r;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ra({type:t||((r=this.type)==null?void 0:r.toJSON(e)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}};a(_n,"ApiFieldClass");var En=_n;L.prototype=En.prototype;Object.assign(L,Tn);L[D]=Tn;import"reflect-metadata";import{omitUndefined as cc}from"@jsopen/objects";import{asMutable as lc}from"ts-gems";var xn=class xn extends _e{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(xn,"OpraDocumentError");var gt=xn;var On=class On{constructor(e){this.path="",this.error=new gt,this.showErrorDetails=!0,this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message=""}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(On,"DocumentInitContext");var he=On;import{omit as pc}from"@jsopen/objects";function gn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(d,e);r||(r={},Reflect.defineMetadata(d,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,pc(o,["name"]))}}a(gn,"ComplexTypeDecorator");var re=a(function(...o){var n;if(!this)return re[D].apply(void 0,o);let[e,t]=o,r=o[2]||new he({maxErrors:0});P.call(this,e,t,r);let i=lc(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof P))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new L(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,p]of Object.entries(t.fields)){let c=new L(this,{...p,name:s});this._fields.set(c.name,c)}})},"ComplexType"),Rn=class Rn extends P{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof P?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i={...t,kind:this.kind,base:this.base?r||this.base.toJSON(e):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof _){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 cc(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Rn,"ComplexTypeClass");var wn=Rn;re.prototype=wn.prototype;Object.assign(re,gn);re[D]=gn;var wt,Z=(wt=class{constructor(e){e&&Object.assign(this,e)}},a(wt,"OperationResult"),wt);ye([L(),Te("design:type",Number)],Z.prototype,"affected",void 0);ye([L(),Te("design:type",Number)],Z.prototype,"totalMatches",void 0);ye([L(),Te("design:type",String)],Z.prototype,"context",void 0);ye([L(),Te("design:type",String)],Z.prototype,"type",void 0);ye([L(),Te("design:type",String)],Z.prototype,"message",void 0);ye([L({type:"any"}),Te("design:type",Object)],Z.prototype,"payload",void 0);ye([L({type:"object"}),Te("design:type",Array)],Z.prototype,"errors",void 0);Z=ye([re({name:"OperationResult",description:"Operation result"}),Te("design:paramtypes",[Object])],Z);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return ye([L({type:t,required:!0}),Te("design:type",Object)],r.prototype,"payload",void 0),r=ye([re({embedded:!0}),Te("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(Z||(Z={}));import{__decorate as An,__metadata as bn}from"tslib";import{vg as qr}from"valgen";var fc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Rt,At=(Rt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=qr.matches(fc,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(qr.isGte(e.minValue)),e.maxValue!=null&&r.push(qr.isLte(e.maxValue)),r.length>0?qr.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},a(Rt,"TimeType"),Rt);An([u.Attribute({description:"Minimum value"}),bn("design:type",String)],At.prototype,"minValue",void 0);An([u.Attribute({description:"Maximum value"}),bn("design:type",String)],At.prototype,"maxValue",void 0);At=An([u({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),bn("design:paramtypes",[Object])],At);import{__decorate as mc,__metadata as uc}from"tslib";import{vg as ia}from"valgen";var bt,Kr=(bt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ia.isURL({coerce:!0})}[O](){return ia.isURL({coerce:!0})}},a(bt,"UrlType"),bt);Kr=mc([u({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),uc("design:paramtypes",[Object])],Kr);import{__decorate as na,__metadata as sa}from"tslib";import{vg as oa}from"valgen";var Dt,or=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return oa.isUUID(e==null?void 0:e.version,{coerce:!0})}[O](e){return oa.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(Dt,"UuidType"),Dt);na([u.Attribute({description:"Version of the UUID"}),sa("design:type",Number)],or.prototype,"version",void 0);or=na([u({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),sa("design:paramtypes",[Object])],or);import dc from"path-browserify";import{omitUndefined as hc}from"@jsopen/objects";import{asMutable as yc}from"ts-gems";var aa,pa,ie=Symbol.for("kMap"),nr=Symbol.for("kCtorMap"),Dn=class Dn{constructor(){this[aa]=new F,this[pa]=new WeakMap}get size(){return this[ie].size}forEach(e,t){this[ie].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[nr].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(d,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[d];t=i==null?void 0:i.name}if(!t)return;let r=this[ie].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[ie].set(e,t),t.ctor?this[nr].set(t.ctor,e):t.instance&&this[nr].set(t.instance,e)}has(e){if(e instanceof _)return!!e.name&&this[ie].has(e.name);let t=typeof e=="string"?e:this[nr].get(e);return t?this[ie].has(t):!1}keys(){return this[ie].keys()}values(){return this[ie].values()}entries(){return this[ie].entries()}sort(e){return this[ie].sort(e),this}[(aa=ie,pa=nr,Symbol.iterator)](){return this[ie][Symbol.iterator]()}};a(Dn,"DataTypeMap");var oe=Dn;function S(o,e){let t=a((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(se,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n);Reflect.defineMetadata(se,s,r.constructor)},"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="cookie"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="header"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="query"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="path"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType||b.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===b.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),o.push(s=>{s.responses=s.responses||[],s.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||b.json,i.contentEncoding=i.contentEncoding||"utf-8"),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),s},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(S,"HttpOperationDecoratorFactory");var A=a(function(...o){if(!this){let[i]=o,n=[];return A[D].call(void 0,n,i)}let[e,t]=o;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=yc(this);r.parameters=[],r.responses=[],r.types=r.node[C]=new oe,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?I(t.compositionOptions):void 0},"HttpOperation"),Sn=class Sn extends 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:dc.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=hc({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(Sn,"HttpOperationClass");var Nn=Sn;A.prototype=Nn.prototype;A[D]=S;A.GET=function(o){return S([],{...o,method:"GET"})};A.DELETE=function(o){return S([],{...o,method:"DELETE"})};A.HEAD=function(o){return S([],{...o,method:"HEAD"})};A.OPTIONS=function(o){return S([],{...o,method:"OPTIONS"})};A.PATCH=function(o){return S([],{...o,method:"PATCH"})};A.POST=function(o){return S([],{...o,method:"POST"})};A.PUT=function(o){return S([],{...o,method:"PUT"})};A.SEARCH=function(o){return S([],{...o,method:"SEARCH"})};A.Entity={};function K(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(d,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(K,"getDataTypeName");function Se(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(Se,"createKeyParamDecorator");function ca(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,p)=>{let c=p.split(":");return s[c[0]]=c[1]||c[0],s},{}),i=Object.keys(r).reduce((s,p)=>{let c=at.exec(p),l=at.exec(r[p]);return c&&l&&(s[c[2]]=l[2]),s},{}),n=Object.keys(r).reduce((s,p)=>{let c=at.exec(p);return c&&(c[1]!="-"&&(s[c[2]]=c[2]),c[1]!="+"&&(s["-"+c[2]]="-"+c[2])),s},{});return e.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:ee(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(p=>{let c=at.exec(p);return c?(c[1]||"")+i[c[2]]:p}),"parser")}),o}}a(ca,"createSortFieldsDecorator");function Fe(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 Ne({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(Fe,"createFilterDecorator");A.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new q({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(w.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=K(t.type)}),i};A.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(w.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=K(t.type)}),i.KeyParam=Se(i,r),i};A.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(w.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=K(t.type)}),i.Filter=Fe(i,r,t.type),i};import{__decorate as Tc,__metadata as Ec}from"tslib";import{isAny as la}from"valgen";var Nt,Vr=(Nt=class{constructor(e){e&&Object.assign(this,e)}[T](){return la}[O](){return la}},a(Nt,"AnyType"),Nt);Vr=Tc([u({name:"any",description:"Represents any value"}),Ec("design:paramtypes",[Object])],Vr);import{__decorate as _c,__metadata as xc}from"tslib";import{toBigint as ma,vg as In}from"valgen";import{__decorate as vn,__metadata as Mn}from"tslib";import{toNumber as fa,vg as Fn}from"valgen";var St,Ee=(St=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue!=null&&t.push(Fn.isGte(e.minValue)),e.maxValue!=null&&t.push(Fn.isLte(e.maxValue)),t.length>0?Fn.pipe([fa,...t],{returnIndex:0}):fa}[O](e){return this[T](e)}},a(St,"NumberType"),St);vn([u.Attribute({description:"Determines the minimum value"}),Mn("design:type",Number)],Ee.prototype,"minValue",void 0);vn([u.Attribute({description:"Determines the maximum value"}),Mn("design:type",Number)],Ee.prototype,"maxValue",void 0);Ee=vn([u({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Mn("design:paramtypes",[Object])],Ee);var Ft,zr=(Ft=class extends Ee{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(In.isGte(e.minValue)),e.maxValue!=null&&t.push(In.isLte(e.maxValue)),t.length>0?In.pipe([ma,...t],{returnIndex:0}):ma}[O](e){return this[T](e)}},a(Ft,"BigintType"),Ft);zr=_c([u({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),xc("design:paramtypes",[Object])],zr);import{__decorate as Oc,__metadata as gc}from"tslib";import{toBoolean as ua}from"valgen";var vt,Jr=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ua}[O](){return ua}},a(vt,"BooleanType"),vt);Jr=Oc([u({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),gc("design:paramtypes",[Object])],Jr);import{__decorate as wc,__metadata as Rc}from"tslib";import{toInteger as da,vg as Pn}from"valgen";var Mt,Ve=(Mt=class extends Ee{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(Pn.isGte(e.minValue)),e.maxValue!=null&&t.push(Pn.isLte(e.maxValue)),t.length>0?Pn.pipe([da,...t],{returnIndex:0}):da}[O](e){return this[T](e)}},a(Mt,"IntegerType"),Mt);Ve=wc([u({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Rc("design:paramtypes",[Object])],Ve);import{__decorate as Ac,__metadata as bc}from"tslib";import{isNull as ha}from"valgen";var It,Wr=(It=class{constructor(e){e&&Object.assign(this,e)}[T](){return ha}[O](){return ha}},a(It,"NullType"),It);Wr=Ac([u({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),bc("design:paramtypes",[Object])],Wr);import{__decorate as Dc,__metadata as Nc}from"tslib";var Pt,Yr=(Pt=class{constructor(e){e&&Object.assign(this,e)}},a(Pt,"ObjectType"),Pt);Yr=Dc([re({name:"object",description:"A non modelled object",additionalFields:!0}),Nc("design:paramtypes",[Object])],Yr);import{__decorate as sr,__metadata as ar}from"tslib";import{toString as ya,vg as Gr}from"valgen";var Lt,ve=(Lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(d,Object.getPrototypeOf(this).constructor).name),t.push(Gr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Gr.lengthMin(e.minLength)),e.maxLength&&t.push(Gr.lengthMax(e.maxLength)),t.length>0?Gr.pipe([ya,...t],{returnIndex:0}):ya}[O](e){return this[T](e)}},a(Lt,"StringType"),Lt);sr([u.Attribute({description:"Regex pattern to be used for validation"}),ar("design:type",Object)],ve.prototype,"pattern",void 0);sr([u.Attribute({description:"Name of the pattern"}),ar("design:type",String)],ve.prototype,"patternName",void 0);sr([u.Attribute({description:"Minimum number of characters"}),ar("design:type",Number)],ve.prototype,"minLength",void 0);sr([u.Attribute({description:"Minimum number of characters"}),ar("design:type",Number)],ve.prototype,"maxLength",void 0);ve=sr([u({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),ar("design:paramtypes",[Object])],ve);A.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(w.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:b.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Ve({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Ve({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new q({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=K(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=Fe(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.defaultSort=n}),i),i.SortFields=ca(i,r),i};A.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new q({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(w.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(w.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=K(t.type)}),i.KeyParam=Se(i,r),i};A.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new q({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(w.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(w.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=K(t.type)}),i.KeyParam=Se(i,r),i};A.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new q({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(w.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(w.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=K(t.type)}),i.KeyParam=Se(i,r),i.Filter=Fe(i,r,t.type),i};A.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(w.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(w.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=K(t.type)}),i.Filter=Fe(i,r,t.type),i};import{merge as Ln}from"@jsopen/objects";var Sc=/^(.*)(Controller)$/,Ta=[];function kt(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Sc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&Ln(n,s,{deep:!0});let p=Reflect.getOwnMetadata(ae,r);p&&Ln(n,p,{deep:!0}),Ln(n,{...o,kind:m.RpcController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),Ta.forEach(r=>r(t,e,o)),t}a(kt,"RpcControllerDecoratorFactory");kt.augment=function(o){Ta.push(o)};import{omit as vc}from"@jsopen/objects";var Ea=[];function pr(o,e,t){let r=!1,i=a((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:s,payloadType:e,...vc(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(ae,n.constructor)||{};c.operations=c.operations||{},c.operations[s]=p;for(let l of o)l(p,n,s);Reflect.defineMetadata(ae,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},l=r?p.response:p;l.headers?l.headers=l.headers.filter(x=>String(x.name)!==String(n)):l.headers=[],l.headers.push(c)}),i),i.Response=(n,s)=>(o.push(p=>{r=!0,p.response={...s,payloadType:n}}),i),Ea.forEach(n=>n(i,o,e,t)),i}a(pr,"RpcOperationDecoratorFactory");pr.augment=function(o){Ea.push(o)};import"reflect-metadata";import{omitUndefined as Ic}from"@jsopen/objects";import{asMutable as Pc}from"ts-gems";function Qr(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(Qr,"getIsInheritedPredicateFn");var ze=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;P.call(this,e,t,r);let i=Pc(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof P))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(l=>i.base.normalizeFieldPath(l)):t.omit?i.omit=t.omit.map(l=>i.base.normalizeFieldPath(l)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(l=>i.base.normalizeFieldPath(l)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(l=>i.base.normalizeFieldPath(l)):t.required);let s=Qr(i.pick,i.omit),p=Array.isArray(i.partial)?i.partial.map(l=>l.toLowerCase()):i.partial,c=Array.isArray(i.required)?i.required.map(l=>l.toLowerCase()):i.required;for(let[l,x]of i.base.fieldEntries("*")){if(!s(l))continue;let g={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?g.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(g.required=!0);let y=new L(this,g);i._fields.set(y.name,y)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),jn=class jn extends P{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof P?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Ic({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(jn,"MappedTypeClass");var kn=jn;ze.prototype=kn.prototype;ze._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as Lc}from"@jsopen/objects";import{asMutable as kc}from"ts-gems";var jt=a(function(...o){if(!this)return jt[D].apply(void 0,o);let[e,t,r]=o;P.call(this,e,t,r);let i=kc(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new L(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Un=class Un extends P{extendsFrom(e){if(e instanceof _||(e=this.node.getDataType(e)),!(e instanceof P))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return Lc({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a(Un,"MixinTypeClass");var Cn=Un;jt.prototype=Cn.prototype;jt[D]=jc;function jc(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)yr(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(d,i,r);for(let n of o){let s=Reflect.getMetadata(d,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),hr(r.prototype,n.prototype)}return r}a(jc,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as Cc}from"@jsopen/objects";import{asMutable as Uc}from"ts-gems";import{vg as _a}from"valgen";var Ct=a(function(...o){if(!this)return Ct[D].apply(void 0,o);let[e,t,r]=o;_.call(this,e,t,r);let i=Uc(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),Bn=class Bn extends _{toJSON(e){let t=super.toJSON(e);return Cc({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:_a.isEqual(i.discriminatorValue)}]:n});return _a.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(Bn,"UnionTypeClass");var $n=Bn;Ct.prototype=$n.prototype;Ct[D]=$c;function $c(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(d,r,t),t}a($c,"UnionTypeFactory");var qn=Symbol("initializing"),Xr=class Xr{static async createDataType(e,t,r){e=e||new he({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Xr.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[C];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new he({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new F;for(let c of i)n.set(c.name,c);let s=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let x=this._createDataType(s,t,l);x&&p.push(x)});return p}static async _prepareAllInitArgs(e,t,r){let i=new F,n=new F,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[C])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 pe(c);let l=Reflect.getMetadata(d,c)||c[d];if(!(l&&l.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(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await pe(p),i.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(i.keys())){if(!i.has(p))continue;let c=await this._importDataTypeArgs(s,t,p);c&&typeof c!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var g;r=await pe(r);let{importQueue:n,initArgsMap:s}=e,p=t.node.findDataType(r);if(p instanceof _)return p.name;let c,l,x;if(typeof r!="string"){let Y=t.node.getDocument().types[Tr].get(r);Y&&(r=Y)}if(typeof r=="string"){let y=r;if(r=(n==null?void 0:n.get(y))||((g=e.initArgsMap)==null?void 0:g.get(y)),!r)return e.addError(`Unknown data type (${y})`)}if(typeof r=="function"){if(c=Reflect.getMetadata(d,r),!c)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);l=r}else if(typeof r=="object"){if(c=r[d],c)x=r,c.kind!==m.EnumType.Kind&&(c=void 0);else if(m.isDataType(r))c=r,l=c.ctor;else if(l=Object.getPrototypeOf(r).constructor,c=l&&Reflect.getMetadata(d,l),c&&c.kind===m.SimpleType.Kind){let y=await this._importDataTypeArgs(e,t,c.name);return y?typeof y=="object"&&y.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:y,properties:r}:void 0}}return c?e.enterAsync(c.name?`[${c.name}]`:"",async()=>{if(c.name){let Y=s==null?void 0:s.get(c.name);if(Y)return i&&Y[qn]?e.addError("Circular reference detected"):c.name}let y={kind:c.kind,name:c.name};y[qn]=!0;try{if(y.name)if(n!=null&&n.has(y.name))s==null||s.set(c.name,y),y._instance={name:c.name},y[C]=t.node[C];else return e.addError(`Data Type (${y.name}) must be explicitly added to type list in the document scope`);switch(y.kind){case m.ComplexType.Kind:y.ctor=l,await this._prepareComplexTypeArgs(e,t,y,c);break;case m.EnumType.Kind:y.instance=x,await this._prepareEnumTypeArgs(e,t,y,c);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,y,c);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,y,c);break;case m.SimpleType.Kind:y.ctor=l,await this._prepareSimpleTypeArgs(e,t,y,c);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,y,c);break;default:return e.addError(`Invalid data type kind ${c.kind}`)}}finally{y.name&&(n==null||n.delete(y.name)),delete y[qn]}return n&&y.name?y.name:y}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=Me(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof s=="string"?{type:s}:s;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:Me(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=Me(n))}),r.attributes=I(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,p,c;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let l;if(i.base)l=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,x)&&(l=await this._importDataTypeArgs(e,t,x))}l&&(r.base=Me(l),r.ctor=r.ctor||l.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=I(i.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[T].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[O])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[O].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof _)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let p=n[C];switch(p||delete n._instance,i=n._instance,i!=null&&i.name&&p&&p.set(i.name,i),n==null?void 0:n.kind){case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,re.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,p]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[s]={...p,name:s,type:c})})}),re.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ee.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,ee.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ze.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),ze.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,jt.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof P))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),jt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,u.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Ct.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);n.types.push(c)})}),Ct.apply(i,[t,n]),i}};a(Xr,"DataTypeFactory");var M=Xr;function Me(o){return typeof o=="object"&&o.name?o.name:o}a(Me,"preferName");import{isConstructor as al}from"@jsopen/objects";import{omitUndefined as qc}from"@jsopen/objects";var Kn=class Kn extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return qc({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!j.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};a(Kn,"ApiBase");var Ut=Kn;import zc from"path-browserify";import{omitUndefined as Jc}from"@jsopen/objects";import{asMutable as Wc}from"ts-gems";import{merge as Vn,omit as Kc}from"@jsopen/objects";var Vc=/^(.*)(Controller)$/;function zn(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Vc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(se,Object.getPrototypeOf(r));s&&Vn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(se,r);p&&Vn(n,p,{deep:!0}),Vn(n,{kind:m.HttpController.Kind,name:i,path:i,...Kc(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(se,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(se,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var p;(p=n.path)!=null&&p.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(zn,"HttpControllerDecoratorFactory");var ne=a(function(...o){var i;if(!this)return ne[D].apply(void 0,o);let[e,t]=o;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Wc(this);r.kind=m.HttpController.Kind,r.types=r.node[C]=new oe,r.operations=new F,r.controllers=new F,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Wn=class Wn extends R{get isRoot(){return!(this.owner instanceof ne)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof ne)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return zc.posix.join(this.owner instanceof ne?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}[ot](){return`[${nt}HttpController${st+this.name+Ke}]`}};a(Wn,"HttpControllerClass");var Jn=Wn;ne.prototype=Jn.prototype;Object.assign(ne,zn);ne[D]=zn;var Yn=class Yn extends Ut{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new F,this.url=e.url}findController(e){return ne.prototype.findController.call(this,e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(e){let r={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON(e);return r}};a(Yn,"HttpApi");var $t=Yn;import Yc from"@browsery/type-is";import{omitUndefined as Gc}from"@jsopen/objects";import{asMutable as Qc}from"ts-gems";import{isAny as Xc,vg as Zc}from"valgen";var Ie=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,o);let t=Qc(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof _?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),Qn=class Qn 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=Gc({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=>Yc.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||Xc,this.isArray?Zc.isArray(r):r}};a(Qn,"HttpMediaTypeClass");var Gn=Qn;Ie.prototype=Gn.prototype;import{omitUndefined as Hc}from"@jsopen/objects";function Bt(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(Bt,"parseRegExp");var Xn=class Xn extends Ie{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?Bt(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return Hc({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Xn,"HttpMultipartField");var Zr=Xn;import{omitUndefined as tl}from"@jsopen/objects";var el=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Zn=class Zn{constructor(e,t){if(this.start=0,this.end=0,e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=el.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a(Zn,"HttpStatusRange");var cr=Zn;var Hn=class Hn extends Ie{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new cr(r.start,r.end):new cr(r)),this.partial=t.partial}findParameter(e,t){e=e.toLowerCase();for(let r of this.parameters)if((!t||t===r.location)&&(r.name instanceof RegExp&&r.name.test(e)||r.name===e))return r}toJSON(e){let t=this.statusCode.map(i=>i.toJSON()),r=tl({...super.toJSON(e),statusCode:t.length===1&&typeof t[0]=="number"?t[0]:t,partial:this.partial});if(this.parameters.length){r.parameters=[];for(let i of this.parameters)r.parameters.push(i.toJSON(e))}return r}};a(Hn,"HttpOperationResponse");var Hr=Hn;import{omitUndefined as ol}from"@jsopen/objects";import{asMutable as nl}from"ts-gems";import{omitUndefined as rl}from"@jsopen/objects";import{asMutable as il}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=il(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),ts=class ts extends R{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return rl({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(ts,"ValueClass");var es=ts;Je.prototype=es.prototype;var lr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=nl(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Bt(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser},"HttpParameter"),is=class is extends Je{toJSON(e){return ol({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(is,"HttpParameterClass");var rs=is;lr.prototype=rs.prototype;import{omitUndefined as sl}from"@jsopen/objects";var os=class os extends R{constructor(e){super(e),this.content=[]}toJSON(e){return sl({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(t=>t.toJSON(e)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};a(os,"HttpRequestBody");var ei=os;var ns=class ns{static async createApi(e,t){let r=new $t(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let p=await this._createController(e,t,s.metadata,s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(p.name,p))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let p=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!al(r)&&(r=t instanceof ne?r(t.instance):r()),r=await pe(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(se,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(se,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new ne(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let p=0;for(let c of r.parameters)await e.enterAsync(`[${p++}]`,async()=>{let l={...c};await e.enterAsync(".type",async()=>{l.type=await M.resolveDataType(e,s,c.type)});let x=new lr(s,l);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 l=new A(s,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),s.operations.set(p,l)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return A.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let p={...s};await e.enterAsync(".type",async()=>{p.type=await M.resolveDataType(e,t,s.type)});let c=new lr(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new Hr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new ei(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Ie.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await M.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new Zr(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let p=new lr(t,s);t.parameters.push(p)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new Ie(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(ns,"HttpApiFactory");var qt=ns;import{omitUndefined as cl}from"@jsopen/objects";import{md5 as ll}from"super-fast-md5";var ss=class ss extends Ut{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new F,this.platform=e.platform}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(ss,"RpcApi");var Kt=ss;var xa,as=class as extends R{constructor(){super(null),this[xa]=new WeakMap,this.id="",this.info={},this.references=new F,this.types=new oe,this.node[C]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof _?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[we].get(t)}findDocument(e){if(this.id===e)return this;for(let t of this.references.values()){if(t.id===e)return t;let r=t.findDocument(e);if(r)return r}}get httpApi(){if(!(this.api&&this.api instanceof $t))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof Kt))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(e){let t=cl({spec:m.SpecVersion,id:this.id,url:this.url,info:I(this.info,!0)});if(this.references.size){let r=0,i={};for(let[n,s]of this.references.entries())s[Le]||(i[n]={id:s.id,url:s.url,info:I(s.info,!0)},r++);r&&(t.references=i)}if(this.types.size){t.types={};for(let r of this.types.values())r.inScope(e==null?void 0:e.scope)&&(t.types[r.name]=r.toJSON(e))}return this.api&&(t.api=this.api.toJSON(e)),t}invalidate(){let e=this.export({});delete e.id,this.id=ll(JSON.stringify(e)),this[we]=new WeakMap}_findDataType(e,t,r){let i=this.types.get(e);if(i&&i.inScope(t))return i;if(!this.references.size)return;if(typeof e=="string"){let s=ks.exec(e);if(s){let p=s[1];if(p){let c=this.references.get(p);return c?(r=r||new WeakMap,r.set(this,!0),r.set(c,!0),c._findDataType(s[2],t,r)):void 0}e=s[2]}}r=r||new WeakMap,r.set(this,!0);let n=Array.from(this.references.keys()).reverse();for(let s of n){let p=this.references.get(s);if(i=p==null?void 0:p.types.get(e),i)return this[we].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[we].set(i,p!=null&&p[Le]?"":s),i}}};a(as,"ApiDocument");var We=as;xa=we;function Pe(o,e,t){let r=Qr(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&yr(this,o,r)}}}[n];if(typeof o=="function"&&hr(s.prototype,o.prototype),typeof o=="function"){let c=Reflect.getOwnMetadata(d,o);if(!c)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(c.kind===m.ComplexType.Kind||c.kind===m.MappedType.Kind||c.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:o};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(d,p,s),typeof o=="function"&&ze._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(Pe,"createMappedClass");function G4(o,e,t){return Pe(o,{omit:e},t)}a(G4,"OmitType");function H4(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Pe(o,{partial:t},r)}a(H4,"PartialType");function ix(o,e,t){return Pe(o,{pick:e},t)}a(ix,"PickType");function ax(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Pe(o,{required:t},r)}a(ax,"RequiredType");import{isConstructor as El}from"@jsopen/objects";import{omitUndefined as fl}from"@jsopen/objects";import{asMutable as ml}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),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=ml(this);r.kind=m.RpcController.Kind,r.types=r.node[C]=new oe,r.operations=new F,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"RpcController"),cs=class cs extends 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=fl({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[ot](){return`[${nt}RpcController${st+this.name+Ke}]`}};a(cs,"RpcControllerClass");var ps=cs;Ye.prototype=ps.prototype;Object.assign(Ye,kt);Ye[D]=kt;import{omitUndefined as ul}from"@jsopen/objects";import{asMutable as dl}from"ts-gems";var fr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Je.call(this,o,e);let t=dl(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?Bt(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"RpcHeader"),fs=class fs extends Je{toJSON(){return ul({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(fs,"RpcHeaderClass");var ls=fs;fr.prototype=ls.prototype;import{omitUndefined as hl}from"@jsopen/objects";import{asMutable as yl}from"ts-gems";var mr=a(function(...o){if(!this){let[i,n]=o,s=[];return mr[D].call(void 0,s,i,n)}let[e,t]=o;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=yl(this);r.headers=[],r.types=r.node[C]=new oe,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof _?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof _?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),us=class us 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=hl({kind:m.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(us,"RpcOperationClass");var ms=us;mr.prototype=ms.prototype;mr[D]=pr;import{omitUndefined as Tl}from"@jsopen/objects";var ds=class ds 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 _?t.payloadType:this.owner.node.getDataType(t.payloadType):this.payloadType=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof _?t.keyType:this.owner.node.getDataType(t.keyType))}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=Tl({description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}};a(ds,"RpcOperationResponse");var ti=ds;var hs=class hs{static async createApi(e,t){let r=new Kt(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!El(r)&&(r=r()),r=await pe(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(ae,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(ae,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 M.addDataTypes(e,c,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let x of s.headers)await e.enterAsync(`[${l++}]`,async()=>{let g={...x};await e.enterAsync(".type",async()=>{x.type&&(g.type=c.node.findDataType(x.type)),!g.type&&typeof x.type=="object"&&(g.type=await M.createDataType(e,c,x.type)),g.type||(g.type=c.node.getDataType("any"))});let y=new fr(c,g);c.headers.push(y)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[l,x]of Object.entries(s.operations))await e.enterAsync(`[${l}]`,async()=>{let g=new mr(c,{...x,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,g,x),c.operations.set(g.name,g)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.payloadType=await M.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let p=new fr(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new ti(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initRpcOperationResponse(e,i,r.response),t.response=i})}static async _initRpcOperationResponse(e,t,r){t.payloadType=await M.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let p=new fr(t,s);t.headers.push(p)})})}};a(hs,"RpcApiFactory");var ri=hs;var _l="https://oprajs.com/spec/v"+m.SpecVersion,ii=class ii{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new ii,i=t instanceof he?t:new he(t);try{let n=new We;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof gt||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length;i.error.message=`(${s}) error${s>1?"s":""} found in document schema.`,i.showErrorDetails&&(i.error.message+=i.error.details.map(p=>`
6
+ var Os=Object.defineProperty;var a=(o,e)=>Os(o,"name",{value:e,configurable:!0});var hr=(o,e)=>{for(var t in e)Os(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 Op}from"@jsopen/objects";import{isString as gp}from"valgen";import{omitUndefined as qa}from"@jsopen/objects";import ja from"@browsery/i18next";import{splitString as Ca,tokenize as Rs}from"fast-tokenizer";var La=/\\(.)/g,ka=/(\\)/g;function gs(o){return o.replace(ka,"\\\\")}a(gs,"escapeString");function ws(o){return o.replace(La,"$1")}a(ws,"unescapeString");var Ua=Object.getPrototypeOf(ja.createInstance()).constructor,qt=class qt extends Ua{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 l of Object.keys(c))this.addResourceBundle(p,l,c[l],!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 Rs(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=Ca(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=ws(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],l=null;for(let g of Rs(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(g.startsWith("{")){l=JSON.parse(g);continue}c.push(g)}let x=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(x,p,{...r,...l}):this.t(x,{...r,...l});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 $a}};a(qt,"I18n");var Vt=qt,$a=Vt.createInstance();var Ba=/(\))/g;function Kl(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?"?"+gs(i).replace(Ba,"\\$1"):"")+")"}a(Kl,"translate");var ei=Vt.createInstance();ei.init().catch(()=>{});var ti=class ti 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 ei.deep(this.message)}toJSON(){var t;let e="production";return qa({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(ti,"OpraException");var Ee=ti;var ri=class ri 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(ri,"OpraHttpError");var N=ri;var ii=class ii extends N{constructor(){super(...arguments),this.status=400}init(e){super.init({message:"Bad request",code:"BAD_REQUEST",...e})}};a(ii,"BadRequestError");var bs=ii;var oi=class oi extends N{constructor(){super(...arguments),this.status=409}init(e){super.init({message:"Conflict",code:"CONFLICT",...e})}};a(oi,"ConflictError");var As=oi;var ni=class ni extends N{constructor(){super(...arguments),this.status=424}init(e){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...e})}};a(ni,"FailedDependencyError");var Ds=ni;var Ns;(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"})(Ns||(Ns={}));var w;(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"})(w||(w={}));var yf={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 si=class si extends N{constructor(){super(...arguments),this.status=w.FORBIDDEN}init(e){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...e})}};a(si,"ForbiddenError");var yr=si;var ai=class ai extends N{constructor(){super(...arguments),this.status=500}init(e){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(ai,"InternalServerError");var Ss=ai;var pi=class pi extends N{constructor(){super(...arguments),this.status=405}init(e){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...e})}};a(pi,"MethodNotAllowedError");var vs=pi;var ci=class ci extends N{constructor(){super(...arguments),this.status=406}init(e){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...e})}};a(ci,"NotAcceptableError");var Ms=ci;var li=class li extends N{constructor(){super(...arguments),this.status=404}init(e){super.init({message:"Not found",code:"NOT_FOUND",...e})}};a(li,"NotFoundError");var Fs=li;var fi=class fi extends yr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(fi,"PermissionError");var Is=fi;var mi=class mi extends N{constructor(e,t,r){super({message:`There is already an other "${e}" resource with same values for field(s) [${t}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(mi,"ResourceConflictError");var Ps=mi;var ui=class ui extends N{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,w.UNPROCESSABLE_ENTITY)}};a(ui,"ResourceNotAvailableError");var Ls=ui;var di=class di extends N{constructor(){super(...arguments),this.status=401}init(e){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...e})}};a(di,"UnauthorizedError");var ks=di;var hi=class hi extends N{constructor(){super(...arguments),this.status=422}init(e){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(hi,"UnprocessableEntityError");var js=hi;var Cs;(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"}})(Cs||(Cs={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as Va}from"@jsopen/objects";import Ka from"putil-promisify";async function pe(o){return o=Ka.isPromise(o)?await o:o,typeof o=="function"?Va(o)?o:await o():o}a(pe,"resolveThunk");var Us=/^(?:file:\/\/)?(.+)$/;function bm(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?Us.exec(r):void 0;return i?i[1]:""}return""}a(bm,"getStackFileName");function Am(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?Us.exec(r):void 0;return i?i[1]:""}return""}a(Am,"getErrorStack");function Tr(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(Tr,"mergePrototype");function Er(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(Er,"inheritPropertyInitializers");import{isPlainObject as Bs,merge as za}from"@jsopen/objects";var d=Symbol.for("opra.type.metadata"),se=Symbol("opra.http-controller.metadata"),ae=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),O=Symbol("opra.type.encoder"),D=Symbol.for("DECORATOR"),Le=Symbol.for("BUILTIN"),$s=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,C=Symbol.for("kDataTypeMap"),_r=Symbol.for("kCtorMap"),we=Symbol.for("kTypeNSMap");function I(o,e){return za({},o,{deep:a(t=>Bs(t)&&!t[d],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||Bs(i)||Array.isArray(i))}})}a(I,"cloneObject");import{splitString as qs}from"fast-tokenizer";var Ja=/^([+-])?([a-z_$]\w*)$/i,Wa=/[^.]\(/g,yi=class yi{};a(yi,"FieldsProjection");var ke=yi;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(ke||(ke={}));function Vs(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new ke;for(let i of t)e||(i=i.toLowerCase()),Ks(i,r);return r}a(Vs,"parseFieldsProjection");function Ks(o,e){o=o.replace(Wa,r=>r.charAt(0)+"."+r.substring(1));let t=qs(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=qs(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)Ks(l,e);continue}let n=Ja.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new ke.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new ke}}a(Ks,"parse");function Ya(o){return o&&typeof o.forEach=="function"}a(Ya,"isMap");var J=Symbol.for("kEntries"),ce=Symbol.for("kKeyMap"),xr=Symbol.for("kWellKnownKeys"),Ti=Symbol.for("kOptions"),Xe=Symbol.for("kSize"),Ei=class Ei{constructor(e,t){Object.defineProperty(this,Xe,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,J,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ce,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,xr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,Ti,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[xr][i]=i:this[xr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[Xe]}clear(){Object.keys(this[J]).forEach(e=>delete this[J][e]),Object.keys(this[ce]).forEach(e=>delete this[ce][e]),this[Xe]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[J][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[J],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[J],r);return this[J][r]=t,i||this[Xe]++,this[ce][r]=e,this}setAll(e){return Ya(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ce])[Symbol.iterator]()}values(){return Object.values(this[J])[Symbol.iterator]()}entries(){return Object.entries(this[J])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[J],t);return delete this[J][t],delete this[ce][t],r||this[Xe]--,r}sort(e){let t={...this[J]},r={...this[ce]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[J][n]=t[n],this[ce][n]=r[n];return this[Xe]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ce]))e[r]=this[J][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[Ti].caseSensitive)return e;let t=this._getStoringKey(e);return this[ce][t]??this[xr][t]??e}_getStoringKey(e){return this[Ti].caseSensitive?e:e.toLowerCase()}};a(Ei,"ResponsiveMap");var v=Ei;function Bm(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(Bm,"safeJsonStringify");function _i(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(_i,"isStream");function Km(o){return _i(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(Km,"isReadable");function zm(o){return _i(o)&&typeof o._write=="function"}a(zm,"isWritable");function Jm(o){return _i(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Jm,"isReadableStream");function Wm(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Wm,"isBlob");function Ym(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(Ym,"isFormData");function Gm(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Gm,"isURL");var xi=class xi{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(xi,"Ast");var Kt=xi;var Oi=class Oi extends Kt{};a(Oi,"Expression");var U=Oi;var gi=class gi extends U{};a(gi,"Term");var je=gi;var wi=class wi extends je{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(wi,"Literal");var M=wi;var Ri=class Ri extends U{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Or({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(Ri,"ArithmeticExpression");var Ce=Ri,bi=class bi{constructor(e){Object.assign(this,e)}};a(bi,"ArithmeticExpressionItem");var Or=bi;var Ai=class Ai extends je{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(Ai,"ArrayExpression");var _e=Ai;var Ga=/\w/,Di=class Di extends U{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${Ga.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Di,"ComparisonExpression");var le=Di;var Ni=class Ni extends U{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(Ni,"LogicalExpression");var fe=Ni;var Si=class Si extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Si,"NegativeExpression");var zt=Si;var vi=class vi extends U{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(vi,"ParenthesizedExpression");var xe=vi;var Mi=class Mi extends M{constructor(e){super(e)}};a(Mi,"BooleanLiteral");var Ue=Mi;import{toDateDef as tp}from"putil-varhelpers";var Fi=class Fi extends TypeError{};a(Fi,"SyntaxError");var gr=Fi,Ii=class Ii extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(Ii,"FilterValidationError");var me=Ii,Pi=class Pi extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(Pi,"FilterParseError");var wr=Pi;var Qa=/'/g,Xa=/(\\)/g,Za=/\\(.)/g;function Ha(o){return o.replace(Xa,"\\\\")}a(Ha,"escapeString");function ep(o){return o.replace(Za,"$1")}a(ep,"unescapeString");function Re(o){return"'"+Ha(o).replace(Qa,"\\'")+"'"}a(Re,"quoteFilterString");function Jt(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?ep(o.substring(1,o.length-1)):o}a(Jt,"unquoteFilterString");var zs=new Date(0),Li=class Li extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&tp(e,zs)!==zs){this.value=e;return}throw new me(`Invalid date value "${e}"`)}toString(){return Re(this.value)}};a(Li,"DateLiteral");var be=Li;import{toDateDef as rp}from"putil-varhelpers";var Js=new Date(0),ki=class ki extends M{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&rp(e,Js)!==Js){this.value=e;return}throw new me(`Invalid date-time value "${e}"`)}toString(){return Re(this.value)}};a(ki,"DateTimeLiteral");var Wt=ki;var ji=class ji extends M{constructor(){super(null),this.value=null}};a(ji,"NullLiteral");var $e=ji;var Ci=class Ci 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 me(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(Ci,"NumberLiteral");var Oe=Ci;var Ui=class Ui extends M{constructor(e){super(""+e)}};a(Ui,"QualifiedIdentifier");var X=Ui;var $i=class $i extends M{constructor(e){super(""+e)}toString(){return Re(this.value)}};a($i,"StringLiteral");var Be=$i;var ip=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Bi=class Bi extends M{constructor(e){if(super(""),e instanceof Date){this.value=Rr(e.getHours())+":"+Rr(e.getMinutes())+(e.getSeconds()?":"+Rr(e.getSeconds()):"")+(e.getMilliseconds()?"."+Rr(e.getMilliseconds()):"");return}if(typeof e=="string"&&ip.test(e)){this.value=e;return}throw new me(`Invalid time value "${e}"`)}toString(){return Re(this.value)}};a(Bi,"TimeLiteral");var qe=Bi;function Rr(o){return o<=9?"0"+o:""+o}a(Rr,"pad");import{CharStream as _p,CommonTokenStream as xp}from"@browsery/antlr4";import{ATNDeserializer as op,DFA as np,Lexer as sp,LexerATNSimulator as ap,PredictionContextCache as pp,Token as cp}from"@browsery/antlr4";var K=class K extends sp{constructor(e){super(e),this._interp=new ap(this,K._ATN,K.DecisionsToDFA,new pp)}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 op().deserialize(K._serializedATN)),K.__ATN}};a(K,"OpraFilterLexer");var h=K;h.T__0=1;h.T__1=2;h.T__2=3;h.T__3=4;h.T__4=5;h.T__5=6;h.T__6=7;h.T__7=8;h.T__8=9;h.T__9=10;h.T__10=11;h.T__11=12;h.T__12=13;h.T__13=14;h.T__14=15;h.T__15=16;h.T__16=17;h.T__17=18;h.T__18=19;h.T__19=20;h.T__20=21;h.T__21=22;h.T__22=23;h.T__23=24;h.T__24=25;h.T__25=26;h.T__26=27;h.T__27=28;h.T__28=29;h.T__29=30;h.T__30=31;h.T__31=32;h.T__32=33;h.T__33=34;h.IDENTIFIER=35;h.POLAR_OP=36;h.DATE=37;h.DATETIME=38;h.TIME=39;h.NUMBER=40;h.INTEGER=41;h.STRING=42;h.WHITESPACE=43;h.EOF=cp.EOF;h.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];h.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];h.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];h.modeNames=["DEFAULT_MODE"];h.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];h._serializedATN=[4,0,43,461,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,491,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0];h.DecisionsToDFA=h._ATN.decisionToState.map((o,e)=>new np(o,e));var Ws=h;import{ATN as Ys,ATNDeserializer as lp,DFA as fp,FailedPredicateException as mp,NoViableAltException as qi,Parser as up,ParserATNSimulator as dp,ParserRuleContext as B,PredictionContextCache as hp,RecognitionException as $,Token as yp}from"@browsery/antlr4";var E=class E extends up{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 mp(this,e,t)}constructor(e){super(e),this._interp=new dp(this,E._ATN,E.DecisionsToDFA,new hp)}root(){let e=new Vi(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 $)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 Q(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 Ji(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 Ki(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 zi(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 qi(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!==Ys.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Yt(this,new Q(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 $)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 br(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 $)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 Ar(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 qi(this)}}catch(t){if(t instanceof $)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 Dr(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 $)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 W(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 eo(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(E.NUMBER);break;case 13:case 14:e=new Zi(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new Hi(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Yi(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new Gi(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(E.DATETIME);break;case 37:e=new Xi(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(E.DATE);break;case 39:e=new Wi(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(E.TIME);break;case 42:e=new Qi(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(E.STRING);break;default:throw new qi(this)}}catch(t){if(t instanceof $)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!==Ys.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 $)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 Nr(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 $)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 Ze(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 $)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 Sr(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 $)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 vr(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 $)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 Mr(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 $)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new Fr(this,this._ctx,this.state);this.enterRule(e,24,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 $)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 to(this,this._ctx,this.state);this.enterRule(e,26,E.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)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 Ir(this,this._ctx,this.state);this.enterRule(e,28,E.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)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 Pr(this,this._ctx,this.state);this.enterRule(e,30,E.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof $)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 ro(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 $)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 lp().deserialize(E._serializedATN)),E.__ATN}};a(E,"OpraFilterParser");var f=E;f.T__0=1;f.T__1=2;f.T__2=3;f.T__3=4;f.T__4=5;f.T__5=6;f.T__6=7;f.T__7=8;f.T__8=9;f.T__9=10;f.T__10=11;f.T__11=12;f.T__12=13;f.T__13=14;f.T__14=15;f.T__15=16;f.T__16=17;f.T__17=18;f.T__18=19;f.T__19=20;f.T__20=21;f.T__21=22;f.T__22=23;f.T__23=24;f.T__24=25;f.T__25=26;f.T__26=27;f.T__27=28;f.T__28=29;f.T__29=30;f.T__30=31;f.T__31=32;f.T__32=33;f.T__33=34;f.IDENTIFIER=35;f.POLAR_OP=36;f.DATE=37;f.DATETIME=38;f.TIME=39;f.NUMBER=40;f.INTEGER=41;f.STRING=42;f.WHITESPACE=43;f.EOF=yp.EOF;f.RULE_root=0;f.RULE_expression=1;f.RULE_comparisonLeft=2;f.RULE_comparisonRight=3;f.RULE_parenthesizedItem=4;f.RULE_value=5;f.RULE_qualifiedIdentifier=6;f.RULE_externalConstant=7;f.RULE_identifier=8;f.RULE_arrayValue=9;f.RULE_boolean=10;f.RULE_null=11;f.RULE_infinity=12;f.RULE_arithmeticOperator=13;f.RULE_comparisonOperator=14;f.RULE_logicalOperator=15;f.RULE_polarityOperator=16;f.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];f.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];f.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];f._serializedATN=[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,38,0,0,74,78,5,37,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100];f.DecisionsToDFA=f._ATN.decisionToState.map((o,e)=>new fp(o,e));var Gs=f,io=class io extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Q,0)}EOF(){return this.getToken(f.EOF,0)}get ruleIndex(){return f.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(io,"RootContext");var Vi=io,oo=class oo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(oo,"ExpressionContext");var Q=oo,no=class no extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(Dr,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(no,"ParenthesizedExpressionContext");var Ki=no,so=class so extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(Q,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(so,"NegativeExpressionContext");var zi=so,ao=class ao extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(br,0)}comparisonOperator(){return this.getTypedRuleContext(Ir,0)}comparisonRight(){return this.getTypedRuleContext(Ar,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(ao,"ComparisonExpressionContext");var Ji=ao,po=class po extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(Q)}expression(e){return this.getTypedRuleContext(Q,e)}logicalOperator(){return this.getTypedRuleContext(Pr,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(po,"LogicalExpressionContext");var Yt=po,co=class co extends B{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Gt,0)}get ruleIndex(){return f.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(co,"ComparisonLeftContext");var br=co,lo=class lo extends B{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(W,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Gt,0)}externalConstant(){return this.getTypedRuleContext(Nr,0)}arrayValue(){return this.getTypedRuleContext(Sr,0)}get ruleIndex(){return f.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(lo,"ComparisonRightContext");var Ar=lo,fo=class fo extends B{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(Q,0)}get ruleIndex(){return f.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(fo,"ParenthesizedItemContext");var Dr=fo,mo=class mo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};a(mo,"ValueContext");var W=mo,uo=class uo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(f.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(uo,"TimeLiteralContext");var Wi=uo,ho=class ho extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Mr,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(ho,"NullLiteralContext");var Yi=ho,yo=class yo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(f.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(yo,"DateTimeLiteralContext");var Gi=yo,To=class To extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(f.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(To,"StringLiteralContext");var Qi=To,Eo=class Eo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(f.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(Eo,"DateLiteralContext");var Xi=Eo,_o=class _o extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Fr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(_o,"InfinityLiteralContext");var Zi=_o,xo=class xo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(vr,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(xo,"BooleanLiteralContext");var Hi=xo,Oo=class Oo extends W{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(f.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(Oo,"NumberLiteralContext");var eo=Oo,go=class go extends B{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Ze)}identifier(e){return this.getTypedRuleContext(Ze,e)}get ruleIndex(){return f.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(go,"QualifiedIdentifierContext");var Gt=go,wo=class wo extends B{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Ze,0)}get ruleIndex(){return f.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(wo,"ExternalConstantContext");var Nr=wo,Ro=class Ro extends B{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(f.IDENTIFIER,0)}get ruleIndex(){return f.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(Ro,"IdentifierContext");var Ze=Ro,bo=class bo extends B{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(W)}value(e){return this.getTypedRuleContext(W,e)}get ruleIndex(){return f.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(bo,"ArrayValueContext");var Sr=bo,Ao=class Ao extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.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(Ao,"BooleanContext");var vr=Ao,Do=class Do extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.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(Do,"NullContext");var Mr=Do,No=class No extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.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(No,"InfinityContext");var Fr=No,So=class So extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.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(So,"ArithmeticOperatorContext");var to=So,vo=class vo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.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 Ir=vo,Mo=class Mo extends B{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.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(Mo,"LogicalOperatorContext");var Pr=Mo,Fo=class Fo extends B{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(f.POLAR_OP,0)}get ruleIndex(){return f.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(Fo,"PolarityOperatorContext");var ro=Fo;import{ParseTreeVisitor as Tp}from"@browsery/antlr4";var Io=class Io extends M{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(Io,"ExternalConstant");var Lr=Io;var Po=class Po 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 le({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 fe({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new X(e.getText())}visitExternalConstant(e){return new Lr(e.identifier().getText())}visitNullLiteral(){return new $e}visitBooleanLiteral(e){return new Ue(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 be(Jt(e.getText()))}visitDateTimeLiteral(e){return new Wt(Jt(e.getText()))}visitTimeLiteral(e){return new qe(Jt(e.getText()))}visitArrayValue(e){return new _e(e.value_list().map(t=>this.visit(t)))}};a(Po,"FilterTreeVisitor");var Qt=Po;import{ErrorListener as Ep}from"@browsery/antlr4";var Lo=class Lo extends Ep{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new wr(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a(Lo,"OpraErrorListener");var Xt=Lo;function ko(o,e){let t=new _p(o),r=new Ws(t),i=new xp(r),n=new Gs(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 l=[];for(let g of s)l.push(g.message+(o.includes(`
8
+ `)?" at line: "+g.line+" column: "+g.column:" at column: "+g.column));let x=new gr(l.join(`
9
+ `));throw x.errors=s,x}return e=e||new Qt,e.visit(c)}a(ko,"parse");var jo=class jo{constructor(e,t){if(this._rules=new v,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new v(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,Op({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?ko(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof le){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof 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:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Ee({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof fe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Ce)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof _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 le);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=gp: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,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(jo,"FilterRules");var He=jo;import Lp from"object-hash";import{asMutable as kp}from"ts-gems";import{validator as jp,vg as Y}from"valgen";import{omitUndefined as Ip}from"@jsopen/objects";import{asMutable as Pp}from"ts-gems";import{asMutable as Mp}from"ts-gems";import{uid as Fp}from"uid";var m={};hr(m,{ComplexType:()=>et,EnumType:()=>tt,HttpController:()=>Zt,HttpOperation:()=>Co,MappedType:()=>rt,MixinType:()=>it,RpcController:()=>Uo,RpcOperation:()=>$o,SimpleType:()=>ot,SpecVersion:()=>w0,UnionType:()=>nt,isComplexType:()=>Rp,isDataType:()=>wp,isEnumType:()=>Np,isHttpController:()=>vp,isMappedType:()=>Dp,isMixinType:()=>Ap,isSimpleType:()=>bp,isUnionType:()=>Sp});var w0="1.0";var et;(function(o){o.Kind="ComplexType"})(et||(et={}));var tt;(function(o){o.Kind="EnumType"})(tt||(tt={}));var rt;(function(o){o.Kind="MappedType"})(rt||(rt={}));var it;(function(o){o.Kind="MixinType"})(it||(it={}));var ot;(function(o){o.Kind="SimpleType"})(ot||(ot={}));var nt;(function(o){o.Kind="UnionType"})(nt||(nt={}));var Zt;(function(o){o.Kind="HttpController"})(Zt||(Zt={}));var Co;(function(o){o.Kind="HttpOperation"})(Co||(Co={}));var Uo;(function(o){o.Kind="RpcController"})(Uo||(Uo={}));var $o;(function(o){o.Kind="RpcOperation"})($o||($o={}));function wp(o){return o&&typeof o=="object"&&(o.kind===et.Kind||o.kind===tt.Kind||o.kind===rt.Kind||o.kind===ot.Kind||o.kind===it.Kind||o.kind===nt.Kind)}a(wp,"isDataType");function Rp(o){return o&&typeof o=="object"&&o.kind===et.Kind}a(Rp,"isComplexType");function bp(o){return o&&typeof o=="object"&&o.kind===ot.Kind}a(bp,"isSimpleType");function Ap(o){return o&&typeof o=="object"&&o.kind===it.Kind}a(Ap,"isMixinType");function Dp(o){return o&&typeof o=="object"&&o.kind===rt.Kind}a(Dp,"isMappedType");function Np(o){return o&&typeof o=="object"&&o.kind===tt.Kind}a(Np,"isEnumType");function Sp(o){return o&&typeof o=="object"&&o.kind===nt.Kind}a(Sp,"isUnionType");function vp(o){return o&&typeof o=="object"&&o.kind===Zt.Kind}a(vp,"isHttpController");var Bo=class Bo{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[we])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[C])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(d,e).name;else if(typeof e=="object"){let n=e[d];i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(Bo,"DocumentNode");var kr=Bo;var R=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Mp(this);e.id=Fp(16),Object.defineProperty(e,"node",{value:new kr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Vo=class Vo{};a(Vo,"DocumentElementClass");var qo=Vo;R.prototype=qo.prototype;var st=Symbol.for("nodejs.util.inspect.custom"),Ve="\x1B[0m",at="\x1B[33m",pt="\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 _=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!j.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);R.call(this,o);let r=Pp(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"),zo=class zo 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 Ip({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[st](){return`[${at+Object.getPrototypeOf(this).constructor.name+Ve} ${pt+this.name+Ve}]`}};a(zo,"DataTypeClass");var Ko=zo;_.prototype=Ko.prototype;var ct=/^([+-])?([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;_.call(this,e,t,r);let i=kp(this);i._fields=new v},"ComplexTypeBase"),Wo=class Wo extends _{fieldCount(e){if(e==="*")return this._fields.size;let t=0;for(let r of this.fields(e))t++;return t}fieldEntries(e){let t=this._fields.entries();if(e==="*")return t;let r;return{next(){for(;t&&(r=t.next(),!(r.done||r.value&&r.value[1].inScope(e))););return r.done?{done:r.done,value:void 0}:{done:r.done,value:[r.value[0],r.value[1].forScope(e)]}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fields(e){let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[1]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fieldNames(e){if(e==="*")return this._fields.keys();let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[0]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}findField(e,t){if(e.includes(".")){let i=this.parseFieldPath(e,{scope:t});if(i.length===0)throw new Error(`Field "${e}" does not exist in scope "${t}"`);let n=i.pop();return n==null?void 0:n.field}let r=this._fields.get(e);if(r&&r.inScope(t))return r.forScope(t)}getField(e,t){let r=this.findField(e,"*");if(r&&!r.inScope(t))throw new Error(`Field "${e}" does not exist in scope "${t||"null"}"`);if(!r)throw new Error(`Field (${e}) does not exist`);return r.forScope(t)}parseFieldPath(e,t){var g,y,G;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,x=a(()=>p.map(P=>P.fieldName).join("."),"getStrPath");for(let P=0;P<s;P++){let q={fieldName:n[P],dataType:c};p.push(q);let Pe=ct.exec(n[P]);if(!Pe)throw new TypeError(`Invalid field name (${x()})`);if(Pe[1]&&((P===0&&l==="first"||l==="each")&&(q.sign=Pe[1]),q.fieldName=Pe[2]),r){if(r instanceof L){if(i=r.findField(q.fieldName,t==null?void 0:t.scope),i){q.fieldName=i.name,q.field=i,q.dataType=i.type,r=i.type;continue}if(((g=r.additionalFields)==null?void 0:g[0])===!0){q.additionalField=!0,q.dataType=c,r=void 0;continue}if(((y=r.additionalFields)==null?void 0:y[0])==="type"&&((G=r.additionalFields)==null?void 0:G[1])instanceof _){q.additionalField=!0,q.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(Hr=>Hr.fieldName).join(".")})`)}throw new TypeError(`"${p.map(Hr=>Hr.fieldName).join(".")}" field is not a complex type and has no child fields`)}q.additionalField=!0,q.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){var p;let r=t!=null&&t.cache?t:{...t,projection:Array.isArray(t==null?void 0:t.projection)?Vs(t.projection):t==null?void 0:t.projection,currentPath:""},i=this._generateSchema(e,r),n;if(this.additionalFields instanceof _)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let c=n[1];n=jp((l,x,g)=>x.fail(g,c,l))}let s=Y.isObject(i,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail});if(r.level===0&&((p=r.forwardCallbacks)!=null&&p.size))for(let c of r.forwardCallbacks)c();return s}_generateSchema(e,t){var c;t.fieldCache=t.fieldCache||new Map,t.level=t.level||0,t.forwardCallbacks=t.forwardCallbacks||new Set;let r={},{currentPath:i,projection:n}=t,s=!!(n&&Object.values(n).find(l=>!l.sign)),p;for(let l of this.fields("*")){if(!l.inScope(t.scope)||!(t.keepKeyFields&&this.keyField)&&(t.ignoreReadonlyFields&&l.readonly||t.ignoreWriteonlyFields&&l.writeonly)){r[l.name]=Y.isUndefined({coerce:!0});continue}p=l.name;let x;if(n!=="*"&&(x=n==null?void 0:n[p.toLowerCase()],(x==null?void 0:x.sign)==="-"||s&&!x||!s&&l.exclusive&&!x)){r[l.name]=Y.isUndefined({coerce:!0});continue}let g=typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,y=t.fieldCache.get(l),G=typeof g=="string"?g:Lp(g||{});y||(y={},t.fieldCache.set(l,y));let P=y[G];if(P===null)P=Y.isAny(),t.forwardCallbacks.add(()=>{P=y[G],r[p]=t.partial||!l.required?Y.optional(P):Y.required(P)});else if(!P){let q=a(()=>{y[G]=null;let Pe=this._generateFieldCodec(e,l,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:g,currentPath:i+(i?".":"")+p});return y[G]=Pe,Pe},"defaultGenerator");t.fieldHook?P=t.fieldHook(l,t.currentPath,q):P=q()}r[p]=t.partial||!(l.required||P.id==="required")?Y.optional(P):P.id==="required"?P:Y.required(P)}return t.allowPatchOperators&&(r._$pull=Y.optional(Y.isAny()),r._$push=Y.optional(Y.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,{...r,level:r.level+1},{convertToNative:t.convertToNative});return t.fixed&&(i=Y.isEqual(t.fixed)),t.isArray&&(i=Y.isArray(i)),i}};a(Wo,"ComplexTypeBaseClass");var Jo=Wo;L.prototype=Jo.prototype;import"reflect-metadata";import{omitUndefined as Yo}from"@jsopen/objects";import{asMutable as Cp}from"ts-gems";import{vg as Up}from"valgen";var Z=a(function(...o){if(!this)return Z[D].apply(void 0,o);let[e,t,r]=o;_.call(this,e,t,r);let i=Cp(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof Z))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),Go=class Go extends _{extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof Z?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Up.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Yo({...t,kind:this.kind,base:r,attributes:I(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Go,"EnumTypeClass");var er=Go;Z.prototype=er.prototype;Object.assign(Z,er);function $p(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 l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[p]=Yo({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 l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[o[p]]=Yo({alias:p,description:c})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,d,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a($p,"EnumTypeFactory");Z.prototype=er.prototype;Z[D]=$p;var bn={};hr(bn,{Base64Type:()=>Ho,DateTimeType:()=>rr,DateTimeTypeTz:()=>ir,DateType:()=>tr,EmailType:()=>H,FieldPathType:()=>z,FilterType:()=>Ke,ObjectIdType:()=>fn,OperationResult:()=>re,PartialDateType:()=>nr,TimeType:()=>sr,UrlType:()=>Rn,UuidType:()=>Vr});import{__decorate as qp,__metadata as Vp}from"tslib";import{isBase64 as Kp,validator as ea,vg as Hs}from"valgen";import"reflect-metadata";import{omitUndefined as Xs}from"@jsopen/objects";import{asMutable as Bp}from"ts-gems";import{isAny as Zs}from"valgen";function Qo(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(d,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(d,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(Qo,"SimpleTypeDecoratorFactory");function Qs(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(d,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(d,r,e.constructor)}}a(Qs,"AttributeDecoratorFactory");var u=a(function(...o){var n,s;if(!this)return u[D](...o);let[e,t,r]=o;_.call(this,e,t,r);let i=Bp(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{},i.ownAttributes)for(let[p,c]of Object.entries(i.ownAttributes)){if((s=i.attributes[p])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);i.attributes[p]=c}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),Zo=class Zo extends _{extend(e){return Object.setPrototypeOf(e,this),e}extendsFrom(e){var t;return e instanceof _||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let i={...this.properties,...r};if(e==="decode"){let s=this;for(;s;){if(s._generateDecoder)return s._generateDecoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);s=this.base}return 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=Xs(this.ownAttributes),n;this.properties&&typeof this.properties.toJSON=="function"?n=this.properties.toJSON(this.properties,this.owner,e):n=this.properties?I(this.properties):{};let s={...t,kind:this.kind,base:r,attributes:i&&Object.keys(i).length?i:void 0,properties:Object.keys(n).length?n:void 0};return Object.keys(this.ownNameMappings).length&&(s.nameMappings={...this.ownNameMappings}),Xs(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Zo,"SimpleTypeClass");var Xo=Zo;u.prototype=Xo.prototype;Object.assign(u,Qo);u[D]=Qo;u.Attribute=Qs;var lt,Ho=(lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Hs.isBase64({coerce:!0});return e.convertToNative?Hs.pipe([t,zp],{coerce:!0}):t}[O](){return Jp}},a(lt,"Base64Type"),lt);Ho=qp([u({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Vp("design:paramtypes",[Object])],Ho);var zp=ea(o=>Buffer.from(o,"base64")),Jp=ea(o=>Buffer.isBuffer(o)?o.toString("base64"):Kp(o));import{__decorate as en,__metadata as tn}from"tslib";import{isDateString as ta,toString as ra,vg as Ae}from"valgen";var jr=Ae.isDateString({precisionMin:"day",trim:"day",coerce:!0}),ft,tr=(ft=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ae.isDate({trim:"day",coerce:e==null?void 0:e.convertToNative}),r=[];return e.minValue!=null&&(jr(e.minValue),r.push(ra,Ae.isGte(e.minValue))),e.maxValue!=null&&(jr(e.maxValue),r.push(ra,Ae.isLte(e.maxValue))),r.length>0?Ae.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=[];return e.minValue!=null&&(ta(e.minValue),t.push(Ae.isGte(e.minValue))),e.maxValue!=null&&(ta(e.maxValue),t.push(Ae.isLte(e.maxValue))),t.length>0?Ae.pipe([jr,...t],{returnIndex:0}):jr}},a(ft,"DateType"),ft);en([u.Attribute({description:"Minimum value"}),tn("design:type",String)],tr.prototype,"minValue",void 0);en([u.Attribute({description:"Maximum value"}),tn("design:type",String)],tr.prototype,"maxValue",void 0);tr=en([u({name:"date",description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),tn("design:paramtypes",[Object])],tr);import{__decorate as rn,__metadata as on}from"tslib";import{isDateString as ia,toString as oa,vg as De}from"valgen";var Cr=De.isDateString({precisionMin:"day",coerce:!0,trim:"tz"}),mt,rr=(mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=De.isDate({coerce:e==null?void 0:e.convertToNative}),r=[];return e.minValue!=null&&(Cr(e.minValue),r.push(oa,De.isGte(e.minValue))),e.maxValue!=null&&(Cr(e.maxValue),r.push(oa,De.isLte(e.maxValue))),r.length>0?De.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=[];return e.minValue!=null&&(ia(e.minValue),t.push(De.isGte(e.minValue))),e.maxValue!=null&&(ia(e.maxValue),t.push(De.isLte(e.maxValue))),t.length>0?De.pipe([Cr,...t],{returnIndex:0}):Cr}},a(mt,"DateTimeType"),mt);rn([u.Attribute({description:"Minimum value"}),on("design:type",String)],rr.prototype,"minValue",void 0);rn([u.Attribute({description:"Maximum value"}),on("design:type",String)],rr.prototype,"maxValue",void 0);rr=rn([u({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),on("design:paramtypes",[Object])],rr);import{__decorate as nn,__metadata as sn}from"tslib";import{isDateString as na,toString as sa,vg as Ne}from"valgen";var Ur=Ne.isDateString({precisionMin:"tz",coerce:!0}),ut,ir=(ut=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ne.isDateString({coerce:!0,precisionMin:"tz"}),r=[];return e.minValue!=null&&(Ur(e.minValue),r.push(sa,Ne.isGte(e.minValue))),e.maxValue!=null&&(Ur(e.maxValue),r.push(sa,Ne.isLte(e.maxValue))),r.length>0?Ne.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=[];return e.minValue!=null&&(na(e.minValue),t.push(Ne.isGte(e.minValue))),e.maxValue!=null&&(na(e.maxValue),t.push(Ne.isLte(e.maxValue))),t.length>0?Ne.pipe([Ur,...t],{returnIndex:0}):Ur}},a(ut,"DateTimeTypeTz"),ut);nn([u.Attribute({description:"Minimum value"}),sn("design:type",String)],ir.prototype,"minValue",void 0);nn([u.Attribute({description:"Maximum value"}),sn("design:type",String)],ir.prototype,"maxValue",void 0);ir=nn([u({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),sn("design:paramtypes",[Object])],ir);import{__decorate as ue,__metadata as de}from"tslib";import{vg as aa}from"valgen";var dt,H=(dt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return aa.isEmail({...e,coerce:!0})}[O](e){return aa.isEmail({...e,coerce:!0})}},a(dt,"EmailType"),dt);ue([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),de("design:type",Boolean)],H.prototype,"allowDisplayName",void 0);ue([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),de("design:type",Boolean)],H.prototype,"requireDisplayName",void 0);ue([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),de("design:type",Boolean)],H.prototype,"utf8LocalPart",void 0);ue([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),de("design:type",Boolean)],H.prototype,"ignoreMaxLength",void 0);ue([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),de("design:type",Boolean)],H.prototype,"allowIpDomain",void 0);ue([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),de("design:type",Boolean)],H.prototype,"domainSpecificValidation",void 0);ue([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),de("design:type",Array)],H.prototype,"hostBlacklist",void 0);ue([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),de("design:type",Array)],H.prototype,"hostWhitelist",void 0);ue([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),de("design:type",String)],H.prototype,"blacklistedChars",void 0);H=ue([u({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),de("design:paramtypes",[Object])],H);import{__decorate as an,__metadata as pn}from"tslib";import{toString as Wp,validator as Yp,vg as Gp}from"valgen";var ht,z=(ht=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=Yp("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return Gp.pipe([Wp,s])}[O](e,t,r){return this[T](e,t,r)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");_.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(ht,"FieldPathType"),ht);an([u.Attribute({description:"Data type which field belong to"}),pn("design:type",Object)],z.prototype,"dataType",void 0);an([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),pn("design:type",String)],z.prototype,"allowSigns",void 0);z=an([u({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),pn("design:paramtypes",[Object])],z);import{__decorate as cn,__metadata as ln}from"tslib";import{validator as ca}from"valgen";var or={};hr(or,{$and:()=>Xp,$arithmetic:()=>hc,$array:()=>pa,$date:()=>Zp,$eq:()=>rc,$field:()=>tc,$gt:()=>oc,$gte:()=>nc,$ilike:()=>mc,$in:()=>pc,$like:()=>lc,$lt:()=>sc,$lte:()=>ac,$ne:()=>ic,$notILike:()=>uc,$notIn:()=>cc,$notLike:()=>fc,$number:()=>ec,$or:()=>Qp,$paren:()=>dc,$time:()=>Hp,ArithmeticExpression:()=>Ce,ArithmeticExpressionItem:()=>Or,ArrayExpression:()=>_e,Ast:()=>Kt,BooleanLiteral:()=>Ue,ComparisonExpression:()=>le,DateLiteral:()=>be,DateTimeLiteral:()=>Wt,Expression:()=>U,FilterTreeVisitor:()=>Qt,Literal:()=>M,LogicalExpression:()=>fe,NegativeExpression:()=>zt,NullLiteral:()=>$e,NumberLiteral:()=>Oe,OpraErrorListener:()=>Xt,ParenthesizedExpression:()=>xe,QualifiedIdentifier:()=>X,StringLiteral:()=>Be,Term:()=>je,TimeLiteral:()=>qe,parse:()=>ko});function Qp(...o){return new fe({op:"or",items:o})}a(Qp,"$or");function Xp(...o){return new fe({op:"and",items:o})}a(Xp,"$and");function Zp(o){return new be(o)}a(Zp,"$date");function Hp(o){return new qe(o)}a(Hp,"$time");function ec(o){return new Oe(o)}a(ec,"$number");function pa(...o){return new _e(o.map($r))}a(pa,"$array");function tc(o){return new X(o)}a(tc,"$field");function rc(o,e){return ee("=",o,e)}a(rc,"$eq");function ic(o,e){return ee("!=",o,e)}a(ic,"$ne");function oc(o,e){return ee(">",o,e)}a(oc,"$gt");function nc(o,e){return ee(">=",o,e)}a(nc,"$gte");function sc(o,e){return ee("<",o,e)}a(sc,"$lt");function ac(o,e){return ee("<=",o,e)}a(ac,"$lte");function pc(o,e){return ee("in",o,e)}a(pc,"$in");function cc(o,e){return ee("!in",o,e)}a(cc,"$notIn");function lc(o,e){return ee("like",o,e)}a(lc,"$like");function fc(o,e){return ee("!like",o,e)}a(fc,"$notLike");function mc(o,e){return ee("ilike",o,e)}a(mc,"$ilike");function uc(o,e){return ee("!ilike",o,e)}a(uc,"$notILike");function dc(o){return new xe(o)}a(dc,"$paren");function hc(o){let e=new Ce;return e.add=t=>(e.append("+",yt(t)),e),e.sub=t=>(e.append("-",yt(t)),e),e.mul=t=>(e.append("*",yt(t)),e),e.div=t=>(e.append("/",yt(t)),e),e.append("+",$r(o)),e}a(hc,"$arithmetic");function ee(o,e,t){let r=typeof e=="string"?new X(e):$r(e),i=$r(t);return new le({op:o,left:r,right:i})}a(ee,"comparisonExpression");var $r=a(o=>Array.isArray(o)?pa(...o.map(yt)):yt(o),"wrapEntryValue"),yt=a(o=>o instanceof U?o:typeof o=="boolean"?new Ue(o):typeof o=="number"||typeof o=="bigint"?new Oe(o):o==null?new $e:o instanceof Date?new be(o):new Be(""+o),"_wrapEntryValue");var Tt,Ke=(Tt=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 He(e.rules):void 0;return yc(r,i)}[O](){return Tc}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");_.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(Tt,"FilterType"),Tt);cn([u.Attribute({description:"Data type which filtering fields belong to"}),ln("design:type",Object)],Ke.prototype,"dataType",void 0);cn([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),ln("design:type",Object)],Ke.prototype,"rules",void 0);Ke=cn([u({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),ln("design:paramtypes",[Object])],Ke);var yc=a((o,e,t)=>ca("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=or.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"),Tc=ca("encodeFilter",(o,e,t)=>{if(o instanceof or.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as Ec,__metadata as _c}from"tslib";import{vg as la}from"valgen";var Et,fn=(Et=class{constructor(e){e&&Object.assign(this,e)}[T](){return la.isObjectId({coerce:!0})}[O](){return la.isObjectId({coerce:!0})}},a(Et,"ObjectIdType"),Et);fn=Ec([u({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),_c("design:paramtypes",[Object])],fn);import{__decorate as ye,__metadata as Te}from"tslib";import{omitUndefined as fa}from"@jsopen/objects";import{asMutable as Oc}from"ts-gems";import{omitUndefined as xc}from"@jsopen/objects";function mn(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(d,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),p=n.fields[i]={...o,designType:s};s===Array?p.isArray=!0:p.type=p.type||s,Reflect.defineMetadata(d,n,r.constructor);for(let c of e)c(p)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(xc({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(mn,"ApiFieldDecoratorFactory");var k=a(function(...o){if(!this){let[n]=o;return k[D](n)}let[e,t]=o;R.call(this,e);let r=Oc(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.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.convertToNative=t.convertToNative??(r.type.kind==="SimpleType"&&typeof t.designType=="function"&&t.designType!==Object),r.override=t.override},"ApiField"),dn=class dn 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=fa({...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 fa({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(dn,"ApiFieldClass");var un=dn;k.prototype=un.prototype;Object.assign(k,mn);k[D]=mn;import"reflect-metadata";import{omitUndefined as wc}from"@jsopen/objects";import{asMutable as Rc}from"ts-gems";var hn=class hn extends Ee{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(hn,"OpraDocumentError");var _t=hn;var yn=class yn{constructor(e){this.path="",this.error=new _t,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(yn,"DocumentInitContext");var he=yn;import{omit as gc}from"@jsopen/objects";function Tn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(d,e);r||(r={},Reflect.defineMetadata(d,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,gc(o,["name"]))}}a(Tn,"ComplexTypeDecorator");var te=a(function(...o){var n;if(!this)return te[D].apply(void 0,o);let[e,t]=o,r=o[2]||new he({maxErrors:0});L.call(this,e,t,r);let i=Rc(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,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 k(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 k(this,{...p,name:s});this._fields.set(c.name,c)}})},"ComplexType"),_n=class _n extends L{extendsFrom(e){var t;return e instanceof _||(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,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof _){let n=this.node.getDataTypeNameWithNs(this.additionalFields);i.additionalFields=n||this.additionalFields.toJSON(e)}else i.additionalFields=this.additionalFields;if(this._fields.size){let n={},s=0;for(let p of this._fields.values())p.origin===this&&p.inScope(e==null?void 0:e.scope)&&(n[p.name]=p.toJSON(e),s++);s&&(i.fields=n)}return wc(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(_n,"ComplexTypeClass");var En=_n;te.prototype=En.prototype;Object.assign(te,Tn);te[D]=Tn;var xt,re=(xt=class{constructor(e){e&&Object.assign(this,e)}},a(xt,"OperationResult"),xt);ye([k(),Te("design:type",Number)],re.prototype,"affected",void 0);ye([k(),Te("design:type",Number)],re.prototype,"totalMatches",void 0);ye([k(),Te("design:type",String)],re.prototype,"context",void 0);ye([k(),Te("design:type",String)],re.prototype,"type",void 0);ye([k(),Te("design:type",String)],re.prototype,"message",void 0);ye([k({type:"any"}),Te("design:type",Object)],re.prototype,"payload",void 0);ye([k({type:"object"}),Te("design:type",Array)],re.prototype,"errors",void 0);re=ye([te({name:"OperationResult",description:"Operation result"}),Te("design:paramtypes",[Object])],re);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return ye([k({type:t,required:!0}),Te("design:type",Object)],r.prototype,"payload",void 0),r=ye([te({embedded:!0}),Te("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(re||(re={}));import{__decorate as xn,__metadata as On}from"tslib";import{isDateString as Br,toString as ma,validator as bc,vg as ze}from"valgen";var Ot,nr=(Ot=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=da,r=[];return e.minValue!=null&&(Br(e.minValue),r.push(ma,ze.isGte(e.minValue))),e.maxValue!=null&&(Br(e.maxValue),r.push(ma,ze.isLte(e.maxValue))),r.length>0?ze.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=da,r=[];return e.minValue!=null&&(Br(e.minValue),r.push(ze.isGte(e.minValue))),e.maxValue!=null&&(Br(e.maxValue),r.push(ze.isLte(e.maxValue))),r.length>0?ze.pipe([t,...r],{returnIndex:0}):t}},a(Ot,"PartialDateType"),Ot);xn([u.Attribute({description:"Minimum value"}),On("design:type",String)],nr.prototype,"minValue",void 0);xn([u.Attribute({description:"Maximum value"}),On("design:type",String)],nr.prototype,"maxValue",void 0);nr=xn([u({name:"partialdate",description:"Specifies a point in time using a 24-hour clock notation.\rFormat: YYYY-[MM-[DD-[T?HH:[MM:[SS[.S[S[S[S]]]]]]]]][+/-ZZ:ZZ].",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15:22+03:00").Example("2021-04-18 22:30").Example("2021-04-18").Example("2021"),On("design:paramtypes",[Object])],nr);var ua=ze.isDateString({precisionMin:"year"}),da=bc(o=>{if(o instanceof Date){let e=ua(o,{coerce:!0});return e.endsWith("Z")&&(e=e.substring(0,e.length-1)),e.endsWith(".000")&&(e=e.substring(0,e.length-4)),e.endsWith(":00")&&(e=e.substring(0,e.length-3)),e.endsWith("00:00")&&(e=e.substring(0,e.length-6)),e}return ua(o,{coerce:!1})});import{__decorate as gn,__metadata as wn}from"tslib";import{vg as qr}from"valgen";var Ac=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,gt,sr=(gt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=qr.matches(Ac,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(qr.isGte(e.minValue)),e.maxValue!=null&&r.push(qr.isLte(e.maxValue)),r.length>0?qr.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},a(gt,"TimeType"),gt);gn([u.Attribute({description:"Minimum value"}),wn("design:type",String)],sr.prototype,"minValue",void 0);gn([u.Attribute({description:"Maximum value"}),wn("design:type",String)],sr.prototype,"maxValue",void 0);sr=gn([u({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),wn("design:paramtypes",[Object])],sr);import{__decorate as Dc,__metadata as Nc}from"tslib";import{vg as ha}from"valgen";var wt,Rn=(wt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ha.isURL({coerce:!0})}[O](){return ha.isURL({coerce:!0})}},a(wt,"UrlType"),wt);Rn=Dc([u({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Nc("design:paramtypes",[Object])],Rn);import{__decorate as Ta,__metadata as Ea}from"tslib";import{vg as ya}from"valgen";var Rt,Vr=(Rt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return ya.isUUID(e==null?void 0:e.version,{coerce:!0})}[O](e){return ya.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(Rt,"UuidType"),Rt);Ta([u.Attribute({description:"Version of the UUID"}),Ea("design:type",Number)],Vr.prototype,"version",void 0);Vr=Ta([u({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),Ea("design:paramtypes",[Object])],Vr);import Sc from"path-browserify";import{omitUndefined as vc}from"@jsopen/objects";import{asMutable as Mc}from"ts-gems";var _a,xa,ie=Symbol.for("kMap"),ar=Symbol.for("kCtorMap"),An=class An{constructor(){this[_a]=new v,this[xa]=new WeakMap}get size(){return this[ie].size}forEach(e,t){this[ie].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[ar].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(d,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[d];t=i==null?void 0:i.name}if(!t)return;let r=this[ie].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[ie].set(e,t),t.ctor?this[ar].set(t.ctor,e):t.instance&&this[ar].set(t.instance,e)}has(e){if(e instanceof _)return!!e.name&&this[ie].has(e.name);let t=typeof e=="string"?e:this[ar].get(e);return t?this[ie].has(t):!1}keys(){return this[ie].keys()}values(){return this[ie].values()}entries(){return this[ie].entries()}sort(e){return this[ie].sort(e),this}[(_a=ie,xa=ar,Symbol.iterator)](){return this[ie][Symbol.iterator]()}};a(An,"DataTypeMap");var oe=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:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(se,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n);Reflect.defineMetadata(se,s,r.constructor)},"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};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 b=a(function(...o){if(!this){let[i]=o,n=[];return b[D].call(void 0,n,i)}let[e,t]=o;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Mc(this);r.parameters=[],r.responses=[],r.types=r.node[C]=new oe,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?I(t.compositionOptions):void 0},"HttpOperation"),Nn=class Nn 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:Sc.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=vc({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(Nn,"HttpOperationClass");var Dn=Nn;b.prototype=Dn.prototype;b[D]=S;b.GET=function(o){return S([],{...o,method:"GET"})};b.DELETE=function(o){return S([],{...o,method:"DELETE"})};b.HEAD=function(o){return S([],{...o,method:"HEAD"})};b.OPTIONS=function(o){return S([],{...o,method:"OPTIONS"})};b.PATCH=function(o){return S([],{...o,method:"PATCH"})};b.POST=function(o){return S([],{...o,method:"POST"})};b.PUT=function(o){return S([],{...o,method:"PUT"})};b.SEARCH=function(o){return S([],{...o,method:"SEARCH"})};b.Entity={};function V(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(d,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(V,"getDataTypeName");function Se(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(Se,"createKeyParamDecorator");function Oa(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=ct.exec(p),l=ct.exec(r[p]);return c&&l&&(s[c[2]]=l[2]),s},{}),n=Object.keys(r).reduce((s,p)=>{let c=ct.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=ct.exec(p);return c?(c[1]||"")+i[c[2]]:p}),"parser")}),o}}a(Oa,"createSortFieldsDecorator");function ve(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new He,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new Ke({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(ve,"createFilterDecorator");b.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new z({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(w.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(w.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=V(t.type)}),i};b.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(w.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:A.opra_response_json}).Response(w.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=V(t.type)}),i.KeyParam=Se(i,r),i};b.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(w.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:A.opra_response_json}).Response(w.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=V(t.type)}),i.Filter=ve(i,r,t.type),i};var Un={};hr(Un,{AnyType:()=>Sn,BigintType:()=>Pn,BooleanType:()=>Ln,IntegerType:()=>vt,NullType:()=>jn,NumberType:()=>ge,ObjectType:()=>Cn,StringType:()=>Je});import{__decorate as Fc,__metadata as Ic}from"tslib";import{isAny as ga}from"valgen";var bt,Sn=(bt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ga}[O](){return ga}},a(bt,"AnyType"),bt);Sn=Fc([u({name:"any",description:"Represents any value"}),Ic("design:paramtypes",[Object])],Sn);import{__decorate as Pc,__metadata as Lc}from"tslib";import{toBigint as Ra,vg as In}from"valgen";import{__decorate as Mn,__metadata as Fn}from"tslib";import{toNumber as wa,vg as vn}from"valgen";var At,ge=(At=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue!=null&&t.push(vn.isGte(e.minValue)),e.maxValue!=null&&t.push(vn.isLte(e.maxValue)),t.length>0?vn.pipe([wa,...t],{returnIndex:0}):wa}[O](e){return this[T](e)}},a(At,"NumberType"),At);Mn([u.Attribute({description:"Determines the minimum value"}),Fn("design:type",Number)],ge.prototype,"minValue",void 0);Mn([u.Attribute({description:"Determines the maximum value"}),Fn("design:type",Number)],ge.prototype,"maxValue",void 0);ge=Mn([u({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),Fn("design:paramtypes",[Object])],ge);var Dt,Pn=(Dt=class extends ge{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(In.isGte(e.minValue)),e.maxValue!=null&&t.push(In.isLte(e.maxValue)),t.length>0?In.pipe([Ra,...t],{returnIndex:0}):Ra}[O](e){return this[T](e)}},a(Dt,"BigintType"),Dt);Pn=Pc([u({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),Lc("design:paramtypes",[Object])],Pn);import{__decorate as kc,__metadata as jc}from"tslib";import{toBoolean as ba}from"valgen";var Nt,Ln=(Nt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ba}[O](){return ba}},a(Nt,"BooleanType"),Nt);Ln=kc([u({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),jc("design:paramtypes",[Object])],Ln);import{__decorate as Cc,__metadata as Uc}from"tslib";import{toInteger as Aa,vg as kn}from"valgen";var St,vt=(St=class extends ge{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(kn.isGte(e.minValue)),e.maxValue!=null&&t.push(kn.isLte(e.maxValue)),t.length>0?kn.pipe([Aa,...t],{returnIndex:0}):Aa}[O](e){return this[T](e)}},a(St,"IntegerType"),St);vt=Cc([u({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Uc("design:paramtypes",[Object])],vt);import{__decorate as $c,__metadata as Bc}from"tslib";import{isNull as Da}from"valgen";var Mt,jn=(Mt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Da}[O](){return Da}},a(Mt,"NullType"),Mt);jn=$c([u({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),Bc("design:paramtypes",[Object])],jn);import{__decorate as qc,__metadata as Vc}from"tslib";var Ft,Cn=(Ft=class{constructor(e){e&&Object.assign(this,e)}},a(Ft,"ObjectType"),Ft);Cn=qc([te({name:"object",description:"A non modelled object",additionalFields:!0}),Vc("design:paramtypes",[Object])],Cn);import{__decorate as pr,__metadata as cr}from"tslib";import{toString as Na,vg as Kr}from"valgen";var It,Je=(It=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(d,Object.getPrototypeOf(this).constructor).name),t.push(Kr.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Kr.lengthMin(e.minLength)),e.maxLength&&t.push(Kr.lengthMax(e.maxLength)),t.length>0?Kr.pipe([Na,...t],{returnIndex:0}):Na}[O](e){return this[T](e)}},a(It,"StringType"),It);pr([u.Attribute({description:"Regex pattern to be used for validation"}),cr("design:type",Object)],Je.prototype,"pattern",void 0);pr([u.Attribute({description:"Name of the pattern"}),cr("design:type",String)],Je.prototype,"patternName",void 0);pr([u.Attribute({description:"Minimum number of characters"}),cr("design:type",Number)],Je.prototype,"minLength",void 0);pr([u.Attribute({description:"Minimum number of characters"}),cr("design:type",Number)],Je.prototype,"maxLength",void 0);Je=pr([u({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),cr("design:paramtypes",[Object])],Je);b.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(w.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(w.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 vt({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new vt({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new z({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=V(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=ve(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.defaultSort=n}),i),i.SortFields=Oa(i,r),i};b.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new z({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(w.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(w.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(w.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=V(t.type)}),i.KeyParam=Se(i,r),i};b.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new z({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(w.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(w.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(w.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=V(t.type)}),i.KeyParam=Se(i,r),i};b.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new z({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(w.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(w.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(w.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=V(t.type)}),i.KeyParam=Se(i,r),i.Filter=ve(i,r,t.type),i};b.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=S(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(w.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:A.opra_response_json}).Response(w.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=V(t.type)}),i.Filter=ve(i,r,t.type),i};import{merge as $n}from"@jsopen/objects";var Kc=/^(.*)(Controller)$/,Sa=[];function Pt(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Kc.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&$n(n,s,{deep:!0});let p=Reflect.getOwnMetadata(ae,r);p&&$n(n,p,{deep:!0}),$n(n,{...o,kind:m.RpcController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),Sa.forEach(r=>r(t,e,o)),t}a(Pt,"RpcControllerDecoratorFactory");Pt.augment=function(o){Sa.push(o)};import{omit as Jc}from"@jsopen/objects";var va=[];function lr(o,e,t){let r=!1,i=a((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:s,payloadType:e,...Jc(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(ae,n.constructor)||{};c.operations=c.operations||{},c.operations[s]=p;for(let l of o)l(p,n,s);Reflect.defineMetadata(ae,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},l=r?p.response:p;l.headers?l.headers=l.headers.filter(x=>String(x.name)!==String(n)):l.headers=[],l.headers.push(c)}),i),i.Response=(n,s)=>(o.push(p=>{r=!0,p.response={...s,payloadType:n}}),i),va.forEach(n=>n(i,o,e,t)),i}a(lr,"RpcOperationDecoratorFactory");lr.augment=function(o){va.push(o)};import"reflect-metadata";import{omitUndefined as Yc}from"@jsopen/objects";import{asMutable as Gc}from"ts-gems";function zr(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(zr,"getIsInheritedPredicateFn");var We=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=Gc(this);if(i.kind=m.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(l=>i.base.normalizeFieldPath(l)):t.omit?i.omit=t.omit.map(l=>i.base.normalizeFieldPath(l)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(l=>i.base.normalizeFieldPath(l)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(l=>i.base.normalizeFieldPath(l)):t.required);let s=zr(i.pick,i.omit),p=Array.isArray(i.partial)?i.partial.map(l=>l.toLowerCase()):i.partial,c=Array.isArray(i.required)?i.required.map(l=>l.toLowerCase()):i.required;for(let[l,x]of i.base.fieldEntries("*")){if(!s(l))continue;let g={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?g.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(g.required=!0);let y=new k(this,g);i._fields.set(y.name,y)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),qn=class qn extends L{extendsFrom(e){var t;return e instanceof _||(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 Yc({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(qn,"MappedTypeClass");var Bn=qn;We.prototype=Bn.prototype;We._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as Qc}from"@jsopen/objects";import{asMutable as Xc}from"ts-gems";var Lt=a(function(...o){if(!this)return Lt[D].apply(void 0,o);let[e,t,r]=o;L.call(this,e,t,r);let i=Xc(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new k(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Kn=class Kn extends L{extendsFrom(e){if(e instanceof _||(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 Qc({...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(Kn,"MixinTypeClass");var Vn=Kn;Lt.prototype=Vn.prototype;Lt[D]=Zc;function Zc(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)Er(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(d,i,r);for(let n of o){let s=Reflect.getMetadata(d,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),Tr(r.prototype,n.prototype)}return r}a(Zc,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as Hc}from"@jsopen/objects";import{asMutable as el}from"ts-gems";import{vg as Ma}from"valgen";var kt=a(function(...o){if(!this)return kt[D].apply(void 0,o);let[e,t,r]=o;_.call(this,e,t,r);let i=el(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),Jn=class Jn extends _{toJSON(e){let t=super.toJSON(e);return Hc({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:Ma.isEqual(i.discriminatorValue)}]:n});return Ma.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(Jn,"UnionTypeClass");var zn=Jn;kt.prototype=zn.prototype;kt[D]=tl;function tl(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(d,r,t),t}a(tl,"UnionTypeFactory");var Wn=Symbol("initializing"),Jr=class Jr{static async createDataType(e,t,r){e=e||new he({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 Jr.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[C];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new he({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new v;for(let c of i)n.set(c.name,c);let s=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let x=this._createDataType(s,t,l);x&&p.push(x)});return p}static async _prepareAllInitArgs(e,t,r){let i=new v,n=new v,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[C])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let p=0;for(let c of r)await s.enterAsync(`$[${p++}]`,async()=>{c=await pe(c);let l=Reflect.getMetadata(d,c)||c[d];if(!(l&&l.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(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await pe(p),i.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(i.keys())){if(!i.has(p))continue;let c=await this._importDataTypeArgs(s,t,p);c&&typeof c!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var g;r=await pe(r);let{importQueue:n,initArgsMap:s}=e,p=t.node.findDataType(r);if(p instanceof _)return p.name;let c,l,x;if(typeof r!="string"){let G=t.node.getDocument().types[_r].get(r);G&&(r=G)}if(typeof r=="string"){let y=r;if(r=(n==null?void 0:n.get(y))||((g=e.initArgsMap)==null?void 0:g.get(y)),!r)return e.addError(`Unknown data type (${y})`)}if(typeof r=="function"){if(c=Reflect.getMetadata(d,r),!c)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);l=r}else if(typeof r=="object"){if(c=r[d],c)x=r,c.kind!==m.EnumType.Kind&&(c=void 0);else if(m.isDataType(r))c=r,l=c.ctor;else if(l=Object.getPrototypeOf(r).constructor,c=l&&Reflect.getMetadata(d,l),c&&c.kind===m.SimpleType.Kind){let y=await this._importDataTypeArgs(e,t,c.name);return y?typeof y=="object"&&y.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:y,properties:r}:void 0}}return c?e.enterAsync(c.name?`[${c.name}]`:"",async()=>{if(c.name){let G=s==null?void 0:s.get(c.name);if(G)return i&&G[Wn]?e.addError("Circular reference detected"):c.name}let y={kind:c.kind,name:c.name};y[Wn]=!0;try{if(y.name)if(n!=null&&n.has(y.name))s==null||s.set(c.name,y),y._instance={name:c.name},y[C]=t.node[C];else return e.addError(`Data Type (${y.name}) must be explicitly added to type list in the document scope`);switch(y.kind){case m.ComplexType.Kind:y.ctor=l,await this._prepareComplexTypeArgs(e,t,y,c);break;case m.EnumType.Kind:y.instance=x,await this._prepareEnumTypeArgs(e,t,y,c);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,y,c);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,y,c);break;case m.SimpleType.Kind:y.ctor=l,await this._prepareSimpleTypeArgs(e,t,y,c);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,y,c);break;default:return e.addError(`Invalid data type kind ${c.kind}`)}}finally{y.name&&(n==null||n.delete(y.name)),delete y[Wn]}return n&&y.name?y.name:y}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=Me(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof s=="string"?{type:s}:s;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:Me(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=Me(n))}),r.attributes=I(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,p,c;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let l;if(i.base)l=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,x)&&(l=await this._importDataTypeArgs(e,t,x))}l&&(r.base=Me(l),r.ctor=r.ctor||l.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=I(i.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[T].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[O])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[O].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof _)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let p=n[C];switch(p||delete n._instance,i=n._instance,i!=null&&i.name&&p&&p.set(i.name,i),n==null?void 0:n.kind){case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,te.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,p]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[s]={...p,name:s,type:c})})}),te.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Z.prototype);let n=I(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,We.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),We.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Lt.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof L))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),Lt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,u.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,kt.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);n.types.push(c)})}),kt.apply(i,[t,n]),i}};a(Jr,"DataTypeFactory");var F=Jr;function Me(o){return typeof o=="object"&&o.name?o.name:o}a(Me,"preferName");import{isConstructor as gl}from"@jsopen/objects";import{omitUndefined as il}from"@jsopen/objects";var Yn=class Yn extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return il({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!j.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};a(Yn,"ApiBase");var jt=Yn;import sl from"path-browserify";import{omitUndefined as al}from"@jsopen/objects";import{asMutable as pl}from"ts-gems";import{merge as Gn,omit as ol}from"@jsopen/objects";var nl=/^(.*)(Controller)$/;function Qn(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=nl.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(se,Object.getPrototypeOf(r));s&&Gn(n,s,{deep:!0});let p=Reflect.getOwnMetadata(se,r);p&&Gn(n,p,{deep:!0}),Gn(n,{kind:m.HttpController.Kind,name:i,path:i,...ol(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(se,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(se,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var 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(Qn,"HttpControllerDecoratorFactory");var ne=a(function(...o){var i;if(!this)return ne[D].apply(void 0,o);let[e,t]=o;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=pl(this);r.kind=m.HttpController.Kind,r.types=r.node[C]=new oe,r.operations=new v,r.controllers=new v,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"),Zn=class Zn extends R{get isRoot(){return!(this.owner instanceof ne)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof ne)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return sl.posix.join(this.owner instanceof ne?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=al({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}[st](){return`[${at}HttpController${pt+this.name+Ve}]`}};a(Zn,"HttpControllerClass");var Xn=Zn;ne.prototype=Xn.prototype;Object.assign(ne,Qn);ne[D]=Qn;var Hn=class Hn extends jt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new v,this.url=e.url}findController(e){return ne.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(Hn,"HttpApi");var Ct=Hn;import cl from"@browsery/type-is";import{omitUndefined as ll}from"@jsopen/objects";import{asMutable as fl}from"ts-gems";import{isAny as ml,vg as ul}from"valgen";var Fe=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,o);let t=fl(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof _?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),ts=class ts 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=ll({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=>cl.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||ml,this.isArray?ul.isArray(r):r}};a(ts,"HttpMediaTypeClass");var es=ts;Fe.prototype=es.prototype;import{omitUndefined as dl}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 rs=class rs extends Fe{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 dl({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(rs,"HttpMultipartField");var Wr=rs;import{omitUndefined as yl}from"@jsopen/objects";var hl=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,is=class is{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=hl.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(is,"HttpStatusRange");var fr=is;var os=class os extends Fe{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new fr(r.start,r.end):new fr(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=yl({...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(os,"HttpOperationResponse");var Yr=os;import{omitUndefined as _l}from"@jsopen/objects";import{asMutable as xl}from"ts-gems";import{omitUndefined as Tl}from"@jsopen/objects";import{asMutable as El}from"ts-gems";var Ye=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,o);let t=El(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),ss=class ss extends R{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Tl({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(ss,"ValueClass");var ns=ss;Ye.prototype=ns.prototype;var mr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ye.call(this,o,e);let t=xl(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"),ps=class ps extends Ye{toJSON(e){return _l({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(ps,"HttpParameterClass");var as=ps;mr.prototype=as.prototype;import{omitUndefined as Ol}from"@jsopen/objects";var cs=class cs extends R{constructor(e){super(e),this.content=[]}toJSON(e){return Ol({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(cs,"HttpRequestBody");var Gr=cs;var ls=class ls{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"&&!gl(r)&&(r=t instanceof ne?r(t.instance):r()),r=await pe(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(se,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(se,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new ne(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await 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 l={...c};await e.enterAsync(".type",async()=>{l.type=await F.resolveDataType(e,s,c.type)});let x=new mr(s,l);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 l=new b(s,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),s.operations.set(p,l)})}),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 b.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 mr(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 Yr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new Gr(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Fe.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 Wr(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 mr(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 Fe(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(ls,"HttpApiFactory");var $t=ls;import{omitUndefined as Rl}from"@jsopen/objects";import{md5 as bl}from"super-fast-md5";var fs=class fs extends jt{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new v,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(fs,"RpcApi");var Bt=fs;var Fa,ms=class ms extends R{constructor(){super(null),this[Fa]=new WeakMap,this.id="",this.info={},this.references=new v,this.types=new oe,this.node[C]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof _?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[we].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 Bt))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(e){let t=Rl({spec:m.SpecVersion,id:this.id,url:this.url,info:I(this.info,!0)});if(this.references.size){let r=0,i={};for(let[n,s]of this.references.entries())s[Le]||(i[n]={id:s.id,url:s.url,info:I(s.info,!0)},r++);r&&(t.references=i)}if(this.types.size){t.types={};for(let r of this.types.values())r.inScope(e==null?void 0:e.scope)&&(t.types[r.name]=r.toJSON(e))}return this.api&&(t.api=this.api.toJSON(e)),t}invalidate(){let e=this.export({});delete e.id,this.id=bl(JSON.stringify(e)),this[we]=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=$s.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[we].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[we].set(i,p!=null&&p[Le]?"":s),i}}};a(ms,"ApiDocument");var Ge=ms;Fa=we;function Ie(o,e,t){let r=zr(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"&&Er(this,o,r)}}}[n];if(typeof o=="function"&&Tr(s.prototype,o.prototype),typeof o=="function"){let c=Reflect.getOwnMetadata(d,o);if(!c)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(c.kind===m.ComplexType.Kind||c.kind===m.MappedType.Kind||c.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:o};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(d,p,s),typeof o=="function"&&We._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(Ie,"createMappedClass");function cx(o,e,t){return Ie(o,{omit:e},t)}a(cx,"OmitType");function ux(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ie(o,{partial:t},r)}a(ux,"PartialType");function Tx(o,e,t){return Ie(o,{pick:e},t)}a(Tx,"PickType");function Ox(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ie(o,{required:t},r)}a(Ox,"RequiredType");import{isConstructor as Il}from"@jsopen/objects";import{omitUndefined as Al}from"@jsopen/objects";import{asMutable as Dl}from"ts-gems";var Qe=a(function(...o){var i;if(!this)return Qe[D].apply(void 0,o);let[e,t]=o;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Dl(this);r.kind=m.RpcController.Kind,r.types=r.node[C]=new oe,r.operations=new v,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"),ds=class ds 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 Qe)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=Al({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}[st](){return`[${at}RpcController${pt+this.name+Ve}]`}};a(ds,"RpcControllerClass");var us=ds;Qe.prototype=us.prototype;Object.assign(Qe,Pt);Qe[D]=Pt;import{omitUndefined as Nl}from"@jsopen/objects";import{asMutable as Sl}from"ts-gems";var ur=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ye.call(this,o,e);let t=Sl(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"),ys=class ys extends Ye{toJSON(){return Nl({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(ys,"RpcHeaderClass");var hs=ys;ur.prototype=hs.prototype;import{omitUndefined as vl}from"@jsopen/objects";import{asMutable as Ml}from"ts-gems";var dr=a(function(...o){if(!this){let[i,n]=o,s=[];return dr[D].call(void 0,s,i,n)}let[e,t]=o;if(R.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Ml(this);r.headers=[],r.types=r.node[C]=new oe,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof _?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof _?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),Es=class Es 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=vl({kind:m.RpcOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(Es,"RpcOperationClass");var Ts=Es;dr.prototype=Ts.prototype;dr[D]=lr;import{omitUndefined as Fl}from"@jsopen/objects";var _s=class _s 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 _?t.payloadType:this.owner.node.getDataType(t.payloadType):this.payloadType=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof _?t.keyType:this.owner.node.getDataType(t.keyType))}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=Fl({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(_s,"RpcOperationResponse");var Qr=_s;var xs=class xs{static async createApi(e,t){let r=new Bt(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"&&!Il(r)&&(r=r()),r=await pe(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(ae,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(ae,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 Qe(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 l=0;for(let x of s.headers)await e.enterAsync(`[${l++}]`,async()=>{let g={...x};await e.enterAsync(".type",async()=>{x.type&&(g.type=c.node.findDataType(x.type)),!g.type&&typeof x.type=="object"&&(g.type=await F.createDataType(e,c,x.type)),g.type||(g.type=c.node.getDataType("any"))});let y=new ur(c,g);c.headers.push(y)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[l,x]of Object.entries(s.operations))await e.enterAsync(`[${l}]`,async()=>{let g=new dr(c,{...x,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,g,x),c.operations.set(g.name,g)})}),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 ur(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new Qr(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 ur(t,s);t.headers.push(p)})})}};a(xs,"RpcApiFactory");var Xr=xs;var Pl="https://oprajs.com/spec/v"+m.SpecVersion,Zr=class Zr{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new Zr,i=t instanceof he?t:new he(t);try{let n=new Ge;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof _t||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||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,p;for([s,p]of Object.entries(i.references))p=await pe(p),await t.enterAsync(`[${s}]`,async()=>{if(!j.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 M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await qt.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="rpc"){let s=await ri.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:_l,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[Vr,zr,Jr,Ve,Wr,Ee,Yr,ve,Lr,lt,mt,dt,yt,X,q,Ne,Br,Z,At,Kr,or]},r=new We;r[Le]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[Tr];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(ii,"ApiDocumentFactory");var Oa=ii;var ga;(function(o){o.HttpApiFactory=qt,o.DataTypeFactory=M,o.RpcOperationDecoratorFactory=pr,o.RpcControllerDecoratorFactory=kt})(ga||(ga={}));import{uid as hg}from"uid";export{Vr as AnyType,Ut as ApiBase,We as ApiDocument,Oa as ApiDocumentFactory,L as ApiField,Le as BUILTIN,Os as BadRequestError,Lr as Base64Type,Da as BaseI18n,zr as BigintType,Jr as BooleanType,j as CLASS_NAME_PATTERN,re as ComplexType,gs as ConflictError,d as DATATYPE_METADATA,T as DECODER,D as DECORATOR,_ as DataType,oe as DataTypeMap,mt as DateStringType,yt as DateTimeStringType,dt as DateTimeType,lt as DateType,R as DocumentElement,he as DocumentInitContext,Pr as DocumentNode,O as ENCODER,X as EmailType,ee as EnumType,ws as FailedDependencyError,q as FieldPathType,ke as FieldsProjection,Ne as FilterType,dr as ForbiddenError,se as HTTP_CONTROLLER_METADATA,$t as HttpApi,ne as HttpController,Rs as HttpHeaderCodes,Ie as HttpMediaType,Zr as HttpMultipartField,A as HttpOperation,Hr as HttpOperationResponse,lr as HttpParameter,ei as HttpRequestBody,w as HttpStatusCode,ef as HttpStatusMessages,cr as HttpStatusRange,zt as I18n,Ve as IntegerType,As as InternalServerError,Ps as IssueSeverity,ze as MappedType,bs as MethodNotAllowedError,b as MimeTypes,jt as MixinType,ks as NAMESPACE_PATTERN,Ds as NotAcceptableError,Ns as NotFoundError,Wr as NullType,Ee as NumberType,Br as ObjectIdType,Yr as ObjectType,G4 as OmitType,Z as OperationResult,gt as OpraDocumentError,_e as OpraException,ir as OpraFilter,N as OpraHttpError,m as OpraSchema,H4 as PartialType,Ss as PermissionError,ix as PickType,ae as RPC_CONTROLLER_METADATA,ax as RequiredType,Fs as ResourceConflictError,vs as ResourceNotAvailableError,F as ResponsiveMap,Kt as RpcApi,Ye as RpcController,fr as RpcHeader,mr as RpcOperation,u as SimpleType,ve as StringType,At as TimeType,Ms as UnauthorizedError,Ct as UnionType,Is as UnprocessableEntityError,Kr as UrlType,or as UuidType,ga as classes,I as cloneObject,fm as getErrorStack,lm as getStackFileName,ni as i18n,yr as inheritPropertyInitializers,Mm as isBlob,Im as isFormData,Sm as isReadable,vm as isReadableStream,Ri as isStream,Pm as isURL,Fm as isWritable,Tr as kCtorMap,C as kDataTypeMap,we as kTypeNSMap,hr as mergePrototype,$s as parse,Us as parseFieldsProjection,pe as resolveThunk,bm as safeJsonStringify,Sl as translate,hg as uid};
12
+ @${p.path}`:"")).join(""))}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[Le]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,p;for([s,p]of Object.entries(i.references))p=await pe(p),await t.enterAsync(`[${s}]`,async()=>{if(!j.test(s))throw new TypeError(`Invalid namespace (${s})`);if(p instanceof Ge){e.references.set(s,p);return}let c=new Ge;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 $t.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="rpc"){let s=await Xr.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:Pl,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(Un),...Object.values(bn)]},r=new Ge;r[Le]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[_r];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Zr,"ApiDocumentFactory");var Ia=Zr;var Pa;(function(o){o.HttpApiFactory=$t,o.DataTypeFactory=F,o.RpcOperationDecoratorFactory=lr,o.RpcControllerDecoratorFactory=Pt})(Pa||(Pa={}));import{uid as Dg}from"uid";export{Sn as AnyType,jt as ApiBase,Ge as ApiDocument,Ia as ApiDocumentFactory,k as ApiField,Le as BUILTIN,bs as BadRequestError,Ho as Base64Type,Ua as BaseI18n,Pn as BigintType,Ln as BooleanType,j as CLASS_NAME_PATTERN,te as ComplexType,As as ConflictError,d as DATATYPE_METADATA,T as DECODER,D as DECORATOR,_ as DataType,oe as DataTypeMap,rr as DateTimeType,ir as DateTimeTypeTz,tr as DateType,R as DocumentElement,he as DocumentInitContext,kr as DocumentNode,O as ENCODER,H as EmailType,Z as EnumType,Ds as FailedDependencyError,z as FieldPathType,ke as FieldsProjection,Ke as FilterType,yr as ForbiddenError,se as HTTP_CONTROLLER_METADATA,Ct as HttpApi,ne as HttpController,Ns as HttpHeaderCodes,Fe as HttpMediaType,Wr as HttpMultipartField,b as HttpOperation,Yr as HttpOperationResponse,mr as HttpParameter,Gr as HttpRequestBody,w as HttpStatusCode,yf as HttpStatusMessages,fr as HttpStatusRange,Vt as I18n,vt as IntegerType,Ss as InternalServerError,Cs as IssueSeverity,We as MappedType,vs as MethodNotAllowedError,A as MimeTypes,Lt as MixinType,$s as NAMESPACE_PATTERN,Ms as NotAcceptableError,Fs as NotFoundError,jn as NullType,ge as NumberType,fn as ObjectIdType,Cn as ObjectType,cx as OmitType,re as OperationResult,_t as OpraDocumentError,Ee as OpraException,or as OpraFilter,N as OpraHttpError,m as OpraSchema,nr as PartialDateType,ux as PartialType,Is as PermissionError,Tx as PickType,ae as RPC_CONTROLLER_METADATA,Ox as RequiredType,Ps as ResourceConflictError,Ls as ResourceNotAvailableError,v as ResponsiveMap,Bt as RpcApi,Qe as RpcController,ur as RpcHeader,dr as RpcOperation,u as SimpleType,Je as StringType,sr as TimeType,ks as UnauthorizedError,kt as UnionType,js as UnprocessableEntityError,Rn as UrlType,Vr as UuidType,Pa as classes,I as cloneObject,Am as getErrorStack,bm as getStackFileName,ei as i18n,Er as inheritPropertyInitializers,Wm as isBlob,Ym as isFormData,Km as isReadable,Jm as isReadableStream,_i as isStream,Gm as isURL,zm as isWritable,_r as kCtorMap,C as kDataTypeMap,we as kTypeNSMap,Tr as mergePrototype,Ks as parse,Vs as parseFieldsProjection,pe as resolveThunk,Bm as safeJsonStringify,Kl as translate,Dg as uid};