@decaf-ts/for-http 0.3.48 → 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 +44 -8
- 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 +44 -8
- 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/lib/esm/event/ServerEventConnector.d.ts +2 -1
- package/lib/esm/event/ServerEventConnector.js +42 -16
- package/lib/esm/event/ServerEventConnector.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/event/ServerEventConnector.cjs +42 -16
- package/lib/event/ServerEventConnector.d.ts +2 -1
- package/lib/event/ServerEventConnector.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +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,h,u,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),h=this.adapter.parseResponse(this.class,e,p);return this.convertStatementResult(e,h,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(h="undefined"!=typeof K&&K)?h: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(u="undefined"!=typeof K&&K)?u: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{static{this.cache=new Map}static get(e){if(this.cache.has(e))return this.cache.get(e);throw Error(`Server event connector not found for URL '${e}'. Did you forget to call open()?`)}static open(e){if(this.cache.has(e))return this.cache.get(e);const t=new b(e);return this.cache.set(e,t),this.cache.get(e)}static close(e){this.cache.has(e)&&this.cache.get(e).close()}static parseReceivedEvent(e){try{const t="string"==typeof e?JSON.parse(e):e;if(!Array.isArray(t)||3>t.length)return null;const[r,s,i,n]=t;return"string"!=typeof r?null:[r,s+"",i,"string"==typeof n?a.Serialization.deserialize(n):n]}catch{return null}}constructor(e){this.url=e,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){if(this.es&&0>=this.listeners.size)try{this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),b.cache.delete(this.url)}}startListening(e,t){if(this.es)return;const r=this.url;this.es=new o.EventSourcePlus(r,{headers:t,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{},onRequestError:({error:t})=>{e.onError((t?.message??t)+"")},onResponseError:({response:t})=>{e.onError("HTTP "+t.status)},onMessage:t=>{const r=t&&"object"==typeof t&&"data"in t?t.data:t,s=b.parseReceivedEvent(r);s&&e.onEvent(s)}})}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}}class A extends t.Dispatch{constructor(){super(...arguments),this.initialized=!1,this.listening=!1}async initialize(...e){const{log:r,ctxArgs:s}=(await this.logCtx(e,t.PersistenceKeys.INITIALIZATION,!0)).for(this.initialize);this.adapter?(r.info(`Initializing ${this.adapter}'s event Dispatch, but not listening yet.`),this.initialized=!0,await this.startListening(...s)):r.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...e){if(!this.initialized||!this.adapter)throw Error("Cannot start listening before call initialize()");const{log:t}=this.logCtx(e,this.startListening),{protocol:r,host:s,eventsListenerPath:a}=this.adapter.config;if(!a)throw Error("No eventsListenerPath specified");const i=new URL(a,`${r}://${s}`).toString();this.connector=b.open(i),this.connector.startListening({onEvent:async e=>{const[t,r,s,...a]=e,{log:i,ctxArgs:n}=(await this.logCtx(a,r,!0)).for("onEvent");super.updateObservers(t,r,s,...n).catch(e=>i.error("Failed to dispatch SSE event",e))},onError:e=>t.error(e)}),this.listening=!0,t.info(`Initializing event listener for adapter ${this.adapter} at ${i}.`)}async close(...e){this.connector?.close()}}function _(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 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=>{_(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 A}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),h=e[t.PersistenceKeys.METADATA];return h&&(o.silly(`Passing along ${this.flavour} persistence metadata for ${d.constructor.name} id ${i}: ${h}`),Object.defineProperty(p,t.PersistenceKeys.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:h})),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()}}w.decoration();const P="axios",S=(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(S).error(`Failed to parse pending tasks header ${t.headers[e.DecafHeaders.PENDING_TASK]}: ${s}`)}}};class v extends w{constructor(e,t){super(e,P,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)}}v.decoration();const x="##VERSION##",N="##PACKAGE##";r.Metadata.registerLibrary(N,x),e.AxiosFlavour=P,e.AxiosHttpAdapter=v,e.HttpAdapter=w,e.HttpPaginator=O,e.HttpStatement=E,e.PACKAGE_NAME=N,e.RestRepository=y,e.RestService=m,e.ServerEventConnector=b,e.TaskResponseParser=S,e.VERSION=x,e.suffixMethod=_},"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","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","listeners","Set","isOpen","es","controller","abort","clear","delete","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","status","onMessage","event","onEvent","addListener","add","removeListener","HttpDispatcher","Dispatch","initialized","listening","initialize","INITIALIZATION","info","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","debug","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.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,Dispatch as l,Adapter as h,QueryError as d,PagingError as u,MigrationError as g,ObserverError as p,AuthorizationError as f,ForbiddenError as m,ConnectionError as y}from"@decaf-ts/core";import{Decoration as w,apply as O,methodMetadata as b,Metadata as A}from"@decaf-ts/decoration";import{OperationKeys as E,wrapMethodWithContext as v,InternalError as x,NotFoundError as N,ConflictError as T,BadRequestError as $,ValidationError as S,SerializationError as R,BulkCrudOperationKeys as P}from"@decaf-ts/db-decorators";import{Model as C,Serialization as I,ModelKeys as _}from"@decaf-ts/decorator-validation";import{__decorate as q,__metadata as D}from"tslib";import{toKebabCase as F}from"@decaf-ts/logging";import{EventSourcePlus as L}from"event-source-plus";import{Axios as j}from"axios";var B,G,J,z,M,U,k;class Y extends e{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}url(t,e,s){return this.adapter.url(t,e,s)}async paginateBy(t,e,r={offset:1,limit:10},...i){const{offset:n,bookmark:a,limit:o}=r,{log:c,ctxArgs:l}=(await this.logCtx(i,s.PAGE_BY,!0)).for(this.paginateBy);c.verbose(`paginating ${C.tableName(this.class)} with page size ${o}`);const h={direction:e,limit:o};return a&&(h.bookmark=a),this.statement(this.paginateBy.name,t,n,h,...l)}async listBy(t,e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,s.LIST_BY,!0)).for(this.listBy);return i.verbose(`listing ${C.tableName(this.class)} by ${t} ${e}`),await this.statement(this.listBy.name,t,{direction:e},...n)}async findBy(t,e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,s.FIND_BY,!0)).for(this.findBy);return i.verbose(`finding ${C.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findBy.name,t,e,{},...n)}async findOneBy(t,e,...r){const{log:i,ctxArgs:n}=(await this.logCtx(r,s.FIND_ONE_BY,!0)).for(this.findOneBy);return i.verbose(`finding ${C.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findOneBy.name,t,e,{},...n)}async 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 ${C.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 ${C.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=C.pk(this.class),r=C.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 ${C.tableName(this.class)}${t?" by "+t:""}`);const n=t?[t,{}]:[{}];return await this.statement(this.countOf.name,...n,...i)}async maxOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.MAX_OF,!0)).for(this.maxOf);return r.verbose(`finding max of ${t} in ${C.tableName(this.class)}`),await this.statement(this.maxOf.name,t,{},...i)}async minOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.MIN_OF,!0)).for(this.minOf);return r.verbose(`finding min of ${t} in ${C.tableName(this.class)}`),await this.statement(this.minOf.name,t,{},...i)}async avgOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.AVG_OF,!0)).for(this.avgOf);return r.verbose(`calculating avg of ${t} in ${C.tableName(this.class)}`),await this.statement(this.avgOf.name,t,{},...i)}async sumOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.SUM_OF,!0)).for(this.sumOf);return r.verbose(`calculating sum of ${t} in ${C.tableName(this.class)}`),await this.statement(this.sumOf.name,t,{},...i)}async distinctOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.DISTINCT_OF,!0)).for(this.distinctOf);return r.verbose(`finding distinct values of ${t} in ${C.tableName(this.class)}`),await this.statement(this.distinctOf.name,t,{},...i)}async groupOf(t,...e){const{log:r,ctxArgs:i}=(await this.logCtx(e,s.GROUP_OF,!0)).for(this.groupOf);return r.verbose(`grouping ${C.tableName(this.class)} by ${t}`),await this.statement(this.groupOf.name,t,{},...i)}}q([t(),D("design:type",Function),D("design:paramtypes",[String,String,void 0]),D("design:returntype",Promise)],Y.prototype,"find",null),q([t(),D("design:type",Function),D("design:paramtypes",[String,String,Object,void 0]),D("design:returntype",Promise)],Y.prototype,"page",null),q([t(),D("design:type",Function),D("design:paramtypes",[Object,void 0]),D("design:returntype",Promise)],Y.prototype,"countOf",null),q([t(),D("design:type",Function),D("design:paramtypes",["function"==typeof(B="undefined"!=typeof K&&K)?B:Object,void 0]),D("design:returntype",Promise)],Y.prototype,"maxOf",null),q([t(),D("design:type",Function),D("design:paramtypes",["function"==typeof(G="undefined"!=typeof K&&K)?G:Object,void 0]),D("design:returntype",Promise)],Y.prototype,"minOf",null),q([t(),D("design:type",Function),D("design:paramtypes",["function"==typeof(J="undefined"!=typeof K&&K)?J:Object,void 0]),D("design:returntype",Promise)],Y.prototype,"avgOf",null),q([t(),D("design:type",Function),D("design:paramtypes",["function"==typeof(z="undefined"!=typeof K&&K)?z:Object,void 0]),D("design:returntype",Promise)],Y.prototype,"sumOf",null),q([t(),D("design:type",Function),D("design:paramtypes",["function"==typeof(M="undefined"!=typeof K&&K)?M:Object,void 0]),D("design:returntype",Promise)],Y.prototype,"distinctOf",null),q([t(),D("design:type",Function),D("design:paramtypes",["function"==typeof(U="undefined"!=typeof K&&K)?U:Object,void 0]),D("design:returntype",Promise)],Y.prototype,"groupOf",null);class H extends Y{constructor(t,e){super(t,e),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return C.tableName(this.class)+" REST service"}}class Q 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 V 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 X{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 X(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){this.url=t,this.listeners=new Set}isOpen(){return void 0!==this.es}close(){if(this.es&&0>=this.listeners.size)try{this.controller?.abort()}finally{this.controller=void 0,this.es=void 0,this.listeners.clear(),X.cache.delete(this.url)}}startListening(t,e){if(this.es)return;const s=this.url;this.es=new L(s,{headers:e,credentials:"include"}),this.controller=this.es.listen({onResponse:()=>{},onRequestError:({error:e})=>{t.onError((e?.message??e)+"")},onResponseError:({response:e})=>{t.onError("HTTP "+e.status)},onMessage:e=>{const s=e&&"object"==typeof e&&"data"in e?e.data:e,r=X.parseReceivedEvent(s);r&&t.onEvent(r)}})}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}}class W extends l{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.verbose("No adapter observed for dispatch; skipping initialization")}async startListening(...t){if(!this.initialized||!this.adapter)throw Error("Cannot start listening before call initialize()");const{log:e}=this.logCtx(t,this.startListening),{protocol:s,host:r,eventsListenerPath:i}=this.adapter.config;if(!i)throw Error("No eventsListenerPath specified");const n=new URL(i,`${s}://${r}`).toString();this.connector=X.open(n),this.connector.startListening({onEvent:async t=>{const[e,s,r,...i]=t,{log:n,ctxArgs:a}=(await this.logCtx(i,s,!0)).for("onEvent");super.updateObservers(e,s,r,...a).catch(t=>n.error("Failed to dispatch SSE event",t))},onError:t=>e.error(t)}),this.listening=!0,e.info(`Initializing event listener for adapter ${this.adapter} at ${n}.`)}async close(...t){this.connector?.close()}}function Z(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"})(k||(k={}));class tt extends h{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=>{Z(this,t,e=>r.parseResponse.call(r,void 0,t.name,e),t.name)}),v(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 W}repository(){return H}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[C.pk(t.constructor)]}}revert(t,e,s,...r){const{log:n}=this.logCtx(r,this.revert),a={},o="string"==typeof e?C.build(a,e):new e(a);n.silly(`Rebuilding model ${o.constructor.name} id ${s}`);const c="string"==typeof e?C.get(e):e;if(!c)throw new x("Failed to retrieve model constructor for "+e);const l=new c(t),h=t[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(C.tableName(t))}toHeaders(t){const e={};if(this.config.headers){const s=t.getOrUndefined("correlationId");s&&(e[k.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=C.composed(t,C.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 Q(this,t)}Paginator(t,e,s){return new V(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(N.name)||s.includes("404")?new N(t):s.includes(T.name)||s.includes("409")?new T(t):s.includes($.name)||s.includes("400")?new $(t):s.includes(S.name)||s.includes("422")?new S(t):s.includes(d.name)?new d(t):s.includes(u.name)?new u(t):s.includes(c.name)?new c(t):s.includes(g.name)?new g(t):s.includes(p.name)?new p(t):s.includes(f.name)?new f(t):s.includes(m.name)?new m(t):s.includes(y.name)?new y(t):s.includes(R.name)?new R(t):new x(t)}static decoration(){super.decoration(),w.for(i.QUERY).define({decorator:e=>(s,r,n)=>O(b(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()}}tt.decoration();const et="axios",st=(t,e)=>{if(t.headers&&t.headers[k.PENDING_TASK]){let s;try{s=JSON.parse(t.headers[k.PENDING_TASK]),Object.entries(s).forEach(([t,s])=>{s.forEach(s=>e.pushPending(t,s))})}catch(s){e.logger.for(st).error(`Failed to parse pending tasks header ${t.headers[k.PENDING_TASK]}: ${s}`)}}};class rt extends tt{constructor(t,e){super(t,et,e)}getClient(){return new j({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 x("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,{[_.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,{[_.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,{[_.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,{[_.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 tt.parseError(t,...e)}}rt.decoration();const it="##VERSION##",nt="##PACKAGE##";A.registerLibrary(nt,it);export{et as AxiosFlavour,rt as AxiosHttpAdapter,k as DecafHeaders,tt as HttpAdapter,V as HttpPaginator,Q as HttpStatement,nt as PACKAGE_NAME,Y as RestRepository,H as RestService,X as ServerEventConnector,st as TaskResponseParser,it as VERSION,Z 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","cache","Map","get","has","Error","open","connector","set","close","parseReceivedEvent","raw","JSON","parse","eventName","operationKey","objectId","rawPayload","String","Serialization","listeners","Set","isOpen","es","controller","abort","clear","delete","startListening","handlers","headers","EventSourcePlus","credentials","listen","onResponse","onRequestError","error","onError","message","onResponseError","status","onMessage","event","onEvent","addListener","add","removeListener","HttpDispatcher","Dispatch","initialized","listening","initialize","INITIALIZATION","info","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","debug","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":"y8BAAYA,ECkDN,MAAOC,UAIHC,EAOR,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,EAAsBC,SAAS,IACvDC,IAAIxB,KAAKW,YACXQ,EAAIM,QACF,cAAcC,EAAMlB,UAAUR,KAAK2B,yBAAyBX,KAG9D,MAAMY,EAA+B,CACnCC,UAAWhB,EACXG,MAAOA,GAKT,OAHIE,IACFU,EAAOV,SAAWA,GAEblB,KAAK8B,UACV9B,KAAKW,WAAWoB,KAChBnB,EACAG,EACAa,KACGR,EAEP,CAES,YAAMY,CACbpB,EACAC,KACGI,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBW,SAAS,IACvDT,IAAIxB,KAAKgC,QAIX,OAHAb,EAAIM,QACF,WAAWC,EAAMlB,UAAUR,KAAK2B,aAAaf,KAAiBC,WAElDb,KAAK8B,UACjB9B,KAAKgC,OAAOD,KACZnB,EACA,CAAEiB,UAAWhB,MACVO,EAEP,CAES,YAAMc,CACbtB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBc,SAAS,IACvDZ,IAAIxB,KAAKkC,QAIX,OAHAf,EAAIM,QACF,WAAWC,EAAMlB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKkC,OAAOH,KACZnB,EACAuB,EACA,MACGf,EAEP,CAES,eAAMiB,CACbzB,EACAuB,KACGlB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBgB,aAAa,IAC3Dd,IAAIxB,KAAKqC,WAIX,OAHAlB,EAAIM,QACF,WAAWC,EAAMlB,UAAUR,KAAK2B,eAAef,KAAiBuB,WAEpDnC,KAAK8B,UACjB9B,KAAKqC,UAAUN,KACfnB,EACAuB,EACA,MACGf,EAEP,CAGS,UAAMmB,CACbJ,EACAtB,EAAwB2B,EAAeC,OACpCxB,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBoB,MAAM,IACpDlB,IAAIxB,KAAKuC,MAIX,OAHApB,EAAIM,QACF,WAAWC,EAAMlB,UAAUR,KAAK2B,4CAEpB3B,KAAK8B,UACjB9B,KAAKuC,KAAKR,KACVI,EACAtB,KACGO,EAEP,CAGe,UAAAuB,CACbR,EACAN,EAA4BW,EAAeC,IAC3C3B,EAA+C,CAC7CC,OAAQ,EACRC,MAAO,OAENC,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBsB,MAAM,IACpDpB,IAAIxB,KAAK2C,MAIX,OAHAxB,EAAIM,QACF,UAAUC,EAAMlB,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,EAAgBC,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,EAAsBoB,MAC/BX,IAAST,EAAsBW,SAC/BF,IAAST,EAAsBc,QAExBgB,MAAMC,QAAQY,GACjBA,EAAOC,IAAKC,GAAWnE,KAAKoE,aAAaD,EAAQtB,IACjDoB,EAGFlC,IAAST,EAAsBgB,YAC1BtC,KAAKoE,aAAaH,EAAQpB,GAIjCd,IAAST,EAAsBsB,MAC/Bb,IAAST,EAAsBC,QAExBvB,KAAKqE,kBAAkBJ,EAAQpB,GAGjCoB,EAvBaA,CAwBtB,CAEQ,iBAAAI,CACN1B,EACAE,GAEA,IAAKF,EAAM,OAAOA,EAElB,IAAI2B,EAA4C3B,EAChD,GAA6B,iBAAlB2B,EACT,IACEA,EAAgBC,EAAUC,YAAeF,EAC3C,CAAE,MACA,OAAO3B,CACT,CAGF,OAAI4B,EAAUE,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,EAAMkD,GAAG5E,KAAK2B,OACvBkD,EAAQnD,EAAMoD,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,EAC9BpF,KAAKqB,OAAOJ,EAAMjB,KAAK6D,gBAGnC7D,KAAKqB,OAAOJ,EAAMoE,EAAcC,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,EAAsBkE,UAAU,IACxDhE,IAAIxB,KAAKuF,SACXpE,EAAIM,QACF,YAAYC,EAAMlB,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,EAAsBqE,QAAQ,IACtDnE,IAAIxB,KAAK0F,OAEX,OADAvE,EAAIM,QAAQ,kBAAkBb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAK0F,MAAM3D,KAAMnB,EAAK,MAAOQ,EAC5D,CAGS,WAAMwE,CACbhF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsBuE,QAAQ,IACtDrE,IAAIxB,KAAK4F,OAEX,OADAzE,EAAIM,QAAQ,kBAAkBb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBACzD3B,KAAK8B,UAAU9B,KAAK4F,MAAM7D,KAAMnB,EAAK,MAAOQ,EAC5D,CAGS,WAAM0E,CACblF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsByE,QAAQ,IACtDvE,IAAIxB,KAAK8F,OAEX,OADA3E,EAAIM,QAAQ,sBAAsBb,QAAoBc,EAAMlB,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,EAAsB2E,QAAQ,IACtDzE,IAAIxB,KAAKgG,OAEX,OADA7E,EAAIM,QAAQ,sBAAsBb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBAC7D3B,KAAK8B,UAAU9B,KAAKgG,MAAMjE,KAAMnB,EAAK,MAAOQ,EAC5D,CAGS,gBAAM8E,CACbtF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsB6E,aAAa,IAC3D3E,IAAIxB,KAAKkG,YAIX,OAHA/E,EAAIM,QACF,8BAA8Bb,QAAoBc,EAAMlB,UAAUR,KAAK2B,gBAE3D3B,KAAK8B,UACjB9B,KAAKkG,WAAWnE,KAChBnB,EACA,MACGQ,EAEP,CAGS,aAAMgF,CACbxF,KACGK,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAMK,EAAsB+E,UAAU,IACxD7E,IAAIxB,KAAKoG,SAEX,OADAjF,EAAIM,QAAQ,YAAYC,EAAMlB,UAAUR,KAAK2B,aAAaf,WAC5CZ,KAAK8B,UACjB9B,KAAKoG,QAAQrE,KACbnB,EACA,MACGQ,EAEP,EAlRekF,EAAA,CADdC,4GAkBA7G,EAAA8G,UAAA,OAAA,MAGcF,EAAA,CADdC,mHAuBA7G,EAAA8G,UAAA,OAAA,MAoIcF,EAAA,CADdC,qGAiBA7G,EAAA8G,UAAA,UAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADC,sBAAAC,GAAAA,GAACD,EAAAxG,YAAA,oCAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADG,sBAAAD,GAAAA,GAACC,EAAA1G,YAAA,oCAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADI,sBAAAF,GAAAA,GAACE,EAAA3G,YAAA,oCAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADK,sBAAAH,GAAAA,GAACG,EAAA5G,YAAA,oCAQPR,EAAA8G,UAAA,QAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADM,sBAAAJ,GAAAA,GAACI,EAAA7G,YAAA,oCAePR,EAAA8G,UAAA,aAAA,MAGcF,EAAA,CADdC,8BAEME,EAAA,oBAAA,CAAC,mBAADO,sBAAAL,GAAAA,GAACK,EAAA9G,YAAA,oCAaPR,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,EAAMlB,UAAUR,KAAK2B,OAAxB,eACT,ECvEI,MAAO0F,UAIHC,EACR,WAAA1H,CAAYC,EAAY0H,GACtBxH,MAAMF,EAAS0H,EACjB,CAEmB,KAAAC,GACjB,MAAM,IAAIC,EACR,4IAEJ,CAEmB,cAAAC,CAEjBC,KAEG1G,GAEH,MAAM,IAAIwG,EACR,4IAEJ,EClBI,MAAOG,UAIHrD,EACR,WAAA3E,CAAYC,EAAY2D,EAAUqE,EAAc/H,GAC9CC,MAAMF,EAAS2D,EAAOqE,EAAM/H,EAC9B,CAEmB,kBAAMgI,CACvBnF,KACGoF,GAEH,MAAMC,EAAOrI,EAAWsI,SAASjI,KAAKF,MAAOE,KAAKH,QAAQqI,OACpDpG,EAAY9B,KAAKwD,OACjBC,OAAEA,EAAMxC,KAAEA,EAAIW,OAAEA,GAAWE,EAC3BqG,EAAaC,OACjB,IAAI9G,EAAsBc,WAAWd,EAAsBW,UAC3D,MAEF,IAAKwB,EAAO4E,MAAMF,GAChB,MAAM,IAAIV,EACR,UAAUhE,qCAEd0E,EAAOG,UAAY,EACnB,MAEMC,EAAe,CAFD9E,EAAO+E,QAAQL,EAAQ7G,EAAsBC,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,EACR,sGAEJ,CAES,IAAA9E,CACPA,EAAe,KACZ1B,GAEH,OAAOlB,MAAM4C,KAAKA,KAAS1B,EAC7B,QCjEW8H,SACa/I,KAAAgJ,MAAQ,IAAIC,GAAoC,CAExE,UAAOC,CAAI3I,GACT,GAAIP,KAAKgJ,MAAMG,IAAI5I,GAAM,OAAOP,KAAKgJ,MAAME,IAAI3I,GAE/C,MAAU6I,MACR,6CAA6C7I,qCAEjD,CAEA,WAAO8I,CAAK9I,GACV,GAAIP,KAAKgJ,MAAMG,IAAI5I,GAAM,OAAOP,KAAKgJ,MAAME,IAAI3I,GAE/C,MAAM+I,EAAY,IAAIP,EAAqBxI,GAE3C,OADAP,KAAKgJ,MAAMO,IAAIhJ,EAAK+I,GACbtJ,KAAKgJ,MAAME,IAAI3I,EACxB,CAEA,YAAOiJ,CAAMjJ,GACPP,KAAKgJ,MAAMG,IAAI5I,IACCP,KAAKgJ,MAAME,IAAI3I,GACvBiJ,OAEd,CAEQ,yBAAOC,CAAmBC,GAChC,IACE,MAAMhF,EAAsB,iBAARgF,EAAmBC,KAAKC,MAAMF,GAAOA,EACzD,IAAKtG,MAAMC,QAAQqB,IAAuB,EAAdA,EAAKvB,OAAY,OAAO,KAEpD,MAAO0G,EAAWC,EAAcC,EAAUC,GAActF,EACxD,MAAyB,iBAAdmF,EAA+B,KAOnC,CAACA,EAAkBC,EAAPG,GAAsBF,EAJjB,iBAAfC,EACHE,EAAc1F,YAAYwF,GAC1BA,EAGR,CAAE,MACA,OAAO,IACT,CACF,CAQA,WAAApK,CAA6BW,GAAAP,KAAAO,IAAAA,EAFrBP,KAAAmK,UAAgC,IAAIC,GAED,CAE3C,MAAAC,GACE,YAAmB/G,IAAZtD,KAAKsK,EACd,CAEA,KAAAd,GACE,GAAKxJ,KAAKsK,IAEgB,GAAtBtK,KAAKmK,UAAUtC,KAGnB,IACE7H,KAAKuK,YAAYC,OACnB,SACExK,KAAKuK,gBAAajH,EAClBtD,KAAKsK,QAAKhH,EACVtD,KAAKmK,UAAUM,QACf1B,EAAqBC,MAAM0B,OAAO1K,KAAKO,IAEzC,CACF,CAMA,cAAAoK,CACEC,EACAC,GAIA,GAAI7K,KAAKsK,GAAI,OAEb,MAAM/J,EAAMP,KAAKO,IAEjBP,KAAKsK,GAAK,IAAIQ,EAAgBvK,EAAK,CACjCsK,UACAE,YAAa,YAGf/K,KAAKuK,WAAavK,KAAKsK,GAAGU,OAAO,CAC/BC,WAAY,OAGZC,eAAgB,EAAGC,YAEjBP,EAASQ,SAAgBD,GAAeE,SAAWF,GAAlClB,KAEnBqB,gBAAiB,EAAG1H,eAElBgH,EAASQ,QAAQ,QAAQxH,EAAS2H,SAEpCC,UAAYH,IACV,MAAM3B,EACJ2B,GAA8B,iBAAZA,GAAwB,SAAUA,EAChDA,EAAQ3G,KACR2G,EAEAI,EAAQ1C,EAAqBU,mBAAmBC,GACjD+B,GACLb,EAASc,QAAQD,KAOvB,CAEQ,WAAAE,CAAYf,GAClB5K,KAAKmK,UAAUyB,IAAIhB,EACrB,CAEQ,cAAAiB,CAAejB,GACrB5K,KAAKmK,UAAUO,OAAOE,EACxB,ECxHI,MAAOkB,UAAuBC,EAApC,WAAAnM,uBAKUI,KAAAgM,aAAc,EACdhM,KAAAiM,WAAY,CAgFtB,CA1EqB,gBAAMC,IACpBjL,GAEH,MAAME,IAAEA,EAAGC,QAAEA,UACLpB,KAAKqB,OAAOJ,EAAM6B,EAAgBqJ,gBAAgB,IACxD3K,IAAIxB,KAAKkM,YAENlM,KAAKH,SAQVsB,EAAIiL,KACF,gBAAgBpM,KAAKH,oDAEvBG,KAAKgM,aAAc,QACbhM,KAAK2K,kBAAkBvJ,IAR3BD,EAAIM,QAAQ,4DAShB,CAKA,oBAAMkJ,IAAkB1J,GACtB,IAAKjB,KAAKgM,cAAgBhM,KAAKH,QAC7B,MAAUuJ,MAAM,mDAElB,MAAMjI,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAK2K,iBAGjC0B,SAAEA,EAAQC,KAAEA,EAAIC,mBAAEA,GAAuBvM,KAAKH,QACjD2M,OAEH,IAAKD,EAAoB,MAAUnD,MAAM,mCAEzC,MAAMqD,EAAe,IAAIC,IACvBH,EACA,GAAGF,OAAcC,KACjBlF,WACFpH,KAAKsJ,UAAYP,EAAqBM,KAAKoD,GAE3CzM,KAAKsJ,UAAUqB,eAAe,CAC5Be,QAASiB,MAAOlB,IACd,MAAOjL,EAAWoM,EAAW5H,KAAO/D,GAAQwK,GACtCtK,IAAEA,EAAGC,QAAEA,UAAmBpB,KAAKqB,OAAOJ,EAAM2L,GAAW,IAAOpL,IAClE,WAGFzB,MACG8M,gBACCrM,EACAoM,EACA5H,KACI5D,GAEL0L,MAAOC,GAAM5L,EAAIgK,MAAM,+BAAgC4B,KAE5D3B,QAAU2B,GAAW5L,EAAIgK,MAAM4B,KAGjC/M,KAAKiM,WAAY,EACjB9K,EAAIiL,KACF,2CAA2CpM,KAAKH,cAAc4M,KAElE,CAES,WAAMjD,IAEVvI,GAEHjB,KAAKsJ,WAAWE,OAClB,EC1CI,SAAUwD,EACdC,EACAC,EACAC,EACAC,GAEA,MAAMrL,EAAOqL,GAA0BF,EAAOnL,KAC9CkL,EAAIlL,GAAQ,IAAIsL,MAAMJ,EAAIlL,GAAO,CAC/B6G,MAAO+D,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,CP1EA,CAAYhO,IACVA,EAAA,aAAA,iBACAA,EAAA,eAAA,kBACD,EAHD,CAAYA,IAAAA,EAAY,CAAA,IO2GlB,MAAgBmO,WAMZC,EACR,WAAAjO,CAAsB4M,EAAcsB,EAAiB5F,GACnDnI,MACEG,OAAOC,OAAO,CAAA,EAAIqM,EAAQ,CACxB3B,aAAmC,IAAnB2B,EAAO3B,SAAiC2B,EAAO3B,UAEjEiD,EACA5F,GAIF,MAAM6F,EAAO/N,KACb,CACEA,KAAKgO,OACLhO,KAAKiO,KACLjO,KAAKkO,OACLlO,KAAK0K,OACL1K,KAAKmO,UACLnO,KAAKoO,QACLpO,KAAKqO,UACLrO,KAAKsO,WACLC,QAAS9K,IACTuJ,EACEhN,KACAyD,EACC+K,GACCT,EAAKhK,cAAc2J,KAAKK,OAAMzK,EAAWG,EAAO1B,KAAMyM,GACxD/K,EAAO1B,QAGX0M,EACEzO,KACA,IAAIiB,IAAgBA,EACpBjB,KAAK6D,QACL,CAAC2K,EAAU3L,KACT,MAAM6L,EAAUX,EAAKvB,OAAOkC,QAC5B,OAAKA,GACLA,EAAQH,QAASI,GAAMA,EAAEH,EAAK3L,IACvB2L,GAFcA,GAIvBxO,KAAK6D,QAAQ9B,KAEjB,CAYmB,WAAM6M,CACvBhC,EACAiC,EACAtH,GAEA,OAAOxH,MAAM6O,MACXhC,EACAiC,EACA3O,OAAOC,OACL,CACE0K,QAAStD,EAAUsD,SAAW,CAAA,GAEhCtD,GAGN,CAEmB,QAAAwE,GACjB,OAAO,IAAID,CACb,CASS,UAAAgD,GAGP,OAAO7H,CACT,CAYS,OAAA4B,CACPgG,KACG5N,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAK6I,SACjC5E,EAAS/D,OAAOC,OAAO,CAAA,EAAI0O,GAajC,OAZKA,EAAc/L,EAAgBiM,YACjC5N,EAAI6N,MACF,0CAA2CH,EAAc/L,EAAgBiM,WAE3E7O,OAAO+O,eAAehL,EAAQnB,EAAgBiM,SAAU,CACtDG,YAAY,EACZC,UAAU,EACVC,cAAc,EACdjN,MAAQ0M,EAAc/L,EAAgBiM,aAInC,CACL5K,OAAQ0K,EACR7J,GAAI6J,EAAMnN,EAAMkD,GAAGiK,EAAMjP,cAE7B,CAaS,MAAAqF,CACPgI,EACAnN,EACAkF,KACG/D,GAEH,MAAME,IAAEA,GAAQnB,KAAKqB,OAAOJ,EAAMjB,KAAKiF,QACjCoK,EAA0B,CAAA,EAC1BC,EACa,iBAAVxP,EAAqB4B,EAAM8F,MAAM6H,EAAIvP,GAAS,IAAIA,EAAMuP,GAEjElO,EAAI6N,MAAM,oBAAoBM,EAAE1P,YAAYmC,WAAWiD,KACvD,MAAMuK,EAA0B,iBAAVzP,EAAqB4B,EAAMwH,IAAIpJ,GAASA,EAC9D,IAAKyP,EACH,MAAM,IAAIC,EACR,4CAA4C1P,GAEhD,MAAMmE,EAAS,IAAKsL,EAA0BtC,GACxCwC,EAAWxC,EAAInK,EAAgBiM,UAarC,OAZIU,IACFtO,EAAI6N,MACF,iBAAiBhP,KAAK8N,oCAAoCwB,EAAE1P,YAAYmC,WAAWiD,MAAOyK,KAE5FvP,OAAO+O,eAAehL,EAAQnB,EAAgBiM,SAAU,CACtDG,YAAY,EACZE,cAAc,EACdD,UAAU,EACVhN,MAAOsN,KAIJxL,CACT,CAEU,WAAAyL,CAA6BC,GACrC,MAAoB,iBAANA,EAAiBA,EAAIC,EAAYlO,EAAMlB,UAAUmP,GACjE,CAEU,SAAAE,CAAUhN,GAClB,MAAMiN,EAA+B,CAAA,EACrC,GAAI9P,KAAKwM,OAAO3B,QAAS,CACvB,MAAMkF,EAAgBlN,EAAImN,eAAe,iBACrCD,IAAeD,EAAQrQ,EAAawQ,gBAAkBF,EAC5D,CACA,MAAO,IAAKD,KAAajN,EAAImN,eAAe,YAAc,CAAA,EAC5D,CAgDA,GAAAzP,CACEC,EACAC,EACAC,GAEKA,GACCD,IAAe2C,MAAMC,QAAQ5C,KAC/BC,EAAcD,EACdA,EAAa,IAIjBD,EAAYR,KAAK0P,YAAYlP,GAC7B,MAAMD,EAAM,IAAImM,IACd,GAAG1M,KAAKwM,OAAOH,cAAcrM,KAAKwM,OAAOF,QAAQ9L,IAAYC,GAAcA,EAAW0C,OAAS,IAAK1C,EAAwByP,KAAK,KAAS,MAa5I,OAXIxP,GACFR,OAAOiQ,QAAQzP,GAAa6N,QAAQ,EAAE3N,EAAKuB,MACrCiB,MAAMC,QAAQlB,GAChBA,EAAMoM,QAAS6B,GAAM7P,EAAI8P,aAAaC,OAAO1P,EAAKwP,EAAEhJ,aAC1B,iBAAVjF,EAChB5B,EAAI8P,aAAaC,OAAO1P,EAAK+I,KAAK4G,UAAUpO,SAClB,IAAVA,GAChB5B,EAAI8P,aAAaC,OAAO1P,EAAKuB,EAAMiF,cAIlC7G,EAAI6G,UACb,CAiBU,aAAAoJ,CACR3B,EACA7J,GAEA,MAAMyL,EAAQzL,EAAGoC,WACjB,GAAqB,iBAAVyH,EAAoB,MAAO,CAAC4B,GACvC,MAAMC,EAAWhP,EAAMgP,SAAS7B,EAAOnN,EAAMkD,GAAGiK,IAChD,OAAK6B,EACED,EAAME,MAAMD,EAASE,WADN,CAACH,EAEzB,CAEA,aAAA1M,CACEjE,EACA2D,EACA+K,GAEA,OAAI1O,GAASyE,EAAUE,iBAAiB+J,GAC/BtO,OAAOC,OAAO,CAAA,EAAIqO,EAAK,CAC5B9J,KAAM8J,EAAI9J,KAAKR,IAAK2M,GAAW,IAAI/Q,EAAM+Q,MAGtCrC,CACT,CA8EA,GAAA9E,CAAOoH,KAAgB7P,GACrB,MAAMG,QAAEA,EAAOyB,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK0J,KAC1ChG,EAAM1D,KAAK2D,UAAUmN,EAAUjO,GACrC,OAAO7C,KAAK6D,QAAQH,KAAQtC,EAC9B,CAYS,QAAA2P,CAASC,GAChB,OAAOrD,QAAQsD,OACb,IAAIxJ,EACF,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,EACR,yFAEJ,CAEA,iBAAOyJ,CACLC,KAEGlQ,GAEH,MAAMmQ,EAAqB,iBAARD,EAAmBA,EAAMA,EAAI9F,QAChD,OAAI+F,EAAIC,SAASC,EAAcvP,OAASqP,EAAIC,SAAS,OAC5C,IAAIC,EAAcH,GACvBC,EAAIC,SAASE,EAAcxP,OAASqP,EAAIC,SAAS,OAC5C,IAAIE,EAAcJ,GACvBC,EAAIC,SAASG,EAAgBzP,OAASqP,EAAIC,SAAS,OAC9C,IAAIG,EAAgBL,GACzBC,EAAIC,SAASI,EAAgB1P,OAASqP,EAAIC,SAAS,OAC9C,IAAII,EAAgBN,GACzBC,EAAIC,SAASK,EAAW3P,MAAc,IAAI2P,EAAWP,GACrDC,EAAIC,SAASM,EAAY5P,MAAc,IAAI4P,EAAYR,GACvDC,EAAIC,SAAS5J,EAAiB1F,MACzB,IAAI0F,EAAiB0J,GAC1BC,EAAIC,SAASO,EAAe7P,MAAc,IAAI6P,EAAeT,GAC7DC,EAAIC,SAASQ,EAAc9P,MAAc,IAAI8P,EAAcV,GAC3DC,EAAIC,SAASS,EAAmB/P,MAC3B,IAAI+P,EAAmBX,GAC5BC,EAAIC,SAASU,EAAehQ,MAAc,IAAIgQ,EAAeZ,GAC7DC,EAAIC,SAASW,EAAgBjQ,MACxB,IAAIiQ,EAAgBb,GACzBC,EAAIC,SAASY,EAAmBlQ,MAC3B,IAAIkQ,EAAmBd,GACzB,IAAI3B,EAAc2B,EAC3B,CAEA,iBAAgBe,GACdnS,MAAMmS,aA0CNC,EAAW3Q,IAAIsB,EAAgBsP,OAC5BC,OAAO,CACNC,UA3CWtB,GACN,CAAe/D,EAAasF,EAAYC,IAgCtC5J,EACL6J,EAAeC,EAAS9R,IAAIkC,EAAgBsP,MAAOG,GAAOvB,GAC1DzK,IA/BO,CACL0G,EACA0F,EACAH,KAECA,EAA4CrQ,MAAQ,IAAIkL,MACtDmF,EAA4CrQ,MAC7C,CACE,WAAMyG,CACJ0E,EACAC,EACAtM,GAEA,MAAM+G,EAAOuF,GACPpM,IAAEA,EAAGC,QAAEA,UACL4G,EAAa,OAAE/G,EAAMoE,EAAcC,MAAM,IAC/C9D,IAAI+Q,GAGN,OAFApR,EAAIM,QAAQ,8BAA8B6L,EAAOvL,MACjDZ,EAAIyR,MAAM,cAAcjJ,KAAK4G,UAAUtP,EAAM,KAAM,IAC3CsM,EAAiCzL,UACvCwL,EAAOvL,QACJX,EAEP,GAGN,EAGKwH,CAILqE,EAAKsF,EAAMC,KAQd5J,OACL,EAGFgF,GAAYsE,aC/mBL,MAAMW,GAAe,QAEfC,GAAqC,CAChDtE,EACA3L,KAEA,GAAI2L,EAAI3D,SAAW2D,EAAI3D,QAAQpL,EAAasT,cAAe,CACzD,IAAIC,EACJ,IACEA,EAAUrJ,KAAKC,MAAM4E,EAAI3D,QAAQpL,EAAasT,eAC9C7S,OAAOiQ,QAAQ6C,GAASzE,QAAQ,EAAE3N,EAAKuB,MACrCA,EAAMoM,QAAS6B,GAAMvN,EAAIoQ,YAAYrS,EAAKwP,KAE9C,CAAE,MAAOrD,GACPlK,EAAIqQ,OACD1R,IAAIsR,IACJ3H,MACC,wCAAwCqD,EAAI3D,QAAQpL,EAAasT,kBAAkBhG,IAEzF,CACF,GCsCI,MAAOoG,WAAyBvF,GAOpC,WAAAhO,CAAY4M,EAAoBtE,GAC9BnI,MAAMyM,EAAQqG,GAAc3K,EAC9B,CAEmB,SAAAkL,GACjB,OAAO,IAAIC,EAAM,CACfC,QAAS,GAAGtT,KAAKwM,OAAOH,cAAcrM,KAAKwM,OAAOF,QAEtD,CAQS,SAAA3I,CACP4P,EACA1Q,GAEA,IAAIW,EACAgQ,EAEAD,aAAsBnO,GACxBoO,EAAUD,EACV/P,OAAQF,IAERE,EAAQ+P,EACRC,EAAU3Q,GAGZ,MAAMa,EAA0B,CAAA,EAYhC,OAXI8P,IACF9P,EAAImH,QAAU,IAAMnH,EAAImH,SAAW,MAAQ7K,KAAK6P,UAAU2D,KAExDhQ,IACFE,EAAID,OAAS,MACbC,EAAInD,IAAMP,KAAKO,IACbiD,EAAM7B,MACN,CAACmB,EAAgBC,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,MAAOkK,GAET,CAKA,aAHuB/M,KAAKyT,OAAO5P,QACjC3D,OAAOC,OAAO,CAAA,EAAI+E,EAASqC,GAG/B,CAES,aAAAxD,CACPjE,EACA2D,EACA+K,GAEA,IAAKA,EAAIjD,QAAU9H,IAAWX,EAAgBC,UAC5C,MAAM,IAAIyM,EAAc,6BAC1B,GAAIhB,EAAIjD,QAAU,IAChB,MAAMvL,KAAKkR,WAAY1C,EAAIrD,OAAoBqD,EAAIjD,QACrD,MAAMmI,EAAO1T,KAAK2T,sBAAsBnF,GACxC,OAAQ/K,GACN,KAAKmQ,EAAsBC,WAC3B,KAAKD,EAAsBE,SAC3B,KAAKF,EAAsBG,WAC3B,KAAKH,EAAsBI,WAC3B,KAAK3O,EAAc4O,OACnB,KAAK5O,EAAcC,KACnB,KAAKD,EAAc6O,OACnB,KAAK7O,EAAc8O,OACjB,OAAOT,EACT,KAAKpS,EAAsBoB,KAC3B,KAAKpB,EAAsBsB,KAC3B,KAAKtB,EAAsBc,QAC3B,KAAKd,EAAsBW,QAC3B,KAAKX,EAAsBC,QAC3B,KAAKD,EAAsBgB,YAC3B,KAAKQ,EAAgBC,UACnB,OAAOhD,MAAMgE,cAAcjE,EAAO2D,EAAQiQ,GAC5C,KAAKpS,EAAsBkE,SAC3B,KAAKlE,EAAsBqE,OAC3B,KAAKrE,EAAsBuE,OAC3B,KAAKvE,EAAsByE,OAC3B,KAAKzE,EAAsB2E,OAG3B,KAAK3E,EAAsB6E,YAEzB,OAAOuN,EACT,KAAKpS,EAAsB+E,SAEzB,GAAIvG,GAAyB,iBAAT4T,GAA8B,OAATA,EAAe,CACtD,MAAMzP,EAA8B,CAAA,EACpC,IAAK,MAAOrD,EAAKuB,KAAUjC,OAAOiQ,QAAQuD,GAEtCzP,EAAOrD,GADLwC,MAAMC,QAAQlB,GACFA,EAAM+B,IAAK2M,GAAW,IAAI/Q,EAAM+Q,IAEhC1O,EAGlB,OAAO8B,CACT,CACA,OAAOyP,EACT,QACE,OAAOA,EAEb,CAEQ,qBAAAC,CAAsBnF,GAC5B,IAAKA,EAAK,OAAOA,EACjB,MAAM4F,OACgB,IAAb5F,EAAIkF,KACPlF,EAAIkF,UACgB,IAAblF,EAAI9J,KACT8J,EAAI9J,KACJ8J,EACR,GAAyB,iBAAd4F,EACT,IACE,OAAOzK,KAAKC,MAAMwK,EACpB,CAAE,MACA,OAAOA,CACT,CAEF,OAAOA,CACT,CAWS,YAAMpG,CACbxN,EACAwE,EACA6J,KACG5N,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKgO,QAC5C,IACE,MAAMzN,EAAMP,KAAKO,IACfC,EACAR,KAAKwQ,cAAchQ,EAAWwE,IAE1BqP,EAAMrU,KAAK2D,UAAUd,GAiB3B,OAhBA1B,EAAIyR,MACF,cAAcrS,UAAYoJ,KAAK4G,UAAU1B,cAAkBlF,KAAK4G,UAAU8D,YAEvDrU,KAAK6D,QACxB,CACEtD,MACAkD,OAAQ,OACRiB,KAAMiF,KAAK4G,UACTrQ,OAAOC,OAAO,CAAA,EAAI0O,EAAO,CACvB,CAACyF,EAAUC,QAAS/T,EAAUuB,WAG/BsS,GAELxR,EAGJ,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CAES,eAAMoB,CACbrO,EACAkF,EACA6J,KACG5N,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKmO,WAC5C,IACE,MAAM5N,EAAMP,KAAKO,IAAIT,EAAO,CAAC,SACvBuU,EAAMrU,KAAK2D,UAAUd,GAI3B,OAHA1B,EAAIyR,MACF,cAAcrS,UAAYoJ,KAAK4G,UAAU1B,cAAkBlF,KAAK4G,UAAU8D,MAErErU,KAAK6D,QACV,CACEtD,MACAkD,OAAQ,OACRiB,KAAMiF,KAAK4G,UACT1B,EAAM3K,IAAKoL,GACTpP,OAAOC,OAAO,CAAA,EAAImP,EAAG,CACnB,CAACgF,EAAUC,QAASzU,EAAMiC,YAI7BsS,GAELxR,EAEJ,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CAUS,UAAMkB,CACbzN,EACAwE,KACG/D,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKiO,MAC5C,IACE,MAAM1N,EAAMP,KAAKO,IACfC,EACAR,KAAKwQ,cAAchQ,EAAWwE,IAE1BqP,EAAMrU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAIyR,MAAM,eAAerS,aAAeoJ,KAAK4G,UAAU8D,YAC1CrU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,SAAU4Q,GAAOxR,EAC5D,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CACS,aAAMqB,CACb5N,EACAgU,KACGvT,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKoO,SAC5C,IACE,MAAM7N,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAEgU,IAAKA,IAC3CH,EAAMrU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAIyR,MAAM,eAAerS,aAAeoJ,KAAK4G,UAAU8D,YAC1CrU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,SAAU4Q,GAAOxR,EAC5D,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CAWS,YAAMmB,CACb1N,EACAwE,EACA6J,KACG5N,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKkO,QAC5C,IACE,MAAM3N,EAAMP,KAAKO,IACfC,EACAR,KAAKwQ,cAAchQ,EAAWwE,IAE1BqP,EAAMrU,KAAK2D,UAAUd,GAI3B,OAHA1B,EAAIyR,MACF,aAAarS,UAAYoJ,KAAK4G,UAAU1B,cAAkBlF,KAAK4G,UAAU8D,YAE9DrU,KAAK6D,QAChB,CACEtD,MACAkD,OAAQ,MACRiB,KAAMiF,KAAK4G,UACTrQ,OAAOC,OAAO,CAAA,EAAI0O,EAAO,CACvB,CAACyF,EAAUC,QAA+B/T,EAAUuB,WAGrDsS,GAELxR,EAEJ,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CAES,eAAMsB,CACb7N,EACAgU,EACA3F,KACG5N,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAKqO,WAC5C,IACE,MAAM9N,EAAMP,KAAKO,IAAIC,EAAW,CAAC,SAC3B6T,EAAMrU,KAAK2D,UAAUd,GAI3B,OAHA1B,EAAIyR,MACF,aAAarS,UAAYoJ,KAAK4G,UAAU1B,cAAkBlF,KAAK4G,UAAU8D,MAEpErU,KAAK6D,QACV,CACEtD,MACAkD,OAAQ,MACRiB,KAAMiF,KAAK4G,UACT1B,EAAM3K,IAAKoL,GACTpP,OAAOC,OAAO,CAAA,EAAImP,EAAG,CACnB,CAACgF,EAAUC,QAAS/T,EAAUuB,YAIjCsS,GAELxR,EAEJ,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CAUS,YAAM,CACbvM,EACAwE,KACG/D,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK0K,QAC5C,IACE,MAAMnK,EAAMP,KAAKO,IACfC,EACAR,KAAKwQ,cAAchQ,EAAWwE,IAE1BqP,EAAMrU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAIyR,MAAM,kBAAkBrS,aAAeoJ,KAAK4G,UAAU8D,YAC7CrU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,YAAa4Q,GAAOxR,EAC/D,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CAES,eAAMuB,CACb9N,EACAgU,KACGvT,GAEH,MAAME,IAAEA,EAAG0B,IAAEA,GAAQ7C,KAAKqB,OAAOJ,EAAMjB,KAAK0K,QAC5C,IACE,MAAMnK,EAAMP,KAAKO,IAAIC,EAAW,CAAC,QAAS,CAAEgU,IAAKA,IAC3CH,EAAMrU,KAAK2D,UAAUd,GAE3B,OADA1B,EAAIyR,MAAM,kBAAkBrS,aAAeoJ,KAAK4G,UAAU8D,YAC7CrU,KAAK6D,QAAQ,CAAEtD,MAAKkD,OAAQ,YAAa4Q,GAAOxR,EAC/D,CAAE,MAAOkK,GACP,MAAM/M,KAAKkR,WAAWnE,EACxB,CACF,CAES,UAAAmE,CAAgCC,KAAelQ,GACtD,OAAO2M,GAAYsD,WAAWC,KAAQlQ,EACxC,ECncFkS,GAAiBjB,aCcV,MAAMuC,GAAU,cAEVC,GAAe,cAE5BhC,EAASiC,gBAAgBD,GAAcD"}
|
|
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
|
/**
|
|
@@ -25,38 +25,74 @@ class HttpDispatcher extends core_1.Dispatch {
|
|
|
25
25
|
log.info(`Initializing ${this.adapter}'s event Dispatch, but not listening yet.`);
|
|
26
26
|
this.initialized = true;
|
|
27
27
|
await this.startListening(...ctxArgs);
|
|
28
|
+
log.info(`HttpDispatcher initialized for adapter ${this.adapter}.`);
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
31
|
* Enables the dispatcher. SSE will only open and start to listening for events if there is at least one observer.
|
|
31
32
|
*/
|
|
32
33
|
async startListening(...args) {
|
|
33
|
-
if (!this.initialized || !this.adapter)
|
|
34
|
-
throw new Error("Cannot start listening before call initialize()");
|
|
35
34
|
const { log } = this.logCtx(args, this.startListening);
|
|
36
|
-
|
|
35
|
+
if (!this.initialized || !this.adapter) {
|
|
36
|
+
log.error(`Cannot start listening: dispatcher is not initialized or adapter is missing`, {
|
|
37
|
+
initialized: this.initialized,
|
|
38
|
+
hasAdapter: !!this.adapter,
|
|
39
|
+
});
|
|
40
|
+
throw new Error("Cannot start listening before call initialize()");
|
|
41
|
+
}
|
|
42
|
+
if (this.listening) {
|
|
43
|
+
log.warn(`startListening called but dispatcher is already listening`, {
|
|
44
|
+
adapter: String(this.adapter),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
37
47
|
const { protocol, host, eventsListenerPath } = this.adapter
|
|
38
48
|
.config;
|
|
39
|
-
if (!eventsListenerPath)
|
|
49
|
+
if (!eventsListenerPath) {
|
|
50
|
+
log.error(`Cannot start listening: no eventsListenerPath specified`, {
|
|
51
|
+
protocol,
|
|
52
|
+
host,
|
|
53
|
+
});
|
|
40
54
|
throw new Error("No eventsListenerPath specified");
|
|
55
|
+
}
|
|
41
56
|
const listeningUrl = new URL(eventsListenerPath, `${protocol}://${host}`).toString();
|
|
57
|
+
log.info(`Opening ServerEventConnector for url: ${listeningUrl}`);
|
|
42
58
|
this.connector = event_1.ServerEventConnector.open(listeningUrl);
|
|
59
|
+
log.debug(`ServerEventConnector opened successfully for url: ${listeningUrl}`);
|
|
43
60
|
this.connector.startListening({
|
|
44
61
|
onEvent: async (event) => {
|
|
45
62
|
const [tableName, operation, id, ...args] = event;
|
|
46
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
|
+
}
|
|
47
68
|
super
|
|
48
69
|
.updateObservers(tableName, operation, id, ...ctxArgs)
|
|
49
|
-
.catch((e) => log.error(`
|
|
70
|
+
.catch((e) => log.error(`ServerEventConnector failed to updateObservers`, e));
|
|
71
|
+
},
|
|
72
|
+
onError: (e) => {
|
|
73
|
+
log.error(`ServerEventConnector failed to dispatch event`, {
|
|
74
|
+
error: e,
|
|
75
|
+
listeningUrl,
|
|
76
|
+
adapter: String(this.adapter),
|
|
77
|
+
});
|
|
50
78
|
},
|
|
51
|
-
onError: (e) => log.error(e),
|
|
52
79
|
});
|
|
53
80
|
this.listening = true;
|
|
54
|
-
log.info(`
|
|
81
|
+
log.info(`HttpDispatcher is now listening at ${listeningUrl}.`);
|
|
55
82
|
}
|
|
56
83
|
async close(
|
|
57
84
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
58
85
|
...args) {
|
|
86
|
+
// const { log } = this.logCtx(args, this.close);
|
|
87
|
+
//
|
|
88
|
+
// log.debug(`Closing HttpDispatcher`, {
|
|
89
|
+
// hasConnector: !!this.connector,
|
|
90
|
+
// listening: this.listening,
|
|
91
|
+
// initialized: this.initialized,
|
|
92
|
+
// adapter: this.adapter ? String(this.adapter) : undefined,
|
|
93
|
+
// });
|
|
59
94
|
this.connector?.close();
|
|
95
|
+
this.listening = false;
|
|
60
96
|
}
|
|
61
97
|
}
|
|
62
98
|
exports.HttpDispatcher = 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":";;;AAAA,yCAQwB;AACxB,6CAA4D;AAE5D,+CAAiD;AAEjD,MAAa,cAAe,SAAQ,eAEnC;IAFD;;QAKU,cAAS,GAAG,KAAK,CAAC;IA6H5B,CAAC;IA3HC;;;OAGG;IACgB,KAAK,CAAC,UAAU,CACjC,GAAG,IAA6B;QAEhC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CACvB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAe,CAAC,cAAc,EAAE,IAAI,CAAC,CAC9D,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,kEAAkE;YAClE,0EAA0E;YAC1E,qEAAqE;YACrE,GAAG,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CACN,gBAAgB,IAAI,CAAC,OAAO,2CAA2C,CACxE,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC;QAEtC,GAAG,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,GAAG,IAAyB;QAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CACP,6EAA6E,EAC7E;gBACE,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;aAC3B,CACF,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,2DAA2D,EAAE;gBACpE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,OAAO;aACxD,MAAoB,CAAC;QAExB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,GAAG,CAAC,KAAK,CAAC,yDAAyD,EAAE;gBACnE,QAAQ;gBACR,IAAI;aACL,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,kBAAkB,EAClB,GAAG,QAAQ,MAAM,IAAI,EAAE,CACxB,CAAC,QAAQ,EAAE,CAAC;QAEb,GAAG,CAAC,IAAI,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,4BAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzD,GAAG,CAAC,KAAK,CACP,qDAAqD,YAAY,EAAE,CACpE,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,KAAkB,EAAE,EAAE;gBACpC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;gBAClD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CACrE,SAAS,CACV,CAAC;gBAEF,IAAI,SAAS,KAAK,8BAAkB,EAAE,CAAC;oBACrC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBACD,KAAK;qBACF,eAAe,CACd,SAAS,EACT,SAAS,EACT,EAAE,EACF,GAAI,OAA0C,CAC/C;qBACA,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CACX,GAAG,CAAC,KAAK,CAAC,gDAAgD,EAAE,CAAC,CAAC,CAC/D,CAAC;YACN,CAAC;YACD,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gBAClB,GAAG,CAAC,KAAK,CAAC,+CAA+C,EAAE;oBACzD,KAAK,EAAE,CAAC;oBACR,YAAY;oBACZ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC9B,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,sCAAsC,YAAY,GAAG,CAAC,CAAC;IAClE,CAAC;IAEQ,KAAK,CAAC,KAAK;IAClB,6DAA6D;IAC7D,GAAG,IAAwC;QAE3C,iDAAiD;QACjD,EAAE;QACF,wCAAwC;QACxC,oCAAoC;QACpC,+BAA+B;QAC/B,mCAAmC;QACnC,8DAA8D;QAC9D,MAAM;QAEN,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;CACF;AAlID,wCAkIC"}
|
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
|
/**
|
|
@@ -22,38 +22,74 @@ export class HttpDispatcher extends Dispatch {
|
|
|
22
22
|
log.info(`Initializing ${this.adapter}'s event Dispatch, but not listening yet.`);
|
|
23
23
|
this.initialized = true;
|
|
24
24
|
await this.startListening(...ctxArgs);
|
|
25
|
+
log.info(`HttpDispatcher initialized for adapter ${this.adapter}.`);
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
28
|
* Enables the dispatcher. SSE will only open and start to listening for events if there is at least one observer.
|
|
28
29
|
*/
|
|
29
30
|
async startListening(...args) {
|
|
30
|
-
if (!this.initialized || !this.adapter)
|
|
31
|
-
throw new Error("Cannot start listening before call initialize()");
|
|
32
31
|
const { log } = this.logCtx(args, this.startListening);
|
|
33
|
-
|
|
32
|
+
if (!this.initialized || !this.adapter) {
|
|
33
|
+
log.error(`Cannot start listening: dispatcher is not initialized or adapter is missing`, {
|
|
34
|
+
initialized: this.initialized,
|
|
35
|
+
hasAdapter: !!this.adapter,
|
|
36
|
+
});
|
|
37
|
+
throw new Error("Cannot start listening before call initialize()");
|
|
38
|
+
}
|
|
39
|
+
if (this.listening) {
|
|
40
|
+
log.warn(`startListening called but dispatcher is already listening`, {
|
|
41
|
+
adapter: String(this.adapter),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
34
44
|
const { protocol, host, eventsListenerPath } = this.adapter
|
|
35
45
|
.config;
|
|
36
|
-
if (!eventsListenerPath)
|
|
46
|
+
if (!eventsListenerPath) {
|
|
47
|
+
log.error(`Cannot start listening: no eventsListenerPath specified`, {
|
|
48
|
+
protocol,
|
|
49
|
+
host,
|
|
50
|
+
});
|
|
37
51
|
throw new Error("No eventsListenerPath specified");
|
|
52
|
+
}
|
|
38
53
|
const listeningUrl = new URL(eventsListenerPath, `${protocol}://${host}`).toString();
|
|
54
|
+
log.info(`Opening ServerEventConnector for url: ${listeningUrl}`);
|
|
39
55
|
this.connector = ServerEventConnector.open(listeningUrl);
|
|
56
|
+
log.debug(`ServerEventConnector opened successfully for url: ${listeningUrl}`);
|
|
40
57
|
this.connector.startListening({
|
|
41
58
|
onEvent: async (event) => {
|
|
42
59
|
const [tableName, operation, id, ...args] = event;
|
|
43
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
|
+
}
|
|
44
65
|
super
|
|
45
66
|
.updateObservers(tableName, operation, id, ...ctxArgs)
|
|
46
|
-
.catch((e) => log.error(`
|
|
67
|
+
.catch((e) => log.error(`ServerEventConnector failed to updateObservers`, e));
|
|
68
|
+
},
|
|
69
|
+
onError: (e) => {
|
|
70
|
+
log.error(`ServerEventConnector failed to dispatch event`, {
|
|
71
|
+
error: e,
|
|
72
|
+
listeningUrl,
|
|
73
|
+
adapter: String(this.adapter),
|
|
74
|
+
});
|
|
47
75
|
},
|
|
48
|
-
onError: (e) => log.error(e),
|
|
49
76
|
});
|
|
50
77
|
this.listening = true;
|
|
51
|
-
log.info(`
|
|
78
|
+
log.info(`HttpDispatcher is now listening at ${listeningUrl}.`);
|
|
52
79
|
}
|
|
53
80
|
async close(
|
|
54
81
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
55
82
|
...args) {
|
|
83
|
+
// const { log } = this.logCtx(args, this.close);
|
|
84
|
+
//
|
|
85
|
+
// log.debug(`Closing HttpDispatcher`, {
|
|
86
|
+
// hasConnector: !!this.connector,
|
|
87
|
+
// listening: this.listening,
|
|
88
|
+
// initialized: this.initialized,
|
|
89
|
+
// adapter: this.adapter ? String(this.adapter) : undefined,
|
|
90
|
+
// });
|
|
56
91
|
this.connector?.close();
|
|
92
|
+
this.listening = false;
|
|
57
93
|
}
|
|
58
94
|
}
|
|
59
95
|
//# sourceMappingURL=HttpDispatcher.js.map
|
|
@@ -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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventHandlers } from "./types";
|
|
2
|
-
|
|
2
|
+
import { Context, ContextualLoggedClass } from "@decaf-ts/core";
|
|
3
|
+
export declare class ServerEventConnector extends ContextualLoggedClass<Context<any>> {
|
|
3
4
|
private readonly url;
|
|
4
5
|
private static readonly cache;
|
|
5
6
|
static get(url: string): ServerEventConnector;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventSourcePlus } from "event-source-plus";
|
|
2
2
|
import { Serialization } from "@decaf-ts/decorator-validation";
|
|
3
|
-
|
|
3
|
+
import { ContextualLoggedClass } from "@decaf-ts/core";
|
|
4
|
+
export class ServerEventConnector extends ContextualLoggedClass {
|
|
4
5
|
static { this.cache = new Map(); }
|
|
5
6
|
static get(url) {
|
|
6
7
|
if (this.cache.has(url))
|
|
@@ -38,6 +39,7 @@ export class ServerEventConnector {
|
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
constructor(url) {
|
|
42
|
+
super();
|
|
41
43
|
this.url = url;
|
|
42
44
|
this.listeners = new Set();
|
|
43
45
|
}
|
|
@@ -45,12 +47,21 @@ export class ServerEventConnector {
|
|
|
45
47
|
return this.es !== undefined;
|
|
46
48
|
}
|
|
47
49
|
close() {
|
|
48
|
-
|
|
50
|
+
const log = this.log.for(this.close);
|
|
51
|
+
if (!this.es) {
|
|
52
|
+
log.debug(`Skipping connector close because connector for ${this.url} is not open`);
|
|
49
53
|
return;
|
|
50
|
-
|
|
54
|
+
}
|
|
55
|
+
if (this.listeners.size > 0) {
|
|
56
|
+
log.warn(`Skipping connector close because still has active listeners`, {
|
|
57
|
+
url: this.url,
|
|
58
|
+
listeners: this.listeners.size,
|
|
59
|
+
});
|
|
51
60
|
return;
|
|
61
|
+
}
|
|
52
62
|
// Close and drop from cache.
|
|
53
63
|
try {
|
|
64
|
+
log.info(`ServerEventConnector closing event source connection for listening URL ${this.url}`);
|
|
54
65
|
this.controller?.abort();
|
|
55
66
|
}
|
|
56
67
|
finally {
|
|
@@ -58,7 +69,7 @@ export class ServerEventConnector {
|
|
|
58
69
|
this.es = undefined;
|
|
59
70
|
this.listeners.clear();
|
|
60
71
|
ServerEventConnector.cache.delete(this.url);
|
|
61
|
-
|
|
72
|
+
log.info(`ServerEventConnector closed connection and removed from active pool for URL ${this.url}`);
|
|
62
73
|
}
|
|
63
74
|
}
|
|
64
75
|
/**
|
|
@@ -66,38 +77,53 @@ export class ServerEventConnector {
|
|
|
66
77
|
* This method must be called only on the shared singleton instance.
|
|
67
78
|
*/
|
|
68
79
|
startListening(handlers, headers) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
80
|
+
const log = this.log.for(this.startListening);
|
|
81
|
+
if (this.es) {
|
|
82
|
+
log.info(`ServerEventConnector already in pool and listening`, {
|
|
83
|
+
url: this.url,
|
|
84
|
+
listeners: this.listeners.size,
|
|
85
|
+
});
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
log.info(`Opening event source connection for ${this.url}`);
|
|
89
|
+
this.es = new EventSourcePlus(this.url, {
|
|
73
90
|
headers,
|
|
74
91
|
credentials: "include",
|
|
75
92
|
});
|
|
76
93
|
this.controller = this.es.listen({
|
|
77
94
|
onResponse: () => {
|
|
78
|
-
|
|
95
|
+
log.info(`ServerEventConnector listening events from ${this.url}`);
|
|
79
96
|
},
|
|
80
97
|
onRequestError: ({ error }) => {
|
|
81
|
-
|
|
98
|
+
log.error(`ServerEventConnector error on request`, {
|
|
99
|
+
url: this.url,
|
|
100
|
+
error,
|
|
101
|
+
});
|
|
82
102
|
handlers.onError(String(error?.message ?? error));
|
|
83
103
|
},
|
|
84
104
|
onResponseError: ({ response }) => {
|
|
85
|
-
|
|
86
|
-
|
|
105
|
+
log.error(`ServerEventConnector received an error response`, {
|
|
106
|
+
url: this.url,
|
|
107
|
+
status: response?.status,
|
|
108
|
+
statusText: response?.statusText,
|
|
109
|
+
});
|
|
110
|
+
handlers.onError(`HTTP Error Response: ${response.status} ${response.statusText}`);
|
|
87
111
|
},
|
|
88
112
|
onMessage: (message) => {
|
|
89
113
|
const raw = message && typeof message === "object" && "data" in message
|
|
90
114
|
? message.data
|
|
91
115
|
: message;
|
|
92
116
|
const event = ServerEventConnector.parseReceivedEvent(raw);
|
|
93
|
-
if (!event)
|
|
117
|
+
if (!event) {
|
|
118
|
+
log.warn(`Failed to parse SSE message`, {
|
|
119
|
+
url: this.url,
|
|
120
|
+
raw,
|
|
121
|
+
});
|
|
94
122
|
return;
|
|
123
|
+
}
|
|
95
124
|
handlers.onEvent(event);
|
|
96
125
|
},
|
|
97
126
|
});
|
|
98
|
-
// setInterval(() => {
|
|
99
|
-
// this.close();
|
|
100
|
-
// }, 30000);
|
|
101
127
|
}
|
|
102
128
|
addListener(handlers) {
|
|
103
129
|
this.listeners.add(handlers);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerEventConnector.js","sourceRoot":"","sources":["../../../src/event/ServerEventConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ServerEventConnector.js","sourceRoot":"","sources":["../../../src/event/ServerEventConnector.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -22,7 +22,7 @@ export * from "./event/index.js";
|
|
|
22
22
|
* @summary Version identifier for the module
|
|
23
23
|
* @const VERSION
|
|
24
24
|
*/
|
|
25
|
-
export const VERSION = "0.3.
|
|
25
|
+
export const VERSION = "0.3.49";
|
|
26
26
|
export const PACKAGE_NAME = "@decaf-ts/for-http";
|
|
27
27
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
28
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ServerEventConnector = void 0;
|
|
4
4
|
const event_source_plus_1 = require("event-source-plus");
|
|
5
5
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
|
-
|
|
6
|
+
const core_1 = require("@decaf-ts/core");
|
|
7
|
+
class ServerEventConnector extends core_1.ContextualLoggedClass {
|
|
7
8
|
static { this.cache = new Map(); }
|
|
8
9
|
static get(url) {
|
|
9
10
|
if (this.cache.has(url))
|
|
@@ -41,6 +42,7 @@ class ServerEventConnector {
|
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
constructor(url) {
|
|
45
|
+
super();
|
|
44
46
|
this.url = url;
|
|
45
47
|
this.listeners = new Set();
|
|
46
48
|
}
|
|
@@ -48,12 +50,21 @@ class ServerEventConnector {
|
|
|
48
50
|
return this.es !== undefined;
|
|
49
51
|
}
|
|
50
52
|
close() {
|
|
51
|
-
|
|
53
|
+
const log = this.log.for(this.close);
|
|
54
|
+
if (!this.es) {
|
|
55
|
+
log.debug(`Skipping connector close because connector for ${this.url} is not open`);
|
|
52
56
|
return;
|
|
53
|
-
|
|
57
|
+
}
|
|
58
|
+
if (this.listeners.size > 0) {
|
|
59
|
+
log.warn(`Skipping connector close because still has active listeners`, {
|
|
60
|
+
url: this.url,
|
|
61
|
+
listeners: this.listeners.size,
|
|
62
|
+
});
|
|
54
63
|
return;
|
|
64
|
+
}
|
|
55
65
|
// Close and drop from cache.
|
|
56
66
|
try {
|
|
67
|
+
log.info(`ServerEventConnector closing event source connection for listening URL ${this.url}`);
|
|
57
68
|
this.controller?.abort();
|
|
58
69
|
}
|
|
59
70
|
finally {
|
|
@@ -61,7 +72,7 @@ class ServerEventConnector {
|
|
|
61
72
|
this.es = undefined;
|
|
62
73
|
this.listeners.clear();
|
|
63
74
|
ServerEventConnector.cache.delete(this.url);
|
|
64
|
-
|
|
75
|
+
log.info(`ServerEventConnector closed connection and removed from active pool for URL ${this.url}`);
|
|
65
76
|
}
|
|
66
77
|
}
|
|
67
78
|
/**
|
|
@@ -69,38 +80,53 @@ class ServerEventConnector {
|
|
|
69
80
|
* This method must be called only on the shared singleton instance.
|
|
70
81
|
*/
|
|
71
82
|
startListening(handlers, headers) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
83
|
+
const log = this.log.for(this.startListening);
|
|
84
|
+
if (this.es) {
|
|
85
|
+
log.info(`ServerEventConnector already in pool and listening`, {
|
|
86
|
+
url: this.url,
|
|
87
|
+
listeners: this.listeners.size,
|
|
88
|
+
});
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
log.info(`Opening event source connection for ${this.url}`);
|
|
92
|
+
this.es = new event_source_plus_1.EventSourcePlus(this.url, {
|
|
76
93
|
headers,
|
|
77
94
|
credentials: "include",
|
|
78
95
|
});
|
|
79
96
|
this.controller = this.es.listen({
|
|
80
97
|
onResponse: () => {
|
|
81
|
-
|
|
98
|
+
log.info(`ServerEventConnector listening events from ${this.url}`);
|
|
82
99
|
},
|
|
83
100
|
onRequestError: ({ error }) => {
|
|
84
|
-
|
|
101
|
+
log.error(`ServerEventConnector error on request`, {
|
|
102
|
+
url: this.url,
|
|
103
|
+
error,
|
|
104
|
+
});
|
|
85
105
|
handlers.onError(String(error?.message ?? error));
|
|
86
106
|
},
|
|
87
107
|
onResponseError: ({ response }) => {
|
|
88
|
-
|
|
89
|
-
|
|
108
|
+
log.error(`ServerEventConnector received an error response`, {
|
|
109
|
+
url: this.url,
|
|
110
|
+
status: response?.status,
|
|
111
|
+
statusText: response?.statusText,
|
|
112
|
+
});
|
|
113
|
+
handlers.onError(`HTTP Error Response: ${response.status} ${response.statusText}`);
|
|
90
114
|
},
|
|
91
115
|
onMessage: (message) => {
|
|
92
116
|
const raw = message && typeof message === "object" && "data" in message
|
|
93
117
|
? message.data
|
|
94
118
|
: message;
|
|
95
119
|
const event = ServerEventConnector.parseReceivedEvent(raw);
|
|
96
|
-
if (!event)
|
|
120
|
+
if (!event) {
|
|
121
|
+
log.warn(`Failed to parse SSE message`, {
|
|
122
|
+
url: this.url,
|
|
123
|
+
raw,
|
|
124
|
+
});
|
|
97
125
|
return;
|
|
126
|
+
}
|
|
98
127
|
handlers.onEvent(event);
|
|
99
128
|
},
|
|
100
129
|
});
|
|
101
|
-
// setInterval(() => {
|
|
102
|
-
// this.close();
|
|
103
|
-
// }, 30000);
|
|
104
130
|
}
|
|
105
131
|
addListener(handlers) {
|
|
106
132
|
this.listeners.add(handlers);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventHandlers } from "./types";
|
|
2
|
-
|
|
2
|
+
import { Context, ContextualLoggedClass } from "@decaf-ts/core";
|
|
3
|
+
export declare class ServerEventConnector extends ContextualLoggedClass<Context<any>> {
|
|
3
4
|
private readonly url;
|
|
4
5
|
private static readonly cache;
|
|
5
6
|
static get(url: string): ServerEventConnector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerEventConnector.js","sourceRoot":"","sources":["../../src/event/ServerEventConnector.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AACpD,yEAA+D;
|
|
1
|
+
{"version":3,"file":"ServerEventConnector.js","sourceRoot":"","sources":["../../src/event/ServerEventConnector.ts"],"names":[],"mappings":"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"}
|
package/lib/index.cjs
CHANGED
|
@@ -39,7 +39,7 @@ __exportStar(require("./event/index.cjs"), exports);
|
|
|
39
39
|
* @summary Version identifier for the module
|
|
40
40
|
* @const VERSION
|
|
41
41
|
*/
|
|
42
|
-
exports.VERSION = "0.3.
|
|
42
|
+
exports.VERSION = "0.3.49";
|
|
43
43
|
exports.PACKAGE_NAME = "@decaf-ts/for-http";
|
|
44
44
|
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
45
45
|
//# sourceMappingURL=index.js.map
|
package/lib/index.d.ts
CHANGED