@opra/common 1.3.1 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.cjs +4 -4
- package/browser/index.mjs +4 -4
- package/cjs/document/data-type/complex-type-base.js +2 -1
- package/cjs/document/decorators/http-operation-entity.decorator.js +2 -0
- package/cjs/document/factory/http-api.factory.js +1 -0
- package/cjs/document/http/http-request-body.js +1 -0
- package/esm/document/data-type/complex-type-base.js +2 -1
- package/esm/document/decorators/http-operation-entity.decorator.js +2 -0
- package/esm/document/factory/http-api.factory.js +1 -0
- package/esm/document/http/http-request-body.js +1 -0
- package/package.json +1 -1
- package/types/document/decorators/http-operation-entity.decorator.d.ts +2 -0
- package/types/document/http/http-operation.d.ts +3 -2
- package/types/document/http/http-request-body.d.ts +3 -0
- package/types/schema/http/http-request-body.interface.d.ts +4 -0
package/browser/index.cjs
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* http://www.panates.com
|
|
4
4
|
*****************************************/
|
|
5
5
|
|
|
6
|
-
"use strict";var sp=Object.create;var sr=Object.defineProperty;var ap=Object.getOwnPropertyDescriptor;var pp=Object.getOwnPropertyNames;var cp=Object.getPrototypeOf,lp=Object.prototype.hasOwnProperty;var s=(i,e)=>sr(i,"name",{value:e,configurable:!0});var Di=(i,e)=>{for(var t in e)sr(i,t,{get:e[t],enumerable:!0})},Ks=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of pp(e))!lp.call(i,o)&&o!==t&&sr(i,o,{get:()=>e[o],enumerable:!(r=ap(e,o))||r.enumerable});return i};var ar=(i,e,t)=>(t=i!=null?sp(cp(i)):{},Ks(e||!i||!i.__esModule?sr(t,"default",{value:i,enumerable:!0}):t,i)),fp=i=>Ks(sr({},"__esModule",{value:!0}),i);var Dc={};Di(Dc,{AnyType:()=>jr,ApiBase:()=>Qe,ApiDocument:()=>Ie,ApiDocumentFactory:()=>$s,ApiField:()=>k,BUILTIN:()=>Ne,BadRequestError:()=>Co,Base64Type:()=>Rr,BaseI18n:()=>ea,BigintType:()=>Cr,BooleanType:()=>Ur,CLASS_NAME_PATTERN:()=>U,ComplexType:()=>Z,ConflictError:()=>qo,DATATYPE_METADATA:()=>E,DECODER:()=>T,DECORATOR:()=>A,DataType:()=>g,DataTypeMap:()=>H,DateStringType:()=>tt,DateTimeStringType:()=>it,DateTimeType:()=>rt,DateType:()=>et,DocumentElement:()=>R,DocumentInitContext:()=>fe,DocumentNode:()=>Tr,ENCODER:()=>O,EXTRACT_TYPENAME_PATTERN:()=>cr,EmailType:()=>W,EnumType:()=>ue,FailedDependencyError:()=>Bo,FieldPathType:()=>Y,FieldsProjection:()=>De,FilterType:()=>pe,ForbiddenError:()=>br,HTTP_CONTROLLER_METADATA:()=>re,HttpApi:()=>Xe,HttpController:()=>ee,HttpHeaderCodes:()=>go,HttpMediaType:()=>xe,HttpMultipartField:()=>xr,HttpOperation:()=>S,HttpOperationResponse:()=>Or,HttpParameter:()=>Dt,HttpRequestBody:()=>gr,HttpStatusCode:()=>b,HttpStatusMessages:()=>Kp,HttpStatusRange:()=>Nt,I18n:()=>Ot,IntegerType:()=>$e,InternalServerError:()=>zo,IssueSeverity:()=>ln,MappedType:()=>Se,MethodNotAllowedError:()=>Wo,MimeTypes:()=>I,MixinType:()=>Ye,NAMESPACE_PATTERN:()=>Li,NotAcceptableError:()=>Go,NotFoundError:()=>Xo,NullType:()=>qr,NumberType:()=>de,ObjectIdType:()=>Pr,ObjectType:()=>$r,OmitType:()=>Rc,OperationResult:()=>Q,OpraDocumentError:()=>Je,OpraException:()=>ye,OpraFilter:()=>$t,OpraHttpError:()=>N,OpraSchema:()=>m,PartialType:()=>wc,PermissionError:()=>Ho,PickType:()=>Ac,RPC_CONTROLLER_METADATA:()=>ie,RequiredType:()=>bc,ResourceConflictError:()=>tn,ResourceNotAvailableError:()=>on,ResponsiveMap:()=>D,RpcApi:()=>He,RpcController:()=>Ke,RpcHeader:()=>or,RpcOperation:()=>nr,SimpleType:()=>u,StringType:()=>be,TimeType:()=>lt,UnauthorizedError:()=>sn,UnprocessableEntityError:()=>pn,UrlType:()=>kr,UuidType:()=>Yt,classes:()=>Bs,cloneObject:()=>v,getErrorStack:()=>wp,getStackFileName:()=>Rp,i18n:()=>Jr,inheritPropertyInitializers:()=>mr,isBlob:()=>Lp,isFormData:()=>vp,isReadable:()=>Sp,isReadableStream:()=>Mp,isStream:()=>zr,isURL:()=>Pp,isWritable:()=>Ip,kCtorMap:()=>lr,kDataTypeMap:()=>C,kTypeNSMap:()=>_e,mergePrototype:()=>ur,parse:()=>Fi,parseFieldsProjection:()=>Pi,resolveThunk:()=>le,safeJsonStringify:()=>Dp,translate:()=>w,uid:()=>np.uid});module.exports=fp(Dc);var t_=require("reflect-metadata");var Vr=require("@jsopen/objects");var m={};Di(m,{ComplexType:()=>dt,EnumType:()=>ht,HttpController:()=>pr,HttpOperation:()=>Si,MappedType:()=>yt,MixinType:()=>Tt,RpcController:()=>Ii,RpcOperation:()=>Mi,SimpleType:()=>Et,SpecVersion:()=>up,isComplexType:()=>dp,isDataType:()=>mp,isEnumType:()=>Ep,isHttpController:()=>_p,isMappedType:()=>Tp,isMixinType:()=>yp,isSimpleType:()=>hp});var up="1.0";var dt;(function(i){i.Kind="ComplexType"})(dt||(dt={}));var ht;(function(i){i.Kind="EnumType"})(ht||(ht={}));var yt;(function(i){i.Kind="MappedType"})(yt||(yt={}));var Tt;(function(i){i.Kind="MixinType"})(Tt||(Tt={}));var Et;(function(i){i.Kind="SimpleType"})(Et||(Et={}));var pr;(function(i){i.Kind="HttpController"})(pr||(pr={}));var Si;(function(i){i.Kind="HttpOperation"})(Si||(Si={}));var Ii;(function(i){i.Kind="RpcController"})(Ii||(Ii={}));var Mi;(function(i){i.Kind="RpcOperation"})(Mi||(Mi={}));function mp(i){return i&&typeof i=="object"&&(i.kind===dt.Kind||i.kind===ht.Kind||i.kind===yt.Kind||i.kind===Et.Kind||i.kind===Tt.Kind)}s(mp,"isDataType");function dp(i){return i&&typeof i=="object"&&i.kind===dt.Kind}s(dp,"isComplexType");function hp(i){return i&&typeof i=="object"&&i.kind===Et.Kind}s(hp,"isSimpleType");function yp(i){return i&&typeof i=="object"&&i.kind===Tt.Kind}s(yp,"isMixinType");function Tp(i){return i&&typeof i=="object"&&i.kind===yt.Kind}s(Tp,"isMappedType");function Ep(i){return i&&typeof i=="object"&&i.kind===ht.Kind}s(Ep,"isEnumType");function _p(i){return i&&typeof i=="object"&&i.kind===pr.Kind}s(_p,"isHttpController");var E=Symbol.for("opra.type.metadata"),re=Symbol("opra.http-controller.metadata"),ie=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),O=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Ne=Symbol.for("BUILTIN"),Li=/([a-z$_]\w+):(.+)/i,U=/^[a-z][\w_]*$/i,cr=/^(.*)Type(\d*)$/,C=Symbol.for("kDataTypeMap"),lr=Symbol.for("kCtorMap"),_e=Symbol.for("kTypeNSMap");var xp=/^(.*)(Controller)$/,zs=[];function _t(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=xp.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(ie,Object.getPrototypeOf(r));a&&(0,Vr.merge)(n,a,{deep:!0});let p=Reflect.getOwnMetadata(ie,r);p&&(0,Vr.merge)(n,p,{deep:!0}),(0,Vr.merge)(n,{...i,kind:m.RpcController.Kind,name:o,path:o},{deep:!0}),Reflect.defineMetadata(ie,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(ie,n,r)},"decorator");return t.Header=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,type:o}:{...o,name:r};n.headers=n.headers||[],n.headers.push(a)}),t),t.UseType=(...r)=>(e.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),zs.forEach(r=>r(t,e,i)),t}s(_t,"RpcControllerDecoratorFactory");_t.augment=function(i){zs.push(i)};var Js=require("@jsopen/objects");var Ws=[];function fr(i,e,t){let r=!1,o=s((n,a)=>{if(typeof a!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:a,payloadType:e,...(0,Js.omit)(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(ie,n.constructor)||{};c.operations=c.operations||{},c.operations[a]=p;for(let l of i)l(p,n,a);Reflect.defineMetadata(ie,c,n.constructor)},"decorator");return o.UseType=(...n)=>(i.push(a=>{a.types=a.types||[],a.types.push(...n)}),o),o.Header=(n,a)=>(i.push(p=>{let c=typeof a=="string"||typeof a=="function"?{name:n,type:a}:{...a,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)}),o),o.Response=(n,a)=>(i.push(p=>{r=!0,p.response={...a,payloadType:n}}),o),Ws.forEach(n=>n(o,i,e,t)),o}s(fr,"RpcOperationDecoratorFactory");fr.augment=function(i){Ws.push(i)};BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});var Ys=require("@jsopen/objects"),Gs=ar(require("putil-promisify"),1);async function le(i){return i=Gs.default.isPromise(i)?await i:i,typeof i=="function"?(0,Ys.isConstructor)(i)?i:await i():i}s(le,"resolveThunk");var Qs=/^(?:file:\/\/)?(.+)$/;function Rp(i=1){if(i>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+i+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,o)=>o;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[i]?t[i].getFileName():void 0,o=r?Qs.exec(r):void 0;return o?o[1]:""}return""}s(Rp,"getStackFileName");function wp(i=1){if(i>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+i+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,o)=>o;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[i]?t[i].getFileName():void 0,o=r?Qs.exec(r):void 0;return o?o[1]:""}return""}s(wp,"getErrorStack");function ur(i,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}s(ur,"mergePrototype");function mr(i,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof i[n]>"u").filter(n=>t(n)).forEach(n=>{i[n]=r[n]})}catch{}}s(mr,"inheritPropertyInitializers");var dr=require("@jsopen/objects");function v(i,e){return(0,dr.merge)({},i,{deep:s(t=>(0,dr.isPlainObject)(t)&&!t[E],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let o=r[t];return!e||typeof o!="function"&&(typeof o!="object"||(0,dr.isPlainObject)(o)||Array.isArray(o))}})}s(v,"cloneObject");var vi=require("fast-tokenizer");var Ap=/^([+-])?([a-z_$]\w*)$/i,bp=/[^.]\(/g,ki=class ki{};s(ki,"FieldsProjection");var De=ki;(function(i){let t=class t{};s(t,"Item");let e=t;i.Item=e})(De||(De={}));function Pi(i,e){let t=Array.isArray(i)?i:[i];if(!(t&&t.length))return;let r=new De;for(let o of t)e||(o=o.toLowerCase()),Fi(o,r);return r}s(Pi,"parseFieldsProjection");function Fi(i,e){i=i.replace(bp,r=>r.charAt(0)+"."+r.substring(1));let t=(0,vi.splitString)(i,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let o=t[r];if(o.includes(",")){let c=(0,vi.splitString)(o,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)Fi(l,e);continue}let n=Ap.exec(o);if(!n)throw new TypeError(`Invalid field path (${i})`);let a=n[2],p=e[a]=e[a]||new De.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new De}}s(Fi,"parse");function Np(i){return i&&typeof i.forEach=="function"}s(Np,"isMap");var J=Symbol.for("kEntries"),he=Symbol.for("kKeyMap"),Kr=Symbol.for("kWellKnownKeys"),ji=Symbol.for("kOptions"),xt=Symbol.for("kSize"),Ci=class Ci{constructor(e,t){Object.defineProperty(this,xt,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,J,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,he,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Kr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,ji,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(o=>{r?this[Kr][o]=o:this[Kr][o.toLowerCase()]=o}),this.clear(),e&&this.setAll(e)}get size(){return this[xt]}clear(){Object.keys(this[J]).forEach(e=>delete this[J][e]),Object.keys(this[he]).forEach(e=>delete this[he][e]),this[xt]=0}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,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 o=Object.prototype.hasOwnProperty.call(this[J],r);return this[J][r]=t,o||this[xt]++,this[he][r]=e,this}setAll(e){return Np(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[he])[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[he][t],r||this[xt]--,r}sort(e){let t={...this[J]},r={...this[he]},o=Array.from(this.keys());e?o.sort(e):o.sort(),this.clear();for(let n of o)this[J][n]=t[n],this[he][n]=r[n];return this[xt]=o.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[he]))e[r]=this[J][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[ji].caseSensitive)return e;let t=this._getStoringKey(e);return this[he][t]??this[Kr][t]??e}_getStoringKey(e){return this[ji].caseSensitive?e:e.toLowerCase()}};s(Ci,"ResponsiveMap");var D=Ci;function Dp(i,e,t){let r=new WeakSet;return JSON.stringify(i,(o,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(o,n):n},t)}s(Dp,"safeJsonStringify");function zr(i){return i!==null&&typeof i=="object"&&typeof i.pipe=="function"}s(zr,"isStream");function Sp(i){return zr(i)&&typeof i._read=="function"&&typeof i._readableState=="object"}s(Sp,"isReadable");function Ip(i){return zr(i)&&typeof i._write=="function"}s(Ip,"isWritable");function Mp(i){return zr(i)&&typeof i.getReader=="function"&&typeof i.pipeThrough=="function"&&typeof i.pipeTo=="function"}s(Mp,"isReadableStream");function Lp(i){return i!==null&&typeof i=="object"&&typeof i.size=="number"&&typeof i.arrayBuffer=="function"&&typeof i.stream=="function"}s(Lp,"isBlob");function vp(i){return i!==null&&typeof i.constructor=="function"&&i.constructor.name==="FormData"&&typeof i.append=="function"&&typeof i.getAll=="function"}s(vp,"isFormData");function Pp(i){return i!==null&&typeof i=="object"&&typeof i.host=="string"&&typeof i.href=="string"}s(Pp,"isURL");var ta=require("@jsopen/objects");var Hs=ar(require("@browsery/i18next"),1),yr=require("fast-tokenizer");var Fp=/\\(.)/g,kp=/(\\)/g;function Xs(i){return i.replace(kp,"\\\\")}s(Xs,"escapeString");function Zs(i){return i.replace(Fp,"$1")}s(Zs,"unescapeString");var ea=Object.getPrototypeOf(Hs.default.createInstance()).constructor,hr=class hr extends ea{async init(e,t){let r=typeof e=="object"?e:{},o=typeof e=="function"?e:t;try{let n=await super.init(r,o),a=this.services.formatter;if(a.add("lowercase",(p,c)=>p.toLocaleLowerCase(c)),a.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),a.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 o&&o(null,n),n}catch(n){throw o&&o(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 hr(e,t)}static createInstance(e,t){return new hr(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 o="";for(let n of(0,yr.tokenize)(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 a=(0,yr.splitString)(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=Zs(n.substring((a[0]||"").length+1));n=a[0]||"";let c=[],l=null;for(let d of(0,yr.tokenize)(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(d.startsWith("{")){l=JSON.parse(d);continue}c.push(d)}let x=c.length>1?"$t("+c.join(",")+")":c[0];o+=p?this.t(x,p,{...r,...l}):this.t(x,{...r,...l});continue}o+=n}return o}if(Array.isArray(e)){let o=Array(e.length);t.set(e,o);for(let n=0,a=e.length;n<a;n++)o[n]=this._deepTranslate(e[n],t,r);return t.delete(e),o}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 o={};t.set(e,o);let n=Object.keys(e);for(let a=0,p=n.length;a<p;a++){let c=n[a];o[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),o}return e}static get defaultInstance(){return jp}};s(hr,"I18n");var Ot=hr,jp=Ot.createInstance();var Cp=/(\))/g;function w(i,e,t){let r=e&&typeof e=="object"?e:void 0,o=typeof e=="string"?e:t;return"$t("+i+(r?","+JSON.stringify(r):"")+(o?"?"+Xs(o).replace(Cp,"\\$1"):"")+")"}s(w,"translate");var Jr=Ot.createInstance();Jr.init().catch(()=>{});var Ui=class Ui 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 Jr.deep(this.message)}toJSON(){var t;let e="production";return(0,ta.omitUndefined)({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})}};s(Ui,"OpraException");var ye=Ui;var qi=class qi extends ye{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};s(qi,"OpraDocumentError");var Je=qi;var $i=class $i{constructor(e){this.path="",this.error=new Je,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(o){o!==this.error&&this.addError(o)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(o){o!==this.error&&this.addError(o)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};s($i,"DocumentInitContext");var fe=$i;var Hf=require("reflect-metadata"),Hi=require("@jsopen/objects"),la=require("ts-gems");var ra=require("@jsopen/objects");function Bi(i){return function(e){var o;let t;if(!(i!=null&&i.embedded))if(i!=null&&i.name){if(!U.test(i.name))throw new TypeError(`"${i.name}" is not a valid type name`);t=i.name}else t=((o=e.name.match(cr))==null?void 0:o[1])||e.name;let r=Reflect.getOwnMetadata(E,e);r||(r={},Reflect.defineMetadata(E,r,e)),r.kind=m.ComplexType.Kind,r.name=t,i&&Object.assign(r,(0,ra.omit)(i,["name"]))}}s(Bi,"ComplexTypeDecorator");var pa=require("@jsopen/objects"),ca=require("ts-gems");var ia=require("ts-gems"),oa=require("uid");var Vi=class Vi{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[_e])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e){var r;let t=(r=this[C])==null?void 0:r.has(e);return t||(this.parent?this.parent.hasDataType(e):!1)}findDataType(e){var r;let t=(r=this[C])==null?void 0:r.get(e);return t||(this.parent?this.parent.findDataType(e):void 0)}getDataType(e){let t=this.findDataType(e);if(t)return t;let r="";if(typeof e=="function")r=Reflect.getMetadata(E,e).name;else if(typeof e=="object"){let o=e[E];r=o==null?void 0:o.name}throw r||(e&&typeof e=="string"?r=e:typeof e=="function"&&(r=e.name)),new TypeError("Unknown data type"+(r?" ("+r+")":""))}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getComplexType(e){let t=this.getDataType(e);if(t.kind===m.ComplexType.Kind)return t;throw new TypeError(`Data type "${t.name}" is not a ComplexType`)}getSimpleType(e){let t=this.getDataType(e);if(t.kind===m.SimpleType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a SimpleType`)}getEnumType(e){let t=this.getDataType(e);if(t.kind===m.EnumType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a EnumType`)}getMappedType(e){let t=this.getDataType(e);if(t.kind===m.MappedType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a MappedType`)}getMixinType(e){let t=this.getDataType(e);if(t.kind===m.MixinType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a MixinType`)}};s(Vi,"DocumentNode");var Tr=Vi;var R=s(function(i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=(0,ia.asMutable)(this);e.id=(0,oa.uid)(16),Object.defineProperty(e,"node",{value:new Tr(this,i==null?void 0:i.node),enumerable:!1,writable:!0}),i&&Object.defineProperty(e,"owner",{value:i,enumerable:!1,writable:!0})},"DocumentElement"),zi=class zi{};s(zi,"DocumentElementClass");var Ki=zi;R.prototype=Ki.prototype;function Ji(i){return function(e,t){if(typeof t!="string")throw new TypeError("Symbol properties can't be used as a field");let r=Reflect.getOwnMetadata(E,e.constructor)||{};r.kind=m.ComplexType.Kind,r.fields=r.fields||{};let o=Reflect.getMetadata("design:type",e,t),n=r.fields[t]={...i};o===Array?n.isArray=!0:n.type=n.type||o,Reflect.defineMetadata(E,r,e.constructor)}}s(Ji,"ApiFieldDecorator");var aa=require("ts-gems"),oe=require("valgen");var na=require("@jsopen/objects"),sa=require("ts-gems");var gt=Symbol.for("nodejs.util.inspect.custom"),We="\x1B[0m",Rt="\x1B[33m",wt="\x1B[35m";var g=s(function(i,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!U.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);R.call(this,i);let r=(0,sa.asMutable)(this);r.kind=e.kind,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),Yi=class Yi extends R{get embedded(){return!this.name}toJSON(){return(0,na.omitUndefined)({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[gt](){return`[${Rt+Object.getPrototypeOf(this).constructor.name+We} ${wt+this.name+We}]`}};s(Yi,"DataTypeClass");var Wi=Yi;g.prototype=Wi.prototype;var Up=/^([+-])?([a-z$_][\w.]*)$/i,M=s(function(...i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;g.call(this,e,t,r);let o=(0,aa.asMutable)(this);o.fields=new D},"ComplexTypeBase"),Qi=class Qi extends g{findField(e){if(e.includes(".")){let r=this.parseFieldPath(e).pop();return r==null?void 0:r.field}return this.fields.get(e)}getField(e){let t=this.findField(e);if(!t)throw new Error(w("error:UNKNOWN_FIELD",{field:e}));return t}parseFieldPath(e,t){var d,K,Vs;let r=this,o,n=e.split("."),a=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,x=s(()=>p.map(ze=>ze.fieldName).join("."),"getStrPath");for(let ze=0;ze<a;ze++){let X={fieldName:n[ze],dataType:c};p.push(X);let Br=Up.exec(n[ze]);if(!Br)throw new TypeError(`Invalid field name (${x()})`);if(Br[1]&&((ze===0&&l==="first"||l==="each")&&(X.sign=Br[1]),X.fieldName=Br[2]),r){if(r instanceof M){if(o=r.fields.get(X.fieldName),o){X.fieldName=o.name,X.field=o,X.dataType=o.type,r=o.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){X.additionalField=!0,X.dataType=c,r=void 0;continue}if(((K=r.additionalFields)==null?void 0:K[0])==="type"&&((Vs=r.additionalFields)==null?void 0:Vs[1])instanceof g){X.additionalField=!0,X.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(Ni=>Ni.fieldName).join(".")})`)}throw new TypeError(`"${p.map(Ni=>Ni.fieldName).join(".")}" field is not a complex type and has no child fields`)}X.additionalField=!0,X.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){let r=Array.isArray(t==null?void 0:t.projection)?Pi(t.projection):t==null?void 0:t.projection,o=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof g)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 a=n[1];n=(0,oe.validator)((p,c,l)=>c.fail(l,a,p))}return oe.vg.isObject(o,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail})}_generateSchema(e,t){var c;let r={},{currentPath:o,projection:n}=t,a=!!(n&&Object.values(n).find(l=>!l.sign)),p;for(let l of this.fields.values()){if(t.ignoreReadonlyFields&&l.readonly||t.ignoreWriteonlyFields&&l.writeonly||t.ignoreHiddenFields&&l.hidden){r[l.name]=oe.vg.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)==="-"||a&&!x||!a&&l.exclusive&&!x)){r[l.name]=oe.vg.isUndefined({coerce:!0});continue}let d=this._generateFieldCodec(e,l,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,currentPath:o+(o?".":"")+p});r[p]=t.partial||!l.required?oe.vg.optional(d):oe.vg.required(d)}return t.allowPatchOperators&&(r.$remove=oe.vg.optional(oe.vg.isAny())),r}_generateFieldCodec(e,t,r){let o=t.type.generateCodec(e,r);return t.fixed&&(o=oe.vg.isEnum([t.fixed])),t.isArray&&(o=oe.vg.isArray(o)),o}};s(Qi,"ComplexTypeBaseClass");var Gi=Qi;M.prototype=Gi.prototype;var k=s(function(...i){if(!this){let[n]=i;return k[A](n)}let[e,t]=i;R.call(this,e);let r=(0,ca.asMutable)(this);r.name=t.name;let o=t.origin||e;if(!(o instanceof M))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=o,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,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.hidden=t.hidden},"ApiField"),Zi=class Zi extends R{toJSON(){var t;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,pa.omitUndefined)({type:e||((t=this.type)==null?void 0:t.toJSON()),description:this.description,isArray:this.isArray||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})}};s(Zi,"ApiFieldClass");var Xi=Zi;k.prototype=Xi.prototype;Object.assign(k,Ji);k[A]=Ji;var Z=s(function(...i){var n;if(!this)return Z[A].apply(void 0,i);let[e,t]=i,r=i[2]||new fe({maxErrors:0});M.call(this,e,t,r);let o=(0,la.asMutable)(this);o.kind=m.ComplexType.Kind,t.base&&r.enter(".base",()=>{if(!(t.base instanceof M))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.additionalFields=o.base.additionalFields,o.keyField=o.base.keyField;for(let a of o.base.fields.values())this.fields.set(a.name,new k(this,a))}),t.additionalFields!==void 0&&(o.additionalFields=t.additionalFields),t.keyField!==void 0&&(o.keyField=t.keyField),o.ctor=t.ctor||((n=o.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[a,p]of Object.entries(t.fields)){let c=new k(this,{...p,name:a});this.fields.set(c.name,c)}})},"ComplexType"),to=class to extends M{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof M?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,t=(0,Hi.omitUndefined)({...M.prototype.toJSON.call(this),kind:this.kind,base:this.base?e||this.base.toJSON():void 0});if(this.additionalFields)if(this.additionalFields instanceof g){let r=this.node.getDataTypeNameWithNs(this.additionalFields);t.additionalFields=r||this.additionalFields.toJSON()}else t.additionalFields=this.additionalFields;if(this.fields.size){let r={},o=0;for(let n of this.fields.values())n.origin===this&&(r[n.name]=n.toJSON(),o++);o&&(t.fields=r)}return(0,Hi.omitUndefined)(t)}};s(to,"ComplexTypeClass");var eo=to;Z.prototype=eo.prototype;Object.assign(Z,Bi);Z[A]=Bi;var cu=require("reflect-metadata"),Wr=require("@jsopen/objects"),fa=require("ts-gems"),ua=require("valgen");var ue=s(function(...i){if(!this)return ue[A].apply(void 0,i);let[e,t,r]=i;g.call(this,e,t,r);let o=(0,fa.asMutable)(this);if(o.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof ue))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${o.kind}"`);o.base=t.base}o.instance=t.instance,o.ownAttributes=v(t.attributes||{}),o.attributes=o.base?v(o.base.attributes):{};for(let[n,a]of Object.entries(o.ownAttributes))o.attributes[n]=a},"EnumType"),ro=class ro extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof ue?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return ua.vg.isEnum(Object.keys(this.attributes))}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,Wr.omitUndefined)({...g.prototype.toJSON.call(this),base:this.base?e||this.base.toJSON():void 0,attributes:v(this.ownAttributes)})}};s(ro,"EnumTypeClass");var Er=ro;ue.prototype=Er.prototype;Object.assign(ue,Er);function qp(i,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],o={},n=i;if(Array.isArray(i)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...i]}o={},i.forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];o[p]=(0,Wr.omitUndefined)({description:c})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...i}}Object.keys(i).forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];o[i[p]]=(0,Wr.omitUndefined)({alias:p,description:c})})}let a={kind:m.EnumType.Kind,attributes:o,base:r.base,name:r.name,description:r==null?void 0:r.description};return Object.defineProperty(i,E,{value:a,enumerable:!1,configurable:!0,writable:!0}),n}s(qp,"EnumTypeFactory");ue.prototype=Er.prototype;ue[A]=qp;var Eu=require("reflect-metadata"),ma=require("@jsopen/objects"),da=require("ts-gems");function Yr(i,e){let t=i==null?void 0:i.map(o=>String(o).toLowerCase()),r=e==null?void 0:e.map(o=>String(o).toLowerCase());return o=>r&&r.includes(o.toLowerCase())?!1:t?t.includes(o.toLowerCase()):!0}s(Yr,"getIsInheritedPredicateFn");var Se=s(function(...i){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;M.call(this,e,t,r);let o=(0,da.asMutable)(this);if(o.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof M))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.ctor=t.ctor||o.base.ctor,t.pick?o.pick=t.pick.map(l=>o.base.normalizeFieldPath(l)):t.omit?o.omit=t.omit.map(l=>o.base.normalizeFieldPath(l)):t.partial?o.partial=Array.isArray(t.partial)?t.partial.map(l=>o.base.normalizeFieldPath(l)):t.partial:t.required&&(o.required=Array.isArray(t.required)?t.required.map(l=>o.base.normalizeFieldPath(l)):t.required);let a=Yr(o.pick,o.omit),p=Array.isArray(o.partial)?o.partial.map(l=>l.toLowerCase()):o.partial,c=Array.isArray(o.required)?o.required.map(l=>l.toLowerCase()):o.required;for(let[l,x]of o.base.fields.entries()){if(!a(l))continue;let d={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(d.required=!0);let K=new k(this,d);o.fields.set(K.name,K)}(!o.pick||o.base.additionalFields===!1||Array.isArray(o.base.additionalFields)&&((n=o.base.additionalFields)==null?void 0:n[0])==="error")&&(o.additionalFields=o.base.additionalFields),t.base.keyField&&a(t.base.keyField)&&(o.keyField=t.base.keyField)}},"MappedType"),oo=class oo extends M{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof M?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,ma.omitUndefined)({...M.prototype.toJSON.call(this),base:e||this.base.toJSON(),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required})}};s(oo,"MappedTypeClass");var io=oo;Se.prototype=io.prototype;Se._applyMixin=()=>{};var bu=require("reflect-metadata"),ha=require("@jsopen/objects"),ya=require("ts-gems");var Ye=s(function(...i){if(!this)return Ye[A].apply(void 0,i);let[e,t,r]=i;M.call(this,e,t,r);let o=(0,ya.asMutable)(this);o.kind=m.MixinType.Kind,o.types=[];for(let n of t.types){o.additionalFields!==!0&&(n.additionalFields===!0?o.additionalFields=!0:o.additionalFields||(o.additionalFields=n.additionalFields));for(let a of n.fields.values()){let p=new k(this,a);o.fields.set(p.name,p)}o.types.push(n),n.keyField&&(o.keyField=n.keyField)}},"MixinType"),so=class so extends M{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof M))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(){return(0,ha.omitUndefined)({...M.prototype.toJSON.call(this),kind:this.kind,types:this.types.map(e=>{let t=this.node.getDataTypeNameWithNs(e);return t||e.toJSON()})})}};s(so,"MixinTypeClass");var no=so;Ye.prototype=no.prototype;Ye[A]=$p;function $p(...i){let e=i.filter(a=>typeof a=="function"),t=typeof i[i.length-1]=="object"?i[i.length-1]:void 0;if(!e.length)throw new TypeError("No Class has been provided");if(e.length===1)return e[0];let r=e[0].name+"Mixin",o={[r]:class{constructor(){for(let a of e)mr(this,a)}}}[r],n={...t,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(E,n,o);for(let a of e){let p=Reflect.getMetadata(E,a);if(!(p&&(p.kind===m.ComplexType.Kind||p.kind===m.MixinType.Kind||p.kind===m.MappedType.Kind)))throw new TypeError(`Class "${a.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);n.types.push(a),ur(o.prototype,a.prototype)}return o}s($p,"MixinTypeFactory");var qu=require("reflect-metadata"),Gr=require("@jsopen/objects"),Ea=require("ts-gems"),po=require("valgen");function ao(i){let e=[],t=s(function(r){var a;let o;if(!(i!=null&&i.embedded))if(i!=null&&i.name){if(!U.test(i.name))throw new TypeError(`"${i.name}" is not a valid type name`);o=i.name}else o=((a=r.name.match(cr))==null?void 0:a[1])||r.name,o=o.toLowerCase();let n=Reflect.getOwnMetadata(E,r)||{};i&&Object.assign(n,i),n.kind=m.SimpleType.Kind,n.name=o,Reflect.defineMetadata(E,n,r)},"decorator");return t.Example=(r,o)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:o,value:r})}),t),t}s(ao,"SimpleTypeDecoratorFactory");function Ta(i){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(E,e.constructor)||{},o=Reflect.getMetadata("design:type",e,t),n="string";o===Boolean?n="boolean":o===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(i==null?void 0:i.format)||n,description:i==null?void 0:i.description,deprecated:i==null?void 0:i.deprecated},Reflect.defineMetadata(E,r,e.constructor)}}s(Ta,"AttributeDecoratorFactory");var u=s(function(...i){var n,a;if(!this)return u[A](...i);let[e,t,r]=i;g.call(this,e,t,r);let o=(0,Ea.asMutable)(this);if(o.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}"`);o.base=t.base}if(o.properties=t.properties,o.ownNameMappings={...t.nameMappings},o.nameMappings={...(n=o.base)==null?void 0:n.nameMappings,...t.nameMappings},o.ownAttributes=v(t.attributes||{}),o.attributes=o.base?v(o.base.attributes):{},o.ownAttributes)for(let[p,c]of Object.entries(o.ownAttributes)){if((a=o.attributes[p])!=null&&a.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);o.attributes[p]=c}o._generateDecoder=t.generateDecoder,o._generateEncoder=t.generateEncoder},"SimpleType"),lo=class lo extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let o={...this.properties,...r};if(e==="decode"){let a=this;for(;a;){if(a._generateDecoder)return a._generateDecoder(o,(t==null?void 0:t.documentElement)||this.owner);a=this.base}return po.isAny}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(o,(t==null?void 0:t.documentElement)||this.owner);n=this.base}return po.isAny}toJSON(){let e=(0,Gr.omitUndefined)(this.ownAttributes),t;this.properties&&typeof this.properties.toJSON=="function"?t=this.properties.toJSON(this.properties,this.owner):t=this.properties?v(this.properties):{};let r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,o=(0,Gr.omitUndefined)({...g.prototype.toJSON.apply(this),base:this.base?r||this.base.toJSON():void 0,attributes:e&&Object.keys(e).length?e:void 0,properties:Object.keys(t).length?t:void 0});return Object.keys(this.ownNameMappings).length&&(o.nameMappings={...this.ownNameMappings}),(0,Gr.omitUndefined)(o,!0)}};s(lo,"SimpleTypeClass");var co=lo;u.prototype=co.prototype;Object.assign(u,ao);u[A]=ao;u.Attribute=Ta;var fo=Symbol("initializing"),Qr=class Qr{static async createDataType(e,t,r){e=e||new fe({maxErrors:0});let o=await this._importDataTypeArgs(e,t,r);if(o)return typeof o=="string"?t.node.getDataType(o):this._createDataType(e,t,o)}static async resolveDataType(e,t,r){if(r){let o=t.node.findDataType(r);if(o)return o}if(typeof r=="object"||typeof r=="function"){let o=await Qr.createDataType(e,t,r);if(o)return o}if(r){let o=t.node.getDataType(r);if(o)return o}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let o=t.node[C];if(!o)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let a of n)a!=null&&a.name&&o.set(a.name,a)}static async createAllDataTypes(e,t,r){e=e||new fe({maxErrors:0});let o=await this._prepareAllInitArgs(e,t,r);if(!o)return;let n=new D;for(let c of o)n.set(c.name,c);let a=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let x=this._createDataType(a,t,l);x&&p.push(x)});return p}static async _prepareAllInitArgs(e,t,r){let o=new D,n=new D,a=e.extend({owner:t,importQueue:o,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 a.enterAsync(`$[${p++}]`,async()=>{c=await le(c);let l=Reflect.getMetadata(E,c)||c[E];if(!(l&&l.name))return typeof c=="function"?a.addError(`Class "${c.name}" doesn't have a valid data type metadata`):a.addError("Object doesn't have a valid data type metadata");o.set(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await le(p),o.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(o.keys())){if(!o.has(p))continue;let c=await this._importDataTypeArgs(a,t,p);c&&typeof c!="string"&&a.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r){var x;r=await le(r);let{importQueue:o,initArgsMap:n}=e,a=t.node.findDataType(r);if(a instanceof g)return a.name;let p,c,l;if(typeof r!="string"){let K=t.node.getDocument().types[lr].get(r);K&&(r=K)}if(typeof r=="string"){let d=r;if(r=(o==null?void 0:o.get(d))||((x=e.initArgsMap)==null?void 0:x.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(E,r),!p)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);c=r}else if(typeof r=="object"){if(p=r[E],p)l=r,p.kind!==m.EnumType.Kind&&(p=void 0);else if(m.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(E,c),p&&p.kind===m.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let K=n==null?void 0:n.get(p.name);if(K)return K[fo]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[fo]=!0;try{if(d.name)if(o!=null&&o.has(d.name))n==null||n.set(p.name,d),d._instance={name:p.name},d[C]=t.node[C];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case m.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case m.EnumType.Kind:d.instance=l,await this._prepareEnumTypeArgs(e,t,d,p);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case m.SimpleType.Kind:d.ctor=c,await this._prepareSimpleTypeArgs(e,t,d,p);break;default:return e.addError(`Invalid data type kind ${p.kind}`)}}finally{d.name&&(o==null||o.delete(d.name)),delete d[fo]}return o&&d.name?d.name:d}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples}static async _prepareComplexTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),r.keyField=o.keyField,await e.enterAsync(".base",async()=>{let n;if(o.base)n=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let a=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=Ge(n),r.ctor=r.ctor||n.ctor)}),o.additionalFields!=null&&(typeof o.additionalFields=="boolean"||Array.isArray(o.additionalFields)?r.additionalFields=o.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,o.additionalFields);n&&(r.additionalFields=Ge(n))})),o.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,a]of Object.entries(o.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof a=="string"?{type:a}:a;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:Ge(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),o.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,o.base);n&&(r.base=Ge(n))}),r.attributes=v(o.attributes)}static async _prepareSimpleTypeArgs(e,t,r,o){var n,a,p,c;await this._prepareDataTypeArgs(e,r,o),await e.enterAsync(".base",async()=>{let l;if(o.base)l=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,x)&&(l=await this._importDataTypeArgs(e,t,x))}l&&(r.base=Ge(l),r.ctor=r.ctor||l.ctor)}),r.properties=o.properties,r.nameMappings=o.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),o.attributes&&(r.attributes=v(o.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(a=r.properties)==null?void 0:a[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,o){await this._prepareDataTypeArgs(e,r,o),await e.enterAsync(".base",async()=>{let n;if(o.base)n=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let a=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=Ge(n),r.ctor=r.ctor||n.ctor)}),o.pick?r.pick=[...o.pick]:o.omit?r.omit=[...o.omit]:o.partial?r.partial=Array.isArray(o.partial)?[...o.partial]:o.partial:o.required&&(r.required=Array.isArray(o.required)?[...o.required]:o.required)}static async _prepareMixinTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),r.types=[],await e.enterAsync(".types",async()=>{let n=o.types,a=0;for(let p of n)await e.enterAsync(`[${a++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Ge(c))})})}static _createDataType(e,t,r){var a;let o=t.node.findDataType(typeof r=="string"?r:r.name||"");if(o instanceof g)return o;let n=typeof r=="string"?(a=e.initArgsMap)==null?void 0:a.get(r):r;if(n){let p=n[C];switch(p||delete n._instance,o=n._instance,o!=null&&o.name&&p&&p.set(o.name,o),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);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,Z.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[a,p]of Object.entries(r.fields))e.enter(`[${a}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[a]={...p,name:a,type:c})})}),Z.apply(o,[t,n]),o}static _createEnumType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,ue.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,ue.apply(o,[t,n]),o}static _createMappedType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,Se.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),Se.apply(o,[t,n]),o}static _createMixinType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,Ye.prototype);let n=v(r);return r.types&&e.enter(".types",()=>{n.types=[];let a=0;for(let p of r.types)e.enter(`[${a++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof M))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),Ye.apply(o,[t,n]),o}static _createSimpleType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,u.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(o,[t,n]),o}};s(Qr,"DataTypeFactory");var L=Qr;function Ge(i){return typeof i=="object"&&i.name?i.name:i}s(Ge,"preferName");var Ca=require("@jsopen/objects");var _a=require("@jsopen/objects");var uo=class uo extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(){return(0,_a.omitUndefined)({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!U.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};s(uo,"ApiBase");var Qe=uo;var ga=ar(require("path-browserify"),1),Ra=require("@jsopen/objects"),wa=require("ts-gems");var xa,Oa,ne=Symbol.for("kMap"),_r=Symbol.for("kCtorMap"),mo=class mo{constructor(){this[xa]=new D,this[Oa]=new WeakMap}get size(){return this[ne].size}forEach(e,t){this[ne].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[_r].get(e);if(!t&&typeof e=="function"){let r=Reflect.getMetadata(E,e);t=r==null?void 0:r.name}if(!t&&typeof e=="object"){let r=e[E];t=r==null?void 0:r.name}return t?this[ne].get(t):void 0}set(e,t){this[ne].set(e,t),t.ctor?this[_r].set(t.ctor,e):t.instance&&this[_r].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[ne].has(e.name);let t=typeof e=="string"?e:this[_r].get(e);return t?this[ne].has(t):!1}keys(){return this[ne].keys()}values(){return this[ne].values()}entries(){return this[ne].entries()}sort(e){return this[ne].sort(e),this}[(xa=ne,Oa=_r,Symbol.iterator)](){return this[ne][Symbol.iterator]()}};s(mo,"DataTypeMap");var H=mo;var At=require("@jsopen/objects");var Vp=/^(.*)(Controller)$/;function ho(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=Vp.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(re,Object.getPrototypeOf(r));a&&(0,At.merge)(n,a,{deep:!0});let p=Reflect.getOwnMetadata(re,r);p&&(0,At.merge)(n,p,{deep:!0}),(0,At.merge)(n,{kind:m.HttpController.Kind,name:o,path:o,...(0,At.omit)(i,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(re,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(re,n,r)},"decorator");return t.Cookie=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"cookie",type:o}:{...o,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.Header=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"header",type:o}:{...o,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.QueryParam=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"query",type:o}:{...o,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.PathParam=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o}:{...o,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.KeyParam=(r,o)=>(e.push(n=>{var p;(p=n.path)!=null&&p.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o,keyParam:!0}:{...o,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.UseType=(...r)=>(e.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),t}s(ho,"HttpControllerDecoratorFactory");var ee=s(function(...i){var o;if(!this)return ee[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,wa.asMutable)(this);r.kind=m.HttpController.Kind,r.types=r.node[C]=new H,r.operations=new D,r.controllers=new D,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,(o=r._initialize)==null||o.call(r,t)},"HttpController"),To=class To extends R{get isRoot(){return!(this.owner instanceof ee)}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(),o;for(o of this.parameters)if(!(t&&t!==o.location)&&(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e)))return o;if(this.node.parent&&this.node.parent.element instanceof ee)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return ga.default.posix.join(this.owner instanceof ee?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(){let e=(0,Ra.omitUndefined)({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.controllers.size){e.controllers={};for(let t of this.controllers.values())e.controllers[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.parameters.length){e.parameters=[];for(let t of this.parameters)e.parameters.push(t.toJSON())}return e}[gt](){return`[${Rt}HttpController${wt+this.name+We}]`}};s(To,"HttpControllerClass");var yo=To;ee.prototype=yo.prototype;Object.assign(ee,ho);ee[A]=ho;var Eo=class Eo extends Qe{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new D,this.url=e.url}findController(e){return ee.prototype.findController.call(this,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,url:this.url,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};s(Eo,"HttpApi");var Xe=Eo;var Aa=ar(require("@browsery/type-is"),1),ba=require("@jsopen/objects"),Na=require("ts-gems"),Xr=require("valgen");var xe=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=(0,Na.asMutable)(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(o=>o.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 g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),xo=class xo 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(){var r,o;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,t=(0,ba.omitUndefined)({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:e||((r=this.type)==null?void 0:r.toJSON()),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(o=this.multipartFields)!=null&&o.length&&(t.multipartFields=this.multipartFields.map(n=>n.toJSON())),t}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=>Aa.default.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||Xr.isAny,this.isArray?Xr.vg.isArray(r):r}};s(xo,"HttpMediaTypeClass");var _o=xo;xe.prototype=_o.prototype;var Da=require("@jsopen/objects");function bt(i,e){let t=i.lastIndexOf("/");if(i.startsWith("/")&&t){let r=i.substring(1,t),o=i.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e==null?void 0:e.includeFlags)o.includes(n)||(o+=n);if(e!=null&&e.excludeFlags)for(let n of e==null?void 0:e.excludeFlags)o.replace(n,"");return new RegExp(r,o)}throw new TypeError(`"${i}" is not a valid RegExp string`)}s(bt,"parseRegExp");var Oo=class Oo extends xe{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(){return(0,Da.omitUndefined)({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON()})}};s(Oo,"HttpMultipartField");var xr=Oo;var Sa=ar(require("path-browserify"),1),Ia=require("@jsopen/objects"),Ma=require("ts-gems");var go;(function(i){i.X_Opra_Version="X-Opra-Version",i.X_Total_Count="X-Total-Count",i.WWW_Authenticate="WWW-Authenticate",i.Authorization="Authorization",i.Proxy_Authenticate="Proxy-Authenticate",i.Proxy_Authorization="Proxy-Authorization",i.Age="Age",i.Cache_Control="Cache-Control",i.Clear_Site_Data="Clear-Site-Data",i.Expires="Expires",i.Pragma="Pragma",i.Last_Modified="Last-Modified",i.ETag="ETag",i.If_Match="If-Match",i.If_None_Match="If-None-Match",i.If_Modified_Since="If-Modified-Since",i.If_Unmodified_Since="If-Unmodified-Since",i.Vary="Vary",i.Connection="Connection",i.Keep_Alive="Keep-Alive",i.Accept="Accept",i.Accept_Encoding="Accept-Encoding",i.Accept_Language="Accept-Language",i.Expect="Expect",i.Cookie="Cookie",i.Set_Cookie="Set-Cookie",i.Access_Control_Allow_Origin="Access-Control-Allow-Origin",i.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",i.Access_Control_Allow_Headers="Access-Control-Allow-Headers",i.Access_Control_Allow_Methods="Access-Control-Allow-Methods",i.Access_Control_Expose_Headers="Access-Control-Expose-Headers",i.Access_Control_Max_Age="Access-Control-Max-Age",i.Access_Control_Request_Headers="Access-Control-Request-Headers",i.Access_Control_Request_Method="Access-Control-Request-Method",i.Origin="Origin",i.Timing_Allow_Origin="Timing-Allow-Origin",i.Content_Disposition="Content-Disposition",i.Content_ID="Content-ID",i.Content_Length="Content-Length",i.Content_Type="Content-Type",i.Content_Transfer_Encoding="Content-Transfer-Encoding",i.Content_Encoding="Content-Encoding",i.Content_Language="Content-Language",i.Content_Location="Content-Location",i.Forwarded="Forwarded",i.X_Forwarded_For="X-Forwarded-For",i.X_Forwarded_Host="X-Forwarded-Host",i.X_Forwarded_Proto="X-Forwarded-Proto",i.Via="Via",i.Location="Location",i.From="From",i.Host="Host",i.Referer="Referer",i.Referrer_Policy="Referrer-Policy",i.User_Agent="User-Agent",i.Allow="Allow",i.Server="Server",i.Accept_Ranges="Accept-Ranges",i.Range="Range",i.If_Range="If-Range",i.Content_Range="Content-Range",i.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",i.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",i.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",i.Content_Security_Policy="Content-Security-Policy",i.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",i.Expect_CT="Expect-CT",i.Feature_Policy="Feature-Policy",i.Strict_Transport_Security="Strict-Transport-Security",i.Upgrade="Upgrade",i.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",i.X_Content_Type_Options="X-Content-Type-Options",i.X_Download_Options="X-Download-Options",i.X_Frame_Options="X-Frame-Options",i.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",i.X_Powered_By="X-Powered-By",i.X_XSS_Protection="X-XSS-Protection",i.Transfer_Encoding="Transfer-Encoding",i.TE="TE",i.Trailer="Trailer",i.Sec_WebSocket_Key="Sec-WebSocket-Key",i.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",i.Sec_WebSocket_Accept="Sec-WebSocket-Accept",i.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",i.Sec_WebSocket_Version="Sec-WebSocket-Version",i.Date="Date",i.Retry_After="Retry-After",i.Server_Timing="Server-Timing",i.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",i.Max_Forwards="Max-Forwards"})(go||(go={}));var b;(function(i){i[i.CONTINUE=100]="CONTINUE",i[i.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",i[i.PROCESSING=102]="PROCESSING",i[i.EARLYHINTS=103]="EARLYHINTS",i[i.OK=200]="OK",i[i.CREATED=201]="CREATED",i[i.ACCEPTED=202]="ACCEPTED",i[i.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",i[i.NO_CONTENT=204]="NO_CONTENT",i[i.RESET_CONTENT=205]="RESET_CONTENT",i[i.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",i[i.AMBIGUOUS=300]="AMBIGUOUS",i[i.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",i[i.FOUND=302]="FOUND",i[i.SEE_OTHER=303]="SEE_OTHER",i[i.NOT_MODIFIED=304]="NOT_MODIFIED",i[i.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",i[i.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",i[i.BAD_REQUEST=400]="BAD_REQUEST",i[i.UNAUTHORIZED=401]="UNAUTHORIZED",i[i.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",i[i.FORBIDDEN=403]="FORBIDDEN",i[i.NOT_FOUND=404]="NOT_FOUND",i[i.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",i[i.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",i[i.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",i[i.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",i[i.CONFLICT=409]="CONFLICT",i[i.GONE=410]="GONE",i[i.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",i[i.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",i[i.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",i[i.URI_TOO_LONG=414]="URI_TOO_LONG",i[i.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",i[i.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",i[i.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",i[i.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",i[i.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",i[i.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",i[i.LOCKED=423]="LOCKED",i[i.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",i[i.TOO_EARLY=425]="TOO_EARLY",i[i.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",i[i.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",i[i.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",i[i.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",i[i.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",i[i.BAD_GATEWAY=502]="BAD_GATEWAY",i[i.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",i[i.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",i[i.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",i[i.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",i[i.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",i[i.LOOP_DETECTED=508]="LOOP_DETECTED",i[i.NOT_EXTENDED=510]="NOT_EXTENDED",i[i.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(b||(b={}));var Kp={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 I;(function(i){i.json="application/json",i.opra_response_json="application/opra.response+json",i.xml="application/XML",i.text="text/plain",i.html="text/html",i.markdown="text/markdown",i.binary="binary/octet-stream"})(I||(I={}));function q(i,e){let t=s((r,o)=>{if(typeof o!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},a=Reflect.getOwnMetadata(re,r.constructor)||{};a.operations=a.operations||{},a.operations[o]=n;for(let p of i)p(n);Reflect.defineMetadata(re,a,r.constructor)},"decorator");return t.Cookie=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"cookie",type:o}:{...o,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(a)}),t),t.Header=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"header",type:o}:{...o,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(a)}),t),t.QueryParam=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"query",type:o}:{...o,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(a)}),t),t.PathParam=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o}:{...o,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(a)}),t),t.Response=(r,o)=>{let n={...o,statusCode:r};return n.type&&(n.contentType=n.contentType||I.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===I.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),i.push(a=>{a.responses=a.responses||[],a.responses.push(n)}),t},t.RequestContent=function(r){let o=typeof r=="object"?r:{type:r};return o.type&&(o.contentType=o.contentType||I.json,o.contentEncoding=o.contentEncoding||"utf-8"),i.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(o)}),t},t.MultipartContent=function(r,o){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(i.push(a=>{a.requestBody=a.requestBody||{required:!0,content:[]},a.requestBody.content=a.requestBody.content||[],a.requestBody.content.push(n)}),o){let a={Field(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),a},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),a}};o(a)}return t},t.UseType=(...r)=>(i.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),t}s(q,"HttpOperationDecoratorFactory");var S=s(function(...i){if(!this){let[o]=i,n=[];return S[A].call(void 0,n,o)}let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,Ma.asMutable)(this);r.parameters=[],r.responses=[],r.types=r.node[C]=new H,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?v(t.compositionOptions):void 0},"HttpOperation"),wo=class wo extends R{findParameter(e,t){let r=e.toLowerCase(),o;for(o of this.parameters)if(!(t&&t!==o.location)&&(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e)))return o}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:Sa.default.posix.join(e,this.path):e:this.path||"/"}toJSON(){var t;let e=(0,Ia.omitUndefined)({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(t=this.requestBody)==null?void 0:t.toJSON()});if(this.types.size){e.types={};for(let r of this.types.values())e.types[r.name]=r.toJSON()}if(this.parameters.length){e.parameters=[];for(let r of this.parameters)e.parameters.push(r.toJSON())}return this.responses.length&&(e.responses=this.responses.map(r=>r.toJSON())),e}};s(wo,"HttpOperationClass");var Ro=wo;S.prototype=Ro.prototype;S[A]=q;S.GET=function(i){return q([],{...i,method:"GET"})};S.DELETE=function(i){return q([],{...i,method:"DELETE"})};S.HEAD=function(i){return q([],{...i,method:"HEAD"})};S.OPTIONS=function(i){return q([],{...i,method:"OPTIONS"})};S.PATCH=function(i){return q([],{...i,method:"PATCH"})};S.POST=function(i){return q([],{...i,method:"POST"})};S.PUT=function(i){return q([],{...i,method:"PUT"})};S.SEARCH=function(i){return q([],{...i,method:"SEARCH"})};var La=require("@jsopen/objects");var zp=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Ao=class Ao{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=zp.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}}};s(Ao,"HttpStatusRange");var Nt=Ao;var bo=class bo extends xe{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new Nt(r.start,r.end):new Nt(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(){let e=this.statusCode.map(r=>r.toJSON()),t=(0,La.omitUndefined)({...super.toJSON(),statusCode:e.length===1&&typeof e[0]=="number"?e[0]:e,partial:this.partial});if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON())}return t}};s(bo,"HttpOperationResponse");var Or=bo;var Fa=require("@jsopen/objects"),ka=require("ts-gems");var va=require("@jsopen/objects"),Pa=require("ts-gems");var Ze=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=(0,Pa.asMutable)(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Do=class Do extends R{toJSON(){let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,va.omitUndefined)({type:this.type?e||this.type.toJSON():"any",description:this.description,isArray:this.isArray,examples:this.examples})}};s(Do,"ValueClass");var No=Do;Ze.prototype=No.prototype;var Dt=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ze.call(this,i,e);let t=(0,ka.asMutable)(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},"HttpParameter"),Io=class Io extends Ze{toJSON(){return(0,Fa.omitUndefined)({...super.toJSON(),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};s(Io,"HttpParameterClass");var So=Io;Dt.prototype=So.prototype;var ja=require("@jsopen/objects");var Mo=class Mo extends R{constructor(e){super(e),this.content=[]}toJSON(){return(0,ja.omitUndefined)({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(e=>e.toJSON()):[],partial:this.partial})}};s(Mo,"HttpRequestBody");var gr=Mo;var Lo=class Lo{static async createApi(e,t){let r=new Xe(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 o=0;for(let n of r){let a;await e.enterAsync(`[${o++}]`,async()=>{a=await this._resolveControllerMetadata(e,t,n)}),a&&await e.enterAsync(`[${a.metadata.name}]`,async()=>{let p=await this._createController(e,t,a.metadata,a.instance,a.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${a.name})`),t.controllers.set(p.name,p))})}return}for(let[o,n]of Object.entries(r))await e.enterAsync(`[${o}]`,async()=>{let a=await this._resolveControllerMetadata(e,t,n);if(!a)return;let p=await this._createController(e,t,{...a.metadata,name:o},a.instance,a.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${o})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!(0,Ca.isConstructor)(r)&&(r=t instanceof ee?r(t.instance):r()),r=await le(r);let o,n,a;if(typeof r=="function"){if(n=Reflect.getMetadata(re,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);o=r}else o=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(re,o),n?a=r:(n=r,r.instance==="object"&&(a=r.instance,o=Object.getPrototypeOf(a).constructor));return n?{metadata:n,instance:a,ctor:o}:e.addError(`Class "${o.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,o,n){if(!r.name)throw new TypeError("Controller name required");let a=new ee(t,{...r,instance:o,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,a,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 L.resolveDataType(e,a,c.type)});let x=new Dt(a,l);a.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 S(a,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),a.operations.set(p,l)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,a,r.controllers)}),a}static async _initHttpOperation(e,t,r){let o={...r,name:t.name,types:void 0};return S.apply(t,[t.owner,o]),r.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let a of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let p={...a};await e.enterAsync(".type",async()=>{p.type=await L.resolveDataType(e,t,a.type)});let c=new Dt(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let a of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new Or(t,{statusCode:a.statusCode});await this._initHttpOperationResponse(e,p,a),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){xe.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await L.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let o=0;o<r.multipartFields.length;o++)await e.enterAsync(`[${o}]`,async()=>{let n=r.multipartFields[o],a=new xr(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,a,n),t.multipartFields.push(a)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let o=0;for(let n of r.parameters)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await L.resolveDataType(e,t,n.type)});let p=new Dt(t,a);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,r.content&&await e.enterAsync(".content",async()=>{for(let o=0;o<r.content.length;o++)await e.enterAsync(`[${o}]`,async()=>{let n=r.content[o],a=new xe(t,String(o));await this._initHttpMediaType(e,a,n),t.content.push(a)})})}};s(Lo,"HttpApiFactory");var St=Lo;var qa=require("@jsopen/objects"),$a=require("super-fast-md5");var vo=class vo extends Qe{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new D,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}};s(vo,"RpcApi");var He=vo;var Ua,Po=class Po extends R{constructor(){super(null),this[Ua]=new WeakMap,this.id="",this.info={},this.references=new D,this.types=new H,this.node[C]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof g?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[_e].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 Xe))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof He))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(){let e=(0,qa.omitUndefined)({spec:m.SpecVersion,id:this.id,url:this.url,info:v(this.info,!0)});if(this.references.size){let t=0,r={};for(let[o,n]of this.references.entries())n[Ne]||(r[o]={id:n.id,url:n.url,info:v(n.info,!0)},t++);t&&(e.references=r)}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return this.api&&(e.api=this.api.toJSON()),e}invalidate(){let e=this.export();delete e.id,this.id=(0,$a.md5)(JSON.stringify(e)),this[_e]=new WeakMap}_findDataType(e,t){let r=this.types.get(e);if(r||!this.references.size)return r;if(typeof e=="string"){let n=Li.exec(e);if(n){let a=n[1];if(a){let p=this.references.get(a);return p?(t=t||new WeakMap,t.set(this,!0),t.set(p,!0),p._findDataType(n[2],t)):void 0}e=n[2]}}t=t||new WeakMap,t.set(this,!0);let o=Array.from(this.references.keys()).reverse();for(let n of o){let a=this.references.get(n);if(r=a==null?void 0:a.types.get(e),r)return this[_e].set(r,a!=null&&a[Ne]?"":n),r}for(let n of o){let a=this.references.get(n);if(t.set(a,!0),r=a._findDataType(e,t),r)return this[_e].set(r,a!=null&&a[Ne]?"":n),r}}};s(Po,"ApiDocument");var Ie=Po;Ua=_e;var Zr=require("tslib"),Fo=require("valgen");var It,Rr=(It=class{constructor(e){e&&Object.assign(this,e)}[T](){return Fo.vg.isBase64({coerce:!0})}[O](){return Fo.vg.isBase64({coerce:!0})}},s(It,"Base64Type"),It);Rr=(0,Zr.__decorate)([u({description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),(0,Zr.__metadata)("design:paramtypes",[Object])],Rr);var Me=require("tslib"),$=require("valgen");var Mt,et=(Mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=$.vg.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&((0,$.isDateString)(e.minValue),r.push($.toString,$.vg.isGte(e.minValue))),e.maxValue&&((0,$.isDateString)(e.maxValue),r.push($.toString,$.vg.isLte(e.maxValue))),r.length>0?$.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=$.vg.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue&&((0,$.isDateString)(e.minValue),r.push($.vg.isGte(e.minValue))),e.maxValue&&((0,$.isDateString)(e.maxValue),r.push($.vg.isLte(e.maxValue))),r.length>0?$.vg.pipe([t,...r],{returnIndex:0}):t}},s(Mt,"DateType"),Mt);(0,Me.__decorate)([u.Attribute({description:"Minimum value"}),(0,Me.__metadata)("design:type",String)],et.prototype,"minValue",void 0);(0,Me.__decorate)([u.Attribute({description:"Maximum value"}),(0,Me.__metadata)("design:type",String)],et.prototype,"maxValue",void 0);et=(0,Me.__decorate)([u({description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),(0,Me.__metadata)("design:paramtypes",[Object])],et);var Le=require("tslib"),wr=require("valgen");var Lt,tt=(Lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=wr.vg.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue&&r.push(wr.vg.isGte(e.minValue)),e.maxValue&&r.push(wr.vg.isLte(e.maxValue)),r.length>0?wr.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},s(Lt,"DateStringType"),Lt);(0,Le.__decorate)([u.Attribute({description:"Minimum value"}),(0,Le.__metadata)("design:type",String)],tt.prototype,"minValue",void 0);(0,Le.__decorate)([u.Attribute({description:"Maximum value"}),(0,Le.__metadata)("design:type",String)],tt.prototype,"maxValue",void 0);tt=(0,Le.__decorate)([u({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"),(0,Le.__metadata)("design:paramtypes",[Object])],tt);var ve=require("tslib"),B=require("valgen");var vt,rt=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=B.vg.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&((0,B.isDateString)(e.minValue),r.push(B.toString,B.vg.isGte(e.minValue))),e.maxValue&&((0,B.isDateString)(e.maxValue),r.push(B.toString,B.vg.isLte(e.maxValue))),r.length>0?B.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=B.vg.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&((0,B.isDateString)(e.minValue),r.push(B.vg.isGte(e.minValue))),e.maxValue&&((0,B.isDateString)(e.maxValue),r.push(B.vg.isLte(e.maxValue))),r.length>0?B.vg.pipe([t,...r],{returnIndex:0}):t}},s(vt,"DateTimeType"),vt);(0,ve.__decorate)([u.Attribute({description:"Minimum value"}),(0,ve.__metadata)("design:type",String)],rt.prototype,"minValue",void 0);(0,ve.__decorate)([u.Attribute({description:"Maximum value"}),(0,ve.__metadata)("design:type",String)],rt.prototype,"maxValue",void 0);rt=(0,ve.__decorate)([u({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"),(0,ve.__metadata)("design:paramtypes",[Object])],rt);var Pe=require("tslib"),Ar=require("valgen");var Pt,it=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ar.vg.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(Ar.vg.isGte(e.minValue)),e.maxValue&&r.push(Ar.vg.isLte(e.maxValue)),r.length>0?Ar.vg.pipe([t,...r]):t}[O](e){return this[T](e)}},s(Pt,"DateTimeStringType"),Pt);(0,Pe.__decorate)([u.Attribute({description:"Minimum value"}),(0,Pe.__metadata)("design:type",String)],it.prototype,"minValue",void 0);(0,Pe.__decorate)([u.Attribute({description:"Maximum value"}),(0,Pe.__metadata)("design:type",String)],it.prototype,"maxValue",void 0);it=(0,Pe.__decorate)([u({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"),(0,Pe.__metadata)("design:paramtypes",[Object])],it);var P=require("tslib"),ko=require("valgen");var Ft,W=(Ft=class{constructor(e){e&&Object.assign(this,e)}[T](e){return ko.vg.isEmail({...e,coerce:!0})}[O](e){return ko.vg.isEmail({...e,coerce:!0})}},s(Ft,"EmailType"),Ft);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),(0,P.__metadata)("design:type",Boolean)],W.prototype,"allowDisplayName",void 0);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),(0,P.__metadata)("design:type",Boolean)],W.prototype,"requireDisplayName",void 0);(0,P.__decorate)([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}),(0,P.__metadata)("design:type",Boolean)],W.prototype,"utf8LocalPart",void 0);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),(0,P.__metadata)("design:type",Boolean)],W.prototype,"ignoreMaxLength",void 0);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),(0,P.__metadata)("design:type",Boolean)],W.prototype,"allowIpDomain",void 0);(0,P.__decorate)([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}),(0,P.__metadata)("design:type",Boolean)],W.prototype,"domainSpecificValidation",void 0);(0,P.__decorate)([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."}),(0,P.__metadata)("design:type",Array)],W.prototype,"hostBlacklist",void 0);(0,P.__decorate)([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."}),(0,P.__metadata)("design:type",Array)],W.prototype,"hostWhitelist",void 0);(0,P.__decorate)([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."}),(0,P.__metadata)("design:type",String)],W.prototype,"blacklistedChars",void 0);W=(0,P.__decorate)([u({description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),(0,P.__metadata)("design:paramtypes",[Object])],W);var Fe=require("tslib"),jt=require("valgen");var kt,Y=(kt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.allowSigns,n=(0,jt.validator)("decodeFieldPath",a=>r.normalizeFieldPath(a,{allowSigns:o}));return jt.vg.pipe([jt.toString,n])}[O](e,t){return this[T](e,t)}toJSON(e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=r?t.node.getDataTypeNameWithNs(r):void 0;return{dataType:o||r.toJSON(),allowSigns:e.allowSigns}}},s(kt,"FieldPathType"),kt);(0,Fe.__decorate)([u.Attribute({description:"Data type which field belong to"}),(0,Fe.__metadata)("design:type",Object)],Y.prototype,"dataType",void 0);(0,Fe.__decorate)([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'}),(0,Fe.__metadata)("design:type",String)],Y.prototype,"allowSigns",void 0);Y=(0,Fe.__decorate)([u({description:"Field path",nameMappings:{js:"string",json:"string"}}),(0,Fe.__metadata)("design:paramtypes",[Object])],Y);var je=require("tslib"),bs=require("valgen");Array.prototype.findLast||(Array.prototype.findLast=function(i,e){let t=this.findLastIndex(i,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(i,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 o=r-1;o>=0;o--)if(i.call(e,t[o],o,t))return o;return-1});var Ya=require("@jsopen/objects"),Ga=require("valgen");var jo=class jo extends ye{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)}};s(jo,"OpraHttpError");var N=jo;var Uo=class Uo extends N{constructor(){super(...arguments),this.status=400}init(e){super.init({message:w("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};s(Uo,"BadRequestError");var Co=Uo;var $o=class $o extends N{constructor(){super(...arguments),this.status=409}init(e){super.init({message:w("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};s($o,"ConflictError");var qo=$o;var Vo=class Vo extends N{constructor(){super(...arguments),this.status=424}init(e){super.init({message:w("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};s(Vo,"FailedDependencyError");var Bo=Vo;var Ko=class Ko extends N{constructor(){super(...arguments),this.status=b.FORBIDDEN}init(e){super.init({message:w("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};s(Ko,"ForbiddenError");var br=Ko;var Jo=class Jo extends N{constructor(){super(...arguments),this.status=500}init(e){super.init({message:w("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};s(Jo,"InternalServerError");var zo=Jo;var Yo=class Yo extends N{constructor(){super(...arguments),this.status=405}init(e){super.init({message:w("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};s(Yo,"MethodNotAllowedError");var Wo=Yo;var Qo=class Qo extends N{constructor(){super(...arguments),this.status=406}init(e){super.init({message:w("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};s(Qo,"NotAcceptableError");var Go=Qo;var Zo=class Zo extends N{constructor(){super(...arguments),this.status=404}init(e){super.init({message:w("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};s(Zo,"NotFoundError");var Xo=Zo;var en=class en extends br{init(e){super.init({message:w("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};s(en,"PermissionError");var Ho=en;var rn=class rn extends N{constructor(e,t,r){super({message:w("error:RESOURCE_CONFLICT",{resource:e,fields:t},"There is already an other {{resource}} resource with same values ({{fields}})"),severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};s(rn,"ResourceConflictError");var tn=rn;var nn=class nn extends N{constructor(e,t,r){super({message:w("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,b.UNPROCESSABLE_ENTITY)}};s(nn,"ResourceNotAvailableError");var on=nn;var an=class an extends N{constructor(){super(...arguments),this.status=401}init(e){super.init({message:w("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};s(an,"UnauthorizedError");var sn=an;var cn=class cn extends N{constructor(){super(...arguments),this.status=422}init(e){super.init({message:w("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};s(cn,"UnprocessableEntityError");var pn=cn;var ln;(function(i){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=i.Enum||(i.Enum={})),i.name="IssueSeverity",i.description="Severity of the issue",i.Keys=Object.keys(i),i.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"}})(ln||(ln={}));var fn=class fn{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};s(fn,"Ast");var Nr=fn;var un=class un extends Nr{};s(un,"Expression");var V=un;var mn=class mn extends V{};s(mn,"Term");var ot=mn;var dn=class dn extends ot{constructor(e){super(),this.value=e}toString(){return""+this.value}};s(dn,"Literal");var j=dn;var hn=class hn extends V{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Hr({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};s(hn,"ArithmeticExpression");var nt=hn,yn=class yn{constructor(e){Object.assign(this,e)}};s(yn,"ArithmeticExpressionItem");var Hr=yn;var Tn=class Tn extends ot{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};s(Tn,"ArrayExpression");var Oe=Tn;var Wp=/\w/,En=class En extends V{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${Wp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};s(En,"ComparisonExpression");var Te=En;var _n=class _n extends V{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+" ")}};s(_n,"LogicalExpression");var Ee=_n;var xn=class xn extends V{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(xn,"NegativeExpression");var Dr=xn;var On=class On extends V{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(On,"ParenthesizedExpression");var ge=On;var gn=class gn extends j{constructor(e){super(e)}};s(gn,"BooleanLiteral");var st=gn;var Va=require("putil-varhelpers");var Rn=class Rn extends TypeError{};s(Rn,"SyntaxError");var ei=Rn,wn=class wn extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};s(wn,"FilterValidationError");var ke=wn,An=class An extends Error{constructor(e,t){super(e),Object.assign(this,t)}};s(An,"FilterParseError");var ti=An;var Yp=/'/g,Gp=/(\\)/g,Qp=/\\(.)/g;function Xp(i){return i.replace(Gp,"\\\\")}s(Xp,"escapeString");function Zp(i){return i.replace(Qp,"$1")}s(Zp,"unescapeString");function Ct(i){return"'"+Xp(i).replace(Yp,"\\'")+"'"}s(Ct,"quoteFilterString");function Sr(i){return i&&(i.startsWith("'")||i.startsWith('"'))&&i.endsWith(i.charAt(0))?Zp(i.substring(1,i.length-1)):i}s(Sr,"unquoteFilterString");var Ba=new Date(0),bn=class bn extends j{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&(0,Va.toDateDef)(e,Ba)!==Ba){this.value=e;return}throw new ke(`Invalid date value "${e}"`)}toString(){return Ct(this.value)}};s(bn,"DateLiteral");var Re=bn;var Nn=class Nn extends j{constructor(){super(null),this.value=null}};s(Nn,"NullLiteral");var at=Nn;var Dn=class Dn extends j{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 ke(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};s(Dn,"NumberLiteral");var we=Dn;var Sn=class Sn extends j{constructor(e){super(""+e)}};s(Sn,"QualifiedIdentifier");var me=Sn;var In=class In extends j{constructor(e){super(""+e)}toString(){return Ct(this.value)}};s(In,"StringLiteral");var pt=In;var Hp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Mn=class Mn extends j{constructor(e){if(super(""),e instanceof Date){this.value=ri(e.getHours())+":"+ri(e.getMinutes())+(e.getSeconds()?":"+ri(e.getSeconds()):"")+(e.getMilliseconds()?"."+ri(e.getMilliseconds()):"");return}if(typeof e=="string"&&Hp.test(e)){this.value=e;return}throw new ke(`Invalid time value "${e}"`)}toString(){return Ct(this.value)}};s(Mn,"TimeLiteral");var ct=Mn;function ri(i){return i<=9?"0"+i:""+i}s(ri,"pad");var di=require("@browsery/antlr4");var se=require("@browsery/antlr4");var z=class z extends se.Lexer{constructor(e){super(e),this._interp=new se.LexerATNSimulator(this,z._ATN,z.DecisionsToDFA,new se.PredictionContextCache)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return z.literalNames}get symbolicNames(){return z.symbolicNames}get ruleNames(){return z.ruleNames}get serializedATN(){return z._serializedATN}get channelNames(){return z.channelNames}get modeNames(){return z.modeNames}static get _ATN(){return z.__ATN||(z.__ATN=new se.ATNDeserializer().deserialize(z._serializedATN)),z.__ATN}};s(z,"OpraFilterLexer");var y=z;y.T__0=1;y.T__1=2;y.T__2=3;y.T__3=4;y.T__4=5;y.T__5=6;y.T__6=7;y.T__7=8;y.T__8=9;y.T__9=10;y.T__10=11;y.T__11=12;y.T__12=13;y.T__13=14;y.T__14=15;y.T__15=16;y.T__16=17;y.T__17=18;y.T__18=19;y.T__19=20;y.T__20=21;y.T__21=22;y.T__22=23;y.T__23=24;y.T__24=25;y.T__25=26;y.T__26=27;y.T__27=28;y.T__28=29;y.T__29=30;y.T__30=31;y.T__31=32;y.T__32=33;y.T__33=34;y.IDENTIFIER=35;y.POLAR_OP=36;y.DATE=37;y.DATETIME=38;y.TIME=39;y.NUMBER=40;y.INTEGER=41;y.STRING=42;y.WHITESPACE=43;y.EOF=se.Token.EOF;y.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];y.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];y.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];y.modeNames=["DEFAULT_MODE"];y.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];y._serializedATN=[4,0,43,426,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,3,37,256,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,266,8,38,1,39,3,39,269,8,39,1,39,4,39,272,8,39,11,39,12,39,273,1,39,1,39,5,39,278,8,39,10,39,12,39,281,9,39,3,39,283,8,39,1,39,1,39,3,39,287,8,39,1,39,4,39,290,8,39,11,39,12,39,291,3,39,294,8,39,1,39,1,39,1,39,1,39,4,39,300,8,39,11,39,12,39,301,3,39,304,8,39,1,40,3,40,307,8,40,1,40,4,40,310,8,40,11,40,12,40,311,1,40,1,40,1,40,1,40,4,40,318,8,40,11,40,12,40,319,3,40,322,8,40,1,41,1,41,1,41,5,41,327,8,41,10,41,12,41,330,9,41,1,41,1,41,1,41,1,41,5,41,336,8,41,10,41,12,41,339,9,41,1,41,3,41,342,8,41,1,42,4,42,345,8,42,11,42,12,42,346,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,362,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,371,8,44,1,45,1,45,1,45,1,45,3,45,377,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,389,8,45,11,45,12,45,390,3,45,393,8,45,3,45,395,8,45,1,46,1,46,1,46,3,46,400,8,46,1,46,1,46,1,46,3,46,405,8,46,1,46,1,46,1,46,3,46,410,8,46,3,46,412,8,46,1,47,1,47,1,47,3,47,417,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,453,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,255,1,0,0,0,77,265,1,0,0,0,79,303,1,0,0,0,81,321,1,0,0,0,83,341,1,0,0,0,85,344,1,0,0,0,87,350,1,0,0,0,89,352,1,0,0,0,91,376,1,0,0,0,93,411,1,0,0,0,95,413,1,0,0,0,97,418,1,0,0,0,99,424,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,256,1,0,0,0,248,249,5,34,0,0,249,250,3,89,44,0,250,251,5,84,0,0,251,252,3,91,45,0,252,253,3,93,46,0,253,254,5,34,0,0,254,256,1,0,0,0,255,241,1,0,0,0,255,248,1,0,0,0,256,76,1,0,0,0,257,258,5,39,0,0,258,259,3,91,45,0,259,260,5,39,0,0,260,266,1,0,0,0,261,262,5,34,0,0,262,263,3,91,45,0,263,264,5,34,0,0,264,266,1,0,0,0,265,257,1,0,0,0,265,261,1,0,0,0,266,78,1,0,0,0,267,269,3,71,35,0,268,267,1,0,0,0,268,269,1,0,0,0,269,271,1,0,0,0,270,272,3,87,43,0,271,270,1,0,0,0,272,273,1,0,0,0,273,271,1,0,0,0,273,274,1,0,0,0,274,282,1,0,0,0,275,279,5,46,0,0,276,278,3,87,43,0,277,276,1,0,0,0,278,281,1,0,0,0,279,277,1,0,0,0,279,280,1,0,0,0,280,283,1,0,0,0,281,279,1,0,0,0,282,275,1,0,0,0,282,283,1,0,0,0,283,293,1,0,0,0,284,286,5,69,0,0,285,287,7,2,0,0,286,285,1,0,0,0,286,287,1,0,0,0,287,289,1,0,0,0,288,290,3,87,43,0,289,288,1,0,0,0,290,291,1,0,0,0,291,289,1,0,0,0,291,292,1,0,0,0,292,294,1,0,0,0,293,284,1,0,0,0,293,294,1,0,0,0,294,304,1,0,0,0,295,296,5,48,0,0,296,297,5,120,0,0,297,299,1,0,0,0,298,300,3,99,49,0,299,298,1,0,0,0,300,301,1,0,0,0,301,299,1,0,0,0,301,302,1,0,0,0,302,304,1,0,0,0,303,268,1,0,0,0,303,295,1,0,0,0,304,80,1,0,0,0,305,307,3,71,35,0,306,305,1,0,0,0,306,307,1,0,0,0,307,309,1,0,0,0,308,310,3,87,43,0,309,308,1,0,0,0,310,311,1,0,0,0,311,309,1,0,0,0,311,312,1,0,0,0,312,322,1,0,0,0,313,314,5,48,0,0,314,315,5,120,0,0,315,317,1,0,0,0,316,318,3,99,49,0,317,316,1,0,0,0,318,319,1,0,0,0,319,317,1,0,0,0,319,320,1,0,0,0,320,322,1,0,0,0,321,306,1,0,0,0,321,313,1,0,0,0,322,82,1,0,0,0,323,328,5,39,0,0,324,327,3,95,47,0,325,327,8,3,0,0,326,324,1,0,0,0,326,325,1,0,0,0,327,330,1,0,0,0,328,326,1,0,0,0,328,329,1,0,0,0,329,331,1,0,0,0,330,328,1,0,0,0,331,342,5,39,0,0,332,337,5,34,0,0,333,336,3,95,47,0,334,336,8,4,0,0,335,333,1,0,0,0,335,334,1,0,0,0,336,339,1,0,0,0,337,335,1,0,0,0,337,338,1,0,0,0,338,340,1,0,0,0,339,337,1,0,0,0,340,342,5,34,0,0,341,323,1,0,0,0,341,332,1,0,0,0,342,84,1,0,0,0,343,345,7,5,0,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,348,1,0,0,0,348,349,6,42,0,0,349,86,1,0,0,0,350,351,7,6,0,0,351,88,1,0,0,0,352,353,7,6,0,0,353,354,7,6,0,0,354,355,7,6,0,0,355,356,7,6,0,0,356,361,5,45,0,0,357,358,7,7,0,0,358,362,7,8,0,0,359,360,7,9,0,0,360,362,7,10,0,0,361,357,1,0,0,0,361,359,1,0,0,0,362,363,1,0,0,0,363,370,5,45,0,0,364,365,7,11,0,0,365,371,7,7,0,0,366,367,7,10,0,0,367,371,7,8,0,0,368,369,5,51,0,0,369,371,5,49,0,0,370,364,1,0,0,0,370,366,1,0,0,0,370,368,1,0,0,0,371,90,1,0,0,0,372,373,7,12,0,0,373,377,7,6,0,0,374,375,5,50,0,0,375,377,7,13,0,0,376,372,1,0,0,0,376,374,1,0,0,0,377,378,1,0,0,0,378,379,5,58,0,0,379,380,7,14,0,0,380,381,7,6,0,0,381,394,1,0,0,0,382,383,5,58,0,0,383,384,7,14,0,0,384,385,7,6,0,0,385,392,1,0,0,0,386,388,5,46,0,0,387,389,7,6,0,0,388,387,1,0,0,0,389,390,1,0,0,0,390,388,1,0,0,0,390,391,1,0,0,0,391,393,1,0,0,0,392,386,1,0,0,0,392,393,1,0,0,0,393,395,1,0,0,0,394,382,1,0,0,0,394,395,1,0,0,0,395,92,1,0,0,0,396,412,5,90,0,0,397,404,7,2,0,0,398,400,7,12,0,0,399,398,1,0,0,0,399,400,1,0,0,0,400,401,1,0,0,0,401,405,7,6,0,0,402,403,5,50,0,0,403,405,7,13,0,0,404,399,1,0,0,0,404,402,1,0,0,0,405,409,1,0,0,0,406,407,5,58,0,0,407,408,7,14,0,0,408,410,7,6,0,0,409,406,1,0,0,0,409,410,1,0,0,0,410,412,1,0,0,0,411,396,1,0,0,0,411,397,1,0,0,0,412,94,1,0,0,0,413,416,5,92,0,0,414,417,3,97,48,0,415,417,9,0,0,0,416,414,1,0,0,0,416,415,1,0,0,0,417,96,1,0,0,0,418,419,5,117,0,0,419,420,3,99,49,0,420,421,3,99,49,0,421,422,3,99,49,0,422,423,3,99,49,0,423,98,1,0,0,0,424,425,7,15,0,0,425,100,1,0,0,0,35,0,226,239,255,265,268,273,279,282,286,291,293,301,303,306,311,319,321,326,328,335,337,341,346,361,370,376,390,392,394,399,404,409,411,416,1,0,1,0];y.DecisionsToDFA=y._ATN.decisionToState.map((i,e)=>new se.DFA(i,e));var Ka=y;var h=require("@browsery/antlr4");var _=class _ extends h.Parser{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return _.literalNames}get symbolicNames(){return _.symbolicNames}get ruleNames(){return _.ruleNames}get serializedATN(){return _._serializedATN}createFailedPredicateException(e,t){return new h.FailedPredicateException(this,e,t)}constructor(e){super(e),this._interp=new h.ParserATNSimulator(this,_._ATN,_.DecisionsToDFA,new h.PredictionContextCache)}root(){let e=new Ln(this,this._ctx,this.state);this.enterRule(e,0,_.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(_.EOF)}catch(t){if(t instanceof h.RecognitionException)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,o=new te(this,this._ctx,r),n=o,a=2;this.enterRecursionRule(o,2,_.RULE_expression,e);let p;try{let c;this.enterOuterAlt(o,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:o=new Fn(this,o),this._ctx=o,n=o,this.state=38,o._left=this.comparisonLeft(),this.state=39,o._operator=this.comparisonOperator(),this.state=40,o._right=this.comparisonRight();break;case 1:o=new vn(this,o),this._ctx=o,n=o,this.state=42,this.match(_.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(_.T__1);break;case 3:case 4:o=new Pn(this,o),this._ctx=o,n=o,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 h.NoViableAltException(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!==h.ATN.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=o;{if(o=new Ir(this,new te(this,t,r)),this.pushNewRecursionContext(o,a,_.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,o._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 h.RecognitionException)o.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return o}comparisonLeft(){let e=new ii(this,this._ctx,this.state);this.enterRule(e,4,_.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof h.RecognitionException)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 oi(this,this._ctx,this.state);this.enterRule(e,6,_.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 h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)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 ni(this,this._ctx,this.state);this.enterRule(e,8,_.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new G(this,this._ctx,this.state);this.enterRule(e,10,_.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new Vn(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(_.NUMBER);break;case 13:case 14:e=new $n(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new Bn(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new jn(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 37:e=new qn(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(_.DATE);break;case 38:e=new Cn(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(_.DATETIME);break;case 39:e=new kn(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(_.TIME);break;case 42:e=new Un(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(_.STRING);break;default:throw new h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)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 Mr(this,this._ctx,this.state);this.enterRule(e,12,_.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!==h.ATN.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(_.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 h.RecognitionException)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 si(this,this._ctx,this.state);this.enterRule(e,14,_.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(_.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof h.RecognitionException)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 Ut(this,this._ctx,this.state);this.enterRule(e,16,_.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(_.IDENTIFIER)}catch(t){if(t instanceof h.RecognitionException)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 ai(this,this._ctx,this.state);this.enterRule(e,18,_.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(_.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(_.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(_.T__8)}}catch(r){if(r instanceof h.RecognitionException)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 pi(this,this._ctx,this.state);this.enterRule(e,20,_.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 h.RecognitionException)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 ci(this,this._ctx,this.state);this.enterRule(e,22,_.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(_.T__11)}catch(t){if(t instanceof h.RecognitionException)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 li(this,this._ctx,this.state);this.enterRule(e,24,_.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 h.RecognitionException)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 Kn(this,this._ctx,this.state);this.enterRule(e,26,_.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),!(t&-32)&&1<<t&491520?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)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 fi(this,this._ctx,this.state);this.enterRule(e,28,_.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),!(t&-32)&&1<<t&2146959360?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)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 ui(this,this._ctx,this.state);this.enterRule(e,30,_.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),!(t-31&-32)&&1<<t-31&15?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)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 zn(this,this._ctx,this.state);this.enterRule(e,32,_.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(_.POLAR_OP)}catch(t){if(t instanceof h.RecognitionException)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 _.__ATN||(_.__ATN=new h.ATNDeserializer().deserialize(_._serializedATN)),_.__ATN}};s(_,"OpraFilterParser");var f=_;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=h.Token.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,37,0,0,74,78,5,38,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((i,e)=>new h.DFA(i,e));var za=f,Jn=class Jn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(te,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)}};s(Jn,"RootContext");var Ln=Jn,Wn=class Wn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};s(Wn,"ExpressionContext");var te=Wn,Yn=class Yn extends te{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(ni,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)}};s(Yn,"ParenthesizedExpressionContext");var vn=Yn,Gn=class Gn extends te{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(te,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)}};s(Gn,"NegativeExpressionContext");var Pn=Gn,Qn=class Qn extends te{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(ii,0)}comparisonOperator(){return this.getTypedRuleContext(fi,0)}comparisonRight(){return this.getTypedRuleContext(oi,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)}};s(Qn,"ComparisonExpressionContext");var Fn=Qn,Xn=class Xn extends te{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(te)}expression(e){return this.getTypedRuleContext(te,e)}logicalOperator(){return this.getTypedRuleContext(ui,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)}};s(Xn,"LogicalExpressionContext");var Ir=Xn,Zn=class Zn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Mr,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)}};s(Zn,"ComparisonLeftContext");var ii=Zn,Hn=class Hn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(G,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Mr,0)}externalConstant(){return this.getTypedRuleContext(si,0)}arrayValue(){return this.getTypedRuleContext(ai,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)}};s(Hn,"ComparisonRightContext");var oi=Hn,es=class es extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(te,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)}};s(es,"ParenthesizedItemContext");var ni=es,ts=class ts extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};s(ts,"ValueContext");var G=ts,rs=class rs extends G{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)}};s(rs,"TimeLiteralContext");var kn=rs,is=class is extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(ci,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)}};s(is,"NullLiteralContext");var jn=is,os=class os extends G{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)}};s(os,"DateTimeLiteralContext");var Cn=os,ns=class ns extends G{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)}};s(ns,"StringLiteralContext");var Un=ns,ss=class ss extends G{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)}};s(ss,"DateLiteralContext");var qn=ss,as=class as extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(li,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)}};s(as,"InfinityLiteralContext");var $n=as,ps=class ps extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(pi,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)}};s(ps,"BooleanLiteralContext");var Bn=ps,cs=class cs extends G{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)}};s(cs,"NumberLiteralContext");var Vn=cs,ls=class ls extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Ut)}identifier(e){return this.getTypedRuleContext(Ut,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)}};s(ls,"QualifiedIdentifierContext");var Mr=ls,fs=class fs extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Ut,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)}};s(fs,"ExternalConstantContext");var si=fs,us=class us extends h.ParserRuleContext{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)}};s(us,"IdentifierContext");var Ut=us,ms=class ms extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(G)}value(e){return this.getTypedRuleContext(G,e)}get ruleIndex(){return 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)}};s(ms,"ArrayValueContext");var ai=ms,ds=class ds extends h.ParserRuleContext{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)}};s(ds,"BooleanContext");var pi=ds,hs=class hs extends h.ParserRuleContext{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)}};s(hs,"NullContext");var ci=hs,ys=class ys extends h.ParserRuleContext{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)}};s(ys,"InfinityContext");var li=ys,Ts=class Ts extends h.ParserRuleContext{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)}};s(Ts,"ArithmeticOperatorContext");var Kn=Ts,Es=class Es extends h.ParserRuleContext{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)}};s(Es,"ComparisonOperatorContext");var fi=Es,_s=class _s extends h.ParserRuleContext{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)}};s(_s,"LogicalOperatorContext");var ui=_s,xs=class xs extends h.ParserRuleContext{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)}};s(xs,"PolarityOperatorContext");var zn=xs;var Ja=require("@browsery/antlr4");var Os=class Os extends j{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};s(Os,"ExternalConstant");var mi=Os;var gs=class gs extends Ja.ParseTreeVisitor{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 ge(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Dr(t)}visitComparisonExpression(e){return new Te({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=s((o,n)=>{for(let a of o){if(a instanceof Ir&&a.logicalOperator().getText()===n){r(a.expression_list(),a.logicalOperator().getText());continue}let p=this.visit(a);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new Ee({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new me(e.getText())}visitExternalConstant(e){return new mi(e.identifier().getText())}visitNullLiteral(){return new at}visitBooleanLiteral(e){return new st(e.getText()==="true")}visitNumberLiteral(e){return new we(e.getText())}visitStringLiteral(e){return new pt(Sr(e.getText()))}visitInfinityLiteral(){return new we(1/0)}visitDateLiteral(e){return new Re(Sr(e.getText()))}visitDateTimeLiteral(e){return new Re(Sr(e.getText()))}visitTimeLiteral(e){return new ct(Sr(e.getText()))}visitArrayValue(e){return new Oe(e.value_list().map(t=>this.visit(t)))}};s(gs,"FilterTreeVisitor");var Lr=gs;var Wa=require("@browsery/antlr4");var Rs=class Rs extends Wa.ErrorListener{constructor(e){super(),this.errors=e}syntaxError(e,t,r,o,n,a){this.errors.push(new ti(n,{recognizer:e,offendingSymbol:t,line:r,column:o,e:a}))}};s(Rs,"OpraErrorListener");var vr=Rs;function ws(i,e){let t=new di.CharStream(i),r=new Ka(t),o=new di.CommonTokenStream(r),n=new za(o);n.buildParseTrees=!0;let a=[],p=new vr(a);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(a.length){let l=[];for(let d of a)l.push(d.message+(i.includes(`
|
|
6
|
+
"use strict";var sp=Object.create;var sr=Object.defineProperty;var ap=Object.getOwnPropertyDescriptor;var pp=Object.getOwnPropertyNames;var cp=Object.getPrototypeOf,lp=Object.prototype.hasOwnProperty;var s=(i,e)=>sr(i,"name",{value:e,configurable:!0});var Di=(i,e)=>{for(var t in e)sr(i,t,{get:e[t],enumerable:!0})},Ks=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of pp(e))!lp.call(i,o)&&o!==t&&sr(i,o,{get:()=>e[o],enumerable:!(r=ap(e,o))||r.enumerable});return i};var ar=(i,e,t)=>(t=i!=null?sp(cp(i)):{},Ks(e||!i||!i.__esModule?sr(t,"default",{value:i,enumerable:!0}):t,i)),fp=i=>Ks(sr({},"__esModule",{value:!0}),i);var Dc={};Di(Dc,{AnyType:()=>jr,ApiBase:()=>Qe,ApiDocument:()=>Ie,ApiDocumentFactory:()=>$s,ApiField:()=>k,BUILTIN:()=>Ne,BadRequestError:()=>Co,Base64Type:()=>Rr,BaseI18n:()=>ea,BigintType:()=>Cr,BooleanType:()=>Ur,CLASS_NAME_PATTERN:()=>U,ComplexType:()=>H,ConflictError:()=>qo,DATATYPE_METADATA:()=>E,DECODER:()=>T,DECORATOR:()=>A,DataType:()=>g,DataTypeMap:()=>ee,DateStringType:()=>tt,DateTimeStringType:()=>it,DateTimeType:()=>rt,DateType:()=>et,DocumentElement:()=>R,DocumentInitContext:()=>fe,DocumentNode:()=>Tr,ENCODER:()=>O,EXTRACT_TYPENAME_PATTERN:()=>cr,EmailType:()=>Y,EnumType:()=>ue,FailedDependencyError:()=>Bo,FieldPathType:()=>G,FieldsProjection:()=>De,FilterType:()=>pe,ForbiddenError:()=>br,HTTP_CONTROLLER_METADATA:()=>ie,HttpApi:()=>Xe,HttpController:()=>te,HttpHeaderCodes:()=>go,HttpMediaType:()=>xe,HttpMultipartField:()=>xr,HttpOperation:()=>S,HttpOperationResponse:()=>Or,HttpParameter:()=>Dt,HttpRequestBody:()=>gr,HttpStatusCode:()=>b,HttpStatusMessages:()=>Kp,HttpStatusRange:()=>Nt,I18n:()=>Ot,IntegerType:()=>$e,InternalServerError:()=>zo,IssueSeverity:()=>ln,MappedType:()=>Se,MethodNotAllowedError:()=>Wo,MimeTypes:()=>I,MixinType:()=>Ye,NAMESPACE_PATTERN:()=>Li,NotAcceptableError:()=>Go,NotFoundError:()=>Xo,NullType:()=>qr,NumberType:()=>de,ObjectIdType:()=>Pr,ObjectType:()=>$r,OmitType:()=>Rc,OperationResult:()=>X,OpraDocumentError:()=>Je,OpraException:()=>ye,OpraFilter:()=>$t,OpraHttpError:()=>N,OpraSchema:()=>m,PartialType:()=>wc,PermissionError:()=>Ho,PickType:()=>Ac,RPC_CONTROLLER_METADATA:()=>oe,RequiredType:()=>bc,ResourceConflictError:()=>tn,ResourceNotAvailableError:()=>on,ResponsiveMap:()=>D,RpcApi:()=>He,RpcController:()=>Ke,RpcHeader:()=>or,RpcOperation:()=>nr,SimpleType:()=>u,StringType:()=>be,TimeType:()=>lt,UnauthorizedError:()=>sn,UnprocessableEntityError:()=>pn,UrlType:()=>kr,UuidType:()=>Yt,classes:()=>Bs,cloneObject:()=>v,getErrorStack:()=>wp,getStackFileName:()=>Rp,i18n:()=>Jr,inheritPropertyInitializers:()=>mr,isBlob:()=>Lp,isFormData:()=>vp,isReadable:()=>Sp,isReadableStream:()=>Mp,isStream:()=>zr,isURL:()=>Pp,isWritable:()=>Ip,kCtorMap:()=>lr,kDataTypeMap:()=>C,kTypeNSMap:()=>_e,mergePrototype:()=>ur,parse:()=>Fi,parseFieldsProjection:()=>Pi,resolveThunk:()=>le,safeJsonStringify:()=>Dp,translate:()=>w,uid:()=>np.uid});module.exports=fp(Dc);var t_=require("reflect-metadata");var Vr=require("@jsopen/objects");var m={};Di(m,{ComplexType:()=>dt,EnumType:()=>ht,HttpController:()=>pr,HttpOperation:()=>Si,MappedType:()=>yt,MixinType:()=>Tt,RpcController:()=>Ii,RpcOperation:()=>Mi,SimpleType:()=>Et,SpecVersion:()=>up,isComplexType:()=>dp,isDataType:()=>mp,isEnumType:()=>Ep,isHttpController:()=>_p,isMappedType:()=>Tp,isMixinType:()=>yp,isSimpleType:()=>hp});var up="1.0";var dt;(function(i){i.Kind="ComplexType"})(dt||(dt={}));var ht;(function(i){i.Kind="EnumType"})(ht||(ht={}));var yt;(function(i){i.Kind="MappedType"})(yt||(yt={}));var Tt;(function(i){i.Kind="MixinType"})(Tt||(Tt={}));var Et;(function(i){i.Kind="SimpleType"})(Et||(Et={}));var pr;(function(i){i.Kind="HttpController"})(pr||(pr={}));var Si;(function(i){i.Kind="HttpOperation"})(Si||(Si={}));var Ii;(function(i){i.Kind="RpcController"})(Ii||(Ii={}));var Mi;(function(i){i.Kind="RpcOperation"})(Mi||(Mi={}));function mp(i){return i&&typeof i=="object"&&(i.kind===dt.Kind||i.kind===ht.Kind||i.kind===yt.Kind||i.kind===Et.Kind||i.kind===Tt.Kind)}s(mp,"isDataType");function dp(i){return i&&typeof i=="object"&&i.kind===dt.Kind}s(dp,"isComplexType");function hp(i){return i&&typeof i=="object"&&i.kind===Et.Kind}s(hp,"isSimpleType");function yp(i){return i&&typeof i=="object"&&i.kind===Tt.Kind}s(yp,"isMixinType");function Tp(i){return i&&typeof i=="object"&&i.kind===yt.Kind}s(Tp,"isMappedType");function Ep(i){return i&&typeof i=="object"&&i.kind===ht.Kind}s(Ep,"isEnumType");function _p(i){return i&&typeof i=="object"&&i.kind===pr.Kind}s(_p,"isHttpController");var E=Symbol.for("opra.type.metadata"),ie=Symbol("opra.http-controller.metadata"),oe=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),O=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Ne=Symbol.for("BUILTIN"),Li=/([a-z$_]\w+):(.+)/i,U=/^[a-z][\w_]*$/i,cr=/^(.*)Type(\d*)$/,C=Symbol.for("kDataTypeMap"),lr=Symbol.for("kCtorMap"),_e=Symbol.for("kTypeNSMap");var xp=/^(.*)(Controller)$/,zs=[];function _t(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=xp.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(oe,Object.getPrototypeOf(r));a&&(0,Vr.merge)(n,a,{deep:!0});let p=Reflect.getOwnMetadata(oe,r);p&&(0,Vr.merge)(n,p,{deep:!0}),(0,Vr.merge)(n,{...i,kind:m.RpcController.Kind,name:o,path:o},{deep:!0}),Reflect.defineMetadata(oe,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(oe,n,r)},"decorator");return t.Header=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,type:o}:{...o,name:r};n.headers=n.headers||[],n.headers.push(a)}),t),t.UseType=(...r)=>(e.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),zs.forEach(r=>r(t,e,i)),t}s(_t,"RpcControllerDecoratorFactory");_t.augment=function(i){zs.push(i)};var Js=require("@jsopen/objects");var Ws=[];function fr(i,e,t){let r=!1,o=s((n,a)=>{if(typeof a!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.RpcOperation.Kind,channel:a,payloadType:e,...(0,Js.omit)(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(oe,n.constructor)||{};c.operations=c.operations||{},c.operations[a]=p;for(let l of i)l(p,n,a);Reflect.defineMetadata(oe,c,n.constructor)},"decorator");return o.UseType=(...n)=>(i.push(a=>{a.types=a.types||[],a.types.push(...n)}),o),o.Header=(n,a)=>(i.push(p=>{let c=typeof a=="string"||typeof a=="function"?{name:n,type:a}:{...a,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)}),o),o.Response=(n,a)=>(i.push(p=>{r=!0,p.response={...a,payloadType:n}}),o),Ws.forEach(n=>n(o,i,e,t)),o}s(fr,"RpcOperationDecoratorFactory");fr.augment=function(i){Ws.push(i)};BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});var Ys=require("@jsopen/objects"),Gs=ar(require("putil-promisify"),1);async function le(i){return i=Gs.default.isPromise(i)?await i:i,typeof i=="function"?(0,Ys.isConstructor)(i)?i:await i():i}s(le,"resolveThunk");var Qs=/^(?:file:\/\/)?(.+)$/;function Rp(i=1){if(i>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+i+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,o)=>o;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[i]?t[i].getFileName():void 0,o=r?Qs.exec(r):void 0;return o?o[1]:""}return""}s(Rp,"getStackFileName");function wp(i=1){if(i>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+i+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,o)=>o;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[i]?t[i].getFileName():void 0,o=r?Qs.exec(r):void 0;return o?o[1]:""}return""}s(wp,"getErrorStack");function ur(i,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}s(ur,"mergePrototype");function mr(i,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof i[n]>"u").filter(n=>t(n)).forEach(n=>{i[n]=r[n]})}catch{}}s(mr,"inheritPropertyInitializers");var dr=require("@jsopen/objects");function v(i,e){return(0,dr.merge)({},i,{deep:s(t=>(0,dr.isPlainObject)(t)&&!t[E],"deep"),copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let o=r[t];return!e||typeof o!="function"&&(typeof o!="object"||(0,dr.isPlainObject)(o)||Array.isArray(o))}})}s(v,"cloneObject");var vi=require("fast-tokenizer");var Ap=/^([+-])?([a-z_$]\w*)$/i,bp=/[^.]\(/g,ki=class ki{};s(ki,"FieldsProjection");var De=ki;(function(i){let t=class t{};s(t,"Item");let e=t;i.Item=e})(De||(De={}));function Pi(i,e){let t=Array.isArray(i)?i:[i];if(!(t&&t.length))return;let r=new De;for(let o of t)e||(o=o.toLowerCase()),Fi(o,r);return r}s(Pi,"parseFieldsProjection");function Fi(i,e){i=i.replace(bp,r=>r.charAt(0)+"."+r.substring(1));let t=(0,vi.splitString)(i,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let o=t[r];if(o.includes(",")){let c=(0,vi.splitString)(o,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)Fi(l,e);continue}let n=Ap.exec(o);if(!n)throw new TypeError(`Invalid field path (${i})`);let a=n[2],p=e[a]=e[a]||new De.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new De}}s(Fi,"parse");function Np(i){return i&&typeof i.forEach=="function"}s(Np,"isMap");var J=Symbol.for("kEntries"),he=Symbol.for("kKeyMap"),Kr=Symbol.for("kWellKnownKeys"),ji=Symbol.for("kOptions"),xt=Symbol.for("kSize"),Ci=class Ci{constructor(e,t){Object.defineProperty(this,xt,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,J,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,he,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Kr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,ji,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(o=>{r?this[Kr][o]=o:this[Kr][o.toLowerCase()]=o}),this.clear(),e&&this.setAll(e)}get size(){return this[xt]}clear(){Object.keys(this[J]).forEach(e=>delete this[J][e]),Object.keys(this[he]).forEach(e=>delete this[he][e]),this[xt]=0}forEach(e,t){for(let[r,o]of this.entries())e.call(t,o,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 o=Object.prototype.hasOwnProperty.call(this[J],r);return this[J][r]=t,o||this[xt]++,this[he][r]=e,this}setAll(e){return Np(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[he])[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[he][t],r||this[xt]--,r}sort(e){let t={...this[J]},r={...this[he]},o=Array.from(this.keys());e?o.sort(e):o.sort(),this.clear();for(let n of o)this[J][n]=t[n],this[he][n]=r[n];return this[xt]=o.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[he]))e[r]=this[J][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[ji].caseSensitive)return e;let t=this._getStoringKey(e);return this[he][t]??this[Kr][t]??e}_getStoringKey(e){return this[ji].caseSensitive?e:e.toLowerCase()}};s(Ci,"ResponsiveMap");var D=Ci;function Dp(i,e,t){let r=new WeakSet;return JSON.stringify(i,(o,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(o,n):n},t)}s(Dp,"safeJsonStringify");function zr(i){return i!==null&&typeof i=="object"&&typeof i.pipe=="function"}s(zr,"isStream");function Sp(i){return zr(i)&&typeof i._read=="function"&&typeof i._readableState=="object"}s(Sp,"isReadable");function Ip(i){return zr(i)&&typeof i._write=="function"}s(Ip,"isWritable");function Mp(i){return zr(i)&&typeof i.getReader=="function"&&typeof i.pipeThrough=="function"&&typeof i.pipeTo=="function"}s(Mp,"isReadableStream");function Lp(i){return i!==null&&typeof i=="object"&&typeof i.size=="number"&&typeof i.arrayBuffer=="function"&&typeof i.stream=="function"}s(Lp,"isBlob");function vp(i){return i!==null&&typeof i.constructor=="function"&&i.constructor.name==="FormData"&&typeof i.append=="function"&&typeof i.getAll=="function"}s(vp,"isFormData");function Pp(i){return i!==null&&typeof i=="object"&&typeof i.host=="string"&&typeof i.href=="string"}s(Pp,"isURL");var ta=require("@jsopen/objects");var Hs=ar(require("@browsery/i18next"),1),yr=require("fast-tokenizer");var Fp=/\\(.)/g,kp=/(\\)/g;function Xs(i){return i.replace(kp,"\\\\")}s(Xs,"escapeString");function Zs(i){return i.replace(Fp,"$1")}s(Zs,"unescapeString");var ea=Object.getPrototypeOf(Hs.default.createInstance()).constructor,hr=class hr extends ea{async init(e,t){let r=typeof e=="object"?e:{},o=typeof e=="function"?e:t;try{let n=await super.init(r,o),a=this.services.formatter;if(a.add("lowercase",(p,c)=>p.toLocaleLowerCase(c)),a.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),a.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 o&&o(null,n),n}catch(n){throw o&&o(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 hr(e,t)}static createInstance(e,t){return new hr(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 o="";for(let n of(0,yr.tokenize)(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 a=(0,yr.splitString)(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=Zs(n.substring((a[0]||"").length+1));n=a[0]||"";let c=[],l=null;for(let d of(0,yr.tokenize)(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(d.startsWith("{")){l=JSON.parse(d);continue}c.push(d)}let x=c.length>1?"$t("+c.join(",")+")":c[0];o+=p?this.t(x,p,{...r,...l}):this.t(x,{...r,...l});continue}o+=n}return o}if(Array.isArray(e)){let o=Array(e.length);t.set(e,o);for(let n=0,a=e.length;n<a;n++)o[n]=this._deepTranslate(e[n],t,r);return t.delete(e),o}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 o={};t.set(e,o);let n=Object.keys(e);for(let a=0,p=n.length;a<p;a++){let c=n[a];o[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),o}return e}static get defaultInstance(){return jp}};s(hr,"I18n");var Ot=hr,jp=Ot.createInstance();var Cp=/(\))/g;function w(i,e,t){let r=e&&typeof e=="object"?e:void 0,o=typeof e=="string"?e:t;return"$t("+i+(r?","+JSON.stringify(r):"")+(o?"?"+Xs(o).replace(Cp,"\\$1"):"")+")"}s(w,"translate");var Jr=Ot.createInstance();Jr.init().catch(()=>{});var Ui=class Ui 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 Jr.deep(this.message)}toJSON(){var t;let e="production";return(0,ta.omitUndefined)({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})}};s(Ui,"OpraException");var ye=Ui;var qi=class qi extends ye{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};s(qi,"OpraDocumentError");var Je=qi;var $i=class $i{constructor(e){this.path="",this.error=new Je,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(o){o!==this.error&&this.addError(o)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(o){o!==this.error&&this.addError(o)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};s($i,"DocumentInitContext");var fe=$i;var Hf=require("reflect-metadata"),Hi=require("@jsopen/objects"),la=require("ts-gems");var ra=require("@jsopen/objects");function Bi(i){return function(e){var o;let t;if(!(i!=null&&i.embedded))if(i!=null&&i.name){if(!U.test(i.name))throw new TypeError(`"${i.name}" is not a valid type name`);t=i.name}else t=((o=e.name.match(cr))==null?void 0:o[1])||e.name;let r=Reflect.getOwnMetadata(E,e);r||(r={},Reflect.defineMetadata(E,r,e)),r.kind=m.ComplexType.Kind,r.name=t,i&&Object.assign(r,(0,ra.omit)(i,["name"]))}}s(Bi,"ComplexTypeDecorator");var pa=require("@jsopen/objects"),ca=require("ts-gems");var ia=require("ts-gems"),oa=require("uid");var Vi=class Vi{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[_e])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e){var r;let t=(r=this[C])==null?void 0:r.has(e);return t||(this.parent?this.parent.hasDataType(e):!1)}findDataType(e){var r;let t=(r=this[C])==null?void 0:r.get(e);return t||(this.parent?this.parent.findDataType(e):void 0)}getDataType(e){let t=this.findDataType(e);if(t)return t;let r="";if(typeof e=="function")r=Reflect.getMetadata(E,e).name;else if(typeof e=="object"){let o=e[E];r=o==null?void 0:o.name}throw r||(e&&typeof e=="string"?r=e:typeof e=="function"&&(r=e.name)),new TypeError("Unknown data type"+(r?" ("+r+")":""))}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getComplexType(e){let t=this.getDataType(e);if(t.kind===m.ComplexType.Kind)return t;throw new TypeError(`Data type "${t.name}" is not a ComplexType`)}getSimpleType(e){let t=this.getDataType(e);if(t.kind===m.SimpleType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a SimpleType`)}getEnumType(e){let t=this.getDataType(e);if(t.kind===m.EnumType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a EnumType`)}getMappedType(e){let t=this.getDataType(e);if(t.kind===m.MappedType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a MappedType`)}getMixinType(e){let t=this.getDataType(e);if(t.kind===m.MixinType.Kind)return t;throw new TypeError(`Data type "${t.name||t}" is not a MixinType`)}};s(Vi,"DocumentNode");var Tr=Vi;var R=s(function(i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=(0,ia.asMutable)(this);e.id=(0,oa.uid)(16),Object.defineProperty(e,"node",{value:new Tr(this,i==null?void 0:i.node),enumerable:!1,writable:!0}),i&&Object.defineProperty(e,"owner",{value:i,enumerable:!1,writable:!0})},"DocumentElement"),zi=class zi{};s(zi,"DocumentElementClass");var Ki=zi;R.prototype=Ki.prototype;function Ji(i){return function(e,t){if(typeof t!="string")throw new TypeError("Symbol properties can't be used as a field");let r=Reflect.getOwnMetadata(E,e.constructor)||{};r.kind=m.ComplexType.Kind,r.fields=r.fields||{};let o=Reflect.getMetadata("design:type",e,t),n=r.fields[t]={...i};o===Array?n.isArray=!0:n.type=n.type||o,Reflect.defineMetadata(E,r,e.constructor)}}s(Ji,"ApiFieldDecorator");var aa=require("ts-gems"),W=require("valgen");var na=require("@jsopen/objects"),sa=require("ts-gems");var gt=Symbol.for("nodejs.util.inspect.custom"),We="\x1B[0m",Rt="\x1B[33m",wt="\x1B[35m";var g=s(function(i,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!U.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);R.call(this,i);let r=(0,sa.asMutable)(this);r.kind=e.kind,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),Yi=class Yi extends R{get embedded(){return!this.name}toJSON(){return(0,na.omitUndefined)({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[gt](){return`[${Rt+Object.getPrototypeOf(this).constructor.name+We} ${wt+this.name+We}]`}};s(Yi,"DataTypeClass");var Wi=Yi;g.prototype=Wi.prototype;var Up=/^([+-])?([a-z$_][\w.]*)$/i,M=s(function(...i){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;g.call(this,e,t,r);let o=(0,aa.asMutable)(this);o.fields=new D},"ComplexTypeBase"),Qi=class Qi extends g{findField(e){if(e.includes(".")){let r=this.parseFieldPath(e).pop();return r==null?void 0:r.field}return this.fields.get(e)}getField(e){let t=this.findField(e);if(!t)throw new Error(w("error:UNKNOWN_FIELD",{field:e}));return t}parseFieldPath(e,t){var d,K,Vs;let r=this,o,n=e.split("."),a=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,x=s(()=>p.map(ze=>ze.fieldName).join("."),"getStrPath");for(let ze=0;ze<a;ze++){let Z={fieldName:n[ze],dataType:c};p.push(Z);let Br=Up.exec(n[ze]);if(!Br)throw new TypeError(`Invalid field name (${x()})`);if(Br[1]&&((ze===0&&l==="first"||l==="each")&&(Z.sign=Br[1]),Z.fieldName=Br[2]),r){if(r instanceof M){if(o=r.fields.get(Z.fieldName),o){Z.fieldName=o.name,Z.field=o,Z.dataType=o.type,r=o.type;continue}if(((d=r.additionalFields)==null?void 0:d[0])===!0){Z.additionalField=!0,Z.dataType=c,r=void 0;continue}if(((K=r.additionalFields)==null?void 0:K[0])==="type"&&((Vs=r.additionalFields)==null?void 0:Vs[1])instanceof g){Z.additionalField=!0,Z.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(Ni=>Ni.fieldName).join(".")})`)}throw new TypeError(`"${p.map(Ni=>Ni.fieldName).join(".")}" field is not a complex type and has no child fields`)}Z.additionalField=!0,Z.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){let r=Array.isArray(t==null?void 0:t.projection)?Pi(t.projection):t==null?void 0:t.projection,o=this._generateSchema(e,{...t,projection:r,currentPath:""}),n;if(this.additionalFields instanceof g)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 a=n[1];n=(0,W.validator)((p,c,l)=>c.fail(l,a,p))}return W.vg.isObject(o,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail})}_generateSchema(e,t){var c;let r={},{currentPath:o,projection:n}=t,a=!!(n&&Object.values(n).find(l=>!l.sign)),p;for(let l of this.fields.values()){if(t.ignoreReadonlyFields&&l.readonly||t.ignoreWriteonlyFields&&l.writeonly||t.ignoreHiddenFields&&l.hidden){r[l.name]=W.vg.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)==="-"||a&&!x||!a&&l.exclusive&&!x)){r[l.name]=W.vg.isUndefined({coerce:!0});continue}let d=this._generateFieldCodec(e,l,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,currentPath:o+(o?".":"")+p});r[p]=t.partial||!l.required?W.vg.optional(d):W.vg.required(d)}return t.allowPatchOperators&&(r._$pull=W.vg.optional(W.vg.isAny()),r._$push=W.vg.optional(W.vg.isAny())),r}_generateFieldCodec(e,t,r){let o=t.type.generateCodec(e,r);return t.fixed&&(o=W.vg.isEnum([t.fixed])),t.isArray&&(o=W.vg.isArray(o)),o}};s(Qi,"ComplexTypeBaseClass");var Gi=Qi;M.prototype=Gi.prototype;var k=s(function(...i){if(!this){let[n]=i;return k[A](n)}let[e,t]=i;R.call(this,e);let r=(0,ca.asMutable)(this);r.name=t.name;let o=t.origin||e;if(!(o instanceof M))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=o,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,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.hidden=t.hidden},"ApiField"),Zi=class Zi extends R{toJSON(){var t;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,pa.omitUndefined)({type:e||((t=this.type)==null?void 0:t.toJSON()),description:this.description,isArray:this.isArray||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})}};s(Zi,"ApiFieldClass");var Xi=Zi;k.prototype=Xi.prototype;Object.assign(k,Ji);k[A]=Ji;var H=s(function(...i){var n;if(!this)return H[A].apply(void 0,i);let[e,t]=i,r=i[2]||new fe({maxErrors:0});M.call(this,e,t,r);let o=(0,la.asMutable)(this);o.kind=m.ComplexType.Kind,t.base&&r.enter(".base",()=>{if(!(t.base instanceof M))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.additionalFields=o.base.additionalFields,o.keyField=o.base.keyField;for(let a of o.base.fields.values())this.fields.set(a.name,new k(this,a))}),t.additionalFields!==void 0&&(o.additionalFields=t.additionalFields),t.keyField!==void 0&&(o.keyField=t.keyField),o.ctor=t.ctor||((n=o.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[a,p]of Object.entries(t.fields)){let c=new k(this,{...p,name:a});this.fields.set(c.name,c)}})},"ComplexType"),to=class to extends M{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof M?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,t=(0,Hi.omitUndefined)({...M.prototype.toJSON.call(this),kind:this.kind,base:this.base?e||this.base.toJSON():void 0});if(this.additionalFields)if(this.additionalFields instanceof g){let r=this.node.getDataTypeNameWithNs(this.additionalFields);t.additionalFields=r||this.additionalFields.toJSON()}else t.additionalFields=this.additionalFields;if(this.fields.size){let r={},o=0;for(let n of this.fields.values())n.origin===this&&(r[n.name]=n.toJSON(),o++);o&&(t.fields=r)}return(0,Hi.omitUndefined)(t)}};s(to,"ComplexTypeClass");var eo=to;H.prototype=eo.prototype;Object.assign(H,Bi);H[A]=Bi;var cu=require("reflect-metadata"),Wr=require("@jsopen/objects"),fa=require("ts-gems"),ua=require("valgen");var ue=s(function(...i){if(!this)return ue[A].apply(void 0,i);let[e,t,r]=i;g.call(this,e,t,r);let o=(0,fa.asMutable)(this);if(o.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof ue))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${o.kind}"`);o.base=t.base}o.instance=t.instance,o.ownAttributes=v(t.attributes||{}),o.attributes=o.base?v(o.base.attributes):{};for(let[n,a]of Object.entries(o.ownAttributes))o.attributes[n]=a},"EnumType"),ro=class ro extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof ue?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return ua.vg.isEnum(Object.keys(this.attributes))}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,Wr.omitUndefined)({...g.prototype.toJSON.call(this),base:this.base?e||this.base.toJSON():void 0,attributes:v(this.ownAttributes)})}};s(ro,"EnumTypeClass");var Er=ro;ue.prototype=Er.prototype;Object.assign(ue,Er);function qp(i,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],o={},n=i;if(Array.isArray(i)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...i]}o={},i.forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];o[p]=(0,Wr.omitUndefined)({description:c})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...i}}Object.keys(i).forEach(p=>{var l;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];o[i[p]]=(0,Wr.omitUndefined)({alias:p,description:c})})}let a={kind:m.EnumType.Kind,attributes:o,base:r.base,name:r.name,description:r==null?void 0:r.description};return Object.defineProperty(i,E,{value:a,enumerable:!1,configurable:!0,writable:!0}),n}s(qp,"EnumTypeFactory");ue.prototype=Er.prototype;ue[A]=qp;var Eu=require("reflect-metadata"),ma=require("@jsopen/objects"),da=require("ts-gems");function Yr(i,e){let t=i==null?void 0:i.map(o=>String(o).toLowerCase()),r=e==null?void 0:e.map(o=>String(o).toLowerCase());return o=>r&&r.includes(o.toLowerCase())?!1:t?t.includes(o.toLowerCase()):!0}s(Yr,"getIsInheritedPredicateFn");var Se=s(function(...i){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=i;M.call(this,e,t,r);let o=(0,da.asMutable)(this);if(o.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof M))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);o.base=t.base,o.ctor=t.ctor||o.base.ctor,t.pick?o.pick=t.pick.map(l=>o.base.normalizeFieldPath(l)):t.omit?o.omit=t.omit.map(l=>o.base.normalizeFieldPath(l)):t.partial?o.partial=Array.isArray(t.partial)?t.partial.map(l=>o.base.normalizeFieldPath(l)):t.partial:t.required&&(o.required=Array.isArray(t.required)?t.required.map(l=>o.base.normalizeFieldPath(l)):t.required);let a=Yr(o.pick,o.omit),p=Array.isArray(o.partial)?o.partial.map(l=>l.toLowerCase()):o.partial,c=Array.isArray(o.required)?o.required.map(l=>l.toLowerCase()):o.required;for(let[l,x]of o.base.fields.entries()){if(!a(l))continue;let d={...x};p===!0||Array.isArray(p)&&p.includes(x.name.toLowerCase())?d.required=!1:(c===!0||Array.isArray(c)&&c.includes(x.name.toLowerCase()))&&(d.required=!0);let K=new k(this,d);o.fields.set(K.name,K)}(!o.pick||o.base.additionalFields===!1||Array.isArray(o.base.additionalFields)&&((n=o.base.additionalFields)==null?void 0:n[0])==="error")&&(o.additionalFields=o.base.additionalFields),t.base.keyField&&a(t.base.keyField)&&(o.keyField=t.base.keyField)}},"MappedType"),oo=class oo extends M{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof M?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(){let e=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,ma.omitUndefined)({...M.prototype.toJSON.call(this),base:e||this.base.toJSON(),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required})}};s(oo,"MappedTypeClass");var io=oo;Se.prototype=io.prototype;Se._applyMixin=()=>{};var bu=require("reflect-metadata"),ha=require("@jsopen/objects"),ya=require("ts-gems");var Ye=s(function(...i){if(!this)return Ye[A].apply(void 0,i);let[e,t,r]=i;M.call(this,e,t,r);let o=(0,ya.asMutable)(this);o.kind=m.MixinType.Kind,o.types=[];for(let n of t.types){o.additionalFields!==!0&&(n.additionalFields===!0?o.additionalFields=!0:o.additionalFields||(o.additionalFields=n.additionalFields));for(let a of n.fields.values()){let p=new k(this,a);o.fields.set(p.name,p)}o.types.push(n),n.keyField&&(o.keyField=n.keyField)}},"MixinType"),so=class so extends M{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof M))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(){return(0,ha.omitUndefined)({...M.prototype.toJSON.call(this),kind:this.kind,types:this.types.map(e=>{let t=this.node.getDataTypeNameWithNs(e);return t||e.toJSON()})})}};s(so,"MixinTypeClass");var no=so;Ye.prototype=no.prototype;Ye[A]=$p;function $p(...i){let e=i.filter(a=>typeof a=="function"),t=typeof i[i.length-1]=="object"?i[i.length-1]:void 0;if(!e.length)throw new TypeError("No Class has been provided");if(e.length===1)return e[0];let r=e[0].name+"Mixin",o={[r]:class{constructor(){for(let a of e)mr(this,a)}}}[r],n={...t,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(E,n,o);for(let a of e){let p=Reflect.getMetadata(E,a);if(!(p&&(p.kind===m.ComplexType.Kind||p.kind===m.MixinType.Kind||p.kind===m.MappedType.Kind)))throw new TypeError(`Class "${a.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);n.types.push(a),ur(o.prototype,a.prototype)}return o}s($p,"MixinTypeFactory");var qu=require("reflect-metadata"),Gr=require("@jsopen/objects"),Ea=require("ts-gems"),po=require("valgen");function ao(i){let e=[],t=s(function(r){var a;let o;if(!(i!=null&&i.embedded))if(i!=null&&i.name){if(!U.test(i.name))throw new TypeError(`"${i.name}" is not a valid type name`);o=i.name}else o=((a=r.name.match(cr))==null?void 0:a[1])||r.name,o=o.toLowerCase();let n=Reflect.getOwnMetadata(E,r)||{};i&&Object.assign(n,i),n.kind=m.SimpleType.Kind,n.name=o,Reflect.defineMetadata(E,n,r)},"decorator");return t.Example=(r,o)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:o,value:r})}),t),t}s(ao,"SimpleTypeDecoratorFactory");function Ta(i){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(E,e.constructor)||{},o=Reflect.getMetadata("design:type",e,t),n="string";o===Boolean?n="boolean":o===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(i==null?void 0:i.format)||n,description:i==null?void 0:i.description,deprecated:i==null?void 0:i.deprecated},Reflect.defineMetadata(E,r,e.constructor)}}s(Ta,"AttributeDecoratorFactory");var u=s(function(...i){var n,a;if(!this)return u[A](...i);let[e,t,r]=i;g.call(this,e,t,r);let o=(0,Ea.asMutable)(this);if(o.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}"`);o.base=t.base}if(o.properties=t.properties,o.ownNameMappings={...t.nameMappings},o.nameMappings={...(n=o.base)==null?void 0:n.nameMappings,...t.nameMappings},o.ownAttributes=v(t.attributes||{}),o.attributes=o.base?v(o.base.attributes):{},o.ownAttributes)for(let[p,c]of Object.entries(o.ownAttributes)){if((a=o.attributes[p])!=null&&a.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);o.attributes[p]=c}o._generateDecoder=t.generateDecoder,o._generateEncoder=t.generateEncoder},"SimpleType"),lo=class lo extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let o={...this.properties,...r};if(e==="decode"){let a=this;for(;a;){if(a._generateDecoder)return a._generateDecoder(o,(t==null?void 0:t.documentElement)||this.owner);a=this.base}return po.isAny}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(o,(t==null?void 0:t.documentElement)||this.owner);n=this.base}return po.isAny}toJSON(){let e=(0,Gr.omitUndefined)(this.ownAttributes),t;this.properties&&typeof this.properties.toJSON=="function"?t=this.properties.toJSON(this.properties,this.owner):t=this.properties?v(this.properties):{};let r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,o=(0,Gr.omitUndefined)({...g.prototype.toJSON.apply(this),base:this.base?r||this.base.toJSON():void 0,attributes:e&&Object.keys(e).length?e:void 0,properties:Object.keys(t).length?t:void 0});return Object.keys(this.ownNameMappings).length&&(o.nameMappings={...this.ownNameMappings}),(0,Gr.omitUndefined)(o,!0)}};s(lo,"SimpleTypeClass");var co=lo;u.prototype=co.prototype;Object.assign(u,ao);u[A]=ao;u.Attribute=Ta;var fo=Symbol("initializing"),Qr=class Qr{static async createDataType(e,t,r){e=e||new fe({maxErrors:0});let o=await this._importDataTypeArgs(e,t,r);if(o)return typeof o=="string"?t.node.getDataType(o):this._createDataType(e,t,o)}static async resolveDataType(e,t,r){if(r){let o=t.node.findDataType(r);if(o)return o}if(typeof r=="object"||typeof r=="function"){let o=await Qr.createDataType(e,t,r);if(o)return o}if(r){let o=t.node.getDataType(r);if(o)return o}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let o=t.node[C];if(!o)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let a of n)a!=null&&a.name&&o.set(a.name,a)}static async createAllDataTypes(e,t,r){e=e||new fe({maxErrors:0});let o=await this._prepareAllInitArgs(e,t,r);if(!o)return;let n=new D;for(let c of o)n.set(c.name,c);let a=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let x=this._createDataType(a,t,l);x&&p.push(x)});return p}static async _prepareAllInitArgs(e,t,r){let o=new D,n=new D,a=e.extend({owner:t,importQueue:o,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 a.enterAsync(`$[${p++}]`,async()=>{c=await le(c);let l=Reflect.getMetadata(E,c)||c[E];if(!(l&&l.name))return typeof c=="function"?a.addError(`Class "${c.name}" doesn't have a valid data type metadata`):a.addError("Object doesn't have a valid data type metadata");o.set(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await le(p),o.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(o.keys())){if(!o.has(p))continue;let c=await this._importDataTypeArgs(a,t,p);c&&typeof c!="string"&&a.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r){var x;r=await le(r);let{importQueue:o,initArgsMap:n}=e,a=t.node.findDataType(r);if(a instanceof g)return a.name;let p,c,l;if(typeof r!="string"){let K=t.node.getDocument().types[lr].get(r);K&&(r=K)}if(typeof r=="string"){let d=r;if(r=(o==null?void 0:o.get(d))||((x=e.initArgsMap)==null?void 0:x.get(d)),!r)return e.addError(`Unknown data type (${d})`)}if(typeof r=="function"){if(p=Reflect.getMetadata(E,r),!p)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);c=r}else if(typeof r=="object"){if(p=r[E],p)l=r,p.kind!==m.EnumType.Kind&&(p=void 0);else if(m.isDataType(r))p=r,c=p.ctor;else if(c=Object.getPrototypeOf(r).constructor,p=c&&Reflect.getMetadata(E,c),p&&p.kind===m.SimpleType.Kind){let d=await this._importDataTypeArgs(e,t,p.name);return d?typeof d=="object"&&d.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:d,properties:r}:void 0}}return p?e.enterAsync(p.name?`[${p.name}]`:"",async()=>{if(p.name){let K=n==null?void 0:n.get(p.name);if(K)return K[fo]?e.addError("Circular reference detected"):p.name}let d={kind:p.kind,name:p.name};d[fo]=!0;try{if(d.name)if(o!=null&&o.has(d.name))n==null||n.set(p.name,d),d._instance={name:p.name},d[C]=t.node[C];else return e.addError(`Data Type (${d.name}) must be explicitly added to type list in the document scope`);switch(d.kind){case m.ComplexType.Kind:d.ctor=c,await this._prepareComplexTypeArgs(e,t,d,p);break;case m.EnumType.Kind:d.instance=l,await this._prepareEnumTypeArgs(e,t,d,p);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,d,p);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,d,p);break;case m.SimpleType.Kind:d.ctor=c,await this._prepareSimpleTypeArgs(e,t,d,p);break;default:return e.addError(`Invalid data type kind ${p.kind}`)}}finally{d.name&&(o==null||o.delete(d.name)),delete d[fo]}return o&&d.name?d.name:d}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples}static async _prepareComplexTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),r.keyField=o.keyField,await e.enterAsync(".base",async()=>{let n;if(o.base)n=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let a=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=Ge(n),r.ctor=r.ctor||n.ctor)}),o.additionalFields!=null&&(typeof o.additionalFields=="boolean"||Array.isArray(o.additionalFields)?r.additionalFields=o.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,o.additionalFields);n&&(r.additionalFields=Ge(n))})),o.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,a]of Object.entries(o.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof a=="string"?{type:a}:a;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:Ge(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),o.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,o.base);n&&(r.base=Ge(n))}),r.attributes=v(o.attributes)}static async _prepareSimpleTypeArgs(e,t,r,o){var n,a,p,c;await this._prepareDataTypeArgs(e,r,o),await e.enterAsync(".base",async()=>{let l;if(o.base)l=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let x=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,x)&&(l=await this._importDataTypeArgs(e,t,x))}l&&(r.base=Ge(l),r.ctor=r.ctor||l.ctor)}),r.properties=o.properties,r.nameMappings=o.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),o.attributes&&(r.attributes=v(o.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(a=r.properties)==null?void 0:a[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,o){await this._prepareDataTypeArgs(e,r,o),await e.enterAsync(".base",async()=>{let n;if(o.base)n=await this._importDataTypeArgs(e,t,o.base);else if(r.ctor){let a=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(E,a)&&(n=await this._importDataTypeArgs(e,t,a))}n&&(r.base=Ge(n),r.ctor=r.ctor||n.ctor)}),o.pick?r.pick=[...o.pick]:o.omit?r.omit=[...o.omit]:o.partial?r.partial=Array.isArray(o.partial)?[...o.partial]:o.partial:o.required&&(r.required=Array.isArray(o.required)?[...o.required]:o.required)}static async _prepareMixinTypeArgs(e,t,r,o){await this._prepareDataTypeArgs(e,r,o),r.types=[],await e.enterAsync(".types",async()=>{let n=o.types,a=0;for(let p of n)await e.enterAsync(`[${a++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Ge(c))})})}static _createDataType(e,t,r){var a;let o=t.node.findDataType(typeof r=="string"?r:r.name||"");if(o instanceof g)return o;let n=typeof r=="string"?(a=e.initArgsMap)==null?void 0:a.get(r):r;if(n){let p=n[C];switch(p||delete n._instance,o=n._instance,o!=null&&o.name&&p&&p.set(o.name,o),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);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,H.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[a,p]of Object.entries(r.fields))e.enter(`[${a}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[a]={...p,name:a,type:c})})}),H.apply(o,[t,n]),o}static _createEnumType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,ue.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,ue.apply(o,[t,n]),o}static _createMappedType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,Se.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),Se.apply(o,[t,n]),o}static _createMixinType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,Ye.prototype);let n=v(r);return r.types&&e.enter(".types",()=>{n.types=[];let a=0;for(let p of r.types)e.enter(`[${a++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof M))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),Ye.apply(o,[t,n]),o}static _createSimpleType(e,t,r){let o=r._instance||{};Object.setPrototypeOf(o,u.prototype);let n=v(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(o,[t,n]),o}};s(Qr,"DataTypeFactory");var L=Qr;function Ge(i){return typeof i=="object"&&i.name?i.name:i}s(Ge,"preferName");var Ca=require("@jsopen/objects");var _a=require("@jsopen/objects");var uo=class uo extends R{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(){return(0,_a.omitUndefined)({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!U.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};s(uo,"ApiBase");var Qe=uo;var ga=ar(require("path-browserify"),1),Ra=require("@jsopen/objects"),wa=require("ts-gems");var xa,Oa,ne=Symbol.for("kMap"),_r=Symbol.for("kCtorMap"),mo=class mo{constructor(){this[xa]=new D,this[Oa]=new WeakMap}get size(){return this[ne].size}forEach(e,t){this[ne].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[_r].get(e);if(!t&&typeof e=="function"){let r=Reflect.getMetadata(E,e);t=r==null?void 0:r.name}if(!t&&typeof e=="object"){let r=e[E];t=r==null?void 0:r.name}return t?this[ne].get(t):void 0}set(e,t){this[ne].set(e,t),t.ctor?this[_r].set(t.ctor,e):t.instance&&this[_r].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[ne].has(e.name);let t=typeof e=="string"?e:this[_r].get(e);return t?this[ne].has(t):!1}keys(){return this[ne].keys()}values(){return this[ne].values()}entries(){return this[ne].entries()}sort(e){return this[ne].sort(e),this}[(xa=ne,Oa=_r,Symbol.iterator)](){return this[ne][Symbol.iterator]()}};s(mo,"DataTypeMap");var ee=mo;var At=require("@jsopen/objects");var Vp=/^(.*)(Controller)$/;function ho(i){let e=[],t=s(function(r){var c;let o=i==null?void 0:i.name;o||(o=((c=Vp.exec(r.name))==null?void 0:c[1])||r.name);let n={},a=Reflect.getOwnMetadata(ie,Object.getPrototypeOf(r));a&&(0,At.merge)(n,a,{deep:!0});let p=Reflect.getOwnMetadata(ie,r);p&&(0,At.merge)(n,p,{deep:!0}),(0,At.merge)(n,{kind:m.HttpController.Kind,name:o,path:o,...(0,At.omit)(i,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(ie,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(ie,n,r)},"decorator");return t.Cookie=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"cookie",type:o}:{...o,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.Header=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"header",type:o}:{...o,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.QueryParam=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"query",type:o}:{...o,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.PathParam=(r,o)=>(e.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o}:{...o,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.KeyParam=(r,o)=>(e.push(n=>{var p;(p=n.path)!=null&&p.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o,keyParam:!0}:{...o,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(a)}),t),t.UseType=(...r)=>(e.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),t}s(ho,"HttpControllerDecoratorFactory");var te=s(function(...i){var o;if(!this)return te[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,wa.asMutable)(this);r.kind=m.HttpController.Kind,r.types=r.node[C]=new ee,r.operations=new D,r.controllers=new D,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,(o=r._initialize)==null||o.call(r,t)},"HttpController"),To=class To extends R{get isRoot(){return!(this.owner instanceof te)}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(),o;for(o of this.parameters)if(!(t&&t!==o.location)&&(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e)))return o;if(this.node.parent&&this.node.parent.element instanceof te)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return ga.default.posix.join(this.owner instanceof te?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(){let e=(0,Ra.omitUndefined)({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.controllers.size){e.controllers={};for(let t of this.controllers.values())e.controllers[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.parameters.length){e.parameters=[];for(let t of this.parameters)e.parameters.push(t.toJSON())}return e}[gt](){return`[${Rt}HttpController${wt+this.name+We}]`}};s(To,"HttpControllerClass");var yo=To;te.prototype=yo.prototype;Object.assign(te,ho);te[A]=ho;var Eo=class Eo extends Qe{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new D,this.url=e.url}findController(e){return te.prototype.findController.call(this,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,url:this.url,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};s(Eo,"HttpApi");var Xe=Eo;var Aa=ar(require("@browsery/type-is"),1),ba=require("@jsopen/objects"),Na=require("ts-gems"),Xr=require("valgen");var xe=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=(0,Na.asMutable)(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(o=>o.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 g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),xo=class xo 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(){var r,o;let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,t=(0,ba.omitUndefined)({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:e||((r=this.type)==null?void 0:r.toJSON()),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(o=this.multipartFields)!=null&&o.length&&(t.multipartFields=this.multipartFields.map(n=>n.toJSON())),t}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=>Aa.default.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||Xr.isAny,this.isArray?Xr.vg.isArray(r):r}};s(xo,"HttpMediaTypeClass");var _o=xo;xe.prototype=_o.prototype;var Da=require("@jsopen/objects");function bt(i,e){let t=i.lastIndexOf("/");if(i.startsWith("/")&&t){let r=i.substring(1,t),o=i.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e==null?void 0:e.includeFlags)o.includes(n)||(o+=n);if(e!=null&&e.excludeFlags)for(let n of e==null?void 0:e.excludeFlags)o.replace(n,"");return new RegExp(r,o)}throw new TypeError(`"${i}" is not a valid RegExp string`)}s(bt,"parseRegExp");var Oo=class Oo extends xe{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(){return(0,Da.omitUndefined)({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON()})}};s(Oo,"HttpMultipartField");var xr=Oo;var Sa=ar(require("path-browserify"),1),Ia=require("@jsopen/objects"),Ma=require("ts-gems");var go;(function(i){i.X_Opra_Version="X-Opra-Version",i.X_Total_Count="X-Total-Count",i.WWW_Authenticate="WWW-Authenticate",i.Authorization="Authorization",i.Proxy_Authenticate="Proxy-Authenticate",i.Proxy_Authorization="Proxy-Authorization",i.Age="Age",i.Cache_Control="Cache-Control",i.Clear_Site_Data="Clear-Site-Data",i.Expires="Expires",i.Pragma="Pragma",i.Last_Modified="Last-Modified",i.ETag="ETag",i.If_Match="If-Match",i.If_None_Match="If-None-Match",i.If_Modified_Since="If-Modified-Since",i.If_Unmodified_Since="If-Unmodified-Since",i.Vary="Vary",i.Connection="Connection",i.Keep_Alive="Keep-Alive",i.Accept="Accept",i.Accept_Encoding="Accept-Encoding",i.Accept_Language="Accept-Language",i.Expect="Expect",i.Cookie="Cookie",i.Set_Cookie="Set-Cookie",i.Access_Control_Allow_Origin="Access-Control-Allow-Origin",i.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",i.Access_Control_Allow_Headers="Access-Control-Allow-Headers",i.Access_Control_Allow_Methods="Access-Control-Allow-Methods",i.Access_Control_Expose_Headers="Access-Control-Expose-Headers",i.Access_Control_Max_Age="Access-Control-Max-Age",i.Access_Control_Request_Headers="Access-Control-Request-Headers",i.Access_Control_Request_Method="Access-Control-Request-Method",i.Origin="Origin",i.Timing_Allow_Origin="Timing-Allow-Origin",i.Content_Disposition="Content-Disposition",i.Content_ID="Content-ID",i.Content_Length="Content-Length",i.Content_Type="Content-Type",i.Content_Transfer_Encoding="Content-Transfer-Encoding",i.Content_Encoding="Content-Encoding",i.Content_Language="Content-Language",i.Content_Location="Content-Location",i.Forwarded="Forwarded",i.X_Forwarded_For="X-Forwarded-For",i.X_Forwarded_Host="X-Forwarded-Host",i.X_Forwarded_Proto="X-Forwarded-Proto",i.Via="Via",i.Location="Location",i.From="From",i.Host="Host",i.Referer="Referer",i.Referrer_Policy="Referrer-Policy",i.User_Agent="User-Agent",i.Allow="Allow",i.Server="Server",i.Accept_Ranges="Accept-Ranges",i.Range="Range",i.If_Range="If-Range",i.Content_Range="Content-Range",i.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",i.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",i.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",i.Content_Security_Policy="Content-Security-Policy",i.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",i.Expect_CT="Expect-CT",i.Feature_Policy="Feature-Policy",i.Strict_Transport_Security="Strict-Transport-Security",i.Upgrade="Upgrade",i.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",i.X_Content_Type_Options="X-Content-Type-Options",i.X_Download_Options="X-Download-Options",i.X_Frame_Options="X-Frame-Options",i.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",i.X_Powered_By="X-Powered-By",i.X_XSS_Protection="X-XSS-Protection",i.Transfer_Encoding="Transfer-Encoding",i.TE="TE",i.Trailer="Trailer",i.Sec_WebSocket_Key="Sec-WebSocket-Key",i.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",i.Sec_WebSocket_Accept="Sec-WebSocket-Accept",i.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",i.Sec_WebSocket_Version="Sec-WebSocket-Version",i.Date="Date",i.Retry_After="Retry-After",i.Server_Timing="Server-Timing",i.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",i.Max_Forwards="Max-Forwards"})(go||(go={}));var b;(function(i){i[i.CONTINUE=100]="CONTINUE",i[i.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",i[i.PROCESSING=102]="PROCESSING",i[i.EARLYHINTS=103]="EARLYHINTS",i[i.OK=200]="OK",i[i.CREATED=201]="CREATED",i[i.ACCEPTED=202]="ACCEPTED",i[i.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",i[i.NO_CONTENT=204]="NO_CONTENT",i[i.RESET_CONTENT=205]="RESET_CONTENT",i[i.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",i[i.AMBIGUOUS=300]="AMBIGUOUS",i[i.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",i[i.FOUND=302]="FOUND",i[i.SEE_OTHER=303]="SEE_OTHER",i[i.NOT_MODIFIED=304]="NOT_MODIFIED",i[i.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",i[i.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",i[i.BAD_REQUEST=400]="BAD_REQUEST",i[i.UNAUTHORIZED=401]="UNAUTHORIZED",i[i.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",i[i.FORBIDDEN=403]="FORBIDDEN",i[i.NOT_FOUND=404]="NOT_FOUND",i[i.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",i[i.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",i[i.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",i[i.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",i[i.CONFLICT=409]="CONFLICT",i[i.GONE=410]="GONE",i[i.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",i[i.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",i[i.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",i[i.URI_TOO_LONG=414]="URI_TOO_LONG",i[i.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",i[i.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",i[i.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",i[i.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",i[i.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",i[i.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",i[i.LOCKED=423]="LOCKED",i[i.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",i[i.TOO_EARLY=425]="TOO_EARLY",i[i.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",i[i.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",i[i.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",i[i.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",i[i.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",i[i.BAD_GATEWAY=502]="BAD_GATEWAY",i[i.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",i[i.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",i[i.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",i[i.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",i[i.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",i[i.LOOP_DETECTED=508]="LOOP_DETECTED",i[i.NOT_EXTENDED=510]="NOT_EXTENDED",i[i.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(b||(b={}));var Kp={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 I;(function(i){i.json="application/json",i.opra_response_json="application/opra.response+json",i.xml="application/XML",i.text="text/plain",i.html="text/html",i.markdown="text/markdown",i.binary="binary/octet-stream"})(I||(I={}));function q(i,e){let t=s((r,o)=>{if(typeof o!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},a=Reflect.getOwnMetadata(ie,r.constructor)||{};a.operations=a.operations||{},a.operations[o]=n;for(let p of i)p(n);Reflect.defineMetadata(ie,a,r.constructor)},"decorator");return t.Cookie=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"cookie",type:o}:{...o,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(a)}),t),t.Header=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"header",type:o}:{...o,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(a)}),t),t.QueryParam=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"query",type:o}:{...o,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(a)}),t),t.PathParam=(r,o)=>(i.push(n=>{let a=typeof o=="string"||typeof o=="function"?{name:r,location:"path",type:o}:{...o,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(a)}),t),t.Response=(r,o)=>{let n={...o,statusCode:r};return n.type&&(n.contentType=n.contentType||I.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===I.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),i.push(a=>{a.responses=a.responses||[],a.responses.push(n)}),t},t.RequestContent=function(r){let o=typeof r=="object"?r:{type:r};return o.type&&(o.contentType=o.contentType||I.json,o.contentEncoding=o.contentEncoding||"utf-8"),i.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(o)}),t},t.MultipartContent=function(r,o){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(i.push(a=>{a.requestBody=a.requestBody||{required:!0,content:[]},a.requestBody.content=a.requestBody.content||[],a.requestBody.content.push(n)}),o){let a={Field(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),a},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),a}};o(a)}return t},t.UseType=(...r)=>(i.push(o=>{o.types=o.types||[],o.types.push(...r)}),t),t}s(q,"HttpOperationDecoratorFactory");var S=s(function(...i){if(!this){let[o]=i,n=[];return S[A].call(void 0,n,o)}let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,Ma.asMutable)(this);r.parameters=[],r.responses=[],r.types=r.node[C]=new ee,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?v(t.compositionOptions):void 0},"HttpOperation"),wo=class wo extends R{findParameter(e,t){let r=e.toLowerCase(),o;for(o of this.parameters)if(!(t&&t!==o.location)&&(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e)))return o}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:Sa.default.posix.join(e,this.path):e:this.path||"/"}toJSON(){var t;let e=(0,Ia.omitUndefined)({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(t=this.requestBody)==null?void 0:t.toJSON()});if(this.types.size){e.types={};for(let r of this.types.values())e.types[r.name]=r.toJSON()}if(this.parameters.length){e.parameters=[];for(let r of this.parameters)e.parameters.push(r.toJSON())}return this.responses.length&&(e.responses=this.responses.map(r=>r.toJSON())),e}};s(wo,"HttpOperationClass");var Ro=wo;S.prototype=Ro.prototype;S[A]=q;S.GET=function(i){return q([],{...i,method:"GET"})};S.DELETE=function(i){return q([],{...i,method:"DELETE"})};S.HEAD=function(i){return q([],{...i,method:"HEAD"})};S.OPTIONS=function(i){return q([],{...i,method:"OPTIONS"})};S.PATCH=function(i){return q([],{...i,method:"PATCH"})};S.POST=function(i){return q([],{...i,method:"POST"})};S.PUT=function(i){return q([],{...i,method:"PUT"})};S.SEARCH=function(i){return q([],{...i,method:"SEARCH"})};var La=require("@jsopen/objects");var zp=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Ao=class Ao{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=zp.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}}};s(Ao,"HttpStatusRange");var Nt=Ao;var bo=class bo extends xe{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new Nt(r.start,r.end):new Nt(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(){let e=this.statusCode.map(r=>r.toJSON()),t=(0,La.omitUndefined)({...super.toJSON(),statusCode:e.length===1&&typeof e[0]=="number"?e[0]:e,partial:this.partial});if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON())}return t}};s(bo,"HttpOperationResponse");var Or=bo;var Fa=require("@jsopen/objects"),ka=require("ts-gems");var va=require("@jsopen/objects"),Pa=require("ts-gems");var Ze=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');R.call(this,i);let t=(0,Pa.asMutable)(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Do=class Do extends R{toJSON(){let e=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,va.omitUndefined)({type:this.type?e||this.type.toJSON():"any",description:this.description,isArray:this.isArray,examples:this.examples})}};s(Do,"ValueClass");var No=Do;Ze.prototype=No.prototype;var Dt=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ze.call(this,i,e);let t=(0,ka.asMutable)(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},"HttpParameter"),Io=class Io extends Ze{toJSON(){return(0,Fa.omitUndefined)({...super.toJSON(),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};s(Io,"HttpParameterClass");var So=Io;Dt.prototype=So.prototype;var ja=require("@jsopen/objects");var Mo=class Mo extends R{constructor(e){super(e),this.content=[]}toJSON(){return(0,ja.omitUndefined)({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(e=>e.toJSON()):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};s(Mo,"HttpRequestBody");var gr=Mo;var Lo=class Lo{static async createApi(e,t){let r=new Xe(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 o=0;for(let n of r){let a;await e.enterAsync(`[${o++}]`,async()=>{a=await this._resolveControllerMetadata(e,t,n)}),a&&await e.enterAsync(`[${a.metadata.name}]`,async()=>{let p=await this._createController(e,t,a.metadata,a.instance,a.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${a.name})`),t.controllers.set(p.name,p))})}return}for(let[o,n]of Object.entries(r))await e.enterAsync(`[${o}]`,async()=>{let a=await this._resolveControllerMetadata(e,t,n);if(!a)return;let p=await this._createController(e,t,{...a.metadata,name:o},a.instance,a.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${o})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!(0,Ca.isConstructor)(r)&&(r=t instanceof te?r(t.instance):r()),r=await le(r);let o,n,a;if(typeof r=="function"){if(n=Reflect.getMetadata(ie,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);o=r}else o=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(ie,o),n?a=r:(n=r,r.instance==="object"&&(a=r.instance,o=Object.getPrototypeOf(a).constructor));return n?{metadata:n,instance:a,ctor:o}:e.addError(`Class "${o.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,o,n){if(!r.name)throw new TypeError("Controller name required");let a=new te(t,{...r,instance:o,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,a,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 L.resolveDataType(e,a,c.type)});let x=new Dt(a,l);a.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 S(a,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),a.operations.set(p,l)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,a,r.controllers)}),a}static async _initHttpOperation(e,t,r){let o={...r,name:t.name,types:void 0};return S.apply(t,[t.owner,o]),r.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let a of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let p={...a};await e.enterAsync(".type",async()=>{p.type=await L.resolveDataType(e,t,a.type)});let c=new Dt(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let a of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new Or(t,{statusCode:a.statusCode});await this._initHttpOperationResponse(e,p,a),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){xe.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await L.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let o=0;o<r.multipartFields.length;o++)await e.enterAsync(`[${o}]`,async()=>{let n=r.multipartFields[o],a=new xr(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,a,n),t.multipartFields.push(a)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let o=0;for(let n of r.parameters)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await L.resolveDataType(e,t,n.type)});let p=new Dt(t,a);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,r.content&&await e.enterAsync(".content",async()=>{for(let o=0;o<r.content.length;o++)await e.enterAsync(`[${o}]`,async()=>{let n=r.content[o],a=new xe(t,String(o));await this._initHttpMediaType(e,a,n),t.content.push(a)})})}};s(Lo,"HttpApiFactory");var St=Lo;var qa=require("@jsopen/objects"),$a=require("super-fast-md5");var vo=class vo extends Qe{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="rpc",this.controllers=new D,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}};s(vo,"RpcApi");var He=vo;var Ua,Po=class Po extends R{constructor(){super(null),this[Ua]=new WeakMap,this.id="",this.info={},this.references=new D,this.types=new ee,this.node[C]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof g?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[_e].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 Xe))throw new TypeError("The document do not contains HttpApi instance");return this.api}get rpcApi(){if(!(this.api&&this.api instanceof He))throw new TypeError("The document do not contains RpcApi instance");return this.api}toJSON(){return this.export()}export(){let e=(0,qa.omitUndefined)({spec:m.SpecVersion,id:this.id,url:this.url,info:v(this.info,!0)});if(this.references.size){let t=0,r={};for(let[o,n]of this.references.entries())n[Ne]||(r[o]={id:n.id,url:n.url,info:v(n.info,!0)},t++);t&&(e.references=r)}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return this.api&&(e.api=this.api.toJSON()),e}invalidate(){let e=this.export();delete e.id,this.id=(0,$a.md5)(JSON.stringify(e)),this[_e]=new WeakMap}_findDataType(e,t){let r=this.types.get(e);if(r||!this.references.size)return r;if(typeof e=="string"){let n=Li.exec(e);if(n){let a=n[1];if(a){let p=this.references.get(a);return p?(t=t||new WeakMap,t.set(this,!0),t.set(p,!0),p._findDataType(n[2],t)):void 0}e=n[2]}}t=t||new WeakMap,t.set(this,!0);let o=Array.from(this.references.keys()).reverse();for(let n of o){let a=this.references.get(n);if(r=a==null?void 0:a.types.get(e),r)return this[_e].set(r,a!=null&&a[Ne]?"":n),r}for(let n of o){let a=this.references.get(n);if(t.set(a,!0),r=a._findDataType(e,t),r)return this[_e].set(r,a!=null&&a[Ne]?"":n),r}}};s(Po,"ApiDocument");var Ie=Po;Ua=_e;var Zr=require("tslib"),Fo=require("valgen");var It,Rr=(It=class{constructor(e){e&&Object.assign(this,e)}[T](){return Fo.vg.isBase64({coerce:!0})}[O](){return Fo.vg.isBase64({coerce:!0})}},s(It,"Base64Type"),It);Rr=(0,Zr.__decorate)([u({description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),(0,Zr.__metadata)("design:paramtypes",[Object])],Rr);var Me=require("tslib"),$=require("valgen");var Mt,et=(Mt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=$.vg.isDate({precision:"date",coerce:!0}),r=[];return e.minValue&&((0,$.isDateString)(e.minValue),r.push($.toString,$.vg.isGte(e.minValue))),e.maxValue&&((0,$.isDateString)(e.maxValue),r.push($.toString,$.vg.isLte(e.maxValue))),r.length>0?$.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=$.vg.isDateString({precision:"date",trim:"date",coerce:!0}),r=[];return e.minValue&&((0,$.isDateString)(e.minValue),r.push($.vg.isGte(e.minValue))),e.maxValue&&((0,$.isDateString)(e.maxValue),r.push($.vg.isLte(e.maxValue))),r.length>0?$.vg.pipe([t,...r],{returnIndex:0}):t}},s(Mt,"DateType"),Mt);(0,Me.__decorate)([u.Attribute({description:"Minimum value"}),(0,Me.__metadata)("design:type",String)],et.prototype,"minValue",void 0);(0,Me.__decorate)([u.Attribute({description:"Maximum value"}),(0,Me.__metadata)("design:type",String)],et.prototype,"maxValue",void 0);et=(0,Me.__decorate)([u({description:"A date without time",nameMappings:{js:"Date",json:"string"}}).Example("2021-04-18","Full date value"),(0,Me.__metadata)("design:paramtypes",[Object])],et);var Le=require("tslib"),wr=require("valgen");var Lt,tt=(Lt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=wr.vg.isDateString({trim:"date",coerce:!0}),r=[];return e.minValue&&r.push(wr.vg.isGte(e.minValue)),e.maxValue&&r.push(wr.vg.isLte(e.maxValue)),r.length>0?wr.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},s(Lt,"DateStringType"),Lt);(0,Le.__decorate)([u.Attribute({description:"Minimum value"}),(0,Le.__metadata)("design:type",String)],tt.prototype,"minValue",void 0);(0,Le.__decorate)([u.Attribute({description:"Maximum value"}),(0,Le.__metadata)("design:type",String)],tt.prototype,"maxValue",void 0);tt=(0,Le.__decorate)([u({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"),(0,Le.__metadata)("design:paramtypes",[Object])],tt);var ve=require("tslib"),B=require("valgen");var vt,rt=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=B.vg.isDate({precision:"time",coerce:!0}),r=[];return e.minValue&&((0,B.isDateString)(e.minValue),r.push(B.toString,B.vg.isGte(e.minValue))),e.maxValue&&((0,B.isDateString)(e.maxValue),r.push(B.toString,B.vg.isLte(e.maxValue))),r.length>0?B.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){let t=B.vg.isDateString({precision:"time",trim:"time",coerce:!0}),r=[];return e.minValue&&((0,B.isDateString)(e.minValue),r.push(B.vg.isGte(e.minValue))),e.maxValue&&((0,B.isDateString)(e.maxValue),r.push(B.vg.isLte(e.maxValue))),r.length>0?B.vg.pipe([t,...r],{returnIndex:0}):t}},s(vt,"DateTimeType"),vt);(0,ve.__decorate)([u.Attribute({description:"Minimum value"}),(0,ve.__metadata)("design:type",String)],rt.prototype,"minValue",void 0);(0,ve.__decorate)([u.Attribute({description:"Maximum value"}),(0,ve.__metadata)("design:type",String)],rt.prototype,"maxValue",void 0);rt=(0,ve.__decorate)([u({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"),(0,ve.__metadata)("design:paramtypes",[Object])],rt);var Pe=require("tslib"),Ar=require("valgen");var Pt,it=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Ar.vg.isDateString({coerce:!0}),r=[];return e.minValue&&r.push(Ar.vg.isGte(e.minValue)),e.maxValue&&r.push(Ar.vg.isLte(e.maxValue)),r.length>0?Ar.vg.pipe([t,...r]):t}[O](e){return this[T](e)}},s(Pt,"DateTimeStringType"),Pt);(0,Pe.__decorate)([u.Attribute({description:"Minimum value"}),(0,Pe.__metadata)("design:type",String)],it.prototype,"minValue",void 0);(0,Pe.__decorate)([u.Attribute({description:"Maximum value"}),(0,Pe.__metadata)("design:type",String)],it.prototype,"maxValue",void 0);it=(0,Pe.__decorate)([u({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"),(0,Pe.__metadata)("design:paramtypes",[Object])],it);var P=require("tslib"),ko=require("valgen");var Ft,Y=(Ft=class{constructor(e){e&&Object.assign(this,e)}[T](e){return ko.vg.isEmail({...e,coerce:!0})}[O](e){return ko.vg.isEmail({...e,coerce:!0})}},s(Ft,"EmailType"),Ft);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),(0,P.__metadata)("design:type",Boolean)],Y.prototype,"allowDisplayName",void 0);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),(0,P.__metadata)("design:type",Boolean)],Y.prototype,"requireDisplayName",void 0);(0,P.__decorate)([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}),(0,P.__metadata)("design:type",Boolean)],Y.prototype,"utf8LocalPart",void 0);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),(0,P.__metadata)("design:type",Boolean)],Y.prototype,"ignoreMaxLength",void 0);(0,P.__decorate)([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),(0,P.__metadata)("design:type",Boolean)],Y.prototype,"allowIpDomain",void 0);(0,P.__decorate)([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}),(0,P.__metadata)("design:type",Boolean)],Y.prototype,"domainSpecificValidation",void 0);(0,P.__decorate)([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."}),(0,P.__metadata)("design:type",Array)],Y.prototype,"hostBlacklist",void 0);(0,P.__decorate)([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."}),(0,P.__metadata)("design:type",Array)],Y.prototype,"hostWhitelist",void 0);(0,P.__decorate)([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."}),(0,P.__metadata)("design:type",String)],Y.prototype,"blacklistedChars",void 0);Y=(0,P.__decorate)([u({description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),(0,P.__metadata)("design:paramtypes",[Object])],Y);var Fe=require("tslib"),jt=require("valgen");var kt,G=(kt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.allowSigns,n=(0,jt.validator)("decodeFieldPath",a=>r.normalizeFieldPath(a,{allowSigns:o}));return jt.vg.pipe([jt.toString,n])}[O](e,t){return this[T](e,t)}toJSON(e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=r?t.node.getDataTypeNameWithNs(r):void 0;return{dataType:o||r.toJSON(),allowSigns:e.allowSigns}}},s(kt,"FieldPathType"),kt);(0,Fe.__decorate)([u.Attribute({description:"Data type which field belong to"}),(0,Fe.__metadata)("design:type",Object)],G.prototype,"dataType",void 0);(0,Fe.__decorate)([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'}),(0,Fe.__metadata)("design:type",String)],G.prototype,"allowSigns",void 0);G=(0,Fe.__decorate)([u({description:"Field path",nameMappings:{js:"string",json:"string"}}),(0,Fe.__metadata)("design:paramtypes",[Object])],G);var je=require("tslib"),bs=require("valgen");Array.prototype.findLast||(Array.prototype.findLast=function(i,e){let t=this.findLastIndex(i,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(i,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 o=r-1;o>=0;o--)if(i.call(e,t[o],o,t))return o;return-1});var Ya=require("@jsopen/objects"),Ga=require("valgen");var jo=class jo extends ye{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)}};s(jo,"OpraHttpError");var N=jo;var Uo=class Uo extends N{constructor(){super(...arguments),this.status=400}init(e){super.init({message:w("error:BAD_REQUEST","Bad request"),code:"BAD_REQUEST",...e})}};s(Uo,"BadRequestError");var Co=Uo;var $o=class $o extends N{constructor(){super(...arguments),this.status=409}init(e){super.init({message:w("error:CONFLICT","Conflict"),code:"CONFLICT",...e})}};s($o,"ConflictError");var qo=$o;var Vo=class Vo extends N{constructor(){super(...arguments),this.status=424}init(e){super.init({message:w("error:FAILED_DEPENDENCY","The request failed due to failure of a previous request"),code:"FAILED_DEPENDENCY",...e})}};s(Vo,"FailedDependencyError");var Bo=Vo;var Ko=class Ko extends N{constructor(){super(...arguments),this.status=b.FORBIDDEN}init(e){super.init({message:w("error:FORBIDDEN","You are not authorized to perform this action"),code:"FORBIDDEN",...e})}};s(Ko,"ForbiddenError");var br=Ko;var Jo=class Jo extends N{constructor(){super(...arguments),this.status=500}init(e){super.init({message:w("error:INTERNAL_SERVER_ERROR","Internal server error"),code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};s(Jo,"InternalServerError");var zo=Jo;var Yo=class Yo extends N{constructor(){super(...arguments),this.status=405}init(e){super.init({message:w("error:METHOD_NOT_ALLOWED","Method not allowed"),code:"METHOD_NOT_ALLOWED",...e})}};s(Yo,"MethodNotAllowedError");var Wo=Yo;var Qo=class Qo extends N{constructor(){super(...arguments),this.status=406}init(e){super.init({message:w("error:NOT_ACCEPTABLE","Not Acceptable"),code:"NOT_ACCEPTABLE",...e})}};s(Qo,"NotAcceptableError");var Go=Qo;var Zo=class Zo extends N{constructor(){super(...arguments),this.status=404}init(e){super.init({message:w("error:NOT_FOUND","Not found"),code:"NOT_FOUND",...e})}};s(Zo,"NotFoundError");var Xo=Zo;var en=class en extends br{init(e){super.init({message:w("error:PERMISSION_ERROR","You dont have permission for this operation"),code:"PERMISSION_ERROR",...e})}};s(en,"PermissionError");var Ho=en;var rn=class rn extends N{constructor(e,t,r){super({message:w("error:RESOURCE_CONFLICT",{resource:e,fields:t},"There is already an other {{resource}} resource with same values ({{fields}})"),severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};s(rn,"ResourceConflictError");var tn=rn;var nn=class nn extends N{constructor(e,t,r){super({message:w("error:RESOURCE_NOT_AVAILABLE",`Resource "${e}${t?"/"+t:""}" is not available`),severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,b.UNPROCESSABLE_ENTITY)}};s(nn,"ResourceNotAvailableError");var on=nn;var an=class an extends N{constructor(){super(...arguments),this.status=401}init(e){super.init({message:w("error:UNAUTHORIZED","You have not been authenticated to perform this action"),code:"UNAUTHORIZED",...e})}};s(an,"UnauthorizedError");var sn=an;var cn=class cn extends N{constructor(){super(...arguments),this.status=422}init(e){super.init({message:w("error:UNPROCESSABLE_ENTITY","Unprocessable entity"),severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};s(cn,"UnprocessableEntityError");var pn=cn;var ln;(function(i){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=i.Enum||(i.Enum={})),i.name="IssueSeverity",i.description="Severity of the issue",i.Keys=Object.keys(i),i.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"}})(ln||(ln={}));var fn=class fn{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};s(fn,"Ast");var Nr=fn;var un=class un extends Nr{};s(un,"Expression");var V=un;var mn=class mn extends V{};s(mn,"Term");var ot=mn;var dn=class dn extends ot{constructor(e){super(),this.value=e}toString(){return""+this.value}};s(dn,"Literal");var j=dn;var hn=class hn extends V{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Hr({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};s(hn,"ArithmeticExpression");var nt=hn,yn=class yn{constructor(e){Object.assign(this,e)}};s(yn,"ArithmeticExpressionItem");var Hr=yn;var Tn=class Tn extends ot{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};s(Tn,"ArrayExpression");var Oe=Tn;var Wp=/\w/,En=class En extends V{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${Wp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};s(En,"ComparisonExpression");var Te=En;var _n=class _n extends V{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+" ")}};s(_n,"LogicalExpression");var Ee=_n;var xn=class xn extends V{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(xn,"NegativeExpression");var Dr=xn;var On=class On extends V{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};s(On,"ParenthesizedExpression");var ge=On;var gn=class gn extends j{constructor(e){super(e)}};s(gn,"BooleanLiteral");var st=gn;var Va=require("putil-varhelpers");var Rn=class Rn extends TypeError{};s(Rn,"SyntaxError");var ei=Rn,wn=class wn extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};s(wn,"FilterValidationError");var ke=wn,An=class An extends Error{constructor(e,t){super(e),Object.assign(this,t)}};s(An,"FilterParseError");var ti=An;var Yp=/'/g,Gp=/(\\)/g,Qp=/\\(.)/g;function Xp(i){return i.replace(Gp,"\\\\")}s(Xp,"escapeString");function Zp(i){return i.replace(Qp,"$1")}s(Zp,"unescapeString");function Ct(i){return"'"+Xp(i).replace(Yp,"\\'")+"'"}s(Ct,"quoteFilterString");function Sr(i){return i&&(i.startsWith("'")||i.startsWith('"'))&&i.endsWith(i.charAt(0))?Zp(i.substring(1,i.length-1)):i}s(Sr,"unquoteFilterString");var Ba=new Date(0),bn=class bn extends j{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&(0,Va.toDateDef)(e,Ba)!==Ba){this.value=e;return}throw new ke(`Invalid date value "${e}"`)}toString(){return Ct(this.value)}};s(bn,"DateLiteral");var Re=bn;var Nn=class Nn extends j{constructor(){super(null),this.value=null}};s(Nn,"NullLiteral");var at=Nn;var Dn=class Dn extends j{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 ke(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};s(Dn,"NumberLiteral");var we=Dn;var Sn=class Sn extends j{constructor(e){super(""+e)}};s(Sn,"QualifiedIdentifier");var me=Sn;var In=class In extends j{constructor(e){super(""+e)}toString(){return Ct(this.value)}};s(In,"StringLiteral");var pt=In;var Hp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Mn=class Mn extends j{constructor(e){if(super(""),e instanceof Date){this.value=ri(e.getHours())+":"+ri(e.getMinutes())+(e.getSeconds()?":"+ri(e.getSeconds()):"")+(e.getMilliseconds()?"."+ri(e.getMilliseconds()):"");return}if(typeof e=="string"&&Hp.test(e)){this.value=e;return}throw new ke(`Invalid time value "${e}"`)}toString(){return Ct(this.value)}};s(Mn,"TimeLiteral");var ct=Mn;function ri(i){return i<=9?"0"+i:""+i}s(ri,"pad");var di=require("@browsery/antlr4");var se=require("@browsery/antlr4");var z=class z extends se.Lexer{constructor(e){super(e),this._interp=new se.LexerATNSimulator(this,z._ATN,z.DecisionsToDFA,new se.PredictionContextCache)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return z.literalNames}get symbolicNames(){return z.symbolicNames}get ruleNames(){return z.ruleNames}get serializedATN(){return z._serializedATN}get channelNames(){return z.channelNames}get modeNames(){return z.modeNames}static get _ATN(){return z.__ATN||(z.__ATN=new se.ATNDeserializer().deserialize(z._serializedATN)),z.__ATN}};s(z,"OpraFilterLexer");var y=z;y.T__0=1;y.T__1=2;y.T__2=3;y.T__3=4;y.T__4=5;y.T__5=6;y.T__6=7;y.T__7=8;y.T__8=9;y.T__9=10;y.T__10=11;y.T__11=12;y.T__12=13;y.T__13=14;y.T__14=15;y.T__15=16;y.T__16=17;y.T__17=18;y.T__18=19;y.T__19=20;y.T__20=21;y.T__21=22;y.T__22=23;y.T__23=24;y.T__24=25;y.T__25=26;y.T__26=27;y.T__27=28;y.T__28=29;y.T__29=30;y.T__30=31;y.T__31=32;y.T__32=33;y.T__33=34;y.IDENTIFIER=35;y.POLAR_OP=36;y.DATE=37;y.DATETIME=38;y.TIME=39;y.NUMBER=40;y.INTEGER=41;y.STRING=42;y.WHITESPACE=43;y.EOF=se.Token.EOF;y.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];y.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];y.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];y.modeNames=["DEFAULT_MODE"];y.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];y._serializedATN=[4,0,43,426,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,3,37,256,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,266,8,38,1,39,3,39,269,8,39,1,39,4,39,272,8,39,11,39,12,39,273,1,39,1,39,5,39,278,8,39,10,39,12,39,281,9,39,3,39,283,8,39,1,39,1,39,3,39,287,8,39,1,39,4,39,290,8,39,11,39,12,39,291,3,39,294,8,39,1,39,1,39,1,39,1,39,4,39,300,8,39,11,39,12,39,301,3,39,304,8,39,1,40,3,40,307,8,40,1,40,4,40,310,8,40,11,40,12,40,311,1,40,1,40,1,40,1,40,4,40,318,8,40,11,40,12,40,319,3,40,322,8,40,1,41,1,41,1,41,5,41,327,8,41,10,41,12,41,330,9,41,1,41,1,41,1,41,1,41,5,41,336,8,41,10,41,12,41,339,9,41,1,41,3,41,342,8,41,1,42,4,42,345,8,42,11,42,12,42,346,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,362,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,371,8,44,1,45,1,45,1,45,1,45,3,45,377,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,389,8,45,11,45,12,45,390,3,45,393,8,45,3,45,395,8,45,1,46,1,46,1,46,3,46,400,8,46,1,46,1,46,1,46,3,46,405,8,46,1,46,1,46,1,46,3,46,410,8,46,3,46,412,8,46,1,47,1,47,1,47,3,47,417,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,453,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,255,1,0,0,0,77,265,1,0,0,0,79,303,1,0,0,0,81,321,1,0,0,0,83,341,1,0,0,0,85,344,1,0,0,0,87,350,1,0,0,0,89,352,1,0,0,0,91,376,1,0,0,0,93,411,1,0,0,0,95,413,1,0,0,0,97,418,1,0,0,0,99,424,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,256,1,0,0,0,248,249,5,34,0,0,249,250,3,89,44,0,250,251,5,84,0,0,251,252,3,91,45,0,252,253,3,93,46,0,253,254,5,34,0,0,254,256,1,0,0,0,255,241,1,0,0,0,255,248,1,0,0,0,256,76,1,0,0,0,257,258,5,39,0,0,258,259,3,91,45,0,259,260,5,39,0,0,260,266,1,0,0,0,261,262,5,34,0,0,262,263,3,91,45,0,263,264,5,34,0,0,264,266,1,0,0,0,265,257,1,0,0,0,265,261,1,0,0,0,266,78,1,0,0,0,267,269,3,71,35,0,268,267,1,0,0,0,268,269,1,0,0,0,269,271,1,0,0,0,270,272,3,87,43,0,271,270,1,0,0,0,272,273,1,0,0,0,273,271,1,0,0,0,273,274,1,0,0,0,274,282,1,0,0,0,275,279,5,46,0,0,276,278,3,87,43,0,277,276,1,0,0,0,278,281,1,0,0,0,279,277,1,0,0,0,279,280,1,0,0,0,280,283,1,0,0,0,281,279,1,0,0,0,282,275,1,0,0,0,282,283,1,0,0,0,283,293,1,0,0,0,284,286,5,69,0,0,285,287,7,2,0,0,286,285,1,0,0,0,286,287,1,0,0,0,287,289,1,0,0,0,288,290,3,87,43,0,289,288,1,0,0,0,290,291,1,0,0,0,291,289,1,0,0,0,291,292,1,0,0,0,292,294,1,0,0,0,293,284,1,0,0,0,293,294,1,0,0,0,294,304,1,0,0,0,295,296,5,48,0,0,296,297,5,120,0,0,297,299,1,0,0,0,298,300,3,99,49,0,299,298,1,0,0,0,300,301,1,0,0,0,301,299,1,0,0,0,301,302,1,0,0,0,302,304,1,0,0,0,303,268,1,0,0,0,303,295,1,0,0,0,304,80,1,0,0,0,305,307,3,71,35,0,306,305,1,0,0,0,306,307,1,0,0,0,307,309,1,0,0,0,308,310,3,87,43,0,309,308,1,0,0,0,310,311,1,0,0,0,311,309,1,0,0,0,311,312,1,0,0,0,312,322,1,0,0,0,313,314,5,48,0,0,314,315,5,120,0,0,315,317,1,0,0,0,316,318,3,99,49,0,317,316,1,0,0,0,318,319,1,0,0,0,319,317,1,0,0,0,319,320,1,0,0,0,320,322,1,0,0,0,321,306,1,0,0,0,321,313,1,0,0,0,322,82,1,0,0,0,323,328,5,39,0,0,324,327,3,95,47,0,325,327,8,3,0,0,326,324,1,0,0,0,326,325,1,0,0,0,327,330,1,0,0,0,328,326,1,0,0,0,328,329,1,0,0,0,329,331,1,0,0,0,330,328,1,0,0,0,331,342,5,39,0,0,332,337,5,34,0,0,333,336,3,95,47,0,334,336,8,4,0,0,335,333,1,0,0,0,335,334,1,0,0,0,336,339,1,0,0,0,337,335,1,0,0,0,337,338,1,0,0,0,338,340,1,0,0,0,339,337,1,0,0,0,340,342,5,34,0,0,341,323,1,0,0,0,341,332,1,0,0,0,342,84,1,0,0,0,343,345,7,5,0,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,348,1,0,0,0,348,349,6,42,0,0,349,86,1,0,0,0,350,351,7,6,0,0,351,88,1,0,0,0,352,353,7,6,0,0,353,354,7,6,0,0,354,355,7,6,0,0,355,356,7,6,0,0,356,361,5,45,0,0,357,358,7,7,0,0,358,362,7,8,0,0,359,360,7,9,0,0,360,362,7,10,0,0,361,357,1,0,0,0,361,359,1,0,0,0,362,363,1,0,0,0,363,370,5,45,0,0,364,365,7,11,0,0,365,371,7,7,0,0,366,367,7,10,0,0,367,371,7,8,0,0,368,369,5,51,0,0,369,371,5,49,0,0,370,364,1,0,0,0,370,366,1,0,0,0,370,368,1,0,0,0,371,90,1,0,0,0,372,373,7,12,0,0,373,377,7,6,0,0,374,375,5,50,0,0,375,377,7,13,0,0,376,372,1,0,0,0,376,374,1,0,0,0,377,378,1,0,0,0,378,379,5,58,0,0,379,380,7,14,0,0,380,381,7,6,0,0,381,394,1,0,0,0,382,383,5,58,0,0,383,384,7,14,0,0,384,385,7,6,0,0,385,392,1,0,0,0,386,388,5,46,0,0,387,389,7,6,0,0,388,387,1,0,0,0,389,390,1,0,0,0,390,388,1,0,0,0,390,391,1,0,0,0,391,393,1,0,0,0,392,386,1,0,0,0,392,393,1,0,0,0,393,395,1,0,0,0,394,382,1,0,0,0,394,395,1,0,0,0,395,92,1,0,0,0,396,412,5,90,0,0,397,404,7,2,0,0,398,400,7,12,0,0,399,398,1,0,0,0,399,400,1,0,0,0,400,401,1,0,0,0,401,405,7,6,0,0,402,403,5,50,0,0,403,405,7,13,0,0,404,399,1,0,0,0,404,402,1,0,0,0,405,409,1,0,0,0,406,407,5,58,0,0,407,408,7,14,0,0,408,410,7,6,0,0,409,406,1,0,0,0,409,410,1,0,0,0,410,412,1,0,0,0,411,396,1,0,0,0,411,397,1,0,0,0,412,94,1,0,0,0,413,416,5,92,0,0,414,417,3,97,48,0,415,417,9,0,0,0,416,414,1,0,0,0,416,415,1,0,0,0,417,96,1,0,0,0,418,419,5,117,0,0,419,420,3,99,49,0,420,421,3,99,49,0,421,422,3,99,49,0,422,423,3,99,49,0,423,98,1,0,0,0,424,425,7,15,0,0,425,100,1,0,0,0,35,0,226,239,255,265,268,273,279,282,286,291,293,301,303,306,311,319,321,326,328,335,337,341,346,361,370,376,390,392,394,399,404,409,411,416,1,0,1,0];y.DecisionsToDFA=y._ATN.decisionToState.map((i,e)=>new se.DFA(i,e));var Ka=y;var h=require("@browsery/antlr4");var _=class _ extends h.Parser{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return _.literalNames}get symbolicNames(){return _.symbolicNames}get ruleNames(){return _.ruleNames}get serializedATN(){return _._serializedATN}createFailedPredicateException(e,t){return new h.FailedPredicateException(this,e,t)}constructor(e){super(e),this._interp=new h.ParserATNSimulator(this,_._ATN,_.DecisionsToDFA,new h.PredictionContextCache)}root(){let e=new Ln(this,this._ctx,this.state);this.enterRule(e,0,_.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(_.EOF)}catch(t){if(t instanceof h.RecognitionException)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,o=new re(this,this._ctx,r),n=o,a=2;this.enterRecursionRule(o,2,_.RULE_expression,e);let p;try{let c;this.enterOuterAlt(o,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:o=new Fn(this,o),this._ctx=o,n=o,this.state=38,o._left=this.comparisonLeft(),this.state=39,o._operator=this.comparisonOperator(),this.state=40,o._right=this.comparisonRight();break;case 1:o=new vn(this,o),this._ctx=o,n=o,this.state=42,this.match(_.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(_.T__1);break;case 3:case 4:o=new Pn(this,o),this._ctx=o,n=o,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 h.NoViableAltException(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!==h.ATN.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=o;{if(o=new Ir(this,new re(this,t,r)),this.pushNewRecursionContext(o,a,_.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,o._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 h.RecognitionException)o.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return o}comparisonLeft(){let e=new ii(this,this._ctx,this.state);this.enterRule(e,4,_.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof h.RecognitionException)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 oi(this,this._ctx,this.state);this.enterRule(e,6,_.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 h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)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 ni(this,this._ctx,this.state);this.enterRule(e,8,_.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof h.RecognitionException)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 Q(this,this._ctx,this.state);this.enterRule(e,10,_.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new Vn(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(_.NUMBER);break;case 13:case 14:e=new $n(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new Bn(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new jn(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 37:e=new qn(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(_.DATE);break;case 38:e=new Cn(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(_.DATETIME);break;case 39:e=new kn(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(_.TIME);break;case 42:e=new Un(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(_.STRING);break;default:throw new h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)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 Mr(this,this._ctx,this.state);this.enterRule(e,12,_.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!==h.ATN.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(_.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 h.RecognitionException)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 si(this,this._ctx,this.state);this.enterRule(e,14,_.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(_.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof h.RecognitionException)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 Ut(this,this._ctx,this.state);this.enterRule(e,16,_.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(_.IDENTIFIER)}catch(t){if(t instanceof h.RecognitionException)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 ai(this,this._ctx,this.state);this.enterRule(e,18,_.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(_.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(_.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(_.T__8)}}catch(r){if(r instanceof h.RecognitionException)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 pi(this,this._ctx,this.state);this.enterRule(e,20,_.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 h.RecognitionException)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 ci(this,this._ctx,this.state);this.enterRule(e,22,_.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(_.T__11)}catch(t){if(t instanceof h.RecognitionException)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 li(this,this._ctx,this.state);this.enterRule(e,24,_.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 h.RecognitionException)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 Kn(this,this._ctx,this.state);this.enterRule(e,26,_.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),!(t&-32)&&1<<t&491520?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)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 fi(this,this._ctx,this.state);this.enterRule(e,28,_.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),!(t&-32)&&1<<t&2146959360?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)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 ui(this,this._ctx,this.state);this.enterRule(e,30,_.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),!(t-31&-32)&&1<<t-31&15?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)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 zn(this,this._ctx,this.state);this.enterRule(e,32,_.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(_.POLAR_OP)}catch(t){if(t instanceof h.RecognitionException)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 _.__ATN||(_.__ATN=new h.ATNDeserializer().deserialize(_._serializedATN)),_.__ATN}};s(_,"OpraFilterParser");var f=_;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=h.Token.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,37,0,0,74,78,5,38,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((i,e)=>new h.DFA(i,e));var za=f,Jn=class Jn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(re,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)}};s(Jn,"RootContext");var Ln=Jn,Wn=class Wn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};s(Wn,"ExpressionContext");var re=Wn,Yn=class Yn extends re{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(ni,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)}};s(Yn,"ParenthesizedExpressionContext");var vn=Yn,Gn=class Gn extends re{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(re,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)}};s(Gn,"NegativeExpressionContext");var Pn=Gn,Qn=class Qn extends re{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(ii,0)}comparisonOperator(){return this.getTypedRuleContext(fi,0)}comparisonRight(){return this.getTypedRuleContext(oi,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)}};s(Qn,"ComparisonExpressionContext");var Fn=Qn,Xn=class Xn extends re{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(re)}expression(e){return this.getTypedRuleContext(re,e)}logicalOperator(){return this.getTypedRuleContext(ui,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)}};s(Xn,"LogicalExpressionContext");var Ir=Xn,Zn=class Zn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Mr,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)}};s(Zn,"ComparisonLeftContext");var ii=Zn,Hn=class Hn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(Q,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Mr,0)}externalConstant(){return this.getTypedRuleContext(si,0)}arrayValue(){return this.getTypedRuleContext(ai,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)}};s(Hn,"ComparisonRightContext");var oi=Hn,es=class es extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(re,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)}};s(es,"ParenthesizedItemContext");var ni=es,ts=class ts extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};s(ts,"ValueContext");var Q=ts,rs=class rs extends Q{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)}};s(rs,"TimeLiteralContext");var kn=rs,is=class is extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(ci,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)}};s(is,"NullLiteralContext");var jn=is,os=class os extends Q{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)}};s(os,"DateTimeLiteralContext");var Cn=os,ns=class ns extends Q{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)}};s(ns,"StringLiteralContext");var Un=ns,ss=class ss extends Q{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)}};s(ss,"DateLiteralContext");var qn=ss,as=class as extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(li,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)}};s(as,"InfinityLiteralContext");var $n=as,ps=class ps extends Q{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(pi,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)}};s(ps,"BooleanLiteralContext");var Bn=ps,cs=class cs extends Q{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)}};s(cs,"NumberLiteralContext");var Vn=cs,ls=class ls extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Ut)}identifier(e){return this.getTypedRuleContext(Ut,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)}};s(ls,"QualifiedIdentifierContext");var Mr=ls,fs=class fs extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Ut,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)}};s(fs,"ExternalConstantContext");var si=fs,us=class us extends h.ParserRuleContext{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)}};s(us,"IdentifierContext");var Ut=us,ms=class ms extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(Q)}value(e){return this.getTypedRuleContext(Q,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)}};s(ms,"ArrayValueContext");var ai=ms,ds=class ds extends h.ParserRuleContext{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)}};s(ds,"BooleanContext");var pi=ds,hs=class hs extends h.ParserRuleContext{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)}};s(hs,"NullContext");var ci=hs,ys=class ys extends h.ParserRuleContext{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)}};s(ys,"InfinityContext");var li=ys,Ts=class Ts extends h.ParserRuleContext{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)}};s(Ts,"ArithmeticOperatorContext");var Kn=Ts,Es=class Es extends h.ParserRuleContext{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)}};s(Es,"ComparisonOperatorContext");var fi=Es,_s=class _s extends h.ParserRuleContext{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)}};s(_s,"LogicalOperatorContext");var ui=_s,xs=class xs extends h.ParserRuleContext{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)}};s(xs,"PolarityOperatorContext");var zn=xs;var Ja=require("@browsery/antlr4");var Os=class Os extends j{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};s(Os,"ExternalConstant");var mi=Os;var gs=class gs extends Ja.ParseTreeVisitor{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 ge(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Dr(t)}visitComparisonExpression(e){return new Te({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=s((o,n)=>{for(let a of o){if(a instanceof Ir&&a.logicalOperator().getText()===n){r(a.expression_list(),a.logicalOperator().getText());continue}let p=this.visit(a);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new Ee({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new me(e.getText())}visitExternalConstant(e){return new mi(e.identifier().getText())}visitNullLiteral(){return new at}visitBooleanLiteral(e){return new st(e.getText()==="true")}visitNumberLiteral(e){return new we(e.getText())}visitStringLiteral(e){return new pt(Sr(e.getText()))}visitInfinityLiteral(){return new we(1/0)}visitDateLiteral(e){return new Re(Sr(e.getText()))}visitDateTimeLiteral(e){return new Re(Sr(e.getText()))}visitTimeLiteral(e){return new ct(Sr(e.getText()))}visitArrayValue(e){return new Oe(e.value_list().map(t=>this.visit(t)))}};s(gs,"FilterTreeVisitor");var Lr=gs;var Wa=require("@browsery/antlr4");var Rs=class Rs extends Wa.ErrorListener{constructor(e){super(),this.errors=e}syntaxError(e,t,r,o,n,a){this.errors.push(new ti(n,{recognizer:e,offendingSymbol:t,line:r,column:o,e:a}))}};s(Rs,"OpraErrorListener");var vr=Rs;function ws(i,e){let t=new di.CharStream(i),r=new Ka(t),o=new di.CommonTokenStream(r),n=new za(o);n.buildParseTrees=!0;let a=[],p=new vr(a);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(a.length){let l=[];for(let d of a)l.push(d.message+(i.includes(`
|
|
8
8
|
`)?" at line: "+d.line+" column: "+d.column:" at column: "+d.column));let x=new ei(l.join(`
|
|
9
|
-
`));throw x.errors=a,x}return e=e||new Lr,e.visit(c)}s(ws,"parse");var As=class As{constructor(e,t){if(this._rules=new D,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new D(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,o]of Object.entries(e))this.set(r,o)}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,(0,Ya.omitUndefined)({...t,operators:r}))}normalizeFilter(e,t){let r=typeof e=="string"?ws(e):e;return this.normalizeFilterAst(r,[],t)}normalizeFilterAst(e,t,r){if(e instanceof Te){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof me&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let o=this._rules.get(e.left.value);if(!o)throw new ye({message:w("error:UNACCEPTED_FILTER_FIELD",{field:e.left.value}),code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(o.operators&&!o.operators.includes(e.op))throw new ye({message:w("error:UNACCEPTED_FILTER_OPERATION",{field:e.left.value}),code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof Ee)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),t.pop(),e;if(e instanceof nt)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o.expression,t,r)),t.pop(),e;if(e instanceof Oe)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),t.pop(),e;if(e instanceof ge)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof me&&r)return e.value=r.normalizeFieldPath(e.value),e.field=r.getField(e.value),e.dataType=e.field.type,e;if(e instanceof j){let o=t.findLastIndex(n=>n instanceof Te);if(o>=0){let n=t[o];if((e===n.right||t[o+1]===n.right)&&n&&n.left instanceof me&&n.left.field){if(e.value==null&&!n.left.field.required)return e.value;let a;n.op==="like"||n.op==="!like"||n.op==="ilike"||n.op==="!ilike"?a=Ga.isString:a=this._decoderCache.get(n.left.field),a||(a=n.left.field.type.generateCodec("decode",{projection:"*",ignoreWriteonlyFields:!0,ignoreHiddenFields:!0,coerce:!0}),this._decoderCache.set(n.left.field,a)),e.value=a(e.value)}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};s(As,"FilterRules");var Ae=As;var $t={};Di($t,{$and:()=>tc,$arithmetic:()=>_c,$array:()=>Qa,$date:()=>rc,$eq:()=>sc,$field:()=>nc,$gt:()=>pc,$gte:()=>cc,$ilike:()=>yc,$in:()=>uc,$like:()=>dc,$lt:()=>lc,$lte:()=>fc,$ne:()=>ac,$notILike:()=>Tc,$notIn:()=>mc,$notLike:()=>hc,$number:()=>oc,$or:()=>ec,$paren:()=>Ec,$time:()=>ic,ArithmeticExpression:()=>nt,ArithmeticExpressionItem:()=>Hr,ArrayExpression:()=>Oe,Ast:()=>Nr,BooleanLiteral:()=>st,ComparisonExpression:()=>Te,DateLiteral:()=>Re,Expression:()=>V,FilterTreeVisitor:()=>Lr,Literal:()=>j,LogicalExpression:()=>Ee,NegativeExpression:()=>Dr,NullLiteral:()=>at,NumberLiteral:()=>we,OpraErrorListener:()=>vr,ParenthesizedExpression:()=>ge,QualifiedIdentifier:()=>me,StringLiteral:()=>pt,Term:()=>ot,TimeLiteral:()=>ct,parse:()=>ws});function ec(...i){return new Ee({op:"or",items:i})}s(ec,"$or");function tc(...i){return new Ee({op:"and",items:i})}s(tc,"$and");function rc(i){return new Re(i)}s(rc,"$date");function ic(i){return new ct(i)}s(ic,"$time");function oc(i){return new we(i)}s(oc,"$number");function Qa(...i){return new Oe(i.map(hi))}s(Qa,"$array");function nc(i){return new me(i)}s(nc,"$field");function sc(i,e){return ae("=",i,e)}s(sc,"$eq");function ac(i,e){return ae("!=",i,e)}s(ac,"$ne");function pc(i,e){return ae(">",i,e)}s(pc,"$gt");function cc(i,e){return ae(">=",i,e)}s(cc,"$gte");function lc(i,e){return ae("<",i,e)}s(lc,"$lt");function fc(i,e){return ae("<=",i,e)}s(fc,"$lte");function uc(i,e){return ae("in",i,e)}s(uc,"$in");function mc(i,e){return ae("!in",i,e)}s(mc,"$notIn");function dc(i,e){return ae("like",i,e)}s(dc,"$like");function hc(i,e){return ae("!like",i,e)}s(hc,"$notLike");function yc(i,e){return ae("ilike",i,e)}s(yc,"$ilike");function Tc(i,e){return ae("!ilike",i,e)}s(Tc,"$notILike");function Ec(i){return new ge(i)}s(Ec,"$paren");function _c(i){let e=new nt;return e.add=t=>(e.append("+",qt(t)),e),e.sub=t=>(e.append("-",qt(t)),e),e.mul=t=>(e.append("*",qt(t)),e),e.div=t=>(e.append("/",qt(t)),e),e.append("+",hi(i)),e}s(_c,"$arithmetic");function ae(i,e,t){let r=hi(e),o=hi(t);return new Te({op:i,left:r,right:o})}s(ae,"comparisonExpression");var hi=s(i=>Array.isArray(i)?Qa(...i.map(qt)):qt(i),"wrapEntryValue"),qt=s(i=>i instanceof V?i:typeof i=="boolean"?new st(i):typeof i=="number"||typeof i=="bigint"?new we(i):i==null?new at:i instanceof Date?new Re(i):new pt(""+i),"_wrapEntryValue");var Bt,pe=(Bt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.rules?new Ae(e.rules):void 0;return xc(r,o)}[O](){return Oc}toJSON(e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");return{dataType:r.name?r.name:r.toJSON(),rules:e.rules}}},s(Bt,"FilterType"),Bt);(0,je.__decorate)([u.Attribute({description:"Data type which filtering fields belong to"}),(0,je.__metadata)("design:type",Object)],pe.prototype,"dataType",void 0);(0,je.__decorate)([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),(0,je.__metadata)("design:type",Object)],pe.prototype,"rules",void 0);pe=(0,je.__decorate)([u({description:"A query filter",nameMappings:{js:"object",json:"string"}}),(0,je.__metadata)("design:paramtypes",[Object])],pe);var xc=s((i,e)=>(0,bs.validator)("decodeFilter",(t,r,o)=>{if(typeof t=="string")try{let n=$t.parse(t);return e?e.normalizeFilter(n,i):n}catch(n){r.fail(o,`Not a valid filter expression. ${n.message}`,t);return}r.fail(o,"Nt a valid filter expression string",t)}),"decodeFilter"),Oc=(0,bs.validator)("encodeFilter",(i,e,t)=>{if(i instanceof $t.Ast)return i.toString();e.fail(t,"Not a valid filter expression",i)});var yi=require("tslib"),Ns=require("valgen");var Vt,Pr=(Vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ns.vg.isObjectId({coerce:!0})}[O](){return Ns.vg.isObjectId({coerce:!0})}},s(Vt,"ObjectIdType"),Vt);Pr=(0,yi.__decorate)([u({description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),(0,yi.__metadata)("design:paramtypes",[Object])],Pr);var F=require("tslib");var Kt,Q=(Kt=class{constructor(e){e&&Object.assign(this,e)}},s(Kt,"OperationResult"),Kt);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",Number)],Q.prototype,"affected",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",Number)],Q.prototype,"totalMatches",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",String)],Q.prototype,"context",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",String)],Q.prototype,"type",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",String)],Q.prototype,"message",void 0);(0,F.__decorate)([k({type:"any"}),(0,F.__metadata)("design:type",Object)],Q.prototype,"payload",void 0);(0,F.__decorate)([k({type:"object"}),(0,F.__metadata)("design:type",Array)],Q.prototype,"errors",void 0);Q=(0,F.__decorate)([Z({description:"Operation result"}),(0,F.__metadata)("design:paramtypes",[Object])],Q);(function(i){function e(t){var o;let r=(o=class extends i{constructor(...a){super(...a)}},s(o,"OperationResult_"),o);return(0,F.__decorate)([k({type:t,required:!0}),(0,F.__metadata)("design:type",Object)],r.prototype,"payload",void 0),r=(0,F.__decorate)([Z({embedded:!0}),(0,F.__metadata)("design:paramtypes",[Object])],r),r}s(e,"forPayload"),i.forPayload=e})(Q||(Q={}));var Ce=require("tslib"),Fr=require("valgen");var gc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,zt,lt=(zt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Fr.vg.matches(gc,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push(Fr.vg.isGte(e.minValue)),e.maxValue&&r.push(Fr.vg.isLte(e.maxValue)),r.length>0?Fr.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},s(zt,"TimeType"),zt);(0,Ce.__decorate)([u.Attribute({description:"Minimum value"}),(0,Ce.__metadata)("design:type",String)],lt.prototype,"minValue",void 0);(0,Ce.__decorate)([u.Attribute({description:"Maximum value"}),(0,Ce.__metadata)("design:type",String)],lt.prototype,"maxValue",void 0);lt=(0,Ce.__decorate)([u({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"),(0,Ce.__metadata)("design:paramtypes",[Object])],lt);var Ti=require("tslib"),Ds=require("valgen");var Jt,kr=(Jt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ds.vg.isURL({coerce:!0})}[O](){return Ds.vg.isURL({coerce:!0})}},s(Jt,"UrlType"),Jt);kr=(0,Ti.__decorate)([u({description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),(0,Ti.__metadata)("design:paramtypes",[Object])],kr);var Gt=require("tslib"),Ss=require("valgen");var Wt,Yt=(Wt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Ss.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}[O](e){return Ss.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}},s(Wt,"UuidType"),Wt);(0,Gt.__decorate)([u.Attribute({description:"Version of the UUID"}),(0,Gt.__metadata)("design:type",Number)],Yt.prototype,"version",void 0);Yt=(0,Gt.__decorate)([u({description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),(0,Gt.__metadata)("design:paramtypes",[Object])],Yt);function Ue(i,e,t){let r=Yr(e.pick,e.omit),o=typeof i=="string"?i.charAt(0).toUpperCase()+i.substring(1):i.name,n=(t==null?void 0:t.name)||o+"Mapped",a={[n]:class{constructor(){typeof i=="function"&&mr(this,i,r)}}}[n];if(typeof i=="function"&&ur(a.prototype,i.prototype),typeof i=="function"){let c=Reflect.getOwnMetadata(E,i);if(!c)throw new TypeError(`Class "${i}" 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 "${i}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:i};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(E,p,a),typeof i=="function"&&Se._applyMixin(a,i,{...e,isInheritedPredicate:r}),a}s(Ue,"createMappedClass");function Rc(i,e,t){return Ue(i,{omit:e},t)}s(Rc,"OmitType");function wc(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ue(i,{partial:t},r)}s(wc,"PartialType");function Ac(i,e,t){return Ue(i,{pick:e},t)}s(Ac,"PickType");var Ei=require("tslib"),Is=require("valgen");var Qt,jr=(Qt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Is.isAny}[O](){return Is.isAny}},s(Qt,"AnyType"),Qt);jr=(0,Ei.__decorate)([u({description:"Represents any value"}),(0,Ei.__metadata)("design:paramtypes",[Object])],jr);var _i=require("tslib"),ut=require("valgen");var qe=require("tslib"),ft=require("valgen");var Xt,de=(Xt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue&&t.push(ft.vg.isGte(e.minValue)),e.maxValue&&t.push(ft.vg.isLte(e.maxValue)),t.length>0?ft.vg.pipe([ft.toNumber,...t],{returnIndex:0}):ft.toNumber}[O](e){return this[T](e)}},s(Xt,"NumberType"),Xt);(0,qe.__decorate)([u.Attribute({description:"Determines the minimum value"}),(0,qe.__metadata)("design:type",Number)],de.prototype,"minValue",void 0);(0,qe.__decorate)([u.Attribute({description:"Determines the maximum value"}),(0,qe.__metadata)("design:type",Number)],de.prototype,"maxValue",void 0);de=(0,qe.__decorate)([u({description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),(0,qe.__metadata)("design:paramtypes",[Object])],de);var Zt,Cr=(Zt=class extends de{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(ut.vg.isGte(e.minValue)),e.maxValue&&t.push(ut.vg.isLte(e.maxValue)),t.length>0?ut.vg.pipe([ut.toBigint,...t],{returnIndex:0}):ut.toBigint}[O](e){return this[T](e)}},s(Zt,"BigintType"),Zt);Cr=(0,_i.__decorate)([u({description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),(0,_i.__metadata)("design:paramtypes",[Object])],Cr);var xi=require("tslib"),Ms=require("valgen");var Ht,Ur=(Ht=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ms.toBoolean}[O](){return Ms.toBoolean}},s(Ht,"BooleanType"),Ht);Ur=(0,xi.__decorate)([u({description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),(0,xi.__metadata)("design:paramtypes",[Object])],Ur);var Oi=require("tslib"),mt=require("valgen");var er,$e=(er=class extends de{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(mt.vg.isGte(e.minValue)),e.maxValue&&t.push(mt.vg.isLte(e.maxValue)),t.length>0?mt.vg.pipe([mt.toInteger,...t],{returnIndex:0}):mt.toInteger}[O](e){return this[T](e)}},s(er,"IntegerType"),er);$e=(0,Oi.__decorate)([u({description:"An integer number",nameMappings:{js:"number",json:"number"}}),(0,Oi.__metadata)("design:paramtypes",[Object])],$e);var gi=require("tslib"),Ls=require("valgen");var tr,qr=(tr=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ls.isNull}[O](){return Ls.isNull}},s(tr,"NullType"),tr);qr=(0,gi.__decorate)([u({description:"A Null value",nameMappings:{js:"null",json:"null"}}),(0,gi.__metadata)("design:paramtypes",[Object])],qr);var Ri=require("tslib");var rr,$r=(rr=class{constructor(e){e&&Object.assign(this,e)}},s(rr,"ObjectType"),rr);$r=(0,Ri.__decorate)([Z({name:"object",description:"A non modelled object",additionalFields:!0}),(0,Ri.__metadata)("design:paramtypes",[Object])],$r);var ce=require("tslib"),Be=require("valgen");var ir,be=(ir=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(E,Object.getPrototypeOf(this).constructor).name),t.push(Be.vg.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Be.vg.lengthMin(e.minLength)),e.maxLength&&t.push(Be.vg.lengthMax(e.maxLength)),t.length>0?Be.vg.pipe([Be.toString,...t],{returnIndex:0}):Be.toString}[O](e){return this[T](e)}},s(ir,"StringType"),ir);(0,ce.__decorate)([u.Attribute({description:"Regex pattern to be used for validation"}),(0,ce.__metadata)("design:type",Object)],be.prototype,"pattern",void 0);(0,ce.__decorate)([u.Attribute({description:"Name of the pattern"}),(0,ce.__metadata)("design:type",String)],be.prototype,"patternName",void 0);(0,ce.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,ce.__metadata)("design:type",Number)],be.prototype,"minLength",void 0);(0,ce.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,ce.__metadata)("design:type",Number)],be.prototype,"maxLength",void 0);be=(0,ce.__decorate)([u({description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),(0,ce.__metadata)("design:paramtypes",[Object])],be);function bc(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ue(i,{required:t},r)}s(bc,"RequiredType");S.Entity={};S.Entity.Create=function(i,e){var n;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return o.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),r.push(a=>{let p=a.compositionOptions=a.compositionOptions||{};p.type=Ve(t.type)}),o};S.Entity.Delete=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"DELETE",...t,composition:"Entity.Delete"});return o.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:I.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ve(t.type)}),o};S.Entity.DeleteMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new Ae,n=new pe({dataType:t.type});n.rules={};let a=q(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return a.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:I.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}).QueryParam("filter",{type:n,description:"Determines filter fields"}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ve(t.type)}),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};S.Entity.FindMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new Ae,n=new pe({dataType:t.type});n.rules={};let a=q(r,{method:"GET",...t,composition:"Entity.FindMany"});return a.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:I.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new $e({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new $e({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).QueryParam("sort",{description:"Determines sort fields",type:new Y({dataType:t.type,allowSigns:"first"}),isArray:!0,arraySeparator:","}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ve(t.type),t.defaultLimit&&(c.defaultLimit=t.defaultLimit),t.defaultProjection&&(c.defaultProjection=t.defaultProjection),t.maxLimit&&(c.maxLimit=t.maxLimit)}),a.DefaultSort=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.defaultSort=p}),a),a.SortFields=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.sortFields=p}),a),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};S.Entity.Get=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"GET",...t,composition:"Entity.Get"});return o.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ve(t.type)}),o};S.Entity.Replace=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"POST",...t,composition:"Entity.Replace"});return o.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ve(t.type)}),o};S.Entity.UpdateMany=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new pe({dataType:t.type});o.rules={};let n=new Ae,a=q(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",...t.requestBody,required:!0}});return a.RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:I.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}).QueryParam("filter",{type:o,description:"Determines filter fields"}),r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ve(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{n.set(c,{operators:l,description:x}),o.rules=n.toJSON()}),a),a};S.Entity.Update=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new Ae,n=new pe({dataType:t.type});n.rules={};let a=q(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,...t.requestBody,required:!0}});return a.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),a.KeyParam=(c,l)=>{let x=typeof l=="string"||typeof l=="function"?{name:c,location:"path",type:l,keyParam:!0}:{...l,name:c,location:"path",keyParam:!0};return a.PathParam(c,x),r.push(d=>{var K;(K=d.path)!=null&&K.includes(":"+c)||(d.path=(d.path||"")+"@:"+c),d.mergePath=!0}),a},r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ve(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{o.set(c,{operators:l,description:x}),n.rules=o.toJSON()}),a),a};function Ve(i){if(typeof i=="string")return i;let e=Reflect.getMetadata(E,i);if(!e)throw new TypeError(`Type (${i}) 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")}s(Ve,"getDataTypeName");var op=require("@jsopen/objects");var Xa=require("@jsopen/objects"),Za=require("ts-gems");var Ke=s(function(...i){var o;if(!this)return Ke[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,Za.asMutable)(this);r.kind=m.RpcController.Kind,r.types=r.node[C]=new H,r.operations=new D,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(o=r._initialize)==null||o.call(r,t)},"RpcController"),Ps=class Ps extends R{findHeader(e,t){let r=e.toLowerCase(),o;for(o of this.headers)if(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e))return o;if(this.node.parent&&this.node.parent.element instanceof Ke)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=(0,Xa.omitUndefined)({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}[gt](){return`[${Rt}RpcController${wt+this.name+We}]`}};s(Ps,"RpcControllerClass");var vs=Ps;Ke.prototype=vs.prototype;Object.assign(Ke,_t);Ke[A]=_t;var Ha=require("@jsopen/objects"),ep=require("ts-gems");var or=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ze.call(this,i,e);let t=(0,ep.asMutable)(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"),ks=class ks extends Ze{toJSON(){return(0,Ha.omitUndefined)({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};s(ks,"RpcHeaderClass");var Fs=ks;or.prototype=Fs.prototype;var tp=require("@jsopen/objects"),rp=require("ts-gems");var nr=s(function(...i){if(!this){let[o,n]=i,a=[];return nr[A].call(void 0,a,o,n)}let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,rp.asMutable)(this);r.headers=[],r.types=r.node[C]=new H,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 g?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),Cs=class Cs extends R{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=(0,tp.omitUndefined)({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}};s(Cs,"RpcOperationClass");var js=Cs;nr.prototype=js.prototype;nr[A]=fr;var ip=require("@jsopen/objects");var Us=class Us 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 g?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 g?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=(0,ip.omitUndefined)({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}};s(Us,"RpcOperationResponse");var wi=Us;var qs=class qs{static async createApi(e,t){let r=new He(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let o of t.controllers){let n=await this._createController(e,r,o);n&&r.controllers.set(n.name,n)}else for(let[o,n]of Object.entries(t.controllers)){let a=await this._createController(e,r,n,o);a&&r.controllers.set(a.name,a)}}),r}static async _createController(e,t,r,o){typeof r=="function"&&!(0,op.isConstructor)(r)&&(r=r()),r=await le(r);let n,a,p;if(typeof r=="function"){if(a=Reflect.getMetadata(ie,r),!a)return e.addError(`Class "${r.name}" doesn't have a valid RpcController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,a=Reflect.getMetadata(ie,n),a?p=r:(a=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!a)return e.addError(`Class "${n.name}" is not decorated with RpcController()`);if(o=o||a.name,!o)throw new TypeError("Controller name required");let c=new Ke(t,{...a,name:o,instance:p,ctor:n});return a.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,c,a.types)}),a.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let x of a.headers)await e.enterAsync(`[${l++}]`,async()=>{let d={...x};await e.enterAsync(".type",async()=>{x.type&&(d.type=c.node.findDataType(x.type)),!d.type&&typeof x.type=="object"&&(d.type=await L.createDataType(e,c,x.type)),d.type||(d.type=c.node.getDataType("any"))});let K=new or(c,d);c.headers.push(K)})}),a.operations&&await e.enterAsync(".operations",async()=>{for(let[l,x]of Object.entries(a.operations))await e.enterAsync(`[${l}]`,async()=>{let d=new nr(c,{...x,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,x),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,t,r.types)}),t.payloadType=await L.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await L.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let o=0;for(let n of r.headers)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await L.resolveDataType(e,t,n.type)});let p=new or(t,a);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let o=new wi(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initRpcOperationResponse(e,o,r.response),t.response=o})}static async _initRpcOperationResponse(e,t,r){t.payloadType=await L.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await L.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let o=0;for(let n of r.headers)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await L.resolveDataType(e,t,n.type)});let p=new or(t,a);t.headers.push(p)})})}};s(qs,"RpcApiFactory");var Ai=qs;var Nc="https://oprajs.com/spec/v"+m.SpecVersion,bi=class bi{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new bi,o=t instanceof fe?t:new fe(t);try{let n=new Ie;if(await r.initDocument(n,o,e),o.error.details.length)throw o.error;return n}catch(n){try{n instanceof Je||o.addError(n)}catch{}if(!o.error.message){let a=o.error.details.length;o.error.message=`(${a}) error${a>1?"s":""} found in document schema.`,o.showErrorDetails&&(o.error.message+=o.error.details.map(p=>`
|
|
9
|
+
`));throw x.errors=a,x}return e=e||new Lr,e.visit(c)}s(ws,"parse");var As=class As{constructor(e,t){if(this._rules=new D,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new D(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,o]of Object.entries(e))this.set(r,o)}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,(0,Ya.omitUndefined)({...t,operators:r}))}normalizeFilter(e,t){let r=typeof e=="string"?ws(e):e;return this.normalizeFilterAst(r,[],t)}normalizeFilterAst(e,t,r){if(e instanceof Te){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof me&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let o=this._rules.get(e.left.value);if(!o)throw new ye({message:w("error:UNACCEPTED_FILTER_FIELD",{field:e.left.value}),code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(o.operators&&!o.operators.includes(e.op))throw new ye({message:w("error:UNACCEPTED_FILTER_OPERATION",{field:e.left.value}),code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof Ee)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),t.pop(),e;if(e instanceof nt)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o.expression,t,r)),t.pop(),e;if(e instanceof Oe)return t.push(e),e.items.forEach(o=>this.normalizeFilterAst(o,t,r)),t.pop(),e;if(e instanceof ge)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof me&&r)return e.value=r.normalizeFieldPath(e.value),e.field=r.getField(e.value),e.dataType=e.field.type,e;if(e instanceof j){let o=t.findLastIndex(n=>n instanceof Te);if(o>=0){let n=t[o];if((e===n.right||t[o+1]===n.right)&&n&&n.left instanceof me&&n.left.field){if(e.value==null&&!n.left.field.required)return e.value;let a;n.op==="like"||n.op==="!like"||n.op==="ilike"||n.op==="!ilike"?a=Ga.isString:a=this._decoderCache.get(n.left.field),a||(a=n.left.field.type.generateCodec("decode",{projection:"*",ignoreWriteonlyFields:!0,ignoreHiddenFields:!0,coerce:!0}),this._decoderCache.set(n.left.field,a)),e.value=a(e.value)}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};s(As,"FilterRules");var Ae=As;var $t={};Di($t,{$and:()=>tc,$arithmetic:()=>_c,$array:()=>Qa,$date:()=>rc,$eq:()=>sc,$field:()=>nc,$gt:()=>pc,$gte:()=>cc,$ilike:()=>yc,$in:()=>uc,$like:()=>dc,$lt:()=>lc,$lte:()=>fc,$ne:()=>ac,$notILike:()=>Tc,$notIn:()=>mc,$notLike:()=>hc,$number:()=>oc,$or:()=>ec,$paren:()=>Ec,$time:()=>ic,ArithmeticExpression:()=>nt,ArithmeticExpressionItem:()=>Hr,ArrayExpression:()=>Oe,Ast:()=>Nr,BooleanLiteral:()=>st,ComparisonExpression:()=>Te,DateLiteral:()=>Re,Expression:()=>V,FilterTreeVisitor:()=>Lr,Literal:()=>j,LogicalExpression:()=>Ee,NegativeExpression:()=>Dr,NullLiteral:()=>at,NumberLiteral:()=>we,OpraErrorListener:()=>vr,ParenthesizedExpression:()=>ge,QualifiedIdentifier:()=>me,StringLiteral:()=>pt,Term:()=>ot,TimeLiteral:()=>ct,parse:()=>ws});function ec(...i){return new Ee({op:"or",items:i})}s(ec,"$or");function tc(...i){return new Ee({op:"and",items:i})}s(tc,"$and");function rc(i){return new Re(i)}s(rc,"$date");function ic(i){return new ct(i)}s(ic,"$time");function oc(i){return new we(i)}s(oc,"$number");function Qa(...i){return new Oe(i.map(hi))}s(Qa,"$array");function nc(i){return new me(i)}s(nc,"$field");function sc(i,e){return ae("=",i,e)}s(sc,"$eq");function ac(i,e){return ae("!=",i,e)}s(ac,"$ne");function pc(i,e){return ae(">",i,e)}s(pc,"$gt");function cc(i,e){return ae(">=",i,e)}s(cc,"$gte");function lc(i,e){return ae("<",i,e)}s(lc,"$lt");function fc(i,e){return ae("<=",i,e)}s(fc,"$lte");function uc(i,e){return ae("in",i,e)}s(uc,"$in");function mc(i,e){return ae("!in",i,e)}s(mc,"$notIn");function dc(i,e){return ae("like",i,e)}s(dc,"$like");function hc(i,e){return ae("!like",i,e)}s(hc,"$notLike");function yc(i,e){return ae("ilike",i,e)}s(yc,"$ilike");function Tc(i,e){return ae("!ilike",i,e)}s(Tc,"$notILike");function Ec(i){return new ge(i)}s(Ec,"$paren");function _c(i){let e=new nt;return e.add=t=>(e.append("+",qt(t)),e),e.sub=t=>(e.append("-",qt(t)),e),e.mul=t=>(e.append("*",qt(t)),e),e.div=t=>(e.append("/",qt(t)),e),e.append("+",hi(i)),e}s(_c,"$arithmetic");function ae(i,e,t){let r=hi(e),o=hi(t);return new Te({op:i,left:r,right:o})}s(ae,"comparisonExpression");var hi=s(i=>Array.isArray(i)?Qa(...i.map(qt)):qt(i),"wrapEntryValue"),qt=s(i=>i instanceof V?i:typeof i=="boolean"?new st(i):typeof i=="number"||typeof i=="bigint"?new we(i):i==null?new at:i instanceof Date?new Re(i):new pt(""+i),"_wrapEntryValue");var Bt,pe=(Bt=class{constructor(e){e&&Object.assign(this,e)}[T](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),o=e.rules?new Ae(e.rules):void 0;return xc(r,o)}[O](){return Oc}toJSON(e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");return{dataType:r.name?r.name:r.toJSON(),rules:e.rules}}},s(Bt,"FilterType"),Bt);(0,je.__decorate)([u.Attribute({description:"Data type which filtering fields belong to"}),(0,je.__metadata)("design:type",Object)],pe.prototype,"dataType",void 0);(0,je.__decorate)([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),(0,je.__metadata)("design:type",Object)],pe.prototype,"rules",void 0);pe=(0,je.__decorate)([u({description:"A query filter",nameMappings:{js:"object",json:"string"}}),(0,je.__metadata)("design:paramtypes",[Object])],pe);var xc=s((i,e)=>(0,bs.validator)("decodeFilter",(t,r,o)=>{if(typeof t=="string")try{let n=$t.parse(t);return e?e.normalizeFilter(n,i):n}catch(n){r.fail(o,`Not a valid filter expression. ${n.message}`,t);return}r.fail(o,"Nt a valid filter expression string",t)}),"decodeFilter"),Oc=(0,bs.validator)("encodeFilter",(i,e,t)=>{if(i instanceof $t.Ast)return i.toString();e.fail(t,"Not a valid filter expression",i)});var yi=require("tslib"),Ns=require("valgen");var Vt,Pr=(Vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ns.vg.isObjectId({coerce:!0})}[O](){return Ns.vg.isObjectId({coerce:!0})}},s(Vt,"ObjectIdType"),Vt);Pr=(0,yi.__decorate)([u({description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),(0,yi.__metadata)("design:paramtypes",[Object])],Pr);var F=require("tslib");var Kt,X=(Kt=class{constructor(e){e&&Object.assign(this,e)}},s(Kt,"OperationResult"),Kt);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",Number)],X.prototype,"affected",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",Number)],X.prototype,"totalMatches",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",String)],X.prototype,"context",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",String)],X.prototype,"type",void 0);(0,F.__decorate)([k(),(0,F.__metadata)("design:type",String)],X.prototype,"message",void 0);(0,F.__decorate)([k({type:"any"}),(0,F.__metadata)("design:type",Object)],X.prototype,"payload",void 0);(0,F.__decorate)([k({type:"object"}),(0,F.__metadata)("design:type",Array)],X.prototype,"errors",void 0);X=(0,F.__decorate)([H({description:"Operation result"}),(0,F.__metadata)("design:paramtypes",[Object])],X);(function(i){function e(t){var o;let r=(o=class extends i{constructor(...a){super(...a)}},s(o,"OperationResult_"),o);return(0,F.__decorate)([k({type:t,required:!0}),(0,F.__metadata)("design:type",Object)],r.prototype,"payload",void 0),r=(0,F.__decorate)([H({embedded:!0}),(0,F.__metadata)("design:paramtypes",[Object])],r),r}s(e,"forPayload"),i.forPayload=e})(X||(X={}));var Ce=require("tslib"),Fr=require("valgen");var gc=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,zt,lt=(zt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=Fr.vg.matches(gc,{formatName:"time",coerce:!0}),r=[];return e.minValue&&r.push(Fr.vg.isGte(e.minValue)),e.maxValue&&r.push(Fr.vg.isLte(e.maxValue)),r.length>0?Fr.vg.pipe([t,...r],{returnIndex:0}):t}[O](e){return this[T](e)}},s(zt,"TimeType"),zt);(0,Ce.__decorate)([u.Attribute({description:"Minimum value"}),(0,Ce.__metadata)("design:type",String)],lt.prototype,"minValue",void 0);(0,Ce.__decorate)([u.Attribute({description:"Maximum value"}),(0,Ce.__metadata)("design:type",String)],lt.prototype,"maxValue",void 0);lt=(0,Ce.__decorate)([u({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"),(0,Ce.__metadata)("design:paramtypes",[Object])],lt);var Ti=require("tslib"),Ds=require("valgen");var Jt,kr=(Jt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ds.vg.isURL({coerce:!0})}[O](){return Ds.vg.isURL({coerce:!0})}},s(Jt,"UrlType"),Jt);kr=(0,Ti.__decorate)([u({description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),(0,Ti.__metadata)("design:paramtypes",[Object])],kr);var Gt=require("tslib"),Ss=require("valgen");var Wt,Yt=(Wt=class{constructor(e){e&&Object.assign(this,e)}[T](e){return Ss.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}[O](e){return Ss.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}},s(Wt,"UuidType"),Wt);(0,Gt.__decorate)([u.Attribute({description:"Version of the UUID"}),(0,Gt.__metadata)("design:type",Number)],Yt.prototype,"version",void 0);Yt=(0,Gt.__decorate)([u({description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),(0,Gt.__metadata)("design:paramtypes",[Object])],Yt);function Ue(i,e,t){let r=Yr(e.pick,e.omit),o=typeof i=="string"?i.charAt(0).toUpperCase()+i.substring(1):i.name,n=(t==null?void 0:t.name)||o+"Mapped",a={[n]:class{constructor(){typeof i=="function"&&mr(this,i,r)}}}[n];if(typeof i=="function"&&ur(a.prototype,i.prototype),typeof i=="function"){let c=Reflect.getOwnMetadata(E,i);if(!c)throw new TypeError(`Class "${i}" 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 "${i}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:i};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(E,p,a),typeof i=="function"&&Se._applyMixin(a,i,{...e,isInheritedPredicate:r}),a}s(Ue,"createMappedClass");function Rc(i,e,t){return Ue(i,{omit:e},t)}s(Rc,"OmitType");function wc(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ue(i,{partial:t},r)}s(wc,"PartialType");function Ac(i,e,t){return Ue(i,{pick:e},t)}s(Ac,"PickType");var Ei=require("tslib"),Is=require("valgen");var Qt,jr=(Qt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Is.isAny}[O](){return Is.isAny}},s(Qt,"AnyType"),Qt);jr=(0,Ei.__decorate)([u({description:"Represents any value"}),(0,Ei.__metadata)("design:paramtypes",[Object])],jr);var _i=require("tslib"),ut=require("valgen");var qe=require("tslib"),ft=require("valgen");var Xt,de=(Xt=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue&&t.push(ft.vg.isGte(e.minValue)),e.maxValue&&t.push(ft.vg.isLte(e.maxValue)),t.length>0?ft.vg.pipe([ft.toNumber,...t],{returnIndex:0}):ft.toNumber}[O](e){return this[T](e)}},s(Xt,"NumberType"),Xt);(0,qe.__decorate)([u.Attribute({description:"Determines the minimum value"}),(0,qe.__metadata)("design:type",Number)],de.prototype,"minValue",void 0);(0,qe.__decorate)([u.Attribute({description:"Determines the maximum value"}),(0,qe.__metadata)("design:type",Number)],de.prototype,"maxValue",void 0);de=(0,qe.__decorate)([u({description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),(0,qe.__metadata)("design:paramtypes",[Object])],de);var Zt,Cr=(Zt=class extends de{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(ut.vg.isGte(e.minValue)),e.maxValue&&t.push(ut.vg.isLte(e.maxValue)),t.length>0?ut.vg.pipe([ut.toBigint,...t],{returnIndex:0}):ut.toBigint}[O](e){return this[T](e)}},s(Zt,"BigintType"),Zt);Cr=(0,_i.__decorate)([u({description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),(0,_i.__metadata)("design:paramtypes",[Object])],Cr);var xi=require("tslib"),Ms=require("valgen");var Ht,Ur=(Ht=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ms.toBoolean}[O](){return Ms.toBoolean}},s(Ht,"BooleanType"),Ht);Ur=(0,xi.__decorate)([u({description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),(0,xi.__metadata)("design:paramtypes",[Object])],Ur);var Oi=require("tslib"),mt=require("valgen");var er,$e=(er=class extends de{constructor(e){super(e)}[T](e){let t=[];return e.minValue&&t.push(mt.vg.isGte(e.minValue)),e.maxValue&&t.push(mt.vg.isLte(e.maxValue)),t.length>0?mt.vg.pipe([mt.toInteger,...t],{returnIndex:0}):mt.toInteger}[O](e){return this[T](e)}},s(er,"IntegerType"),er);$e=(0,Oi.__decorate)([u({description:"An integer number",nameMappings:{js:"number",json:"number"}}),(0,Oi.__metadata)("design:paramtypes",[Object])],$e);var gi=require("tslib"),Ls=require("valgen");var tr,qr=(tr=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ls.isNull}[O](){return Ls.isNull}},s(tr,"NullType"),tr);qr=(0,gi.__decorate)([u({description:"A Null value",nameMappings:{js:"null",json:"null"}}),(0,gi.__metadata)("design:paramtypes",[Object])],qr);var Ri=require("tslib");var rr,$r=(rr=class{constructor(e){e&&Object.assign(this,e)}},s(rr,"ObjectType"),rr);$r=(0,Ri.__decorate)([H({name:"object",description:"A non modelled object",additionalFields:!0}),(0,Ri.__metadata)("design:paramtypes",[Object])],$r);var ce=require("tslib"),Be=require("valgen");var ir,be=(ir=class{constructor(e){e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(E,Object.getPrototypeOf(this).constructor).name),t.push(Be.vg.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Be.vg.lengthMin(e.minLength)),e.maxLength&&t.push(Be.vg.lengthMax(e.maxLength)),t.length>0?Be.vg.pipe([Be.toString,...t],{returnIndex:0}):Be.toString}[O](e){return this[T](e)}},s(ir,"StringType"),ir);(0,ce.__decorate)([u.Attribute({description:"Regex pattern to be used for validation"}),(0,ce.__metadata)("design:type",Object)],be.prototype,"pattern",void 0);(0,ce.__decorate)([u.Attribute({description:"Name of the pattern"}),(0,ce.__metadata)("design:type",String)],be.prototype,"patternName",void 0);(0,ce.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,ce.__metadata)("design:type",Number)],be.prototype,"minLength",void 0);(0,ce.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,ce.__metadata)("design:type",Number)],be.prototype,"maxLength",void 0);be=(0,ce.__decorate)([u({description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),(0,ce.__metadata)("design:paramtypes",[Object])],be);function bc(i,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Ue(i,{required:t},r)}s(bc,"RequiredType");S.Entity={};S.Entity.Create=function(i,e){var n;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return o.QueryParam("projection",{description:"Determines fields projection",type:new G({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),r.push(a=>{let p=a.compositionOptions=a.compositionOptions||{};p.type=Ve(t.type)}),o};S.Entity.Delete=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"DELETE",...t,composition:"Entity.Delete"});return o.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:I.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ve(t.type)}),o};S.Entity.DeleteMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new Ae,n=new pe({dataType:t.type});n.rules={};let a=q(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return a.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:I.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}).QueryParam("filter",{type:n,description:"Determines filter fields"}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ve(t.type)}),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};S.Entity.FindMany=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new Ae,n=new pe({dataType:t.type});n.rules={};let a=q(r,{method:"GET",...t,composition:"Entity.FindMany"});return a.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:I.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new $e({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new $e({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new G({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).QueryParam("sort",{description:"Determines sort fields",type:new G({dataType:t.type,allowSigns:"first"}),isArray:!0,arraySeparator:","}),r.push(p=>{let c=p.compositionOptions=p.compositionOptions||{};c.type=Ve(t.type),t.defaultLimit&&(c.defaultLimit=t.defaultLimit),t.defaultProjection&&(c.defaultProjection=t.defaultProjection),t.maxLimit&&(c.maxLimit=t.maxLimit)}),a.DefaultSort=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.defaultSort=p}),a),a.SortFields=(...p)=>(r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.sortFields=p}),a),a.Filter=(p,c,l)=>(r.push(()=>{o.set(p,{operators:c,description:l}),n.rules=o.toJSON()}),a),a};S.Entity.Get=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"GET",...t,composition:"Entity.Get"});return o.QueryParam("projection",{description:"Determines fields projection",type:new G({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ve(t.type)}),o};S.Entity.Replace=function(i,e){let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=q(r,{method:"POST",...t,composition:"Entity.Replace"});return o.QueryParam("projection",{description:"Determines fields projection",type:new G({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),o.KeyParam=(n,a)=>{let p=typeof a=="string"||typeof a=="function"?{name:n,location:"path",type:a,keyParam:!0}:{...a,name:n,location:"path",keyParam:!0};return o.PathParam(n,p),r.push(c=>{var l;(l=c.path)!=null&&l.includes(":"+n)||(c.path=(c.path||"")+"@:"+n),c.mergePath=!0}),o},r.push(n=>{let a=n.compositionOptions=n.compositionOptions||{};a.type=Ve(t.type)}),o};S.Entity.UpdateMany=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new pe({dataType:t.type});o.rules={};let n=new Ae,a=q(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,...t.requestBody,required:!0}});return a.RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:I.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}).QueryParam("filter",{type:o,description:"Determines filter fields"}),r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ve(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{n.set(c,{operators:l,description:x}),o.rules=n.toJSON()}),a),a};S.Entity.Update=function(i,e){var p;let t;typeof i=="object"&&!i[E]?t=i:t={...e,type:i};let r=[],o=new Ae,n=new pe({dataType:t.type});n.rules={};let a=q(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,...t.requestBody,required:!0}});return a.QueryParam("projection",{description:"Determines fields projection",type:new G({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).QueryParam("filter",{type:n,description:"Determines filter fields"}).RequestContent(((p=t.requestBody)==null?void 0:p.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:I.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:I.opra_response_json}),a.KeyParam=(c,l)=>{let x=typeof l=="string"||typeof l=="function"?{name:c,location:"path",type:l,keyParam:!0}:{...l,name:c,location:"path",keyParam:!0};return a.PathParam(c,x),r.push(d=>{var K;(K=d.path)!=null&&K.includes(":"+c)||(d.path=(d.path||"")+"@:"+c),d.mergePath=!0}),a},r.push(c=>{let l=c.compositionOptions=c.compositionOptions||{};l.type=Ve(t.type)}),a.Filter=(c,l,x)=>(r.push(()=>{o.set(c,{operators:l,description:x}),n.rules=o.toJSON()}),a),a};function Ve(i){if(typeof i=="string")return i;let e=Reflect.getMetadata(E,i);if(!e)throw new TypeError(`Type (${i}) 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")}s(Ve,"getDataTypeName");var op=require("@jsopen/objects");var Xa=require("@jsopen/objects"),Za=require("ts-gems");var Ke=s(function(...i){var o;if(!this)return Ke[A].apply(void 0,i);let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,Za.asMutable)(this);r.kind=m.RpcController.Kind,r.types=r.node[C]=new ee,r.operations=new D,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(o=r._initialize)==null||o.call(r,t)},"RpcController"),Ps=class Ps extends R{findHeader(e,t){let r=e.toLowerCase(),o;for(o of this.headers)if(typeof o.name=="string"&&(o._nameLower=o._nameLower||o.name.toLowerCase(),o._nameLower===r)||o.name instanceof RegExp&&o.name.test(e))return o;if(this.node.parent&&this.node.parent.element instanceof Ke)return this.node.parent.element.findHeader(e,t)}toString(){return`[RpcController ${this.name}]`}toJSON(){let e=(0,Xa.omitUndefined)({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}[gt](){return`[${Rt}RpcController${wt+this.name+We}]`}};s(Ps,"RpcControllerClass");var vs=Ps;Ke.prototype=vs.prototype;Object.assign(Ke,_t);Ke[A]=_t;var Ha=require("@jsopen/objects"),ep=require("ts-gems");var or=s(function(i,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Ze.call(this,i,e);let t=(0,ep.asMutable)(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"),ks=class ks extends Ze{toJSON(){return(0,Ha.omitUndefined)({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};s(ks,"RpcHeaderClass");var Fs=ks;or.prototype=Fs.prototype;var tp=require("@jsopen/objects"),rp=require("ts-gems");var nr=s(function(...i){if(!this){let[o,n]=i,a=[];return nr[A].call(void 0,a,o,n)}let[e,t]=i;if(R.call(this,e),!U.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,rp.asMutable)(this);r.headers=[],r.types=r.node[C]=new ee,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 g?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType))},"RpcOperation"),Cs=class Cs extends R{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=(0,tp.omitUndefined)({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}};s(Cs,"RpcOperationClass");var js=Cs;nr.prototype=js.prototype;nr[A]=fr;var ip=require("@jsopen/objects");var Us=class Us 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 g?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 g?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=(0,ip.omitUndefined)({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}};s(Us,"RpcOperationResponse");var wi=Us;var qs=class qs{static async createApi(e,t){let r=new He(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let o of t.controllers){let n=await this._createController(e,r,o);n&&r.controllers.set(n.name,n)}else for(let[o,n]of Object.entries(t.controllers)){let a=await this._createController(e,r,n,o);a&&r.controllers.set(a.name,a)}}),r}static async _createController(e,t,r,o){typeof r=="function"&&!(0,op.isConstructor)(r)&&(r=r()),r=await le(r);let n,a,p;if(typeof r=="function"){if(a=Reflect.getMetadata(oe,r),!a)return e.addError(`Class "${r.name}" doesn't have a valid RpcController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,a=Reflect.getMetadata(oe,n),a?p=r:(a=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!a)return e.addError(`Class "${n.name}" is not decorated with RpcController()`);if(o=o||a.name,!o)throw new TypeError("Controller name required");let c=new Ke(t,{...a,name:o,instance:p,ctor:n});return a.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,c,a.types)}),a.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let x of a.headers)await e.enterAsync(`[${l++}]`,async()=>{let d={...x};await e.enterAsync(".type",async()=>{x.type&&(d.type=c.node.findDataType(x.type)),!d.type&&typeof x.type=="object"&&(d.type=await L.createDataType(e,c,x.type)),d.type||(d.type=c.node.getDataType("any"))});let K=new or(c,d);c.headers.push(K)})}),a.operations&&await e.enterAsync(".operations",async()=>{for(let[l,x]of Object.entries(a.operations))await e.enterAsync(`[${l}]`,async()=>{let d=new nr(c,{...x,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initRpcOperation(e,d,x),c.operations.set(d.name,d)})}),c}static async _initRpcOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await L.addDataTypes(e,t,r.types)}),t.payloadType=await L.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await L.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let o=0;for(let n of r.headers)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await L.resolveDataType(e,t,n.type)});let p=new or(t,a);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let o=new wi(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initRpcOperationResponse(e,o,r.response),t.response=o})}static async _initRpcOperationResponse(e,t,r){t.payloadType=await L.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await L.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let o=0;for(let n of r.headers)await e.enterAsync(`[${o++}]`,async()=>{let a={...n};await e.enterAsync(".type",async()=>{a.type=await L.resolveDataType(e,t,n.type)});let p=new or(t,a);t.headers.push(p)})})}};s(qs,"RpcApiFactory");var Ai=qs;var Nc="https://oprajs.com/spec/v"+m.SpecVersion,bi=class bi{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new bi,o=t instanceof fe?t:new fe(t);try{let n=new Ie;if(await r.initDocument(n,o,e),o.error.details.length)throw o.error;return n}catch(n){try{n instanceof Je||o.addError(n)}catch{}if(!o.error.message){let a=o.error.details.length;o.error.message=`(${a}) error${a>1?"s":""} found in document schema.`,o.showErrorDetails&&(o.error.message+=o.error.details.map(p=>`
|
|
10
10
|
|
|
11
11
|
- ${p.message}`+(p.path?`
|
|
12
|
-
@${p.path}`:"")).join(""))}throw o.error}}async initDocument(e,t,r){let o;if(typeof r=="string"){if(o=await(await fetch(r,{method:"GET"})).json(),!o)return t.addError(`Invalid response returned from url: ${r}`);o.url=r}else o=r;let n;if(!e[Ne]){let a=e.node.findDataType("string");n=a==null?void 0:a.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}o.spec=o.spec||m.SpecVersion,e.url=o.url,o.info&&(e.info={...o.info}),o.references&&await t.enterAsync(".references",async()=>{let a,p;for([a,p]of Object.entries(o.references))p=await le(p),await t.enterAsync(`[${a}]`,async()=>{if(!U.test(a))throw new TypeError(`Invalid namespace (${a})`);if(p instanceof Ie){e.references.set(a,p);return}let c=new Ie;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(a,this._allDocuments[c.id])})}),o.types&&await t.enterAsync(".types",async()=>{await L.addDataTypes(t,e,o.types)}),o.api&&await t.enterAsync(".api",async()=>{if(o.api&&o.api.transport==="http"){let a=await St.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else if(o.api&&o.api.transport==="rpc"){let a=await Ai.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else t.addError(`Unknown service transport (${o.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:Nc,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[jr,Cr,Ur,$e,qr,de,$r,be,Rr,et,tt,rt,it,
|
|
12
|
+
@${p.path}`:"")).join(""))}throw o.error}}async initDocument(e,t,r){let o;if(typeof r=="string"){if(o=await(await fetch(r,{method:"GET"})).json(),!o)return t.addError(`Invalid response returned from url: ${r}`);o.url=r}else o=r;let n;if(!e[Ne]){let a=e.node.findDataType("string");n=a==null?void 0:a.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}o.spec=o.spec||m.SpecVersion,e.url=o.url,o.info&&(e.info={...o.info}),o.references&&await t.enterAsync(".references",async()=>{let a,p;for([a,p]of Object.entries(o.references))p=await le(p),await t.enterAsync(`[${a}]`,async()=>{if(!U.test(a))throw new TypeError(`Invalid namespace (${a})`);if(p instanceof Ie){e.references.set(a,p);return}let c=new Ie;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(a,this._allDocuments[c.id])})}),o.types&&await t.enterAsync(".types",async()=>{await L.addDataTypes(t,e,o.types)}),o.api&&await t.enterAsync(".api",async()=>{if(o.api&&o.api.transport==="http"){let a=await St.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else if(o.api&&o.api.transport==="rpc"){let a=await Ai.createApi(t,{...o.api,owner:e});a&&(e.api=a)}else t.addError(`Unknown service transport (${o.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:Nc,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[jr,Cr,Ur,$e,qr,de,$r,be,Rr,et,tt,rt,it,Y,G,pe,Pr,X,lt,kr,Yt]},r=new Ie;r[Ne]=!0;let o=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),a=r.types[lr];return a.set(Object,"object"),a.set(String,"string"),a.set(Number,"number"),a.set(Boolean,"boolean"),a.set(Object,"any"),a.set(Date,"datetime"),a.set(o,"bigint"),a.set(ArrayBuffer,"base64"),a.set(SharedArrayBuffer,"base64"),a.set(n,"base64"),await this.initDocument(r,e,t),r}};s(bi,"ApiDocumentFactory");var $s=bi;var Bs;(function(i){i.HttpApiFactory=St,i.DataTypeFactory=L,i.RpcOperationDecoratorFactory=fr,i.RpcControllerDecoratorFactory=_t})(Bs||(Bs={}));var np=require("uid");
|