@decaf-ts/for-http 0.3.49 → 0.3.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/for-http.cjs +1 -1
- package/dist/for-http.cjs.map +1 -1
- package/dist/for-http.js +1 -1
- package/dist/for-http.js.map +1 -1
- package/lib/HttpDispatcher.cjs +8 -2
- package/lib/HttpDispatcher.d.ts +0 -1
- package/lib/HttpDispatcher.js.map +1 -1
- package/lib/constants.cjs +2 -1
- package/lib/constants.d.ts +1 -0
- package/lib/constants.js.map +1 -1
- package/lib/esm/HttpDispatcher.d.ts +0 -1
- package/lib/esm/HttpDispatcher.js +8 -2
- package/lib/esm/HttpDispatcher.js.map +1 -1
- package/lib/esm/constants.d.ts +1 -0
- package/lib/esm/constants.js +1 -0
- package/lib/esm/constants.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ A lightweight HTTP adapter layer for decaf-ts that enables CRUD-style repositori
|
|
|
29
29
|
|
|
30
30
|
Documentation available [here](https://decaf-ts.github.io/for-http/)
|
|
31
31
|
|
|
32
|
-
Minimal size:
|
|
32
|
+
Minimal size: 6.1 KB kb gzipped
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
# decaf-ts/for-http — Detailed Description
|
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,c){"use strict";var d,l,p,u,h,g,f;class y 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 find(e,r=t.OrderDirection.ASC,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.FIND,!0)).for(this.find);return i.verbose(`finding ${a.Model.tableName(this.class)} by default query attributes`),await this.statement(this.find.name,e,r,...n)}async page(e,r=t.OrderDirection.ASC,s={offset:1,limit:10},...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,t.PreparedStatementKeys.PAGE,!0)).for(this.page);return n.verbose(`paging ${a.Model.tableName(this.class)} by default query attributes`),await this.statement(this.page.name,e,r,s,...o)}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);s.verbose("Executing prepared statement "+e);const p=await this.request(l,...i),u=this.adapter.parseResponse(this.class,e,p);return this.convertStatementResult(e,u,a)}convertStatementResult(e,r,s){return r?e===t.PreparedStatementKeys.FIND||e===t.PreparedStatementKeys.LIST_BY||e===t.PreparedStatementKeys.FIND_BY?Array.isArray(r)?r.map(e=>this.revertRecord(e,s)):r:e===t.PreparedStatementKeys.FIND_ONE_BY?this.revertRecord(r,s):e===t.PreparedStatementKeys.PAGE||e===t.PreparedStatementKeys.PAGE_BY?this.convertPageResult(r,s):r:r}convertPageResult(e,r){if(!e)return e;let s=e;if("string"==typeof s)try{s=t.Paginator.deserialize(s)}catch{return e}return t.Paginator.isSerializedPage(s)?{...s,data:s.data.map(e=>this.revertRecord(e,r))}:e}revertRecord(e,t){if(!e)return e;if(e instanceof this.class)return e;const r=a.Model.pk(this.class),s=a.Model.columnName(this.class,r),i=r??s,n=e[s]??e[i];if(void 0!==n)try{return this.adapter.revert(e,this.class,n,void 0,t)}catch{}return Object.assign(new this.class,e)}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",[String,String,void 0]),i.__metadata("design:returntype",Promise)],y.prototype,"find",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[String,String,Object,void 0]),i.__metadata("design:returntype",Promise)],y.prototype,"page",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,void 0]),i.__metadata("design:returntype",Promise)],y.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)],y.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)],y.prototype,"minOf",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)],y.prototype,"avgOf",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)],y.prototype,"sumOf",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)],y.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)],y.prototype,"groupOf",null);class m extends y{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 E 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 O 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)}}class b extends t.ContextualLoggedClass{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){super(),this.url=e,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){const e=this.log.for(this.close);if(this.es)if(this.listeners.size>0)e.warn("Skipping connector close because still has active listeners",{url:this.url,listeners:this.listeners.size});else try{e.info("ServerEventConnector closing event source connection for listening URL "+this.url),this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),b.cache.delete(this.url),e.info("ServerEventConnector closed connection and removed from active pool for URL "+this.url)}else e.debug(`Skipping connector close because connector for ${this.url} is not open`)}startListening(e,t){const r=this.log.for(this.startListening);this.es?r.info("ServerEventConnector already in pool and listening",{url:this.url,listeners:this.listeners.size}):(r.info("Opening event source connection for "+this.url),this.es=new o.EventSourcePlus(this.url,{headers:t,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{r.info("ServerEventConnector listening events from "+this.url)},onRequestError:({error:t})=>{r.error("ServerEventConnector error on request",{url:this.url,error:t}),e.onError((t?.message??t)+"")},onResponseError:({response:t})=>{r.error("ServerEventConnector received an error response",{url:this.url,status:t?.status,statusText:t?.statusText}),e.onError(`HTTP Error Response: ${t.status} ${t.statusText}`)},onMessage:t=>{const s=t&&"object"==typeof t&&"data"in t?t.data:t,a=b.parseReceivedEvent(s);a?e.onEvent(a):r.warn("Failed to parse SSE message",{url:this.url,raw:s})}}))}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}}class v 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.info(`HttpDispatcher initialized for adapter ${this.adapter}.`)):r.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...e){const{log:t}=this.logCtx(e,this.startListening);if(!this.initialized||!this.adapter)throw t.error("Cannot start listening: dispatcher is not initialized or adapter is missing",{initialized:this.initialized,hasAdapter:!!this.adapter}),Error("Cannot start listening before call initialize()");this.listening&&t.warn("startListening called but dispatcher is already listening",{adapter:this.adapter+""});const{protocol:r,host:s,eventsListenerPath:a}=this.adapter.config;if(!a)throw t.error("Cannot start listening: no eventsListenerPath specified",{protocol:r,host:s}),Error("No eventsListenerPath specified");const i=new URL(a,`${r}://${s}`).toString();t.info("Opening ServerEventConnector for url: "+i),this.connector=b.open(i),t.debug("ServerEventConnector opened successfully for url: "+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("ServerEventConnector failed to updateObservers",e))},onError:e=>{t.error("ServerEventConnector failed to dispatch event",{error:e,listeningUrl:i,adapter:this.adapter+""})}}),this.listening=!0,t.info(`HttpDispatcher is now listening at ${i}.`)}async close(...e){this.connector?.close(),this.listening=!1}}function S(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}})}e.DecafHeaders=void 0,(f=e.DecafHeaders||(e.DecafHeaders={})).PENDING_TASK="x-pending-task",f.CORRELATION_ID="x-correlation-id";class A extends t.Adapter{constructor(e,t,r){super(Object.assign({},e,{headers:void 0===e.headers||e.headers}),t,r);const a=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(e=>{S(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 v}repository(){return m}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))}toHeaders(t){const r={};if(this.config.headers){const s=t.getOrUndefined("correlationId");s&&(r[e.DecafHeaders.CORRELATION_ID]=s)}return{...r,...t.getOrUndefined("headers")||{}}}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 E(this,e)}Paginator(e,t,r){return new O(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 w="axios",_=(t,r)=>{if(t.headers&&t.headers[e.DecafHeaders.PENDING_TASK]){let s;try{s=JSON.parse(t.headers[e.DecafHeaders.PENDING_TASK]),Object.entries(s).forEach(([e,t])=>{t.forEach(t=>r.pushPending(e,t))})}catch(s){r.logger.for(_).error(`Failed to parse pending tasks header ${t.headers[e.DecafHeaders.PENDING_TASK]}: ${s}`)}}};class P extends A{constructor(e,t){super(e,w,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={};return a&&(i.headers={...i.headers||{},...this.toHeaders(a)}),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);const i=this.normalizeResponseBody(a);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 i;case t.PreparedStatementKeys.FIND:case t.PreparedStatementKeys.PAGE: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,i);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 i;case t.PreparedStatementKeys.GROUP_OF:if(e&&"object"==typeof i&&null!==i){const t={};for(const[r,s]of Object.entries(i))t[r]=Array.isArray(s)?s.map(t=>new e(t)):s;return t}return i;default:return i}}normalizeResponseBody(e){if(!e)return e;const t=void 0!==e.body?e.body:void 0!==e.data?e.data:e;if("string"==typeof t)try{return JSON.parse(t)}catch{return t}return t}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)}}P.decoration();const x="##VERSION##",N="##PACKAGE##";r.Metadata.registerLibrary(N,x),e.AxiosFlavour=w,e.AxiosHttpAdapter=P,e.HttpAdapter=A,e.HttpPaginator=O,e.HttpStatement=E,e.PACKAGE_NAME=N,e.RestRepository=y,e.RestService=m,e.ServerEventConnector=b,e.TaskResponseParser=_,e.VERSION=x,e.suffixMethod=S},"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);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,s,a,i,n,o,c){"use strict";var d,l,p,u,h,g,f;class y 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 find(e,r=t.OrderDirection.ASC,...s){const{log:i,ctxArgs:n}=(await this.logCtx(s,t.PreparedStatementKeys.FIND,!0)).for(this.find);return i.verbose(`finding ${a.Model.tableName(this.class)} by default query attributes`),await this.statement(this.find.name,e,r,...n)}async page(e,r=t.OrderDirection.ASC,s={offset:1,limit:10},...i){const{log:n,ctxArgs:o}=(await this.logCtx(i,t.PreparedStatementKeys.PAGE,!0)).for(this.page);return n.verbose(`paging ${a.Model.tableName(this.class)} by default query attributes`),await this.statement(this.page.name,e,r,s,...o)}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);s.verbose("Executing prepared statement "+e);const p=await this.request(l,...i),u=this.adapter.parseResponse(this.class,e,p);return this.convertStatementResult(e,u,a)}convertStatementResult(e,r,s){return r?e===t.PreparedStatementKeys.FIND||e===t.PreparedStatementKeys.LIST_BY||e===t.PreparedStatementKeys.FIND_BY?Array.isArray(r)?r.map(e=>this.revertRecord(e,s)):r:e===t.PreparedStatementKeys.FIND_ONE_BY?this.revertRecord(r,s):e===t.PreparedStatementKeys.PAGE||e===t.PreparedStatementKeys.PAGE_BY?this.convertPageResult(r,s):r:r}convertPageResult(e,r){if(!e)return e;let s=e;if("string"==typeof s)try{s=t.Paginator.deserialize(s)}catch{return e}return t.Paginator.isSerializedPage(s)?{...s,data:s.data.map(e=>this.revertRecord(e,r))}:e}revertRecord(e,t){if(!e)return e;if(e instanceof this.class)return e;const r=a.Model.pk(this.class),s=a.Model.columnName(this.class,r),i=r??s,n=e[s]??e[i];if(void 0!==n)try{return this.adapter.revert(e,this.class,n,void 0,t)}catch{}return Object.assign(new this.class,e)}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",[String,String,void 0]),i.__metadata("design:returntype",Promise)],y.prototype,"find",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[String,String,Object,void 0]),i.__metadata("design:returntype",Promise)],y.prototype,"page",null),i.__decorate([t.prepared(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,void 0]),i.__metadata("design:returntype",Promise)],y.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)],y.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)],y.prototype,"minOf",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)],y.prototype,"avgOf",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)],y.prototype,"sumOf",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)],y.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)],y.prototype,"groupOf",null);class m extends y{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 E 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 v 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)}}class O extends t.ContextualLoggedClass{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 O(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){super(),this.url=e,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){const e=this.log.for(this.close);if(this.es)if(this.listeners.size>0)e.warn("Skipping connector close because still has active listeners",{url:this.url,listeners:this.listeners.size});else try{e.info("ServerEventConnector closing event source connection for listening URL "+this.url),this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),O.cache.delete(this.url),e.info("ServerEventConnector closed connection and removed from active pool for URL "+this.url)}else e.debug(`Skipping connector close because connector for ${this.url} is not open`)}startListening(e,t){const r=this.log.for(this.startListening);this.es?r.info("ServerEventConnector already in pool and listening",{url:this.url,listeners:this.listeners.size}):(r.info("Opening event source connection for "+this.url),this.es=new o.EventSourcePlus(this.url,{headers:t,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{r.info("ServerEventConnector listening events from "+this.url)},onRequestError:({error:t})=>{r.error("ServerEventConnector error on request",{url:this.url,error:t}),e.onError((t?.message??t)+"")},onResponseError:({response:t})=>{r.error("ServerEventConnector received an error response",{url:this.url,status:t?.status,statusText:t?.statusText}),e.onError(`HTTP Error Response: ${t.status} ${t.statusText}`)},onMessage:t=>{const s=t&&"object"==typeof t&&"data"in t?t.data:t,a=O.parseReceivedEvent(s);a?e.onEvent(a):r.warn("Failed to parse SSE message",{url:this.url,raw:s})}}))}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}}e.DecafHeaders=void 0,(f=e.DecafHeaders||(e.DecafHeaders={})).PENDING_TASK="x-pending-task",f.CORRELATION_ID="x-correlation-id";const b="keepalive";class S extends t.Dispatch{constructor(){super(...arguments),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.info(`HttpDispatcher initialized for adapter ${this.adapter}.`)):r.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...e){const{log:t}=this.logCtx(e,this.startListening);if(!this.initialized||!this.adapter)throw t.error("Cannot start listening: dispatcher is not initialized or adapter is missing",{initialized:this.initialized,hasAdapter:!!this.adapter}),Error("Cannot start listening before call initialize()");this.listening&&t.warn("startListening called but dispatcher is already listening",{adapter:this.adapter+""});const{protocol:r,host:s,eventsListenerPath:a}=this.adapter.config;if(!a)throw t.error("Cannot start listening: no eventsListenerPath specified",{protocol:r,host:s}),Error("No eventsListenerPath specified");const i=new URL(a,`${r}://${s}`).toString();t.info("Opening ServerEventConnector for url: "+i),this.connector=O.open(i),t.debug("ServerEventConnector opened successfully for url: "+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");r!==b?super.updateObservers(t,r,s,...n).catch(e=>i.error("ServerEventConnector failed to updateObservers",e)):i.debug("keep alive received - discarding")},onError:e=>{t.error("ServerEventConnector failed to dispatch event",{error:e,listeningUrl:i,adapter:this.adapter+""})}}),this.listening=!0,t.info(`HttpDispatcher is now listening at ${i}.`)}async close(...e){this.connector?.close(),this.listening=!1}}function A(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 w extends t.Adapter{constructor(e,t,r){super(Object.assign({},e,{headers:void 0===e.headers||e.headers}),t,r);const a=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(e=>{A(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 S}repository(){return m}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))}toHeaders(t){const r={};if(this.config.headers){const s=t.getOrUndefined("correlationId");s&&(r[e.DecafHeaders.CORRELATION_ID]=s)}return{...r,...t.getOrUndefined("headers")||{}}}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 E(this,e)}Paginator(e,t,r){return new v(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()}}w.decoration();const _="axios",P=(t,r)=>{if(t.headers&&t.headers[e.DecafHeaders.PENDING_TASK]){let s;try{s=JSON.parse(t.headers[e.DecafHeaders.PENDING_TASK]),Object.entries(s).forEach(([e,t])=>{t.forEach(t=>r.pushPending(e,t))})}catch(s){r.logger.for(P).error(`Failed to parse pending tasks header ${t.headers[e.DecafHeaders.PENDING_TASK]}: ${s}`)}}};class x extends w{constructor(e,t){super(e,_,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={};return a&&(i.headers={...i.headers||{},...this.toHeaders(a)}),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);const i=this.normalizeResponseBody(a);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 i;case t.PreparedStatementKeys.FIND:case t.PreparedStatementKeys.PAGE: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,i);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 i;case t.PreparedStatementKeys.GROUP_OF:if(e&&"object"==typeof i&&null!==i){const t={};for(const[r,s]of Object.entries(i))t[r]=Array.isArray(s)?s.map(t=>new e(t)):s;return t}return i;default:return i}}normalizeResponseBody(e){if(!e)return e;const t=void 0!==e.body?e.body:void 0!==e.data?e.data:e;if("string"==typeof t)try{return JSON.parse(t)}catch{return t}return t}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 w.parseError(e,...t)}}x.decoration();const N="##VERSION##",T="##PACKAGE##";r.Metadata.registerLibrary(T,N),e.AxiosFlavour=_,e.AxiosHttpAdapter=x,e.HttpAdapter=w,e.HttpPaginator=v,e.HttpStatement=E,e.KeepAliveOperation=b,e.PACKAGE_NAME=T,e.RestRepository=y,e.RestService=m,e.ServerEventConnector=O,e.TaskResponseParser=P,e.VERSION=N,e.suffixMethod=A},"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
|
package/dist/for-http.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-http.cjs","sources":["../src/constants.ts","../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,null],"names":["DecafHeaders","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","find","OrderDirection","ASC","FIND","page","PAGE","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","response","request","parsed","parseResponse","convertStatementResult","result","map","record","revertRecord","convertPageResult","serialization","Paginator","deserialize","isSerializedPage","data","pkAttr","pk","pkKey","columnName","fallback","id","revert","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","size","pagePrepared","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","apply","prepare","rawStatement","ServerEventConnector","ContextualLoggedClass","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","listeners","Set","isOpen","es","warn","info","controller","abort","clear","delete","debug","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","status","statusText","onMessage","event","onEvent","addListener","add","removeListener","HttpDispatcher","Dispatch","initialized","listening","initialize","INITIALIZATION","hasAdapter","protocol","host","eventsListenerPath","config","listeningUrl","URL","async","operation","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","ob","m","constr","InternalError","metadata","toTableName","t","toKebabCase","toHeaders","fromCtx","correlationId","getOrUndefined","CORRELATION_ID","join","entries","v","searchParams","append","stringify","extractIdArgs","idStr","composed","split","separator","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","AxiosFlavour","TaskResponseParser","PENDING_TASK","pending","pushPending","logger","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","body","normalizeResponseBody","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","candidate","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"0EAAYA,ECkDN,MAAOC,UAIHC,EAAAA,WAOR,WAAAC,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAPEE,KAAAC,WAAaC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEK,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAK9B,CAWA,GAAAC,CACEC,EACAC,EACAC,GAEA,OAAOV,KAAKH,QAAQU,IAAIC,EAAWC,EAAmBC,EACxD,CAES,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,QAAMlB,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,EAEP,CAES,YAAMY,CACbpB,EACAC,KACGI,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBW,SAAS,IACvDT,IAAIxB,KAAKgC,QAIX,OAHAb,EAAIM,QACF,WAAWC,EAAAA,MAAMlB,UAAUR,KAAK2B,aAAaf,KAAiBC,WAElDb,KAAK8B,UACjB9B,KAAKgC,OAAOD,KACZnB,EACA,CAAEiB,UAAWhB,MACVO,EAEP,CAES,YAAMc,CACbtB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBc,SAAS,IACvDZ,IAAIxB,KAAKkC,QAIX,OAHAf,EAAIM,QACF,WAAWC,EAAAA,MAAMlB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKkC,OAAOH,KACZnB,EACAuB,EACA,MACGf,EAEP,CAES,eAAMiB,CACbzB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBgB,aAAa,IAC3Dd,IAAIxB,KAAKqC,WAIX,OAHAlB,EAAIM,QACF,WAAWC,EAAAA,MAAMlB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKqC,UAAUN,KACfnB,EACAuB,EACA,MACGf,EAEP,CAGS,UAAMmB,CACbJ,EACAtB,EAAwB2B,EAAAA,eAAeC,OACpCxB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBoB,MAAM,IACpDlB,IAAIxB,KAAKuC,MAIX,OAHApB,EAAIM,QACF,WAAWC,EAAAA,MAAMlB,UAAUR,KAAK2B,4CAEpB3B,KAAK8B,UACjB9B,KAAKuC,KAAKR,KACVI,EACAtB,KACGO,EAEP,CAGe,UAAAuB,CACbR,EACAN,EAA4BW,EAAAA,eAAeC,IAC3C3B,EAA+C,CAC7CC,OAAQ,EACRC,MAAO,OAENC,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBsB,MAAM,IACpDpB,IAAIxB,KAAK2C,MAIX,OAHAxB,EAAIM,QACF,UAAUC,EAAAA,MAAMlB,UAAUR,KAAK2B,4CAEnB3B,KAAK8B,UACjB9B,KAAK2C,KAAKZ,KACVI,EACAN,EACAf,KACGM,EAEP,CAES,eAAMU,CACbC,KACGd,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,EAAGzB,QAAEA,UACVpB,KAAKqB,OAAOJ,EAAM6B,EAAAA,gBAAgBC,WAAW,IACnDvB,IAAIxB,KAAK8B,WACLkB,EAAU5B,EAAQ6B,MAAM,GAAG,GAC3BC,EAAUF,EAAQA,EAAQG,OAAS,GAKnCvB,EAHe,iBAAZsB,GACK,OAAZA,GACCE,MAAMC,QAAQH,QAGbI,EADCN,EAAQO,MAEPC,EAAgC,CACpC7B,MAAO3B,KAAK2B,MACZV,KAAM+B,EACNS,OAAQ1B,EACRH,OAAQA,GAEJ8B,EAAM1D,KAAKH,QAAQ8D,UAAUH,EAAOX,GAC1C1B,EAAIM,QAAQ,gCAAgCM,GAC5C,MAAM6B,QAAiB5D,KAAK6D,QAAQH,KAAQtC,GACtC0C,EAAS9D,KAAKH,QAAQkE,cAC1B/D,KAAK2B,MACLI,EACA6B,GAEF,OAAO5D,KAAKgE,uBAAuBjC,EAAM+B,EAAQjB,EACnD,CAEQ,sBAAAmB,CACNjC,EACAkC,EACApB,GAEA,OAAKoB,EAGHlC,IAAST,EAAAA,sBAAsBoB,MAC/BX,IAAST,EAAAA,sBAAsBW,SAC/BF,IAAST,EAAAA,sBAAsBc,QAExBgB,MAAMC,QAAQY,GACjBA,EAAOC,IAAKC,GAAWnE,KAAKoE,aAAaD,EAAQtB,IACjDoB,EAGFlC,IAAST,EAAAA,sBAAsBgB,YAC1BtC,KAAKoE,aAAaH,EAAQpB,GAIjCd,IAAST,EAAAA,sBAAsBsB,MAC/Bb,IAAST,EAAAA,sBAAsBC,QAExBvB,KAAKqE,kBAAkBJ,EAAQpB,GAGjCoB,EAvBaA,CAwBtB,CAEQ,iBAAAI,CACN1B,EACAE,GAEA,IAAKF,EAAM,OAAOA,EAElB,IAAI2B,EAA4C3B,EAChD,GAA6B,iBAAlB2B,EACT,IACEA,EAAgBC,EAAAA,UAAUC,YAAeF,EAC3C,CAAE,MACA,OAAO3B,CACT,CAGF,OAAI4B,EAAAA,UAAUE,iBAAiBH,GACtB,IACFA,EACHI,KAAMJ,EAAcI,KAAKR,IAAKC,GAC5BnE,KAAKoE,aAAaD,EAAQtB,KAKzBF,CACT,CAEQ,YAAAyB,CAAaD,EAAatB,GAChC,IAAKsB,EAAQ,OAAOA,EACpB,GAAIA,aAAkBnE,KAAK2B,MAAO,OAAOwC,EAEzC,MAAMQ,EAASjD,EAAAA,MAAMkD,GAAG5E,KAAK2B,OACvBkD,EAAQnD,EAAAA,MAAMoD,WAAW9E,KAAK2B,MAAOgD,GACrCI,EAAYJ,GAAqBE,EACjCG,EAAKb,EAAOU,IAAUV,EAAOY,GAEnC,QAAkB,IAAPC,EACT,IACE,OAAOhF,KAAKH,QAAQoF,OAAOd,EAAQnE,KAAK2B,MAAOqD,OAAI1B,EAAWT,EAChE,CAAE,MAEF,CAGF,OAAO3C,OAAOC,OAAO,IAAIH,KAAK2B,MAASwC,EACzC,CAEA,aAAMN,CACJqB,KACGjE,GAEH,IAAIkE,EAGFA,EADElE,EAAKkC,QAAUlC,EAAKA,EAAKkC,OAAS,aAAciC,UAC9BpF,KAAKqB,OAAOJ,EAAMjB,KAAK6D,gBAGnC7D,KAAKqB,OAAOJ,EAAMoE,EAAAA,cAAcC,MAAM,IAC5C9D,IAAIxB,KAAK6D,SAEb,MAAMzC,QAAEA,GAAY+D,EAEpB,OAAOnF,KAAKH,QAAQgE,QAAWqB,KAAY9D,EAC7C,CAGS,aAAMmE,CACb3E,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBkE,UAAU,IACxDhE,IAAIxB,KAAKuF,SACXpE,EAAIM,QACF,YAAYC,EAAAA,MAAMlB,UAAUR,KAAK2B,SAASf,EAAM,OAAOA,EAAkB,MAE3E,MAAM6E,EAAkB7E,EAAM,CAACA,EAAK,CAAA,GAAM,CAAC,IAC3C,aAAcZ,KAAK8B,UACjB9B,KAAKuF,QAAQxD,QACV0D,KACArE,EAEP,CAGS,WAAMsE,CACb9E,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBqE,QAAQ,IACtDnE,IAAIxB,KAAK0F,OAEX,OADAvE,EAAIM,QAAQ,kBAAkBb,QAAoBc,EAAAA,MAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAK0F,MAAM3D,KAAMnB,EAAK,MAAOQ,EAC5D,CAGS,WAAMwE,CACbhF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsBuE,QAAQ,IACtDrE,IAAIxB,KAAK4F,OAEX,OADAzE,EAAIM,QAAQ,kBAAkBb,QAAoBc,EAAAA,MAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAK4F,MAAM7D,KAAMnB,EAAK,MAAOQ,EAC5D,CAGS,WAAM0E,CACblF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsByE,QAAQ,IACtDvE,IAAIxB,KAAK8F,OAEX,OADA3E,EAAIM,QAAQ,sBAAsBb,QAAoBc,EAAAA,MAAMlB,UAAUR,KAAK2B,gBAC7D3B,KAAK8B,UAAU9B,KAAK8F,MAAM/D,KAAMnB,EAAK,MAAOQ,EAC5D,CAGS,WAAM4E,CACbpF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsB2E,QAAQ,IACtDzE,IAAIxB,KAAKgG,OAEX,OADA7E,EAAIM,QAAQ,sBAAsBb,QAAoBc,EAAAA,MAAMlB,UAAUR,KAAK2B,gBAC7D3B,KAAK8B,UAAU9B,KAAKgG,MAAMjE,KAAMnB,EAAK,MAAOQ,EAC5D,CAGS,gBAAM8E,CACbtF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsB6E,aAAa,IAC3D3E,IAAIxB,KAAKkG,YAIX,OAHA/E,EAAIM,QACF,8BAA8Bb,QAAoBc,EAAAA,MAAMlB,UAAUR,KAAK2B,gBAE3D3B,KAAK8B,UACjB9B,KAAKkG,WAAWnE,KAChBnB,EACA,MACGQ,EAEP,CAGS,aAAMgF,CACbxF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAAA,sBAAsB+E,UAAU,IACxD7E,IAAIxB,KAAKoG,SAEX,OADAjF,EAAIM,QAAQ,YAAYC,QAAMlB,UAAUR,KAAK2B,aAAaf,WAC5CZ,KAAK8B,UACjB9B,KAAKoG,QAAQrE,KACbnB,EACA,MACGQ,EAEP,EAlRekF,EAAAA,WAAA,CADdC,sJAkBA7G,EAAA8G,UAAA,OAAA,MAGcF,EAAAA,WAAA,CADdC,6JAuBA7G,EAAA8G,UAAA,OAAA,MAoIcF,EAAAA,WAAA,CADdC,+IAiBA7G,EAAA8G,UAAA,UAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADC,sBAAAC,GAAAA,GAACD,EAAAxG,YAAA,+CAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADG,sBAAAD,GAAAA,GAACC,EAAA1G,YAAA,+CAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADI,sBAAAF,GAAAA,GAACE,EAAA3G,YAAA,+CAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADK,sBAAAH,GAAAA,GAACG,EAAA5G,YAAA,+CAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADM,sBAAAJ,GAAAA,GAACI,EAAA7G,YAAA,+CAePR,EAAA8G,UAAA,aAAA,MAGcF,EAAAA,WAAA,CADdC,kDAEME,EAAAA,WAAA,oBAAA,CAAC,mBAADO,sBAAAL,GAAAA,GAACK,EAAA9G,YAAA,+CAaPR,EAAA8G,UAAA,UAAA,MC5YG,MAAOS,UAIHvH,EAgBR,WAAAE,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAhBEE,KAAAC,WAAaC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEmH,kBAAkB,EAClBC,gBAAgB,EAChB/G,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAY9B,CAES,QAAA8G,GACP,OAAU1F,EAAAA,MAAMlB,UAAUR,KAAK2B,OAAxB,eACT,ECvEI,MAAO0F,UAIHC,EAAAA,UACR,WAAA1H,CAAYC,EAAY0H,GACtBxH,MAAMF,EAAS0H,EACjB,CAEmB,KAAAC,GACjB,MAAM,IAAIC,EAAAA,iBACR,4IAEJ,CAEmB,cAAAC,CAEjBC,KAEG1G,GAEH,MAAM,IAAIwG,EAAAA,iBACR,4IAEJ,EClBI,MAAOG,UAIHrD,EAAAA,UACR,WAAA3E,CAAYC,EAAY2D,EAAUqE,EAAc/H,GAC9CC,MAAMF,EAAS2D,EAAOqE,EAAM/H,EAC9B,CAEmB,kBAAMgI,CACvBnF,KACGoF,GAEH,MAAMC,EAAOrI,EAAAA,WAAWsI,SAASjI,KAAKF,MAAOE,KAAKH,QAAQqI,OACpDpG,EAAY9B,KAAKwD,OACjBC,OAAEA,EAAMxC,KAAEA,EAAIW,OAAEA,GAAWE,EAC3BqG,EAAaC,OACjB,IAAI9G,EAAAA,sBAAsBc,WAAWd,EAAAA,sBAAsBW,UAC3D,MAEF,IAAKwB,EAAO4E,MAAMF,GAChB,MAAM,IAAIV,EAAAA,iBACR,UAAUhE,qCAEd0E,EAAOG,UAAY,EACnB,MAEMC,EAAe,CAFD9E,EAAO+E,QAAQL,EAAQ7G,EAAAA,sBAAsBC,YAE3BN,GAChCwH,EAAuC,CAC3C5G,UAAWD,EAAOC,UAClBb,MAAOhB,KAAK6H,KACZ9G,OAAQ4B,EACRzB,SAAUlB,KAAK0I,WAGjBH,EAAaI,KAAKF,GAElB,MAAMxE,QAAe+D,EAAKlG,aACpByG,KACDR,GAEL,OAAO/H,KAAK4I,MAAM3E,EACpB,CAEU,OAAA4E,CAAQC,GAChB,MAAM,IAAIrB,EAAAA,iBACR,sGAEJ,CAES,IAAA9E,CACPA,EAAe,KACZ1B,GAEH,OAAOlB,MAAM4C,KAAKA,KAAS1B,EAC7B,EChEI,MAAO8H,UAA6BC,EAAAA,6BAChBhJ,KAAAiJ,MAAQ,IAAIC,GAAoC,CAExE,UAAOC,CAAI5I,GACT,GAAIP,KAAKiJ,MAAMG,IAAI7I,GAAM,OAAOP,KAAKiJ,MAAME,IAAI5I,GAE/C,MAAU8I,MACR,6CAA6C9I,qCAEjD,CAEA,WAAO+I,CAAK/I,GACV,GAAIP,KAAKiJ,MAAMG,IAAI7I,GAAM,OAAOP,KAAKiJ,MAAME,IAAI5I,GAE/C,MAAMgJ,EAAY,IAAIR,EAAqBxI,GAE3C,OADAP,KAAKiJ,MAAMO,IAAIjJ,EAAKgJ,GACbvJ,KAAKiJ,MAAME,IAAI5I,EACxB,CAEA,YAAOkJ,CAAMlJ,GACPP,KAAKiJ,MAAMG,IAAI7I,IACCP,KAAKiJ,MAAME,IAAI5I,GACvBkJ,OAEd,CAEQ,yBAAOC,CAAmBC,GAChC,IACE,MAAMjF,EAAsB,iBAARiF,EAAmBC,KAAKC,MAAMF,GAAOA,EACzD,IAAKvG,MAAMC,QAAQqB,IAAuB,EAAdA,EAAKvB,OAAY,OAAO,KAEpD,MAAO2G,EAAWC,EAAcC,EAAUC,GAAcvF,EACxD,MAAyB,iBAAdoF,EAA+B,KAOnC,CAACA,EAAkBC,EAAPG,GAAsBF,EAJjB,iBAAfC,EACHE,EAAAA,cAAc3F,YAAYyF,GAC1BA,EAGR,CAAE,MACA,OAAO,IACT,CACF,CAQA,WAAArK,CAA6BW,GAC3BR,QAD2BC,KAAAO,IAAAA,EAFrBP,KAAAoK,UAAgC,IAAIC,GAI5C,CAEA,MAAAC,GACE,YAAmBhH,IAAZtD,KAAKuK,EACd,CAEA,KAAAd,GACE,MAAMtI,EAAMnB,KAAKmB,IAAIK,IAAIxB,KAAKyJ,OAE9B,GAAKzJ,KAAKuK,GAOV,GAAIvK,KAAKoK,UAAUvC,KAAO,EACxB1G,EAAIqJ,KAAK,8DAA+D,CACtEjK,IAAKP,KAAKO,IACV6J,UAAWpK,KAAKoK,UAAUvC,YAM9B,IACE1G,EAAIsJ,KACF,0EAA0EzK,KAAKO,KAEjFP,KAAK0K,YAAYC,OACnB,SACE3K,KAAK0K,gBAAapH,EAClBtD,KAAKuK,QAAKjH,EACVtD,KAAKoK,UAAUQ,QACf7B,EAAqBE,MAAM4B,OAAO7K,KAAKO,KACvCY,EAAIsJ,KACF,+EAA+EzK,KAAKO,IAExF,MA5BEY,EAAI2J,MACF,kDAAkD9K,KAAKO,kBA4B7D,CAMA,cAAAwK,CACEC,EACAC,GAIA,MAAM9J,EAAMnB,KAAKmB,IAAIK,IAAIxB,KAAK+K,gBAE1B/K,KAAKuK,GACPpJ,EAAIsJ,KAAK,qDAAsD,CAC7DlK,IAAKP,KAAKO,IACV6J,UAAWpK,KAAKoK,UAAUvC,QAK9B1G,EAAIsJ,KAAK,uCAAuCzK,KAAKO,KACrDP,KAAKuK,GAAK,IAAIW,kBAAgBlL,KAAKO,IAAK,CACtC0K,UACAE,YAAa,YAGfnL,KAAK0K,WAAa1K,KAAKuK,GAAGa,OAAO,CAC/BC,WAAY,KACVlK,EAAIsJ,KAAK,8CAA8CzK,KAAKO,MAE9D+K,eAAgB,EAAGC,YACjBpK,EAAIoK,MAAM,wCAAyC,CACjDhL,IAAKP,KAAKO,IACVgL,UAEFP,EAASQ,SAAgBD,GAAeE,SAAWF,GAAlCrB,KAEnBwB,gBAAiB,EAAG9H,eAClBzC,EAAIoK,MAAM,kDAAmD,CAC3DhL,IAAKP,KAAKO,IACVoL,OAAQ/H,GAAU+H,OAClBC,WAAYhI,GAAUgI,aAExBZ,EAASQ,QACP,wBAAwB5H,EAAS+H,UAAU/H,EAASgI,eAGxDC,UAAYJ,IACV,MAAM9B,EACJ8B,GAA8B,iBAAZA,GAAwB,SAAUA,EAChDA,EAAQ/G,KACR+G,EAEAK,EAAQ/C,EAAqBW,mBAAmBC,GACjDmC,EAOLd,EAASe,QAAQD,GANf3K,EAAIqJ,KAAK,8BAA+B,CACtCjK,IAAKP,KAAKO,IACVoJ,WAOV,CAEQ,WAAAqC,CAAYhB,GAClBhL,KAAKoK,UAAU6B,IAAIjB,EACrB,CAEQ,cAAAkB,CAAelB,GACrBhL,KAAKoK,UAAUS,OAAOG,EACxB,EC/JI,MAAOmB,UAAuBC,EAAAA,SAApC,WAAAxM,uBAKUI,KAAAqM,aAAc,EACdrM,KAAAsM,WAAY,CAwHtB,CAlHqB,gBAAMC,IACpBtL,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAM6B,EAAAA,gBAAgB0J,gBAAgB,IACxDhL,IAAIxB,KAAKuM,YAENvM,KAAKH,SAQVsB,EAAIsJ,KACF,gBAAgBzK,KAAKH,oDAEvBG,KAAKqM,aAAc,QACbrM,KAAK+K,kBAAkB3J,GAE7BD,EAAIsJ,KAAK,0CAA0CzK,KAAKH,aAVtDsB,EAAIM,QAAQ,4DAWhB,CAKA,oBAAMsJ,IAAkB9J,GACtB,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAK+K,gBACvC,IAAK/K,KAAKqM,cAAgBrM,KAAKH,QAQ7B,MAPAsB,EAAIoK,MACF,8EACA,CACEc,YAAarM,KAAKqM,YAClBI,aAAczM,KAAKH,UAGbwJ,MAAM,mDAGdrJ,KAAKsM,WACPnL,EAAIqJ,KAAK,4DAA6D,CACpE3K,QAAgBG,KAAKH,QAAZqK,KAIb,MAAMwC,SAAEA,EAAQC,KAAEA,EAAIC,mBAAEA,GAAuB5M,KAAKH,QACjDgN,OAEH,IAAKD,EAKH,MAJAzL,EAAIoK,MAAM,0DAA2D,CACnEmB,WACAC,SAEQtD,MAAM,mCAGlB,MAAMyD,EAAe,IAAIC,IACvBH,EACA,GAAGF,OAAcC,KACjBvF,WAEFjG,EAAIsJ,KAAK,yCAAyCqC,GAClD9M,KAAKuJ,UAAYR,EAAqBO,KAAKwD,GAE3C3L,EAAI2J,MACF,qDAAqDgC,GAEvD9M,KAAKuJ,UAAUwB,eAAe,CAC5BgB,QAASiB,MAAOlB,IACd,MAAOtL,EAAWyM,EAAWjI,KAAO/D,GAAQ6K,GACtC3K,IAAEA,EAAGC,QAAEA,UAAmBpB,KAAKqB,OAAOJ,EAAMgM,GAAW,IAAOzL,IAClE,WAGFzB,MACGmN,gBACC1M,EACAyM,EACAjI,KACI5D,GAEL+L,MAAOC,GACNjM,EAAIoK,MAAM,iDAAkD6B,KAGlE5B,QAAU4B,IACRjM,EAAIoK,MAAM,gDAAiD,CACzDA,MAAO6B,EACPN,eACAjN,QAAgBG,KAAKH,QAAZqK,QAKflK,KAAKsM,WAAY,EACjBnL,EAAIsJ,KAAK,sCAAsCqC,KACjD,CAES,WAAMrD,IACVxI,GAWHjB,KAAKuJ,WAAWE,QAChBzJ,KAAKsM,WAAY,CACnB,EClFI,SAAUe,EACdC,EACAC,EACAC,EACAC,GAEA,MAAM1L,EAAO0L,GAA0BF,EAAOxL,KAC9CuL,EAAIvL,GAAQ,IAAI2L,MAAMJ,EAAIvL,GAAO,CAC/B6G,MAAOoE,MAAOW,EAAQC,EAASC,KAC7B,IAAIC,EAAUH,EAAOI,KAAKH,KAAYC,GAOtC,OANIC,aAAmBE,UAASF,QAAgBA,GAEhDA,EAAUN,EAAOO,KAAKH,EAASE,GAE3BA,aAAmBE,UAASF,QAAgBA,GAEzCA,IAGb,CP1EYrO,EAAAA,kBAAAA,GAAAA,EAAAA,EAAAA,eAAAA,eAAY,CAAA,IACtB,aAAA,iBACAA,EAAA,eAAA,mBOyGI,MAAgBwO,UAMZC,EAAAA,QACR,WAAAtO,CAAsBiN,EAAcsB,EAAiBjG,GACnDnI,MACEG,OAAOC,OAAO,CAAA,EAAI0M,EAAQ,CACxB5B,aAAmC,IAAnB4B,EAAO5B,SAAiC4B,EAAO5B,UAEjEkD,EACAjG,GAIF,MAAMkG,EAAOpO,KACb,CACEA,KAAKqO,OACLrO,KAAKsO,KACLtO,KAAKuO,OACLvO,KAAK6K,OACL7K,KAAKwO,UACLxO,KAAKyO,QACLzO,KAAK0O,UACL1O,KAAK2O,WACLC,QAASnL,IACT4J,EACErN,KACAyD,EACCoL,GACCT,EAAKrK,cAAcgK,KAAKK,OAAM9K,EAAWG,EAAO1B,KAAM8M,GACxDpL,EAAO1B,QAGX+M,wBACE9O,KACA,IAAIiB,IAAgBA,EACpBjB,KAAK6D,QACL,CAACgL,EAAUhM,KACT,MAAMkM,EAAUX,EAAKvB,OAAOkC,QAC5B,OAAKA,GACLA,EAAQH,QAASI,GAAMA,EAAEH,EAAKhM,IACvBgM,GAFcA,GAIvB7O,KAAK6D,QAAQ9B,KAEjB,CAYmB,WAAMkN,CACvBhC,EACAiC,EACA3H,GAEA,OAAOxH,MAAMkP,MACXhC,EACAiC,EACAhP,OAAOC,OACL,CACE8K,QAAS1D,EAAU0D,SAAW,CAAA,GAEhC1D,GAGN,CAEmB,QAAA6E,GACjB,OAAO,IAAID,CACb,CASS,UAAAgD,GAGP,OAAOlI,CACT,CAYS,OAAA4B,CACPqG,KACGjO,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAK6I,SACjC5E,EAAS/D,OAAOC,OAAO,CAAA,EAAI+O,GAajC,OAZKA,EAAcpM,kBAAgBsM,YACjCjO,EAAIkO,MACF,0CAA2CH,EAAcpM,kBAAgBsM,WAE3ElP,OAAOoP,eAAerL,EAAQnB,EAAAA,gBAAgBsM,SAAU,CACtDG,YAAY,EACZC,UAAU,EACVC,cAAc,EACdtN,MAAQ+M,EAAcpM,EAAAA,gBAAgBsM,aAInC,CACLjL,OAAQ+K,EACRlK,GAAIkK,EAAMxN,EAAAA,MAAMkD,GAAGsK,EAAMtP,cAE7B,CAaS,MAAAqF,CACPqI,EACAxN,EACAkF,KACG/D,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKiF,QACjCyK,EAA0B,CAAA,EAC1BC,EACa,iBAAV7P,EAAqB4B,EAAAA,MAAM8F,MAAMkI,EAAI5P,GAAS,IAAIA,EAAM4P,GAEjEvO,EAAIkO,MAAM,oBAAoBM,EAAE/P,YAAYmC,WAAWiD,KACvD,MAAM4K,EAA0B,iBAAV9P,EAAqB4B,EAAAA,MAAMyH,IAAIrJ,GAASA,EAC9D,IAAK8P,EACH,MAAM,IAAIC,EAAAA,cACR,4CAA4C/P,GAEhD,MAAMmE,EAAS,IAAK2L,EAA0BtC,GACxCwC,EAAWxC,EAAIxK,EAAAA,gBAAgBsM,UAarC,OAZIU,IACF3O,EAAIkO,MACF,iBAAiBrP,KAAKmO,oCAAoCwB,EAAE/P,YAAYmC,WAAWiD,MAAO8K,KAE5F5P,OAAOoP,eAAerL,EAAQnB,EAAAA,gBAAgBsM,SAAU,CACtDG,YAAY,EACZE,cAAc,EACdD,UAAU,EACVrN,MAAO2N,KAIJ7L,CACT,CAEU,WAAA8L,CAA6BC,GACrC,MAAoB,iBAANA,EAAiBA,EAAIC,EAAAA,YAAYvO,QAAMlB,UAAUwP,GACjE,CAEU,SAAAE,CAAUrN,GAClB,MAAMsN,EAA+B,CAAA,EACrC,GAAInQ,KAAK6M,OAAO5B,QAAS,CACvB,MAAMmF,EAAgBvN,EAAIwN,eAAe,iBACrCD,IAAeD,EAAQ1Q,EAAAA,aAAa6Q,gBAAkBF,EAC5D,CACA,MAAO,IAAKD,KAAatN,EAAIwN,eAAe,YAAc,CAAA,EAC5D,CAgDA,GAAA9P,CACEC,EACAC,EACAC,GAEKA,GACCD,IAAe2C,MAAMC,QAAQ5C,KAC/BC,EAAcD,EACdA,EAAa,IAIjBD,EAAYR,KAAK+P,YAAYvP,GAC7B,MAAMD,EAAM,IAAIwM,IACd,GAAG/M,KAAK6M,OAAOH,cAAc1M,KAAK6M,OAAOF,QAAQnM,IAAYC,GAAcA,EAAW0C,OAAS,IAAK1C,EAAwB8P,KAAK,KAAS,MAa5I,OAXI7P,GACFR,OAAOsQ,QAAQ9P,GAAakO,QAAQ,EAAEhO,EAAKuB,MACrCiB,MAAMC,QAAQlB,GAChBA,EAAMyM,QAAS6B,GAAMlQ,EAAImQ,aAAaC,OAAO/P,EAAK6P,EAAErJ,aAC1B,iBAAVjF,EAChB5B,EAAImQ,aAAaC,OAAO/P,EAAKgJ,KAAKgH,UAAUzO,SAClB,IAAVA,GAChB5B,EAAImQ,aAAaC,OAAO/P,EAAKuB,EAAMiF,cAIlC7G,EAAI6G,UACb,CAiBU,aAAAyJ,CACR3B,EACAlK,GAEA,MAAM8L,EAAQ9L,EAAGoC,WACjB,GAAqB,iBAAV8H,EAAoB,MAAO,CAAC4B,GACvC,MAAMC,EAAWrP,EAAAA,MAAMqP,SAAS7B,EAAOxN,QAAMkD,GAAGsK,IAChD,OAAK6B,EACED,EAAME,MAAMD,EAASE,WADN,CAACH,EAEzB,CAEA,aAAA/M,CACEjE,EACA2D,EACAoL,GAEA,OAAI/O,GAASyE,EAAAA,UAAUE,iBAAiBoK,GAC/B3O,OAAOC,OAAO,CAAA,EAAI0O,EAAK,CAC5BnK,KAAMmK,EAAInK,KAAKR,IAAKgN,GAAW,IAAIpR,EAAMoR,MAGtCrC,CACT,CA8EA,GAAAlF,CAAOwH,KAAgBlQ,GACrB,MAAMG,QAAEA,EAAOyB,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK2J,KAC1CjG,EAAM1D,KAAK2D,UAAUwN,EAAUtO,GACrC,OAAO7C,KAAK6D,QAAQH,KAAQtC,EAC9B,CAYS,QAAAgQ,CAASC,GAChB,OAAOrD,QAAQsD,OACb,IAAI7J,EAAAA,iBACF,0FAGN,CAYS,SAAAH,CACPC,GAEA,OAAO,IAAIF,EAAcrH,KAAMuH,EACjC,CAES,SAAAhD,CACPf,EACAqE,EACA/H,GAEA,OAAO,IAAI8H,EACT5H,KACAwD,EACAqE,EACA/H,EAEJ,CAYA,cAAA4H,CAAeC,GACb,MAAM,IAAIF,EAAAA,iBACR,yFAEJ,CAEA,iBAAO8J,CACLC,KAEGvQ,GAEH,MAAMwQ,EAAqB,iBAARD,EAAmBA,EAAMA,EAAI/F,QAChD,OAAIgG,EAAIC,SAASC,EAAAA,cAAc5P,OAAS0P,EAAIC,SAAS,OAC5C,IAAIC,EAAAA,cAAcH,GACvBC,EAAIC,SAASE,EAAAA,cAAc7P,OAAS0P,EAAIC,SAAS,OAC5C,IAAIE,EAAAA,cAAcJ,GACvBC,EAAIC,SAASG,EAAAA,gBAAgB9P,OAAS0P,EAAIC,SAAS,OAC9C,IAAIG,EAAAA,gBAAgBL,GACzBC,EAAIC,SAASI,EAAAA,gBAAgB/P,OAAS0P,EAAIC,SAAS,OAC9C,IAAII,EAAAA,gBAAgBN,GACzBC,EAAIC,SAASK,EAAAA,WAAWhQ,MAAc,IAAIgQ,EAAAA,WAAWP,GACrDC,EAAIC,SAASM,EAAAA,YAAYjQ,MAAc,IAAIiQ,EAAAA,YAAYR,GACvDC,EAAIC,SAASjK,EAAAA,iBAAiB1F,MACzB,IAAI0F,EAAAA,iBAAiB+J,GAC1BC,EAAIC,SAASO,EAAAA,eAAelQ,MAAc,IAAIkQ,EAAAA,eAAeT,GAC7DC,EAAIC,SAASQ,EAAAA,cAAcnQ,MAAc,IAAImQ,EAAAA,cAAcV,GAC3DC,EAAIC,SAASS,EAAAA,mBAAmBpQ,MAC3B,IAAIoQ,EAAAA,mBAAmBX,GAC5BC,EAAIC,SAASU,EAAAA,eAAerQ,MAAc,IAAIqQ,EAAAA,eAAeZ,GAC7DC,EAAIC,SAASW,EAAAA,gBAAgBtQ,MACxB,IAAIsQ,EAAAA,gBAAgBb,GACzBC,EAAIC,SAASY,EAAAA,mBAAmBvQ,MAC3B,IAAIuQ,EAAAA,mBAAmBd,GACzB,IAAI3B,EAAAA,cAAc2B,EAC3B,CAEA,iBAAgBe,GACdxS,MAAMwS,aA0CNC,aAAWhR,IAAIsB,EAAAA,gBAAgB2P,OAC5BC,OAAO,CACNC,UA3CWtB,GACN,CAAe/D,EAAasF,EAAYC,IAgCtCjK,EAAAA,MACLkK,EAAAA,eAAeC,EAAAA,SAASnS,IAAIkC,EAAAA,gBAAgB2P,MAAOG,GAAOvB,GAC1D9K,EAAAA,WA/BO,CACL+G,EACA0F,EACAH,KAECA,EAA4C1Q,MAAQ,IAAIuL,MACtDmF,EAA4C1Q,MAC7C,CACE,WAAMyG,CACJ+E,EACAC,EACA3M,GAEA,MAAM+G,EAAO4F,GACPzM,IAAEA,EAAGC,QAAEA,UACL4G,EAAa,OAAE/G,EAAMoE,EAAAA,cAAcC,MAAM,IAC/C9D,IAAIoR,GAGN,OAFAzR,EAAIM,QAAQ,8BAA8BkM,EAAO5L,MACjDZ,EAAI2J,MAAM,cAAclB,KAAKgH,UAAU3P,EAAM,KAAM,IAC3C2M,EAAiC9L,UACvC6L,EAAO5L,QACJX,EAEP,GAGN,EAGKwH,CAIL0E,EAAKsF,EAAMC,KAQdjK,OACL,EAGFqF,EAAYsE,aC/mBL,MAAMU,EAAe,QAEfC,EAAqC,CAChDrE,EACAhM,KAEA,GAAIgM,EAAI5D,SAAW4D,EAAI5D,QAAQxL,EAAAA,aAAa0T,cAAe,CACzD,IAAIC,EACJ,IACEA,EAAUxJ,KAAKC,MAAMgF,EAAI5D,QAAQxL,EAAAA,aAAa0T,eAC9CjT,OAAOsQ,QAAQ4C,GAASxE,QAAQ,EAAEhO,EAAKuB,MACrCA,EAAMyM,QAAS6B,GAAM5N,EAAIwQ,YAAYzS,EAAK6P,KAE9C,CAAE,MAAOrD,GACPvK,EAAIyQ,OACD9R,IAAI0R,GACJ3H,MACC,wCAAwCsD,EAAI5D,QAAQxL,eAAa0T,kBAAkB/F,IAEzF,CACF,GCsCI,MAAOmG,UAAyBtF,EAOpC,WAAArO,CAAYiN,EAAoB3E,GAC9BnI,MAAM8M,EAAQoG,EAAc/K,EAC9B,CAEmB,SAAAsL,GACjB,OAAO,IAAIC,EAAAA,MAAM,CACfC,QAAS,GAAG1T,KAAK6M,OAAOH,cAAc1M,KAAK6M,OAAOF,QAEtD,CAQS,SAAAhJ,CACPgQ,EACA9Q,GAEA,IAAIW,EACAoQ,EAEAD,aAAsBvO,EAAAA,SACxBwO,EAAUD,EACVnQ,OAAQF,IAERE,EAAQmQ,EACRC,EAAU/Q,GAGZ,MAAMa,EAA0B,CAAA,EAYhC,OAXIkQ,IACFlQ,EAAIuH,QAAU,IAAMvH,EAAIuH,SAAW,MAAQjL,KAAKkQ,UAAU0D,KAExDpQ,IACFE,EAAID,OAAS,MACbC,EAAInD,IAAMP,KAAKO,IACbiD,EAAM7B,MACN,CAACmB,kBAAgBC,UAAWS,EAAMC,UAAYD,EAAMvC,MAAQ,IAC5DuC,EAAM5B,SAGH8B,CACT,CASS,aAAMG,CACbqB,KACGjE,GAEH,IAAIsG,EAAY,CAAA,EAChB,IACE,MAAM1E,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK6D,SACvC0D,EAAYvH,KAAK2D,UAAUd,EAE7B,CAAE,MAAOuK,GAET,CAKA,aAHuBpN,KAAK6T,OAAOhQ,QACjC3D,OAAOC,OAAO,CAAA,EAAI+E,EAASqC,GAG/B,CAES,aAAAxD,CACPjE,EACA2D,EACAoL,GAEA,IAAKA,EAAIlD,QAAUlI,IAAWX,EAAAA,gBAAgBC,UAC5C,MAAM,IAAI8M,EAAAA,cAAc,6BAC1B,GAAIhB,EAAIlD,QAAU,IAChB,MAAM3L,KAAKuR,WAAY1C,EAAItD,OAAoBsD,EAAIlD,QACrD,MAAMmI,EAAO9T,KAAK+T,sBAAsBlF,GACxC,OAAQpL,GACN,KAAKuQ,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,OAAOT,EACT,KAAKxS,EAAAA,sBAAsBoB,KAC3B,KAAKpB,EAAAA,sBAAsBsB,KAC3B,KAAKtB,EAAAA,sBAAsBc,QAC3B,KAAKd,EAAAA,sBAAsBW,QAC3B,KAAKX,EAAAA,sBAAsBC,QAC3B,KAAKD,EAAAA,sBAAsBgB,YAC3B,KAAKQ,EAAAA,gBAAgBC,UACnB,OAAOhD,MAAMgE,cAAcjE,EAAO2D,EAAQqQ,GAC5C,KAAKxS,EAAAA,sBAAsBkE,SAC3B,KAAKlE,EAAAA,sBAAsBqE,OAC3B,KAAKrE,EAAAA,sBAAsBuE,OAC3B,KAAKvE,EAAAA,sBAAsByE,OAC3B,KAAKzE,EAAAA,sBAAsB2E,OAG3B,KAAK3E,EAAAA,sBAAsB6E,YAEzB,OAAO2N,EACT,KAAKxS,EAAAA,sBAAsB+E,SAEzB,GAAIvG,GAAyB,iBAATgU,GAA8B,OAATA,EAAe,CACtD,MAAM7P,EAA8B,CAAA,EACpC,IAAK,MAAOrD,EAAKuB,KAAUjC,OAAOsQ,QAAQsD,GAEtC7P,EAAOrD,GADLwC,MAAMC,QAAQlB,GACFA,EAAM+B,IAAKgN,GAAW,IAAIpR,EAAMoR,IAEhC/O,EAGlB,OAAO8B,CACT,CACA,OAAO6P,EACT,QACE,OAAOA,EAEb,CAEQ,qBAAAC,CAAsBlF,GAC5B,IAAKA,EAAK,OAAOA,EACjB,MAAM2F,OACgB,IAAb3F,EAAIiF,KACPjF,EAAIiF,UACgB,IAAbjF,EAAInK,KACTmK,EAAInK,KACJmK,EACR,GAAyB,iBAAd2F,EACT,IACE,OAAO5K,KAAKC,MAAM2K,EACpB,CAAE,MACA,OAAOA,CACT,CAEF,OAAOA,CACT,CAWS,YAAMnG,CACb7N,EACAwE,EACAkK,KACGjO,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKqO,QAC5C,IACE,MAAM9N,EAAMP,KAAKO,IACfC,EACAR,KAAK6Q,cAAcrQ,EAAWwE,IAE1ByP,EAAMzU,KAAK2D,UAAUd,GAiB3B,OAhBA1B,EAAI2J,MACF,cAAcvK,UAAYqJ,KAAKgH,UAAU1B,cAAkBtF,KAAKgH,UAAU6D,YAEvDzU,KAAK6D,QACxB,CACEtD,MACAkD,OAAQ,OACRiB,KAAMkF,KAAKgH,UACT1Q,OAAOC,OAAO,CAAA,EAAI+O,EAAO,CACvB,CAACwF,EAAAA,UAAUC,QAASnU,EAAUuB,WAG/B0S,GAEL5R,EAGJ,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CAES,eAAMoB,CACb1O,EACAkF,EACAkK,KACGjO,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKwO,WAC5C,IACE,MAAMjO,EAAMP,KAAKO,IAAIT,EAAO,CAAC,SACvB2U,EAAMzU,KAAK2D,UAAUd,GAI3B,OAHA1B,EAAI2J,MACF,cAAcvK,UAAYqJ,KAAKgH,UAAU1B,cAAkBtF,KAAKgH,UAAU6D,MAErEzU,KAAK6D,QACV,CACEtD,MACAkD,OAAQ,OACRiB,KAAMkF,KAAKgH,UACT1B,EAAMhL,IAAKyL,GACTzP,OAAOC,OAAO,CAAA,EAAIwP,EAAG,CACnB,CAAC+E,EAAAA,UAAUC,QAAS7U,EAAMiC,YAI7B0S,GAEL5R,EAEJ,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CAUS,UAAMkB,CACb9N,EACAwE,KACG/D,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKsO,MAC5C,IACE,MAAM/N,EAAMP,KAAKO,IACfC,EACAR,KAAK6Q,cAAcrQ,EAAWwE,IAE1ByP,EAAMzU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAI2J,MAAM,eAAevK,aAAeqJ,KAAKgH,UAAU6D,YAC1CzU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,SAAUgR,GAAO5R,EAC5D,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CACS,aAAMqB,CACbjO,EACAoU,KACG3T,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKyO,SAC5C,IACE,MAAMlO,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAEoU,IAAKA,IAC3CH,EAAMzU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAI2J,MAAM,eAAevK,aAAeqJ,KAAKgH,UAAU6D,YAC1CzU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,SAAUgR,GAAO5R,EAC5D,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CAWS,YAAMmB,CACb/N,EACAwE,EACAkK,KACGjO,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKuO,QAC5C,IACE,MAAMhO,EAAMP,KAAKO,IACfC,EACAR,KAAK6Q,cAAcrQ,EAAWwE,IAE1ByP,EAAMzU,KAAK2D,UAAUd,GAI3B,OAHA1B,EAAI2J,MACF,aAAavK,UAAYqJ,KAAKgH,UAAU1B,cAAkBtF,KAAKgH,UAAU6D,YAE9DzU,KAAK6D,QAChB,CACEtD,MACAkD,OAAQ,MACRiB,KAAMkF,KAAKgH,UACT1Q,OAAOC,OAAO,CAAA,EAAI+O,EAAO,CACvB,CAACwF,EAAAA,UAAUC,QAA+BnU,EAAUuB,WAGrD0S,GAEL5R,EAEJ,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CAES,eAAMsB,CACblO,EACAoU,EACA1F,KACGjO,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK0O,WAC5C,IACE,MAAMnO,EAAMP,KAAKO,IAAIC,EAAW,CAAC,SAC3BiU,EAAMzU,KAAK2D,UAAUd,GAI3B,OAHA1B,EAAI2J,MACF,aAAavK,UAAYqJ,KAAKgH,UAAU1B,cAAkBtF,KAAKgH,UAAU6D,MAEpEzU,KAAK6D,QACV,CACEtD,MACAkD,OAAQ,MACRiB,KAAMkF,KAAKgH,UACT1B,EAAMhL,IAAKyL,GACTzP,OAAOC,OAAO,CAAA,EAAIwP,EAAG,CACnB,CAAC+E,EAAAA,UAAUC,QAASnU,EAAUuB,YAIjC0S,GAEL5R,EAEJ,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CAUS,YAAM,CACb5M,EACAwE,KACG/D,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK6K,QAC5C,IACE,MAAMtK,EAAMP,KAAKO,IACfC,EACAR,KAAK6Q,cAAcrQ,EAAWwE,IAE1ByP,EAAMzU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAI2J,MAAM,kBAAkBvK,aAAeqJ,KAAKgH,UAAU6D,YAC7CzU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,YAAagR,GAAO5R,EAC/D,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CAES,eAAMuB,CACbnO,EACAoU,KACG3T,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK6K,QAC5C,IACE,MAAMtK,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAEoU,IAAKA,IAC3CH,EAAMzU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAI2J,MAAM,kBAAkBvK,aAAeqJ,KAAKgH,UAAU6D,YAC7CzU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,YAAagR,GAAO5R,EAC/D,CAAE,MAAOuK,GACP,MAAMpN,KAAKuR,WAAWnE,EACxB,CACF,CAES,UAAAmE,CAAgCC,KAAevQ,GACtD,OAAOgN,EAAYsD,WAAWC,KAAQvQ,EACxC,ECncFsS,EAAiBhB,aCcV,MAAMsC,EAAU,cAEVC,EAAe,cAE5B/B,EAAAA,SAASgC,gBAAgBD,EAAcD"}
|
|
1
|
+
{"version":3,"file":"for-http.cjs","sources":["../src/constants.ts","../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,null],"names":["DecafHeaders","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","find","OrderDirection","ASC","FIND","page","PAGE","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","response","request","parsed","parseResponse","convertStatementResult","result","map","record","revertRecord","convertPageResult","serialization","Paginator","deserialize","isSerializedPage","data","pkAttr","pk","pkKey","columnName","fallback","id","revert","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","size","pagePrepared","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","apply","prepare","rawStatement","ServerEventConnector","ContextualLoggedClass","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","listeners","Set","isOpen","es","warn","info","controller","abort","clear","delete","debug","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","status","statusText","onMessage","event","onEvent","addListener","add","removeListener","KeepAliveOperation","HttpDispatcher","Dispatch","listening","initialize","INITIALIZATION","initialized","hasAdapter","protocol","host","eventsListenerPath","config","listeningUrl","URL","async","operation","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","ob","m","constr","InternalError","metadata","toTableName","t","toKebabCase","toHeaders","fromCtx","correlationId","getOrUndefined","CORRELATION_ID","join","entries","v","searchParams","append","stringify","extractIdArgs","idStr","composed","split","separator","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","AxiosFlavour","TaskResponseParser","PENDING_TASK","pending","pushPending","logger","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","body","normalizeResponseBody","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","candidate","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/dist/for-http.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{prepared as t,Repository as e,PreparedStatementKeys as s,OrderDirection as r,PersistenceKeys as i,Paginator as n,Context as a,Statement as o,UnsupportedError as c,ContextualLoggedClass as l,Dispatch as h,Adapter as d,QueryError as u,PagingError as g,MigrationError as p,ObserverError as f,AuthorizationError as m,ForbiddenError as y,ConnectionError as w}from"@decaf-ts/core";import{Decoration as v,apply as b,methodMetadata as O,Metadata as A}from"@decaf-ts/decoration";import{OperationKeys as E,wrapMethodWithContext as x,InternalError as N,NotFoundError as S,ConflictError as T,BadRequestError as $,ValidationError as C,SerializationError as R,BulkCrudOperationKeys as P}from"@decaf-ts/db-decorators";import{Model as _,Serialization as I,ModelKeys as q}from"@decaf-ts/decorator-validation";import{__decorate as D,__metadata as L}from"tslib";import{toKebabCase as F}from"@decaf-ts/logging";import{EventSourcePlus as j}from"event-source-plus";import{Axios as B}from"axios";var z,U,k,G,J,M,Y;class H 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 ${_.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 ${_.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 ${_.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 ${_.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findOneBy.name,t,e,{},...n)}async find(t,e=r.ASC,...i){const{log:n,ctxArgs:a}=(await this.logCtx(i,s.FIND,!0)).for(this.find);return n.verbose(`finding ${_.tableName(this.class)} by default query attributes`),await this.statement(this.find.name,t,e,...a)}async page(t,e=r.ASC,i={offset:1,limit:10},...n){const{log:a,ctxArgs:o}=(await this.logCtx(n,s.PAGE,!0)).for(this.page);return a.verbose(`paging ${_.tableName(this.class)} by default query attributes`),await this.statement(this.page.name,t,e,i,...o)}async statement(t,...e){const{log:s,ctx:r,ctxArgs:n}=(await this.logCtx(e,i.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,r);s.verbose("Executing prepared statement "+t);const d=await this.request(h,...n),u=this.adapter.parseResponse(this.class,t,d);return this.convertStatementResult(t,u,r)}convertStatementResult(t,e,r){return e?t===s.FIND||t===s.LIST_BY||t===s.FIND_BY?Array.isArray(e)?e.map(t=>this.revertRecord(t,r)):e:t===s.FIND_ONE_BY?this.revertRecord(e,r):t===s.PAGE||t===s.PAGE_BY?this.convertPageResult(e,r):e:e}convertPageResult(t,e){if(!t)return t;let s=t;if("string"==typeof s)try{s=n.deserialize(s)}catch{return t}return n.isSerializedPage(s)?{...s,data:s.data.map(t=>this.revertRecord(t,e))}:t}revertRecord(t,e){if(!t)return t;if(t instanceof this.class)return t;const s=_.pk(this.class),r=_.columnName(this.class,s),i=s??r,n=t[r]??t[i];if(void 0!==n)try{return this.adapter.revert(t,this.class,n,void 0,e)}catch{}return Object.assign(new this.class,t)}async request(t,...e){let s;s=e.length&&e[e.length-1]instanceof a?this.logCtx(e,this.request):(await this.logCtx(e,E.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 ${_.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 ${_.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 ${_.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 ${_.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 ${_.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 ${_.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 ${_.tableName(this.class)} by ${t}`),await this.statement(this.groupOf.name,t,{},...i)}}D([t(),L("design:type",Function),L("design:paramtypes",[String,String,void 0]),L("design:returntype",Promise)],H.prototype,"find",null),D([t(),L("design:type",Function),L("design:paramtypes",[String,String,Object,void 0]),L("design:returntype",Promise)],H.prototype,"page",null),D([t(),L("design:type",Function),L("design:paramtypes",[Object,void 0]),L("design:returntype",Promise)],H.prototype,"countOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(z="undefined"!=typeof K&&K)?z:Object,void 0]),L("design:returntype",Promise)],H.prototype,"maxOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(U="undefined"!=typeof K&&K)?U:Object,void 0]),L("design:returntype",Promise)],H.prototype,"minOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(k="undefined"!=typeof K&&K)?k:Object,void 0]),L("design:returntype",Promise)],H.prototype,"avgOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(G="undefined"!=typeof K&&K)?G:Object,void 0]),L("design:returntype",Promise)],H.prototype,"sumOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(J="undefined"!=typeof K&&K)?J:Object,void 0]),L("design:returntype",Promise)],H.prototype,"distinctOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(M="undefined"!=typeof K&&K)?M:Object,void 0]),L("design:returntype",Promise)],H.prototype,"groupOf",null);class Q extends H{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return _.tableName(this.class)+" REST service"}}class V extends o{constructor(t,e){super(t,e)}build(){throw new c("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 c("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class X extends n{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:a,args:o,params:l}=n,h=RegExp(`^${s.FIND_BY}|${s.LIST_BY}`,"gi");if(!a.match(h))throw new c(`Method ${a} is not supported for pagination`);h.lastIndex=0;const d=[a.replace(h,s.PAGE_BY),...o],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 c("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 W extends l{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 W(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?I.deserialize(n):n]}catch{return null}}constructor(t){super(),this.url=t,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){const t=this.log.for(this.close);if(this.es)if(this.listeners.size>0)t.warn("Skipping connector close because still has active listeners",{url:this.url,listeners:this.listeners.size});else try{t.info("ServerEventConnector closing event source connection for listening URL "+this.url),this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),W.cache.delete(this.url),t.info("ServerEventConnector closed connection and removed from active pool for URL "+this.url)}else t.debug(`Skipping connector close because connector for ${this.url} is not open`)}startListening(t,e){const s=this.log.for(this.startListening);this.es?s.info("ServerEventConnector already in pool and listening",{url:this.url,listeners:this.listeners.size}):(s.info("Opening event source connection for "+this.url),this.es=new j(this.url,{headers:e,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{s.info("ServerEventConnector listening events from "+this.url)},onRequestError:({error:e})=>{s.error("ServerEventConnector error on request",{url:this.url,error:e}),t.onError((e?.message??e)+"")},onResponseError:({response:e})=>{s.error("ServerEventConnector received an error response",{url:this.url,status:e?.status,statusText:e?.statusText}),t.onError(`HTTP Error Response: ${e.status} ${e.statusText}`)},onMessage:e=>{const r=e&&"object"==typeof e&&"data"in e?e.data:e,i=W.parseReceivedEvent(r);i?t.onEvent(i):s.warn("Failed to parse SSE message",{url:this.url,raw:r})}}))}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}}class Z extends h{constructor(){super(...arguments),this.initialized=!1,this.listening=!1}async initialize(...t){const{log:e,ctxArgs:s}=(await this.logCtx(t,i.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.info(`HttpDispatcher initialized for adapter ${this.adapter}.`)):e.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...t){const{log:e}=this.logCtx(t,this.startListening);if(!this.initialized||!this.adapter)throw e.error("Cannot start listening: dispatcher is not initialized or adapter is missing",{initialized:this.initialized,hasAdapter:!!this.adapter}),Error("Cannot start listening before call initialize()");this.listening&&e.warn("startListening called but dispatcher is already listening",{adapter:this.adapter+""});const{protocol:s,host:r,eventsListenerPath:i}=this.adapter.config;if(!i)throw e.error("Cannot start listening: no eventsListenerPath specified",{protocol:s,host:r}),Error("No eventsListenerPath specified");const n=new URL(i,`${s}://${r}`).toString();e.info("Opening ServerEventConnector for url: "+n),this.connector=W.open(n),e.debug("ServerEventConnector opened successfully for url: "+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("ServerEventConnector failed to updateObservers",t))},onError:t=>{e.error("ServerEventConnector failed to dispatch event",{error:t,listeningUrl:n,adapter:this.adapter+""})}}),this.listening=!0,e.info(`HttpDispatcher is now listening at ${n}.`)}async close(...t){this.connector?.close(),this.listening=!1}}function tt(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}})}(t=>{t.PENDING_TASK="x-pending-task",t.CORRELATION_ID="x-correlation-id"})(Y||(Y={}));class et extends d{constructor(t,e,s){super(Object.assign({},t,{headers:void 0===t.headers||t.headers}),e,s);const r=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(t=>{tt(this,t,e=>r.parseResponse.call(r,void 0,t.name,e),t.name)}),x(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 Z}repository(){return Q}prepare(t,...e){const{log:s}=this.logCtx(e,this.prepare),r=Object.assign({},t);return t[i.METADATA]&&(s.silly("Passing along persistence metadata for "+t[i.METADATA]),Object.defineProperty(r,i.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:t[i.METADATA]})),{record:t,id:t[_.pk(t.constructor)]}}revert(t,e,s,...r){const{log:n}=this.logCtx(r,this.revert),a={},o="string"==typeof e?_.build(a,e):new e(a);n.silly(`Rebuilding model ${o.constructor.name} id ${s}`);const c="string"==typeof e?_.get(e):e;if(!c)throw new N("Failed to retrieve model constructor for "+e);const l=new c(t),h=t[i.METADATA];return h&&(n.silly(`Passing along ${this.flavour} persistence metadata for ${o.constructor.name} id ${s}: ${h}`),Object.defineProperty(l,i.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:h})),l}toTableName(t){return"string"==typeof t?t:F(_.tableName(t))}toHeaders(t){const e={};if(this.config.headers){const s=t.getOrUndefined("correlationId");s&&(e[Y.CORRELATION_ID]=s)}return{...e,...t.getOrUndefined("headers")||{}}}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=_.composed(t,_.pk(t));return r?s.split(r.separator):[s]}parseResponse(t,e,s){return t&&n.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 c("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(t){return new V(this,t)}Paginator(t,e,s){return new X(this,t,e,s)}parseCondition(t){throw new c("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(S.name)||s.includes("404")?new S(t):s.includes(T.name)||s.includes("409")?new T(t):s.includes($.name)||s.includes("400")?new $(t):s.includes(C.name)||s.includes("422")?new C(t):s.includes(u.name)?new u(t):s.includes(g.name)?new g(t):s.includes(c.name)?new c(t):s.includes(p.name)?new p(t):s.includes(f.name)?new f(t):s.includes(m.name)?new m(t):s.includes(y.name)?new y(t):s.includes(w.name)?new w(t):s.includes(R.name)?new R(t):new N(t)}static decoration(){super.decoration(),v.for(i.QUERY).define({decorator:e=>(s,r,n)=>b(O(A.key(i.QUERY,r),e),t(),(t,e,s)=>{s.value=new Proxy(s.value,{async apply(t,e,s){const i=e,{log:n,ctxArgs:a}=(await i.logCtx(s,E.READ,!0)).for(r);return n.verbose("Running prepared statement "+t.name),n.debug("With args: "+JSON.stringify(s,null,2)),e.statement(t.name,...a)}})})(s,r,n)}).apply()}}et.decoration();const st="axios",rt=(t,e)=>{if(t.headers&&t.headers[Y.PENDING_TASK]){let s;try{s=JSON.parse(t.headers[Y.PENDING_TASK]),Object.entries(s).forEach(([t,s])=>{s.forEach(s=>e.pushPending(t,s))})}catch(s){e.logger.for(rt).error(`Failed to parse pending tasks header ${t.headers[Y.PENDING_TASK]}: ${s}`)}}};class it extends et{constructor(t,e){super(t,st,e)}getClient(){return new B({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(t,e){let s,r;t instanceof a?(r=t,s=void 0):(s=t,r=e);const n={};return r&&(n.headers={...n.headers||{},...this.toHeaders(r)}),s&&(n.method="GET",n.url=this.url(s.class,[i.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,r){if(!r.status&&e!==i.STATEMENT)throw new N("this should be impossible");if(r.status>=400)throw this.parseError(r.error||r.status);const n=this.normalizeResponseBody(r);switch(e){case P.CREATE_ALL:case P.READ_ALL:case P.UPDATE_ALL:case P.DELETE_ALL:case E.CREATE:case E.READ:case E.UPDATE:case E.DELETE:return n;case s.FIND:case s.PAGE:case s.FIND_BY:case s.LIST_BY:case s.PAGE_BY:case s.FIND_ONE_BY:case i.STATEMENT:return super.parseResponse(t,e,n);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 n;case s.GROUP_OF:if(t&&"object"==typeof n&&null!==n){const e={};for(const[s,r]of Object.entries(n))e[s]=Array.isArray(r)?r.map(e=>new t(e)):r;return e}return n;default:return n}}normalizeResponseBody(t){if(!t)return t;const e=void 0!==t.body?t.body:void 0!==t.data?t.data:t;if("string"==typeof e)try{return JSON.parse(e)}catch{return e}return e}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 et.parseError(t,...e)}}it.decoration();const nt="##VERSION##",at="##PACKAGE##";A.registerLibrary(at,nt);export{st as AxiosFlavour,it as AxiosHttpAdapter,Y as DecafHeaders,et as HttpAdapter,X as HttpPaginator,V as HttpStatement,at as PACKAGE_NAME,H as RestRepository,Q as RestService,W as ServerEventConnector,rt as TaskResponseParser,nt as VERSION,tt as suffixMethod};
|
|
1
|
+
import{prepared as t,Repository as e,PreparedStatementKeys as s,OrderDirection as r,PersistenceKeys as i,Paginator as n,Context as a,Statement as o,UnsupportedError as c,ContextualLoggedClass as l,Dispatch as h,Adapter as d,QueryError as u,PagingError as g,MigrationError as p,ObserverError as f,AuthorizationError as m,ForbiddenError as y,ConnectionError as v}from"@decaf-ts/core";import{Decoration as w,apply as b,methodMetadata as O,Metadata as A}from"@decaf-ts/decoration";import{OperationKeys as E,wrapMethodWithContext as x,InternalError as N,NotFoundError as S,ConflictError as T,BadRequestError as $,ValidationError as C,SerializationError as R,BulkCrudOperationKeys as P}from"@decaf-ts/db-decorators";import{Model as _,Serialization as I,ModelKeys as q}from"@decaf-ts/decorator-validation";import{__decorate as D,__metadata as L}from"tslib";import{toKebabCase as F}from"@decaf-ts/logging";import{EventSourcePlus as j}from"event-source-plus";import{Axios as B}from"axios";var z,k,U,G,J,M,Y;class H 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 ${_.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 ${_.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 ${_.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 ${_.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findOneBy.name,t,e,{},...n)}async find(t,e=r.ASC,...i){const{log:n,ctxArgs:a}=(await this.logCtx(i,s.FIND,!0)).for(this.find);return n.verbose(`finding ${_.tableName(this.class)} by default query attributes`),await this.statement(this.find.name,t,e,...a)}async page(t,e=r.ASC,i={offset:1,limit:10},...n){const{log:a,ctxArgs:o}=(await this.logCtx(n,s.PAGE,!0)).for(this.page);return a.verbose(`paging ${_.tableName(this.class)} by default query attributes`),await this.statement(this.page.name,t,e,i,...o)}async statement(t,...e){const{log:s,ctx:r,ctxArgs:n}=(await this.logCtx(e,i.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,r);s.verbose("Executing prepared statement "+t);const d=await this.request(h,...n),u=this.adapter.parseResponse(this.class,t,d);return this.convertStatementResult(t,u,r)}convertStatementResult(t,e,r){return e?t===s.FIND||t===s.LIST_BY||t===s.FIND_BY?Array.isArray(e)?e.map(t=>this.revertRecord(t,r)):e:t===s.FIND_ONE_BY?this.revertRecord(e,r):t===s.PAGE||t===s.PAGE_BY?this.convertPageResult(e,r):e:e}convertPageResult(t,e){if(!t)return t;let s=t;if("string"==typeof s)try{s=n.deserialize(s)}catch{return t}return n.isSerializedPage(s)?{...s,data:s.data.map(t=>this.revertRecord(t,e))}:t}revertRecord(t,e){if(!t)return t;if(t instanceof this.class)return t;const s=_.pk(this.class),r=_.columnName(this.class,s),i=s??r,n=t[r]??t[i];if(void 0!==n)try{return this.adapter.revert(t,this.class,n,void 0,e)}catch{}return Object.assign(new this.class,t)}async request(t,...e){let s;s=e.length&&e[e.length-1]instanceof a?this.logCtx(e,this.request):(await this.logCtx(e,E.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 ${_.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 ${_.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 ${_.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 ${_.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 ${_.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 ${_.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 ${_.tableName(this.class)} by ${t}`),await this.statement(this.groupOf.name,t,{},...i)}}D([t(),L("design:type",Function),L("design:paramtypes",[String,String,void 0]),L("design:returntype",Promise)],H.prototype,"find",null),D([t(),L("design:type",Function),L("design:paramtypes",[String,String,Object,void 0]),L("design:returntype",Promise)],H.prototype,"page",null),D([t(),L("design:type",Function),L("design:paramtypes",[Object,void 0]),L("design:returntype",Promise)],H.prototype,"countOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(z="undefined"!=typeof K&&K)?z:Object,void 0]),L("design:returntype",Promise)],H.prototype,"maxOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(k="undefined"!=typeof K&&K)?k:Object,void 0]),L("design:returntype",Promise)],H.prototype,"minOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(U="undefined"!=typeof K&&K)?U:Object,void 0]),L("design:returntype",Promise)],H.prototype,"avgOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(G="undefined"!=typeof K&&K)?G:Object,void 0]),L("design:returntype",Promise)],H.prototype,"sumOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(J="undefined"!=typeof K&&K)?J:Object,void 0]),L("design:returntype",Promise)],H.prototype,"distinctOf",null),D([t(),L("design:type",Function),L("design:paramtypes",["function"==typeof(M="undefined"!=typeof K&&K)?M:Object,void 0]),L("design:returntype",Promise)],H.prototype,"groupOf",null);class Q extends H{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return _.tableName(this.class)+" REST service"}}class V extends o{constructor(t,e){super(t,e)}build(){throw new c("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 c("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class X extends n{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:a,args:o,params:l}=n,h=RegExp(`^${s.FIND_BY}|${s.LIST_BY}`,"gi");if(!a.match(h))throw new c(`Method ${a} is not supported for pagination`);h.lastIndex=0;const d=[a.replace(h,s.PAGE_BY),...o],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 c("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 W extends l{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 W(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?I.deserialize(n):n]}catch{return null}}constructor(t){super(),this.url=t,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){const t=this.log.for(this.close);if(this.es)if(this.listeners.size>0)t.warn("Skipping connector close because still has active listeners",{url:this.url,listeners:this.listeners.size});else try{t.info("ServerEventConnector closing event source connection for listening URL "+this.url),this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),W.cache.delete(this.url),t.info("ServerEventConnector closed connection and removed from active pool for URL "+this.url)}else t.debug(`Skipping connector close because connector for ${this.url} is not open`)}startListening(t,e){const s=this.log.for(this.startListening);this.es?s.info("ServerEventConnector already in pool and listening",{url:this.url,listeners:this.listeners.size}):(s.info("Opening event source connection for "+this.url),this.es=new j(this.url,{headers:e,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{s.info("ServerEventConnector listening events from "+this.url)},onRequestError:({error:e})=>{s.error("ServerEventConnector error on request",{url:this.url,error:e}),t.onError((e?.message??e)+"")},onResponseError:({response:e})=>{s.error("ServerEventConnector received an error response",{url:this.url,status:e?.status,statusText:e?.statusText}),t.onError(`HTTP Error Response: ${e.status} ${e.statusText}`)},onMessage:e=>{const r=e&&"object"==typeof e&&"data"in e?e.data:e,i=W.parseReceivedEvent(r);i?t.onEvent(i):s.warn("Failed to parse SSE message",{url:this.url,raw:r})}}))}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}}(t=>{t.PENDING_TASK="x-pending-task",t.CORRELATION_ID="x-correlation-id"})(Y||(Y={}));const Z="keepalive";class tt extends h{constructor(){super(...arguments),this.listening=!1}async initialize(...t){const{log:e,ctxArgs:s}=(await this.logCtx(t,i.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.info(`HttpDispatcher initialized for adapter ${this.adapter}.`)):e.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...t){const{log:e}=this.logCtx(t,this.startListening);if(!this.initialized||!this.adapter)throw e.error("Cannot start listening: dispatcher is not initialized or adapter is missing",{initialized:this.initialized,hasAdapter:!!this.adapter}),Error("Cannot start listening before call initialize()");this.listening&&e.warn("startListening called but dispatcher is already listening",{adapter:this.adapter+""});const{protocol:s,host:r,eventsListenerPath:i}=this.adapter.config;if(!i)throw e.error("Cannot start listening: no eventsListenerPath specified",{protocol:s,host:r}),Error("No eventsListenerPath specified");const n=new URL(i,`${s}://${r}`).toString();e.info("Opening ServerEventConnector for url: "+n),this.connector=W.open(n),e.debug("ServerEventConnector opened successfully for url: "+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");s!==Z?super.updateObservers(e,s,r,...a).catch(t=>n.error("ServerEventConnector failed to updateObservers",t)):n.debug("keep alive received - discarding")},onError:t=>{e.error("ServerEventConnector failed to dispatch event",{error:t,listeningUrl:n,adapter:this.adapter+""})}}),this.listening=!0,e.info(`HttpDispatcher is now listening at ${n}.`)}async close(...t){this.connector?.close(),this.listening=!1}}function et(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 st extends d{constructor(t,e,s){super(Object.assign({},t,{headers:void 0===t.headers||t.headers}),e,s);const r=this;[this.create,this.read,this.update,this.delete,this.createAll,this.readAll,this.updateAll,this.deleteAll].forEach(t=>{et(this,t,e=>r.parseResponse.call(r,void 0,t.name,e),t.name)}),x(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 tt}repository(){return Q}prepare(t,...e){const{log:s}=this.logCtx(e,this.prepare),r=Object.assign({},t);return t[i.METADATA]&&(s.silly("Passing along persistence metadata for "+t[i.METADATA]),Object.defineProperty(r,i.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:t[i.METADATA]})),{record:t,id:t[_.pk(t.constructor)]}}revert(t,e,s,...r){const{log:n}=this.logCtx(r,this.revert),a={},o="string"==typeof e?_.build(a,e):new e(a);n.silly(`Rebuilding model ${o.constructor.name} id ${s}`);const c="string"==typeof e?_.get(e):e;if(!c)throw new N("Failed to retrieve model constructor for "+e);const l=new c(t),h=t[i.METADATA];return h&&(n.silly(`Passing along ${this.flavour} persistence metadata for ${o.constructor.name} id ${s}: ${h}`),Object.defineProperty(l,i.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:h})),l}toTableName(t){return"string"==typeof t?t:F(_.tableName(t))}toHeaders(t){const e={};if(this.config.headers){const s=t.getOrUndefined("correlationId");s&&(e[Y.CORRELATION_ID]=s)}return{...e,...t.getOrUndefined("headers")||{}}}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=_.composed(t,_.pk(t));return r?s.split(r.separator):[s]}parseResponse(t,e,s){return t&&n.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 c("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(t){return new V(this,t)}Paginator(t,e,s){return new X(this,t,e,s)}parseCondition(t){throw new c("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(S.name)||s.includes("404")?new S(t):s.includes(T.name)||s.includes("409")?new T(t):s.includes($.name)||s.includes("400")?new $(t):s.includes(C.name)||s.includes("422")?new C(t):s.includes(u.name)?new u(t):s.includes(g.name)?new g(t):s.includes(c.name)?new c(t):s.includes(p.name)?new p(t):s.includes(f.name)?new f(t):s.includes(m.name)?new m(t):s.includes(y.name)?new y(t):s.includes(v.name)?new v(t):s.includes(R.name)?new R(t):new N(t)}static decoration(){super.decoration(),w.for(i.QUERY).define({decorator:e=>(s,r,n)=>b(O(A.key(i.QUERY,r),e),t(),(t,e,s)=>{s.value=new Proxy(s.value,{async apply(t,e,s){const i=e,{log:n,ctxArgs:a}=(await i.logCtx(s,E.READ,!0)).for(r);return n.verbose("Running prepared statement "+t.name),n.debug("With args: "+JSON.stringify(s,null,2)),e.statement(t.name,...a)}})})(s,r,n)}).apply()}}st.decoration();const rt="axios",it=(t,e)=>{if(t.headers&&t.headers[Y.PENDING_TASK]){let s;try{s=JSON.parse(t.headers[Y.PENDING_TASK]),Object.entries(s).forEach(([t,s])=>{s.forEach(s=>e.pushPending(t,s))})}catch(s){e.logger.for(it).error(`Failed to parse pending tasks header ${t.headers[Y.PENDING_TASK]}: ${s}`)}}};class nt extends st{constructor(t,e){super(t,rt,e)}getClient(){return new B({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(t,e){let s,r;t instanceof a?(r=t,s=void 0):(s=t,r=e);const n={};return r&&(n.headers={...n.headers||{},...this.toHeaders(r)}),s&&(n.method="GET",n.url=this.url(s.class,[i.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,r){if(!r.status&&e!==i.STATEMENT)throw new N("this should be impossible");if(r.status>=400)throw this.parseError(r.error||r.status);const n=this.normalizeResponseBody(r);switch(e){case P.CREATE_ALL:case P.READ_ALL:case P.UPDATE_ALL:case P.DELETE_ALL:case E.CREATE:case E.READ:case E.UPDATE:case E.DELETE:return n;case s.FIND:case s.PAGE:case s.FIND_BY:case s.LIST_BY:case s.PAGE_BY:case s.FIND_ONE_BY:case i.STATEMENT:return super.parseResponse(t,e,n);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 n;case s.GROUP_OF:if(t&&"object"==typeof n&&null!==n){const e={};for(const[s,r]of Object.entries(n))e[s]=Array.isArray(r)?r.map(e=>new t(e)):r;return e}return n;default:return n}}normalizeResponseBody(t){if(!t)return t;const e=void 0!==t.body?t.body:void 0!==t.data?t.data:t;if("string"==typeof e)try{return JSON.parse(e)}catch{return e}return e}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 st.parseError(t,...e)}}nt.decoration();const at="##VERSION##",ot="##PACKAGE##";A.registerLibrary(ot,at);export{rt as AxiosFlavour,nt as AxiosHttpAdapter,Y as DecafHeaders,st as HttpAdapter,X as HttpPaginator,V as HttpStatement,Z as KeepAliveOperation,ot as PACKAGE_NAME,H as RestRepository,Q as RestService,W as ServerEventConnector,it as TaskResponseParser,at as VERSION,et as suffixMethod};
|
|
2
2
|
//# sourceMappingURL=for-http.js.map
|
package/dist/for-http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-http.js","sources":["../src/constants.ts","../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,null],"names":["DecafHeaders","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","find","OrderDirection","ASC","FIND","page","PAGE","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","response","request","parsed","parseResponse","convertStatementResult","result","map","record","revertRecord","convertPageResult","serialization","Paginator","deserialize","isSerializedPage","data","pkAttr","pk","pkKey","columnName","fallback","id","revert","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","size","pagePrepared","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","apply","prepare","rawStatement","ServerEventConnector","ContextualLoggedClass","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","listeners","Set","isOpen","es","warn","info","controller","abort","clear","delete","debug","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","status","statusText","onMessage","event","onEvent","addListener","add","removeListener","HttpDispatcher","Dispatch","initialized","listening","initialize","INITIALIZATION","hasAdapter","protocol","host","eventsListenerPath","config","listeningUrl","URL","async","operation","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","ob","m","constr","InternalError","metadata","toTableName","t","toKebabCase","toHeaders","fromCtx","correlationId","getOrUndefined","CORRELATION_ID","join","entries","v","searchParams","append","stringify","extractIdArgs","idStr","composed","split","separator","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","AxiosFlavour","TaskResponseParser","PENDING_TASK","pending","pushPending","logger","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","body","normalizeResponseBody","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","candidate","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-http.js","sources":["../src/constants.ts","../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,null],"names":["DecafHeaders","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","find","OrderDirection","ASC","FIND","page","PAGE","ctx","PersistenceKeys","STATEMENT","argList","slice","lastArg","length","Array","isArray","undefined","pop","query","method","req","toRequest","response","request","parsed","parseResponse","convertStatementResult","result","map","record","revertRecord","convertPageResult","serialization","Paginator","deserialize","isSerializedPage","data","pkAttr","pk","pkKey","columnName","fallback","id","revert","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","size","pagePrepared","argz","repo","forModel","alias","regexp","RegExp","match","lastIndex","preparedArgs","replace","preparedParams","_bookmark","push","apply","prepare","rawStatement","ServerEventConnector","ContextualLoggedClass","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","listeners","Set","isOpen","es","warn","info","controller","abort","clear","delete","debug","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","status","statusText","onMessage","event","onEvent","addListener","add","removeListener","KeepAliveOperation","HttpDispatcher","Dispatch","listening","initialize","INITIALIZATION","initialized","hasAdapter","protocol","host","eventsListenerPath","config","listeningUrl","URL","async","operation","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","ob","m","constr","InternalError","metadata","toTableName","t","toKebabCase","toHeaders","fromCtx","correlationId","getOrUndefined","CORRELATION_ID","join","entries","v","searchParams","append","stringify","extractIdArgs","idStr","composed","split","separator","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","AxiosFlavour","TaskResponseParser","PENDING_TASK","pending","pushPending","logger","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","client","body","normalizeResponseBody","BulkCrudOperationKeys","CREATE_ALL","READ_ALL","UPDATE_ALL","DELETE_ALL","CREATE","UPDATE","DELETE","candidate","cfg","ModelKeys","ANCHOR","ids","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/HttpDispatcher.cjs
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.HttpDispatcher = void 0;
|
|
4
4
|
const core_1 = require("@decaf-ts/core");
|
|
5
5
|
const event_1 = require("./event/index.cjs");
|
|
6
|
+
const constants_1 = require("./constants.cjs");
|
|
6
7
|
class HttpDispatcher extends core_1.Dispatch {
|
|
7
8
|
constructor() {
|
|
8
9
|
super(...arguments);
|
|
9
|
-
this.initialized = false;
|
|
10
10
|
this.listening = false;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
@@ -61,6 +61,10 @@ class HttpDispatcher extends core_1.Dispatch {
|
|
|
61
61
|
onEvent: async (event) => {
|
|
62
62
|
const [tableName, operation, id, ...args] = event;
|
|
63
63
|
const { log, ctxArgs } = (await this.logCtx(args, operation, true)).for("onEvent");
|
|
64
|
+
if (operation === constants_1.KeepAliveOperation) {
|
|
65
|
+
log.debug(`keep alive received - discarding`);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
64
68
|
super
|
|
65
69
|
.updateObservers(tableName, operation, id, ...ctxArgs)
|
|
66
70
|
.catch((e) => log.error(`ServerEventConnector failed to updateObservers`, e));
|
|
@@ -76,7 +80,9 @@ class HttpDispatcher extends core_1.Dispatch {
|
|
|
76
80
|
this.listening = true;
|
|
77
81
|
log.info(`HttpDispatcher is now listening at ${listeningUrl}.`);
|
|
78
82
|
}
|
|
79
|
-
async close(
|
|
83
|
+
async close(
|
|
84
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
85
|
+
...args) {
|
|
80
86
|
// const { log } = this.logCtx(args, this.close);
|
|
81
87
|
//
|
|
82
88
|
// log.debug(`Closing HttpDispatcher`, {
|
package/lib/HttpDispatcher.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { Adapter, Context, ContextualArgs, Dispatch, MaybeContextualArg, Prepare
|
|
|
2
2
|
import { HttpConfig, HttpFlags } from "./types";
|
|
3
3
|
export declare class HttpDispatcher extends Dispatch<Adapter<HttpConfig, any, PreparedStatement<any>, Context<HttpFlags>>> {
|
|
4
4
|
private connector?;
|
|
5
|
-
private initialized;
|
|
6
5
|
private listening;
|
|
7
6
|
/**
|
|
8
7
|
* Called by the base Dispatch after observe(adapter).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpDispatcher.js","sourceRoot":"","sources":["../src/HttpDispatcher.ts"],"names":[],"mappings":";;;AAAA,yCAQwB;AACxB,6CAA4D;
|
|
1
|
+
{"version":3,"file":"HttpDispatcher.js","sourceRoot":"","sources":["../src/HttpDispatcher.ts"],"names":[],"mappings":"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"}
|
package/lib/constants.cjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DecafHeaders = void 0;
|
|
3
|
+
exports.KeepAliveOperation = exports.DecafHeaders = void 0;
|
|
4
4
|
var DecafHeaders;
|
|
5
5
|
(function (DecafHeaders) {
|
|
6
6
|
DecafHeaders["PENDING_TASK"] = "x-pending-task";
|
|
7
7
|
DecafHeaders["CORRELATION_ID"] = "x-correlation-id";
|
|
8
8
|
})(DecafHeaders || (exports.DecafHeaders = DecafHeaders = {}));
|
|
9
|
+
exports.KeepAliveOperation = "keepalive";
|
|
9
10
|
//# sourceMappingURL=constants.js.map
|
package/lib/constants.d.ts
CHANGED
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAA+B,CAAA;IAC/B,mDAAmC,CAAA;AACrC,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAA+B,CAAA;IAC/B,mDAAmC,CAAA;AACrC,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAEY,QAAA,kBAAkB,GAAG,WAAW,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { Adapter, Context, ContextualArgs, Dispatch, MaybeContextualArg, Prepare
|
|
|
2
2
|
import { HttpConfig, HttpFlags } from "./types";
|
|
3
3
|
export declare class HttpDispatcher extends Dispatch<Adapter<HttpConfig, any, PreparedStatement<any>, Context<HttpFlags>>> {
|
|
4
4
|
private connector?;
|
|
5
|
-
private initialized;
|
|
6
5
|
private listening;
|
|
7
6
|
/**
|
|
8
7
|
* Called by the base Dispatch after observe(adapter).
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Dispatch, PersistenceKeys, } from "@decaf-ts/core";
|
|
2
2
|
import { ServerEventConnector } from "./event/index.js";
|
|
3
|
+
import { KeepAliveOperation } from "./constants.js";
|
|
3
4
|
export class HttpDispatcher extends Dispatch {
|
|
4
5
|
constructor() {
|
|
5
6
|
super(...arguments);
|
|
6
|
-
this.initialized = false;
|
|
7
7
|
this.listening = false;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
@@ -58,6 +58,10 @@ export class HttpDispatcher extends Dispatch {
|
|
|
58
58
|
onEvent: async (event) => {
|
|
59
59
|
const [tableName, operation, id, ...args] = event;
|
|
60
60
|
const { log, ctxArgs } = (await this.logCtx(args, operation, true)).for("onEvent");
|
|
61
|
+
if (operation === KeepAliveOperation) {
|
|
62
|
+
log.debug(`keep alive received - discarding`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
61
65
|
super
|
|
62
66
|
.updateObservers(tableName, operation, id, ...ctxArgs)
|
|
63
67
|
.catch((e) => log.error(`ServerEventConnector failed to updateObservers`, e));
|
|
@@ -73,7 +77,9 @@ export class HttpDispatcher extends Dispatch {
|
|
|
73
77
|
this.listening = true;
|
|
74
78
|
log.info(`HttpDispatcher is now listening at ${listeningUrl}.`);
|
|
75
79
|
}
|
|
76
|
-
async close(
|
|
80
|
+
async close(
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
82
|
+
...args) {
|
|
77
83
|
// const { log } = this.logCtx(args, this.close);
|
|
78
84
|
//
|
|
79
85
|
// log.debug(`Closing HttpDispatcher`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpDispatcher.js","sourceRoot":"","sources":["../../src/HttpDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,EAER,eAAe,GAEhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAe,oBAAoB,EAAE,yBAAgB;
|
|
1
|
+
{"version":3,"file":"HttpDispatcher.js","sourceRoot":"","sources":["../../src/HttpDispatcher.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/constants.d.ts
CHANGED
package/lib/esm/constants.js
CHANGED
package/lib/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAA+B,CAAA;IAC/B,mDAAmC,CAAA;AACrC,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAA+B,CAAA;IAC/B,mDAAmC,CAAA;AACrC,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC"}
|