@decaf-ts/for-nest 0.2.32 → 0.2.34
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/dist/for-nest.cjs +1 -1
- package/dist/for-nest.cjs.map +1 -1
- package/dist/for-nest.js +1 -1
- package/dist/for-nest.js.map +1 -1
- package/lib/cli-module.cjs +4 -2
- package/lib/cli-module.js.map +1 -1
- package/lib/controllers.cjs +2 -2
- package/lib/controllers.js.map +1 -1
- package/lib/esm/cli-module.js +4 -2
- package/lib/esm/cli-module.js.map +1 -1
- package/lib/esm/controllers.js +2 -2
- package/lib/esm/controllers.js.map +1 -1
- package/lib/esm/factory/openapi/DtoBuilder.js +24 -16
- package/lib/esm/factory/openapi/DtoBuilder.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/factory/openapi/DtoBuilder.cjs +24 -16
- package/lib/factory/openapi/DtoBuilder.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/package.json +2 -1
package/dist/for-nest.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{apply as e,Metadata as t,metadata as r,Decoration as o,DecorationKeys as s}from"@decaf-ts/decoration";import{InjectablesKeys as i,DefaultInjectablesConfig as n}from"@decaf-ts/injectable-decorators";import{Delete as a,Patch as c,Put as p,Post as d,Get as l,applyDecorators as u,createParamDecorator as h,InternalServerErrorException as f,Injectable as m,Optional as y,Inject as g,SetMetadata as b,UseInterceptors as E,Scope as w,Query as A,Param as v,Response as P,Controller as O,Module as T,Catch as R,NotFoundException as x,NotAcceptableException as S,UseFilters as $,Logger as _,Global as C,Sse as I}from"@nestjs/common";import{Model as k,ValidationKeys as F}from"@decaf-ts/decorator-validation";import{AuthorizationError as D,PersistenceKeys as N,OrderDirection as L,ModelService as q,Service as j,Repository as M,ContextualLoggedClass as U,TransactionOperationKeys as B,Adapter as G,Context as H,PreparedStatementKeys as z,DefaultAdapterFlags as Y,ForbiddenError as Q,PersistenceService as J}from"@decaf-ts/core";import{isArray as X,isString as K,pickBy as V,negate as W}from"lodash";import{ApiExcludeEndpoint as Z,ApiParam as ee,ApiBearerAuth as te,ApiQuery as re,ApiOperation as oe,ApiOkResponse as se,ApiNoContentResponse as ie,ApiNotFoundResponse as ne,ApiBody as ae,getSchemaPath as ce,ApiCreatedResponse as pe,ApiBadRequestResponse as de,ApiUnprocessableEntityResponse as le,ApiTags as ue,ApiExtraModels as he,DocumentBuilder as fe,SwaggerModule as me}from"@nestjs/swagger";import{OperationKeys as ye,BulkCrudOperationKeys as ge,InternalError as be,DBKeys as Ee,ValidationError as we,BaseError as Ae}from"@decaf-ts/db-decorators";import{__decorate as ve,__param as Pe,__metadata as Oe}from"tslib";import{Reflector as Te,REQUEST as Re,APP_INTERCEPTOR as xe,ModuleRef as Se,RouterModule as $e}from"@nestjs/core";import{toPascalCase as _e,Logging as Ce,toKebabCase as Ie,LoggedEnvironment as ke}from"@decaf-ts/logging";import{readFileSync as Fe}from"fs";import*as De from"path";import{Observable as Ne}from"rxjs";const Le="swagger",qe={API_OPERATION:Le+"/apiOperation",API_RESPONSE:Le+"/apiResponse",API_PRODUCES:Le+"/apiProduces",API_CONSUMES:Le+"/apiConsumes",API_TAGS:Le+"/apiUseTags",API_CALLBACKS:Le+"/apiCallbacks",API_PARAMETERS:Le+"/apiParameters",API_HEADERS:Le+"/apiHeaders",API_MODEL_PROPERTIES:Le+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:Le+"/apiModelPropertiesArray",API_SECURITY:Le+"/apiSecurity",API_EXCLUDE_ENDPOINT:Le+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:Le+"/apiExcludeController",API_EXTRA_MODELS:Le+"/apiExtraModels",API_EXTENSION:Le+"/apiExtension",API_SCHEMA:Le+"/apiSchema",API_DEFAULT_GETTER:Le+"/apiDefaultGetter",API_LINK:Le+"/apiLink"};function je(e,t){if(!e)return[e,t];if(t)return[e,t];const r=X(e);return[r?e[0]:e,r]}const Me=e=>void 0===e;function Ue(e){if("function"==typeof e)return Ue(e());if(Array.isArray(e))return e;if("object"!=typeof e)return[];const t=Object.values(e).filter(e=>"number"==typeof e).map(e=>e.toString());return Object.keys(e).filter(e=>!t.includes(e)).map(t=>e[t])}function Be(e){return e.filter(K).length>0?"string":"number"}function Ge(e,t,r=!0){return(o,s)=>{const i=Reflect.getMetadata(qe.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+s;i.includes(n)||Reflect.defineMetadata(qe.API_MODEL_PROPERTIES_ARRAY,[...i,":"+s],o);const a=Reflect.getMetadata(e,o,s);if(a){const i=V(t,W(Me)),n=r?{...a,...i}:{...i,...a};Reflect.defineMetadata(e,n,o,s)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[s]?.type??Reflect.getMetadata("design:type",o,s);Reflect.defineMetadata(e,{type:r,required:!1,...V(t,W(Me))},o,s)}}}function He(e={}){return ze(e)}function ze(e={},t=!0){const[r,o]=je(e.type,e.isArray);if((s=e={...e,type:r,isArray:o}).isArray&&"enum"in s&&void 0!==s.enum){e.type="array";const t=Ue(e.enum);e.items={type:Be(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=Ue(e.enum);e.enum=t,e.type=Be(t)}var s;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),Ge(qe.API_MODEL_PROPERTIES,e,t)}function Ye(e,r){const{handler:o,args:s}=t.get(e,ye.REFLECT+ye.BLOCK)||{};return!!o&&(o(...s,r)??!1)}function Qe(t,r,o){const s={GET:[ye.READ,l],POST:[ye.CREATE,d],PUT:[ye.UPDATE,p],PATCH:[ye.UPDATE,c],DELETE:[ye.DELETE,a]},[i,n]=s[r];return Ye(t,i)?e(Z()):e(n(o))}function Je(t,r,o){const s={GET:[ge.READ_ALL,l],POST:[ge.CREATE_ALL,d],PUT:[ge.UPDATE_ALL,p],PATCH:[ge.UPDATE_ALL,c],DELETE:[ge.DELETE_ALL,a]},[i,n]=s[r];return Ye(t,i)?e(Z()):e(n(o))}function Xe(e=[]){const t=e.map(e=>ee({name:e.name,description:e.description??"Path parameter: "+e.name,required:e.required??!0,type:e.type??String}));return u(...t)}const Ke=h((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),s=o.class;if(!s)throw new f(`ModelConstructor not found on controller ${o.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new s(e)):new s(r):r}),Ve=h((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},s=e??Object.keys(o),i=s.map(e=>o[e]);return{raw:o,valuesInOrder:i,keysInOrder:s}});function We(e=[]){const t=e.map(e=>e.name);return Ve(t)}const Ze=h((e,t)=>{const r={...t.switchToHttp().getRequest().query??{}};if(void 0!==r.limit){const e=Number(r.limit);Number.isNaN(e)||(r.limit=e)}if(void 0!==r.offset){const e=Number(r.offset);Number.isNaN(e)||(r.offset=e)}if(void 0!==r.bookmark){const e=Number(r.bookmark);r.bookmark=Number.isNaN(e)?r.bookmark:e}return r});function et(e){const t={GET:l,POST:d,PUT:p,PATCH:c,DELETE:a}[e];if(!t)throw Error(`Unsupported HTTP verb "${e}". No NestJS decorator mapping was found.`);return t}const tt="DecafModuleOptions",rt="DecafAdapter",ot="DecafRoute",st=Symbol("DecafHandlers"),it=Symbol("DecafAdapterForOptions"),nt=Symbol("AUTH_HANDLER"),at="auth:meta",ct=Symbol("decaf:context");let pt=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(at,e.getHandler())??this.reflector.get(at,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}};function dt(e){const t="string"==typeof e?e:e.name;return u(te(),b(at,t),E(pt))}pt=ve([m(),Pe(1,y()),Pe(1,g(nt)),Oe("design:paramtypes",[Te,Object])],pt);class lt{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,r){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new D("Unauthenticated");if(!t.get(k.get(r),N.AUTH_ROLE).includes(s))throw new D("Missing role: "+s)}}class ut extends lt{constructor(){super()}async authorize(e,r){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new D("Unauthenticated");const i=t.get(k.get(r),N.AUTH_ROLE);if(!i.includes(s))throw new D("Missing role: "+s);return i}}let ht=class{constructor(e){this.req=e}get request(){return this.req}put(e){let t;try{t=this.ctx.get("overrides")}catch(e){t={}}this._ctx=this.ctx.accumulate({overrides:Object.assign(t,e)})}applyCtx(e){this._ctx=e}get ctx(){if(!this._ctx)throw new be("Context not initialized for request");return this._ctx}};ht=ve([m({scope:w.REQUEST}),Pe(0,g(Re)),Oe("design:paramtypes",[Request])],ht);let ft=class{constructor(e,t){this.handlers=e,this.context=t}async exec(e,t){for(const r of this.handlers)await r.handle(this.context,e,t)}};ft=ve([m({scope:w.REQUEST}),Pe(0,g(st)),Oe("design:paramtypes",[Array,ht])],ft);const mt=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function yt(e,t,r,o=!1){const s=et(r),i=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(mt),n=[];return"GET"===r&&o&&n.push(re({name:"direction",required:!1,enum:L,description:"the sort order when applicable"}),re({name:"limit",required:!1,description:"limit or page size when applicable"}),re({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[s(t),...i.map(ee),...n,oe({summary:`Retrieve records using according to "${e}".`}),se({description:"Result successfully retrieved."}),ie({description:"No content returned by the method."})],params:[We(i),A()]}}function gt(e,t,r,o){const s=e?.prototype??e;o.method.forEach(e=>e(s,t,r)),o.params?.forEach((e,r)=>e(s,t,r))}function bt(e,t,...r){if(e instanceof q)return"function"==typeof e[t]?e[t](...r):e.statement(t,...r);if("function"==typeof e[t])return e[t](...r);throw Error(`Persistence method "${t}" not found on ${e?.constructor?.name}`)}function Et(e){return async function(t,r){const o=this.log.for(e);try{o.debug(`Invoking persistence method "${e}" given parameters: ${JSON.stringify(t.valuesInOrder)}`);const{direction:s,limit:i,offset:n}=r;return await bt(this.persistence(),e,...t.valuesInOrder,s,i,n)}catch(t){throw o.error(`Custom query "${e}" failed`,t),t}}}function wt(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class At extends j{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,o){const s=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),U.logCtx.call(this,t,o||{},r,...e,s)}}class vt extends At{persistence(e){if(!this._persistence)try{this._persistence=q.getService(this.class)}catch(e){try{this._persistence=j.get(this.class)}catch(e){this._persistence=M.forModel(this.class)}}const t=this.clientContext.request[it]||{};return e&&this.clientContext.put(t),e?this._persistence instanceof M?this._persistence.override(t):this._persistence.for(t):this._persistence}constructor(e,t){super(e,t)}logCtx(e,t,r=!1){const o=this.clientContext.ctx;let s={};try{s=o.get("overrides")}catch(e){}const i=this.persistence(o);let n,a;return i instanceof q?n=i.repo.adapter:i instanceof M?n=i.adapter:i.context&&(n=i),r?n.logCtx(e,t,!0,s).then(e=>e):(a=n.logCtx(e,t,!1,s),a)}}const Pt=new Map;function Ot(e,r){if(!B.includes(e))return r;const o=(e=>(Pt.has(e)||Pt.set(e,new WeakMap),Pt.get(e)))(e),s=o.get(r);if(s)return s;const i=[ye.UPDATE,ge.UPDATE_ALL].includes(e);class n{}o.set(r,n),Object.defineProperty(n,"name",{value:`${_e(r.name)}${_e(e)}DTO`});const a=(()=>{try{return k.pk(r)}catch{return}})(),c=!!a&&(!!k.pkProps(r)?.generated||xt(r,a)),p=Array.from(new Set(t.properties(r)||[])),d=new Set(k.relations(r)||[]),l=p.filter(e=>!d.has(e)&&(e===a?i||!c:!xt(r,e)));for(const e of l){const t=St(r,e),o=!!t?.[F.REQUIRED],s=$t(r,e)??Reflect.getMetadata("design:type",r.prototype,e),i={required:o};s&&(i.type=s),He(i)(n.prototype,e);const a=Reflect.getMetadata("design:type",r.prototype,e)??s;void 0!==a&&Reflect.defineMetadata("design:type",a,n.prototype,e),Object.defineProperty(n.prototype,e,{value:void 0,writable:!0,enumerable:!0,configurable:!0})}for(const o of d){const s=t.relations(r,o);if(!s)throw new be(`Metadata for relation ${o} not found`);let a=s.class;if("function"!=typeof a||a.name||(a=a()),!a||"function"!=typeof a)throw new be(`Type for relation ${o} not found`);if(!k.get(a.name))continue;const c=t.validationFor(r,o),p=!!c?.[F.LIST],d=!!c?.[F.REQUIRED],l=Ot(e,a);i?Rt(n,o,a,l,p,d):Tt(n,o,l,p,d)}return n}function Tt(e,t,r,o,s){He({type:r,required:s,isArray:o})(e.prototype,t),Reflect.defineMetadata("design:type",o?Array:r,e.prototype,t),Object.defineProperty(e.prototype,t,{value:void 0,writable:!0,enumerable:!0,configurable:!0})}function Rt(e,t,r,o,s,i){const n=Reflect.getMetadata(qe.API_EXTRA_MODELS,e)||[];n.includes(o)||Reflect.defineMetadata(qe.API_EXTRA_MODELS,[...n,o],e);const a="#/components/schemas/"+o.name,c=(e=>{try{const t=k.pkProps(e),r=t?.type;return r===Number||r===BigInt?"integer":"string"}catch{return"string"}})(r),p=[{$ref:a},{type:c}];He(s?{type:"array",required:i,oneOf:p}:{type:Object,required:i,oneOf:p})(e.prototype,t),Reflect.defineMetadata("design:type",s?Array:Object,e.prototype,t),Object.defineProperty(e.prototype,t,{value:void 0,writable:!0,enumerable:!0,configurable:!0})}function xt(e,t){let r=e;for(;r&&r!==Object&&r!==Function;){if(k.generated(r,t))return!0;r=Object.getPrototypeOf(r)}return!1}function St(e,r){let o=e;for(;o&&o!==Object&&o!==Function;){const e=t.validationFor(o,r);if(e)return e;o=Object.getPrototypeOf(o)}}function $t(e,r){let o=e;for(;o&&o!==Object&&o!==Function;){const e=t.type(o,r);if(e)return e;o=Object.getPrototypeOf(o)}}G.transformerFor=(e=>{const r="string"==typeof e?e:e.alias;return t.innerGet(Symbol.for("transformers"),r)}).bind(G),G.flavoursToTransform=(()=>{const e=t.innerGet(Symbol.for("transformers"));if(e)return Object.keys(e)}).bind(G),H.prototype.toResponse=function(e){const t=this.pending();return t&&e.header("x-pending-task",JSON.stringify(t)),e};class _t{static{this.log=Ce.for(_t.name)}static getPersistence(e){try{return q.getService(e)}catch(t){return M.forModel(e)}}static createQueryRoutesFromRepository(e,r=N.QUERY){const o=_t.log.for(_t.createQueryRoutesFromRepository),s=e instanceof q?e.repo:e,i=s.class,n=t.get(s.constructor,t.key(N.QUERY))??{},a=t.get(e.constructor,t.key(ot))??{};class c extends vt{get class(){throw Error("Method not implemented.")}constructor(e,t){super(e,t)}}for(const[e,t]of Object.entries(a)){const r=[t.path.replace(/^\/+|\/+$/g,"")].filter(e=>e&&e.trim()).join("/"),s=Et(e);if(!s){const t=`Invalid or missing handler for model ${i.name} on decorated method ${e}`;throw o.error(t),Error(t)}const n=wt(c,e,s);n&>(c,e,n,yt(e,r,t.httpMethod))}for(const[e,t]of Object.entries(n)){const o=[r,e,...(t.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),s=wt(c,e,Et(e));s&>(c,e,s,yt(e,o,"GET",!0))}return c}static create(e){const t=_t.log.for(_t.create),r=k.tableName(e),o=Ie(r),s=e.name,i=_t.getPersistence(e),{description:n,getPK:a,apiProperties:c,path:p}=_t.getRouteParametersFromModel(e);t.debug("Creating controller for model: "+s);const d=_t.createQueryRoutesFromRepository(i);let l=class extends d{static get class(){return e}get class(){return e}constructor(r){super(r),this.pk=k.pk(e),t.info(`Registering dynamic controller for model: ${this.class.name} route: /${o}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],z.LIST_BY,!0)).for(this.listBy);return this.persistence(r).listBy(e,t.direction,r)}async paginateBy(e,t){const{ctx:r}=(await this.logCtx([],z.PAGE_BY,!0)).for(this.paginateBy);return this.persistence(r).paginateBy(e,t.direction,t,r)}async find(e,t){const{ctx:r}=(await this.logCtx([],z.FIND,!0)).for(this.find),o=t.direction??L.ASC;return bt(this.persistence(r),this.find.name,e,o,r)}async page(e,t){const{ctx:r}=(await this.logCtx([],z.PAGE,!0)).for(this.page),{direction:o=L.ASC,limit:s,offset:i,bookmark:n}=t,a={offset:i??1,limit:s??10,bookmark:n};return bt(this.persistence(r),this.page.name,e,o,a,r)}async findOneBy(e,t){const{ctx:r}=(await this.logCtx([],z.FIND_ONE_BY,!0)).for(this.findOneBy);return this.persistence(r).findOneBy(e,t,r)}async findBy(e,t,r){const{ctx:o}=(await this.logCtx([],z.FIND_BY,!0)).for(this.findBy);return this.persistence(o).for(o.toOverrides()).findBy(e,t,o)}async statement(e,t,r){const{ctx:o}=(await this.logCtx([],N.STATEMENT,!0)).for(this.statement),{direction:s,offset:i,limit:n,bookmark:a}=r,c=(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e)).length>1?t[1]:void 0,p=s??c;switch(p&&t.length>1&&(t[1]=p),e){case z.FIND:case z.FIND_BY:break;case z.LIST_BY:t.push(s);break;case z.PAGE:case z.PAGE_BY:t=[t[0],p,{limit:n,offset:i,bookmark:a}];case z.FIND_ONE_BY:case z.COUNT_OF:case z.MAX_OF:case z.MIN_OF:case z.AVG_OF:case z.SUM_OF:case z.DISTINCT_OF:case z.GROUP_OF:}return this.persistence(o).statement(e,...t,o)}async createAll(t,r){const{ctx:o,log:i}=(await this.logCtx([],ge.CREATE_ALL,!0)).for(this.createAll);let n;i.verbose("creating new "+s);try{n=await this.persistence(o).createAll(t.map(t=>new e(t)),o)}catch(e){throw i.error("Failed to create new "+s,e),e}return i.info(`created new ${s} with id ${n[this.pk]}`),o.toResponse(r),n}async create(e,t){const{ctx:r,log:o}=(await this.logCtx([],ye.CREATE,!0)).for(this.create);let i;o.verbose("creating new "+s);try{const t=this.persistence(r);i=await t.create(e,r)}catch(e){throw o.error("Failed to create new "+s,e),e}return o.info(`created new ${s} with id ${i[this.pk]}`),r.toResponse(t),i}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],ge.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${s}: ${e}`);const i=this.persistence(t);o=await i.readAll(e,t)}catch(t){throw r.error(`Failed to ${s} with id ${e}`,t),t}return r.info(`read ${o.length} ${s}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],ye.READ,!0)).for(this.read),o=a(...e.valuesInOrder);if(void 0===o)throw new we(`No ${this.pk} provided`);let i;try{r.debug(`reading ${s} with ${this.pk} ${o}`);const e=this.persistence(t);i=await e.read(o,t)}catch(e){throw r.error(`Failed to read ${s} with id ${o}`,e),e}return r.info(`read ${s} with id ${i[this.pk]}`),i}async updateAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],ge.UPDATE_ALL,!0)).for(this.updateAll);let i;try{o.info(`updating ${e.length} ${s}`),i=await this.persistence(r).updateAll(e,r)}catch(e){throw o.error(e),e}return r.toResponse(t),i}async update(t,r,o){const{ctx:i,log:n}=(await this.logCtx([],ye.UPDATE,!0)).for(this.update),c=a(...t.valuesInOrder);if(void 0===c)throw new we(`No ${this.pk} provided`);let p;try{n.info(`updating ${s} with ${this.pk} ${c}`);const t=JSON.parse(JSON.stringify(r)),o=this.persistence(i);p=await o.update(new e({...t,[this.pk]:c}),i)}catch(e){throw n.error(e),e}return i.toResponse(o),p}async deleteAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],ge.DELETE_ALL,!0)).for(this.deleteAll);let i;try{o.debug(`deleting ${e.length} ${s}: ${e}`),i=await this.persistence(r).deleteAll(e,r)}catch(t){throw o.error(`Failed to delete ${s} with id ${e}`,t),t}return o.info(`deleted ${i.length} ${s}`),r.toResponse(t),i}async delete(e,t){const{ctx:r,log:o}=(await this.logCtx([],ye.DELETE,!0)).for(this.delete),i=a(...e.valuesInOrder);if(void 0===i)throw new we(`No ${this.pk} provided`);let n;try{o.debug(`deleting ${s} with ${this.pk} ${i}`),n=await this.persistence(r).delete(i,r)}catch(e){throw o.error(`Failed to delete ${s} with id ${i}`,e),e}return o.info(`deleted ${s} with id ${i}`),r.toResponse(t),n}};return ve([Qe(e,"GET","listBy/:key"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to sort by"}),re({name:"direction",required:!0,enum:L}),se({description:s+" listed successfully."}),Pe(0,v("key")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"listBy",null),ve([Qe(e,"GET","paginateBy/:key/:page"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to sort by"}),ee({name:"page",description:"the page to retrieve or the bookmark"}),re({name:"direction",required:!0,enum:L,description:"the sort order"}),re({name:"limit",required:!0,description:"the page size"}),re({name:"offset",description:"the bookmark when necessary"}),se({description:s+" listed paginated."}),Pe(0,v("key")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"paginateBy",null),ve([Qe(e,"GET","find/:value"),oe({summary:`Find ${s} records using the default query attributes.`}),ee({name:"value",description:"The string to match against the default query attributes"}),re({name:"direction",required:!1,enum:L,description:"the sort order for the matching results"}),se({description:s+" records matching the provided prefix."}),Pe(0,v("value")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"find",null),ve([Qe(e,"GET","page/:value"),oe({summary:`Page ${s} records using the default query attributes.`}),ee({name:"value",description:"The string to match against the default query attributes"}),re({name:"direction",required:!1,enum:L,description:"the sort order for the paged results"}),re({name:"limit",required:!1,description:"page size"}),re({name:"offset",required:!1,description:"page number"}),re({name:"bookmark",required:!1,description:"bookmark for cursor pagination"}),se({description:s+" records paged by the provided prefix."}),Pe(0,v("value")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"page",null),ve([Qe(e,"GET","findOneBy/:key"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to sort by"}),se({description:s+" listed found."}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,v("key")),Pe(1,v("value")),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"findOneBy",null),ve([Qe(e,"GET","findBy/:key/:value"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to compare"}),ee({name:"value",description:"the value to match"}),re({name:"direction",required:!0,enum:L,description:"the sort order when applicable"}),se({description:s+" listed found."}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,v("key")),Pe(1,v("value")),Pe(2,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object,Object]),Oe("design:returntype",Promise)],l.prototype,"findBy",null),ve([Qe(e,"GET","statement/:method/*args"),oe({summary:`Executes a prepared statement on ${s}.`}),ee({name:"method",description:"the prepared statement to execute"}),ee({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),re({name:"direction",required:!0,enum:L,description:"the sort order when applicable"}),re({name:"limit",required:!0,description:"limit or page size when applicable"}),re({name:"offset",required:!0,description:"offset or bookmark when applicable"}),se({description:s+" listed found."}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,v("method")),Pe(1,v("args")),Pe(2,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Array,Object]),Oe("design:returntype",Promise)],l.prototype,"statement",null),ve([Qe(e,"POST","bulk"),oe({summary:`Create a new ${s}.`}),ae({description:"Payload for "+s,schema:{type:"array",items:{$ref:ce(e)}}}),pe({description:s+" created successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),de({description:"Payload validation failed."}),le({description:"Repository rejected the provided payload."}),Pe(0,Ke()),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Array,Object]),Oe("design:returntype",Promise)],l.prototype,"createAll",null),ve([Qe(e,"POST"),oe({summary:`Create a new ${s}.`}),ae({description:"Payload for "+s,type:Ot(ye.CREATE,e)}),pe({description:s+" created successfully.",schema:{$ref:ce(e)}}),de({description:"Payload validation failed."}),le({description:"Repository rejected the provided payload."}),Pe(0,Ke()),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Object,Object]),Oe("design:returntype",Promise)],l.prototype,"create",null),ve([Qe(e,"GET","bulk"),oe({summary:`Retrieve a ${s} record by id.`}),re({name:"ids",required:!0,type:"array"}),se({description:s+" retrieved successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,A("ids")),Oe("design:type",Function),Oe("design:paramtypes",[Array]),Oe("design:returntype",Promise)],l.prototype,"readAll",null),ve([Qe(e,"GET",p),Xe(c),oe({summary:`Retrieve a ${s} record by id.`}),se({description:s+" retrieved successfully.",schema:{$ref:ce(e)}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,We(c)),Oe("design:type",Function),Oe("design:paramtypes",[Object]),Oe("design:returntype",Promise)],l.prototype,"read",null),ve([Qe(e,"PUT","bulk"),Xe(c),oe({summary:`Replace an existing ${s} record with a new payload.`}),ae({description:"Payload for replace a existing record of "+s,schema:{type:"array",$ref:ce(Ot(ye.UPDATE,e))}}),se({description:s+" updated successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),ne({description:`No ${s} record matches the provided identifier.`}),de({description:"Payload validation failed."}),Pe(0,Ke()),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Array,Object]),Oe("design:returntype",Promise)],l.prototype,"updateAll",null),ve([Qe(e,"PUT",p),Xe(c),oe({summary:`Replace an existing ${s} record with a new payload.`}),ae({description:"Payload for replace a existing record of "+s,type:Ot(ye.UPDATE,e)}),se({description:s+" updated successfully.",schema:{$ref:ce(e)}}),ne({description:`No ${s} record matches the provided identifier.`}),de({description:"Payload validation failed."}),Pe(0,We(c)),Pe(1,Ke()),Pe(2,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Object,Object,Object]),Oe("design:returntype",Promise)],l.prototype,"update",null),ve([Qe(e,"DELETE","bulk"),Xe(c),oe({summary:`Retrieve a ${s} record by id.`}),re({name:"ids",required:!0,type:"array"}),se({description:s+" deleted successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,A("ids")),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Array,Object]),Oe("design:returntype",Promise)],l.prototype,"deleteAll",null),ve([Qe(e,"DELETE",p),Xe(c),oe({summary:`Delete a ${s} record by id.`}),se({description:s+" deleted successfully.",schema:{$ref:ce(e)}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,We(c)),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Object,Object]),Oe("design:returntype",Promise)],l.prototype,"delete",null),l=ve([O(o),ue(s),he(e),dt(e),Oe("design:paramtypes",[ht])],l),l}static getRouteParametersFromModel(e){const r=k.pk(e),o=t.get(e,t.key(Ee.COMPOSED,r)),s=o?.args??[],i=Array.isArray(s)&&s.length>0?Array.from(new Set([...s])):Array.from(new Set([r])),n=t.description(e);return{path:":"+i.join("/:"),description:n,apiProperties:i.map(r=>({name:r,description:t.description(e,r),required:!0,type:String})),getPK:(...e)=>o?.separator?e.join(o.separator):e.join("")}}}let Ct=class{constructor(e,t){this.requestContext=e,this.executor=t}async contextualize(e){const t={headers:e.headers,overrides:{}},r=G.flavoursToTransform();if(r)for(const o of r)try{const r=G.transformerFor(o),s=await r.from(e);Object.assign(t.overrides,s)}catch(e){throw new be("Failed to contextualize request: "+e)}return(new H).accumulate(Object.assign({},Y,{logger:Ce.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),o=e.switchToHttp().getResponse(),s=await this.contextualize(r);return this.requestContext.applyCtx(s),await this.executor.exec(r,o),t.handle()}};Ct=ve([m({scope:w.REQUEST}),Oe("design:paramtypes",[ht,ft])],Ct);class It{}function kt(e){return o=>(t.set("transformers",e,o),"function"==typeof o?r("transformers",e)(o):o)}function Ft(e){var t;let r=class{static{t=this}static{this.log=Ce.for(t.name).for(e)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>q.forModel(e)}))}static forRoot(e,r={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const s=G.models(e);let i=[];r.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),i=this.createModelServices(s),o.info(`Auto-services completed. ${i.length} services initialized.`));const n=s.map(_t.create);return o.info(`Generated ${n.length} controllers`),{module:t,controllers:n,providers:[{provide:st,useFactory:()=>r.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},ht,ft,{provide:xe,useClass:Ct},...i]}}};return r=t=ve([T({})],r),Object.assign(r,"name",{value:"DecafModule"+e}),r}o.for(i.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,n):n),m({scope:t.singleton?w.DEFAULT:w.REQUEST,durable:!t.singleton||void 0}))}).apply(),o.for(i.INJECT).extend({decorator:(e,t)=>(t,r,o)=>g(e||t)(t,r,o)}).apply(),o.for(F.REQUIRED).extend(He({required:!0})).apply(),o.for(F.MAX).extend({decorator:e=>He({maximum:e,required:!1})}).apply(),o.for(F.MIN).extend({decorator:e=>He({minimum:e,required:!1})}).apply(),o.for(F.MAX_LENGTH).extend({decorator:e=>He({maxLength:e,required:!1})}).apply(),o.for(F.MIN_LENGTH).extend({decorator:e=>He({minLength:e,required:!1})}).apply(),o.for(F.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),He({type:e,required:!1})(t,r))}).apply(),o.for(F.DATE).extend({decorator:e=>He({type:String,format:"date-time",required:!1})}).apply(),o.for(F.ENUM).extend({decorator:e=>He({enum:Array.isArray(e)?e:Object.values(e),required:!1})}).apply(),o.for(F.PATTERN).extend({decorator:e=>He({pattern:"string"==typeof e?e:e.source,required:!1})}).apply(),o.for(N.COLUMN).extend({decorator:e=>He({name:e,required:!1})}).apply(),o.for(s.DESCRIPTION).extend({decorator:e=>He({description:e,required:!1})}).apply(),o.for(N.AUTH).extend({decorator:dt}).apply();class Dt extends Q{constructor(e){super(e,Dt.name)}}let Nt=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),s=r.getRequest(),i="production"===ke.env;let n;e instanceof x?n=(e=new S(e.message)).getStatus():e instanceof Ae||(e=new be(e.message)),o.status(e.code||n).json({status:e.code||n,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:s.url,method:s.method})}};function Lt(){return $(new Nt)}Nt=ve([R()],Nt);const qt={path:"docs",auth:{type:"http",scheme:"bearer",bearerFormat:"JWT",name:"Authorization",description:"Enter JWT token",in:"header"},topbarBgColor:"#000000"};class jt{constructor(e){this.options={...e}}customCSS(){let e="";return this.options.topbarIconPath&&(e+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),e+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||qt.topbarBgColor}; }\n `}getCustomOptions(){const e={};return this.options.faviconPath&&(e.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...e,customCss:this.customCSS(),swaggerOptions:{persistAuthorization:this.options.persistAuthorization},jsonDocumentUrl:this.options.path?this.options.path+"/spec.json":void 0,yamlDocumentUrl:this.options.path?this.options.path+"/spec.yaml":void 0}}b64(e,t=!1){const r=De.join(this.options.assetsPath||"",e),o=Fe(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class Mt{constructor(e,t){this.app=e,this.options=t}createDocument(){const e=this.options.path?this.options.description+""+`<br><br><a href="${this.options.path}/spec.json">OpenAPI JSON Spec</a> | `+`<a href="${this.options.path}/spec.yaml">OpenAPI YAML Spec</a>`:this.options.description,t=(new fe).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||qt.auth).build();return me.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new jt({title:this.options.title,path:this.options.path||qt.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});me.setup(this.options.path||qt.path,this.app,e,{...t.getCustomOptions()})}}class Ut{static get logger(){return this._logger||(this._logger=new _("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new _("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(e=[],t=["GET","POST","PUT","DELETE"]){const r="*"===e?"*":e.map(e=>e.trim().toLowerCase()),o={origin:(e,t)=>e?"*"===r||Array.isArray(r)&&r.includes(e.toLowerCase())?t(null,!0):void t(new Dt(`Origin ${e} not allowed`)):t(null,!0),credentials:!0,methods:t.join(",")};return this.app.enableCors(o),this}static useHelmet(e){try{const t=require("helmet");this.app.use(t(e)),this.logger.log("Helmet middleware enabled successfully.")}catch(e){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(e){return new Mt(this.app,{title:e.title,description:e.description,version:e.version,path:e.path||"api",persistAuthorization:e.persistAuthorization??!0,assetsPath:e.assetsPath,faviconFilePath:e.faviconPath,topbarIconFilePath:e.topbarIconPath,topbarBgColor:e.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...e){return e.length>0&&this.app.useGlobalPipes(...e),this}static useGlobalFilters(...e){return this.app.useGlobalFilters(...e.length>0?e:[new Nt]),this}static useGlobalInterceptors(...e){return e.length>0&&this.app.useGlobalInterceptors(...e),this}static async start(e=Number(process.env.PORT)||3e3,t=void 0,r=!0){this.app.listen(e,t).then(async()=>{if(r){const e=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+e)}})}}var Bt;let Gt=class{static{Bt=this}static get persistence(){if(!this._persistence)throw new be("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=Ce.for(Bt)),this._logger}constructor(e,t){this.options=e,this.moduleRef=t}static async bootPersistence(e){const t=this.log.for(this.bootPersistence);if(!this._persistence){const r=e.conf.map(([e,t,...r])=>r.pop()?[e,t,...r]:[e,t]);this._persistence=new J,await this._persistence.boot(r);const o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,s]=r;if(!s){const e=G.transformerFor(o[t].flavour);if(!e)throw new be(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);s=e instanceof It?e:new e}kt(o[t].flavour)(s)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:tt,useValue:e},r={useFactory:async e=>Bt.bootPersistence(e),provide:rt,durable:!0,scope:w.DEFAULT,inject:[tt]};return{module:Bt,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=Bt.log.for(this.onApplicationShutdown),t=this.moduleRef.get(rt);for(const r of t)try{r&&(e.info("Shutting down "+r.toString()),await r.shutdown())}catch(t){e.error("Failed to shutdown application",t)}}};Gt=Bt=ve([C(),T({}),Pe(0,g(tt)),Oe("design:paramtypes",[Object,Se])],Gt);const Ht=Symbol("LISTENING_ADAPTERS_FLAVOURS");var zt;let Yt=zt=class extends At{constructor(e,t){super(e,zt.name),this.adapters=t.map(e=>G.get(e))}listen(){const e=Ce.for(zt.name);return new Ne(t=>{const r=new class{refresh(...e){return Promise.resolve().then(()=>{const r=(e=>{const[t,r,o,s]=e;return[t?.name??t,r,o,Array.isArray(s)?s.map(e=>e.serialize()):s?.serialize()]})(e);t.next({data:r})})}};try{for(const e of this.adapters)e.observe(r)}catch(e){t.error("Failed to observe event: "+(e.message||e))}return()=>{try{for(const e of this.adapters)e.unObserve(r)}catch(t){e.error(t)}}})}listenForModel(e){const t=Ce.for(zt.name);return new Ne(e=>{const r=new class{refresh(...t){return Promise.resolve().then(()=>{e.next({data:t})})}};try{for(const e of this.adapters)e.observe(r)}catch(t){e.error("Failed to observe event: "+(t.message||t))}return()=>{try{for(const e of this.adapters)e.unObserve(r)}catch(e){t.error(e)}}})}};var Qt;ve([I(),Oe("design:type",Function),Oe("design:paramtypes",[]),Oe("design:returntype",Ne)],Yt.prototype,"listen",null),ve([I("/:model"),Pe(0,A("model")),Oe("design:type",Function),Oe("design:paramtypes",[String]),Oe("design:returntype",Ne)],Yt.prototype,"listenForModel",null),Yt=zt=ve([O(),Pe(1,g(Ht)),Oe("design:paramtypes",[ht,Array])],Yt);let Jt=Qt=class{static forFlavours(e,t="events"){return{module:Qt,controllers:[Yt],imports:[$e.register([{path:t.replace(/^\//,""),module:Qt}])],providers:[ht,{provide:Ht,useValue:e??[]}]}}};var Xt;Jt=Qt=ve([T({})],Jt);let Kt=Xt=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,s=(await Gt.bootPersistence(e)).map(e=>e.flavour),i=[Gt.forRoot(e)];return t&&s.forEach(e=>{i.push(Ft(e).forRoot(e,{autoServices:r,handlers:o}))}),e.observerOptions?.enableObserverEvents&&i.push(Jt.forFlavours(s)),{module:Xt,imports:i}}};function Vt(e){const t=k.get(e);if(!t)throw new be("Failed to find repository for "+e);return M.forModel(t)}Kt=Xt=ve([T({})],Kt);const Wt="##VERSION##",Zt="##PACKAGE##";t.registerLibrary(Zt,Wt);export{nt as AUTH_HANDLER,at as AUTH_META_KEY,Qe as ApiOperationFromModel,Xe as ApiParamsFromModel,He as ApiProperty,dt as Auth,pt as AuthInterceptor,Je as BulkApiOperationFromModel,Dt as CorsError,rt as DECAF_ADAPTER_ID,it as DECAF_ADAPTER_OPTIONS,ct as DECAF_CONTEXT_KEY,st as DECAF_HANDLERS,tt as DECAF_MODULE_OPTIONS,ot as DECAF_ROUTE,qe as DECORATORS,Le as DECORATORS_PREFIX,lt as DecafAuthHandler,Ke as DecafBody,At as DecafController,Nt as DecafExceptionFilter,ft as DecafHandlerExecutor,vt as DecafModelController,Kt as DecafModule,We as DecafParams,Ze as DecafQuery,ht as DecafRequestContext,Ct as DecafRequestHandlerInterceptor,ut as DecafRoleAuthHandler,Jt as DecafStreamModule,Ot as DtoFor,Yt as EventsController,_t as FromModelController,et as HttpVerbToDecorator,Ut as NestBootstraper,Zt as PACKAGE_NAME,It as RequestToContextTransformer,Mt as SwaggerBuilder,Lt as UseDecafFilter,Wt as VERSION,ze as createApiPropertyDecorator,Ge as createPropertyDecorator,Be as getEnumType,Ue as getEnumValues,Ft as getModuleFor,Ye as isOperationBlocked,Me as isUndefined,Vt as repoForModel,kt as requestToContextTransformer};
|
|
1
|
+
import{apply as e,Metadata as t,metadata as r,Decoration as o,DecorationKeys as s}from"@decaf-ts/decoration";import{InjectablesKeys as i,DefaultInjectablesConfig as n}from"@decaf-ts/injectable-decorators";import{Delete as a,Patch as c,Put as p,Post as d,Get as l,applyDecorators as u,createParamDecorator as h,InternalServerErrorException as f,Injectable as m,Optional as y,Inject as g,SetMetadata as b,UseInterceptors as E,Scope as w,Query as A,Param as v,Response as P,Controller as O,Module as T,Catch as R,NotFoundException as x,NotAcceptableException as S,UseFilters as _,Logger as $,Global as C,Sse as I}from"@nestjs/common";import{Model as k,ValidationKeys as F}from"@decaf-ts/decorator-validation";import{AuthorizationError as N,PersistenceKeys as D,OrderDirection as q,ModelService as L,Service as j,Repository as M,ContextualLoggedClass as U,TransactionOperationKeys as B,Adapter as G,Context as H,PreparedStatementKeys as z,DefaultAdapterFlags as Y,ForbiddenError as Q,PersistenceService as J}from"@decaf-ts/core";import{isArray as X,isString as K,pickBy as V,negate as W}from"lodash";import{ApiExcludeEndpoint as Z,ApiParam as ee,ApiBearerAuth as te,ApiQuery as re,ApiOperation as oe,ApiOkResponse as se,ApiNoContentResponse as ie,ApiNotFoundResponse as ne,ApiBody as ae,getSchemaPath as ce,ApiCreatedResponse as pe,ApiBadRequestResponse as de,ApiUnprocessableEntityResponse as le,ApiTags as ue,ApiExtraModels as he,DocumentBuilder as fe,SwaggerModule as me}from"@nestjs/swagger";import{OperationKeys as ye,BulkCrudOperationKeys as ge,InternalError as be,DBKeys as Ee,ValidationError as we,BaseError as Ae}from"@decaf-ts/db-decorators";import{__decorate as ve,__param as Pe,__metadata as Oe}from"tslib";import{Reflector as Te,REQUEST as Re,APP_INTERCEPTOR as xe,ModuleRef as Se,RouterModule as _e}from"@nestjs/core";import{toPascalCase as $e,Logging as Ce,toKebabCase as Ie,LoggedEnvironment as ke}from"@decaf-ts/logging";import{readFileSync as Fe}from"fs";import*as Ne from"path";import{Observable as De}from"rxjs";const qe="swagger",Le={API_OPERATION:qe+"/apiOperation",API_RESPONSE:qe+"/apiResponse",API_PRODUCES:qe+"/apiProduces",API_CONSUMES:qe+"/apiConsumes",API_TAGS:qe+"/apiUseTags",API_CALLBACKS:qe+"/apiCallbacks",API_PARAMETERS:qe+"/apiParameters",API_HEADERS:qe+"/apiHeaders",API_MODEL_PROPERTIES:qe+"/apiModelProperties",API_MODEL_PROPERTIES_ARRAY:qe+"/apiModelPropertiesArray",API_SECURITY:qe+"/apiSecurity",API_EXCLUDE_ENDPOINT:qe+"/apiExcludeEndpoint",API_EXCLUDE_CONTROLLER:qe+"/apiExcludeController",API_EXTRA_MODELS:qe+"/apiExtraModels",API_EXTENSION:qe+"/apiExtension",API_SCHEMA:qe+"/apiSchema",API_DEFAULT_GETTER:qe+"/apiDefaultGetter",API_LINK:qe+"/apiLink"};function je(e,t){if(!e)return[e,t];if(t)return[e,t];const r=X(e);return[r?e[0]:e,r]}const Me=e=>void 0===e;function Ue(e){if("function"==typeof e)return Ue(e());if(Array.isArray(e))return e;if("object"!=typeof e)return[];const t=Object.values(e).filter(e=>"number"==typeof e).map(e=>e.toString());return Object.keys(e).filter(e=>!t.includes(e)).map(t=>e[t])}function Be(e){return e.filter(K).length>0?"string":"number"}function Ge(e,t,r=!0){return(o,s)=>{const i=Reflect.getMetadata(Le.API_MODEL_PROPERTIES_ARRAY,o)||[],n=":"+s;i.includes(n)||Reflect.defineMetadata(Le.API_MODEL_PROPERTIES_ARRAY,[...i,":"+s],o);const a=Reflect.getMetadata(e,o,s);if(a){const i=V(t,W(Me)),n=r?{...a,...i}:{...i,...a};Reflect.defineMetadata(e,n,o,s)}else{const r=o?.constructor?._OPENAPI_METADATA_FACTORY?.()[s]?.type??Reflect.getMetadata("design:type",o,s);Reflect.defineMetadata(e,{type:r,required:!1,...V(t,W(Me))},o,s)}}}function He(e={}){return ze(e)}function ze(e={},t=!0){const[r,o]=je(e.type,e.isArray);if((s=e={...e,type:r,isArray:o}).isArray&&"enum"in s&&void 0!==s.enum){e.type="array";const t=Ue(e.enum);e.items={type:Be(t),enum:t},delete e.enum}else if("enum"in e&&void 0!==e.enum){const t=Ue(e.enum);e.enum=t,e.type=Be(t)}var s;return Array.isArray(e.type)&&(e.type="array",e.items={type:"array",items:{type:e.type[0]}}),Ge(Le.API_MODEL_PROPERTIES,e,t)}function Ye(e,r){const{handler:o,args:s}=t.get(e,ye.REFLECT+ye.BLOCK)||{};return!!o&&(o(...s,r)??!1)}function Qe(t,r,o){const s={GET:[ye.READ,l],POST:[ye.CREATE,d],PUT:[ye.UPDATE,p],PATCH:[ye.UPDATE,c],DELETE:[ye.DELETE,a]},[i,n]=s[r];return Ye(t,i)?e(Z()):e(n(o))}function Je(t,r,o){const s={GET:[ge.READ_ALL,l],POST:[ge.CREATE_ALL,d],PUT:[ge.UPDATE_ALL,p],PATCH:[ge.UPDATE_ALL,c],DELETE:[ge.DELETE_ALL,a]},[i,n]=s[r];return Ye(t,i)?e(Z()):e(n(o))}function Xe(e=[]){const t=e.map(e=>ee({name:e.name,description:e.description??"Path parameter: "+e.name,required:e.required??!0,type:e.type??String}));return u(...t)}const Ke=h((e,t)=>{const r=t.switchToHttp().getRequest().body,o=t.getClass(),s=o.class;if(!s)throw new f(`ModelConstructor not found on controller ${o.name}. Ensure the controller was created via FromModelController.`);return r?Array.isArray(r)?r.map(e=>new s(e)):new s(r):r}),Ve=h((e,t)=>{const r=t.switchToHttp().getRequest(),o=r?.params??{},s=e??Object.keys(o),i=s.map(e=>o[e]);return{raw:o,valuesInOrder:i,keysInOrder:s}});function We(e=[]){const t=e.map(e=>e.name);return Ve(t)}const Ze=h((e,t)=>{const r={...t.switchToHttp().getRequest().query??{}};if(void 0!==r.limit){const e=Number(r.limit);Number.isNaN(e)||(r.limit=e)}if(void 0!==r.offset){const e=Number(r.offset);Number.isNaN(e)||(r.offset=e)}if(void 0!==r.bookmark){const e=Number(r.bookmark);r.bookmark=Number.isNaN(e)?r.bookmark:e}return r});function et(e){const t={GET:l,POST:d,PUT:p,PATCH:c,DELETE:a}[e];if(!t)throw Error(`Unsupported HTTP verb "${e}". No NestJS decorator mapping was found.`);return t}const tt="DecafModuleOptions",rt="DecafAdapter",ot="DecafRoute",st=Symbol("DecafHandlers"),it=Symbol("DecafAdapterForOptions"),nt=Symbol("AUTH_HANDLER"),at="auth:meta",ct=Symbol("decaf:context");let pt=class{constructor(e,t){this.reflector=e,this.authHandler=t}async intercept(e,t){const r=this.reflector.get(at,e.getHandler())??this.reflector.get(at,e.getClass());return r&&this.authHandler&&await this.authHandler.authorize(e,r),t.handle()}};function dt(e){const t="string"==typeof e?e:e.name;return u(te(),b(at,t),E(pt))}pt=ve([m(),Pe(1,y()),Pe(1,g(nt)),Oe("design:paramtypes",[Te,Object])],pt);class lt{parseRequest(e){const t=e.headers.authorization?.split(" ")[1];return t}async authorize(e,r){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new N("Unauthenticated");if(!t.get(k.get(r),D.AUTH_ROLE).includes(s))throw new N("Missing role: "+s)}}class ut extends lt{constructor(){super()}async authorize(e,r){const o=e.switchToHttp().getRequest(),s=this.parseRequest(o);if(!s)throw new N("Unauthenticated");const i=t.get(k.get(r),D.AUTH_ROLE);if(!i.includes(s))throw new N("Missing role: "+s);return i}}let ht=class{constructor(e){this.req=e}get request(){return this.req}put(e){let t;try{t=this.ctx.get("overrides")}catch(e){t={}}this._ctx=this.ctx.accumulate({overrides:Object.assign(t,e)})}applyCtx(e){this._ctx=e}get ctx(){if(!this._ctx)throw new be("Context not initialized for request");return this._ctx}};ht=ve([m({scope:w.REQUEST}),Pe(0,g(Re)),Oe("design:paramtypes",[Request])],ht);let ft=class{constructor(e,t){this.handlers=e,this.context=t}async exec(e,t){for(const r of this.handlers)await r.handle(this.context,e,t)}};ft=ve([m({scope:w.REQUEST}),Pe(0,g(st)),Oe("design:paramtypes",[Array,ht])],ft);const mt=e=>({name:e,description:e+" parameter for the query",required:!0,type:String});function yt(e,t,r,o=!1){const s=et(r),i=(e=>e.split("/").filter(e=>e.startsWith(":")).map(e=>e.slice(1)))(t).map(mt),n=[];return"GET"===r&&o&&n.push(re({name:"direction",required:!1,enum:q,description:"the sort order when applicable"}),re({name:"limit",required:!1,description:"limit or page size when applicable"}),re({name:"offset",required:!1,description:"offset or bookmark when applicable"})),{method:[s(t),...i.map(ee),...n,oe({summary:`Retrieve records using according to "${e}".`}),se({description:"Result successfully retrieved."}),ie({description:"No content returned by the method."})],params:[We(i),A()]}}function gt(e,t,r,o){const s=e?.prototype??e;o.method.forEach(e=>e(s,t,r)),o.params?.forEach((e,r)=>e(s,t,r))}function bt(e,t,...r){if(e instanceof L)return"function"==typeof e[t]?e[t](...r):e.statement(t,...r);if("function"==typeof e[t])return e[t](...r);throw Error(`Persistence method "${t}" not found on ${e?.constructor?.name}`)}function Et(e){return async function(t,r){const o=this.log.for(e);try{o.debug(`Invoking persistence method "${e}" given parameters: ${JSON.stringify(t.valuesInOrder)}`);const{direction:s,limit:i,offset:n}=r;return await bt(this.persistence(),e,...t.valuesInOrder,s,i,n)}catch(t){throw o.error(`Custom query "${e}" failed`,t),t}}}function wt(e,t,r){return Object.defineProperty(e.prototype||e,t,{value:r,writable:!1}),Object.getOwnPropertyDescriptor(e.prototype||e,t)}class At extends j{constructor(e,t){super(t),this.clientContext=e}logCtx(e,t,r=!1,o){const s=this.clientContext.ctx;return e=e.filter(e=>void 0!==e),U.logCtx.call(this,t,o||{},r,...e,s)}}class vt extends At{persistence(e){if(!this._persistence)try{this._persistence=L.getService(this.class)}catch(e){try{this._persistence=j.get(this.class)}catch(e){this._persistence=M.forModel(this.class)}}const t=this.clientContext.request[it]||{};return e&&this.clientContext.put(t),e?this._persistence instanceof M?this._persistence.override(t):this._persistence.for(t):this._persistence}constructor(e,t){super(e,t)}logCtx(e,t,r=!1){const o=this.clientContext.ctx;let s={};try{s=o.get("overrides")}catch(e){}const i=this.persistence(o);let n,a;return i instanceof L?n=i.repo._adapter:i instanceof M?n=i._adapter:i.context&&(n=i),r?n.logCtx(e,t,!0,s).then(e=>e):(a=n.logCtx(e,t,!1,s),a)}}const Pt=new Map;function Ot(e,r){if(!B.includes(e))return r;const o=(e=>(Pt.has(e)||Pt.set(e,new WeakMap),Pt.get(e)))(e),s=o.get(r);if(s)return s;const i=[ye.UPDATE,ge.UPDATE_ALL].includes(e);class n{}o.set(r,n),Object.defineProperty(n,"name",{value:`${$e(r.name)}${$e(e)}DTO`});const a=(()=>{try{return k.pk(r)}catch{return}})(),c=a?k.pkProps(r):void 0,p=a?Reflect.getMetadata("design:type",r.prototype,a):void 0,d=p===Number||p===BigInt,l=!!c?.generated||!!a&&(k.generatedBySequence(r,a)||xt(r,a)||d),u=Array.from(new Set(t.properties(r)||[])),h=new Set(k.relations(r)||[]),f=[];for(const e of u)e&&(h.has(e)||e===a&&!i&&l||e!==a&&xt(r,e)||f.push(e));for(const e of f){const t=St(r,e),o=!!t?.[F.REQUIRED],s=_t(r,e)??Reflect.getMetadata("design:type",r.prototype,e),i={required:o};s&&(i.type=s),He(i)(n.prototype,e);const a=Reflect.getMetadata("design:type",r.prototype,e)??s;void 0!==a&&Reflect.defineMetadata("design:type",a,n.prototype,e),Object.defineProperty(n.prototype,e,{value:void 0,writable:!0,enumerable:!0,configurable:!0})}for(const o of h){const s=t.relations(r,o);if(!s)throw new be(`Metadata for relation ${o} not found`);let a=s.class;if("function"!=typeof a||a.name||(a=a()),!a||"function"!=typeof a)throw new be(`Type for relation ${o} not found`);if(!k.get(a.name))continue;const c=t.validationFor(r,o),p=!!c?.[F.LIST],d=!!c?.[F.REQUIRED],l=Ot(e,a);i?Rt(n,o,a,l,p,d):Tt(n,o,l,p,d)}return n}function Tt(e,t,r,o,s){He({type:r,required:s,isArray:o})(e.prototype,t),Reflect.defineMetadata("design:type",o?Array:r,e.prototype,t),Object.defineProperty(e.prototype,t,{value:void 0,writable:!0,enumerable:!0,configurable:!0})}function Rt(e,t,r,o,s,i){const n=Reflect.getMetadata(Le.API_EXTRA_MODELS,e)||[];n.includes(o)||Reflect.defineMetadata(Le.API_EXTRA_MODELS,[...n,o],e);const a="#/components/schemas/"+o.name,c=(e=>{try{const t=k.pkProps(e),r=t?.type;return r===Number||r===BigInt?"integer":"string"}catch{return"string"}})(r),p=[{$ref:a},{type:c}];He(s?{type:"array",required:i,oneOf:p}:{type:Object,required:i,oneOf:p})(e.prototype,t),Reflect.defineMetadata("design:type",s?Array:Object,e.prototype,t),Object.defineProperty(e.prototype,t,{value:void 0,writable:!0,enumerable:!0,configurable:!0})}function xt(e,t){let r=e;for(;r&&r!==Object&&r!==Function;){if(k.generated(r,t))return!0;r=Object.getPrototypeOf(r)}return!1}function St(e,r){let o=e;for(;o&&o!==Object&&o!==Function;){const e=t.validationFor(o,r);if(e)return e;o=Object.getPrototypeOf(o)}}function _t(e,r){let o=e;for(;o&&o!==Object&&o!==Function;){const e=t.type(o,r);if(e)return e;o=Object.getPrototypeOf(o)}}G.transformerFor=(e=>{const r="string"==typeof e?e:e.alias;return t.innerGet(Symbol.for("transformers"),r)}).bind(G),G.flavoursToTransform=(()=>{const e=t.innerGet(Symbol.for("transformers"));if(e)return Object.keys(e)}).bind(G),H.prototype.toResponse=function(e){const t=this.pending();return t&&e.header("x-pending-task",JSON.stringify(t)),e};class $t{static{this.log=Ce.for($t.name)}static getPersistence(e){try{return L.getService(e)}catch(t){return M.forModel(e)}}static createQueryRoutesFromRepository(e,r=D.QUERY){const o=$t.log.for($t.createQueryRoutesFromRepository),s=e instanceof L?e.repo:e,i=s.class,n=t.get(s.constructor,t.key(D.QUERY))??{},a=t.get(e.constructor,t.key(ot))??{};class c extends vt{get class(){throw Error("Method not implemented.")}constructor(e,t){super(e,t)}}for(const[e,t]of Object.entries(a)){const r=[t.path.replace(/^\/+|\/+$/g,"")].filter(e=>e&&e.trim()).join("/"),s=Et(e);if(!s){const t=`Invalid or missing handler for model ${i.name} on decorated method ${e}`;throw o.error(t),Error(t)}const n=wt(c,e,s);n&>(c,e,n,yt(e,r,t.httpMethod))}for(const[e,t]of Object.entries(n)){const o=[r,e,...(t.fields??[]).map(e=>":"+e)].filter(e=>e&&e.trim()).join("/"),s=wt(c,e,Et(e));s&>(c,e,s,yt(e,o,"GET",!0))}return c}static create(e){const t=$t.log.for($t.create),r=k.tableName(e),o=Ie(r),s=e.name,i=$t.getPersistence(e),{description:n,getPK:a,apiProperties:c,path:p}=$t.getRouteParametersFromModel(e);t.debug("Creating controller for model: "+s);const d=$t.createQueryRoutesFromRepository(i);let l=class extends d{static get class(){return e}get class(){return e}constructor(r){super(r),this.pk=k.pk(e),t.info(`Registering dynamic controller for model: ${this.class.name} route: /${o}`)}async listBy(e,t){const{ctx:r}=(await this.logCtx([],z.LIST_BY,!0)).for(this.listBy);return this.persistence(r).listBy(e,t.direction,r)}async paginateBy(e,t){const{ctx:r}=(await this.logCtx([],z.PAGE_BY,!0)).for(this.paginateBy);return this.persistence(r).paginateBy(e,t.direction,t,r)}async find(e,t){const{ctx:r}=(await this.logCtx([],z.FIND,!0)).for(this.find),o=t.direction??q.ASC;return bt(this.persistence(r),this.find.name,e,o,r)}async page(e,t){const{ctx:r}=(await this.logCtx([],z.PAGE,!0)).for(this.page),{direction:o=q.ASC,limit:s,offset:i,bookmark:n}=t,a={offset:i??1,limit:s??10,bookmark:n};return bt(this.persistence(r),this.page.name,e,o,a,r)}async findOneBy(e,t){const{ctx:r}=(await this.logCtx([],z.FIND_ONE_BY,!0)).for(this.findOneBy);return this.persistence(r).findOneBy(e,t,r)}async findBy(e,t,r){const{ctx:o}=(await this.logCtx([],z.FIND_BY,!0)).for(this.findBy);return this.persistence(o).for(o.toOverrides()).findBy(e,t,o)}async statement(e,t,r){const{ctx:o}=(await this.logCtx([],D.STATEMENT,!0)).for(this.statement),{direction:s,offset:i,limit:n,bookmark:a}=r,c=(t=t.map(e=>("string"==typeof e?parseInt(e):e)||e)).length>1?t[1]:void 0,p=s??c;switch(p&&t.length>1&&(t[1]=p),e){case z.FIND:case z.FIND_BY:break;case z.LIST_BY:t.push(s);break;case z.PAGE:case z.PAGE_BY:t=[t[0],p,{limit:n,offset:i,bookmark:a}];case z.FIND_ONE_BY:case z.COUNT_OF:case z.MAX_OF:case z.MIN_OF:case z.AVG_OF:case z.SUM_OF:case z.DISTINCT_OF:case z.GROUP_OF:}return this.persistence(o).statement(e,...t,o)}async createAll(t,r){const{ctx:o,log:i}=(await this.logCtx([],ge.CREATE_ALL,!0)).for(this.createAll);let n;i.verbose("creating new "+s);try{n=await this.persistence(o).createAll(t.map(t=>new e(t)),o)}catch(e){throw i.error("Failed to create new "+s,e),e}return i.info(`created new ${s} with id ${n[this.pk]}`),o.toResponse(r),n}async create(e,t){const{ctx:r,log:o}=(await this.logCtx([],ye.CREATE,!0)).for(this.create);let i;o.verbose("creating new "+s);try{const t=this.persistence(r);i=await t.create(e,r)}catch(e){throw o.error("Failed to create new "+s,e),e}return o.info(`created new ${s} with id ${i[this.pk]}`),r.toResponse(t),i}async readAll(e){const{ctx:t,log:r}=(await this.logCtx([],ge.READ_ALL,!0)).for(this.readAll);let o;try{r.debug(`reading ${e.length} ${s}: ${e}`);const i=this.persistence(t);o=await i.readAll(e,t)}catch(t){throw r.error(`Failed to ${s} with id ${e}`,t),t}return r.info(`read ${o.length} ${s}`),o}async read(e){const{ctx:t,log:r}=(await this.logCtx([],ye.READ,!0)).for(this.read),o=a(...e.valuesInOrder);if(void 0===o)throw new we(`No ${this.pk} provided`);let i;try{r.debug(`reading ${s} with ${this.pk} ${o}`);const e=this.persistence(t);i=await e.read(o,t)}catch(e){throw r.error(`Failed to read ${s} with id ${o}`,e),e}return r.info(`read ${s} with id ${i[this.pk]}`),i}async updateAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],ge.UPDATE_ALL,!0)).for(this.updateAll);let i;try{o.info(`updating ${e.length} ${s}`),i=await this.persistence(r).updateAll(e,r)}catch(e){throw o.error(e),e}return r.toResponse(t),i}async update(t,r,o){const{ctx:i,log:n}=(await this.logCtx([],ye.UPDATE,!0)).for(this.update),c=a(...t.valuesInOrder);if(void 0===c)throw new we(`No ${this.pk} provided`);let p;try{n.info(`updating ${s} with ${this.pk} ${c}`);const t=JSON.parse(JSON.stringify(r)),o=this.persistence(i);p=await o.update(new e({...t,[this.pk]:c}),i)}catch(e){throw n.error(e),e}return i.toResponse(o),p}async deleteAll(e,t){const{ctx:r,log:o}=(await this.logCtx([],ge.DELETE_ALL,!0)).for(this.deleteAll);let i;try{o.debug(`deleting ${e.length} ${s}: ${e}`),i=await this.persistence(r).deleteAll(e,r)}catch(t){throw o.error(`Failed to delete ${s} with id ${e}`,t),t}return o.info(`deleted ${i.length} ${s}`),r.toResponse(t),i}async delete(e,t){const{ctx:r,log:o}=(await this.logCtx([],ye.DELETE,!0)).for(this.delete),i=a(...e.valuesInOrder);if(void 0===i)throw new we(`No ${this.pk} provided`);let n;try{o.debug(`deleting ${s} with ${this.pk} ${i}`),n=await this.persistence(r).delete(i,r)}catch(e){throw o.error(`Failed to delete ${s} with id ${i}`,e),e}return o.info(`deleted ${s} with id ${i}`),r.toResponse(t),n}};return ve([Qe(e,"GET","listBy/:key"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to sort by"}),re({name:"direction",required:!0,enum:q}),se({description:s+" listed successfully."}),Pe(0,v("key")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"listBy",null),ve([Qe(e,"GET","paginateBy/:key/:page"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to sort by"}),ee({name:"page",description:"the page to retrieve or the bookmark"}),re({name:"direction",required:!0,enum:q,description:"the sort order"}),re({name:"limit",required:!0,description:"the page size"}),re({name:"offset",description:"the bookmark when necessary"}),se({description:s+" listed paginated."}),Pe(0,v("key")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"paginateBy",null),ve([Qe(e,"GET","find/:value"),oe({summary:`Find ${s} records using the default query attributes.`}),ee({name:"value",description:"The string to match against the default query attributes"}),re({name:"direction",required:!1,enum:q,description:"the sort order for the matching results"}),se({description:s+" records matching the provided prefix."}),Pe(0,v("value")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"find",null),ve([Qe(e,"GET","page/:value"),oe({summary:`Page ${s} records using the default query attributes.`}),ee({name:"value",description:"The string to match against the default query attributes"}),re({name:"direction",required:!1,enum:q,description:"the sort order for the paged results"}),re({name:"limit",required:!1,description:"page size"}),re({name:"offset",required:!1,description:"page number"}),re({name:"bookmark",required:!1,description:"bookmark for cursor pagination"}),se({description:s+" records paged by the provided prefix."}),Pe(0,v("value")),Pe(1,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"page",null),ve([Qe(e,"GET","findOneBy/:key"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to sort by"}),se({description:s+" listed found."}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,v("key")),Pe(1,v("value")),Oe("design:type",Function),Oe("design:paramtypes",[String,Object]),Oe("design:returntype",Promise)],l.prototype,"findOneBy",null),ve([Qe(e,"GET","findBy/:key/:value"),oe({summary:`Retrieve ${s} records by query.`}),ee({name:"key",description:"the model key to compare"}),ee({name:"value",description:"the value to match"}),re({name:"direction",required:!0,enum:q,description:"the sort order when applicable"}),se({description:s+" listed found."}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,v("key")),Pe(1,v("value")),Pe(2,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Object,Object]),Oe("design:returntype",Promise)],l.prototype,"findBy",null),ve([Qe(e,"GET","statement/:method/*args"),oe({summary:`Executes a prepared statement on ${s}.`}),ee({name:"method",description:"the prepared statement to execute"}),ee({name:"args",description:"concatenated list of arguments the prepared statement can accept"}),re({name:"direction",required:!0,enum:q,description:"the sort order when applicable"}),re({name:"limit",required:!0,description:"limit or page size when applicable"}),re({name:"offset",required:!0,description:"offset or bookmark when applicable"}),se({description:s+" listed found."}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,v("method")),Pe(1,v("args")),Pe(2,Ze()),Oe("design:type",Function),Oe("design:paramtypes",[String,Array,Object]),Oe("design:returntype",Promise)],l.prototype,"statement",null),ve([Qe(e,"POST","bulk"),oe({summary:`Create a new ${s}.`}),ae({description:"Payload for "+s,schema:{type:"array",items:{$ref:ce(e)}}}),pe({description:s+" created successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),de({description:"Payload validation failed."}),le({description:"Repository rejected the provided payload."}),Pe(0,Ke()),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Array,Object]),Oe("design:returntype",Promise)],l.prototype,"createAll",null),ve([Qe(e,"POST"),oe({summary:`Create a new ${s}.`}),ae({description:"Payload for "+s,type:Ot(ye.CREATE,e)}),pe({description:s+" created successfully.",schema:{$ref:ce(e)}}),de({description:"Payload validation failed."}),le({description:"Repository rejected the provided payload."}),Pe(0,Ke()),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Object,Object]),Oe("design:returntype",Promise)],l.prototype,"create",null),ve([Qe(e,"GET","bulk"),oe({summary:`Retrieve a ${s} record by id.`}),re({name:"ids",required:!0,type:"array"}),se({description:s+" retrieved successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,A("ids")),Oe("design:type",Function),Oe("design:paramtypes",[Array]),Oe("design:returntype",Promise)],l.prototype,"readAll",null),ve([Qe(e,"GET",p),Xe(c),oe({summary:`Retrieve a ${s} record by id.`}),se({description:s+" retrieved successfully.",schema:{$ref:ce(e)}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,We(c)),Oe("design:type",Function),Oe("design:paramtypes",[Object]),Oe("design:returntype",Promise)],l.prototype,"read",null),ve([Qe(e,"PUT","bulk"),Xe(c),oe({summary:`Replace an existing ${s} record with a new payload.`}),ae({description:"Payload for replace a existing record of "+s,schema:{type:"array",$ref:ce(Ot(ye.UPDATE,e))}}),se({description:s+" updated successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),ne({description:`No ${s} record matches the provided identifier.`}),de({description:"Payload validation failed."}),Pe(0,Ke()),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Array,Object]),Oe("design:returntype",Promise)],l.prototype,"updateAll",null),ve([Qe(e,"PUT",p),Xe(c),oe({summary:`Replace an existing ${s} record with a new payload.`}),ae({description:"Payload for replace a existing record of "+s,type:Ot(ye.UPDATE,e)}),se({description:s+" updated successfully.",schema:{$ref:ce(e)}}),ne({description:`No ${s} record matches the provided identifier.`}),de({description:"Payload validation failed."}),Pe(0,We(c)),Pe(1,Ke()),Pe(2,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Object,Object,Object]),Oe("design:returntype",Promise)],l.prototype,"update",null),ve([Qe(e,"DELETE","bulk"),Xe(c),oe({summary:`Retrieve a ${s} record by id.`}),re({name:"ids",required:!0,type:"array"}),se({description:s+" deleted successfully.",schema:{type:"array",items:{$ref:ce(e)}}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,A("ids")),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Array,Object]),Oe("design:returntype",Promise)],l.prototype,"deleteAll",null),ve([Qe(e,"DELETE",p),Xe(c),oe({summary:`Delete a ${s} record by id.`}),se({description:s+" deleted successfully.",schema:{$ref:ce(e)}}),ne({description:`No ${s} record matches the provided identifier.`}),Pe(0,We(c)),Pe(1,P({passthrough:!0})),Oe("design:type",Function),Oe("design:paramtypes",[Object,Object]),Oe("design:returntype",Promise)],l.prototype,"delete",null),l=ve([O(o),ue(s),he(e),dt(e),Oe("design:paramtypes",[ht])],l),l}static getRouteParametersFromModel(e){const r=k.pk(e),o=t.get(e,t.key(Ee.COMPOSED,r)),s=o?.args??[],i=Array.isArray(s)&&s.length>0?Array.from(new Set([...s])):Array.from(new Set([r])),n=t.description(e);return{path:":"+i.join("/:"),description:n,apiProperties:i.map(r=>({name:r,description:t.description(e,r),required:!0,type:String})),getPK:(...e)=>o?.separator?e.join(o.separator):e.join("")}}}let Ct=class{constructor(e,t){this.requestContext=e,this.executor=t}async contextualize(e){const t={headers:e.headers,overrides:{}},r=G.flavoursToTransform();if(r)for(const o of r)try{const r=G.transformerFor(o),s=await r.from(e);Object.assign(t.overrides,s)}catch(e){throw new be("Failed to contextualize request: "+e)}return(new H).accumulate(Object.assign({},Y,{logger:Ce.get(),timestamp:new Date},t))}async intercept(e,t){const r=e.switchToHttp().getRequest(),o=e.switchToHttp().getResponse(),s=await this.contextualize(r);return this.requestContext.applyCtx(s),await this.executor.exec(r,o),t.handle()}};Ct=ve([m({scope:w.REQUEST}),Oe("design:paramtypes",[ht,ft])],Ct);class It{}function kt(e){return o=>(t.set("transformers",e,o),"function"==typeof o?r("transformers",e)(o):o)}function Ft(e){var t;let r=class{static{t=this}static{this.log=Ce.for(t.name).for(e)}static createModelServices(e){return e.map(e=>({provide:e.name+"Service",useFactory:()=>L.forModel(e)}))}static forRoot(e,r={}){const o=this.log.for(this.forRoot);o.info("Generating controllers for flavour...");const s=G.models(e);let i=[];r.autoServices&&(o.info("Auto-services enabled. Initializing service generation."),i=this.createModelServices(s),o.info(`Auto-services completed. ${i.length} services initialized.`));const n=s.map($t.create);return o.info(`Generated ${n.length} controllers`),{module:t,controllers:n,providers:[{provide:st,useFactory:()=>r.handlers?.map(e=>(o.info("Registered request handler: "+e.name),new e))??[]},ht,ft,{provide:xe,useClass:Ct},...i]}}};return r=t=ve([T({})],r),Object.assign(r,"name",{value:"DecafModule"+e}),r}o.for(i.INJECTABLE).extend({decorator:(e,t)=>(t=t||("object"==typeof e?Object.assign(e,n):n),m({scope:t.singleton?w.DEFAULT:w.REQUEST,durable:!t.singleton||void 0}))}).apply(),o.for(i.INJECT).extend({decorator:(e,t)=>(t,r,o)=>g(e||t)(t,r,o)}).apply(),o.for(F.REQUIRED).extend(He({required:!0})).apply(),o.for(F.MAX).extend({decorator:e=>He({maximum:e,required:!1})}).apply(),o.for(F.MIN).extend({decorator:e=>He({minimum:e,required:!1})}).apply(),o.for(F.MAX_LENGTH).extend({decorator:e=>He({maxLength:e,required:!1})}).apply(),o.for(F.MIN_LENGTH).extend({decorator:e=>He({minLength:e,required:!1})}).apply(),o.for(F.TYPE).extend({decorator:e=>(t,r)=>("function"!=typeof(e=Array.isArray(e)?e[0]:e)||e.name||(e=e()),He({type:e,required:!1})(t,r))}).apply(),o.for(F.DATE).extend({decorator:e=>He({type:String,format:"date-time",required:!1})}).apply(),o.for(F.ENUM).extend({decorator:e=>He({enum:Array.isArray(e)?e:Object.values(e),required:!1})}).apply(),o.for(F.PATTERN).extend({decorator:e=>He({pattern:"string"==typeof e?e:e.source,required:!1})}).apply(),o.for(D.COLUMN).extend({decorator:e=>He({name:e,required:!1})}).apply(),o.for(s.DESCRIPTION).extend({decorator:e=>He({description:e,required:!1})}).apply(),o.for(D.AUTH).extend({decorator:dt}).apply();class Nt extends Q{constructor(e){super(e,Nt.name)}}let Dt=class{catch(e,t){const r=t.switchToHttp(),o=r.getResponse(),s=r.getRequest(),i="production"===ke.env;let n;e instanceof x?n=(e=new S(e.message)).getStatus():e instanceof Ae||(e=new be(e.message)),o.status(e.code||n).json({status:e.code||n,error:i?e.name:e.message,timestamp:(new Date).toISOString(),path:s.url,method:s.method})}};function qt(){return _(new Dt)}Dt=ve([R()],Dt);const Lt={path:"docs",auth:{type:"http",scheme:"bearer",bearerFormat:"JWT",name:"Authorization",description:"Enter JWT token",in:"header"},topbarBgColor:"#000000"};class jt{constructor(e){this.options={...e}}customCSS(){let e="";return this.options.topbarIconPath&&(e+=`.topbar-wrapper { content: url('data:image/png;base64,${this.b64(this.options.topbarIconPath)}'); width: 200px; height: auto; }\n`),e+`\n .topbar-wrapper svg { visibility: hidden; }\n .swagger-ui .topbar { background-color: ${this.options.topbarBgColor||Lt.topbarBgColor}; }\n `}getCustomOptions(){const e={};return this.options.faviconPath&&(e.customfavIcon=this.b64(this.options.faviconPath,!0)),{customSiteTitle:this.options.title,...e,customCss:this.customCSS(),swaggerOptions:{persistAuthorization:this.options.persistAuthorization},jsonDocumentUrl:this.options.path?this.options.path+"/spec.json":void 0,yamlDocumentUrl:this.options.path?this.options.path+"/spec.yaml":void 0}}b64(e,t=!1){const r=Ne.join(this.options.assetsPath||"",e),o=Fe(r,{encoding:"base64"});return t?"data:image/png;base64,"+o:o}}class Mt{constructor(e,t){this.app=e,this.options=t}createDocument(){const e=this.options.path?this.options.description+""+`<br><br><a href="${this.options.path}/spec.json">OpenAPI JSON Spec</a> | `+`<a href="${this.options.path}/spec.yaml">OpenAPI YAML Spec</a>`:this.options.description,t=(new fe).setTitle(this.options.title).setDescription(e).setVersion(this.options.version||"0.0.1").addBearerAuth(this.options.auth||Lt.auth).build();return me.createDocument(this.app,t,{extraModels:this.options.extraModels||[]})}setupSwagger(){const e=this.createDocument(),t=new jt({title:this.options.title,path:this.options.path||Lt.path,persistAuthorization:this.options.persistAuthorization??!0,assetsPath:this.options.assetsPath,faviconPath:this.options.faviconFilePath,topbarIconPath:this.options.topbarIconFilePath,topbarBgColor:this.options.topbarBgColor});me.setup(this.options.path||Lt.path,this.app,e,{...t.getCustomOptions()})}}class Ut{static get logger(){return this._logger||(this._logger=new $("NestBootstrap")),this._logger}static initialize(e){return this.app=e,this}static enableLogger(e){return this._logger=e||new $("NestBootstrap"),this.app.useLogger(this._logger),this}static enableCors(e=[],t=["GET","POST","PUT","DELETE"]){const r="*"===e?"*":e.map(e=>e.trim().toLowerCase()),o={origin:(e,t)=>e?"*"===r||Array.isArray(r)&&r.includes(e.toLowerCase())?t(null,!0):void t(new Nt(`Origin ${e} not allowed`)):t(null,!0),credentials:!0,methods:t.join(",")};return this.app.enableCors(o),this}static useHelmet(e){try{const t=require("helmet");this.app.use(t(e)),this.logger.log("Helmet middleware enabled successfully.")}catch(e){this.logger.warn("Helmet not installed. Skipping middleware.")}return this}static setupSwagger(e){return new Mt(this.app,{title:e.title,description:e.description,version:e.version,path:e.path||"api",persistAuthorization:e.persistAuthorization??!0,assetsPath:e.assetsPath,faviconFilePath:e.faviconPath,topbarIconFilePath:e.topbarIconPath,topbarBgColor:e.topbarBgColor}).setupSwagger(),this}static useGlobalPipes(...e){return e.length>0&&this.app.useGlobalPipes(...e),this}static useGlobalFilters(...e){return this.app.useGlobalFilters(...e.length>0?e:[new Dt]),this}static useGlobalInterceptors(...e){return e.length>0&&this.app.useGlobalInterceptors(...e),this}static async start(e=Number(process.env.PORT)||3e3,t=void 0,r=!0){this.app.listen(e,t).then(async()=>{if(r){const e=await this.app.getUrl();this.logger.log("\ud83d\ude80 Application is running at: "+e)}})}}var Bt;let Gt=class{static{Bt=this}static get persistence(){if(!this._persistence)throw new be("Persistence service not initialized");return this._persistence}static get log(){return this._logger||(this._logger=Ce.for(Bt)),this._logger}constructor(e,t){this.options=e,this.moduleRef=t}static async bootPersistence(e){const t=this.log.for(this.bootPersistence);if(!this._persistence){const r=e.conf.map(([e,t,...r])=>r.pop()?[e,t,...r]:[e,t]);this._persistence=new J,await this._persistence.boot(r);const o=this._persistence.client;for(let t=0;t<o.length;t++){const r=e.conf[t];let[,,s]=r;if(!s){const e=G.transformerFor(o[t].flavour);if(!e)throw new be(`No transformer found for flavour ${o[t].flavour}. you should either @requestToContextTransformer or provide a transformer in the config`);s=e instanceof It?e:new e}kt(o[t].flavour)(s)}t.info("persistence layer created successfully!")}return this.persistence.client}static forRoot(e){const t={provide:tt,useValue:e},r={useFactory:async e=>Bt.bootPersistence(e),provide:rt,durable:!0,scope:w.DEFAULT,inject:[tt]};return{module:Bt,providers:[r,t],exports:[r]}}async onApplicationShutdown(){const e=Bt.log.for(this.onApplicationShutdown),t=this.moduleRef.get(rt);for(const r of t)try{r&&(e.info("Shutting down "+r.toString()),await r.shutdown())}catch(t){e.error("Failed to shutdown application",t)}}};Gt=Bt=ve([C(),T({}),Pe(0,g(tt)),Oe("design:paramtypes",[Object,Se])],Gt);const Ht=Symbol("LISTENING_ADAPTERS_FLAVOURS");var zt;let Yt=zt=class extends At{constructor(e,t){super(e,zt.name),this.adapters=t.map(e=>G.get(e))}listen(){const e=Ce.for(zt.name);return new De(t=>{const r=new class{refresh(...e){return Promise.resolve().then(()=>{const r=(e=>{const[t,r,o,s]=e;return[t?.name??t,r,o,Array.isArray(s)?s.map(e=>e.serialize()):s?.serialize()]})(e);t.next({data:r})})}};try{for(const e of this.adapters)e.observe(r)}catch(e){t.error("Failed to observe event: "+(e.message||e))}return()=>{try{for(const e of this.adapters)e.unObserve(r)}catch(t){e.error(t)}}})}listenForModel(e){const t=Ce.for(zt.name);return new De(e=>{const r=new class{refresh(...t){return Promise.resolve().then(()=>{e.next({data:t})})}};try{for(const e of this.adapters)e.observe(r)}catch(t){e.error("Failed to observe event: "+(t.message||t))}return()=>{try{for(const e of this.adapters)e.unObserve(r)}catch(e){t.error(e)}}})}};var Qt;ve([I(),Oe("design:type",Function),Oe("design:paramtypes",[]),Oe("design:returntype",De)],Yt.prototype,"listen",null),ve([I("/:model"),Pe(0,A("model")),Oe("design:type",Function),Oe("design:paramtypes",[String]),Oe("design:returntype",De)],Yt.prototype,"listenForModel",null),Yt=zt=ve([O(),Pe(1,g(Ht)),Oe("design:paramtypes",[ht,Array])],Yt);let Jt=Qt=class{static forFlavours(e,t="events"){return{module:Qt,controllers:[Yt],imports:[_e.register([{path:t.replace(/^\//,""),module:Qt}])],providers:[ht,{provide:Ht,useValue:e??[]}]}}};var Xt;Jt=Qt=ve([T({})],Jt);let Kt=Xt=class{static async forRootAsync(e){const{autoControllers:t,autoServices:r,handlers:o}=e,s=(await Gt.bootPersistence(e)).map(e=>e.flavour),i=[Gt.forRoot(e)];return t&&s.forEach(e=>{i.push(Ft(e).forRoot(e,{autoServices:r,handlers:o}))}),e.observerOptions?.enableObserverEvents&&i.push(Jt.forFlavours(s)),{module:Xt,imports:i}}};function Vt(e){const t=k.get(e);if(!t)throw new be("Failed to find repository for "+e);return M.forModel(t)}Kt=Xt=ve([T({})],Kt);const Wt="##VERSION##",Zt="##PACKAGE##";t.registerLibrary(Zt,Wt);export{nt as AUTH_HANDLER,at as AUTH_META_KEY,Qe as ApiOperationFromModel,Xe as ApiParamsFromModel,He as ApiProperty,dt as Auth,pt as AuthInterceptor,Je as BulkApiOperationFromModel,Nt as CorsError,rt as DECAF_ADAPTER_ID,it as DECAF_ADAPTER_OPTIONS,ct as DECAF_CONTEXT_KEY,st as DECAF_HANDLERS,tt as DECAF_MODULE_OPTIONS,ot as DECAF_ROUTE,Le as DECORATORS,qe as DECORATORS_PREFIX,lt as DecafAuthHandler,Ke as DecafBody,At as DecafController,Dt as DecafExceptionFilter,ft as DecafHandlerExecutor,vt as DecafModelController,Kt as DecafModule,We as DecafParams,Ze as DecafQuery,ht as DecafRequestContext,Ct as DecafRequestHandlerInterceptor,ut as DecafRoleAuthHandler,Jt as DecafStreamModule,Ot as DtoFor,Yt as EventsController,$t as FromModelController,et as HttpVerbToDecorator,Ut as NestBootstraper,Zt as PACKAGE_NAME,It as RequestToContextTransformer,Mt as SwaggerBuilder,qt as UseDecafFilter,Wt as VERSION,ze as createApiPropertyDecorator,Ge as createPropertyDecorator,Be as getEnumType,Ue as getEnumValues,Ft as getModuleFor,Ye as isOperationBlocked,Me as isUndefined,Vt as repoForModel,kt as requestToContextTransformer};
|
|
2
2
|
//# sourceMappingURL=for-nest.js.map
|
package/dist/for-nest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-nest.js","sources":["../src/overrides/constants.ts","../src/overrides/helpers.ts","../src/overrides/decoration.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/interceptors/AuthInterceptor.ts","../src/decaf-model/decorators/decorators.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/overrides/overrides.ts","../src/decaf-model/FromModelController.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/interceptors/context.ts","../src/decaf-model/DecafModelModule.ts","../src/decoration.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/exceptions/decorators.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.ts","../src/core-module.ts","../src/events-module/constant.ts","../src/events-module/EventsController.ts","../src/events-module/utils.ts","../src/events-module/DecafStreamModule.ts","../src/module.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[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,null,null,null],"names":["DECORATORS_PREFIX","DECORATORS","API_OPERATION","API_RESPONSE","API_PRODUCES","API_CONSUMES","API_TAGS","API_CALLBACKS","API_PARAMETERS","API_HEADERS","API_MODEL_PROPERTIES","API_MODEL_PROPERTIES_ARRAY","API_SECURITY","API_EXCLUDE_ENDPOINT","API_EXCLUDE_CONTROLLER","API_EXTRA_MODELS","API_EXTENSION","API_SCHEMA","API_DEFAULT_GETTER","API_LINK","getTypeIsArrayTuple","input","isArrayFlag","isInputArray","isArray","isUndefined","obj","getEnumValues","enumType","Array","numericValues","Object","values","filter","value","map","toString","keys","key","includes","getEnumType","isString","length","createPropertyDecorator","metakey","metadata","overrideExisting","target","propertyKey","properties","Reflect","getMetadata","defineMetadata","existingMetadata","newMetadata","pickBy","negate","metadataToSave","type","constructor","required","ApiProperty","options","createApiPropertyDecorator","opts","undefined","enum","enumValues","items","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","BulkApiOperationFromModel","BulkCrudOperationKeys","READ_ALL","CREATE_ALL","UPDATE_ALL","DELETE_ALL","ApiParamsFromModel","props","decorators","p","ApiParamDec","name","description","String","applyDecorators","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","decorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","DECAF_CONTEXT_KEY","AuthInterceptor","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","Auth","model","resource","ApiBearerAuth","SetMetadata","UseInterceptors","__decorate","Injectable","__param","Optional","Inject","Reflector","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","PersistenceKeys","AUTH_ROLE","DecafRoleAuthHandler","super","roles","DecafRequestContext","request","put","record","overrides","e","_ctx","accumulate","assign","applyCtx","InternalError","scope","Scope","REQUEST","Request","DecafHandlerExecutor","handlers","context","exec","res","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","descriptor","proto","prototype","forEach","d","index","resolvePersistenceMethod","persistence","ModelService","statement","createRouteHandler","async","pathParams","queryParams","log","for","debug","JSON","stringify","direction","error","defineRouteMethod","ControllerClass","defineProperty","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","logCtx","operation","allowCreate","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","certs","override","contextual","ctxArgs","repo","then","dtoCache","Map","DtoFor","TransactionOperationKeys","cache","has","set","WeakMap","getDtoCache","cached","isUpdateOp","DynamicDTO","toPascalCase","pkProp","pk","pkIsGenerated","pkProps","generated","isGeneratedAcrossInheritance","allProps","from","Set","relations","scalarProps","prop","validation","getValidationAcrossInheritance","isRequired","ValidationKeys","REQUIRED","typeHint","getTypeAcrossInheritance","apiOptions","designType","enumerable","configurable","relation","relationMeta","relationType","meta","validationFor","LIST","relationDto","addRelationUpdate","addRelation","DtoClass","extraModels","dtoRef","pkTypeName","pkPropsMetadata","pkType","BigInt","getPkOpenApiType","oneOfItems","$ref","oneOf","current","Function","getPrototypeOf","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","Context","toResponse","pending","header","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","httpMethod","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","find","FIND","ASC","page","PAGE","ref","findOneBy","FIND_ONE_BY","findBy","FIND_BY","toOverrides","STATEMENT","pathDirection","a","parseInt","resolvedDirection","COUNT_OF","MAX_OF","MIN_OF","AVG_OF","SUM_OF","DISTINCT_OF","GROUP_OF","createAll","resp","created","verbose","readAll","ids","read","routeParams","id","ValidationError","updateAll","updated","update","payload","parse","deleteAll","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Response","passthrough","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","separator","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","DefaultAdapterFlags","logger","timestamp","Date","getResponse","RequestToContextTransformer","requestToContextTransformer","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","Decoration","InjectablesKeys","INJECTABLE","extend","category","cfg","DefaultInjectablesConfig","singleton","DEFAULT","durable","INJECT","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","DATE","format","ENUM","PATTERN","pat","pattern","source","COLUMN","DecorationKeys","DESCRIPTION","AUTH","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","isProduction","LoggedEnvironment","env","statusCode","NotFoundException","NotAcceptableException","getStatus","BaseError","status","code","json","toISOString","url","UseDecafFilter","UseFilters","Catch","SWAGGER_UI_CONSTANTS","auth","scheme","bearerFormat","in","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","title","customCss","swaggerOptions","persistAuthorization","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","version","addBearerAuth","build","SwaggerModule","setupSwagger","document","swaggerUI","faviconFilePath","topbarIconFilePath","setup","NestBootstraper","_logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","DecafCoreModule","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","onApplicationShutdown","adapters","shutdown","Global","ModuleRef","LISTENING_ADAPTERS_FLAVOURS","EventsController","EventsController_1","Observable","observer","cb","refresh","Promise","resolve","modelConstr","serialize","normalizeEventResponse","observe","unObserve","listenForModel","Sse","DecafStreamModule","DecafStreamModule_1","forFlavours","imports","RouterModule","register","DecafModule","DecafModule_1","forRootAsync","autoControllers","observerOptions","enableObserverEvents","repoForModel","m","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-nest.js","sources":["../src/overrides/constants.ts","../src/overrides/helpers.ts","../src/overrides/decoration.ts","../src/decaf-model/decorators/ApiOperationFromModel.ts","../src/decaf-model/decorators/ApiParamsFromModel.ts","../src/decaf-model/decorators/DecafBody.ts","../src/decaf-model/decorators/DecafParams.ts","../src/decaf-model/decorators/utils.ts","../src/constants.ts","../src/interceptors/AuthInterceptor.ts","../src/decaf-model/decorators/decorators.ts","../src/request/DecafAuthHandler.ts","../src/request/DecafRequestContext.ts","../src/request/DecafHandlerExecutor.ts","../src/decaf-model/utils.ts","../src/controllers.ts","../src/factory/openapi/DtoBuilder.ts","../src/overrides/overrides.ts","../src/decaf-model/FromModelController.ts","../src/interceptors/DecafRequestHandlerInterceptor.ts","../src/interceptors/context.ts","../src/decaf-model/DecafModelModule.ts","../src/decoration.ts","../src/factory/errors/cors.ts","../src/factory/exceptions/DecafErrorFilter.ts","../src/factory/exceptions/decorators.ts","../src/factory/openapi/constants.ts","../src/factory/openapi/SwaggerCustomUI.ts","../src/factory/openapi/SwaggerBuilder.ts","../src/factory/NestBootstraper.ts","../src/core-module.ts","../src/events-module/constant.ts","../src/events-module/EventsController.ts","../src/events-module/utils.ts","../src/events-module/DecafStreamModule.ts","../src/module.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[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,null,null,null],"names":["DECORATORS_PREFIX","DECORATORS","API_OPERATION","API_RESPONSE","API_PRODUCES","API_CONSUMES","API_TAGS","API_CALLBACKS","API_PARAMETERS","API_HEADERS","API_MODEL_PROPERTIES","API_MODEL_PROPERTIES_ARRAY","API_SECURITY","API_EXCLUDE_ENDPOINT","API_EXCLUDE_CONTROLLER","API_EXTRA_MODELS","API_EXTENSION","API_SCHEMA","API_DEFAULT_GETTER","API_LINK","getTypeIsArrayTuple","input","isArrayFlag","isInputArray","isArray","isUndefined","obj","getEnumValues","enumType","Array","numericValues","Object","values","filter","value","map","toString","keys","key","includes","getEnumType","isString","length","createPropertyDecorator","metakey","metadata","overrideExisting","target","propertyKey","properties","Reflect","getMetadata","defineMetadata","existingMetadata","newMetadata","pickBy","negate","metadataToSave","type","constructor","required","ApiProperty","options","createApiPropertyDecorator","opts","undefined","enum","enumValues","items","isOperationBlocked","ModelConstructor","op","handler","args","Metadata","get","OperationKeys","REFLECT","BLOCK","ApiOperationFromModel","verb","path","httpToCrud","GET","READ","Get","POST","CREATE","Post","PUT","UPDATE","Put","PATCH","Patch","DELETE","Delete","crudOp","HttpMethodDecorator","apply","ApiExcludeEndpoint","BulkApiOperationFromModel","BulkCrudOperationKeys","READ_ALL","CREATE_ALL","UPDATE_ALL","DELETE_ALL","ApiParamsFromModel","props","decorators","p","ApiParamDec","name","description","String","applyDecorators","DecafBody","createParamDecorator","data","ctx","body","switchToHttp","getRequest","controller","getClass","ModelConstr","class","InternalServerErrorException","item","OrderedParams","order","req","original","params","orderList","ordered","k","raw","valuesInOrder","keysInOrder","DecafParams","DecafQuery","_","parsed","query","limit","n","Number","isNaN","offset","bookmark","HttpVerbToDecorator","decorator","Error","DECAF_MODULE_OPTIONS","DECAF_ADAPTER_ID","DECAF_ROUTE","DECAF_HANDLERS","Symbol","DECAF_ADAPTER_OPTIONS","AUTH_HANDLER","AUTH_META_KEY","DECAF_CONTEXT_KEY","AuthInterceptor","reflector","authHandler","this","intercept","next","modelName","getHandler","authorize","handle","Auth","model","resource","ApiBearerAuth","SetMetadata","UseInterceptors","__decorate","Injectable","__param","Optional","Inject","Reflector","DecafAuthHandler","parseRequest","userRole","headers","authorization","split","AuthorizationError","Model","PersistenceKeys","AUTH_ROLE","DecafRoleAuthHandler","super","roles","DecafRequestContext","request","put","record","overrides","e","_ctx","accumulate","assign","applyCtx","InternalError","scope","Scope","REQUEST","Request","DecafHandlerExecutor","handlers","context","exec","res","apiParamSpec","getApiDecorators","methodName","routePath","httpVerb","includeQueryParams","NestHttpRouteDec","apiPathParams","startsWith","slice","extractPathParams","swaggerQueryParams","push","ApiQuery","OrderDirection","method","ApiParam","ApiOperation","summary","ApiOkResponse","ApiNoContentResponse","Query","applyApiDecorators","descriptor","proto","prototype","forEach","d","index","resolvePersistenceMethod","persistence","ModelService","statement","createRouteHandler","async","pathParams","queryParams","log","for","debug","JSON","stringify","direction","error","defineRouteMethod","ControllerClass","defineProperty","writable","getOwnPropertyDescriptor","DecafController","Service","clientContext","logCtx","operation","allowCreate","ContextualLoggedClass","call","DecafModelController","_persistence","getService","Repository","forModel","certs","override","contextual","ctxArgs","repo","then","dtoCache","Map","DtoFor","TransactionOperationKeys","cache","has","set","WeakMap","getDtoCache","cached","isUpdateOp","DynamicDTO","toPascalCase","pkProp","pk","pkPropsMetadata","pkProps","pkDesignType","pkTypeIsNumeric","BigInt","pkIsGenerated","generated","generatedBySequence","isPropertyGeneratedAcrossInheritance","allProps","from","Set","relations","scalarProps","prop","validation","getValidationAcrossInheritance","isRequired","ValidationKeys","REQUIRED","typeHint","getTypeAcrossInheritance","apiOptions","designType","enumerable","configurable","relation","relationMeta","relationType","meta","validationFor","LIST","relationDto","addRelationUpdate","addRelation","DtoClass","extraModels","dtoRef","pkTypeName","pkType","getPkOpenApiType","oneOfItems","$ref","oneOf","current","Function","getPrototypeOf","Adapter","transformerFor","adapter","alias","bind","flavoursToTransform","Context","toResponse","pending","header","FromModelController","Logging","getPersistence","ModelClazz","createQueryRoutesFromRepository","prefix","QUERY","queryMethods","routeMethods","QueryController","entries","replace","segment","trim","join","message","httpMethod","objValues","fields","f","create","tableName","toKebabCase","modelClazzName","getPK","apiProperties","getRouteParametersFromModel","BaseController","DynamicModelController","info","listBy","details","PreparedStatementKeys","LIST_BY","paginateBy","PAGE_BY","find","FIND","ASC","page","PAGE","ref","findOneBy","FIND_ONE_BY","findBy","FIND_BY","toOverrides","STATEMENT","pathDirection","a","parseInt","resolvedDirection","COUNT_OF","MAX_OF","MIN_OF","AVG_OF","SUM_OF","DISTINCT_OF","GROUP_OF","createAll","resp","created","verbose","readAll","ids","read","routeParams","id","ValidationError","updateAll","updated","update","payload","parse","deleteAll","delete","del","Param","ApiNotFoundResponse","ApiBody","schema","getSchemaPath","ApiCreatedResponse","ApiBadRequestResponse","ApiUnprocessableEntityResponse","Response","passthrough","Controller","ApiTags","ApiExtraModels","composed","DBKeys","COMPOSED","composedKeys","uniqueKeys","separator","DecafRequestHandlerInterceptor","requestContext","executor","contextualize","flags","flavours","flavour","transformer","DefaultAdapterFlags","logger","timestamp","Date","getResponse","RequestToContextTransformer","requestToContextTransformer","getModuleFor","DecafModelModule","DecafModelModule_1","createModelServices","models","provide","useFactory","forRoot","trackedModels","modelServices","autoServices","controllers","module","providers","H","APP_INTERCEPTOR","useClass","Module","Decoration","InjectablesKeys","INJECTABLE","extend","category","cfg","DefaultInjectablesConfig","singleton","DEFAULT","durable","INJECT","MAX","max","maximum","MIN","min","minimum","MAX_LENGTH","maxLength","MIN_LENGTH","minLength","TYPE","DATE","format","ENUM","PATTERN","pat","pattern","source","COLUMN","DecorationKeys","DESCRIPTION","AUTH","CorsError","ForbiddenError","msg","DecafExceptionFilter","exception","host","response","isProduction","LoggedEnvironment","env","statusCode","NotFoundException","NotAcceptableException","getStatus","BaseError","status","code","json","toISOString","url","UseDecafFilter","UseFilters","Catch","SWAGGER_UI_CONSTANTS","auth","scheme","bearerFormat","in","topbarBgColor","SwaggerCustomUI","customCSS","css","topbarIconPath","b64","getCustomOptions","favicon","faviconPath","customSiteTitle","title","customCss","swaggerOptions","persistAuthorization","jsonDocumentUrl","yamlDocumentUrl","file","img","filePath","assetsPath","readFileSync","encoding","SwaggerBuilder","app","createDocument","config","DocumentBuilder","setTitle","setDescription","setVersion","version","addBearerAuth","build","SwaggerModule","setupSwagger","document","swaggerUI","faviconFilePath","topbarIconFilePath","setup","NestBootstraper","_logger","Logger","initialize","enableLogger","customLogger","useLogger","enableCors","origins","allowMethods","allowedOrigins","o","toLowerCase","corsOptions","origin","callback","credentials","methods","useHelmet","helmet","require","use","warn","useGlobalPipes","pipes","useGlobalFilters","filters","useGlobalInterceptors","interceptors","start","port","process","PORT","listen","getUrl","DecafCoreModule","DecafCoreModule_1","moduleRef","bootPersistence","trimmed","conf","contr","pop","PersistenceService","boot","clients","client","i","c","typeOrmModuleOptions","useValue","inject","onApplicationShutdown","adapters","shutdown","Global","ModuleRef","LISTENING_ADAPTERS_FLAVOURS","EventsController","EventsController_1","Observable","observer","cb","refresh","Promise","resolve","modelConstr","serialize","normalizeEventResponse","observe","unObserve","listenForModel","Sse","DecafStreamModule","DecafStreamModule_1","forFlavours","imports","RouterModule","register","DecafModule","DecafModule_1","forRootAsync","autoControllers","observerOptions","enableObserverEvents","repoForModel","m","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"4+DAAO,MAAMA,GAAoB,UACpBC,GAAa,CACxBC,cAAkBF,GAAH,gBACfG,aAAiBH,GAAH,eACdI,aAAiBJ,GAAH,eACdK,aAAiBL,GAAH,eACdM,SAAaN,GAAH,cACVO,cAAkBP,GAAH,gBACfQ,eAAmBR,GAAH,iBAChBS,YAAgBT,GAAH,cACbU,qBAAyBV,GAAH,sBACtBW,2BAA+BX,GAAH,2BAC5BY,aAAiBZ,GAAH,eACda,qBAAyBb,GAAH,sBACtBc,uBAA2Bd,GAAH,wBACxBe,iBAAqBf,GAAH,kBAClBgB,cAAkBhB,GAAH,gBACfiB,WAAejB,GAAH,aACZkB,mBAAuBlB,GAAH,oBACpBmB,SAAanB,GAAH,qBCuLIoB,GAEdC,EACAC,GAGA,IAAKD,EACH,MAAO,CAACA,EAAoBC,GAE9B,GAAIA,EAEF,MAAO,CAACD,EAAmBC,GAE7B,MAAMC,EAAeC,EAAQH,GAG7B,MAAO,CAFME,EAAeF,EAAM,GAAKA,EAEbE,EAC5B,CChNO,MAAME,GAAeC,QACX,IAARA,EAEH,SAAUC,GACdC,GAEA,GAAwB,mBAAbA,EACT,OAAOD,GAAcC,KAGvB,GAAIC,MAAML,QAAQI,GAChB,OAAOA,EAET,GAAwB,iBAAbA,EACT,MAAO,GAcT,MAAME,EAAgBC,OAAOC,OAAOJ,GACjCK,OAAQC,GAA2B,iBAAVA,GACzBC,IAAKD,GAAeA,EAAME,YAE7B,OAAOL,OAAOM,KAAKT,GAChBK,OAAQK,IAASR,EAAcS,SAASD,IACxCH,IAAKG,GAAQV,EAASU,GAC3B,CAEM,SAAUE,GAAYR,GAE1B,OADkBA,EAAOC,OAAOQ,GAAUC,OAAS,EAChC,SAAW,QAChC,CAEM,SAAUC,GACdC,EACAC,EACAC,GAAmB,GAEnB,MAAA,CAASC,EAAgBC,KACvB,MAAMC,EACJC,QAAQC,YAAYlD,GAAWU,2BAA4BoC,IAAW,GAElET,EAAM,IAAIU,EACXC,EAAWV,SAASD,IACvBY,QAAQE,eACNnD,GAAWU,2BACX,IAAIsC,EAAY,IAAID,GACpBD,GAGJ,MAAMM,EAAmBH,QAAQC,YAAYP,EAASG,EAAQC,GAC9D,GAAIK,EAAkB,CACpB,MAAMC,EAAcC,EAAOV,EAAUW,EAAO/B,KACtCgC,EAAiBX,EACnB,IACKO,KACAC,GAEL,IACKA,KACAD,GAGTH,QAAQE,eAAeR,EAASa,EAAgBV,EAAQC,EAC1D,KAAO,CACL,MAAMU,EAEJX,GAAQY,aAAmC,8BAAMX,IAAcU,MAC/DR,QAAQC,YAAY,cAAeJ,EAAQC,GAE7CE,QAAQE,eACNR,EACA,CACEc,OACAE,UAAU,KACPL,EAAOV,EAAUW,EAAO/B,MAE7BsB,EACAC,EAEJ,CACD,CACH,CAoCM,SAAUa,GACdC,EAA8B,IAE9B,OAAOC,GAA2BD,EACpC,CAEM,SAAUC,GACdD,EAA8B,GAC9BhB,GAAmB,GAEnB,MAAOY,EAAMlC,GAAWJ,GACtB0C,EAAQJ,KACRI,EAAQtC,SAQV,IA/BAwC,EAyBAF,EAAU,IACLA,EACHJ,OACAlC,YAtBOA,SAAW,SAAUwC,QAAsBC,IAAdD,EAAKE,KAyBjB,CACxBJ,EAAQJ,KAAO,QAEf,MAAMS,EAAaxC,GAAcmC,EAAQI,MACzCJ,EAAQM,MAAQ,CACdV,KAAMlB,GAAY2B,GAClBD,KAAMC,UAGDL,EAAQI,IACjB,MAAO,GAAI,SAAUJ,QAA4BG,IAAjBH,EAAQI,KAAoB,CAC1D,MAAMC,EAAaxC,GAAcmC,EAAQI,MAEzCJ,EAAQI,KAAOC,EACfL,EAAQJ,KAAOlB,GAAY2B,EAC7B,CA/CkB,IAClBH,EA0DA,OAVInC,MAAML,QAAQsC,EAAQJ,QACxBI,EAAQJ,KAAO,QACfI,EAAQM,MAAQ,CACdV,KAAM,QACNU,MAAO,CACLV,KAAMI,EAAQJ,KAAK,MAKlBf,GACL1C,GAAWS,qBACXoD,EACAhB,EAEJ,CC1KM,SAAUuB,GACdC,EACAC,GAEA,MAAMC,QAAEA,EAAOC,KAAEA,GAAUC,EAASC,IAClCL,EACAM,GAAcC,QAAUD,GAAcE,QACnC,CAAA,EASL,QAAQN,IAAmBA,KAAWC,EAAMF,KAAO,EACrD,UAUgBQ,GACdT,EACAU,EACAC,GAEA,MAAMC,EAGF,CACFC,IAAK,CAACP,GAAcQ,KAAMC,GAC1BC,KAAM,CAACV,GAAcW,OAAQC,GAC7BC,IAAK,CAACb,GAAcc,OAAQC,GAC5BC,MAAO,CAAChB,GAAcc,OAAQG,GAC9BC,OAAQ,CAAClB,GAAckB,OAAQC,KAG1BC,EAAQC,GAAuBf,EAAWF,GACjD,OAAOX,GAAmBC,EAAkB0B,GACxCE,EAAMC,KACND,EAAMD,EAAoBhB,GAChC,UASgBmB,GACd9B,EACAU,EACAC,GAEA,MAAMC,EAGF,CACFC,IAAK,CAACkB,GAAsBC,SAAUjB,GACtCC,KAAM,CAACe,GAAsBE,WAAYf,GACzCC,IAAK,CAACY,GAAsBG,WAAYb,GACxCC,MAAO,CAACS,GAAsBG,WAAYX,GAC1CC,OAAQ,CAACO,GAAsBI,WAAYV,KAGtCC,EAAQC,GAAuBf,EAAWF,GACjD,OAAOX,GAAmBC,EAAkB0B,GACxCE,EAAMC,KACND,EAAMD,EAAoBhB,GAChC,CCjFM,SAAUyB,GACdC,EAA4B,IAE5B,MAAMC,EAAaD,EAAMxE,IAAK0E,GAC5BC,GAAY,CACVC,KAAMF,EAAEE,KACRC,YAAaH,EAAEG,aAAe,mBAAmBH,EAAEE,KACnDnD,SAAUiD,EAAEjD,WAAY,EAExBF,KAAMmD,EAAEnD,MAAQuD,UAGpB,OAAOC,KAAmBN,EAC5B,CClBO,MAAMO,GAAYC,EACvB,CAACC,EAAeC,KACd,MACMC,EADUD,EAAIE,eAAeC,aACdF,KAGfG,EAAaJ,EAAIK,WAEjBC,EAAeF,EAAmBG,MAExC,IAAKD,EACH,MAAM,IAAIE,EACR,4CAA4CJ,EAAWX,oEAI3D,OAAKQ,EAED1F,MAAML,QAAQ+F,GACTA,EAAKpF,IAAK4F,GAAS,IAAIH,EAAYG,IAGrC,IAAIH,EAAYL,GANLA,ICZhBS,GAAgBZ,EACpB,CAACa,EAA6BX,KAC5B,MAAMY,EAAMZ,EAAIE,eAAeC,aACzBU,EAAYD,GAAKE,QAAU,GAC3BC,EAAYJ,GAASlG,OAAOM,KAAK8F,GACjCG,EAAUD,EAAUlG,IAAKoG,GAAMJ,EAASI,IAC9C,MAAO,CAAEC,IAAKL,EAAUM,cAAeH,EAASI,YAAaL,KAU3D,SAAUM,GACdhC,EAA4B,IAE5B,MAAMsB,EAAQtB,EAAMxE,IAAK0E,GAAMA,EAAEE,MACjC,OAAOiB,GAAcC,EACvB,CAEO,MAAMW,GAAaxB,EACxB,CAACyB,EAAYvB,KACX,MAGMwB,EAAc,IAHRxB,EAAIE,eAAeC,aACbsB,OAAS,CAAA,GAK3B,QAAqB9E,IAAjB6E,EAAOE,MAAqB,CAC9B,MAAMC,EAAIC,OAAOJ,EAAOE,OACnBE,OAAOC,MAAMF,KAAIH,EAAOE,MAAQC,EACvC,CAEA,QAAsBhF,IAAlB6E,EAAOM,OAAsB,CAC/B,MAAMH,EAAIC,OAAOJ,EAAOM,QACnBF,OAAOC,MAAMF,KAAIH,EAAOM,OAASH,EACxC,CAGA,QAAwBhF,IAApB6E,EAAOO,SAAwB,CACjC,MAAMJ,EAAIC,OAAOJ,EAAOO,UACxBP,EAAOO,SAAWH,OAAOC,MAAMF,GAAKH,EAAOO,SAAWJ,CACxD,CAEA,OAAOH,ICjDL,SAAUQ,GACdtE,GAEA,MAQMuE,EARoE,CACxEpE,IAAKE,EACLC,KAAME,EACNC,IAAKE,EACLC,MAAOC,EACPC,OAAQC,GAGmBf,GAE7B,IAAKuE,EACH,MAAUC,MACR,0BAA0BxE,8CAI9B,OAAOuE,CACT,CC7BO,MAAME,GAAuB,qBACvBC,GAAmB,eAEnBC,GAAc,aACdC,GAAiBC,OAAO,iBACxBC,GAAwBD,OAAO,0BAE/BE,GAAeF,OAAO,gBACtBG,GAAgB,YAEhBC,GAAoBJ,OAAO,iBCGjC,IAAMK,GAAN,MACL,WAAAvG,CACmBwG,EACkCC,GADlCC,KAAAF,UAAAA,EACkCE,KAAAD,YAAAA,CAClD,CAEH,eAAME,CACJhD,EACAiD,GAEA,MAAMC,EACJH,KAAKF,UAAUxF,IACbqF,GACA1C,EAAImD,eAENJ,KAAKF,UAAUxF,IAA0BqF,GAAe1C,EAAIK,YAM9D,OAJI6C,GAAaH,KAAKD,mBACdC,KAAKD,YAAYM,UAAUpD,EAAKkD,GAGjCD,EAAKI,QACd,GCLI,SAAUC,GAAKC,GACnB,MAAMC,EAA4B,iBAAVD,EAAqBA,EAAQA,EAAM9D,KAE3D,OAAOG,EACL6D,KACAC,EAAYhB,GAAec,GAC3BG,EAAgBf,IAEpB,CDzBaA,GAAegB,GAAA,CAD3BC,IAIIC,GAAA,EAAAC,KAAYD,GAAA,EAAAE,EAAOvB,6BADQwB,GAASxJ,UAF5BmI,UEVAsB,GACD,YAAAC,CAAavD,GACrB,MAAMwD,EAAWxD,EAAIyD,QAAQC,eAAeC,MAAM,KAAK,GACvD,OAAOH,CACT,CAEA,eAAMhB,CAAUpD,EAAuBwD,GACrC,MAAM5C,EAAMZ,EAAIE,eAAeC,aAEzBiE,EAAWrB,KAAKoB,aAAavD,GACnC,IAAKwD,EAAU,MAAM,IAAII,EAAmB,mBAI5C,IAFcpH,EAASC,IAAIoH,EAAMpH,IAAImG,GAAYkB,EAAgBC,WAEtD1J,SAASmJ,GAClB,MAAM,IAAII,EAAmB,iBAAiBJ,EAElD,EAGI,MAAOQ,WAA6BV,GACxC,WAAA7H,GACEwI,OACF,CAES,eAAMzB,CAAUpD,EAAuBwD,GAC9C,MAAM5C,EAAMZ,EAAIE,eAAeC,aAEzBiE,EAAWrB,KAAKoB,aAAavD,GACnC,IAAKwD,EAAU,MAAM,IAAII,EAAmB,mBAE5C,MAAMM,EAAQ1H,EAASC,IAAIoH,EAAMpH,IAAImG,GAAYkB,EAAgBC,WAEjE,IAAKG,EAAM7J,SAASmJ,GAClB,MAAM,IAAII,EAAmB,iBAAiBJ,GAEhD,OAAOU,CACT,ECrCK,IAAMC,GAAN,MAGL,WAAA1I,CAA8CuE,GAAAmC,KAAAnC,IAAAA,CAAe,CAE7D,WAAIoE,GACF,OAAOjC,KAAKnC,GACd,CAEA,GAAAqE,CAAIC,GACF,IAAIC,EACJ,IACEA,EAAYpC,KAAK/C,IAAI3C,IAAI,YAE3B,CAAE,MAAO+H,GACPD,EAAY,CAAA,CACd,CAEApC,KAAKsC,KAAOtC,KAAK/C,IAAIsF,WAAW,CAC9BH,UAAW1K,OAAO8K,OAAOJ,EAAWD,IAExC,CAEA,QAAAM,CAASxF,GACP+C,KAAKsC,KAAOrF,CACd,CAEA,OAAIA,GACF,IAAK+C,KAAKsC,KACR,MAAM,IAAII,GAAc,uCAC1B,OAAO1C,KAAKsC,IACd,GA/BWN,GAAmBnB,GAAA,CAD/BC,EAAW,CAAE6B,MAAOC,EAAMC,UAIZ9B,GAAA,EAAAE,EAAO4B,6BAA+BC,WAHxCd,IC4CN,IAAMe,GAAN,MACL,WAAAzJ,CAC2C0J,EACxBC,GADwBjD,KAAAgD,SAAAA,EACxBhD,KAAAiD,QAAAA,CAChB,CAEH,UAAMC,CAAKrF,EAAcsF,GACvB,IAAK,MAAMhJ,KAAW6F,KAAKgD,eACnB7I,EAAQmG,OAAON,KAAKiD,QAASpF,EAAKsF,EAE5C,GAVWJ,GAAoBlC,GAAA,CADhCC,EAAW,CAAE6B,MAAOC,EAAMC,UAGtB9B,GAAA,EAAAE,EAAO1B,mCACkByC,MAHjBe,ICxBb,MAOMK,GAAgB1G,IAAY,CAChCA,OACAC,YAAgBD,EAAH,2BACbnD,UAAU,EACVF,KAAMuD,SAGF,SAAUyG,GACdC,EACAC,EACAC,EACAC,GAA8B,GAE9B,MAAMC,EAAmBzE,GAAoBuE,GACvCG,EArBkB,CAACJ,GAClBA,EACJ/B,MAAM,KACN5J,OAAQ4E,GAAMA,EAAEoH,WAAW,MAC3B9L,IAAK0E,GAAMA,EAAEqH,MAAM,IAiBAC,CAAkBP,GAAWzL,IAAIsL,IAEjDW,EAAqB,GAsB3B,MArBiB,QAAbP,GAAsBC,GACxBM,EAAmBC,KACjBC,GAAS,CACPvH,KAAM,YACNnD,UAAU,EACVM,KAAMqK,EACNvH,YAAa,mCAEfsH,GAAS,CACPvH,KAAM,QACNnD,UAAU,EACVoD,YAAa,uCAEfsH,GAAS,CACPvH,KAAM,SACNnD,UAAU,EACVoD,YAAa,wCAKZ,CACLwH,OAAQ,CACNT,EAAiBH,MACdI,EAAc7L,IAAIsM,OAClBL,EACHM,GAAa,CACXC,QAAS,wCAAwChB,QAEnDiB,GAAc,CACZ5H,YAAa,mCAEf6H,GAAqB,CACnB7H,YAAa,wCAGjBoB,OAAQ,CAACO,GAAYqF,GAAgBc,KAEzC,CAEM,SAAUC,GACdhM,EACA4K,EACAqB,EACApI,GAEA,MAAMqI,EAAQlM,GAAQmM,WAAanM,EACnC6D,EAAW4H,OAAOW,QAASC,GAAMA,EAAEH,EAAOtB,EAAYqB,IACtDpI,EAAWwB,QAAQ+G,QAAQ,CAACC,EAAGC,IAAUD,EAAEH,EAAOtB,EAAY0B,GAChE,CAEM,SAAUC,GACdC,EACA5B,KACGlJ,GAEH,GAAI8K,aAAuBC,EACzB,MAAmD,mBAApCD,EAAoB5B,GAC9B4B,EAAoB5B,MAAelJ,GACpC8K,EAAYE,UAAU9B,KAAelJ,GAG3C,GAAgD,mBAApC8K,EAAoB5B,GAC9B,OAAQ4B,EAAoB5B,MAAelJ,GAE7C,MAAU+E,MACR,uBAAuBmE,mBAA4B4B,GAAa5L,aAAaoD,OAEjF,CAEM,SAAU2I,GAAsB/B,GACpC,OAAOgC,eAELC,EACAC,GAEA,MAAMC,EAAczF,KAAKyF,IAAIC,IAAIpC,GAEjC,IACEmC,EAAIE,MACF,gCAAgCrC,wBAAiCsC,KAAKC,UAAUN,EAAWnH,kBAE7F,MAAM0H,UAAEA,EAASnH,MAAEA,EAAKI,OAAEA,GAAWyG,EACrC,aAAaP,GACXjF,KAAKkF,cACL5B,KACGiC,EAAWnH,cACd0H,EACAnH,EACAI,EAEJ,CAAE,MAAOsD,GAEP,MADAoD,EAAIM,MAAM,iBAAiBzC,YAAsBjB,GAC3CA,CACR,CACF,CACF,UAEgB2D,GACdC,EACA3C,EACAnJ,GAWA,OATAzC,OAAOwO,eACLD,EAAgBpB,WAAaoB,EAC7B3C,EACA,CACEzL,MAAOsC,EACPgM,UAAU,IAIPzO,OAAO0O,yBACZH,EAAgBpB,WAAaoB,EAC7B3C,EAEJ,CClJM,MAAgB+C,WAEZC,EACR,WAAAhN,CACqBiN,EACnB7J,GAEAoF,MAAMpF,GAHasD,KAAAuG,cAAAA,CAIrB,CA4BmB,MAAAC,CAKjBpM,EACAqM,EACAC,GAAsB,EACtBtE,GAMA,MAAMnF,EAAM+C,KAAKuG,cAActJ,IAE/B,OADA7C,EAAOA,EAAKxC,OAAQyK,QAAmB,IAANA,GAC1BsE,EAAsBH,OAAOI,KAClC5G,KACAyG,EACArE,GAAa,CAAA,EACbsE,KACOtM,EAAM6C,EAEjB,EAGI,MAAgB4J,WAGZR,GAKR,WAAAnB,CAAYjI,GACV,IAAK+C,KAAK8G,aACR,IACE9G,KAAK8G,aAAe3B,EAAa4B,WAC/B/G,KAAKxC,MAGT,CAAE,MAAO6E,GACP,IACErC,KAAK8G,aAAeR,EAAQhM,IAC1B0F,KAAKxC,MAGT,CAAE,MAAO6E,GACPrC,KAAK8G,aAAeE,EAAWC,SAASjH,KAAKxC,MAC/C,CACF,CAEF,MAAM0J,EAAQlH,KAAKuG,cAActE,QAAQxC,KAA0B,CAAA,EAKnE,OAJIxC,GACF+C,KAAKuG,cAAcrE,IAAIgF,GAGlBjK,EACH+C,KAAK8G,wBAAwBE,EAC3BhH,KAAK8G,aAAaK,SAASD,GAC3BlH,KAAK8G,aAAapB,IAAIwB,GACxBlH,KAAK8G,YACX,CAEA,WAAAxN,CAAsBiN,EAAoC7J,GACxDoF,MAAMyE,EAAe7J,EACvB,CAuCmB,MAAA8J,CAIjBpM,EACAqM,EACAC,GAAuB,GAgBvB,MAAMzJ,EAAM+C,KAAKuG,cAActJ,IAC/B,IAAImF,EAAiC,CAAA,EACrC,IACEA,EAAYnF,EAAI3C,IAAI,YAEtB,CAAE,MAAO+H,GAET,CACA,MAAM6C,EAAclF,KAAKkF,YAAYjI,GACrC,IAAImK,EASAC,EAEJ,OAVInC,aAAuBC,EACzBiC,EAAalC,EAAYoC,KAAe,SACjCpC,aAAuB8B,EAC9BI,EAAalC,EAAsB,SAC3BA,EAA2CjC,UACnDmE,EAAalC,GAKVwB,EAYDU,EAAmD,OACnDhN,EACAqM,GACA,EACArE,GAEFmF,KAAMF,GACCA,IAlBPA,EAAYD,EAAmD,OAC7DhN,EACAqM,GACA,EACArE,GAGKiF,EAaX,ECpNF,MAAMG,GAAW,IAAIC,IA0Bf,SAAUC,GACdxN,EACAsG,GAEA,IAAKmH,EAAyBzP,SAASgC,GACrC,OAAOsG,EAGT,MAAMoH,EAgPR,CACE1N,IAEKsN,GAASK,IAAI3N,IAChBsN,GAASM,IAAI5N,EAAI,IAAI6N,SAEhBP,GAASlN,IAAIJ,IAtPN8N,CAAY9N,GACpB+N,EAASL,EAAMtN,IAAIkG,GACzB,GAAIyH,EAAQ,OAAOA,EAEnB,MAAMC,EAAa,CACjB3N,GAAcc,OACdW,GAAsBG,YACtBjE,SAASgC,GAEX,MAAMiO,GACNP,EAAME,IAAItH,EAAO2H,GAEjBzQ,OAAOwO,eAAeiC,EAAY,OAAQ,CACxCtQ,MAAO,GAAGuQ,GAAa5H,EAAM9D,QAAQ0L,GAAalO,UAGpD,MAAMmO,EAAS,MACb,IACE,OAAO3G,EAAM4G,GAAG9H,EAClB,CAAE,MACA,MACF,CACD,EANc,GAQT+H,EAAkBF,EAAS3G,EAAM8G,QAAQhI,QAAgB5G,EACzD6O,EAAeJ,EACjBxP,QAAQC,YAAY,cAAe0H,EAAMqE,UAAWwD,QACpDzO,EACE8O,EACJD,IAAiB5J,QAAU4J,IAAiBE,OACxCC,IACFL,GAAiBM,aAClBR,IACG3G,EAAMoH,oBAAoBtI,EAAc6H,IACxCU,GAAqCvI,EAAO6H,IAC5CK,GAGAM,EAAWxR,MAAMyR,KAAK,IAAIC,IAAI7O,EAASzB,WAAW4H,IAAU,KAC5D2I,EAAY,IAAID,IAAaxH,EAAMyH,UAAU3I,IAAuB,IACpE4I,EAAwB,GAE9B,IAAK,MAAMC,KAAQL,EACZK,IACDF,EAAUtB,IAAIwB,IAEdA,IAAShB,IAAWH,GAAcU,GAClCS,IAAShB,GAAUU,GAAqCvI,EAAO6I,IAGnED,EAAYpF,KAAKqF,IAGnB,IAAK,MAAMA,KAAQD,EAAa,CAC9B,MAAME,EAAaC,GAA+B/I,EAAO6I,GACnDG,IAAeF,IAAaG,EAAeC,UAC3CC,EACJC,GAAyBpJ,EAAO6I,IAChCxQ,QAAQC,YAAY,cAAe0H,EAAMqE,UAAWwE,GAEhDQ,EAAgD,CACpDtQ,SAAUiQ,GAERG,IAAUE,EAAWxQ,KAAOsQ,GAEhCnQ,GAAYqQ,EAAZrQ,CAAwB2O,EAAWtD,UAAWwE,GAE9C,MAAMS,EACJjR,QAAQC,YAAY,cAAe0H,EAAMqE,UAAWwE,IAASM,OACrC,IAAfG,GACTjR,QAAQE,eACN,cACA+Q,EACA3B,EAAWtD,UACXwE,GAIJ3R,OAAOwO,eAAeiC,EAAWtD,UAAWwE,EAAM,CAChDxR,WAAO+B,EACPuM,UAAU,EACV4D,YAAY,EACZC,cAAc,GAElB,CAEA,IAAK,MAAMC,KAAYd,EAAW,CAChC,MAAMe,EAAe7P,EAAS8O,UAAU3I,EAAOyJ,GAC/C,IAAKC,EACH,MAAM,IAAIxH,GAAc,yBAAyBuH,eAGnD,IAAIE,EACFD,EAAa1M,MAIf,GAH4B,mBAAjB2M,GAAgCA,EAAazN,OACtDyN,EAAgBA,MAEbA,GAAwC,mBAAjBA,EAC1B,MAAM,IAAIzH,GAAc,qBAAqBuH,eAE/C,IAAKvI,EAAMpH,IAAI6P,EAAazN,MAC1B,SAGF,MAAM0N,EAAO/P,EAASgQ,cAAc7J,EAAOyJ,GACrC9S,IAAaiT,IAAeX,EAAea,MAC3Cd,IAAgBY,IAAeX,EAAeC,UAC9Ca,EAAc7C,GAAOxN,EAAIiQ,GAE3BjC,EACFsC,GACErC,EACA8B,EACAE,EACAI,EACApT,EACAqS,GAGFiB,GAAYtC,EAAY8B,EAAUM,EAAapT,EAASqS,EAE5D,CAEA,OAAOrB,CACT,CAEA,SAASsC,GACPC,EACAT,EACAM,EACApT,EACAqS,GAOAhQ,GALsD,CACpDH,KAAMkR,EACNhR,SAAUiQ,EACVrS,WAEFqC,CAAwBkR,EAAS7F,UAAWoF,GAC5CpR,QAAQE,eACN,cACA5B,EAAUK,MAAQ+S,EAClBG,EAAS7F,UACToF,GAEFvS,OAAOwO,eAAewE,EAAS7F,UAAWoF,EAAU,CAClDpS,WAAO+B,EACPuM,UAAU,EACV4D,YAAY,EACZC,cAAc,GAElB,CAEA,SAASQ,GACPE,EACAT,EACAE,EACAI,EACApT,EACAqS,GAEA,MAAMmB,EACJ9R,QAAQC,YAAYlD,GAAWc,iBAAkBgU,IAAa,GAC3DC,EAAYzS,SAASqS,IACxB1R,QAAQE,eACNnD,GAAWc,iBACX,IAAIiU,EAAaJ,GACjBG,GAIJ,MAAME,EAAS,wBAAwBL,EAAY7N,KAC7CmO,EAsBR,CAA0BV,IACxB,IACE,MAAM5B,EAAkB7G,EAAM8G,QAAQ2B,GAChCW,EAASvC,GAAiBlP,KAChC,OAAIyR,IAAWjM,QAAUiM,IAAWnC,OAAe,UAC5C,QACT,CAAE,MACA,MAAO,QACT,CACF,EA/BqBoC,CAAiBZ,GAC9Ba,EAAa,CAAC,CAAEC,KAAML,GAAU,CAAEvR,KAAMwR,IAM9CrR,GAJsDrC,EACjD,CAAEkC,KAAM,QAASE,SAAUiQ,EAAY0B,MAAOF,GAC9C,CAAE3R,KAAM3B,OAAQ6B,SAAUiQ,EAAY0B,MAAOF,GAElDxR,CAAwBkR,EAAS7F,UAAWoF,GAC5CpR,QAAQE,eACN,cACA5B,EAAUK,MAAQE,OAClBgT,EAAS7F,UACToF,GAEFvS,OAAOwO,eAAewE,EAAS7F,UAAWoF,EAAU,CAClDpS,WAAO+B,EACPuM,UAAU,EACV4D,YAAY,EACZC,cAAc,GAElB,CAaA,SAASjB,GACPvI,EACA6I,GAEA,IAAI8B,EAAe3K,EACnB,KAAO2K,GAAWA,IAAYzT,QAAUyT,IAAYC,UAAU,CAC5D,GAAI1J,EAAMmH,UAAUsC,EAAS9B,GAAc,OAAO,EAClD8B,EAAUzT,OAAO2T,eAAeF,EAClC,CACA,OAAO,CACT,CAEA,SAAS5B,GACP/I,EACA6I,GAEA,IAAI8B,EAAe3K,EACnB,KAAO2K,GAAWA,IAAYzT,QAAUyT,IAAYC,UAAU,CAC5D,MAAM9B,EAAajP,EAASgQ,cAAcc,EAAS9B,GACnD,GAAIC,EAAY,OAAOA,EACvB6B,EAAUzT,OAAO2T,eAAeF,EAClC,CAEF,CAEA,SAASvB,GAAyBpJ,EAAyB6I,GACzD,IAAI8B,EAAe3K,EACnB,KAAO2K,GAAWA,IAAYzT,QAAUyT,IAAYC,UAAU,CAC5D,MAAM/R,EAAOgB,EAAShB,KAAK8R,EAAS9B,GACpC,GAAIhQ,EAAM,OAAOA,EACjB8R,EAAUzT,OAAO2T,eAAeF,EAClC,CAEF,CCxRCG,EAAgBC,gBAEfC,IACA,MAAMC,EACe,iBAAZD,EAAuBA,EAAWA,EAAQC,MACnD,OAAOpR,EAAmB,SAAEmF,OAAOkG,IAAI,gBAAiB+F,EAC1D,GAAEC,KAAKJ,GAENA,EAAgBK,qBAAsB,KAGrC,MAAMvB,EAAO/P,EAAmB,SAAEmF,OAAOkG,IAAI,iBAC7C,GAAK0E,EACL,OAAO1S,OAAOM,KAAKoS,EACrB,GAAEsB,KAAKJ,GAENM,EAAgB/G,UAAUgH,WAAa,SAEvB1I,GACf,MAAM2I,EAAU9L,KAAK8L,UAErB,OADIA,GAAS3I,EAAI4I,OAAO,iBAAkBnG,KAAKC,UAAUiG,IAClD3I,CACT,QCkFa6I,UACahM,KAAAyF,IAAMwG,GAAQvG,IAAIsG,GAAoBtP,KAAM,CAEpE,qBAAOwP,CACLC,GAEA,IACE,OAAOhH,EAAa4B,WAAWoF,EAEjC,CAAE,MAAO9J,GACP,OAAO2E,EAAWC,SAASkF,EAC7B,CACF,CAEA,sCAAOC,CACLlH,EACAmH,EAAiB1K,EAAgB2K,OAEjC,MAAM7G,EAAMuG,GAAoBvG,IAAIC,IAClCsG,GAAoBI,iCAEhB9E,EACJpC,aAAuBC,EAAeD,EAAYoC,KAAOpC,EACrD3H,EAA2B+J,EAAK9J,MAChC+O,EACJlS,EAASC,IACPgN,EAAKhO,YACLe,EAASpC,IAAI0J,EAAgB2K,SAC1B,CAAA,EAEDE,EACJnS,EAASC,IACP4K,EAAY5L,YACZe,EAASpC,IAAIqH,MACV,CAAA,EAGP,MAAMmN,UAAwB5F,GAC5B,SAAa,GACX,MAAU1H,MAAM,0BAClB,CACA,WAAA7F,CAAYiN,EAAoC7J,GAC9CoF,MAAMyE,EAAe7J,EACvB,EAGF,IAAK,MAAO4G,EAAYvF,KAAWrG,OAAOgV,QAAQF,GAAe,CAE/D,MAAMjJ,EAAY,CAACxF,EAAOnD,KAAK+R,QAAQ,aAAc,KAClD/U,OAAQgV,GAAYA,GAAWA,EAAQC,QACvCC,KAAK,KAGF3S,EAAUkL,GAAmB/B,GACnC,IAAKnJ,EAAS,CACZ,MAAM4S,EAAU,wCAAwCxP,EAAYb,4BAA4B4G,IAEhG,MADAmC,EAAIM,MAAMgH,GACA5N,MAAM4N,EAClB,CAEA,MAAMpI,EAAaqB,GACjByG,EACAnJ,EACAnJ,GAGEwK,GAMFD,GAAmB+H,EAAiBnJ,EAAYqB,EAL7BtB,GACjBC,EACAC,EACAxF,EAAOiP,YAIb,CAEA,IAAK,MAAO1J,EAAY2J,KAAcvV,OAAOgV,QAAQH,GAAe,CAClE,MACMhJ,EAAY,CAAC8I,EAAQ/I,MADZ2J,EAAUC,QAAU,IACcpV,IAAKqV,GAAM,IAAIA,IAC7DvV,OAAQgV,GAAYA,GAAWA,EAAQC,QACvCC,KAAK,KAGFnI,EAAaqB,GACjByG,EACAnJ,EAHc+B,GAAmB/B,IAO/BqB,GAEFD,GAAmB+H,EAAiBnJ,EAAYqB,EAD7BtB,GAAiBC,EAAYC,EAAW,OAAO,GAGtE,CAEA,OAAOkJ,CACT,CAEA,aAAOW,CAA6B7P,GAClC,MAAMkI,EAAMuG,GAAoBvG,IAAIC,IAAIsG,GAAoBoB,QACtDC,EAAY3L,EAAM2L,UAAU9P,GAC5BgG,EAAY+J,GAAYD,GACxBE,EAAiBhQ,EAAYb,KAC7BwI,EAAc8G,GAAoBE,eAAe3O,IAGjDZ,YAAEA,EAAW6Q,MAAEA,EAAKC,cAAEA,EAAa7S,KAAEA,GACzCoR,GAAoB0B,4BAA4BnQ,GAElDkI,EAAIE,MAAM,kCAAkC4H,GAE5C,MAAMI,EAAiB3B,GAAoBI,gCACzClH,GAGF,IAIM0I,EAJN,cAIqCD,EAGzB,gBAAW,GACnB,OAAOpQ,CACT,CAEA,SAAa,GACX,OAAOA,CAET,CAEA,WAAAjE,CAAYiN,GACVzE,MAAMyE,GAZSvG,KAAAsI,GAAa5G,EAAM4G,GAAG/K,GAarCkI,EAAIoI,KACF,6CAA6C7N,KAAKxC,MAAMd,gBAAgB6G,IAE5E,CA4BA,YAAMuK,CACU7V,EACA8V,GAEd,MAAM9Q,IAAEA,UACA+C,KAAKwG,OAAO,GAAIwH,EAAsBC,SAAS,IACrDvI,IAAI1F,KAAK8N,QACX,OAAO9N,KAAKkF,YAAYjI,GAAK6Q,OAC3B7V,EACA8V,EAAQjI,UACR7I,EAEJ,CAoBA,gBAAMiR,CACUjW,EACA8V,GAEd,MAAM9Q,IAAEA,UACA+C,KAAKwG,OAAO,GAAIwH,EAAsBG,SAAS,IACrDzI,IAAI1F,KAAKkO,YACX,OAAOlO,KAAKkF,YAAYjI,GAAKiR,WAC3BjW,EACA8V,EAAQjI,UACRiI,EACA9Q,EAEJ,CAmBA,UAAMmR,CACYvW,EACFkW,GAEd,MAAM9Q,IAAEA,UACA+C,KAAKwG,OAAO,GAAIwH,EAAsBK,MAAM,IAClD3I,IAAI1F,KAAKoO,MACLtI,EAAaiI,EAAQjI,WAAa5B,EAAeoK,IACvD,OAAOrJ,GACLjF,KAAKkF,YAAYjI,GACjB+C,KAAKoO,KAAK1R,KACV7E,EACAiO,EACA7I,EAEJ,CAkCA,UAAMsR,CACY1W,EACFkW,GAEd,MAAM9Q,IAAEA,UACA+C,KAAKwG,OAAO,GAAIwH,EAAsBQ,MAAM,IAClD9I,IAAI1F,KAAKuO,OACLzI,UACJA,EAAY5B,EAAeoK,IAAG3P,MAC9BA,EAAKI,OACLA,EAAMC,SACNA,GACE+O,EACEU,EAA+C,CACnD1P,OAAQA,GAAU,EAClBJ,MAAOA,GAAS,GAChBK,YAEF,OAAOiG,GACLjF,KAAKkF,YAAYjI,GACjB+C,KAAKuO,KAAK7R,KACV7E,EACAiO,EACA2I,EACAxR,EAEJ,CAWA,eAAMyR,CAAwBzW,EAA6BJ,GACzD,MAAMoF,IAAEA,UACA+C,KAAKwG,OAAO,GAAIwH,EAAsBW,aAAa,IACzDjJ,IAAI1F,KAAK0O,WACX,OAAO1O,KAAKkF,YAAYjI,GAAKyR,UAAUzW,EAAgBJ,EAAOoF,EAChE,CAkBM,YAAA2R,CACU3W,EACEJ,EAEFkW,GAEd,MAAM9Q,IAAEA,UACA+C,KAAKwG,OAAO,GAAIwH,EAAsBa,SAAS,IACrDnJ,IAAI1F,KAAK4O,QACX,OAAO5O,KAAKkF,YAAYjI,GACrByI,IAAIzI,EAAI6R,eACRF,OAAO3W,EAAgBJ,EAAOoF,EACnC,CAqCM,eAAAmI,CACa1I,EACFtC,EACD2T,GAEd,MAAM9Q,IAAEA,UACA+C,KAAKwG,OAAO,GAAI7E,EAAgBoN,WAAW,IACjDrJ,IAAI1F,KAAKoF,YACLU,UAAEA,EAAS/G,OAAEA,EAAMJ,MAAEA,EAAKK,SAAEA,GAAa+O,EAIzCiB,GAHN5U,EAAOA,EAAKtC,IACTmX,IAAoB,iBAANA,EAAiBC,SAASD,GAAKA,IAAMA,IAE3B5W,OAAS,EAAI+B,EAAK,QAAKR,EAC5CuV,EAAqBrJ,GAAakJ,EAExC,OADIG,GAAqB/U,EAAK/B,OAAS,IAAG+B,EAAK,GAAK+U,GAC5CzS,GACN,KAAKsR,EAAsBK,KAC3B,KAAKL,EAAsBa,QACzB,MACF,KAAKb,EAAsBC,QACzB7T,EAAK4J,KAAK8B,GACV,MACF,KAAKkI,EAAsBQ,KAC3B,KAAKR,EAAsBG,QACzB/T,EAAO,CACLA,EAAK,GACL+U,EACA,CACExQ,MAAOA,EACPI,OAAQA,EACRC,SAAUA,IAIhB,KAAKgP,EAAsBW,YAE3B,KAAKX,EAAsBoB,SAC3B,KAAKpB,EAAsBqB,OAC3B,KAAKrB,EAAsBsB,OAC3B,KAAKtB,EAAsBuB,OAC3B,KAAKvB,EAAsBwB,OAC3B,KAAKxB,EAAsByB,YAC3B,KAAKzB,EAAsB0B,UAI7B,OAAO1P,KAAKkF,YAAYjI,GAAKmI,UAAU1I,KAAStC,EAAM6C,EACxD,CAwLA,eAAM0S,CACS3S,EACoB4S,GAEjC,MAAM3S,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIxK,GAAsBE,YAAY,IACxDwJ,IAAI1F,KAAK2P,WAEX,IAAIE,EADJpK,EAAIqK,QAAQ,gBAAgBvC,GAE5B,IACEsC,QAAgB7P,KAAKkF,YAAYjI,GAAK0S,UACpC3S,EAAKlF,IAAKiN,GAAM,IAAIxH,EAAYwH,IAChC9H,EAEJ,CAAE,MAAOoF,GAEP,MADAoD,EAAIM,MAAM,wBAAwBwH,EAAkBlL,GAC9CA,CACR,CAMA,OALAoD,EAAIoI,KACF,eAAeN,aAA2BsC,EAAgB7P,KAAKsI,OAGjErL,EAAI4O,WAAW+D,GACRC,CACT,CAkBA,YAAMzC,CACSpQ,EACoB4S,GAEjC,MAAM3S,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIjM,GAAcW,QAAQ,IAC5CwK,IAAI1F,KAAKoN,QAEX,IAAIyC,EADJpK,EAAIqK,QAAQ,gBAAgBvC,GAE5B,IACE,MAAMrI,EAAclF,KAAKkF,YAAYjI,GACrC4S,QAAgB3K,EAAYkI,OAAOpQ,EAAMC,EAC3C,CAAE,MAAOoF,GAEP,MADAoD,EAAIM,MAAM,wBAAwBwH,EAAkBlL,GAC9CA,CACR,CAKA,OAJAoD,EAAIoI,KACF,eAAeN,aAA2BsC,EAAgB7P,KAAKsI,OAEjErL,EAAI4O,WAAW+D,GACRC,CACT,CAiBA,aAAME,CAAsBC,GAC1B,MAAM/S,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIxK,GAAsBC,UAAU,IACtDyJ,IAAI1F,KAAK+P,SACX,IAAIE,EACJ,IACExK,EAAIE,MAAM,WAAWqK,EAAI3X,UAAUkV,MAAmByC,KACtD,MAAM9K,EAAclF,KAAKkF,YAAYjI,GACrCgT,QAAa/K,EAAY6K,QAAQC,EAAY/S,EAC/C,CAAE,MAAOoF,GAEP,MADAoD,EAAIM,MAAM,aAAawH,aAA0ByC,IAAO3N,GAClDA,CACR,CAGA,OADAoD,EAAIoI,KAAK,QAAQoC,EAAK5X,UAAUkV,KACzB0C,CACT,CAcA,UAAMA,CAAiCC,GACrC,MAAMjT,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIjM,GAAcQ,MAAM,IAC1C2K,IAAI1F,KAAKiQ,MACLE,EAAK3C,KAAS0C,EAAY9R,eAChC,QAAkB,IAAP+R,EACT,MAAM,IAAIC,GAAgB,MAAMpQ,KAAKsI,eAEvC,IAAI2H,EACJ,IACExK,EAAIE,MAAM,WAAW4H,UAAuBvN,KAAKsI,MAAM6H,KACvD,MAAMjL,EAAclF,KAAKkF,YAAYjI,GACrCgT,QAAa/K,EAAY+K,KAAKE,EAAIlT,EACpC,CAAE,MAAOoF,GAKP,MAJAoD,EAAIM,MACF,kBAAkBwH,aAA0B4C,IAC5C9N,GAEIA,CACR,CAGA,OADAoD,EAAIoI,KAAK,QAAQN,aAA2B0C,EAAajQ,KAAKsI,OACvD2H,CACT,CA2BA,eAAMI,CACSnT,EACoB0S,GAEjC,MAAM3S,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIxK,GAAsBG,YAAY,IACxDuJ,IAAI1F,KAAKqQ,WAEX,IAAIC,EACJ,IACE7K,EAAIoI,KAAK,YAAY3Q,EAAK7E,UAAUkV,KACpC+C,QAAgBtQ,KAAKkF,YAAYjI,GAAKoT,UAAUnT,EAAMD,EACxD,CAAE,MAAOoF,GAEP,MADAoD,EAAIM,MAAM1D,GACJA,CACR,CAEA,OADApF,EAAI4O,WAAW+D,GACRU,CACT,CAqBM,YAAAC,CACwBL,EACfhT,EACoB0S,GAEjC,MAAM3S,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIjM,GAAcc,QAAQ,IAC5CqK,IAAI1F,KAAKuQ,QAELJ,EAAK3C,KAAS0C,EAAY9R,eAChC,QAAkB,IAAP+R,EACT,MAAM,IAAIC,GAAgB,MAAMpQ,KAAKsI,eAEvC,IAAIgI,EACJ,IACE7K,EAAIoI,KAAK,YAAYN,UAAuBvN,KAAKsI,MAAM6H,KACvD,MAAMK,EAAU5K,KAAK6K,MAAM7K,KAAKC,UAAU3I,IACpCgI,EAAclF,KAAKkF,YAAYjI,GACrCqT,QAAgBpL,EAAYqL,OAC1B,IAAIhT,EAAY,IACXiT,EACH,CAACxQ,KAAKsI,IAAK6H,IAEblT,EAEJ,CAAE,MAAOoF,GAEP,MADAoD,EAAIM,MAAM1D,GACJA,CACR,CAEA,OADApF,EAAI4O,WAAW+D,GACRU,CACT,CAkBA,eAAMI,CACUV,EACmBJ,GAEjC,MAAM3S,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIxK,GAAsBI,YAAY,IACxDsJ,IAAI1F,KAAK0Q,WACX,IAAIT,EACJ,IACExK,EAAIE,MAAM,YAAYqK,EAAI3X,UAAUkV,MAAmByC,KACvDC,QAAajQ,KAAKkF,YAAYjI,GAAKyT,UAAUV,EAAK/S,EACpD,CAAE,MAAOoF,GAKP,MAJAoD,EAAIM,MACF,oBAAoBwH,aAA0ByC,IAC9C3N,GAEIA,CACR,CAIA,OAFAoD,EAAIoI,KAAK,WAAWoC,EAAK5X,UAAUkV,KACnCtQ,EAAI4O,WAAW+D,GACRK,CACT,CAcA,YAAM,CACwBC,EACKN,GAEjC,MAAM3S,IAAEA,EAAGwI,IAAEA,UACLzF,KAAKwG,OAAO,GAAIjM,GAAckB,QAAQ,IAC5CiK,IAAI1F,KAAK2Q,QAELR,EAAK3C,KAAS0C,EAAY9R,eAChC,QAAkB,IAAP+R,EACT,MAAM,IAAIC,GAAgB,MAAMpQ,KAAKsI,eAEvC,IAAIsI,EACJ,IACEnL,EAAIE,MACF,YAAY4H,UAAuBvN,KAAKsI,MAAgB6H,KAE1DS,QAAY5Q,KAAKkF,YAAYjI,GAAK0T,OAAOR,EAAIlT,EAC/C,CAAE,MAAOoF,GAKP,MAJAoD,EAAIM,MACF,oBAAoBwH,aAA0B4C,IAC9C9N,GAEIA,CACR,CAGA,OAFAoD,EAAIoI,KAAK,WAAWN,aAA0B4C,KAC9ClT,EAAI4O,WAAW+D,GACRgB,CACT,GAGF,OAhwBQ/P,GAAA,CAPLnG,GAAsB6C,EAAa,MAAO,eAC1C8G,GAAa,CAAEC,QAAS,YAAYiJ,wBACpCnJ,GAAS,CAAE1H,KAAM,MAAOC,YAAa,6BACrCsH,GAAS,CAAEvH,KAAM,YAAanD,UAAU,EAAMM,KAAMqK,IACpDK,GAAc,CACb5H,YAAgB4Q,EAAH,0BAGZxM,GAAA,EAAA8P,EAAM,QACN9P,GAAA,EAAAxC,0GAUFqP,EAAA/I,UAAA,SAAA,MAoBKhE,GAAA,CAlBLnG,GAAsB6C,EAAa,MAAO,yBAC1C8G,GAAa,CAAEC,QAAS,YAAYiJ,wBACpCnJ,GAAS,CAAE1H,KAAM,MAAOC,YAAa,6BACrCyH,GAAS,CACR1H,KAAM,OACNC,YAAa,yCAEdsH,GAAS,CACRvH,KAAM,YACNnD,UAAU,EACVM,KAAMqK,EACNvH,YAAa,mBAEdsH,GAAS,CAAEvH,KAAM,QAASnD,UAAU,EAAMoD,YAAa,kBACvDsH,GAAS,CAAEvH,KAAM,SAAUC,YAAa,gCACxC4H,GAAc,CACb5H,YAAgB4Q,EAAH,uBAGZxM,GAAA,EAAA8P,EAAM,QACN9P,GAAA,EAAAxC,0GAWFqP,EAAA/I,UAAA,aAAA,MAmBKhE,GAAA,CAjBLnG,GAAsB6C,EAAa,MAAO,eAC1C8G,GAAa,CACZC,QAAS,QAAQiJ,kDAElBnJ,GAAS,CACR1H,KAAM,QACNC,YAAa,6DAEdsH,GAAS,CACRvH,KAAM,YACNnD,UAAU,EACVM,KAAMqK,EACNvH,YAAa,4CAEd4H,GAAc,CACb5H,YAAgB4Q,EAAH,2CAGZxM,GAAA,EAAA8P,EAAM,UACN9P,GAAA,EAAAxC,0GAaFqP,EAAA/I,UAAA,OAAA,MAkCKhE,GAAA,CAhCLnG,GAAsB6C,EAAa,MAAO,eAC1C8G,GAAa,CACZC,QAAS,QAAQiJ,kDAElBnJ,GAAS,CACR1H,KAAM,QACNC,YAAa,6DAEdsH,GAAS,CACRvH,KAAM,YACNnD,UAAU,EACVM,KAAMqK,EACNvH,YAAa,yCAEdsH,GAAS,CACRvH,KAAM,QACNnD,UAAU,EACVoD,YAAa,cAEdsH,GAAS,CACRvH,KAAM,SACNnD,UAAU,EACVoD,YAAa,gBAEdsH,GAAS,CACRvH,KAAM,WACNnD,UAAU,EACVoD,YAAa,mCAEd4H,GAAc,CACb5H,YAAgB4Q,EAAH,2CAGZxM,GAAA,EAAA8P,EAAM,UACN9P,GAAA,EAAAxC,0GAwBFqP,EAAA/I,UAAA,OAAA,MAWKhE,GAAA,CATLnG,GAAsB6C,EAAa,MAAO,kBAC1C8G,GAAa,CAAEC,QAAS,YAAYiJ,wBACpCnJ,GAAS,CAAE1H,KAAM,MAAOC,YAAa,6BACrC4H,GAAc,CACb5H,YAAgB4Q,EAAH,mBAEduD,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAEJxM,GAAA,EAAA8P,EAAM,QAAqB9P,GAAA,EAAA8P,EAAM,8GAKjDjD,EAAA/I,UAAA,YAAA,MAkBKhE,GAAA,CAhBLnG,GAAsB6C,EAAa,MAAO,sBAC1C8G,GAAa,CAAEC,QAAS,YAAYiJ,wBACpCnJ,GAAS,CAAE1H,KAAM,MAAOC,YAAa,6BACrCyH,GAAS,CAAE1H,KAAM,QAASC,YAAa,uBACvCsH,GAAS,CACRvH,KAAM,YACNnD,UAAU,EACVM,KAAMqK,EACNvH,YAAa,oCAEd4H,GAAc,CACb5H,YAAgB4Q,EAAH,mBAEduD,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAGlBxM,GAAA,EAAA8P,EAAM,QACN9P,GAAA,EAAA8P,EAAM,UAEN9P,GAAA,EAAAxC,iHAQFqP,EAAA/I,UAAA,SAAA,MAqCKhE,GAAA,CAnCLnG,GAAsB6C,EAAa,MAAO,2BAC1C8G,GAAa,CACZC,QAAS,oCAAoCiJ,OAE9CnJ,GAAS,CACR1H,KAAM,SACNC,YAAa,sCAEdyH,GAAS,CACR1H,KAAM,OACNC,YACE,qEAEHsH,GAAS,CACRvH,KAAM,YACNnD,UAAU,EACVM,KAAMqK,EACNvH,YAAa,oCAEdsH,GAAS,CACRvH,KAAM,QACNnD,UAAU,EACVoD,YAAa,uCAEdsH,GAAS,CACRvH,KAAM,SACNnD,UAAU,EACVoD,YAAa,uCAEd4H,GAAc,CACb5H,YAAgB4Q,EAAH,mBAEduD,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAGlBxM,GAAA,EAAA8P,EAAM,WACN9P,GAAA,EAAA8P,EAAM,SACN9P,GAAA,EAAAxC,gHA4CFqP,EAAA/I,UAAA,YAAA,MAwLKhE,GAAA,CAzBLnG,GAAsB6C,EAAa,OAAQ,QAC3C8G,GAAa,CAAEC,QAAS,gBAAgBiJ,OACxCwD,GAAQ,CACPpU,YAAa,eAAe4Q,EAC5ByD,OAAQ,CACN3X,KAAM,QACNU,MAAO,CACLkR,KAAMgG,GAAc1T,OAKzB2T,GAAmB,CAClBvU,YAAgB4Q,EAAH,yBACbyD,OAAQ,CACN3X,KAAM,QACNU,MAAO,CACLkR,KAAMgG,GAAc1T,OAIzB4T,GAAsB,CAAExU,YAAa,+BACrCyU,GAA+B,CAC9BzU,YAAa,8CAGZoE,GAAA,EAAAjE,MACAiE,GAAA,EAAAsQ,EAAS,CAAEC,aAAa,wGAsB1B1D,EAAA/I,UAAA,YAAA,MAkBKhE,GAAA,CAhBLnG,GAAsB6C,EAAa,QACnC8G,GAAa,CAAEC,QAAS,gBAAgBiJ,OACxCwD,GAAQ,CACPpU,YAAa,eAAe4Q,EAC5BlU,KAAMqO,GAAOnN,GAAcW,OAAQqC,KAEpC2T,GAAmB,CAClBvU,YAAgB4Q,EAAH,yBACbyD,OAAQ,CACN/F,KAAMgG,GAAc1T,MAGvB4T,GAAsB,CAAExU,YAAa,+BACrCyU,GAA+B,CAC9BzU,YAAa,8CAGZoE,GAAA,EAAAjE,MACAiE,GAAA,EAAAsQ,EAAS,CAAEC,aAAa,yGAmB1B1D,EAAA/I,UAAA,SAAA,MAiBKhE,GAAA,CAfLnG,GAAsB6C,EAAa,MAAO,QAC1C8G,GAAa,CAAEC,QAAS,cAAciJ,oBACtCtJ,GAAS,CAAEvH,KAAM,MAAOnD,UAAU,EAAMF,KAAM,UAC9CkL,GAAc,CACb5H,YAAgB4Q,EAAH,2BACbyD,OAAQ,CACN3X,KAAM,QACNU,MAAO,CACLkR,KAAMgG,GAAc1T,OAIzBuT,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAENxM,GAAA,EAAA0D,EAAM,oGAgBpBmJ,EAAA/I,UAAA,UAAA,MAcKhE,GAAA,CAZLnG,GAAsB6C,EAAa,MAAO3C,GAC1CyB,GAAmBoR,GACnBpJ,GAAa,CAAEC,QAAS,cAAciJ,oBACtChJ,GAAc,CACb5H,YAAgB4Q,EAAH,2BACbyD,OAAQ,CACN/F,KAAMgG,GAAc1T,MAGvBuT,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAETxM,GAAA,EAAAzC,GAAYmP,iGAuBvBG,EAAA/I,UAAA,OAAA,MA2BKhE,GAAA,CAzBLnG,GAAsB6C,EAAa,MAAO,QAC1ClB,GAAmBoR,GACnBpJ,GAAa,CACZC,QAAS,uBAAuBiJ,iCAEjCwD,GAAQ,CACPpU,YAAa,4CAA4C4Q,EACzDyD,OAAQ,CACN3X,KAAM,QACN4R,KAAMgG,GAAcvJ,GAAOnN,GAAcc,OAAQkC,OAGpDgH,GAAc,CACb5H,YAAgB4Q,EAAH,yBACbyD,OAAQ,CACN3X,KAAM,QACNU,MAAO,CACLkR,KAAMgG,GAAc1T,OAIzBuT,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAEpB4D,GAAsB,CAAExU,YAAa,+BAEnCoE,GAAA,EAAAjE,MACAiE,GAAA,EAAAsQ,EAAS,CAAEC,aAAa,wGAgB1B1D,EAAA/I,UAAA,YAAA,MAqBKhE,GAAA,CAnBLnG,GAAsB6C,EAAa,MAAO3C,GAC1CyB,GAAmBoR,GACnBpJ,GAAa,CACZC,QAAS,uBAAuBiJ,iCAEjCwD,GAAQ,CACPpU,YAAa,4CAA4C4Q,EACzDlU,KAAMqO,GAAOnN,GAAcc,OAAQkC,KAEpCgH,GAAc,CACb5H,YAAgB4Q,EAAH,yBACbyD,OAAQ,CACN/F,KAAMgG,GAAc1T,MAGvBuT,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAEpB4D,GAAsB,CAAExU,YAAa,+BAEnCoE,GAAA,EAAAzC,GAAYmP,IACZ1M,GAAA,EAAAjE,MACAiE,GAAA,EAAAsQ,EAAS,CAAEC,aAAa,gHA4B1B1D,EAAA/I,UAAA,SAAA,MAkBKhE,GAAA,CAhBLnG,GAAsB6C,EAAa,SAAU,QAC7ClB,GAAmBoR,GACnBpJ,GAAa,CAAEC,QAAS,cAAciJ,oBACtCtJ,GAAS,CAAEvH,KAAM,MAAOnD,UAAU,EAAMF,KAAM,UAC9CkL,GAAc,CACb5H,YAAgB4Q,EAAH,yBACbyD,OAAQ,CACN3X,KAAM,QACNU,MAAO,CACLkR,KAAMgG,GAAc1T,OAIzBuT,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAGlBxM,GAAA,EAAA0D,EAAM,QACN1D,GAAA,EAAAsQ,EAAS,CAAEC,aAAa,wGAoB1B1D,EAAA/I,UAAA,YAAA,MAcKhE,GAAA,CAZLnG,GAAsB6C,EAAa,SAAU3C,GAC7CyB,GAAmBoR,GACnBpJ,GAAa,CAAEC,QAAS,YAAYiJ,oBACpChJ,GAAc,CACb5H,YAAgB4Q,EAAH,yBACbyD,OAAQ,CACN/F,KAAMgG,GAAc1T,MAGvBuT,GAAoB,CACnBnU,YAAa,MAAM4Q,8CAGlBxM,GAAA,EAAAzC,GAAYmP,IACZ1M,GAAA,EAAAsQ,EAAS,CAAEC,aAAa,yGA0B1B1D,EAAA/I,UAAA,SAAA,MA1yBG+I,EAAsB/M,GAAA,CAJ3B0Q,EAAWhO,GACXiO,GAAQjE,GACRkE,GAAelU,GACfgD,GAAKhD,2BAauByE,MAZvB4L,GA6yBCA,CACT,CAEA,kCAAOF,CACLvB,GAEA,MAAM7D,EAAK5G,EAAM4G,GAAG6D,GACduF,EAAWrX,EAASC,IACxB6R,EACA9R,EAASpC,IAAI0Z,GAAOC,SAAUtJ,IAE1BuJ,EAAeH,GAAUtX,MAAQ,GAGjC0X,EACJta,MAAML,QAAQ0a,IAAiBA,EAAaxZ,OAAS,EACjDb,MAAMyR,KAAK,IAAIC,IAAI,IAAI2I,KACvBra,MAAMyR,KAAK,IAAIC,IAAI,CAACZ,KAEpB3L,EAActC,EAASsC,YAAYwP,GAWzC,MAAO,CACLvR,KAXW,IAAIkX,EAAWhF,KAAK,MAY/BnQ,cACA8Q,cAZwCqE,EAAWha,IAAKG,IACjD,CACLyE,KAAMzE,EACN0E,YAAatC,EAASsC,YAAYwP,EAAYlU,GAC9CsB,UAAU,EACVF,KAAMuD,UAQR4Q,MAAO,IAAIzP,IACT2T,GAAUK,UAAYhU,EAAO+O,KAAK4E,EAASK,WAAahU,EAAO+O,KAAK,IAE1E,ECv/BK,IAAMkF,GAAN,MACL,WAAA1Y,CACqB2Y,EACAC,GADAlS,KAAAiS,eAAAA,EACAjS,KAAAkS,SAAAA,CAClB,CAEO,mBAAMC,CAActU,GAC5B,MACMuU,EAA0B,CAC9B9Q,QAFczD,EAAIyD,QAGlBc,UAAW,CAAA,GAGPiQ,EAAW/G,EAAQK,sBACzB,GAAI0G,EACF,IAAK,MAAMC,KAAWD,EACpB,IACE,MAAME,EAAcjH,EAAQC,eAC1B+G,GAEIrJ,QAAasJ,EAAYtJ,KAAKpL,GACpCnG,OAAO8K,OAAO4P,EAAMhQ,UAAW6G,EACjC,CAAE,MAAO5G,GACP,MAAM,IAAIK,GAAc,oCAAoCL,EAC9D,CAaJ,OAXY,IAAIuJ,GAAUrJ,WACxB7K,OAAO8K,OACL,CAAA,EACAgQ,EACA,CACEC,OAAQxG,GAAQ3R,MAChBoY,UAAW,IAAIC,MAEjBP,GAIN,CAEA,eAAMnS,CAAUgD,EAA2B/C,GACzC,MAAMrC,EAAMoF,EAAQ9F,eAAeC,aAC7B+F,EAAMF,EAAQ9F,eAAeyV,cAC7B3V,QAAY+C,KAAKmS,cAActU,GAGrC,OAFAmC,KAAKiS,eAAexP,SAASxF,SACvB+C,KAAKkS,SAAShP,KAAKrF,EAAKsF,GACvBjD,EAAKI,QACd,GA/CW0R,GAA8BnR,GAAA,CAD1CC,EAAW,CAAE6B,MAAOC,EAAMC,kCAGYb,GACNe,MAHpBiP,UC1DSa,IAIhB,SAAUC,GAA4BR,GAC1C,OAA4CxU,IAC1CzD,EAASyN,IAAI,eAAgBwK,EAASxU,GACd,mBAAbA,EACFtF,EAAS,eAAgB8Z,EAAzB9Z,CAAkCsF,GACpCA,EAEX,CCJM,SAAUiV,GAAaT,SAE3B,IAAMU,EAAN,2BACkBhT,KAAAyF,IAAMwG,GAAQvG,IAAIuN,EAAiBvW,MAAMgJ,IAAI4M,EAAS,CAEtE,0BAAOY,CACLC,GAEA,OAAOA,EAAOrb,IAAK0I,IAAK,CACtB4S,QAAY5S,EAAM9D,KAAT,UACT2W,WAAY,IAAMlO,EAAa8B,SAASzG,KAE5C,CAEA,cAAO8S,CACLhB,EACA7Y,EAAuC,IAEvC,MAAMgM,EAAMzF,KAAKyF,IAAIC,IAAI1F,KAAKsT,SAC9B7N,EAAIoI,KAAK,yCAET,MAAM0F,EAAgBjI,EAAQ6H,OAAOb,GAErC,IAAIkB,EAA4B,GAC5B/Z,EAAQga,eACVhO,EAAIoI,KAAK,2DACT2F,EAAgBxT,KAAKkT,oBAAoBK,GACzC9N,EAAIoI,KACF,4BAA4B2F,EAAcnb,iCAI9C,MAAMqb,EAAcH,EAAczb,IAAIkU,GAAoBoB,QAG1D,OAFA3H,EAAIoI,KAAK,aAAa6F,EAAYrb,sBAE3B,CACLsb,OAAQV,EACRS,cACAE,UAAW,CACT,CACER,QAAS7T,GACT8T,WAAY,IAER5Z,EAAQuJ,UAAUlL,IAAK+b,IACrBpO,EAAIoI,KAAK,+BAA+BgG,EAAEnX,MACnC,IAAImX,KACP,IAIZ7R,GACAe,GACA,CACEqQ,QAASU,GACTC,SAAU/B,OAETwB,GAGT,GAKF,OA9DMR,EAAgBC,EAAApS,GAAA,CADrBmT,EAAO,CAAA,IACFhB,GA2DNtb,OAAO8K,OAAOwQ,EAAkB,OAAQ,CACtCnb,MAAO,cAAcya,IAEhBU,CACT,CC/DAiB,EAAWvO,IAAIwO,EAAgBC,YAC5BC,OAAO,CACNlV,UAAW,CACTmV,EACAC,KAEAA,EACEA,IACqB,iBAAbD,EACJ3c,OAAO8K,OACL6R,EACAE,GAEFA,GACCzT,EAAW,CAChB6B,MAAO2R,EAAIE,UAAY5R,EAAM6R,QAAU7R,EAAMC,QAC7C6R,SAASJ,EAAIE,gBAAY5a,OAI9BiC,QAEHoY,EAAWvO,IAAIwO,EAAgBS,QAC5BP,OAAO,CACNlV,UAAW,CACTmV,EAEAC,IAEO,CACL5b,EACAC,EACAgM,IAEO1D,EAAOoT,GAAa3b,EAApBuI,CACLvI,EACAC,EACAgM,KAKP9I,QAEHoY,EAAWvO,IAAI+D,EAAeC,UAC3B0K,OACC5a,GAAY,CACVD,UAAU,KAGbsC,QAEHoY,EAAWvO,IAAI+D,EAAemL,KAC3BR,OAAO,CACNlV,UAA2B2V,GAClBrb,GAAY,CAAEsb,QAASD,EAAKtb,UAAU,MAGhDsC,QAEHoY,EAAWvO,IAAI+D,EAAesL,KAC3BX,OAAO,CACNlV,UAA2B8V,GAClBxb,GAAY,CAAEyb,QAASD,EAAKzb,UAAU,MAGhDsC,QAEHoY,EAAWvO,IAAI+D,EAAeyL,YAC3Bd,OAAO,CACNlV,UAAiC2V,GACxBrb,GAAY,CAAE2b,UAAWN,EAAKtb,UAAU,MAGlDsC,QAEHoY,EAAWvO,IAAI+D,EAAe2L,YAC3BhB,OAAO,CACNlV,UAAiC8V,GACxBxb,GAAY,CAAE6b,UAAWL,EAAKzb,UAAU,MAGlDsC,QAEHoY,EAAWvO,IAAI+D,EAAe6L,MAC3BlB,OAAO,CACNlV,UACE7F,GAKO,CAACX,EAAgB2Q,KAEF,mBADpBhQ,EAAO7B,MAAML,QAAQkC,GAAQA,EAAK,GAAKA,IACJA,EAAKqD,OACtCrD,EAAQA,KACHG,GAAY,CACjBH,KAAMA,EACNE,UAAU,GAFLC,CAGJd,EAAQ2Q,MAIhBxN,QAsBHoY,EAAWvO,IAAI+D,EAAe8L,MAC3BnB,OAAO,CAENlV,UAA4BsW,GACnBhc,GAAY,CACjBH,KAAMuD,OACN4Y,OAAQ,YACRjc,UAAU,MAKfsC,QAEHoY,EAAWvO,IAAI+D,EAAegM,MAC3BrB,OAAO,CACNlV,UAA8BzF,GAErBD,GAAY,CACjBK,KAFWrC,MAAML,QAAQsC,GAAWA,EAAU/B,OAAOC,OAAO8B,GAG5DF,UAAU,MAIfsC,QAEHoY,EAAWvO,IAAI+D,EAAeiM,SAC3BtB,OAAO,CACNlV,UAA+ByW,GACtBnc,GAAY,CACjBoc,QAAwB,iBAARD,EAAmBA,EAAMA,EAAIE,OAC7Ctc,UAAU,MAIfsC,QAEHoY,EAAWvO,IAAI/D,EAAgBmU,QAC5B1B,OAAO,CACNlV,UAA8BxC,GACrBlD,GAAY,CACjBkD,KAAMA,EACNnD,UAAU,MAIfsC,QAEHoY,EAAWvO,IAAIqQ,EAAeC,aAC3B5B,OAAO,CACNlV,UAAmCvC,GAC1BnD,GAAY,CACjBmD,YAAaA,EACbpD,UAAU,MAIfsC,QAEHoY,EAAWvO,IAAI/D,EAAgBsU,MAAM7B,OAAO,CAAElV,UAAWqB,KAAQ1E,QCnM3D,MAAOqa,WAAkBC,EAC7B,WAAA7c,CAAY8c,GACVtU,MAAMsU,EAAKF,GAAUxZ,KACvB,ECMK,IAAM2Z,GAAN,MACL,MAAMC,EAAkBC,GACtB,MAAMtZ,EAAMsZ,EAAKpZ,eACXqZ,EAAWvZ,EAAI2V,cACf3Q,EAAUhF,EAAIG,aAEdqZ,EAAyC,eAA1BC,GAAkBC,IACvC,IAAIC,EACAN,aAAqBO,EAEvBD,GADAN,EAAY,IAAIQ,EAAuBR,EAAUvJ,UACEgK,YACxCT,aAAqBU,KAChCV,EAAY,IAAI5T,GAAc4T,EAAUvJ,UAE1CyJ,EAASS,OAAQX,EAAwBY,MAAQN,GAAYO,KAAK,CAChEF,OAASX,EAAwBY,MAAQN,EACzC7Q,MAAO0Q,EAAeH,EAAU5Z,KAAO4Z,EAAUvJ,QACjD2F,WAAW,IAAIC,MAAOyE,cACtBxc,KAAMqH,EAAQoV,IACdlT,OAAQlC,EAAQkC,QAEpB,YC7BcmT,KACd,OAAOC,EAAW,IAAIlB,GACxB,CDMaA,GAAoBxV,GAAA,CADhC2W,KACYnB,IEMN,MAAMoB,GAAuC,CAIlD7c,KAAM,OAGN8c,KAAM,CACJre,KAAM,OACNse,OAAQ,SACRC,aAAc,MACdlb,KAAM,gBACNC,YAAa,kBACbkb,GAAI,UAGNC,cAAe,iBCnBJC,GAUX,WAAAze,CAAYG,GACVuG,KAAKvG,QAAU,IACVA,EAEP,CAEQ,SAAAue,GACN,IAAIC,EAAM,GAKV,OAJIjY,KAAKvG,QAAQye,iBAEfD,GAAO,yDADKjY,KAAKmY,IAAInY,KAAKvG,QAAQye,sDAIlCD,EACA,0GAE4CjY,KAAKvG,QAAQqe,eAAiBL,GAAqBK,0BAGnG,CAEA,gBAAAM,GACE,MAAMC,EAA+B,CAAA,EAKrC,OAJIrY,KAAKvG,QAAQ6e,cACfD,EAAuB,cAAIrY,KAAKmY,IAAInY,KAAKvG,QAAQ6e,aAAa,IAGzD,CACLC,gBAAiBvY,KAAKvG,QAAQ+e,SAC3BH,EACHI,UAAWzY,KAAKgY,YAChBU,eAAgB,CACdC,qBAAsB3Y,KAAKvG,QAAQkf,sBAErCC,gBAAiB5Y,KAAKvG,QAAQmB,KACvBoF,KAAKvG,QAAQmB,KAAhB,kBACAhB,EACJif,gBAAiB7Y,KAAKvG,QAAQmB,KACvBoF,KAAKvG,QAAQmB,KAAhB,kBACAhB,EAER,CAEA,GAAAue,CAAIW,EAAcC,GAAe,GAC/B,MAAMC,EAAWpe,GAAKkS,KAAK9M,KAAKvG,QAAQwf,YAAc,GAAIH,GACpDX,EAAMe,GAAaF,EAAU,CAAEG,SAAU,WAC/C,OAAOJ,EAAM,yBAA2BZ,EAAMA,CAChD,QClEWiB,GACX,WAAA9f,CACmB+f,EACA5f,GADAuG,KAAAqZ,IAAAA,EACArZ,KAAAvG,QAAAA,CAChB,CAEK,cAAA6f,GACN,MAAM3c,EAAcqD,KAAKvG,QAAQmB,KAC7BoF,KAAKvG,QAAQkD,YACb,GACA,oBAAoBqD,KAAKvG,QAAQmB,2CACjC,YAAYoF,KAAKvG,QAAQmB,wCACzBoF,KAAKvG,QAAQkD,YAEX4c,GAAS,IAAIC,IAChBC,SAASzZ,KAAKvG,QAAQ+e,OACtBkB,eAAe/c,GACfgd,WAAW3Z,KAAKvG,QAAQmgB,SAAW,SACnCC,cAAc7Z,KAAKvG,QAAQie,MAAQD,GAAqBC,MACxDoC,QAEH,OAAOC,GAAcT,eAAetZ,KAAKqZ,IAAKE,EAAQ,CACpD5O,YAAa3K,KAAKvG,QAAQkR,aAAe,IAE7C,CAEO,YAAAqP,GACL,MAAMC,EAAWja,KAAKsZ,iBAChBY,EAAY,IAAInC,GAAgB,CACpCS,MAAOxY,KAAKvG,QAAQ+e,MACpB5d,KAAMoF,KAAKvG,QAAQmB,MAAQ6c,GAAqB7c,KAChD+d,qBAAsB3Y,KAAKvG,QAAQkf,uBAAwB,EAC3DM,WAAYjZ,KAAKvG,QAAQwf,WACzBX,YAAatY,KAAKvG,QAAQ0gB,gBAC1BjC,eAAgBlY,KAAKvG,QAAQ2gB,mBAC7BtC,cAAe9X,KAAKvG,QAAQqe,gBAE9BiC,GAAcM,MACZra,KAAKvG,QAAQmB,MAAQ6c,GAAqB7c,KAC1CoF,KAAKqZ,IACLY,EACA,IACKC,EAAU9B,oBAGnB,QCwCWkC,GAcH,iBAAW7H,GAKjB,OAJKzS,KAAKua,UAERva,KAAKua,QAAU,IAAIC,EAAO,kBAErBxa,KAAKua,OACd,CAaA,iBAAOE,CAAWpB,GAEhB,OADArZ,KAAKqZ,IAAMA,EACJrZ,IACT,CAcA,mBAAO0a,CAAaC,GAGlB,OAFA3a,KAAKua,QAAUI,GAAgB,IAAIH,EAAO,iBAC1Cxa,KAAKqZ,IAAIuB,UAAU5a,KAAKua,SACjBva,IACT,CAgBA,iBAAO6a,CACLC,EAA0B,GAC1BC,EAAyB,CAAC,MAAO,OAAQ,MAAO,WAEhD,MAAMC,EACQ,MAAZF,EAAkB,IAAMA,EAAQhjB,IAAKmjB,GAAMA,EAAEpO,OAAOqO,eAEhDC,EAA2B,CAC/BC,OAAQ,CAACA,EAAQC,IAEVD,EAGgB,MAAnBJ,GACCxjB,MAAML,QAAQ6jB,IACbA,EAAe9iB,SAASkjB,EAAOF,eAE1BG,EAAS,MAAM,QAGxBA,EAAS,IAAInF,GAAU,UAAUkF,kBAVbC,EAAS,MAAM,GAYrCC,aAAa,EACbC,QAASR,EAAajO,KAAK,MAI7B,OADA9M,KAAKqZ,IAAIwB,WAAWM,GACbnb,IACT,CAcA,gBAAOwb,CAAU/hB,GACf,IAEE,MAAMgiB,EAASC,QAAQ,UACvB1b,KAAKqZ,IAAIsC,IAAIF,EAAOhiB,IACpBuG,KAAKyS,OAAOhN,IAAI,0CAElB,CAAE,MAAOpD,GACPrC,KAAKyS,OAAOmJ,KAAK,6CACnB,CAEA,OAAO5b,IACT,CAcA,mBAAOga,CAAavgB,GAalB,OAZgB,IAAI2f,GAAepZ,KAAKqZ,IAAK,CAC3Cb,MAAO/e,EAAQ+e,MACf7b,YAAalD,EAAQkD,YACrBid,QAASngB,EAAQmgB,QACjBhf,KAAMnB,EAAQmB,MAAQ,MACtB+d,qBAAsBlf,EAAQkf,uBAAwB,EACtDM,WAAYxf,EAAQwf,WACpBkB,gBAAiB1gB,EAAQ6e,YACzB8B,mBAAoB3gB,EAAQye,eAC5BJ,cAAere,EAAQqe,gBAEjBkC,eACDha,IACT,CAcA,qBAAO6b,IAAkBC,GAEvB,OADIA,EAAMzjB,OAAS,GAAG2H,KAAKqZ,IAAIwC,kBAAkBC,GAC1C9b,IACT,CAaA,uBAAO+b,IAAoBC,GAIzB,OAHAhc,KAAKqZ,IAAI0C,oBACHC,EAAQ3jB,OAAS,EAAI2jB,EAAU,CAAC,IAAI3F,KAEnCrW,IACT,CAcA,4BAAOic,IAAyBC,GAG9B,OAFIA,EAAa7jB,OAAS,GACxB2H,KAAKqZ,IAAI4C,yBAAyBC,GAC7Blc,IACT,CAgBA,kBAAamc,CACXC,EAAevd,OAAOwd,QAAQ1F,IAAI2F,OAAS,IAC3C/F,OAA2B3c,EAC3B6L,GAAe,GAEfzF,KAAKqZ,IAAIkD,OAAOH,EAAM7F,GAAahP,KAAKjC,UACtC,GAAIG,EAAK,CACP,MAAM4R,QAAYrX,KAAKqZ,IAAImD,SAC3Bxc,KAAKyS,OAAOhN,IAAI,2CAAiC4R,EACnD,GAEJ,SC5SK,IAAMoF,GAAN,qBAOK,sBAAWvX,GACnB,IAAKlF,KAAK8G,aACR,MAAM,IAAIpE,GAAc,uCAC1B,OAAO1C,KAAK8G,YACd,CAEU,cAAWrB,GAEnB,OADKzF,KAAKua,UAASva,KAAKua,QAAUtO,GAAQvG,IAAIgX,KACvC1c,KAAKua,OACd,CAEA,WAAAjhB,CAEmBG,EACAkjB,GADA3c,KAAAvG,QAAAA,EACAuG,KAAA2c,UAAAA,CAChB,CAEH,4BAAaC,CACXnjB,GAEA,MAAMgM,EAAMzF,KAAKyF,IAAIC,IAAI1F,KAAK4c,iBAE9B,IAAK5c,KAAK8G,aAAc,CACtB,MAAM+V,EAAUpjB,EAAQqjB,KAAKhlB,IAAI,EAAEilB,EAAOzI,KAAQla,KAC/BA,EAAK4iB,MAEf,CAACD,EAAOzI,KAAQla,GADD,CAAC2iB,EAAOzI,IAGhCtU,KAAK8G,aAAe,IAAImW,QAClBjd,KAAK8G,aAAaoW,KAAKL,GAC7B,MAAMM,EAAUnd,KAAK8G,aAAasW,OAClC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQ9kB,OAAQglB,IAAK,CACvC,MAAMC,EAAI7jB,EAAQqjB,KAAKO,GACvB,IAAI,CAAA,CAAK9K,GAAe+K,EACxB,IAAK/K,EAAa,CAChB,MAAMwK,EAAQzR,EAAQC,eAAe4R,EAAQE,GAAG/K,SAChD,IAAKyK,EACH,MAAM,IAAIra,GACR,oCAAoCya,EAAQE,GAAG/K,kGAEnDC,EACEwK,aAAiBlK,GAA8BkK,EAAQ,IAAIA,CAC/D,CACAjK,GAA4BqK,EAAQE,GAAG/K,QAAvCQ,CAAgDP,EAClD,CACA9M,EAAIoI,KAAK,0CACX,CAEA,OAAO7N,KAAKkF,YAAYkY,MAe1B,CAEA,cAAO9J,CAAQ7Z,GACb,MAAM8jB,EAAuB,CAC3BnK,QAAShU,GACToe,SAAU/jB,GAGN+R,EAAgC,CACpC6H,WAAY/N,MAAO3L,GACV+iB,GAAgBE,gBAAgBjjB,GAEzCyZ,QAAS/T,GACTqV,SAAS,EACT/R,MAAOC,EAAM6R,QACbgJ,OAAQ,CAACre,KAMX,MAAO,CACLuU,OAAQ+I,GACR9I,UALgB,CAACpI,EAAS+R,WACZ,CAAC/R,GAOnB,CAEA,2BAAMkS,GACJ,MAAMjY,EAAMiX,GAAgBjX,IAAIC,IAAI1F,KAAK0d,uBACnCC,EACJ3d,KAAK2c,UAAUriB,IAAS+E,IAC1B,IAAK,MAAMmM,KAAWmS,EACpB,IACMnS,IACF/F,EAAIoI,KAAK,iBAAiBrC,EAAQzT,kBAC5ByT,EAAQoS,WAElB,CAAE,MAAOvb,GACPoD,EAAIM,MAAM,iCAAkC1D,EAC9C,CACJ,GA/GWoa,GAAeC,GAAA7b,GAAA,CAF3Bgd,IACA7J,EAAO,CAAA,GAoBHjT,GAAA,EAAAE,EAAO7B,oCAEoB0e,MArBnBrB,ICtBN,MAAMsB,GAA8Bve,OACzC,sCCUK,IAAMwe,GAAgBC,GAAtB,cAA+B5X,GAGpC,WAAA/M,CACEiN,EACqC8L,GAErCvQ,MAAMyE,EAAe0X,GAAiBvhB,MACtCsD,KAAK2d,SAAWtL,EAASva,IAAKwa,GAAahH,EAAgBhR,IAAIgY,GACjE,CAGA,MAAAiK,GACE,MAAM9J,EAASxG,GAAQvG,IAAIuY,GAAiBvhB,MAE5C,OAAO,IAAIwhB,GAA0BC,IACnC,MAAMC,EAAK,IAAA,MACT,OAAAC,IAAWjkB,GACT,OAAOkkB,QAAQC,UAAUhX,KAAK,KAC5B,MAAMvK,EC9BZ,CAAiC5C,IACrC,MAAOokB,EAAa/X,EAAW0J,EAAIK,GAAWpW,EAQ9C,MAAO,CANWokB,GAAa9hB,MAAQ8hB,EAMpB/X,EAAW0J,EAJJ3Y,MAAML,QAAQqZ,GACpCA,EAAQ1Y,IAAKuK,GAAMA,EAAEoc,aACrBjO,GAASiO,YAGf,EDoByBC,CAAuBtkB,GACpC+jB,EAASje,KAAK,CAAElD,UAEpB,GAQF,IACE,IAAK,MAAMwO,KAAWxL,KAAK2d,SACzBnS,EAAQmT,QAAQP,EAEpB,CAAE,MAAO/b,GACP8b,EAASpY,MAAM,6BAA4B1D,EAAE0K,SAAW1K,GAC1D,CAEA,MAAO,KACL,IACE,IAAK,MAAMmJ,KAAWxL,KAAK2d,SACzBnS,EAAQoT,UAAUR,EAEtB,CAAE,MAAO/b,GACPoQ,EAAO1M,MAAM1D,EACf,IAGN,CAIA,cAAAwc,CAA+Bre,GAC7B,MAAMiS,EAASxG,GAAQvG,IAAIuY,GAAiBvhB,MAE5C,OAAO,IAAIwhB,GAA0BC,IACnC,MAAMC,EAAK,IAAA,MACT,OAAAC,IAAWjkB,GACT,OAAOkkB,QAAQC,UAAUhX,KAAK,KAC5B4W,EAASje,KAAK,CAAElD,KAAM5C,KAE1B,GAGF,IACE,IAAK,MAAMoR,KAAWxL,KAAK2d,SACzBnS,EAAQmT,QAAQP,EAEpB,CAAE,MAAO/b,GACP8b,EAASpY,MAAM,6BAA4B1D,EAAE0K,SAAW1K,GAC1D,CAEA,MAAO,KACL,IACE,IAAK,MAAMmJ,KAAWxL,KAAK2d,SACzBnS,EAAQoT,UAAUR,EAEtB,CAAE,MAAO/b,GACPoQ,EAAO1M,MAAM1D,EACf,IAGN,UAtEAxB,GAAA,CADCie,iFACSZ,KAoCTF,GAAAnZ,UAAA,SAAA,MAIDhE,GAAA,CAFCie,EAAI,WAEW/d,GAAA,EAAA0D,EAAM,6FAAyByZ,KA8B9CF,GAAAnZ,UAAA,iBAAA,MAlFUmZ,GAAgBC,GAAApd,GAAA,CAD5B0Q,IAMIxQ,GAAA,EAAAE,EAAO8c,6BADO/b,GAAmBxK,SAJzBwmB,IEJN,IAAMe,GAAiBC,GAAvB,MACL,kBAAOC,CACL5M,EACAzX,EAAe,UAEf,MAAO,CACL+Y,OAAQqL,GACRtL,YAAa,CAACsK,IACdkB,QAAS,CACPC,GAAaC,SAAS,CACpB,CACExkB,KAAMA,EAAK+R,QAAQ,MAAO,IAC1BgH,OAAQqL,OAIdpL,UAAW,CACT5R,GACA,CACEoR,QAAS2K,GACTP,SAAUnL,GAAY,KAI9B,UAxBW0M,GAAiBC,GAAAne,GAAA,CAD7BmT,EAAO,CAAA,IACK+K,ICIN,IAAMM,GAAWC,GAAjB,MACL,yBAAaC,CACX9lB,GAEA,MAAM+lB,gBAAEA,EAAe/L,aAAEA,EAAYzQ,SAAEA,GAAavJ,EAI9C4Y,SADEoK,GAAgBG,gBAAgBnjB,IACd3B,IAAK0T,GAAYA,EAAQ8G,SAE7C4M,EAOU,CAACzC,GAAgBnJ,QAAQ7Z,IAiBzC,OAfI+lB,GACFnN,EAASvN,QAASwN,IAChB4M,EAAQlb,KACN+O,GAAaT,GAASgB,QAAQhB,EAAS,CACrCmB,eACAzQ,gBAMJvJ,EAAQgmB,iBAAiBC,sBAC3BR,EAAQlb,KAAK+a,GAAkBE,YAAY5M,IAGtC,CACLsB,OAAQ2L,GACRJ,QAASA,EAEb,GC7CI,SAAUS,GAAanf,GAC5B,MAAMof,EAAIle,EAAMpH,IAAIkG,GACpB,IAAKof,EACJ,MAAM,IAAIld,GAAc,iCAAiClC,GAE1D,OADawG,EAAWC,SAAS2Y,EAElC,CDCaP,GAAWC,GAAAze,GAAA,CADvBmT,EAAO,CAAA,IACKqL,IEiCN,MAAMQ,GAAU,cACVC,GAAe,cAE5BzlB,EAAS0lB,gBAAgBD,GAAcD"}
|
package/lib/cli-module.cjs
CHANGED
|
@@ -65,8 +65,10 @@ function resolveInputPath(input, exists = defaultCandidateExists, candidates = d
|
|
|
65
65
|
function buildOutputFilePath(params) {
|
|
66
66
|
const { outputDir, pkgName, name, fileName, appendVersion = false, version, } = params;
|
|
67
67
|
const baseDir = path_1.default.resolve(outputDir);
|
|
68
|
-
const defaultPkgName = pkgName
|
|
69
|
-
const
|
|
68
|
+
const defaultPkgName = pkgName;
|
|
69
|
+
const resolvedRawSource = fileName || name || defaultPkgName || "api";
|
|
70
|
+
const baseName = path_1.default.basename(resolvedRawSource);
|
|
71
|
+
const resolvedRaw = baseName.replace(/[\\/]/g, "_");
|
|
70
72
|
const trimmed = resolvedRaw.replace(/^[._]+/, "");
|
|
71
73
|
const resolvedName = trimmed || "api";
|
|
72
74
|
const suffix = appendVersion && version ? `-${version}` : "";
|
package/lib/cli-module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../src/cli-module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,4CAQC;AAED,
|
|
1
|
+
{"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../src/cli-module.ts"],"names":[],"mappings":"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"}
|
package/lib/controllers.cjs
CHANGED
|
@@ -58,9 +58,9 @@ class DecafModelController extends DecafController {
|
|
|
58
58
|
const persistence = this.persistence(ctx);
|
|
59
59
|
let contextual = undefined;
|
|
60
60
|
if (persistence instanceof core_1.ModelService)
|
|
61
|
-
contextual = persistence.repo["
|
|
61
|
+
contextual = persistence.repo["_adapter"];
|
|
62
62
|
else if (persistence instanceof core_1.Repository)
|
|
63
|
-
contextual = persistence["
|
|
63
|
+
contextual = persistence["_adapter"];
|
|
64
64
|
else if (persistence.context) {
|
|
65
65
|
contextual = persistence;
|
|
66
66
|
}
|
package/lib/controllers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":";;;AAAA,yCAawB;AACxB,+CAAoE;AAMpE,MAAsB,eAEpB,SAAQ,cAAgB;IACxB,YACqB,aAAkC,EACrD,IAAY;QAEZ,KAAK,CAAC,IAAI,CAAC,CAAC;QAHO,kBAAa,GAAb,aAAa,CAAqB;IAIvD,CAAC;IA4BkB,MAAM,CAKvB,IAAuC,EACvC,SAAiB,EACjB,cAAsB,KAAe,EACrC,SAAqC;QAMrC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC;QACpD,OAAO,4BAAqB,CAAC,MAAM,CAAC,IAAI,CACtC,IAAI,EACJ,SAAS,EACT,SAAS,IAAI,EAAE,EACf,WAAW,EACX,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CACX,CAAC;IACX,CAAC;CACF;AA5DD,0CA4DC;AAED,MAAsB,oBAGpB,SAAQ,eAAkB;IAK1B,WAAW,CAAC,GAAkB;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,GAAG,mBAAY,CAAC,UAAU,CACzC,IAAI,CAAC,KAAK,CACQ,CAAC;gBACrB,6DAA6D;YAC/D,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,IAAI,CAAC,YAAY,GAAG,cAAO,CAAC,GAAG,CAC7B,IAAI,CAAC,KAAoB,CACP,CAAC;oBACrB,6DAA6D;gBAC/D,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,YAAY,GAAG,iBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAY,CAAC;gBACjE,CAAC;YACH,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,iCAAqB,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,GAAG;YACR,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,iBAAU;gBACvC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACxB,CAAC;IAED,YAAsB,aAAkC,EAAE,IAAY;QACpE,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAuCkB,MAAM,CAIvB,IAA0E,EAC1E,SAAiB,EACjB,cAAuB,KAAK;QAc5B,0BAA0B;QAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QACnC,IAAI,SAAS,GAAwB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,aAAa;QACf,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,UAAU,GAA2B,SAAS,CAAC;QACnD,IAAI,WAAW,YAAY,mBAAY;YACrC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../src/controllers.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/cli-module.js
CHANGED
|
@@ -24,8 +24,10 @@ export function resolveInputPath(input, exists = defaultCandidateExists, candida
|
|
|
24
24
|
export function buildOutputFilePath(params) {
|
|
25
25
|
const { outputDir, pkgName, name, fileName, appendVersion = false, version, } = params;
|
|
26
26
|
const baseDir = path.resolve(outputDir);
|
|
27
|
-
const defaultPkgName = pkgName
|
|
28
|
-
const
|
|
27
|
+
const defaultPkgName = pkgName;
|
|
28
|
+
const resolvedRawSource = fileName || name || defaultPkgName || "api";
|
|
29
|
+
const baseName = path.basename(resolvedRawSource);
|
|
30
|
+
const resolvedRaw = baseName.replace(/[\\/]/g, "_");
|
|
29
31
|
const trimmed = resolvedRaw.replace(/^[._]+/, "");
|
|
30
32
|
const resolvedName = trimmed || "api";
|
|
31
33
|
const suffix = appendVersion && version ? `-${version}` : "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../../src/cli-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,sBAAsB,GAAG;IAC7B,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC;AAEF,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,SAAyC,sBAAsB,EAC/D,UAAU,GAAG,sBAAsB;IAEnC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,IAAI,qBAAqB,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAOnC;IACC,MAAM,EACJ,SAAS,EACT,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,aAAa,GAAG,KAAK,EACrB,OAAO,GACR,GAAG,MAAM,CAAC;IACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../../src/cli-module.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/controllers.js
CHANGED
|
@@ -54,9 +54,9 @@ export class DecafModelController extends DecafController {
|
|
|
54
54
|
const persistence = this.persistence(ctx);
|
|
55
55
|
let contextual = undefined;
|
|
56
56
|
if (persistence instanceof ModelService)
|
|
57
|
-
contextual = persistence.repo["
|
|
57
|
+
contextual = persistence.repo["_adapter"];
|
|
58
58
|
else if (persistence instanceof Repository)
|
|
59
|
-
contextual = persistence["
|
|
59
|
+
contextual = persistence["_adapter"];
|
|
60
60
|
else if (persistence.context) {
|
|
61
61
|
contextual = persistence;
|
|
62
62
|
}
|