@decaf-ts/for-http 0.3.38 → 0.3.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/for-http.cjs +1 -1
  2. package/dist/for-http.cjs.map +1 -1
  3. package/dist/for-http.js +1 -1
  4. package/dist/for-http.js.map +1 -1
  5. package/lib/HttpDispatcher.cjs +61 -0
  6. package/lib/HttpDispatcher.d.ts +17 -0
  7. package/lib/HttpDispatcher.js.map +1 -0
  8. package/lib/adapter.cjs +28 -25
  9. package/lib/adapter.d.ts +2 -2
  10. package/lib/adapter.js.map +1 -1
  11. package/lib/esm/HttpDispatcher.d.ts +17 -0
  12. package/lib/esm/HttpDispatcher.js +57 -0
  13. package/lib/esm/HttpDispatcher.js.map +1 -0
  14. package/lib/esm/adapter.d.ts +2 -2
  15. package/lib/esm/adapter.js +5 -2
  16. package/lib/esm/adapter.js.map +1 -1
  17. package/lib/esm/event/ServerEventConnector.d.ts +23 -0
  18. package/lib/esm/event/ServerEventConnector.js +109 -0
  19. package/lib/esm/event/ServerEventConnector.js.map +1 -0
  20. package/lib/esm/event/index.d.ts +2 -0
  21. package/lib/esm/event/index.js +3 -0
  22. package/lib/esm/event/index.js.map +1 -0
  23. package/lib/esm/event/types.d.ts +11 -0
  24. package/lib/esm/event/types.js +2 -0
  25. package/lib/esm/event/types.js.map +1 -0
  26. package/lib/esm/index.d.ts +2 -1
  27. package/lib/esm/index.js +2 -1
  28. package/lib/esm/index.js.map +1 -1
  29. package/lib/esm/types.d.ts +1 -0
  30. package/lib/event/ServerEventConnector.cjs +113 -0
  31. package/lib/event/ServerEventConnector.d.ts +23 -0
  32. package/lib/event/ServerEventConnector.js.map +1 -0
  33. package/lib/event/index.cjs +19 -0
  34. package/lib/event/index.d.ts +2 -0
  35. package/lib/event/index.js.map +1 -0
  36. package/lib/event/types.cjs +3 -0
  37. package/lib/event/types.d.ts +11 -0
  38. package/lib/event/types.js.map +1 -0
  39. package/lib/index.cjs +2 -1
  40. package/lib/index.d.ts +2 -1
  41. package/lib/index.js.map +1 -1
  42. package/lib/types.d.ts +1 -0
  43. package/package.json +3 -2
package/dist/for-http.cjs CHANGED
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,s,a,i,n,o){"use strict";var c,d,l,p,u,h;class g extends t.Repository{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}url(e,t,r){return this.adapter.url(e,t,r)}async paginateBy(e,r,s={offset:1,limit:10},...i){const{offset:n,bookmark:o,limit:c}=s,{log:d,ctxArgs:l}=(await this.logCtx(i,t.PreparedStatementKeys.PAGE_BY,!0)).for(this.paginateBy);d.verbose(`paginating ${a.Model.tableName(this.class)} with page size ${c}`);const p={direction:r,limit:c};return o&&(p.bookmark=o),this.statement(this.paginateBy.name,e,n,p,...l)}async listBy(e,r,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.LIST_BY,!0)).for(this.listBy);return i.verbose(`listing ${a.Model.tableName(this.class)} by ${e} ${r}`),await this.statement(this.listBy.name,e,{direction:r},...n)}async findBy(e,r,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.FIND_BY,!0)).for(this.findBy);return i.verbose(`finding ${a.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findBy.name,e,r,{},...n)}async findOneBy(e,r,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.FIND_ONE_BY,!0)).for(this.findOneBy);return i.verbose(`finding ${a.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findOneBy.name,e,r,{},...n)}async statement(e,...r){const{log:s,ctx:a,ctxArgs:i}=(await this.logCtx(r,t.PersistenceKeys.STATEMENT,!0)).for(this.statement),n=i.slice(0,-1),o=n[n.length-1],c="object"!=typeof o||null===o||Array.isArray(o)?void 0:n.pop(),d={class:this.class,args:n,method:e,params:c},l=this.adapter.toRequest(d,a);return s.verbose("Executing prepared statement "+e),this.adapter.parseResponse(this.class,e,await this.request(l,...i))}async request(e,...r){let a;a=r.length&&r[r.length-1]instanceof t.Context?this.logCtx(r,this.request):(await this.logCtx(r,s.OperationKeys.READ,!0)).for(this.request);const{ctxArgs:i}=a;return this.adapter.request(e,...i)}async countOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.COUNT_OF,!0)).for(this.countOf);s.verbose(`counting ${a.Model.tableName(this.class)}${e?" by "+e:""}`);const n=e?[e,{}]:[{}];return await this.statement(this.countOf.name,...n,...i)}async maxOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.MAX_OF,!0)).for(this.maxOf);return s.verbose(`finding max of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.maxOf.name,e,{},...i)}async minOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.MIN_OF,!0)).for(this.minOf);return s.verbose(`finding min of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.minOf.name,e,{},...i)}async avgOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.AVG_OF,!0)).for(this.avgOf);return s.verbose(`calculating avg of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.avgOf.name,e,{},...i)}async sumOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.SUM_OF,!0)).for(this.sumOf);return s.verbose(`calculating sum of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.sumOf.name,e,{},...i)}async distinctOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.DISTINCT_OF,!0)).for(this.distinctOf);return s.verbose(`finding distinct values of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.distinctOf.name,e,{},...i)}async groupOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.GROUP_OF,!0)).for(this.groupOf);return s.verbose(`grouping ${a.Model.tableName(this.class)} by ${e}`),await this.statement(this.groupOf.name,e,{},...i)}}i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,void 0]),i.__metadata("design:returntype",Promise)],g.prototype,"countOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(c="undefined"!=typeof K&&K)?c:Object,void 0]),i.__metadata("design:returntype",Promise)],g.prototype,"maxOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(d="undefined"!=typeof K&&K)?d:Object,void 0]),i.__metadata("design:returntype",Promise)],g.prototype,"minOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(l="undefined"!=typeof K&&K)?l:Object,void 0]),i.__metadata("design:returntype",Promise)],g.prototype,"avgOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(p="undefined"!=typeof K&&K)?p:Object,void 0]),i.__metadata("design:returntype",Promise)],g.prototype,"sumOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(u="undefined"!=typeof K&&K)?u:Object,void 0]),i.__metadata("design:returntype",Promise)],g.prototype,"distinctOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(h="undefined"!=typeof K&&K)?h:Object,void 0]),i.__metadata("design:returntype",Promise)],g.prototype,"groupOf",null);class y extends g{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return a.Model.tableName(this.class)+" REST service"}}class m extends t.Statement{constructor(e,t){super(e,t)}build(){throw new t.UnsupportedError("This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required")}parseCondition(e,...r){throw new t.UnsupportedError("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class f extends t.Paginator{constructor(e,t,r,s){super(e,t,r,s)}async pagePrepared(e,...r){const s=t.Repository.forModel(this.clazz,this.adapter.alias),a=this.query,{method:i,args:n,params:o}=a,c=RegExp(`^${t.PreparedStatementKeys.FIND_BY}|${t.PreparedStatementKeys.LIST_BY}`,"gi");if(!i.match(c))throw new t.UnsupportedError(`Method ${i} is not supported for pagination`);c.lastIndex=0;const d=[i.replace(c,t.PreparedStatementKeys.PAGE_BY),...n],l={direction:o.direction,limit:this.size,offset:e,bookmark:this._bookmark};d.push(l);const p=await s.statement(...d,...r);return this.apply(p)}prepare(e){throw new t.UnsupportedError("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(e=1,...t){return super.page(e,...t)}}function E(e,t,r,s){const a=s||t.name;e[a]=new Proxy(e[a],{apply:async(e,t,s)=>{let a=e.call(t,...s);return a instanceof Promise&&(a=await a),a=r.call(t,a),a instanceof Promise&&(a=await a),a}})}class b extends t.Adapter{constructor(e,t,r){super(e,t,r);const a=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(e=>{E(this,e,t=>a.parseResponse.call(a,void 0,e.name,t),e.name)}),s.wrapMethodWithContext(this,(...e)=>e,this.request,(e,t)=>{const r=a.config.parsers;return r?(r.forEach(r=>r(e,t)),e):e},this.request.name)}async flags(e,t,r){return super.flags(e,t,Object.assign({headers:r.headers??{}},r))}repository(){return y}prepare(e,...r){const{log:s}=this.logCtx(r,this.prepare),i=Object.assign({},e);return e[t.PersistenceKeys.METADATA]&&(s.silly("Passing along persistence metadata for "+e[t.PersistenceKeys.METADATA]),Object.defineProperty(i,t.PersistenceKeys.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[t.PersistenceKeys.METADATA]})),{record:e,id:e[a.Model.pk(e.constructor)]}}revert(e,r,i,...n){const{log:o}=this.logCtx(n,this.revert),c={},d="string"==typeof r?a.Model.build(c,r):new r(c);o.silly(`Rebuilding model ${d.constructor.name} id ${i}`);const l="string"==typeof r?a.Model.get(r):r;if(!l)throw new s.InternalError("Failed to retrieve model constructor for "+r);const p=new l(e),u=e[t.PersistenceKeys.METADATA];return u&&(o.silly(`Passing along ${this.flavour} persistence metadata for ${d.constructor.name} id ${i}: ${u}`),Object.defineProperty(p,t.PersistenceKeys.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:u})),p}toTableName(e){return"string"==typeof e?e:n.toKebabCase(a.Model.tableName(e))}url(e,t,r){r||t&&!Array.isArray(t)&&(r=t,t=[]),e=this.toTableName(e);const s=new URL(`${this.config.protocol}://${this.config.host}/${e}${t&&t.length?"/"+t.join("/"):""}`);return r&&Object.entries(r).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>s.searchParams.append(e,t.toString())):"object"==typeof t?s.searchParams.append(e,JSON.stringify(t)):void 0!==t&&s.searchParams.append(e,t.toString())}),s.toString()}extractIdArgs(e,t){const r=t.toString();if("string"==typeof e)return[r];const s=a.Model.composed(e,a.Model.pk(e));return s?r.split(s.separator):[r]}parseResponse(e,r,s){return e&&t.Paginator.isSerializedPage(s)?Object.assign({},s,{data:s.data.map(t=>new e(t))}):s}raw(e,...t){const{ctxArgs:r,ctx:s}=this.logCtx(t,this.raw),a=this.toRequest(e,s);return this.request(a,...r)}Sequence(e){return Promise.reject(new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(e){return new m(this,e)}Paginator(e,t,r){return new f(this,e,t,r)}parseCondition(e){throw new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(e,...r){const a="string"==typeof e?e:e.message;return a.includes(s.NotFoundError.name)||a.includes("404")?new s.NotFoundError(e):a.includes(s.ConflictError.name)||a.includes("409")?new s.ConflictError(e):a.includes(s.BadRequestError.name)||a.includes("400")?new s.BadRequestError(e):a.includes(s.ValidationError.name)||a.includes("422")?new s.ValidationError(e):a.includes(t.QueryError.name)?new t.QueryError(e):a.includes(t.PagingError.name)?new t.PagingError(e):a.includes(t.UnsupportedError.name)?new t.UnsupportedError(e):a.includes(t.MigrationError.name)?new t.MigrationError(e):a.includes(t.ObserverError.name)?new t.ObserverError(e):a.includes(t.AuthorizationError.name)?new t.AuthorizationError(e):a.includes(t.ForbiddenError.name)?new t.ForbiddenError(e):a.includes(t.ConnectionError.name)?new t.ConnectionError(e):a.includes(s.SerializationError.name)?new s.SerializationError(e):new s.InternalError(e)}static decoration(){super.decoration(),r.Decoration.for(t.PersistenceKeys.QUERY).define({decorator:e=>(a,i,n)=>r.apply(r.methodMetadata(r.Metadata.key(t.PersistenceKeys.QUERY,i),e),t.prepared(),(e,t,r)=>{r.value=new Proxy(r.value,{async apply(e,t,r){const a=t,{log:n,ctxArgs:o}=(await a.logCtx(r,s.OperationKeys.READ,!0)).for(i);return n.verbose("Running prepared statement "+e.name),n.debug("With args: "+JSON.stringify(r,null,2)),t.statement(e.name,...o)}})})(a,i,n)}).apply()}}b.decoration();const O="axios",w=(e,t)=>{if(e.headers&&e.headers["x-pending-task"]){let r;try{r=JSON.parse(e.headers["x-pending-task"]),Object.entries(r).forEach(([e,r])=>{r.forEach(r=>t.pushPending(e,r))})}catch(r){t.logger.for(w).error(`Failed to parse pending tasks header ${e.headers["x-pending-task"]}: ${r}`)}}};class A extends b{constructor(e,t){super(e,O,t)}getClient(){return new o.Axios({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(e,r){let s,a;e instanceof t.Context?(a=e,s=void 0):(s=e,a=r);const i={};if(a)try{i.headers=a.get("headers")||{}}catch(e){}return s&&(i.method="GET",i.url=this.url(s.class,[t.PersistenceKeys.STATEMENT,s.method,...s.args||[]],s.params)),i}async request(e,...t){let r={};try{const{ctx:e}=this.logCtx(t,this.request);r=this.toRequest(e)}catch(e){}return await this.client.request(Object.assign({},e,r))}parseResponse(e,r,a){if(!a.status&&r!==t.PersistenceKeys.STATEMENT)throw new s.InternalError("this should be impossible");if(a.status>=400)throw this.parseError(a.error||a.status);switch(r){case s.BulkCrudOperationKeys.CREATE_ALL:case s.BulkCrudOperationKeys.READ_ALL:case s.BulkCrudOperationKeys.UPDATE_ALL:case s.BulkCrudOperationKeys.DELETE_ALL:case s.OperationKeys.CREATE:case s.OperationKeys.READ:case s.OperationKeys.UPDATE:case s.OperationKeys.DELETE:return a.body;case t.PreparedStatementKeys.FIND_BY:case t.PreparedStatementKeys.LIST_BY:case t.PreparedStatementKeys.PAGE_BY:case t.PreparedStatementKeys.FIND_ONE_BY:case t.PersistenceKeys.STATEMENT:return super.parseResponse(e,r,a.body);case t.PreparedStatementKeys.COUNT_OF:case t.PreparedStatementKeys.MAX_OF:case t.PreparedStatementKeys.MIN_OF:case t.PreparedStatementKeys.AVG_OF:case t.PreparedStatementKeys.SUM_OF:case t.PreparedStatementKeys.DISTINCT_OF:return a.body;case t.PreparedStatementKeys.GROUP_OF:if(e&&"object"==typeof a.body&&null!==a.body){const t={};for(const[r,s]of Object.entries(a.body))t[r]=Array.isArray(s)?s.map(t=>new e(t)):s;return t}return a.body;default:return a}}async create(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.create);try{const s=this.url(e,this.extractIdArgs(e,t)),o=this.toRequest(n);return i.debug(`POSTing to ${s} with ${JSON.stringify(r)} and cfg ${JSON.stringify(o)}`),await this.request({url:s,method:"POST",data:JSON.stringify(Object.assign({},r,{[a.ModelKeys.ANCHOR]:e.name})),...o},n)}catch(e){throw this.parseError(e)}}async createAll(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.createAll);try{const t=this.url(e,["bulk"]),s=this.toRequest(n);return i.debug(`POSTing to ${t} with ${JSON.stringify(r)} and cfg ${JSON.stringify(s)}`),this.request({url:t,method:"POST",data:JSON.stringify(r.map(t=>Object.assign({},t,{[a.ModelKeys.ANCHOR]:e.name}))),...s},n)}catch(e){throw this.parseError(e)}}async read(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.read);try{const r=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return s.debug(`GETing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"GET",...i},a)}catch(e){throw this.parseError(e)}}async readAll(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.readAll);try{const r=this.url(e,["bulk"],{ids:t}),i=this.toRequest(a);return s.debug(`GETing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"GET",...i},a)}catch(e){throw this.parseError(e)}}async update(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.update);try{const s=this.url(e,this.extractIdArgs(e,t)),o=this.toRequest(n);return i.debug(`PUTing to ${s} with ${JSON.stringify(r)} and cfg ${JSON.stringify(o)}`),await this.request({url:s,method:"PUT",data:JSON.stringify(Object.assign({},r,{[a.ModelKeys.ANCHOR]:e.name})),...o},n)}catch(e){throw this.parseError(e)}}async updateAll(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.updateAll);try{const t=this.url(e,["bulk"]),s=this.toRequest(n);return i.debug(`PUTing to ${t} with ${JSON.stringify(r)} and cfg ${JSON.stringify(s)}`),this.request({url:t,method:"PUT",data:JSON.stringify(r.map(t=>Object.assign({},t,{[a.ModelKeys.ANCHOR]:e.name}))),...s},n)}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.delete);try{const r=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return s.debug(`DELETEing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"DELETE",...i},a)}catch(e){throw this.parseError(e)}}async deleteAll(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.delete);try{const r=this.url(e,["bulk"],{ids:t}),i=this.toRequest(a);return s.debug(`DELETEing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"DELETE",...i},a)}catch(e){throw this.parseError(e)}}parseError(e,...t){return b.parseError(e,...t)}}A.decoration();const x="##VERSION##",_="##PACKAGE##";r.Metadata.registerLibrary(_,x),e.AxiosFlavour=O,e.AxiosHttpAdapter=A,e.HttpAdapter=b,e.HttpPaginator=f,e.HttpStatement=m,e.PACKAGE_NAME=_,e.RestRepository=g,e.RestService=y,e.TaskResponseParser=w,e.VERSION=x,e.suffixMethod=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/core"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging"),require("axios")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/core","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging","axios"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-http"]={},e.decafTsCore,e.decafTsDecoration,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging,e.axios);
1
+ var e,t;e=this,t=function(e,t,r,s,a,i,n,o,c){"use strict";var d,l,h,p,u,g;class f extends t.Repository{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}url(e,t,r){return this.adapter.url(e,t,r)}async paginateBy(e,r,s={offset:1,limit:10},...i){const{offset:n,bookmark:o,limit:c}=s,{log:d,ctxArgs:l}=(await this.logCtx(i,t.PreparedStatementKeys.PAGE_BY,!0)).for(this.paginateBy);d.verbose(`paginating ${a.Model.tableName(this.class)} with page size ${c}`);const h={direction:r,limit:c};return o&&(h.bookmark=o),this.statement(this.paginateBy.name,e,n,h,...l)}async listBy(e,r,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.LIST_BY,!0)).for(this.listBy);return i.verbose(`listing ${a.Model.tableName(this.class)} by ${e} ${r}`),await this.statement(this.listBy.name,e,{direction:r},...n)}async findBy(e,r,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.FIND_BY,!0)).for(this.findBy);return i.verbose(`finding ${a.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findBy.name,e,r,{},...n)}async findOneBy(e,r,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.FIND_ONE_BY,!0)).for(this.findOneBy);return i.verbose(`finding ${a.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findOneBy.name,e,r,{},...n)}async statement(e,...r){const{log:s,ctx:a,ctxArgs:i}=(await this.logCtx(r,t.PersistenceKeys.STATEMENT,!0)).for(this.statement),n=i.slice(0,-1),o=n[n.length-1],c="object"!=typeof o||null===o||Array.isArray(o)?void 0:n.pop(),d={class:this.class,args:n,method:e,params:c},l=this.adapter.toRequest(d,a);return s.verbose("Executing prepared statement "+e),this.adapter.parseResponse(this.class,e,await this.request(l,...i))}async request(e,...r){let a;a=r.length&&r[r.length-1]instanceof t.Context?this.logCtx(r,this.request):(await this.logCtx(r,s.OperationKeys.READ,!0)).for(this.request);const{ctxArgs:i}=a;return this.adapter.request(e,...i)}async countOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.COUNT_OF,!0)).for(this.countOf);s.verbose(`counting ${a.Model.tableName(this.class)}${e?" by "+e:""}`);const n=e?[e,{}]:[{}];return await this.statement(this.countOf.name,...n,...i)}async maxOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.MAX_OF,!0)).for(this.maxOf);return s.verbose(`finding max of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.maxOf.name,e,{},...i)}async minOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.MIN_OF,!0)).for(this.minOf);return s.verbose(`finding min of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.minOf.name,e,{},...i)}async avgOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.AVG_OF,!0)).for(this.avgOf);return s.verbose(`calculating avg of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.avgOf.name,e,{},...i)}async sumOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.SUM_OF,!0)).for(this.sumOf);return s.verbose(`calculating sum of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.sumOf.name,e,{},...i)}async distinctOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.DISTINCT_OF,!0)).for(this.distinctOf);return s.verbose(`finding distinct values of ${e} in ${a.Model.tableName(this.class)}`),await this.statement(this.distinctOf.name,e,{},...i)}async groupOf(e,...r){const{log:s,ctxArgs:i}=(await this.logCtx(r,t.PreparedStatementKeys.GROUP_OF,!0)).for(this.groupOf);return s.verbose(`grouping ${a.Model.tableName(this.class)} by ${e}`),await this.statement(this.groupOf.name,e,{},...i)}}i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,void 0]),i.__metadata("design:returntype",Promise)],f.prototype,"countOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(d="undefined"!=typeof K&&K)?d:Object,void 0]),i.__metadata("design:returntype",Promise)],f.prototype,"maxOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(l="undefined"!=typeof K&&K)?l:Object,void 0]),i.__metadata("design:returntype",Promise)],f.prototype,"minOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(h="undefined"!=typeof K&&K)?h:Object,void 0]),i.__metadata("design:returntype",Promise)],f.prototype,"avgOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(p="undefined"!=typeof K&&K)?p:Object,void 0]),i.__metadata("design:returntype",Promise)],f.prototype,"sumOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(u="undefined"!=typeof K&&K)?u:Object,void 0]),i.__metadata("design:returntype",Promise)],f.prototype,"distinctOf",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",["function"==typeof(g="undefined"!=typeof K&&K)?g:Object,void 0]),i.__metadata("design:returntype",Promise)],f.prototype,"groupOf",null);class y extends f{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return a.Model.tableName(this.class)+" REST service"}}class m extends t.Statement{constructor(e,t){super(e,t)}build(){throw new t.UnsupportedError("This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required")}parseCondition(e,...r){throw new t.UnsupportedError("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class E extends t.Paginator{constructor(e,t,r,s){super(e,t,r,s)}async pagePrepared(e,...r){const s=t.Repository.forModel(this.clazz,this.adapter.alias),a=this.query,{method:i,args:n,params:o}=a,c=RegExp(`^${t.PreparedStatementKeys.FIND_BY}|${t.PreparedStatementKeys.LIST_BY}`,"gi");if(!i.match(c))throw new t.UnsupportedError(`Method ${i} is not supported for pagination`);c.lastIndex=0;const d=[i.replace(c,t.PreparedStatementKeys.PAGE_BY),...n],l={direction:o.direction,limit:this.size,offset:e,bookmark:this._bookmark};d.push(l);const h=await s.statement(...d,...r);return this.apply(h)}prepare(e){throw new t.UnsupportedError("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(e=1,...t){return super.page(e,...t)}}class b{static{this.cache=new Map}static get(e){if(this.cache.has(e))return this.cache.get(e);throw Error(`Server event connector not found for URL '${e}'. Did you forget to call open()?`)}static open(e){if(this.cache.has(e))return this.cache.get(e);const t=new b(e);return this.cache.set(e,t),this.cache.get(e)}static close(e){this.cache.has(e)&&this.cache.get(e).close()}static parseReceivedEvent(e){try{const t="string"==typeof e?JSON.parse(e):e;if(!Array.isArray(t)||3>t.length)return null;const[r,s,i,n]=t;return"string"!=typeof r?null:[r,s+"",i,"string"==typeof n?a.Serialization.deserialize(n):n]}catch{return null}}constructor(e){this.url=e,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){if(this.es&&0>=this.listeners.size)try{this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),b.cache.delete(this.url)}}startListening(e,t){if(this.es)return;const r=this.url;this.es=new o.EventSourcePlus(r,{headers:t,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{},onRequestError:({error:t})=>{e.onError((t?.message??t)+"")},onResponseError:({response:t})=>{e.onError("HTTP "+t.status)},onMessage:t=>{const r=t&&"object"==typeof t&&"data"in t?t.data:t,s=b.parseReceivedEvent(r);s&&e.onEvent(s)}})}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}}class O extends t.Dispatch{constructor(){super(...arguments),this.initialized=!1,this.listening=!1}async initialize(...e){const{log:r,ctxArgs:s}=(await this.logCtx(e,t.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize);this.adapter?(r.info(`Initializing ${this.adapter}'s event Dispatch, but not listening yet.`),this.initialized=!0,await this.startListening(...s)):r.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...e){if(!this.initialized||!this.adapter)throw Error("Cannot start listening before call initialize()");const{log:t}=this.logCtx(e,this.startListening),{protocol:r,host:s,eventsListenerPath:a}=this.adapter.config;if(!a)throw Error("No eventsListenerPath specified");const i=new URL(a,`${r}://${s}`).toString();this.connector=b.open(i),this.connector.startListening({onEvent:async e=>{const[t,r,s,...a]=e,{log:i,ctxArgs:n}=(await this.logCtx(a,r,!0)).for("onEvent");super.updateObservers(t,r,s,...n).catch(e=>i.error("Failed to dispatch SSE event",e))},onError:e=>t.error(e)}),this.listening=!0,t.info(`Initializing event listener for adapter ${this.adapter} at ${i}.`)}async close(){this.connector?.close()}}function w(e,t,r,s){const a=s||t.name;e[a]=new Proxy(e[a],{apply:async(e,t,s)=>{let a=e.call(t,...s);return a instanceof Promise&&(a=await a),a=r.call(t,a),a instanceof Promise&&(a=await a),a}})}class A extends t.Adapter{constructor(e,t,r){super(e,t,r);const a=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(e=>{w(this,e,t=>a.parseResponse.call(a,void 0,e.name,t),e.name)}),s.wrapMethodWithContext(this,(...e)=>e,this.request,(e,t)=>{const r=a.config.parsers;return r?(r.forEach(r=>r(e,t)),e):e},this.request.name)}async flags(e,t,r){return super.flags(e,t,Object.assign({headers:r.headers??{}},r))}Dispatch(){return new O}repository(){return y}prepare(e,...r){const{log:s}=this.logCtx(r,this.prepare),i=Object.assign({},e);return e[t.PersistenceKeys.METADATA]&&(s.silly("Passing along persistence metadata for "+e[t.PersistenceKeys.METADATA]),Object.defineProperty(i,t.PersistenceKeys.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[t.PersistenceKeys.METADATA]})),{record:e,id:e[a.Model.pk(e.constructor)]}}revert(e,r,i,...n){const{log:o}=this.logCtx(n,this.revert),c={},d="string"==typeof r?a.Model.build(c,r):new r(c);o.silly(`Rebuilding model ${d.constructor.name} id ${i}`);const l="string"==typeof r?a.Model.get(r):r;if(!l)throw new s.InternalError("Failed to retrieve model constructor for "+r);const h=new l(e),p=e[t.PersistenceKeys.METADATA];return p&&(o.silly(`Passing along ${this.flavour} persistence metadata for ${d.constructor.name} id ${i}: ${p}`),Object.defineProperty(h,t.PersistenceKeys.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:p})),h}toTableName(e){return"string"==typeof e?e:n.toKebabCase(a.Model.tableName(e))}url(e,t,r){r||t&&!Array.isArray(t)&&(r=t,t=[]),e=this.toTableName(e);const s=new URL(`${this.config.protocol}://${this.config.host}/${e}${t&&t.length?"/"+t.join("/"):""}`);return r&&Object.entries(r).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>s.searchParams.append(e,t.toString())):"object"==typeof t?s.searchParams.append(e,JSON.stringify(t)):void 0!==t&&s.searchParams.append(e,t.toString())}),s.toString()}extractIdArgs(e,t){const r=t.toString();if("string"==typeof e)return[r];const s=a.Model.composed(e,a.Model.pk(e));return s?r.split(s.separator):[r]}parseResponse(e,r,s){return e&&t.Paginator.isSerializedPage(s)?Object.assign({},s,{data:s.data.map(t=>new e(t))}):s}raw(e,...t){const{ctxArgs:r,ctx:s}=this.logCtx(t,this.raw),a=this.toRequest(e,s);return this.request(a,...r)}Sequence(e){return Promise.reject(new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(e){return new m(this,e)}Paginator(e,t,r){return new E(this,e,t,r)}parseCondition(e){throw new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(e,...r){const a="string"==typeof e?e:e.message;return a.includes(s.NotFoundError.name)||a.includes("404")?new s.NotFoundError(e):a.includes(s.ConflictError.name)||a.includes("409")?new s.ConflictError(e):a.includes(s.BadRequestError.name)||a.includes("400")?new s.BadRequestError(e):a.includes(s.ValidationError.name)||a.includes("422")?new s.ValidationError(e):a.includes(t.QueryError.name)?new t.QueryError(e):a.includes(t.PagingError.name)?new t.PagingError(e):a.includes(t.UnsupportedError.name)?new t.UnsupportedError(e):a.includes(t.MigrationError.name)?new t.MigrationError(e):a.includes(t.ObserverError.name)?new t.ObserverError(e):a.includes(t.AuthorizationError.name)?new t.AuthorizationError(e):a.includes(t.ForbiddenError.name)?new t.ForbiddenError(e):a.includes(t.ConnectionError.name)?new t.ConnectionError(e):a.includes(s.SerializationError.name)?new s.SerializationError(e):new s.InternalError(e)}static decoration(){super.decoration(),r.Decoration.for(t.PersistenceKeys.QUERY).define({decorator:e=>(a,i,n)=>r.apply(r.methodMetadata(r.Metadata.key(t.PersistenceKeys.QUERY,i),e),t.prepared(),(e,t,r)=>{r.value=new Proxy(r.value,{async apply(e,t,r){const a=t,{log:n,ctxArgs:o}=(await a.logCtx(r,s.OperationKeys.READ,!0)).for(i);return n.verbose("Running prepared statement "+e.name),n.debug("With args: "+JSON.stringify(r,null,2)),t.statement(e.name,...o)}})})(a,i,n)}).apply()}}A.decoration();const x="axios",P=(e,t)=>{if(e.headers&&e.headers["x-pending-task"]){let r;try{r=JSON.parse(e.headers["x-pending-task"]),Object.entries(r).forEach(([e,r])=>{r.forEach(r=>t.pushPending(e,r))})}catch(r){t.logger.for(P).error(`Failed to parse pending tasks header ${e.headers["x-pending-task"]}: ${r}`)}}};class _ extends A{constructor(e,t){super(e,x,t)}getClient(){return new c.Axios({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(e,r){let s,a;e instanceof t.Context?(a=e,s=void 0):(s=e,a=r);const i={};if(a)try{i.headers=a.get("headers")||{}}catch(e){}return s&&(i.method="GET",i.url=this.url(s.class,[t.PersistenceKeys.STATEMENT,s.method,...s.args||[]],s.params)),i}async request(e,...t){let r={};try{const{ctx:e}=this.logCtx(t,this.request);r=this.toRequest(e)}catch(e){}return await this.client.request(Object.assign({},e,r))}parseResponse(e,r,a){if(!a.status&&r!==t.PersistenceKeys.STATEMENT)throw new s.InternalError("this should be impossible");if(a.status>=400)throw this.parseError(a.error||a.status);switch(r){case s.BulkCrudOperationKeys.CREATE_ALL:case s.BulkCrudOperationKeys.READ_ALL:case s.BulkCrudOperationKeys.UPDATE_ALL:case s.BulkCrudOperationKeys.DELETE_ALL:case s.OperationKeys.CREATE:case s.OperationKeys.READ:case s.OperationKeys.UPDATE:case s.OperationKeys.DELETE:return a.body;case t.PreparedStatementKeys.FIND_BY:case t.PreparedStatementKeys.LIST_BY:case t.PreparedStatementKeys.PAGE_BY:case t.PreparedStatementKeys.FIND_ONE_BY:case t.PersistenceKeys.STATEMENT:return super.parseResponse(e,r,a.body);case t.PreparedStatementKeys.COUNT_OF:case t.PreparedStatementKeys.MAX_OF:case t.PreparedStatementKeys.MIN_OF:case t.PreparedStatementKeys.AVG_OF:case t.PreparedStatementKeys.SUM_OF:case t.PreparedStatementKeys.DISTINCT_OF:return a.body;case t.PreparedStatementKeys.GROUP_OF:if(e&&"object"==typeof a.body&&null!==a.body){const t={};for(const[r,s]of Object.entries(a.body))t[r]=Array.isArray(s)?s.map(t=>new e(t)):s;return t}return a.body;default:return a}}async create(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.create);try{const s=this.url(e,this.extractIdArgs(e,t)),o=this.toRequest(n);return i.debug(`POSTing to ${s} with ${JSON.stringify(r)} and cfg ${JSON.stringify(o)}`),await this.request({url:s,method:"POST",data:JSON.stringify(Object.assign({},r,{[a.ModelKeys.ANCHOR]:e.name})),...o},n)}catch(e){throw this.parseError(e)}}async createAll(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.createAll);try{const t=this.url(e,["bulk"]),s=this.toRequest(n);return i.debug(`POSTing to ${t} with ${JSON.stringify(r)} and cfg ${JSON.stringify(s)}`),this.request({url:t,method:"POST",data:JSON.stringify(r.map(t=>Object.assign({},t,{[a.ModelKeys.ANCHOR]:e.name}))),...s},n)}catch(e){throw this.parseError(e)}}async read(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.read);try{const r=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return s.debug(`GETing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"GET",...i},a)}catch(e){throw this.parseError(e)}}async readAll(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.readAll);try{const r=this.url(e,["bulk"],{ids:t}),i=this.toRequest(a);return s.debug(`GETing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"GET",...i},a)}catch(e){throw this.parseError(e)}}async update(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.update);try{const s=this.url(e,this.extractIdArgs(e,t)),o=this.toRequest(n);return i.debug(`PUTing to ${s} with ${JSON.stringify(r)} and cfg ${JSON.stringify(o)}`),await this.request({url:s,method:"PUT",data:JSON.stringify(Object.assign({},r,{[a.ModelKeys.ANCHOR]:e.name})),...o},n)}catch(e){throw this.parseError(e)}}async updateAll(e,t,r,...s){const{log:i,ctx:n}=this.logCtx(s,this.updateAll);try{const t=this.url(e,["bulk"]),s=this.toRequest(n);return i.debug(`PUTing to ${t} with ${JSON.stringify(r)} and cfg ${JSON.stringify(s)}`),this.request({url:t,method:"PUT",data:JSON.stringify(r.map(t=>Object.assign({},t,{[a.ModelKeys.ANCHOR]:e.name}))),...s},n)}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.delete);try{const r=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return s.debug(`DELETEing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"DELETE",...i},a)}catch(e){throw this.parseError(e)}}async deleteAll(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.delete);try{const r=this.url(e,["bulk"],{ids:t}),i=this.toRequest(a);return s.debug(`DELETEing from ${r} and cfg ${JSON.stringify(i)}`),await this.request({url:r,method:"DELETE",...i},a)}catch(e){throw this.parseError(e)}}parseError(e,...t){return A.parseError(e,...t)}}_.decoration();const S="##VERSION##",v="##PACKAGE##";r.Metadata.registerLibrary(v,S),e.AxiosFlavour=x,e.AxiosHttpAdapter=_,e.HttpAdapter=A,e.HttpPaginator=E,e.HttpStatement=m,e.PACKAGE_NAME=v,e.RestRepository=f,e.RestService=y,e.ServerEventConnector=b,e.TaskResponseParser=P,e.VERSION=S,e.suffixMethod=w},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/core"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging"),require("event-source-plus"),require("axios")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/core","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging","event-source-plus","axios"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-http"]={},e.decafTsCore,e.decafTsDecoration,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging,e.eventSourcePlus,e.axios);
2
2
  //# sourceMappingURL=for-http.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-http.cjs","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpStatement.ts","../src/HttpPaginator.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","paginateBy","key","order","ref","offset","limit","args","bookmark","log","ctxArgs","logCtx","PreparedStatementKeys","PAGE_BY","for","verbose","Model","class","params","direction","statement","name","listBy","LIST_BY","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","parseResponse","request","details","contextualizeArgs","Context","OperationKeys","READ","countOf","COUNT_OF","stmtArgs","maxOf","MAX_OF","minOf","MIN_OF","avgOf","AVG_OF","sumOf","SUM_OF","distinctOf","DISTINCT_OF","groupOf","GROUP_OF","__decorate","prepared","prototype","__metadata","_a","K","_b","_c","_d","_e","_f","RestService","ignoreValidation","ignoreHandlers","toString","HttpStatement","Statement","overrides","build","UnsupportedError","parseCondition","condition","HttpPaginator","Paginator","size","pagePrepared","page","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","result","apply","prepare","rawStatement","suffixMethod","obj","before","suffix","beforeName","Proxy","async","target","thisArg","argArray","results","call","Promise","HttpAdapter","Adapter","config","flavour","self","create","read","update","delete","createAll","readAll","updateAll","deleteAll","forEach","res","wrapMethodWithContext","parsers","p","flags","operation","model","headers","repository","METADATA","silly","defineProperty","enumerable","writable","configurable","record","id","pk","revert","ob","m","constr","get","InternalError","metadata","toTableName","t","toKebabCase","URL","protocol","host","join","entries","v","searchParams","append","JSON","stringify","extractIdArgs","idStr","composed","split","separator","isSerializedPage","data","map","d","raw","rawInput","Sequence","options","reject","parseError","err","msg","message","includes","NotFoundError","ConflictError","BadRequestError","ValidationError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","QUERY","define","decorator","prop","descriptor","methodMetadata","Metadata","propertyKey","debug","AxiosFlavour","TaskResponseParser","pending","parse","pushPending","e","logger","error","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","status","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","body","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"for-http.cjs","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpStatement.ts","../src/HttpPaginator.ts","../src/event/ServerEventConnector.ts","../src/HttpDispatcher.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","paginateBy","key","order","ref","offset","limit","args","bookmark","log","ctxArgs","logCtx","PreparedStatementKeys","PAGE_BY","for","verbose","Model","class","params","direction","statement","name","listBy","LIST_BY","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","parseResponse","request","details","contextualizeArgs","Context","OperationKeys","READ","countOf","COUNT_OF","stmtArgs","maxOf","MAX_OF","minOf","MIN_OF","avgOf","AVG_OF","sumOf","SUM_OF","distinctOf","DISTINCT_OF","groupOf","GROUP_OF","__decorate","prepared","prototype","__metadata","_a","K","_b","_c","_d","_e","_f","RestService","ignoreValidation","ignoreHandlers","toString","HttpStatement","Statement","overrides","build","UnsupportedError","parseCondition","condition","HttpPaginator","Paginator","size","pagePrepared","page","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","result","apply","prepare","rawStatement","ServerEventConnector","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","data","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","deserialize","listeners","Set","isOpen","es","controller","abort","clear","delete","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","response","status","onMessage","event","onEvent","addListener","add","removeListener","HttpDispatcher","Dispatch","initialized","listening","initialize","INITIALIZATION","info","protocol","host","eventsListenerPath","config","listeningUrl","URL","async","operation","id","updateObservers","catch","e","suffixMethod","obj","before","suffix","beforeName","Proxy","target","thisArg","argArray","results","call","Promise","HttpAdapter","Adapter","flavour","self","create","read","update","createAll","readAll","updateAll","deleteAll","forEach","res","wrapMethodWithContext","parsers","p","flags","model","repository","METADATA","silly","defineProperty","enumerable","writable","configurable","record","pk","revert","ob","m","constr","InternalError","metadata","toTableName","t","toKebabCase","join","entries","v","searchParams","append","stringify","extractIdArgs","idStr","composed","split","separator","isSerializedPage","map","d","rawInput","Sequence","options","reject","parseError","err","msg","includes","NotFoundError","ConflictError","BadRequestError","ValidationError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","QUERY","define","decorator","prop","descriptor","methodMetadata","Metadata","propertyKey","debug","AxiosFlavour","TaskResponseParser","pending","pushPending","logger","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","body","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"0EAiDM,MAAOA,UAIHC,EAAAA,WAOR,WAAAC,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAPEE,KAAUC,WAAGC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEK,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAK7B,CAWD,GAAAC,CACEC,EACAC,EACAC,GAEA,OAAOV,KAAKH,QAAQU,IAAIC,EAAWC,EAAmBC,EACvD,CAEQ,gBAAMC,CACbC,EACAC,EACAC,EAA+C,CAC7CC,OAAQ,EACRC,MAAO,OAENC,GAEH,MAAMF,OAAEA,EAAMG,SAAEA,EAAQF,MAAEA,GAAUF,GAC9BK,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBC,SAAS,IACvDC,IAAIxB,KAAKW,YACXQ,EAAIM,QACF,cAAcC,EAAKA,MAAClB,UAAUR,KAAK2B,yBAAyBX,KAG9D,MAAMY,EAA+B,CACnCC,UAAWhB,EACXG,MAAOA,GAKT,OAHIE,IACFU,EAAOV,SAAWA,GAEblB,KAAK8B,UACV9B,KAAKW,WAAWoB,KAChBnB,EACAG,EACAa,KACGR,EAEN,CAEQ,YAAMY,CACbpB,EACAC,KACGI,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBW,SAAS,IACvDT,IAAIxB,KAAKgC,QAIX,OAHAb,EAAIM,QACF,WAAWC,EAAKA,MAAClB,UAAUR,KAAK2B,aAAaf,KAAiBC,WAElDb,KAAK8B,UACjB9B,KAAKgC,OAAOD,KACZnB,EACA,CAAEiB,UAAWhB,MACVO,EAEN,CAEQ,YAAMc,CACbtB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBc,SAAS,IACvDZ,IAAIxB,KAAKkC,QAIX,OAHAf,EAAIM,QACF,WAAWC,EAAKA,MAAClB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKkC,OAAOH,KACZnB,EACAuB,EACA,MACGf,EAEN,CAEQ,eAAMiB,CACbzB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBgB,aAAa,IAC3Dd,IAAIxB,KAAKqC,WAIX,OAHAlB,EAAIM,QACF,WAAWC,EAAKA,MAAClB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKqC,UAAUN,KACfnB,EACAuB,EACA,MACGf,EAEN,CAEQ,eAAMU,CACbC,KACGd,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,EAAGnB,QAAEA,UACVpB,KAAKqB,OAAOJ,EAAMuB,EAAeA,gBAACC,WAAW,IACnDjB,IAAIxB,KAAK8B,WACLY,EAAUtB,EAAQuB,MAAM,GAAI,GAC5BC,EAAUF,EAAQA,EAAQG,OAAS,GAKnCjB,EAHe,iBAAZgB,GACK,OAAZA,GACCE,MAAMC,QAAQH,QAGbI,EADCN,EAAQO,MAEPC,EAAgC,CACpCvB,MAAO3B,KAAK2B,MACZV,KAAMyB,EACNS,OAAQpB,EACRH,OAAQA,GAEJwB,EAAMpD,KAAKH,QAAQwD,UAAUH,EAAOX,GAE1C,OADApB,EAAIM,QAAQ,gCAAgCM,GACrC/B,KAAKH,QAAQyD,cAClBtD,KAAK2B,MACLI,QACM/B,KAAKuD,QAAQH,KAAQhC,GAE9B,CAED,aAAMmC,CACJC,KACGvC,GAEH,IAAIwC,EAGFA,EADExC,EAAK4B,QAAU5B,EAAKA,EAAK4B,OAAS,aAAca,UAC9B1D,KAAKqB,OAAOJ,EAAMjB,KAAKuD,gBAGnCvD,KAAKqB,OAAOJ,EAAM0C,EAAAA,cAAcC,MAAM,IAC5CpC,IAAIxB,KAAKuD,SAEb,MAAMnC,QAAEA,GAAYqC,EAEpB,OAAOzD,KAAKH,QAAQ0D,QAAWC,KAAYpC,EAC5C,CAGQ,aAAMyC,CACbjD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBwC,UAAU,IACxDtC,IAAIxB,KAAK6D,SACX1C,EAAIM,QACF,YAAYC,EAAAA,MAAMlB,UAAUR,KAAK2B,SAASf,EAAM,OAAOA,EAAkB,MAE3E,MAAMmD,EAAkBnD,EAAM,CAACA,EAAK,CAAA,GAAM,CAAC,CAAA,GAC3C,aAAcZ,KAAK8B,UACjB9B,KAAK6D,QAAQ9B,QACVgC,KACA3C,EAEN,CAGQ,WAAM4C,CACbpD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsB2C,QAAQ,IACtDzC,IAAIxB,KAAKgE,OAEX,OADA7C,EAAIM,QAAQ,kBAAkBb,QAAoBc,QAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAKgE,MAAMjC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,WAAM8C,CACbtD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsB6C,QAAQ,IACtD3C,IAAIxB,KAAKkE,OAEX,OADA/C,EAAIM,QAAQ,kBAAkBb,QAAoBc,QAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAKkE,MAAMnC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,WAAMgD,CACbxD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsB+C,QAAQ,IACtD7C,IAAIxB,KAAKoE,OAEX,OADAjD,EAAIM,QAAQ,sBAAsBb,QAAoBc,QAAMlB,UAAUR,KAAK2B,gBAC7D3B,KAAK8B,UAAU9B,KAAKoE,MAAMrC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,WAAMkD,CACb1D,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBiD,QAAQ,IACtD/C,IAAIxB,KAAKsE,OAEX,OADAnD,EAAIM,QAAQ,sBAAsBb,QAAoBc,QAAMlB,UAAUR,KAAK2B,gBAC7D3B,KAAK8B,UAAU9B,KAAKsE,MAAMvC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,gBAAMoD,CACb5D,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBmD,aAAa,IAC3DjD,IAAIxB,KAAKwE,YAIX,OAHArD,EAAIM,QACF,8BAA8Bb,QAAoBc,QAAMlB,UAAUR,KAAK2B,gBAE3D3B,KAAK8B,UACjB9B,KAAKwE,WAAWzC,KAChBnB,EACA,CAAA,KACGQ,EAEN,CAGQ,aAAMsD,CACb9D,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBqD,UAAU,IACxDnD,IAAIxB,KAAK0E,SAEX,OADAvD,EAAIM,QAAQ,YAAYC,EAAKA,MAAClB,UAAUR,KAAK2B,aAAaf,WAC5CZ,KAAK8B,UACjB9B,KAAK0E,QAAQ3C,KACbnB,EACA,CAAA,KACGQ,EAEN,EApGcwD,EAAAA,WAAA,CADdC,+IAiBAnF,EAAAoF,UAAA,UAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADC,sBAAAC,GAAAA,GAACD,EAAA9E,YAAA,+CAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADG,sBAAAD,GAAAA,GAACC,EAAAhF,YAAA,+CAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADI,sBAAAF,GAAAA,GAACE,EAAAjF,YAAA,+CAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADK,sBAAAH,GAAAA,GAACG,EAAAlF,YAAA,+CAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADM,sBAAAJ,GAAAA,GAACI,EAAAnF,YAAA,+CAePR,EAAAoF,UAAA,aAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADO,sBAAAL,GAAAA,GAACK,EAAApF,YAAA,+CAaPR,EAAAoF,UAAA,UAAA,MC9QG,MAAOS,UAIH7F,EAgBR,WAAAE,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAhBEE,KAAUC,WAAGC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEyF,kBAAkB,EAClBC,gBAAgB,EAChBrF,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAY7B,CAEQ,QAAAoF,GACP,OAAUhE,EAAAA,MAAMlB,UAAUR,KAAK2B,OAAxB,eACR,ECvEG,MAAOgE,UAIHC,EAAAA,UACR,WAAAhG,CAAYC,EAAYgG,GACtB9F,MAAMF,EAASgG,EAChB,CAEkB,KAAAC,GACjB,MAAM,IAAIC,EAAgBA,iBACxB,4IAEH,CAEkB,cAAAC,CAEjBC,KAEGhF,GAEH,MAAM,IAAI8E,EAAgBA,iBACxB,4IAEH,EClBG,MAAOG,UAIHC,EAAAA,UACR,WAAAvG,CAAYC,EAAYqD,EAAUkD,EAActG,GAC9CC,MAAMF,EAASqD,EAAOkD,EAAMtG,EAC7B,CAEkB,kBAAMuG,CACvBC,KACGC,GAEH,MAAMC,EAAO7G,EAAUA,WAAC8G,SAASzG,KAAKF,MAAOE,KAAKH,QAAQ6G,OACpD5E,EAAY9B,KAAKkD,OACjBC,OAAEA,EAAMlC,KAAEA,EAAIW,OAAEA,GAAWE,EAC3B6E,EAAaC,OACjB,IAAItF,EAAqBA,sBAACc,WAAWd,EAAAA,sBAAsBW,UAC3D,MAEF,IAAKkB,EAAO0D,MAAMF,GAChB,MAAM,IAAIZ,EAAgBA,iBACxB,UAAU5C,qCAEdwD,EAAOG,UAAY,EACnB,MAEMC,EAAe,CAFD5D,EAAO6D,QAAQL,EAAQrF,EAAAA,sBAAsBC,YAE3BN,GAChCgG,EAAuC,CAC3CpF,UAAWD,EAAOC,UAClBb,MAAOhB,KAAKoG,KACZrF,OAAQuF,EACRpF,SAAUlB,KAAKkH,WAGjBH,EAAaI,KAAKF,GAElB,MAAMG,QAAeZ,EAAK1E,aACpBiF,KACDR,GAEL,OAAOvG,KAAKqH,MAAMD,EACnB,CAES,OAAAE,CAAQC,GAChB,MAAM,IAAIxB,EAAgBA,iBACxB,sGAEH,CAEQ,IAAAO,CACPA,EAAe,KACZrF,GAEH,OAAOlB,MAAMuG,KAAKA,KAASrF,EAC5B,QCjEUuG,SACaxH,KAAAyH,MAAQ,IAAIC,GAAoC,CAExE,UAAOC,CAAIpH,GACT,GAAIP,KAAKyH,MAAMG,IAAIrH,GAAM,OAAOP,KAAKyH,MAAME,IAAIpH,GAE/C,MAAUsH,MACR,6CAA6CtH,qCAEhD,CAED,WAAOuH,CAAKvH,GACV,GAAIP,KAAKyH,MAAMG,IAAIrH,GAAM,OAAOP,KAAKyH,MAAME,IAAIpH,GAE/C,MAAMwH,EAAY,IAAIP,EAAqBjH,GAE3C,OADAP,KAAKyH,MAAMO,IAAIzH,EAAKwH,GACb/H,KAAKyH,MAAME,IAAIpH,EACvB,CAED,YAAO0H,CAAM1H,GACPP,KAAKyH,MAAMG,IAAIrH,IACCP,KAAKyH,MAAME,IAAIpH,GACvB0H,OAEb,CAEO,yBAAOC,CAAmBC,GAChC,IACE,MAAMC,EAAsB,iBAARD,EAAmBE,KAAKC,MAAMH,GAAOA,EACzD,IAAKrF,MAAMC,QAAQqF,IAAuB,EAAdA,EAAKvF,OAAY,OAAO,KAEpD,MAAO0F,EAAWC,EAAcC,EAAUC,GAAcN,EACxD,MAAyB,iBAAdG,EAA+B,KAOnC,CAACA,EAAkBC,EAAPG,GAAsBF,EAJjB,iBAAfC,EACHE,EAAaA,cAACC,YAAYH,GAC1BA,EAGP,CAAC,MACA,OAAO,IACR,CACF,CAQD,WAAA9I,CAA6BW,GAAAP,KAAGO,IAAHA,EAFrBP,KAAA8I,UAAgC,IAAIC,GAEA,CAE5C,MAAAC,GACE,YAAmBhG,IAAZhD,KAAKiJ,EACb,CAED,KAAAhB,GACE,GAAKjI,KAAKiJ,IAEgB,GAAtBjJ,KAAK8I,UAAU1C,KAGnB,IACEpG,KAAKkJ,YAAYC,OAClB,CAAS,QACRnJ,KAAKkJ,gBAAalG,EAClBhD,KAAKiJ,QAAKjG,EACVhD,KAAK8I,UAAUM,QACf5B,EAAqBC,MAAM4B,OAAOrJ,KAAKO,IAExC,CACF,CAMD,cAAA+I,CACEC,EACAC,GAIA,GAAIxJ,KAAKiJ,GAAI,OAEb,MAAM1I,EAAMP,KAAKO,IAEjBP,KAAKiJ,GAAK,IAAIQ,EAAeA,gBAAClJ,EAAK,CACjCiJ,UACAE,YAAa,YAGf1J,KAAKkJ,WAAalJ,KAAKiJ,GAAGU,OAAO,CAC/BC,WAAY,OAGZC,eAAgB,EAAGC,YAEjBP,EAASQ,SAAgBD,GAAeE,SAAWF,GAAlCnB,KAEnBsB,gBAAiB,EAAGC,eAElBX,EAASQ,QAAQ,QAAQG,EAASC,SAEpCC,UAAYJ,IACV,MAAM7B,EACJ6B,GAA8B,iBAAZA,GAAwB,SAAUA,EAChDA,EAAQ5B,KACR4B,EAEAK,EAAQ7C,EAAqBU,mBAAmBC,GACjDkC,GACLd,EAASe,QAAQD,KAOtB,CAEO,WAAAE,CAAYhB,GAClBvJ,KAAK8I,UAAU0B,IAAIjB,EACpB,CAEO,cAAAkB,CAAelB,GACrBvJ,KAAK8I,UAAUO,OAAOE,EACvB,ECxHG,MAAOmB,UAAuBC,EAAAA,SAApC,WAAA/K,uBAKUI,KAAW4K,aAAG,EACd5K,KAAS6K,WAAG,CA6ErB,CAvEoB,gBAAMC,IACpB7J,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMuB,EAAAA,gBAAgBuI,gBAAgB,IACxDvJ,IAAIxB,KAAK8K,YAEN9K,KAAKH,SAQVsB,EAAI6J,KACF,gBAAgBhL,KAAKH,oDAEvBG,KAAK4K,aAAc,QACb5K,KAAKsJ,kBAAkBlI,IAR3BD,EAAIM,QAAQ,4DASf,CAKD,oBAAM6H,IAAkBrI,GACtB,IAAKjB,KAAK4K,cAAgB5K,KAAKH,QAC7B,MAAUgI,MAAM,mDAElB,MAAM1G,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKsJ,iBAGjC2B,SAAEA,EAAQC,KAAEA,EAAIC,mBAAEA,GAAuBnL,KAAKH,QACjDuL,OAEH,IAAKD,EAAoB,MAAUtD,MAAM,mCAEzC,MAAMwD,EAAe,IAAIC,IACvBH,EACA,GAAGF,OAAcC,KACjBxF,WACF1F,KAAK+H,UAAYP,EAAqBM,KAAKuD,GAE3CrL,KAAK+H,UAAUuB,eAAe,CAC5BgB,QAASiB,MAAOlB,IACd,MAAO7J,EAAWgL,EAAWC,KAAOxK,GAAQoJ,GACtClJ,IAAEA,EAAGC,QAAEA,UAAmBpB,KAAKqB,OAAOJ,EAAMuK,GAAW,IAAOhK,IAClE,WAGFzB,MACG2L,gBACClL,EACAgL,EACAC,KACIrK,GAELuK,MAAOC,GAAMzK,EAAI2I,MAAM,+BAAgC8B,KAE5D7B,QAAU6B,GAAWzK,EAAI2I,MAAM8B,KAGjC5L,KAAK6K,WAAY,EACjB1J,EAAI6J,KACF,2CAA2ChL,KAAKH,cAAcwL,KAEjE,CAEQ,WAAMpD,GACbjI,KAAK+H,WAAWE,OACjB,ECxCG,SAAU4D,EACdC,EACAC,EACAC,EACAC,GAEA,MAAMlK,EAAOkK,GAA0BF,EAAOhK,KAC9C+J,EAAI/J,GAAQ,IAAImK,MAAMJ,EAAI/J,GAAO,CAC/BsF,MAAOkE,MAAOY,EAAQC,EAASC,KAC7B,IAAIC,EAAUH,EAAOI,KAAKH,KAAYC,GAOtC,OANIC,aAAmBE,UAASF,QAAgBA,GAEhDA,EAAUN,EAAOO,KAAKH,EAASE,GAE3BA,aAAmBE,UAASF,QAAgBA,GAEzCA,IAGb,CAiCM,MAAgBG,UAMZC,EAAAA,QACR,WAAA9M,CAAsBwL,EAAcuB,EAAiBjG,GACnD3G,MAAMqL,EAAQuB,EAASjG,GAGvB,MAAMkG,EAAO5M,KACb,CACEA,KAAK6M,OACL7M,KAAK8M,KACL9M,KAAK+M,OACL/M,KAAKqJ,OACLrJ,KAAKgN,UACLhN,KAAKiN,QACLjN,KAAKkN,UACLlN,KAAKmN,WACLC,QAASjK,IACT0I,EACE7L,KACAmD,EACCkK,GACCT,EAAKtJ,cAAciJ,KAAKK,OAAM5J,EAAWG,EAAOpB,KAAMsL,GACxDlK,EAAOpB,QAGXuL,wBACEtN,KACA,IAAIiB,IAAgBA,EACpBjB,KAAKuD,QACL,CAAC8J,EAAU9K,KACT,MAAMgL,EAAUX,EAAKxB,OAAOmC,QAC5B,OAAKA,GACLA,EAAQH,QAASI,GAAMA,EAAEH,EAAK9K,IACvB8K,GAFcA,GAIvBrN,KAAKuD,QAAQxB,KAEhB,CAYkB,WAAM0L,CACvBjC,EACAkC,EACA7H,GAEA,OAAO9F,MAAM0N,MACXjC,EACAkC,EACAxN,OAAOC,OACL,CACEqJ,QAAS3D,EAAU2D,SAAW,CAAE,GAElC3D,GAGL,CAEkB,QAAA8E,GACjB,OAAO,IAAID,CACZ,CASQ,UAAAiD,GAGP,OAAOpI,CACR,CAYQ,OAAA+B,CACPoG,KACGzM,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKsH,SACjCF,EAASlH,OAAOC,OAAO,CAAE,EAAEuN,GAajC,OAZKA,EAAclL,kBAAgBoL,YACjCzM,EAAI0M,MACF,0CAA2CH,EAAclL,EAAAA,gBAAgBoL,WAE3E1N,OAAO4N,eAAe1G,EAAQ5E,EAAAA,gBAAgBoL,SAAU,CACtDG,YAAY,EACZC,UAAU,EACVC,cAAc,EACd9L,MAAQuL,EAAclL,EAAeA,gBAACoL,aAInC,CACLM,OAAQR,EACRjC,GAAIiC,EAAMhM,EAAKA,MAACyM,GAAGT,EAAM9N,cAE5B,CAaQ,MAAAwO,CACPtC,EACAhM,EACA2L,KACGxK,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKoO,QACjCC,EAA0B,CAAA,EAC1BC,EACa,iBAAVxO,EAAqB4B,EAAAA,MAAMoE,MAAMuI,EAAIvO,GAAS,IAAIA,EAAMuO,GAEjElN,EAAI0M,MAAM,oBAAoBS,EAAE1O,YAAYmC,WAAW0J,KACvD,MAAM8C,EAA0B,iBAAVzO,EAAqB4B,EAAKA,MAACiG,IAAI7H,GAASA,EAC9D,IAAKyO,EACH,MAAM,IAAIC,EAAAA,cACR,4CAA4C1O,GAEhD,MAAMsH,EAAS,IAAKmH,EAA0BzC,GACxC2C,EAAW3C,EAAItJ,EAAeA,gBAACoL,UAarC,OAZIa,IACFtN,EAAI0M,MACF,iBAAiB7N,KAAK2M,oCAAoC2B,EAAE1O,YAAYmC,WAAW0J,MAAOgD,KAE5FvO,OAAO4N,eAAe1G,EAAQ5E,EAAAA,gBAAgBoL,SAAU,CACtDG,YAAY,EACZE,cAAc,EACdD,UAAU,EACV7L,MAAOsM,KAIJrH,CACR,CAES,WAAAsH,CAA6BC,GACrC,MAAoB,iBAANA,EAAiBA,EAAIC,EAAWA,YAAClN,QAAMlB,UAAUmO,GAChE,CAgDD,GAAApO,CACEC,EACAC,EACAC,GAEKA,GACCD,IAAeqC,MAAMC,QAAQtC,KAC/BC,EAAcD,EACdA,EAAa,IAIjBD,EAAYR,KAAK0O,YAAYlO,GAC7B,MAAMD,EAAM,IAAI+K,IACd,GAAGtL,KAAKoL,OAAOH,cAAcjL,KAAKoL,OAAOF,QAAQ1K,IAAYC,GAAcA,EAAWoC,OAAS,IAAKpC,EAAwBoO,KAAK,KAAS,MAa5I,OAXInO,GACFR,OAAO4O,QAAQpO,GAAa0M,QAAQ,EAAExM,EAAKuB,MACrCW,MAAMC,QAAQZ,GAChBA,EAAMiL,QAAS2B,GAAMxO,EAAIyO,aAAaC,OAAOrO,EAAKmO,EAAErJ,aAC1B,iBAAVvD,EAChB5B,EAAIyO,aAAaC,OAAOrO,EAAKyH,KAAK6G,UAAU/M,SAClB,IAAVA,GAChB5B,EAAIyO,aAAaC,OAAOrO,EAAKuB,EAAMuD,cAIlCnF,EAAImF,UACZ,CAiBS,aAAAyJ,CACRzB,EACAjC,GAEA,MAAM2D,EAAQ3D,EAAG/F,WACjB,GAAqB,iBAAVgI,EAAoB,MAAO,CAAC0B,GACvC,MAAMC,EAAW3N,EAAKA,MAAC2N,SAAS3B,EAAOhM,EAAAA,MAAMyM,GAAGT,IAChD,OAAK2B,EACED,EAAME,MAAMD,EAASE,WADN,CAACH,EAExB,CAED,aAAA9L,CACExD,EACAqD,EACAkK,GAEA,OAAIvN,GAASqG,EAAAA,UAAUqJ,iBAAiBnC,GAC/BnN,OAAOC,OAAO,CAAE,EAAEkN,EAAK,CAC5BjF,KAAMiF,EAAIjF,KAAKqH,IAAKC,GAAW,IAAI5P,EAAM4P,MAGtCrC,CACR,CA8ED,GAAAlF,CAAOwH,KAAgB1O,GACrB,MAAMG,QAAEA,EAAOmB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKmI,KAC1C/E,EAAMpD,KAAKqD,UAAUsM,EAAUpN,GACrC,OAAOvC,KAAKuD,QAAQH,KAAQhC,EAC7B,CAYQ,QAAAwO,CAASC,GAChB,OAAOrD,QAAQsD,OACb,IAAI/J,EAAAA,iBACF,0FAGL,CAYQ,SAAAH,CACPC,GAEA,OAAO,IAAIF,EAAc3F,KAAM6F,EAChC,CAEQ,SAAAM,CACPjD,EACAkD,EACAtG,GAEA,OAAO,IAAIoG,EACTlG,KACAkD,EACAkD,EACAtG,EAEH,CAYD,cAAAkG,CAAeC,GACb,MAAM,IAAIF,EAAAA,iBACR,yFAEH,CAED,iBAAOgK,CACLC,KAEG/O,GAEH,MAAMgP,EAAqB,iBAARD,EAAmBA,EAAMA,EAAIhG,QAChD,OAAIiG,EAAIC,SAASC,EAAaA,cAACpO,OAASkO,EAAIC,SAAS,OAC5C,IAAIC,EAAAA,cAAcH,GACvBC,EAAIC,SAASE,EAAaA,cAACrO,OAASkO,EAAIC,SAAS,OAC5C,IAAIE,EAAAA,cAAcJ,GACvBC,EAAIC,SAASG,EAAeA,gBAACtO,OAASkO,EAAIC,SAAS,OAC9C,IAAIG,EAAAA,gBAAgBL,GACzBC,EAAIC,SAASI,EAAeA,gBAACvO,OAASkO,EAAIC,SAAS,OAC9C,IAAII,EAAAA,gBAAgBN,GACzBC,EAAIC,SAASK,EAAUA,WAACxO,MAAc,IAAIwO,EAAAA,WAAWP,GACrDC,EAAIC,SAASM,EAAWA,YAACzO,MAAc,IAAIyO,EAAAA,YAAYR,GACvDC,EAAIC,SAASnK,EAAgBA,iBAAChE,MACzB,IAAIgE,EAAAA,iBAAiBiK,GAC1BC,EAAIC,SAASO,EAAcA,eAAC1O,MAAc,IAAI0O,EAAAA,eAAeT,GAC7DC,EAAIC,SAASQ,EAAaA,cAAC3O,MAAc,IAAI2O,EAAAA,cAAcV,GAC3DC,EAAIC,SAASS,EAAkBA,mBAAC5O,MAC3B,IAAI4O,EAAAA,mBAAmBX,GAC5BC,EAAIC,SAASU,EAAcA,eAAC7O,MAAc,IAAI6O,EAAAA,eAAeZ,GAC7DC,EAAIC,SAASW,EAAeA,gBAAC9O,MACxB,IAAI8O,EAAAA,gBAAgBb,GACzBC,EAAIC,SAASY,EAAkBA,mBAAC/O,MAC3B,IAAI+O,EAAAA,mBAAmBd,GACzB,IAAIxB,EAAAA,cAAcwB,EAC1B,CAED,iBAAgBe,GACdhR,MAAMgR,aA0CNC,aAAWxP,IAAIgB,EAAeA,gBAACyO,OAC5BC,OAAO,CACNC,UA3CWtB,GACN,CAAe/D,EAAasF,EAAYC,IAgCtChK,EAAAA,MACLiK,EAAAA,eAAeC,EAAQA,SAAC3Q,IAAI4B,EAAeA,gBAACyO,MAAOG,GAAOvB,GAC1DhL,EAAAA,WA/BO,CACLiH,EACA0F,EACAH,KAECA,EAA4ClP,MAAQ,IAAI+J,MACtDmF,EAA4ClP,MAC7C,CACE,WAAMkF,CACJ8E,EACAC,EACAnL,GAEA,MAAMuF,EAAO4F,GACPjL,IAAEA,EAAGC,QAAEA,UACLoF,EAAa,OAAEvF,EAAM0C,EAAAA,cAAcC,MAAM,IAC/CpC,IAAI4P,GAGN,OAFAjQ,EAAIM,QAAQ,8BAA8B0K,EAAOpK,MACjDZ,EAAIsQ,MAAM,cAAcpJ,KAAK6G,UAAUjO,EAAM,KAAM,IAC3CmL,EAAiCtK,UACvCqK,EAAOpK,QACJX,EAEN,GAGP,EAGKiG,CAILyE,EAAKsF,EAAMC,KAQdhK,OACJ,EAGHoF,EAAYsE,aChmBC,MAAAW,EAAe,QAEfC,EAAqC,CAChDtE,EACA9K,KAEA,GAAI8K,EAAI7D,SAAW6D,EAAI7D,QAAQ,kBAAmB,CAChD,IAAIoI,EACJ,IACEA,EAAUvJ,KAAKC,MAAM+E,EAAI7D,QAAQ,mBACjCtJ,OAAO4O,QAAQ8C,GAASxE,QAAQ,EAAExM,EAAKuB,MACrCA,EAAMiL,QAAS2B,GAAMxM,EAAIsP,YAAYjR,EAAKmO,KAE7C,CAAC,MAAOnD,GACPrJ,EAAIuP,OACDtQ,IAAImQ,GACJ7H,MACC,wCAAwCuD,EAAI7D,QAAQ,sBAAsBoC,IAE/E,CACF,GCuCG,MAAOmG,UAAyBtF,EAOpC,WAAA7M,CAAYwL,EAAoB1E,GAC9B3G,MAAMqL,EAAQsG,EAAchL,EAC7B,CAEkB,SAAAsL,GACjB,OAAO,IAAIC,EAAAA,MAAM,CACfC,QAAS,GAAGlS,KAAKoL,OAAOH,cAAcjL,KAAKoL,OAAOF,QAErD,CAQQ,SAAA7H,CACP8O,EACA5P,GAEA,IAAIW,EACAkP,EAEAD,aAAsBzO,EAAAA,SACxB0O,EAAUD,EACVjP,OAAQF,IAERE,EAAQiP,EACRC,EAAU7P,GAGZ,MAAMa,EAA0B,CAAA,EAChC,GAAIgP,EACF,IACEhP,EAAIoG,QAAU4I,EAAQzK,IAAI,YAAc,CAAA,CAEzC,CAAC,MAAOiE,GAER,CAUH,OARI1I,IACFE,EAAID,OAAS,MACbC,EAAI7C,IAAMP,KAAKO,IACb2C,EAAMvB,MACN,CAACa,EAAAA,gBAAgBC,UAAWS,EAAMC,UAAYD,EAAMjC,MAAQ,IAC5DiC,EAAMtB,SAGHwB,CACR,CASQ,aAAMG,CACbC,KACGvC,GAEH,IAAI4E,EAAY,CAAA,EAChB,IACE,MAAMtD,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKuD,SACvCsC,EAAY7F,KAAKqD,UAAUd,EAE5B,CAAC,MAAOqJ,GAER,CAKD,aAHuB5L,KAAKqS,OAAO9O,QACjCrD,OAAOC,OAAO,CAAE,EAAEqD,EAASqC,GAG9B,CAEQ,aAAAvC,CACPxD,EACAqD,EACAkK,GAEA,IAAKA,EAAIlD,QAAUhH,IAAWX,EAAeA,gBAACC,UAC5C,MAAM,IAAI+L,EAAAA,cAAc,6BAC1B,GAAInB,EAAIlD,QAAU,IAChB,MAAMnK,KAAK+P,WAAY1C,EAAIvD,OAAoBuD,EAAIlD,QACrD,OAAQhH,GACN,KAAKmP,EAAAA,sBAAsBC,WAC3B,KAAKD,EAAAA,sBAAsBE,SAC3B,KAAKF,EAAAA,sBAAsBG,WAC3B,KAAKH,EAAAA,sBAAsBI,WAC3B,KAAK/O,EAAAA,cAAcgP,OACnB,KAAKhP,EAAAA,cAAcC,KACnB,KAAKD,EAAAA,cAAciP,OACnB,KAAKjP,EAAaA,cAACkP,OACjB,OAAOxF,EAAIyF,KACb,KAAKxR,EAAAA,sBAAsBc,QAC3B,KAAKd,EAAAA,sBAAsBW,QAC3B,KAAKX,EAAAA,sBAAsBC,QAC3B,KAAKD,EAAAA,sBAAsBgB,YAC3B,KAAKE,EAAeA,gBAACC,UACnB,OAAO1C,MAAMuD,cAAcxD,EAAOqD,EAAQkK,EAAIyF,MAChD,KAAKxR,EAAAA,sBAAsBwC,SAC3B,KAAKxC,EAAAA,sBAAsB2C,OAC3B,KAAK3C,EAAAA,sBAAsB6C,OAC3B,KAAK7C,EAAAA,sBAAsB+C,OAC3B,KAAK/C,EAAqBA,sBAACiD,OAG3B,KAAKjD,EAAqBA,sBAACmD,YAEzB,OAAO4I,EAAIyF,KACb,KAAKxR,EAAqBA,sBAACqD,SAEzB,GAAI7E,GAA6B,iBAAbuN,EAAIyF,MAAkC,OAAbzF,EAAIyF,KAAe,CAC9D,MAAM1L,EAA8B,CAAA,EACpC,IAAK,MAAOxG,EAAKuB,KAAUjC,OAAO4O,QAAQzB,EAAIyF,MAE1C1L,EAAOxG,GADLkC,MAAMC,QAAQZ,GACFA,EAAMsN,IAAKC,GAAW,IAAI5P,EAAM4P,IAEhCvN,EAGlB,OAAOiF,CACR,CACD,OAAOiG,EAAIyF,KACb,QACE,OAAOzF,EAEZ,CAWQ,YAAMR,CACbrM,EACAiL,EACAiC,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAK6M,QAC5C,IACE,MAAMtM,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAiB3B,OAhBApB,EAAIsQ,MACF,cAAclR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,YAEvD/S,KAAKuD,QACxB,CACEhD,MACA4C,OAAQ,OACRiF,KAAMC,KAAK6G,UACThP,OAAOC,OAAO,CAAE,EAAEuN,EAAO,CACvB,CAACsF,EAASA,UAACC,QAASzS,EAAUuB,WAG/BgR,GAELxQ,EAGH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,eAAMoB,CACblN,EACA2L,EACAiC,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKgN,WAC5C,IACE,MAAMzM,EAAMP,KAAKO,IAAIT,EAAO,CAAC,SACvBiT,EAAM/S,KAAKqD,UAAUd,GAI3B,OAHApB,EAAIsQ,MACF,cAAclR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,MAErE/S,KAAKuD,QACV,CACEhD,MACA4C,OAAQ,OACRiF,KAAMC,KAAK6G,UACTxB,EAAM+B,IAAKnB,GACTpO,OAAOC,OAAO,CAAE,EAAEmO,EAAG,CACnB,CAAC0E,EAASA,UAACC,QAASnT,EAAMiC,YAI7BgR,GAELxQ,EAEH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAUQ,UAAMkB,CACbtM,EACAiL,KACGxK,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAK8M,MAC5C,IACE,MAAMvM,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,eAAelR,aAAe8H,KAAK6G,UAAU6D,YAC1C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,SAAU4P,GAAOxQ,EAC3D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CACQ,aAAMqB,CACbzM,EACA0S,KACGjS,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKiN,SAC5C,IACE,MAAM1M,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAE0S,IAAKA,IAC3CH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,eAAelR,aAAe8H,KAAK6G,UAAU6D,YAC1C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,SAAU4P,GAAOxQ,EAC3D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAWQ,YAAMmB,CACbvM,EACAiL,EACAiC,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAK+M,QAC5C,IACE,MAAMxM,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAI3B,OAHApB,EAAIsQ,MACF,aAAalR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,YAE9D/S,KAAKuD,QAChB,CACEhD,MACA4C,OAAQ,MACRiF,KAAMC,KAAK6G,UACThP,OAAOC,OAAO,CAAE,EAAEuN,EAAO,CACvB,CAACsF,EAASA,UAACC,QAA+BzS,EAAUuB,WAGrDgR,GAELxQ,EAEH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,eAAMsB,CACb1M,EACA0S,EACAxF,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKkN,WAC5C,IACE,MAAM3M,EAAMP,KAAKO,IAAIC,EAAW,CAAC,SAC3BuS,EAAM/S,KAAKqD,UAAUd,GAI3B,OAHApB,EAAIsQ,MACF,aAAalR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,MAEpE/S,KAAKuD,QACV,CACEhD,MACA4C,OAAQ,MACRiF,KAAMC,KAAK6G,UACTxB,EAAM+B,IAAKnB,GACTpO,OAAOC,OAAO,CAAE,EAAEmO,EAAG,CACnB,CAAC0E,EAASA,UAACC,QAASzS,EAAUuB,YAIjCgR,GAELxQ,EAEH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAUQ,YAAM,CACbpL,EACAiL,KACGxK,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKqJ,QAC5C,IACE,MAAM9I,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,kBAAkBlR,aAAe8H,KAAK6G,UAAU6D,YAC7C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,YAAa4P,GAAOxQ,EAC9D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,eAAMuB,CACb3M,EACA0S,KACGjS,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKqJ,QAC5C,IACE,MAAM9I,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAE0S,IAAKA,IAC3CH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,kBAAkBlR,aAAe8H,KAAK6G,UAAU6D,YAC7C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,YAAa4P,GAAOxQ,EAC9D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,UAAAmE,CAAgCC,KAAe/O,GACtD,OAAOwL,EAAYsD,WAAWC,KAAQ/O,EACvC,ECnbH8Q,EAAiBhB,aCaJ,MAAAoC,EAAU,cAEVC,EAAe,cAE5B7B,EAAAA,SAAS8B,gBAAgBD,EAAcD"}
package/dist/for-http.js CHANGED
@@ -1,2 +1,2 @@
1
- import{prepared as t,Repository as e,PreparedStatementKeys as s,PersistenceKeys as r,Context as i,Statement as a,UnsupportedError as n,Paginator as o,Adapter as c,QueryError as l,PagingError as u,MigrationError as d,ObserverError as h,AuthorizationError as g,ForbiddenError as p,ConnectionError as f}from"@decaf-ts/core";import{Decoration as m,apply as y,methodMetadata as b,Metadata as O}from"@decaf-ts/decoration";import{OperationKeys as w,wrapMethodWithContext as A,InternalError as x,NotFoundError as E,ConflictError as $,BadRequestError as T,ValidationError as N,SerializationError as v,BulkCrudOperationKeys as S}from"@decaf-ts/db-decorators";import{Model as C,ModelKeys as P}from"@decaf-ts/decorator-validation";import{__decorate as R,__metadata as q}from"tslib";import{toKebabCase as _}from"@decaf-ts/logging";import{Axios as F}from"axios";var j,D,I,B,L,k;class J extends e{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}url(t,e,s){return this.adapter.url(t,e,s)}async paginateBy(t,e,r={offset:1,limit:10},...i){const{offset:a,bookmark:n,limit:o}=r,{log:c,ctxArgs:l}=(await this.logCtx(i,s.PAGE_BY,!0)).for(this.paginateBy);c.verbose(`paginating ${C.tableName(this.class)} with page size ${o}`);const u={direction:e,limit:o};return n&&(u.bookmark=n),this.statement(this.paginateBy.name,t,a,u,...l)}async listBy(t,e,...r){const{log:i,ctxArgs:a}=(await this.logCtx(r,s.LIST_BY,!0)).for(this.listBy);return i.verbose(`listing ${C.tableName(this.class)} by ${t} ${e}`),await this.statement(this.listBy.name,t,{direction:e},...a)}async findBy(t,e,...r){const{log:i,ctxArgs:a}=(await this.logCtx(r,s.FIND_BY,!0)).for(this.findBy);return i.verbose(`finding ${C.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findBy.name,t,e,{},...a)}async findOneBy(t,e,...r){const{log:i,ctxArgs:a}=(await this.logCtx(r,s.FIND_ONE_BY,!0)).for(this.findOneBy);return i.verbose(`finding ${C.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findOneBy.name,t,e,{},...a)}async statement(t,...e){const{log:s,ctx:i,ctxArgs:a}=(await this.logCtx(e,r.STATEMENT,!0)).for(this.statement),n=a.slice(0,-1),o=n[n.length-1],c="object"!=typeof o||null===o||Array.isArray(o)?void 0:n.pop(),l={class:this.class,args:n,method:t,params:c},u=this.adapter.toRequest(l,i);return s.verbose("Executing prepared statement "+t),this.adapter.parseResponse(this.class,t,await this.request(u,...a))}async request(t,...e){let s;s=e.length&&e[e.length-1]instanceof i?this.logCtx(e,this.request):(await this.logCtx(e,w.READ,!0)).for(this.request);const{ctxArgs:r}=s;return this.adapter.request(t,...r)}async countOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.COUNT_OF,!0)).for(this.countOf);r.verbose(`counting ${C.tableName(this.class)}${t?" by "+t:""}`);const a=t?[t,{}]:[{}];return await this.statement(this.countOf.name,...a,...i)}async maxOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.MAX_OF,!0)).for(this.maxOf);return r.verbose(`finding max of ${t} in ${C.tableName(this.class)}`),await this.statement(this.maxOf.name,t,{},...i)}async minOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.MIN_OF,!0)).for(this.minOf);return r.verbose(`finding min of ${t} in ${C.tableName(this.class)}`),await this.statement(this.minOf.name,t,{},...i)}async avgOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.AVG_OF,!0)).for(this.avgOf);return r.verbose(`calculating avg of ${t} in ${C.tableName(this.class)}`),await this.statement(this.avgOf.name,t,{},...i)}async sumOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.SUM_OF,!0)).for(this.sumOf);return r.verbose(`calculating sum of ${t} in ${C.tableName(this.class)}`),await this.statement(this.sumOf.name,t,{},...i)}async distinctOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.DISTINCT_OF,!0)).for(this.distinctOf);return r.verbose(`finding distinct values of ${t} in ${C.tableName(this.class)}`),await this.statement(this.distinctOf.name,t,{},...i)}async groupOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.GROUP_OF,!0)).for(this.groupOf);return r.verbose(`grouping ${C.tableName(this.class)} by ${t}`),await this.statement(this.groupOf.name,t,{},...i)}}R([t(),q("design:type",Function),q("design:paramtypes",[Object,void 0]),q("design:returntype",Promise)],J.prototype,"countOf",null),R([t(),q("design:type",Function),q("design:paramtypes",["function"==typeof(j="undefined"!=typeof K&&K)?j:Object,void 0]),q("design:returntype",Promise)],J.prototype,"maxOf",null),R([t(),q("design:type",Function),q("design:paramtypes",["function"==typeof(D="undefined"!=typeof K&&K)?D:Object,void 0]),q("design:returntype",Promise)],J.prototype,"minOf",null),R([t(),q("design:type",Function),q("design:paramtypes",["function"==typeof(I="undefined"!=typeof K&&K)?I:Object,void 0]),q("design:returntype",Promise)],J.prototype,"avgOf",null),R([t(),q("design:type",Function),q("design:paramtypes",["function"==typeof(B="undefined"!=typeof K&&K)?B:Object,void 0]),q("design:returntype",Promise)],J.prototype,"sumOf",null),R([t(),q("design:type",Function),q("design:paramtypes",["function"==typeof(L="undefined"!=typeof K&&K)?L:Object,void 0]),q("design:returntype",Promise)],J.prototype,"distinctOf",null),R([t(),q("design:type",Function),q("design:paramtypes",["function"==typeof(k="undefined"!=typeof K&&K)?k:Object,void 0]),q("design:returntype",Promise)],J.prototype,"groupOf",null);class M extends J{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return C.tableName(this.class)+" REST service"}}class U extends a{constructor(t,e){super(t,e)}build(){throw new n("This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required")}parseCondition(t,...e){throw new n("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class G extends o{constructor(t,e,s,r){super(t,e,s,r)}async pagePrepared(t,...r){const i=e.forModel(this.clazz,this.adapter.alias),a=this.query,{method:o,args:c,params:l}=a,u=RegExp(`^${s.FIND_BY}|${s.LIST_BY}`,"gi");if(!o.match(u))throw new n(`Method ${o} is not supported for pagination`);u.lastIndex=0;const d=[o.replace(u,s.PAGE_BY),...c],h={direction:l.direction,limit:this.size,offset:t,bookmark:this._bookmark};d.push(h);const g=await i.statement(...d,...r);return this.apply(g)}prepare(t){throw new n("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(t=1,...e){return super.page(t,...e)}}function Y(t,e,s,r){const i=r||e.name;t[i]=new Proxy(t[i],{apply:async(t,e,r)=>{let i=t.call(e,...r);return i instanceof Promise&&(i=await i),i=s.call(e,i),i instanceof Promise&&(i=await i),i}})}class H extends c{constructor(t,e,s){super(t,e,s);const r=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(t=>{Y(this,t,e=>r.parseResponse.call(r,void 0,t.name,e),t.name)}),A(this,(...t)=>t,this.request,(t,e)=>{const s=r.config.parsers;return s?(s.forEach(s=>s(t,e)),t):t},this.request.name)}async flags(t,e,s){return super.flags(t,e,Object.assign({headers:s.headers??{}},s))}repository(){return M}prepare(t,...e){const{log:s}=this.logCtx(e,this.prepare),i=Object.assign({},t);return t[r.METADATA]&&(s.silly("Passing along persistence metadata for "+t[r.METADATA]),Object.defineProperty(i,r.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:t[r.METADATA]})),{record:t,id:t[C.pk(t.constructor)]}}revert(t,e,s,...i){const{log:a}=this.logCtx(i,this.revert),n={},o="string"==typeof e?C.build(n,e):new e(n);a.silly(`Rebuilding model ${o.constructor.name} id ${s}`);const c="string"==typeof e?C.get(e):e;if(!c)throw new x("Failed to retrieve model constructor for "+e);const l=new c(t),u=t[r.METADATA];return u&&(a.silly(`Passing along ${this.flavour} persistence metadata for ${o.constructor.name} id ${s}: ${u}`),Object.defineProperty(l,r.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:u})),l}toTableName(t){return"string"==typeof t?t:_(C.tableName(t))}url(t,e,s){s||e&&!Array.isArray(e)&&(s=e,e=[]),t=this.toTableName(t);const r=new URL(`${this.config.protocol}://${this.config.host}/${t}${e&&e.length?"/"+e.join("/"):""}`);return s&&Object.entries(s).forEach(([t,e])=>{Array.isArray(e)?e.forEach(e=>r.searchParams.append(t,e.toString())):"object"==typeof e?r.searchParams.append(t,JSON.stringify(e)):void 0!==e&&r.searchParams.append(t,e.toString())}),r.toString()}extractIdArgs(t,e){const s=e.toString();if("string"==typeof t)return[s];const r=C.composed(t,C.pk(t));return r?s.split(r.separator):[s]}parseResponse(t,e,s){return t&&o.isSerializedPage(s)?Object.assign({},s,{data:s.data.map(e=>new t(e))}):s}raw(t,...e){const{ctxArgs:s,ctx:r}=this.logCtx(e,this.raw),i=this.toRequest(t,r);return this.request(i,...s)}Sequence(t){return Promise.reject(new n("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(t){return new U(this,t)}Paginator(t,e,s){return new G(this,t,e,s)}parseCondition(t){throw new n("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(t,...e){const s="string"==typeof t?t:t.message;return s.includes(E.name)||s.includes("404")?new E(t):s.includes($.name)||s.includes("409")?new $(t):s.includes(T.name)||s.includes("400")?new T(t):s.includes(N.name)||s.includes("422")?new N(t):s.includes(l.name)?new l(t):s.includes(u.name)?new u(t):s.includes(n.name)?new n(t):s.includes(d.name)?new d(t):s.includes(h.name)?new h(t):s.includes(g.name)?new g(t):s.includes(p.name)?new p(t):s.includes(f.name)?new f(t):s.includes(v.name)?new v(t):new x(t)}static decoration(){super.decoration(),m.for(r.QUERY).define({decorator:e=>(s,i,a)=>y(b(O.key(r.QUERY,i),e),t(),(t,e,s)=>{s.value=new Proxy(s.value,{async apply(t,e,s){const r=e,{log:a,ctxArgs:n}=(await r.logCtx(s,w.READ,!0)).for(i);return a.verbose("Running prepared statement "+t.name),a.debug("With args: "+JSON.stringify(s,null,2)),e.statement(t.name,...n)}})})(s,i,a)}).apply()}}H.decoration();const Q="axios",z=(t,e)=>{if(t.headers&&t.headers["x-pending-task"]){let s;try{s=JSON.parse(t.headers["x-pending-task"]),Object.entries(s).forEach(([t,s])=>{s.forEach(s=>e.pushPending(t,s))})}catch(s){e.logger.for(z).error(`Failed to parse pending tasks header ${t.headers["x-pending-task"]}: ${s}`)}}};class V extends H{constructor(t,e){super(t,Q,e)}getClient(){return new F({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(t,e){let s,a;t instanceof i?(a=t,s=void 0):(s=t,a=e);const n={};if(a)try{n.headers=a.get("headers")||{}}catch(t){}return s&&(n.method="GET",n.url=this.url(s.class,[r.STATEMENT,s.method,...s.args||[]],s.params)),n}async request(t,...e){let s={};try{const{ctx:t}=this.logCtx(e,this.request);s=this.toRequest(t)}catch(t){}return await this.client.request(Object.assign({},t,s))}parseResponse(t,e,i){if(!i.status&&e!==r.STATEMENT)throw new x("this should be impossible");if(i.status>=400)throw this.parseError(i.error||i.status);switch(e){case S.CREATE_ALL:case S.READ_ALL:case S.UPDATE_ALL:case S.DELETE_ALL:case w.CREATE:case w.READ:case w.UPDATE:case w.DELETE:return i.body;case s.FIND_BY:case s.LIST_BY:case s.PAGE_BY:case s.FIND_ONE_BY:case r.STATEMENT:return super.parseResponse(t,e,i.body);case s.COUNT_OF:case s.MAX_OF:case s.MIN_OF:case s.AVG_OF:case s.SUM_OF:case s.DISTINCT_OF:return i.body;case s.GROUP_OF:if(t&&"object"==typeof i.body&&null!==i.body){const e={};for(const[s,r]of Object.entries(i.body))e[s]=Array.isArray(r)?r.map(e=>new t(e)):r;return e}return i.body;default:return i}}async create(t,e,s,...r){const{log:i,ctx:a}=this.logCtx(r,this.create);try{const r=this.url(t,this.extractIdArgs(t,e)),n=this.toRequest(a);return i.debug(`POSTing to ${r} with ${JSON.stringify(s)} and cfg ${JSON.stringify(n)}`),await this.request({url:r,method:"POST",data:JSON.stringify(Object.assign({},s,{[P.ANCHOR]:t.name})),...n},a)}catch(t){throw this.parseError(t)}}async createAll(t,e,s,...r){const{log:i,ctx:a}=this.logCtx(r,this.createAll);try{const e=this.url(t,["bulk"]),r=this.toRequest(a);return i.debug(`POSTing to ${e} with ${JSON.stringify(s)} and cfg ${JSON.stringify(r)}`),this.request({url:e,method:"POST",data:JSON.stringify(s.map(e=>Object.assign({},e,{[P.ANCHOR]:t.name}))),...r},a)}catch(t){throw this.parseError(t)}}async read(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.read);try{const s=this.url(t,this.extractIdArgs(t,e)),a=this.toRequest(i);return r.debug(`GETing from ${s} and cfg ${JSON.stringify(a)}`),await this.request({url:s,method:"GET",...a},i)}catch(t){throw this.parseError(t)}}async readAll(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.readAll);try{const s=this.url(t,["bulk"],{ids:e}),a=this.toRequest(i);return r.debug(`GETing from ${s} and cfg ${JSON.stringify(a)}`),await this.request({url:s,method:"GET",...a},i)}catch(t){throw this.parseError(t)}}async update(t,e,s,...r){const{log:i,ctx:a}=this.logCtx(r,this.update);try{const r=this.url(t,this.extractIdArgs(t,e)),n=this.toRequest(a);return i.debug(`PUTing to ${r} with ${JSON.stringify(s)} and cfg ${JSON.stringify(n)}`),await this.request({url:r,method:"PUT",data:JSON.stringify(Object.assign({},s,{[P.ANCHOR]:t.name})),...n},a)}catch(t){throw this.parseError(t)}}async updateAll(t,e,s,...r){const{log:i,ctx:a}=this.logCtx(r,this.updateAll);try{const e=this.url(t,["bulk"]),r=this.toRequest(a);return i.debug(`PUTing to ${e} with ${JSON.stringify(s)} and cfg ${JSON.stringify(r)}`),this.request({url:e,method:"PUT",data:JSON.stringify(s.map(e=>Object.assign({},e,{[P.ANCHOR]:t.name}))),...r},a)}catch(t){throw this.parseError(t)}}async delete(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.delete);try{const s=this.url(t,this.extractIdArgs(t,e)),a=this.toRequest(i);return r.debug(`DELETEing from ${s} and cfg ${JSON.stringify(a)}`),await this.request({url:s,method:"DELETE",...a},i)}catch(t){throw this.parseError(t)}}async deleteAll(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.delete);try{const s=this.url(t,["bulk"],{ids:e}),a=this.toRequest(i);return r.debug(`DELETEing from ${s} and cfg ${JSON.stringify(a)}`),await this.request({url:s,method:"DELETE",...a},i)}catch(t){throw this.parseError(t)}}parseError(t,...e){return H.parseError(t,...e)}}V.decoration();const X="##VERSION##",W="##PACKAGE##";O.registerLibrary(W,X);export{Q as AxiosFlavour,V as AxiosHttpAdapter,H as HttpAdapter,G as HttpPaginator,U as HttpStatement,W as PACKAGE_NAME,J as RestRepository,M as RestService,z as TaskResponseParser,X as VERSION,Y as suffixMethod};
1
+ import{prepared as t,Repository as e,PreparedStatementKeys as s,PersistenceKeys as r,Context as i,Statement as n,UnsupportedError as a,Paginator as o,Dispatch as c,Adapter as l,QueryError as h,PagingError as d,MigrationError as u,ObserverError as g,AuthorizationError as p,ForbiddenError as f,ConnectionError as m}from"@decaf-ts/core";import{Decoration as y,apply as w,methodMetadata as b,Metadata as O}from"@decaf-ts/decoration";import{OperationKeys as A,wrapMethodWithContext as E,InternalError as x,NotFoundError as v,ConflictError as $,BadRequestError as T,ValidationError as N,SerializationError as S,BulkCrudOperationKeys as R}from"@decaf-ts/db-decorators";import{Model as C,Serialization as P,ModelKeys as q}from"@decaf-ts/decorator-validation";import{__decorate as _,__metadata as I}from"tslib";import{toKebabCase as L}from"@decaf-ts/logging";import{EventSourcePlus as F}from"event-source-plus";import{Axios as j}from"axios";var D,B,k,J,M,U;class z extends e{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}url(t,e,s){return this.adapter.url(t,e,s)}async paginateBy(t,e,r={offset:1,limit:10},...i){const{offset:n,bookmark:a,limit:o}=r,{log:c,ctxArgs:l}=(await this.logCtx(i,s.PAGE_BY,!0)).for(this.paginateBy);c.verbose(`paginating ${C.tableName(this.class)} with page size ${o}`);const h={direction:e,limit:o};return a&&(h.bookmark=a),this.statement(this.paginateBy.name,t,n,h,...l)}async listBy(t,e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,s.LIST_BY,!0)).for(this.listBy);return i.verbose(`listing ${C.tableName(this.class)} by ${t} ${e}`),await this.statement(this.listBy.name,t,{direction:e},...n)}async findBy(t,e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,s.FIND_BY,!0)).for(this.findBy);return i.verbose(`finding ${C.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findBy.name,t,e,{},...n)}async findOneBy(t,e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,s.FIND_ONE_BY,!0)).for(this.findOneBy);return i.verbose(`finding ${C.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findOneBy.name,t,e,{},...n)}async statement(t,...e){const{log:s,ctx:i,ctxArgs:n}=(await this.logCtx(e,r.STATEMENT,!0)).for(this.statement),a=n.slice(0,-1),o=a[a.length-1],c="object"!=typeof o||null===o||Array.isArray(o)?void 0:a.pop(),l={class:this.class,args:a,method:t,params:c},h=this.adapter.toRequest(l,i);return s.verbose("Executing prepared statement "+t),this.adapter.parseResponse(this.class,t,await this.request(h,...n))}async request(t,...e){let s;s=e.length&&e[e.length-1]instanceof i?this.logCtx(e,this.request):(await this.logCtx(e,A.READ,!0)).for(this.request);const{ctxArgs:r}=s;return this.adapter.request(t,...r)}async countOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.COUNT_OF,!0)).for(this.countOf);r.verbose(`counting ${C.tableName(this.class)}${t?" by "+t:""}`);const n=t?[t,{}]:[{}];return await this.statement(this.countOf.name,...n,...i)}async maxOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.MAX_OF,!0)).for(this.maxOf);return r.verbose(`finding max of ${t} in ${C.tableName(this.class)}`),await this.statement(this.maxOf.name,t,{},...i)}async minOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.MIN_OF,!0)).for(this.minOf);return r.verbose(`finding min of ${t} in ${C.tableName(this.class)}`),await this.statement(this.minOf.name,t,{},...i)}async avgOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.AVG_OF,!0)).for(this.avgOf);return r.verbose(`calculating avg of ${t} in ${C.tableName(this.class)}`),await this.statement(this.avgOf.name,t,{},...i)}async sumOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.SUM_OF,!0)).for(this.sumOf);return r.verbose(`calculating sum of ${t} in ${C.tableName(this.class)}`),await this.statement(this.sumOf.name,t,{},...i)}async distinctOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.DISTINCT_OF,!0)).for(this.distinctOf);return r.verbose(`finding distinct values of ${t} in ${C.tableName(this.class)}`),await this.statement(this.distinctOf.name,t,{},...i)}async groupOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.GROUP_OF,!0)).for(this.groupOf);return r.verbose(`grouping ${C.tableName(this.class)} by ${t}`),await this.statement(this.groupOf.name,t,{},...i)}}_([t(),I("design:type",Function),I("design:paramtypes",[Object,void 0]),I("design:returntype",Promise)],z.prototype,"countOf",null),_([t(),I("design:type",Function),I("design:paramtypes",["function"==typeof(D="undefined"!=typeof K&&K)?D:Object,void 0]),I("design:returntype",Promise)],z.prototype,"maxOf",null),_([t(),I("design:type",Function),I("design:paramtypes",["function"==typeof(B="undefined"!=typeof K&&K)?B:Object,void 0]),I("design:returntype",Promise)],z.prototype,"minOf",null),_([t(),I("design:type",Function),I("design:paramtypes",["function"==typeof(k="undefined"!=typeof K&&K)?k:Object,void 0]),I("design:returntype",Promise)],z.prototype,"avgOf",null),_([t(),I("design:type",Function),I("design:paramtypes",["function"==typeof(J="undefined"!=typeof K&&K)?J:Object,void 0]),I("design:returntype",Promise)],z.prototype,"sumOf",null),_([t(),I("design:type",Function),I("design:paramtypes",["function"==typeof(M="undefined"!=typeof K&&K)?M:Object,void 0]),I("design:returntype",Promise)],z.prototype,"distinctOf",null),_([t(),I("design:type",Function),I("design:paramtypes",["function"==typeof(U="undefined"!=typeof K&&K)?U:Object,void 0]),I("design:returntype",Promise)],z.prototype,"groupOf",null);class G extends z{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return C.tableName(this.class)+" REST service"}}class Y extends n{constructor(t,e){super(t,e)}build(){throw new a("This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required")}parseCondition(t,...e){throw new a("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class H extends o{constructor(t,e,s,r){super(t,e,s,r)}async pagePrepared(t,...r){const i=e.forModel(this.clazz,this.adapter.alias),n=this.query,{method:o,args:c,params:l}=n,h=RegExp(`^${s.FIND_BY}|${s.LIST_BY}`,"gi");if(!o.match(h))throw new a(`Method ${o} is not supported for pagination`);h.lastIndex=0;const d=[o.replace(h,s.PAGE_BY),...c],u={direction:l.direction,limit:this.size,offset:t,bookmark:this._bookmark};d.push(u);const g=await i.statement(...d,...r);return this.apply(g)}prepare(t){throw new a("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(t=1,...e){return super.page(t,...e)}}class Q{static{this.cache=new Map}static get(t){if(this.cache.has(t))return this.cache.get(t);throw Error(`Server event connector not found for URL '${t}'. Did you forget to call open()?`)}static open(t){if(this.cache.has(t))return this.cache.get(t);const e=new Q(t);return this.cache.set(t,e),this.cache.get(t)}static close(t){this.cache.has(t)&&this.cache.get(t).close()}static parseReceivedEvent(t){try{const e="string"==typeof t?JSON.parse(t):t;if(!Array.isArray(e)||3>e.length)return null;const[s,r,i,n]=e;return"string"!=typeof s?null:[s,r+"",i,"string"==typeof n?P.deserialize(n):n]}catch{return null}}constructor(t){this.url=t,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){if(this.es&&0>=this.listeners.size)try{this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),Q.cache.delete(this.url)}}startListening(t,e){if(this.es)return;const s=this.url;this.es=new F(s,{headers:e,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{},onRequestError:({error:e})=>{t.onError((e?.message??e)+"")},onResponseError:({response:e})=>{t.onError("HTTP "+e.status)},onMessage:e=>{const s=e&&"object"==typeof e&&"data"in e?e.data:e,r=Q.parseReceivedEvent(s);r&&t.onEvent(r)}})}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}}class V extends c{constructor(){super(...arguments),this.initialized=!1,this.listening=!1}async initialize(...t){const{log:e,ctxArgs:s}=(await this.logCtx(t,r.INITIALIZATION,!0)).for(this.initialize);this.adapter?(e.info(`Initializing ${this.adapter}'s event Dispatch, but not listening yet.`),this.initialized=!0,await this.startListening(...s)):e.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...t){if(!this.initialized||!this.adapter)throw Error("Cannot start listening before call initialize()");const{log:e}=this.logCtx(t,this.startListening),{protocol:s,host:r,eventsListenerPath:i}=this.adapter.config;if(!i)throw Error("No eventsListenerPath specified");const n=new URL(i,`${s}://${r}`).toString();this.connector=Q.open(n),this.connector.startListening({onEvent:async t=>{const[e,s,r,...i]=t,{log:n,ctxArgs:a}=(await this.logCtx(i,s,!0)).for("onEvent");super.updateObservers(e,s,r,...a).catch(t=>n.error("Failed to dispatch SSE event",t))},onError:t=>e.error(t)}),this.listening=!0,e.info(`Initializing event listener for adapter ${this.adapter} at ${n}.`)}async close(){this.connector?.close()}}function X(t,e,s,r){const i=r||e.name;t[i]=new Proxy(t[i],{apply:async(t,e,r)=>{let i=t.call(e,...r);return i instanceof Promise&&(i=await i),i=s.call(e,i),i instanceof Promise&&(i=await i),i}})}class W extends l{constructor(t,e,s){super(t,e,s);const r=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(t=>{X(this,t,e=>r.parseResponse.call(r,void 0,t.name,e),t.name)}),E(this,(...t)=>t,this.request,(t,e)=>{const s=r.config.parsers;return s?(s.forEach(s=>s(t,e)),t):t},this.request.name)}async flags(t,e,s){return super.flags(t,e,Object.assign({headers:s.headers??{}},s))}Dispatch(){return new V}repository(){return G}prepare(t,...e){const{log:s}=this.logCtx(e,this.prepare),i=Object.assign({},t);return t[r.METADATA]&&(s.silly("Passing along persistence metadata for "+t[r.METADATA]),Object.defineProperty(i,r.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:t[r.METADATA]})),{record:t,id:t[C.pk(t.constructor)]}}revert(t,e,s,...i){const{log:n}=this.logCtx(i,this.revert),a={},o="string"==typeof e?C.build(a,e):new e(a);n.silly(`Rebuilding model ${o.constructor.name} id ${s}`);const c="string"==typeof e?C.get(e):e;if(!c)throw new x("Failed to retrieve model constructor for "+e);const l=new c(t),h=t[r.METADATA];return h&&(n.silly(`Passing along ${this.flavour} persistence metadata for ${o.constructor.name} id ${s}: ${h}`),Object.defineProperty(l,r.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:h})),l}toTableName(t){return"string"==typeof t?t:L(C.tableName(t))}url(t,e,s){s||e&&!Array.isArray(e)&&(s=e,e=[]),t=this.toTableName(t);const r=new URL(`${this.config.protocol}://${this.config.host}/${t}${e&&e.length?"/"+e.join("/"):""}`);return s&&Object.entries(s).forEach(([t,e])=>{Array.isArray(e)?e.forEach(e=>r.searchParams.append(t,e.toString())):"object"==typeof e?r.searchParams.append(t,JSON.stringify(e)):void 0!==e&&r.searchParams.append(t,e.toString())}),r.toString()}extractIdArgs(t,e){const s=e.toString();if("string"==typeof t)return[s];const r=C.composed(t,C.pk(t));return r?s.split(r.separator):[s]}parseResponse(t,e,s){return t&&o.isSerializedPage(s)?Object.assign({},s,{data:s.data.map(e=>new t(e))}):s}raw(t,...e){const{ctxArgs:s,ctx:r}=this.logCtx(e,this.raw),i=this.toRequest(t,r);return this.request(i,...s)}Sequence(t){return Promise.reject(new a("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(t){return new Y(this,t)}Paginator(t,e,s){return new H(this,t,e,s)}parseCondition(t){throw new a("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(t,...e){const s="string"==typeof t?t:t.message;return s.includes(v.name)||s.includes("404")?new v(t):s.includes($.name)||s.includes("409")?new $(t):s.includes(T.name)||s.includes("400")?new T(t):s.includes(N.name)||s.includes("422")?new N(t):s.includes(h.name)?new h(t):s.includes(d.name)?new d(t):s.includes(a.name)?new a(t):s.includes(u.name)?new u(t):s.includes(g.name)?new g(t):s.includes(p.name)?new p(t):s.includes(f.name)?new f(t):s.includes(m.name)?new m(t):s.includes(S.name)?new S(t):new x(t)}static decoration(){super.decoration(),y.for(r.QUERY).define({decorator:e=>(s,i,n)=>w(b(O.key(r.QUERY,i),e),t(),(t,e,s)=>{s.value=new Proxy(s.value,{async apply(t,e,s){const r=e,{log:n,ctxArgs:a}=(await r.logCtx(s,A.READ,!0)).for(i);return n.verbose("Running prepared statement "+t.name),n.debug("With args: "+JSON.stringify(s,null,2)),e.statement(t.name,...a)}})})(s,i,n)}).apply()}}W.decoration();const Z="axios",tt=(t,e)=>{if(t.headers&&t.headers["x-pending-task"]){let s;try{s=JSON.parse(t.headers["x-pending-task"]),Object.entries(s).forEach(([t,s])=>{s.forEach(s=>e.pushPending(t,s))})}catch(s){e.logger.for(tt).error(`Failed to parse pending tasks header ${t.headers["x-pending-task"]}: ${s}`)}}};class et extends W{constructor(t,e){super(t,Z,e)}getClient(){return new j({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(t,e){let s,n;t instanceof i?(n=t,s=void 0):(s=t,n=e);const a={};if(n)try{a.headers=n.get("headers")||{}}catch(t){}return s&&(a.method="GET",a.url=this.url(s.class,[r.STATEMENT,s.method,...s.args||[]],s.params)),a}async request(t,...e){let s={};try{const{ctx:t}=this.logCtx(e,this.request);s=this.toRequest(t)}catch(t){}return await this.client.request(Object.assign({},t,s))}parseResponse(t,e,i){if(!i.status&&e!==r.STATEMENT)throw new x("this should be impossible");if(i.status>=400)throw this.parseError(i.error||i.status);switch(e){case R.CREATE_ALL:case R.READ_ALL:case R.UPDATE_ALL:case R.DELETE_ALL:case A.CREATE:case A.READ:case A.UPDATE:case A.DELETE:return i.body;case s.FIND_BY:case s.LIST_BY:case s.PAGE_BY:case s.FIND_ONE_BY:case r.STATEMENT:return super.parseResponse(t,e,i.body);case s.COUNT_OF:case s.MAX_OF:case s.MIN_OF:case s.AVG_OF:case s.SUM_OF:case s.DISTINCT_OF:return i.body;case s.GROUP_OF:if(t&&"object"==typeof i.body&&null!==i.body){const e={};for(const[s,r]of Object.entries(i.body))e[s]=Array.isArray(r)?r.map(e=>new t(e)):r;return e}return i.body;default:return i}}async create(t,e,s,...r){const{log:i,ctx:n}=this.logCtx(r,this.create);try{const r=this.url(t,this.extractIdArgs(t,e)),a=this.toRequest(n);return i.debug(`POSTing to ${r} with ${JSON.stringify(s)} and cfg ${JSON.stringify(a)}`),await this.request({url:r,method:"POST",data:JSON.stringify(Object.assign({},s,{[q.ANCHOR]:t.name})),...a},n)}catch(t){throw this.parseError(t)}}async createAll(t,e,s,...r){const{log:i,ctx:n}=this.logCtx(r,this.createAll);try{const e=this.url(t,["bulk"]),r=this.toRequest(n);return i.debug(`POSTing to ${e} with ${JSON.stringify(s)} and cfg ${JSON.stringify(r)}`),this.request({url:e,method:"POST",data:JSON.stringify(s.map(e=>Object.assign({},e,{[q.ANCHOR]:t.name}))),...r},n)}catch(t){throw this.parseError(t)}}async read(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.read);try{const s=this.url(t,this.extractIdArgs(t,e)),n=this.toRequest(i);return r.debug(`GETing from ${s} and cfg ${JSON.stringify(n)}`),await this.request({url:s,method:"GET",...n},i)}catch(t){throw this.parseError(t)}}async readAll(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.readAll);try{const s=this.url(t,["bulk"],{ids:e}),n=this.toRequest(i);return r.debug(`GETing from ${s} and cfg ${JSON.stringify(n)}`),await this.request({url:s,method:"GET",...n},i)}catch(t){throw this.parseError(t)}}async update(t,e,s,...r){const{log:i,ctx:n}=this.logCtx(r,this.update);try{const r=this.url(t,this.extractIdArgs(t,e)),a=this.toRequest(n);return i.debug(`PUTing to ${r} with ${JSON.stringify(s)} and cfg ${JSON.stringify(a)}`),await this.request({url:r,method:"PUT",data:JSON.stringify(Object.assign({},s,{[q.ANCHOR]:t.name})),...a},n)}catch(t){throw this.parseError(t)}}async updateAll(t,e,s,...r){const{log:i,ctx:n}=this.logCtx(r,this.updateAll);try{const e=this.url(t,["bulk"]),r=this.toRequest(n);return i.debug(`PUTing to ${e} with ${JSON.stringify(s)} and cfg ${JSON.stringify(r)}`),this.request({url:e,method:"PUT",data:JSON.stringify(s.map(e=>Object.assign({},e,{[q.ANCHOR]:t.name}))),...r},n)}catch(t){throw this.parseError(t)}}async delete(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.delete);try{const s=this.url(t,this.extractIdArgs(t,e)),n=this.toRequest(i);return r.debug(`DELETEing from ${s} and cfg ${JSON.stringify(n)}`),await this.request({url:s,method:"DELETE",...n},i)}catch(t){throw this.parseError(t)}}async deleteAll(t,e,...s){const{log:r,ctx:i}=this.logCtx(s,this.delete);try{const s=this.url(t,["bulk"],{ids:e}),n=this.toRequest(i);return r.debug(`DELETEing from ${s} and cfg ${JSON.stringify(n)}`),await this.request({url:s,method:"DELETE",...n},i)}catch(t){throw this.parseError(t)}}parseError(t,...e){return W.parseError(t,...e)}}et.decoration();const st="##VERSION##",rt="##PACKAGE##";O.registerLibrary(rt,st);export{Z as AxiosFlavour,et as AxiosHttpAdapter,W as HttpAdapter,H as HttpPaginator,Y as HttpStatement,rt as PACKAGE_NAME,z as RestRepository,G as RestService,Q as ServerEventConnector,tt as TaskResponseParser,st as VERSION,X as suffixMethod};
2
2
  //# sourceMappingURL=for-http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-http.js","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpStatement.ts","../src/HttpPaginator.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","paginateBy","key","order","ref","offset","limit","args","bookmark","log","ctxArgs","logCtx","PreparedStatementKeys","PAGE_BY","for","verbose","Model","class","params","direction","statement","name","listBy","LIST_BY","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","parseResponse","request","details","contextualizeArgs","Context","OperationKeys","READ","countOf","COUNT_OF","stmtArgs","maxOf","MAX_OF","minOf","MIN_OF","avgOf","AVG_OF","sumOf","SUM_OF","distinctOf","DISTINCT_OF","groupOf","GROUP_OF","__decorate","prepared","prototype","__metadata","_a","K","_b","_c","_d","_e","_f","RestService","ignoreValidation","ignoreHandlers","toString","HttpStatement","Statement","overrides","build","UnsupportedError","parseCondition","condition","HttpPaginator","Paginator","size","pagePrepared","page","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","result","apply","prepare","rawStatement","suffixMethod","obj","before","suffix","beforeName","Proxy","async","target","thisArg","argArray","results","call","Promise","HttpAdapter","Adapter","config","flavour","self","create","read","update","delete","createAll","readAll","updateAll","deleteAll","forEach","res","wrapMethodWithContext","parsers","p","flags","operation","model","headers","repository","METADATA","silly","defineProperty","enumerable","writable","configurable","record","id","pk","revert","ob","m","constr","get","InternalError","metadata","toTableName","t","toKebabCase","URL","protocol","host","join","entries","v","searchParams","append","JSON","stringify","extractIdArgs","idStr","composed","split","separator","isSerializedPage","data","map","d","raw","rawInput","Sequence","options","reject","parseError","err","msg","message","includes","NotFoundError","ConflictError","BadRequestError","ValidationError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","QUERY","define","decorator","prop","descriptor","methodMetadata","Metadata","propertyKey","debug","AxiosFlavour","TaskResponseParser","pending","parse","pushPending","e","logger","error","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","status","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","body","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"for-http.js","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpStatement.ts","../src/HttpPaginator.ts","../src/event/ServerEventConnector.ts","../src/HttpDispatcher.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","paginateBy","key","order","ref","offset","limit","args","bookmark","log","ctxArgs","logCtx","PreparedStatementKeys","PAGE_BY","for","verbose","Model","class","params","direction","statement","name","listBy","LIST_BY","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","parseResponse","request","details","contextualizeArgs","Context","OperationKeys","READ","countOf","COUNT_OF","stmtArgs","maxOf","MAX_OF","minOf","MIN_OF","avgOf","AVG_OF","sumOf","SUM_OF","distinctOf","DISTINCT_OF","groupOf","GROUP_OF","__decorate","prepared","prototype","__metadata","_a","K","_b","_c","_d","_e","_f","RestService","ignoreValidation","ignoreHandlers","toString","HttpStatement","Statement","overrides","build","UnsupportedError","parseCondition","condition","HttpPaginator","Paginator","size","pagePrepared","page","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","result","apply","prepare","rawStatement","ServerEventConnector","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","data","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","deserialize","listeners","Set","isOpen","es","controller","abort","clear","delete","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","response","status","onMessage","event","onEvent","addListener","add","removeListener","HttpDispatcher","Dispatch","initialized","listening","initialize","INITIALIZATION","info","protocol","host","eventsListenerPath","config","listeningUrl","URL","async","operation","id","updateObservers","catch","e","suffixMethod","obj","before","suffix","beforeName","Proxy","target","thisArg","argArray","results","call","Promise","HttpAdapter","Adapter","flavour","self","create","read","update","createAll","readAll","updateAll","deleteAll","forEach","res","wrapMethodWithContext","parsers","p","flags","model","repository","METADATA","silly","defineProperty","enumerable","writable","configurable","record","pk","revert","ob","m","constr","InternalError","metadata","toTableName","t","toKebabCase","join","entries","v","searchParams","append","stringify","extractIdArgs","idStr","composed","split","separator","isSerializedPage","map","d","rawInput","Sequence","options","reject","parseError","err","msg","includes","NotFoundError","ConflictError","BadRequestError","ValidationError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","QUERY","define","decorator","prop","descriptor","methodMetadata","Metadata","propertyKey","debug","AxiosFlavour","TaskResponseParser","pending","pushPending","logger","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","body","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"q7BAiDM,MAAOA,UAIHC,EAOR,WAAAC,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAPEE,KAAUC,WAAGC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEK,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAK7B,CAWD,GAAAC,CACEC,EACAC,EACAC,GAEA,OAAOV,KAAKH,QAAQU,IAAIC,EAAWC,EAAmBC,EACvD,CAEQ,gBAAMC,CACbC,EACAC,EACAC,EAA+C,CAC7CC,OAAQ,EACRC,MAAO,OAENC,GAEH,MAAMF,OAAEA,EAAMG,SAAEA,EAAQF,MAAEA,GAAUF,GAC9BK,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBC,SAAS,IACvDC,IAAIxB,KAAKW,YACXQ,EAAIM,QACF,cAAcC,EAAMlB,UAAUR,KAAK2B,yBAAyBX,KAG9D,MAAMY,EAA+B,CACnCC,UAAWhB,EACXG,MAAOA,GAKT,OAHIE,IACFU,EAAOV,SAAWA,GAEblB,KAAK8B,UACV9B,KAAKW,WAAWoB,KAChBnB,EACAG,EACAa,KACGR,EAEN,CAEQ,YAAMY,CACbpB,EACAC,KACGI,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBW,SAAS,IACvDT,IAAIxB,KAAKgC,QAIX,OAHAb,EAAIM,QACF,WAAWC,EAAMlB,UAAUR,KAAK2B,aAAaf,KAAiBC,WAElDb,KAAK8B,UACjB9B,KAAKgC,OAAOD,KACZnB,EACA,CAAEiB,UAAWhB,MACVO,EAEN,CAEQ,YAAMc,CACbtB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBc,SAAS,IACvDZ,IAAIxB,KAAKkC,QAIX,OAHAf,EAAIM,QACF,WAAWC,EAAMlB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKkC,OAAOH,KACZnB,EACAuB,EACA,MACGf,EAEN,CAEQ,eAAMiB,CACbzB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBgB,aAAa,IAC3Dd,IAAIxB,KAAKqC,WAIX,OAHAlB,EAAIM,QACF,WAAWC,EAAMlB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKqC,UAAUN,KACfnB,EACAuB,EACA,MACGf,EAEN,CAEQ,eAAMU,CACbC,KACGd,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,EAAGnB,QAAEA,UACVpB,KAAKqB,OAAOJ,EAAMuB,EAAgBC,WAAW,IACnDjB,IAAIxB,KAAK8B,WACLY,EAAUtB,EAAQuB,MAAM,GAAI,GAC5BC,EAAUF,EAAQA,EAAQG,OAAS,GAKnCjB,EAHe,iBAAZgB,GACK,OAAZA,GACCE,MAAMC,QAAQH,QAGbI,EADCN,EAAQO,MAEPC,EAAgC,CACpCvB,MAAO3B,KAAK2B,MACZV,KAAMyB,EACNS,OAAQpB,EACRH,OAAQA,GAEJwB,EAAMpD,KAAKH,QAAQwD,UAAUH,EAAOX,GAE1C,OADApB,EAAIM,QAAQ,gCAAgCM,GACrC/B,KAAKH,QAAQyD,cAClBtD,KAAK2B,MACLI,QACM/B,KAAKuD,QAAQH,KAAQhC,GAE9B,CAED,aAAMmC,CACJC,KACGvC,GAEH,IAAIwC,EAGFA,EADExC,EAAK4B,QAAU5B,EAAKA,EAAK4B,OAAS,aAAca,EAC9B1D,KAAKqB,OAAOJ,EAAMjB,KAAKuD,gBAGnCvD,KAAKqB,OAAOJ,EAAM0C,EAAcC,MAAM,IAC5CpC,IAAIxB,KAAKuD,SAEb,MAAMnC,QAAEA,GAAYqC,EAEpB,OAAOzD,KAAKH,QAAQ0D,QAAWC,KAAYpC,EAC5C,CAGQ,aAAMyC,CACbjD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBwC,UAAU,IACxDtC,IAAIxB,KAAK6D,SACX1C,EAAIM,QACF,YAAYC,EAAMlB,UAAUR,KAAK2B,SAASf,EAAM,OAAOA,EAAkB,MAE3E,MAAMmD,EAAkBnD,EAAM,CAACA,EAAK,CAAA,GAAM,CAAC,CAAA,GAC3C,aAAcZ,KAAK8B,UACjB9B,KAAK6D,QAAQ9B,QACVgC,KACA3C,EAEN,CAGQ,WAAM4C,CACbpD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsB2C,QAAQ,IACtDzC,IAAIxB,KAAKgE,OAEX,OADA7C,EAAIM,QAAQ,kBAAkBb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAKgE,MAAMjC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,WAAM8C,CACbtD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsB6C,QAAQ,IACtD3C,IAAIxB,KAAKkE,OAEX,OADA/C,EAAIM,QAAQ,kBAAkBb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAKkE,MAAMnC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,WAAMgD,CACbxD,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsB+C,QAAQ,IACtD7C,IAAIxB,KAAKoE,OAEX,OADAjD,EAAIM,QAAQ,sBAAsBb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBAC7D3B,KAAK8B,UAAU9B,KAAKoE,MAAMrC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,WAAMkD,CACb1D,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBiD,QAAQ,IACtD/C,IAAIxB,KAAKsE,OAEX,OADAnD,EAAIM,QAAQ,sBAAsBb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBAC7D3B,KAAK8B,UAAU9B,KAAKsE,MAAMvC,KAAMnB,EAAK,CAAA,KAAOQ,EAC3D,CAGQ,gBAAMoD,CACb5D,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBmD,aAAa,IAC3DjD,IAAIxB,KAAKwE,YAIX,OAHArD,EAAIM,QACF,8BAA8Bb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBAE3D3B,KAAK8B,UACjB9B,KAAKwE,WAAWzC,KAChBnB,EACA,CAAA,KACGQ,EAEN,CAGQ,aAAMsD,CACb9D,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBqD,UAAU,IACxDnD,IAAIxB,KAAK0E,SAEX,OADAvD,EAAIM,QAAQ,YAAYC,EAAMlB,UAAUR,KAAK2B,aAAaf,WAC5CZ,KAAK8B,UACjB9B,KAAK0E,QAAQ3C,KACbnB,EACA,CAAA,KACGQ,EAEN,EApGcwD,EAAA,CADdC,qGAiBAnF,EAAAoF,UAAA,UAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADC,sBAAAC,GAAAA,GAACD,EAAA9E,YAAA,oCAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADG,sBAAAD,GAAAA,GAACC,EAAAhF,YAAA,oCAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADI,sBAAAF,GAAAA,GAACE,EAAAjF,YAAA,oCAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADK,sBAAAH,GAAAA,GAACG,EAAAlF,YAAA,oCAQPR,EAAAoF,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADM,sBAAAJ,GAAAA,GAACI,EAAAnF,YAAA,oCAePR,EAAAoF,UAAA,aAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADO,sBAAAL,GAAAA,GAACK,EAAApF,YAAA,oCAaPR,EAAAoF,UAAA,UAAA,MC9QG,MAAOS,UAIH7F,EAgBR,WAAAE,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAhBEE,KAAUC,WAAGC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEyF,kBAAkB,EAClBC,gBAAgB,EAChBrF,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAY7B,CAEQ,QAAAoF,GACP,OAAUhE,EAAMlB,UAAUR,KAAK2B,OAAxB,eACR,ECvEG,MAAOgE,UAIHC,EACR,WAAAhG,CAAYC,EAAYgG,GACtB9F,MAAMF,EAASgG,EAChB,CAEkB,KAAAC,GACjB,MAAM,IAAIC,EACR,4IAEH,CAEkB,cAAAC,CAEjBC,KAEGhF,GAEH,MAAM,IAAI8E,EACR,4IAEH,EClBG,MAAOG,UAIHC,EACR,WAAAvG,CAAYC,EAAYqD,EAAUkD,EAActG,GAC9CC,MAAMF,EAASqD,EAAOkD,EAAMtG,EAC7B,CAEkB,kBAAMuG,CACvBC,KACGC,GAEH,MAAMC,EAAO7G,EAAW8G,SAASzG,KAAKF,MAAOE,KAAKH,QAAQ6G,OACpD5E,EAAY9B,KAAKkD,OACjBC,OAAEA,EAAMlC,KAAEA,EAAIW,OAAEA,GAAWE,EAC3B6E,EAAaC,OACjB,IAAItF,EAAsBc,WAAWd,EAAsBW,UAC3D,MAEF,IAAKkB,EAAO0D,MAAMF,GAChB,MAAM,IAAIZ,EACR,UAAU5C,qCAEdwD,EAAOG,UAAY,EACnB,MAEMC,EAAe,CAFD5D,EAAO6D,QAAQL,EAAQrF,EAAsBC,YAE3BN,GAChCgG,EAAuC,CAC3CpF,UAAWD,EAAOC,UAClBb,MAAOhB,KAAKoG,KACZrF,OAAQuF,EACRpF,SAAUlB,KAAKkH,WAGjBH,EAAaI,KAAKF,GAElB,MAAMG,QAAeZ,EAAK1E,aACpBiF,KACDR,GAEL,OAAOvG,KAAKqH,MAAMD,EACnB,CAES,OAAAE,CAAQC,GAChB,MAAM,IAAIxB,EACR,sGAEH,CAEQ,IAAAO,CACPA,EAAe,KACZrF,GAEH,OAAOlB,MAAMuG,KAAKA,KAASrF,EAC5B,QCjEUuG,SACaxH,KAAAyH,MAAQ,IAAIC,GAAoC,CAExE,UAAOC,CAAIpH,GACT,GAAIP,KAAKyH,MAAMG,IAAIrH,GAAM,OAAOP,KAAKyH,MAAME,IAAIpH,GAE/C,MAAUsH,MACR,6CAA6CtH,qCAEhD,CAED,WAAOuH,CAAKvH,GACV,GAAIP,KAAKyH,MAAMG,IAAIrH,GAAM,OAAOP,KAAKyH,MAAME,IAAIpH,GAE/C,MAAMwH,EAAY,IAAIP,EAAqBjH,GAE3C,OADAP,KAAKyH,MAAMO,IAAIzH,EAAKwH,GACb/H,KAAKyH,MAAME,IAAIpH,EACvB,CAED,YAAO0H,CAAM1H,GACPP,KAAKyH,MAAMG,IAAIrH,IACCP,KAAKyH,MAAME,IAAIpH,GACvB0H,OAEb,CAEO,yBAAOC,CAAmBC,GAChC,IACE,MAAMC,EAAsB,iBAARD,EAAmBE,KAAKC,MAAMH,GAAOA,EACzD,IAAKrF,MAAMC,QAAQqF,IAAuB,EAAdA,EAAKvF,OAAY,OAAO,KAEpD,MAAO0F,EAAWC,EAAcC,EAAUC,GAAcN,EACxD,MAAyB,iBAAdG,EAA+B,KAOnC,CAACA,EAAkBC,EAAPG,GAAsBF,EAJjB,iBAAfC,EACHE,EAAcC,YAAYH,GAC1BA,EAGP,CAAC,MACA,OAAO,IACR,CACF,CAQD,WAAA9I,CAA6BW,GAAAP,KAAGO,IAAHA,EAFrBP,KAAA8I,UAAgC,IAAIC,GAEA,CAE5C,MAAAC,GACE,YAAmBhG,IAAZhD,KAAKiJ,EACb,CAED,KAAAhB,GACE,GAAKjI,KAAKiJ,IAEgB,GAAtBjJ,KAAK8I,UAAU1C,KAGnB,IACEpG,KAAKkJ,YAAYC,OAClB,CAAS,QACRnJ,KAAKkJ,gBAAalG,EAClBhD,KAAKiJ,QAAKjG,EACVhD,KAAK8I,UAAUM,QACf5B,EAAqBC,MAAM4B,OAAOrJ,KAAKO,IAExC,CACF,CAMD,cAAA+I,CACEC,EACAC,GAIA,GAAIxJ,KAAKiJ,GAAI,OAEb,MAAM1I,EAAMP,KAAKO,IAEjBP,KAAKiJ,GAAK,IAAIQ,EAAgBlJ,EAAK,CACjCiJ,UACAE,YAAa,YAGf1J,KAAKkJ,WAAalJ,KAAKiJ,GAAGU,OAAO,CAC/BC,WAAY,OAGZC,eAAgB,EAAGC,YAEjBP,EAASQ,SAAgBD,GAAeE,SAAWF,GAAlCnB,KAEnBsB,gBAAiB,EAAGC,eAElBX,EAASQ,QAAQ,QAAQG,EAASC,SAEpCC,UAAYJ,IACV,MAAM7B,EACJ6B,GAA8B,iBAAZA,GAAwB,SAAUA,EAChDA,EAAQ5B,KACR4B,EAEAK,EAAQ7C,EAAqBU,mBAAmBC,GACjDkC,GACLd,EAASe,QAAQD,KAOtB,CAEO,WAAAE,CAAYhB,GAClBvJ,KAAK8I,UAAU0B,IAAIjB,EACpB,CAEO,cAAAkB,CAAelB,GACrBvJ,KAAK8I,UAAUO,OAAOE,EACvB,ECxHG,MAAOmB,UAAuBC,EAApC,WAAA/K,uBAKUI,KAAW4K,aAAG,EACd5K,KAAS6K,WAAG,CA6ErB,CAvEoB,gBAAMC,IACpB7J,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMuB,EAAgBuI,gBAAgB,IACxDvJ,IAAIxB,KAAK8K,YAEN9K,KAAKH,SAQVsB,EAAI6J,KACF,gBAAgBhL,KAAKH,oDAEvBG,KAAK4K,aAAc,QACb5K,KAAKsJ,kBAAkBlI,IAR3BD,EAAIM,QAAQ,4DASf,CAKD,oBAAM6H,IAAkBrI,GACtB,IAAKjB,KAAK4K,cAAgB5K,KAAKH,QAC7B,MAAUgI,MAAM,mDAElB,MAAM1G,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKsJ,iBAGjC2B,SAAEA,EAAQC,KAAEA,EAAIC,mBAAEA,GAAuBnL,KAAKH,QACjDuL,OAEH,IAAKD,EAAoB,MAAUtD,MAAM,mCAEzC,MAAMwD,EAAe,IAAIC,IACvBH,EACA,GAAGF,OAAcC,KACjBxF,WACF1F,KAAK+H,UAAYP,EAAqBM,KAAKuD,GAE3CrL,KAAK+H,UAAUuB,eAAe,CAC5BgB,QAASiB,MAAOlB,IACd,MAAO7J,EAAWgL,EAAWC,KAAOxK,GAAQoJ,GACtClJ,IAAEA,EAAGC,QAAEA,UAAmBpB,KAAKqB,OAAOJ,EAAMuK,GAAW,IAAOhK,IAClE,WAGFzB,MACG2L,gBACClL,EACAgL,EACAC,KACIrK,GAELuK,MAAOC,GAAMzK,EAAI2I,MAAM,+BAAgC8B,KAE5D7B,QAAU6B,GAAWzK,EAAI2I,MAAM8B,KAGjC5L,KAAK6K,WAAY,EACjB1J,EAAI6J,KACF,2CAA2ChL,KAAKH,cAAcwL,KAEjE,CAEQ,WAAMpD,GACbjI,KAAK+H,WAAWE,OACjB,ECxCG,SAAU4D,EACdC,EACAC,EACAC,EACAC,GAEA,MAAMlK,EAAOkK,GAA0BF,EAAOhK,KAC9C+J,EAAI/J,GAAQ,IAAImK,MAAMJ,EAAI/J,GAAO,CAC/BsF,MAAOkE,MAAOY,EAAQC,EAASC,KAC7B,IAAIC,EAAUH,EAAOI,KAAKH,KAAYC,GAOtC,OANIC,aAAmBE,UAASF,QAAgBA,GAEhDA,EAAUN,EAAOO,KAAKH,EAASE,GAE3BA,aAAmBE,UAASF,QAAgBA,GAEzCA,IAGb,CAiCM,MAAgBG,UAMZC,EACR,WAAA9M,CAAsBwL,EAAcuB,EAAiBjG,GACnD3G,MAAMqL,EAAQuB,EAASjG,GAGvB,MAAMkG,EAAO5M,KACb,CACEA,KAAK6M,OACL7M,KAAK8M,KACL9M,KAAK+M,OACL/M,KAAKqJ,OACLrJ,KAAKgN,UACLhN,KAAKiN,QACLjN,KAAKkN,UACLlN,KAAKmN,WACLC,QAASjK,IACT0I,EACE7L,KACAmD,EACCkK,GACCT,EAAKtJ,cAAciJ,KAAKK,OAAM5J,EAAWG,EAAOpB,KAAMsL,GACxDlK,EAAOpB,QAGXuL,EACEtN,KACA,IAAIiB,IAAgBA,EACpBjB,KAAKuD,QACL,CAAC8J,EAAU9K,KACT,MAAMgL,EAAUX,EAAKxB,OAAOmC,QAC5B,OAAKA,GACLA,EAAQH,QAASI,GAAMA,EAAEH,EAAK9K,IACvB8K,GAFcA,GAIvBrN,KAAKuD,QAAQxB,KAEhB,CAYkB,WAAM0L,CACvBjC,EACAkC,EACA7H,GAEA,OAAO9F,MAAM0N,MACXjC,EACAkC,EACAxN,OAAOC,OACL,CACEqJ,QAAS3D,EAAU2D,SAAW,CAAE,GAElC3D,GAGL,CAEkB,QAAA8E,GACjB,OAAO,IAAID,CACZ,CASQ,UAAAiD,GAGP,OAAOpI,CACR,CAYQ,OAAA+B,CACPoG,KACGzM,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKsH,SACjCF,EAASlH,OAAOC,OAAO,CAAE,EAAEuN,GAajC,OAZKA,EAAclL,EAAgBoL,YACjCzM,EAAI0M,MACF,0CAA2CH,EAAclL,EAAgBoL,WAE3E1N,OAAO4N,eAAe1G,EAAQ5E,EAAgBoL,SAAU,CACtDG,YAAY,EACZC,UAAU,EACVC,cAAc,EACd9L,MAAQuL,EAAclL,EAAgBoL,aAInC,CACLM,OAAQR,EACRjC,GAAIiC,EAAMhM,EAAMyM,GAAGT,EAAM9N,cAE5B,CAaQ,MAAAwO,CACPtC,EACAhM,EACA2L,KACGxK,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKoO,QACjCC,EAA0B,CAAA,EAC1BC,EACa,iBAAVxO,EAAqB4B,EAAMoE,MAAMuI,EAAIvO,GAAS,IAAIA,EAAMuO,GAEjElN,EAAI0M,MAAM,oBAAoBS,EAAE1O,YAAYmC,WAAW0J,KACvD,MAAM8C,EAA0B,iBAAVzO,EAAqB4B,EAAMiG,IAAI7H,GAASA,EAC9D,IAAKyO,EACH,MAAM,IAAIC,EACR,4CAA4C1O,GAEhD,MAAMsH,EAAS,IAAKmH,EAA0BzC,GACxC2C,EAAW3C,EAAItJ,EAAgBoL,UAarC,OAZIa,IACFtN,EAAI0M,MACF,iBAAiB7N,KAAK2M,oCAAoC2B,EAAE1O,YAAYmC,WAAW0J,MAAOgD,KAE5FvO,OAAO4N,eAAe1G,EAAQ5E,EAAgBoL,SAAU,CACtDG,YAAY,EACZE,cAAc,EACdD,UAAU,EACV7L,MAAOsM,KAIJrH,CACR,CAES,WAAAsH,CAA6BC,GACrC,MAAoB,iBAANA,EAAiBA,EAAIC,EAAYlN,EAAMlB,UAAUmO,GAChE,CAgDD,GAAApO,CACEC,EACAC,EACAC,GAEKA,GACCD,IAAeqC,MAAMC,QAAQtC,KAC/BC,EAAcD,EACdA,EAAa,IAIjBD,EAAYR,KAAK0O,YAAYlO,GAC7B,MAAMD,EAAM,IAAI+K,IACd,GAAGtL,KAAKoL,OAAOH,cAAcjL,KAAKoL,OAAOF,QAAQ1K,IAAYC,GAAcA,EAAWoC,OAAS,IAAKpC,EAAwBoO,KAAK,KAAS,MAa5I,OAXInO,GACFR,OAAO4O,QAAQpO,GAAa0M,QAAQ,EAAExM,EAAKuB,MACrCW,MAAMC,QAAQZ,GAChBA,EAAMiL,QAAS2B,GAAMxO,EAAIyO,aAAaC,OAAOrO,EAAKmO,EAAErJ,aAC1B,iBAAVvD,EAChB5B,EAAIyO,aAAaC,OAAOrO,EAAKyH,KAAK6G,UAAU/M,SAClB,IAAVA,GAChB5B,EAAIyO,aAAaC,OAAOrO,EAAKuB,EAAMuD,cAIlCnF,EAAImF,UACZ,CAiBS,aAAAyJ,CACRzB,EACAjC,GAEA,MAAM2D,EAAQ3D,EAAG/F,WACjB,GAAqB,iBAAVgI,EAAoB,MAAO,CAAC0B,GACvC,MAAMC,EAAW3N,EAAM2N,SAAS3B,EAAOhM,EAAMyM,GAAGT,IAChD,OAAK2B,EACED,EAAME,MAAMD,EAASE,WADN,CAACH,EAExB,CAED,aAAA9L,CACExD,EACAqD,EACAkK,GAEA,OAAIvN,GAASqG,EAAUqJ,iBAAiBnC,GAC/BnN,OAAOC,OAAO,CAAE,EAAEkN,EAAK,CAC5BjF,KAAMiF,EAAIjF,KAAKqH,IAAKC,GAAW,IAAI5P,EAAM4P,MAGtCrC,CACR,CA8ED,GAAAlF,CAAOwH,KAAgB1O,GACrB,MAAMG,QAAEA,EAAOmB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKmI,KAC1C/E,EAAMpD,KAAKqD,UAAUsM,EAAUpN,GACrC,OAAOvC,KAAKuD,QAAQH,KAAQhC,EAC7B,CAYQ,QAAAwO,CAASC,GAChB,OAAOrD,QAAQsD,OACb,IAAI/J,EACF,0FAGL,CAYQ,SAAAH,CACPC,GAEA,OAAO,IAAIF,EAAc3F,KAAM6F,EAChC,CAEQ,SAAAM,CACPjD,EACAkD,EACAtG,GAEA,OAAO,IAAIoG,EACTlG,KACAkD,EACAkD,EACAtG,EAEH,CAYD,cAAAkG,CAAeC,GACb,MAAM,IAAIF,EACR,yFAEH,CAED,iBAAOgK,CACLC,KAEG/O,GAEH,MAAMgP,EAAqB,iBAARD,EAAmBA,EAAMA,EAAIhG,QAChD,OAAIiG,EAAIC,SAASC,EAAcpO,OAASkO,EAAIC,SAAS,OAC5C,IAAIC,EAAcH,GACvBC,EAAIC,SAASE,EAAcrO,OAASkO,EAAIC,SAAS,OAC5C,IAAIE,EAAcJ,GACvBC,EAAIC,SAASG,EAAgBtO,OAASkO,EAAIC,SAAS,OAC9C,IAAIG,EAAgBL,GACzBC,EAAIC,SAASI,EAAgBvO,OAASkO,EAAIC,SAAS,OAC9C,IAAII,EAAgBN,GACzBC,EAAIC,SAASK,EAAWxO,MAAc,IAAIwO,EAAWP,GACrDC,EAAIC,SAASM,EAAYzO,MAAc,IAAIyO,EAAYR,GACvDC,EAAIC,SAASnK,EAAiBhE,MACzB,IAAIgE,EAAiBiK,GAC1BC,EAAIC,SAASO,EAAe1O,MAAc,IAAI0O,EAAeT,GAC7DC,EAAIC,SAASQ,EAAc3O,MAAc,IAAI2O,EAAcV,GAC3DC,EAAIC,SAASS,EAAmB5O,MAC3B,IAAI4O,EAAmBX,GAC5BC,EAAIC,SAASU,EAAe7O,MAAc,IAAI6O,EAAeZ,GAC7DC,EAAIC,SAASW,EAAgB9O,MACxB,IAAI8O,EAAgBb,GACzBC,EAAIC,SAASY,EAAmB/O,MAC3B,IAAI+O,EAAmBd,GACzB,IAAIxB,EAAcwB,EAC1B,CAED,iBAAgBe,GACdhR,MAAMgR,aA0CNC,EAAWxP,IAAIgB,EAAgByO,OAC5BC,OAAO,CACNC,UA3CWtB,GACN,CAAe/D,EAAasF,EAAYC,IAgCtChK,EACLiK,EAAeC,EAAS3Q,IAAI4B,EAAgByO,MAAOG,GAAOvB,GAC1DhL,IA/BO,CACLiH,EACA0F,EACAH,KAECA,EAA4ClP,MAAQ,IAAI+J,MACtDmF,EAA4ClP,MAC7C,CACE,WAAMkF,CACJ8E,EACAC,EACAnL,GAEA,MAAMuF,EAAO4F,GACPjL,IAAEA,EAAGC,QAAEA,UACLoF,EAAa,OAAEvF,EAAM0C,EAAcC,MAAM,IAC/CpC,IAAI4P,GAGN,OAFAjQ,EAAIM,QAAQ,8BAA8B0K,EAAOpK,MACjDZ,EAAIsQ,MAAM,cAAcpJ,KAAK6G,UAAUjO,EAAM,KAAM,IAC3CmL,EAAiCtK,UACvCqK,EAAOpK,QACJX,EAEN,GAGP,EAGKiG,CAILyE,EAAKsF,EAAMC,KAQdhK,OACJ,EAGHoF,EAAYsE,aChmBL,MAAMW,EAAe,QAEfC,GAAqC,CAChDtE,EACA9K,KAEA,GAAI8K,EAAI7D,SAAW6D,EAAI7D,QAAQ,kBAAmB,CAChD,IAAIoI,EACJ,IACEA,EAAUvJ,KAAKC,MAAM+E,EAAI7D,QAAQ,mBACjCtJ,OAAO4O,QAAQ8C,GAASxE,QAAQ,EAAExM,EAAKuB,MACrCA,EAAMiL,QAAS2B,GAAMxM,EAAIsP,YAAYjR,EAAKmO,KAE7C,CAAC,MAAOnD,GACPrJ,EAAIuP,OACDtQ,IAAImQ,IACJ7H,MACC,wCAAwCuD,EAAI7D,QAAQ,sBAAsBoC,IAE/E,CACF,GCuCG,MAAOmG,WAAyBtF,EAOpC,WAAA7M,CAAYwL,EAAoB1E,GAC9B3G,MAAMqL,EAAQsG,EAAchL,EAC7B,CAEkB,SAAAsL,GACjB,OAAO,IAAIC,EAAM,CACfC,QAAS,GAAGlS,KAAKoL,OAAOH,cAAcjL,KAAKoL,OAAOF,QAErD,CAQQ,SAAA7H,CACP8O,EACA5P,GAEA,IAAIW,EACAkP,EAEAD,aAAsBzO,GACxB0O,EAAUD,EACVjP,OAAQF,IAERE,EAAQiP,EACRC,EAAU7P,GAGZ,MAAMa,EAA0B,CAAA,EAChC,GAAIgP,EACF,IACEhP,EAAIoG,QAAU4I,EAAQzK,IAAI,YAAc,CAAA,CAEzC,CAAC,MAAOiE,GAER,CAUH,OARI1I,IACFE,EAAID,OAAS,MACbC,EAAI7C,IAAMP,KAAKO,IACb2C,EAAMvB,MACN,CAACa,EAAgBC,UAAWS,EAAMC,UAAYD,EAAMjC,MAAQ,IAC5DiC,EAAMtB,SAGHwB,CACR,CASQ,aAAMG,CACbC,KACGvC,GAEH,IAAI4E,EAAY,CAAA,EAChB,IACE,MAAMtD,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKuD,SACvCsC,EAAY7F,KAAKqD,UAAUd,EAE5B,CAAC,MAAOqJ,GAER,CAKD,aAHuB5L,KAAKqS,OAAO9O,QACjCrD,OAAOC,OAAO,CAAE,EAAEqD,EAASqC,GAG9B,CAEQ,aAAAvC,CACPxD,EACAqD,EACAkK,GAEA,IAAKA,EAAIlD,QAAUhH,IAAWX,EAAgBC,UAC5C,MAAM,IAAI+L,EAAc,6BAC1B,GAAInB,EAAIlD,QAAU,IAChB,MAAMnK,KAAK+P,WAAY1C,EAAIvD,OAAoBuD,EAAIlD,QACrD,OAAQhH,GACN,KAAKmP,EAAsBC,WAC3B,KAAKD,EAAsBE,SAC3B,KAAKF,EAAsBG,WAC3B,KAAKH,EAAsBI,WAC3B,KAAK/O,EAAcgP,OACnB,KAAKhP,EAAcC,KACnB,KAAKD,EAAciP,OACnB,KAAKjP,EAAckP,OACjB,OAAOxF,EAAIyF,KACb,KAAKxR,EAAsBc,QAC3B,KAAKd,EAAsBW,QAC3B,KAAKX,EAAsBC,QAC3B,KAAKD,EAAsBgB,YAC3B,KAAKE,EAAgBC,UACnB,OAAO1C,MAAMuD,cAAcxD,EAAOqD,EAAQkK,EAAIyF,MAChD,KAAKxR,EAAsBwC,SAC3B,KAAKxC,EAAsB2C,OAC3B,KAAK3C,EAAsB6C,OAC3B,KAAK7C,EAAsB+C,OAC3B,KAAK/C,EAAsBiD,OAG3B,KAAKjD,EAAsBmD,YAEzB,OAAO4I,EAAIyF,KACb,KAAKxR,EAAsBqD,SAEzB,GAAI7E,GAA6B,iBAAbuN,EAAIyF,MAAkC,OAAbzF,EAAIyF,KAAe,CAC9D,MAAM1L,EAA8B,CAAA,EACpC,IAAK,MAAOxG,EAAKuB,KAAUjC,OAAO4O,QAAQzB,EAAIyF,MAE1C1L,EAAOxG,GADLkC,MAAMC,QAAQZ,GACFA,EAAMsN,IAAKC,GAAW,IAAI5P,EAAM4P,IAEhCvN,EAGlB,OAAOiF,CACR,CACD,OAAOiG,EAAIyF,KACb,QACE,OAAOzF,EAEZ,CAWQ,YAAMR,CACbrM,EACAiL,EACAiC,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAK6M,QAC5C,IACE,MAAMtM,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAiB3B,OAhBApB,EAAIsQ,MACF,cAAclR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,YAEvD/S,KAAKuD,QACxB,CACEhD,MACA4C,OAAQ,OACRiF,KAAMC,KAAK6G,UACThP,OAAOC,OAAO,CAAE,EAAEuN,EAAO,CACvB,CAACsF,EAAUC,QAASzS,EAAUuB,WAG/BgR,GAELxQ,EAGH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,eAAMoB,CACblN,EACA2L,EACAiC,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKgN,WAC5C,IACE,MAAMzM,EAAMP,KAAKO,IAAIT,EAAO,CAAC,SACvBiT,EAAM/S,KAAKqD,UAAUd,GAI3B,OAHApB,EAAIsQ,MACF,cAAclR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,MAErE/S,KAAKuD,QACV,CACEhD,MACA4C,OAAQ,OACRiF,KAAMC,KAAK6G,UACTxB,EAAM+B,IAAKnB,GACTpO,OAAOC,OAAO,CAAE,EAAEmO,EAAG,CACnB,CAAC0E,EAAUC,QAASnT,EAAMiC,YAI7BgR,GAELxQ,EAEH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAUQ,UAAMkB,CACbtM,EACAiL,KACGxK,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAK8M,MAC5C,IACE,MAAMvM,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,eAAelR,aAAe8H,KAAK6G,UAAU6D,YAC1C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,SAAU4P,GAAOxQ,EAC3D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CACQ,aAAMqB,CACbzM,EACA0S,KACGjS,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKiN,SAC5C,IACE,MAAM1M,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAE0S,IAAKA,IAC3CH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,eAAelR,aAAe8H,KAAK6G,UAAU6D,YAC1C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,SAAU4P,GAAOxQ,EAC3D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAWQ,YAAMmB,CACbvM,EACAiL,EACAiC,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAK+M,QAC5C,IACE,MAAMxM,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAI3B,OAHApB,EAAIsQ,MACF,aAAalR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,YAE9D/S,KAAKuD,QAChB,CACEhD,MACA4C,OAAQ,MACRiF,KAAMC,KAAK6G,UACThP,OAAOC,OAAO,CAAE,EAAEuN,EAAO,CACvB,CAACsF,EAAUC,QAA+BzS,EAAUuB,WAGrDgR,GAELxQ,EAEH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,eAAMsB,CACb1M,EACA0S,EACAxF,KACGzM,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKkN,WAC5C,IACE,MAAM3M,EAAMP,KAAKO,IAAIC,EAAW,CAAC,SAC3BuS,EAAM/S,KAAKqD,UAAUd,GAI3B,OAHApB,EAAIsQ,MACF,aAAalR,UAAY8H,KAAK6G,UAAUxB,cAAkBrF,KAAK6G,UAAU6D,MAEpE/S,KAAKuD,QACV,CACEhD,MACA4C,OAAQ,MACRiF,KAAMC,KAAK6G,UACTxB,EAAM+B,IAAKnB,GACTpO,OAAOC,OAAO,CAAE,EAAEmO,EAAG,CACnB,CAAC0E,EAAUC,QAASzS,EAAUuB,YAIjCgR,GAELxQ,EAEH,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAUQ,YAAM,CACbpL,EACAiL,KACGxK,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKqJ,QAC5C,IACE,MAAM9I,EAAMP,KAAKO,IACfC,EACAR,KAAKmP,cAAc3O,EAAWiL,IAE1BsH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,kBAAkBlR,aAAe8H,KAAK6G,UAAU6D,YAC7C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,YAAa4P,GAAOxQ,EAC9D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,eAAMuB,CACb3M,EACA0S,KACGjS,GAEH,MAAME,IAAEA,EAAGoB,IAAEA,GAAQvC,KAAKqB,OAAOJ,EAAMjB,KAAKqJ,QAC5C,IACE,MAAM9I,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAE0S,IAAKA,IAC3CH,EAAM/S,KAAKqD,UAAUd,GAE3B,OADApB,EAAIsQ,MAAM,kBAAkBlR,aAAe8H,KAAK6G,UAAU6D,YAC7C/S,KAAKuD,QAAQ,CAAEhD,MAAK4C,OAAQ,YAAa4P,GAAOxQ,EAC9D,CAAC,MAAOqJ,GACP,MAAM5L,KAAK+P,WAAWnE,EACvB,CACF,CAEQ,UAAAmE,CAAgCC,KAAe/O,GACtD,OAAOwL,EAAYsD,WAAWC,KAAQ/O,EACvC,ECnbH8Q,GAAiBhB,aCaV,MAAMoC,GAAU,cAEVC,GAAe,cAE5B7B,EAAS8B,gBAAgBD,GAAcD"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpDispatcher = void 0;
4
+ const core_1 = require("@decaf-ts/core");
5
+ const event_1 = require("./event/index.cjs");
6
+ class HttpDispatcher extends core_1.Dispatch {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.initialized = false;
10
+ this.listening = false;
11
+ }
12
+ /**
13
+ * Called by the base Dispatch after observe(adapter).
14
+ * We patch the Adapter's internal ObserverHandler to track how many observers exist.
15
+ */
16
+ async initialize(...args) {
17
+ const { log, ctxArgs } = (await this.logCtx(args, core_1.PersistenceKeys.INITIALIZATION, true)).for(this.initialize);
18
+ if (!this.adapter) {
19
+ // Gracefully skip initialization when no adapter is observed yet.
20
+ // Some tests or setups may construct a Dispatch before calling observe().
21
+ // Instead of throwing, we no-op so that later observe() can proceed.
22
+ log.verbose(`No adapter observed for dispatch; skipping initialization`);
23
+ return;
24
+ }
25
+ log.info(`Initializing ${this.adapter}'s event Dispatch, but not listening yet.`);
26
+ this.initialized = true;
27
+ await this.startListening(...ctxArgs);
28
+ }
29
+ /**
30
+ * Enables the dispatcher. SSE will only open and start to listening for events if there is at least one observer.
31
+ */
32
+ async startListening(...args) {
33
+ if (!this.initialized || !this.adapter)
34
+ throw new Error("Cannot start listening before call initialize()");
35
+ const { log } = this.logCtx(args, this.startListening);
36
+ // log.info(`Initializing event listener for adapter ${this.adapter}.`);
37
+ const { protocol, host, eventsListenerPath } = this.adapter
38
+ .config;
39
+ if (!eventsListenerPath)
40
+ throw new Error("No eventsListenerPath specified");
41
+ const listeningUrl = new URL(eventsListenerPath, `${protocol}://${host}`).toString();
42
+ this.connector = event_1.ServerEventConnector.open(listeningUrl);
43
+ this.connector.startListening({
44
+ onEvent: async (event) => {
45
+ const [tableName, operation, id, ...args] = event;
46
+ const { log, ctxArgs } = (await this.logCtx(args, operation, true)).for("onEvent");
47
+ super
48
+ .updateObservers(tableName, operation, id, ...ctxArgs)
49
+ .catch((e) => log.error(`Failed to dispatch SSE event`, e));
50
+ },
51
+ onError: (e) => log.error(e),
52
+ });
53
+ this.listening = true;
54
+ log.info(`Initializing event listener for adapter ${this.adapter} at ${listeningUrl}.`);
55
+ }
56
+ async close() {
57
+ this.connector?.close();
58
+ }
59
+ }
60
+ exports.HttpDispatcher = HttpDispatcher;
61
+ //# sourceMappingURL=HttpDispatcher.js.map
@@ -0,0 +1,17 @@
1
+ import { Adapter, Context, ContextualArgs, Dispatch, MaybeContextualArg, PreparedStatement } from "@decaf-ts/core";
2
+ import { HttpConfig, HttpFlags } from "./types";
3
+ export declare class HttpDispatcher extends Dispatch<Adapter<HttpConfig, any, PreparedStatement<any>, Context<HttpFlags>>> {
4
+ private connector?;
5
+ private initialized;
6
+ private listening;
7
+ /**
8
+ * Called by the base Dispatch after observe(adapter).
9
+ * We patch the Adapter's internal ObserverHandler to track how many observers exist.
10
+ */
11
+ protected initialize(...args: MaybeContextualArg<any>): Promise<void>;
12
+ /**
13
+ * Enables the dispatcher. SSE will only open and start to listening for events if there is at least one observer.
14
+ */
15
+ startListening(...args: ContextualArgs<any>): Promise<void>;
16
+ close(): Promise<void>;
17
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpDispatcher.js","sourceRoot":"","sources":["../src/HttpDispatcher.ts"],"names":[],"mappings":";;;AAAA,yCAQwB;AACxB,6CAA4D;AAG5D,MAAa,cAAe,SAAQ,eAEnC;IAFD;;QAKU,gBAAW,GAAG,KAAK,CAAC;QACpB,cAAS,GAAG,KAAK,CAAC;IA6E5B,CAAC;IA3EC;;;OAGG;IACgB,KAAK,CAAC,UAAU,CACjC,GAAG,IAA6B;QAEhC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CACvB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAe,CAAC,cAAc,EAAE,IAAI,CAAC,CAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,kEAAkE;YAClE,0EAA0E;YAC1E,qEAAqE;YACrE,GAAG,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CACN,gBAAgB,IAAI,CAAC,OAAO,2CAA2C,CACxE,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,GAAG,IAAyB;QAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO;YACpC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAErE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,wEAAwE;QAExE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,OAAO;aACxD,MAAoB,CAAC;QAExB,IAAI,CAAC,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,kBAAkB,EAClB,GAAG,QAAQ,MAAM,IAAI,EAAE,CACxB,CAAC,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,4BAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;gBACpC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;gBAClD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CACrE,SAAS,CACV,CAAC;gBAEF,KAAK;qBACF,eAAe,CACd,SAAS,EACT,SAAS,EACT,EAAE,EACF,GAAI,OAA0C,CAC/C;qBACA,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,GAAG,CAAC,IAAI,CACN,2CAA2C,IAAI,CAAC,OAAO,OAAO,YAAY,GAAG,CAC9E,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAnFD,wCAmFC"}