@decaf-ts/for-couchdb 0.4.17 → 0.4.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/for-couchdb.cjs +1 -1
- package/dist/for-couchdb.cjs.map +1 -1
- package/dist/for-couchdb.js +1 -1
- package/dist/for-couchdb.js.map +1 -1
- package/lib/adapter.d.ts +11 -11
- package/lib/adapter.js.map +1 -1
- package/lib/esm/adapter.d.ts +11 -11
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/query/Paginator.d.ts +2 -2
- package/lib/esm/query/Paginator.js +16 -11
- package/lib/esm/query/Paginator.js.map +1 -1
- package/lib/esm/repository.js +36 -33
- package/lib/esm/repository.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/query/Paginator.cjs +16 -11
- package/lib/query/Paginator.d.ts +2 -2
- package/lib/query/Paginator.js.map +1 -1
- package/lib/repository.cjs +35 -32
- package/lib/repository.js.map +1 -1
- package/package.json +2 -2
package/dist/for-couchdb.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,a,s,o,n){"use strict";const i=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,...o){const{ctxArgs:n,ctx:i}=this.adapter.logCtx(o,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...n);const c=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...c,limit:Number.MAX_VALUE},!0,i)||[];if(this._recordCount=e.length,this._recordCount>0){const e=c?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/e)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new r.PagingError("No bookmark. Did you start in the first page?");c.bookmark=this._bookmark}const d=await this.adapter.raw(c,!1,i),{docs:l,bookmark:u,warning:p}=d;if(p&&this.log.for(this.page).warn(p),!this.clazz)throw new r.PagingError("No statement target defined");const h=s.Model.pk(this.clazz),g=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,h))?.type,f=c.fields&&c.fields.length?l:l.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(g,e[h]),void 0,i));return this._bookmark=u,this._currentPage=e,f}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e},[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map(([e,t])=>{const r={};return r[e]=t,r})],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r})}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),n=await this.adapter.raw(e,!0,o),i=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,i))?.type;return this.selectSelector?n:n.map(e=>this.processRecord(e,i,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])})}Statement(){return new g(this)}Paginator(e,t,r){return new p(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(f.setMetadata(e,t[r]),e)),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),n=s.Model.tableName(e),i={};return i[c.TABLE]=n,i[c.ID]=this.generateId(n,t),Object.assign(i,r),[e,t,i,...o]}createAllPrefix(e,t,r,...o){const n=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(o,this.createAllPrefix),d=t.map((e,t)=>{const a={};return a[c.TABLE]=n,a[c.ID]=this.generateId(n,e),Object.assign(a,r[t]),a});return[e,t,d,...i]}updatePrefix(e,t,o,...n){const i=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(n,this.updatePrefix),l={};l[c.TABLE]=i,l[c.ID]=this.generateId(i,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...n){const i=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(n,this.updateAllPrefix),l=t.map((e,t)=>{const s={};s[c.TABLE]=i,s[c.ID]=this.generateId(i,e);const n=o[t][r.PersistenceKeys.METADATA];if(!n)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=n,s});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(i)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context,n=o.get("ignoreHandlers"),i=o.get("ignoreValidation"),c=e[this.pk];if(!c)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);let d,l;if(o.get("applyUpdateValidation")&&(d=await this.read(c),l=d?f.getMetadata(d):void 0,o.get("mergeForUpdate")&&(e=s.Model.merge(d,e,this.class))),n||await a.enforceDBDecorators(this,o,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,d),!i){const t=await Promise.resolve(e.hasErrors(d,...s.Model.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(t)throw new a.ValidationError(t.toString())}return l&&f.setMetadata(e,l),[e,...r.args,d]}async updateAllPrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context,n=o.get("ignoreHandlers"),i=o.get("ignoreValidation"),c=e.map(e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t});let d;if(o.get("applyUpdateValidation")&&(d=await this.readAll(c,o),o.get("mergeForUpdate")&&(e=e.map((e,t)=>{e=s.Model.merge(d[t],e,this.class);const r=f.getMetadata(d[t]);return r&&f.setMetadata(e,r),e})),n||await Promise.all(e.map((e,t)=>a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,d?d[t]:void 0))),!i)){const t=o.get("ignoredValidationProperties")||[];let r;r=o.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(d[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const s=a.reduceErrorsToPrint(r);if(s)throw new a.ValidationError(s)}return[e,...r.args,d]}}async function y(e,t,r){return e.auth(t,r)}function A(e,t,s,o,n=a.DefaultSeparator){const i=[r.PersistenceKeys.INDEX,t,e];return s&&i.push(...s),o&&i.push(o),i.join(n)}const E="##VERSION##",_="##PACKAGE##";t.Metadata.registerLibrary(_,E),e.CouchDBAdapter=f,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=p,e.CouchDBQueryLimit=250,e.CouchDBRepository=m,e.CouchDBStatement=g,e.IndexError=u,e.PACKAGE_NAME=_,e.VERSION=E,e.generateIndexDoc=(e,t,r,s,o=a.DefaultSeparator)=>{const n={};let i;if(n[c.TABLE]={},n[c.TABLE][d.EQUAL]=t,s){const t={};t[e]=s;const a=(r||[]).map(e=>{const t={};return t[e]=s,t}),o={};o[c.TABLE]=s,i=[t,...a,o]}else i=[e,...r||[],c.TABLE];const l=A(e,t,r,s,o);return{index:{fields:i},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=A,e.generateIndexes=e=>{const t=((e,t,r,s=a.DefaultSeparator)=>[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(s))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=s.Model.indexes(e);Object.entries(t).forEach(([t,n])=>{const i=Object.keys(n)[0];let{directions:l,compositions:u}=n[i];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t},[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach(e=>h(e))})}),Object.values(o)},e.reAuth=y,e.reservedAttributes=i,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use?e.use(t):e;return["insert","get","put","destroy","find"].forEach(t=>{const o=s[t];Object.defineProperty(s,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await y(e,r,a),o.call(s,...t))})}),Object.defineProperty(s,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),s}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,a,s,o,i){"use strict";const n=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,o,...i){const{log:n,ctxArgs:c,ctx:d}=this.adapter.logCtx([o,...i],this.page);if(this.isPreparedStatement())return await this.pagePrepared(e,...c);const l=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)e=this.validatePage(e),l.skip=(e-1)*this.size;else{this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...l,limit:Number.MAX_VALUE},!0,...c)||[];if(this._recordCount=t.length,this._recordCount>0){const t=l?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/t),await this.page(e,...c)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new r.PagingError("No bookmark. Did you start in the first page?");l.bookmark=this._bookmark}const u=await this.adapter.raw(l,!1,...c),{docs:p,bookmark:h,warning:g}=u;if(g&&n.warn(g),!this.clazz)throw new r.PagingError("No statement target defined");const f=s.Model.pk(this.clazz),m=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,f))?.type,y=l.fields&&l.fields.length?p:p.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(m,e[f]),void 0,d));return this._bookmark=h,this._currentPage=e,y}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e},[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map(([e,t])=>{const r={};return r[e]=t,r})],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r})}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),i=await this.adapter.raw(e,!0,o),n=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,n))?.type;return this.selectSelector?i:i.map(e=>this.processRecord(e,n,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])})}Statement(){return new g(this)}Paginator(e,t,r){return new p(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(f.setMetadata(e,t[r]),e)),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),i=s.Model.tableName(e),n={};return n[c.TABLE]=i,n[c.ID]=this.generateId(i,t),Object.assign(n,r),[e,t,n,...o]}createAllPrefix(e,t,r,...o){const i=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(o,this.createAllPrefix),d=t.map((e,t)=>{const a={};return a[c.TABLE]=i,a[c.ID]=this.generateId(i,e),Object.assign(a,r[t]),a});return[e,t,d,...n]}updatePrefix(e,t,o,...i){const n=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(i,this.updatePrefix),l={};l[c.TABLE]=n,l[c.ID]=this.generateId(n,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...i){const n=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(i,this.updateAllPrefix),l=t.map((e,t)=>{const s={};s[c.TABLE]=n,s[c.ID]=this.generateId(n,e);const i=o[t][r.PersistenceKeys.METADATA];if(!i)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=i,s});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(n)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const{ctx:r,ctxArgs:o,log:i}=(await this.logCtx(t,a.OperationKeys.UPDATE,!0)).for(this.updatePrefix),n=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${n}, validationSetting: ${c}`);const d=e[this.pk];if(!d)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);let l,u;if(r.get("applyUpdateValidation")&&(l=await this.read(d),u=l?f.getMetadata(l):void 0,r.get("mergeForUpdate")&&(e=s.Model.merge(l,e,this.class))),n||await a.enforceDBDecorators(this,r,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,l),!c){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const s=await Promise.resolve(e.hasErrors(l,...t));if(s)throw new a.ValidationError(s.toString())}return u&&f.setMetadata(e,u),[e,...o,l]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:o,log:i}=(await this.logCtx(t,a.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),n=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${n}, ignoredValidation: ${c}`);const d=e.map(e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t});let l;if(r.get("applyUpdateValidation")&&(l=await this.readAll(d,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=s.Model.merge(l[t],e,this.class));const a=f.getMetadata(l[t]);return a&&f.setMetadata(e,a),e})),n||await Promise.all(e.map((e,t)=>a.enforceDBDecorators(this,r,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,l?l[t]:void 0))),!c){const t=r.get("ignoredValidationProperties")||[];let s;i.silly("ignored validation properties: "+t),s=r.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(l[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const o=a.reduceErrorsToPrint(s);if(o)throw new a.ValidationError(o)}return[e,...o,l]}}async function y(e,t,r){return e.auth(t,r)}function A(e,t,s,o,i=a.DefaultSeparator){const n=[r.PersistenceKeys.INDEX,t,e];return s&&n.push(...s),o&&n.push(o),n.join(i)}const E="##VERSION##",b="##PACKAGE##";t.Metadata.registerLibrary(b,E),e.CouchDBAdapter=f,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=p,e.CouchDBQueryLimit=250,e.CouchDBRepository=m,e.CouchDBStatement=g,e.IndexError=u,e.PACKAGE_NAME=b,e.VERSION=E,e.generateIndexDoc=(e,t,r,s,o=a.DefaultSeparator)=>{const i={};let n;if(i[c.TABLE]={},i[c.TABLE][d.EQUAL]=t,s){const t={};t[e]=s;const a=(r||[]).map(e=>{const t={};return t[e]=s,t}),o={};o[c.TABLE]=s,n=[t,...a,o]}else n=[e,...r||[],c.TABLE];const l=A(e,t,r,s,o);return{index:{fields:n},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=A,e.generateIndexes=e=>{const t=((e,t,r,s=a.DefaultSeparator)=>[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(s))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=s.Model.indexes(e);Object.entries(t).forEach(([t,i])=>{const n=Object.keys(i)[0];let{directions:l,compositions:u}=i[n];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t},[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach(e=>h(e))})}),Object.values(o)},e.reAuth=y,e.reservedAttributes=n,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use?e.use(t):e;return["insert","get","put","destroy","find"].forEach(t=>{const o=s[t];Object.defineProperty(s,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await y(e,r,a),o.call(s,...t))})}),Object.defineProperty(s,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),s}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
2
2
|
//# sourceMappingURL=for-couchdb.cjs.map
|
package/dist/for-couchdb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","Number","MAX_VALUE","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","Model","pk","type","Metadata","get","key","DBKeys","fields","map","d","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","split","join","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","context","ignoreHandlers","ignoreValidate","oldModel","oldMetadata","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","VERSION","PACKAGE_NAME","registerLibrary","NULL","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","ddoc","direction","n","indexes","ind","directions","generate","res","tableFilter","partial_filter_selector","dbName","db","use","original","call"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","bookmark","args","log","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","length","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","id","Model","pk","type","Metadata","get","key","DBKeys","pageResults","fields","map","d","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","for","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","processRecord","r","pkAttr","sequenceType","keyArgs","split","join","rawInput","logCtx","results","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","OperationKeys","UPDATE","ignoreHandlers","ignoreValidate","silly","oldModel","oldMetadata","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","BulkCrudOperationKeys","UPDATE_ALL","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","VERSION","PACKAGE_NAME","registerLibrary","NULL","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","ddoc","direction","n","indexes","ind","directions","generate","res","tableFilter","partial_filter_selector","dbName","db","use","original","call"],"mappings":"sDAMa,MAAAA,EAAqB,SAyBrBC,EAAc,CACzBC,UAAW,KACXC,GAAI,MACJC,IAAK,OACLC,QAAS,WACTC,MAAO,UACPC,SAAU,aACVC,KAAM,OACNC,OAAQ,WACRC,MAAO,SCbIC,EAAiD,CAC5DC,MAAO,MACPC,UAAW,MACXC,OAAQ,MACRC,UAAW,OACXC,QAAS,MACTC,WAAY,OAEZC,IAAK,OACLC,GAAI,MAEJC,OAAQ,UAaGC,EAAsD,CACjEC,IAAK,OACLC,GAAI,OClCA,MAAOC,UAAmBC,EAAAA,UAC9B,WAAAC,CAAYC,GACVC,MAAMJ,EAAWK,KAAMF,EAAK,IAC7B,ECYG,MAAOG,UAA0CC,EAAAA,UAarD,WAAAL,CACEM,EACAC,EACAC,EACAC,GAEAP,MAAMI,EAASC,EAAOC,EAAMC,EAC7B,CAQS,OAAAC,CAAQC,GAChB,MAAMJ,EAAoBK,OAAOC,OAAO,CAAE,EAAEF,GAK5C,OAJIJ,EAAMO,QAAOC,KAAKD,MAAQP,EAAMO,OAEpCP,EAAMO,MAAQC,KAAKP,KAEZD,CACR,CA6DQ,UAAMS,CACbA,EAA2B,EAC3BC,KACGC,GAEH,MAAMC,IAAEA,EAAGC,QAAEA,EAAOC,IAAEA,GAAQN,KAAKT,QAAgB,OACjD,CAACW,KAAaC,GACdH,KAAKC,MAEP,GAAID,KAAKO,sBACP,aAAaP,KAAKQ,aAAaP,KAASI,GAC1C,MAAMI,EAAYZ,OAAOC,OAAO,CAAA,EAAIE,KAAKS,WAEzC,GAAKT,KAAKU,cAAiBV,KAAKW,YAe9BV,EAAOD,KAAKY,aAAaX,GACzBQ,EAAUI,MAAQZ,EAAO,GAAKD,KAAKP,SAhBQ,CAC3CO,KAAKW,YAAcX,KAAKU,aAAe,EACvC,MAAMI,QACGd,KAAKT,QAAQwB,IAClB,IAAKN,EAAWV,MAAOiB,OAAOC,YAC9B,KACGZ,IACC,GAER,GADAL,KAAKU,aAAeI,EAAaI,OAC7BlB,KAAKU,aAAe,EAAG,CACzB,MAAMjB,EAAOgB,GAAWV,OAASC,KAAKP,KAEtC,OADAO,KAAKW,YAAcQ,KAAKC,KAAKpB,KAAKU,aAAejB,SACpCO,KAAKC,KAAKA,KAASI,EACjC,CACF,CAOD,GAFAL,KAAKY,aAAaX,GAEL,IAATA,EAAY,CACd,IAAKD,KAAKqB,UACR,MAAM,IAAIC,EAAAA,YAAY,iDACxBb,EAAoB,SAAIT,KAAKqB,SAC9B,CACD,MAAME,QAAuCvB,KAAKT,QAAQwB,IACxDN,GACA,KACGJ,IAGCmB,KAAEA,EAAMtB,SAAUuB,EAAYC,QAAEA,GAAYH,EAElD,GADIG,GAAStB,EAAIuB,KAAKD,IACjB1B,KAAKN,MAAO,MAAM,IAAI4B,EAAAA,YAAY,+BACvC,MAAMM,EAAKC,EAAKA,MAACC,GAAG9B,KAAKN,OACnBqC,EAAOC,EAAQA,SAACC,IACpBjC,KAAKN,MACLsC,EAAAA,SAASE,IAAIC,EAAMA,OAACzE,GAAIkE,KACvBG,KACGK,EACJ3B,EAAU4B,QAAU5B,EAAU4B,OAAOnB,OACjCM,EACAA,EAAKc,IAAKC,GACDvC,KAAKT,QAAQiD,OAClBD,EACAvC,KAAKN,MACL+C,EAAAA,SAASC,WAAWX,EAAMQ,EAAEX,SAC5Be,EACArC,IAKV,OAFAN,KAAKqB,UAAYI,EACjBzB,KAAK4C,aAAe3C,EACbmC,CACR,EClKG,SAAUS,EACdC,GAEA,IAAK,MAAMC,IAAa,CAAC7E,EAAiBU,GAAuB,CAC/D,MAAMoE,EAAKnD,OAAOoD,KAAKF,GAAWG,KAAMC,GAAMA,IAAML,GACpD,GAAIE,EAAI,OAAOD,EAAUC,EAC1B,CACD,MAAM,IAAII,EAAAA,WACR,mDAAmDN,EAEvD,CCJM,MAAOO,UAIHC,EAAAA,UACR,WAAArE,CAAYM,GACVJ,MAAMI,EACP,CA0DS,KAAAgE,GACR,MAAMnD,EAAMJ,KAAKI,IAAIoD,IAAIxD,KAAKuD,OACxBE,EAA2B,CAAA,EACjCA,EAAUjG,EAAYK,OAAS,GAC/B4F,EAAUjG,EAAYK,OAASgE,EAAKA,MAAC6B,UAAU1D,KAAK2D,cACpD,MAAMnE,EAAoB,CAAEoE,SAAUH,GAGtC,GAFIzD,KAAK6D,iBAAgBrE,EAAM6C,OAASrC,KAAK6D,gBAEzC7D,KAAK8D,eAAgB,CACvB,MAAMC,EAA2B/D,KAAKgE,eACpCC,EAAAA,UAAUC,IACRlE,KAAK8D,eACLG,EAAAA,UAAUE,UAAa3G,EAAYK,OAAkBuG,GACnD5E,EAAMoE,SAASpG,EAAYK,UAG/B+F,SACIS,EAAexE,OAAOoD,KAAKc,GACjC,GAC0B,IAAxBM,EAAanD,SACqD,IAAlErB,OAAOyE,OAAO1F,GAAsB2F,QAAQF,EAAa,IAEzD,OAAQA,EAAa,IACnB,KAAKzF,EAAqBC,IACxBkF,EAAUnF,EAAqBC,KAAO,IACjCgB,OAAOyE,OACRP,EAAUnF,EAAqBC,MAC/B2F,OAAO,CAACC,EAAwBC,KAChC,MAAMzB,EAAOpD,OAAOoD,KAAKyB,GACzB,GAAoB,IAAhBzB,EAAK/B,OACP,MAAUyD,MACR,kDAEJ,MAAMxB,EAAIF,EAAK,GAIf,OAHIE,IAAMvE,EAAqBC,IAC7B4F,EAAMG,QAASF,EAAIvB,IAChBsB,EAAMG,KAAKF,GACTD,GACN,KAELjF,EAAMoE,SAAWG,EACjB,MACF,KAAKnF,EAAqBE,GAAI,CAC5B,MAAM+F,EAAsB,CAAA,EAC5BA,EAAEjG,EAAqBC,KAAO,CAC5BkF,KACGlE,OAAOiF,QAAQtF,EAAMoE,UAAUtB,IAAI,EAAEJ,EAAKwC,MAC3C,MAAMK,EAA2B,CAAA,EAEjC,OADAA,EAAO7C,GAAOwC,EACPK,KAGXvF,EAAMoE,SAAWiB,EACjB,KACD,CACD,QACE,MAAUF,MAAM,kCAGpB9E,OAAOiF,QAAQf,GAAWiB,QAAQ,EAAE9C,EAAKwC,MACnClF,EAAMoE,SAAS1B,IACjB9B,EAAIuB,KACF,KAAKO,4CAA8C1C,EAAMoE,SAAS1B,SAAWwC,KAEjFlF,EAAMoE,SAAS1B,GAAOwC,GAG3B,CAED,GAAI1E,KAAKiF,gBAAiB,CACxBzF,EAAM0F,KAAO1F,EAAM0F,MAAQ,GAC3B1F,EAAMoE,SAAWpE,EAAMoE,UAAa,CAAA,EACpC,MAAOA,EAAUuB,GAASnF,KAAKiF,gBAIzBG,EAAW,CAAA,EACjBA,EAAIxB,GAAYuB,EACf3F,EAAM0F,KAAeN,KAAKQ,GACtB5F,EAAMoE,SAASA,KAClBpE,EAAMoE,SAASA,GAAY,GAC1BpE,EAAMoE,SAASA,GAA4B1F,EAAgBG,QAC1D,KAEL,CAaD,OAXI2B,KAAKqF,cACP7F,EAAMO,MAAQC,KAAKqF,eAEnBjF,EAAIuB,KACF,iEAEFnC,EAAMO,MJ/LqB,KIkMzBC,KAAKsF,iBAAgB9F,EAAMqB,KAAOb,KAAKsF,gBAEpC9F,CACR,CAUS,aAAA+F,CACRC,EACAC,EACAC,EACApF,GAEA,GAAIkF,EAAEhI,EAAYE,IAAK,CACrB,MAAS,IAAGiI,GAAWH,EAAEhI,EAAYE,IAAIkI,MAAMpI,EAAYC,WAErDmE,EAAK+D,EAAQE,KAAK,KACxB,OAAO7F,KAAKT,QAAQiD,OAClBgD,EACAxF,KAAK2D,aACLlB,WAASC,WAAWgD,EAAc9D,QAClCe,EACArC,EAEH,CACD,OAAOkF,CACR,CASQ,SAAMzE,CAAO+E,KAAyB3F,GAC7C,MAAMG,IAAEA,GAAQN,KAAK+F,OAAO5F,EAAMH,KAAKe,KAEjCiF,QAAuBhG,KAAKT,QAAQwB,IAAI+E,GAAU,EAAMxF,GAExDmF,EAAS5D,EAAKA,MAACC,GAAG9B,KAAK2D,cACvB5B,EAAOC,EAAQA,SAACC,IACpBjC,KAAK2D,aACL3B,EAAAA,SAASE,IAAIC,EAAMA,OAACzE,GAAI+H,KACvB1D,KAEH,OAAK/B,KAAK6D,eAEHmC,EADEA,EAAQ1D,IAAKkD,GAAMxF,KAAKuF,cAAcC,EAAGC,EAAQ1D,EAAMzB,GAEjE,CAqCS,cAAA0D,CAAeD,GAmBvB,MAAMkC,MAAEA,EAAKnD,SAAEA,EAAQoD,WAAEA,GAAenC,EAMxC,IAAIoC,EAAoB,CAAA,EACxB,IAGS,IAFP,CAACC,EAAaA,cAACvH,IAAKuH,EAAAA,cAActH,GAAIuH,EAAAA,SAAS5H,KAAK8F,QAClDzB,GAGFqD,EAAGF,GAAmB,GACrBE,EAAGF,GAAmCpD,EAAmBC,IACxDoD,OACG,GAAIpD,IAAauD,EAAQA,SAAC5H,IAC/B0H,EAAKnG,KAAKgE,eAAeiC,GAAuBrC,SAChDuC,EAAGtD,EAAmBwD,EAAAA,SAAS5H,MAAQ,CAAA,EACtC0H,EAAGtD,EAAmBwD,EAAAA,SAAS5H,MAC7BwH,EAAuCA,OACtCC,MACC,CACL,MAAMI,EAAWtG,KAAKgE,eAAeiC,GAAuBrC,SACtD2C,EAAWvG,KAAKgE,eAAekC,GAA4BtC,SACjEuC,EAlCF,EACEA,EACAK,EACAC,KAEA,MAAM1B,EAAqB,CAAEnB,SAAU,CAAA,GAEvC,OADAmB,EAAOnB,SAASuC,GAAM,CAACK,EAAMC,GACtB1B,CACR,EA0BM2B,CAAM7D,EAAmBC,GAAWwD,EAAKC,GAAK3C,QACpD,CAED,MAAO,CAAEA,SAAUuC,EACpB,EC/QG,MAAgBQ,UAIZC,EAAAA,QACR,WAAA3H,CAAsB4H,EAAaC,EAAiBC,GAClD5H,MAAM0H,EAAOC,EAASC,GACtB,CAAC/G,KAAKgH,OAAQhH,KAAKiH,UAAWjH,KAAKkH,OAAQlH,KAAKmH,WAAWnC,QAASoC,IAClE,MAAMhI,EAAOgI,EAAEhI,KACfiI,EAAYA,aAACrH,KAAMoH,EAAIpH,KAAaZ,EAAO,YAE9C,CASD,SAAAkE,GAKE,OAAO,IAAID,EAAiBrD,KAC7B,CAEQ,SAAAV,CACPE,EACAC,EACAC,GAEA,OAAO,IAAIL,EAAiBW,KAAMR,EAAOC,EAAMC,EAChD,CAOQ,gBAAM4H,GACb,MAAMC,EAAgBX,EAAOA,QAACY,OAAOxH,KAAK8G,SAC1C,OAAO9G,KAAKyH,SAASF,EACtB,CAEQ,UAAAG,GAGP,OAAOC,CACR,CAoCS,cAAAC,CACRC,EACAC,GAEA,OAAKA,GACLnB,EAAeoB,YAAYF,EAAcC,GAClCD,GAFUA,CAGlB,CAUS,sBAAAG,CACRR,EACAS,GAMA,OAJAT,EAAOxC,QAAQ,CAACoC,EAAGc,KACjBvB,EAAeoB,YAAYX,EAAUa,EAAKC,IACnCd,IAEFI,CACR,CAWS,YAAAW,CACRzI,EACAkC,EACAiG,KACG1H,GAEH,MAAME,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAKmI,cACrCzE,EAAY7B,EAAAA,MAAM6B,UAAUhE,GAC5B0I,EAA8B,CAAA,EAIpC,OAHAA,EAAO5K,EAAYK,OAAS6F,EAC5B0E,EAAO5K,EAAYE,IAAMsC,KAAKqI,WAAW3E,EAAW9B,GACpD/B,OAAOC,OAAOsI,EAAQP,GACf,CAACnI,EAAOkC,EAAIwG,KAAW/H,EAC/B,CA4BS,eAAAiI,CACR5I,EACA6I,EACAf,KACGrH,GAEH,MAAMuD,EAAY7B,EAAAA,MAAM6B,UAAUhE,GAClC,GAAI6I,EAAIrH,SAAWsG,EAAOtG,OACxB,MAAM,IAAIsH,EAAAA,cAAc,4CAC1B,MAAMnI,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAKsI,iBACrCG,EAAUF,EAAIjG,IAAI,CAACV,EAAI8G,KAC3B,MAAMN,EAA8B,CAAA,EAIpC,OAHAA,EAAO5K,EAAYK,OAAS6F,EAC5B0E,EAAO5K,EAAYE,IAAMsC,KAAKqI,WAAW3E,EAAW9B,GACpD/B,OAAOC,OAAOsI,EAAQZ,EAAOkB,IACtBN,IAET,MAAO,CAAC1I,EAAO6I,EAAKE,KAAYpI,EACjC,CA2BD,YAAAsI,CACEjJ,EACAkC,EACAiG,KACG1H,GAEH,MAAMuD,EAAY7B,EAAAA,MAAM6B,UAAUhE,IAC5BW,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAK2I,cACrCP,EAA8B,CAAA,EACpCA,EAAO5K,EAAYK,OAAS6F,EAC5B0E,EAAO5K,EAAYE,IAAMsC,KAAKqI,WAAW3E,EAAW9B,GACpD,MAAMkG,EAAMD,EAAMe,EAAeA,gBAACC,UAClC,IAAKf,EACH,MAAM,IAAIU,EAAAA,cACR,+CAA+C5G,GAInD,OAFA/B,OAAOC,OAAOsI,EAAQP,GACtBO,EAAO5K,EAAYG,KAAOmK,EACnB,CAACpI,EAAOkC,EAAIwG,KAAW/H,EAC/B,CA4BS,eAAAyI,CACRpJ,EACA6I,EACAf,KACGrH,GAEH,MAAMuD,EAAY7B,EAAAA,MAAM6B,UAAUhE,GAClC,GAAI6I,EAAIrH,SAAWsG,EAAOtG,OACxB,MAAM,IAAIsH,EAAAA,cAAc,4CAC1B,MAAMnI,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAK8I,iBACrCL,EAAUF,EAAIjG,IAAI,CAACV,EAAI8G,KAC3B,MAAMN,EAA8B,CAAA,EACpCA,EAAO5K,EAAYK,OAAS6F,EAC5B0E,EAAO5K,EAAYE,IAAMsC,KAAKqI,WAAW3E,EAAW9B,GACpD,MAAMkG,EAAMN,EAAOkB,GAAOE,EAAeA,gBAACC,UAC1C,IAAKf,EACH,MAAM,IAAIU,EAAAA,cACR,+CAA+C5G,GAInD,OAFA/B,OAAOC,OAAOsI,EAAQZ,EAAOkB,IAC7BN,EAAO5K,EAAYG,KAAOmK,EACnBM,IAET,MAAO,CAAC1I,EAAO6I,EAAKE,KAAYpI,EACjC,CAuBS,UAAAgI,CAAW3E,EAAmB9B,GACtC,MAAO,CAAC8B,EAAW9B,GAAIiE,KAAKrI,EAAYC,UACzC,CASD,UAAAsL,CAAgCC,EAAqBC,GACnD,OAAOtC,EAAeoC,WAAWC,EAAKC,EACvC,CAQkB,UAAAC,CAAWC,GAC5B,QAASA,EAAKC,MAAM7L,EACrB,CA0DS,iBAAOwL,CACfC,EACAC,GAEA,GAAID,aAAehK,EAASA,UAAE,OAAOgK,EACrC,IAAIK,EAAe,GACnB,GAAmB,iBAARL,EAAkB,CAE3B,GADAK,EAAOL,EACHK,EAAKD,MAAM,kCACb,OAAO,IAAIE,EAAAA,cAAcD,GAC3B,GAAIA,EAAKD,MAAM,oBAAqB,OAAO,IAAIG,EAAAA,cAAcF,EAC9D,MAAWL,EAAYK,MACtBA,EAAQL,EAAYK,KACpBJ,EAASA,GAAUD,EAAIQ,SACbR,EAAYS,YACtBJ,EAAQL,EAAYS,WACpBR,EAASA,GAAUD,EAAIQ,SAEvBH,EAAOL,EAAIQ,QAGb,OAAQH,EAAKK,YACX,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAO,IAAIJ,EAAAA,cAAcL,GAC3B,IAAK,MACH,OAAO,IAAIM,EAAAA,cAAcN,GAC3B,IAAK,MACH,OAAII,EAAKK,WAAWN,MAAM,sBACjB,IAAIrK,EAAWiK,GACjB,IAAIR,EAAAA,cAAcQ,GAC3B,QACE,OAAIK,EAAKK,WAAWN,MAAM,iBACjB,IAAIO,EAAAA,gBAAgBX,GACtB,IAAIR,EAAAA,cAAcQ,GAE9B,CAUD,kBAAOjB,CAA6BF,EAAU+B,GAC5C/J,OAAOgK,eAAehC,EAAOe,EAAAA,gBAAgBC,SAAU,CACrDiB,YAAY,EACZC,cAAc,EACdC,UAAU,EACV7E,MAAOyE,GAEV,CASD,kBAAOK,CAA6BpC,GAClC,MAAMqC,EAAarK,OAAOsK,yBACxBtC,EACAe,EAAAA,gBAAgBC,UAElB,OAAOqB,EAAaA,EAAW/E,WAAQxC,CACxC,CAQD,qBAAOyH,CAAgCvC,GAClBhI,OAAOsK,yBACxBtC,EACAe,EAAAA,gBAAgBC,kBAEMhB,EAAce,kBAAgBC,SACvD,EA/bDwB,EAAAA,WAAA,CADCC,qHAC6BjH,IAM7BsD,EAAA4D,UAAA,YAAA,MA4DSF,EAAAA,WAAA,CADTC,2IAQA3D,EAAA4D,UAAA,iBAAA,MAUSF,EAAAA,WAAA,CADTC,wIAUA3D,EAAA4D,UAAA,yBAAA,MAWSF,EAAAA,WAAA,CADTC,wJAcA3D,EAAA4D,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAmBA3D,EAAA4D,UAAA,kBAAA,MA2BDF,EAAAA,WAAA,CADCC,yJAoBA3D,EAAA4D,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAyBA3D,EAAA4D,UAAA,kBAAA,MC/UG,MAAO5C,UAGH6C,EAAAA,WACR,WAAAvL,CAAYM,EAAYsI,GACtB1I,MAAMI,EAASsI,EAChB,CAIS,cAAAD,CAAe6C,EAAiBC,GACxC,MAAMC,EAAQ,CAACC,EAAaC,KAC1B,MAAMC,EAAiBD,GAAWD,EAC5BhB,EAAWjD,EAAesD,YAAYa,GAE5C,OADIlB,GAAUjD,EAAeoB,YAAY6C,EAAUhB,GAC5CgB,GAGT,OAAIG,MAAMC,QAAQP,GACTA,EAAOnI,IAAI,CAACuF,EAAOJ,KACxB,MAAMoD,EAAUE,MAAMC,QAAQN,GAAUA,EAAOjD,GAASiD,EACxD,OAAOC,EAAM9C,EAAOgD,KAKjBF,EAAMF,EADGM,MAAMC,QAAQN,GAAUA,IAAS,GAAKA,EAEvD,CAEQ,YAAM1D,CACba,KACG1H,GAEH,MAAM4E,QAAe5F,MAAM6H,OAAOa,KAAU1H,GAG5C,OAFAH,KAAK4H,eAAe7C,GACpB/E,KAAK4H,eAAeC,EAAO9C,GACpBA,CACR,CAEQ,eAAMkC,CACbO,KACGrH,GAEH,MAAM6F,QAAgB7G,MAAM8H,UAAUO,KAAWrH,GAGjD,OAFAH,KAAK4H,eAAe5B,GACpBhG,KAAK4H,eAAeJ,EAAQxB,GACrBA,CACR,CAEQ,UAAMiF,CACbrJ,KACGzB,GAEH,MAAM4E,QAAe5F,MAAM8L,KAAKrJ,KAAOzB,GACvC,OAAOH,KAAK4H,eAAe7C,EAC5B,CAEQ,aAAMmG,CACb3C,KACGpI,GAEH,MAAM6F,QAAgB7G,MAAM+L,QAAQ3C,KAAQpI,GAC5C,OAAOH,KAAK4H,eAAe5B,EAC5B,CAEQ,YAAMkB,CACbW,KACG1H,GAEH,MAAM4E,QAAe5F,MAAM+H,OAAOW,KAAU1H,GAG5C,OAFAH,KAAK4H,eAAe7C,GACpB/E,KAAK4H,eAAeC,EAAO9C,GACpBA,CACR,CAEQ,eAAMoC,CACbK,KACGrH,GAEH,MAAM6F,QAAgB7G,MAAMgI,UAAUK,KAAWrH,GAGjD,OAFAH,KAAK4H,eAAe5B,GACpBhG,KAAK4H,eAAeJ,EAAQxB,GACrBA,CACR,CAEQ,YAAM,CACbpE,KACGzB,GAEH,MAAM4E,QAAe5F,MAAMgM,OAAOvJ,KAAOzB,GACzC,OAAOH,KAAK4H,eAAe7C,EAC5B,CAEQ,eAAMqG,CACb7C,KACGpI,GAEH,MAAM6F,QAAgB7G,MAAMiM,UAAU7C,KAAQpI,GAC9C,OAAOH,KAAK4H,eAAe5B,EAC5B,CAWkB,kBAAM2C,CACvBd,KACG1H,GAEH,MAAMG,IAAEA,EAAGD,QAAEA,EAAOD,IAAEA,UACdJ,KAAK+F,OAAO5F,EAAMkL,EAAaA,cAACC,QAAQ,IAC9C9H,IAAIxD,KAAK2I,cAEL4C,EAAiBjL,EAAI2B,IAAI,kBACzBuJ,EAAiBlL,EAAI2B,IAAI,oBAC/B7B,EAAIqL,MACF,mBAAmBF,yBAAsCC,KAE3D,MAAM1J,EAAK+F,EAAM7H,KAAK8B,IACtB,IAAKA,EACH,MAAM,IAAI0G,EAAaA,cACrB,qDAAqDxI,KAAK8B,IAE9D,IAAI4J,EACAC,EAmBJ,GAjBIrL,EAAI2B,IAAI,2BACVyJ,QAAiB1L,KAAKiL,KAAKnJ,GAC3B6J,EAAcD,EAAW/E,EAAesD,YAAYyB,QAAY/I,EAE5DrC,EAAI2B,IAAI,oBACV4F,EAAQhG,EAAKA,MAAC6E,MAAMgF,EAAU7D,EAAO7H,KAAK4L,SAEzCL,SACGM,EAAmBA,oBACvB7L,KACAM,EACAuH,EACAwD,gBAAcC,OACdD,EAAaA,cAACS,GACdJ,IAGCF,EAAgB,CACnB,MAAMO,EAAgBzL,EAAI2B,IAAI,gCAAkC,GAChE7B,EAAIqL,MAAM,kCAAkCM,GAC5C,MAAMC,QAAeC,QAAQC,QAC3BrE,EAAMsE,UAAUT,KAAaK,IAE/B,GAAIC,EAAQ,MAAM,IAAII,EAAeA,gBAACJ,EAAOtC,WAC9C,CAED,OADIiC,GAAahF,EAAeoB,YAAYF,EAAO8D,GAC5C,CAAC9D,KAAUxH,EAASqL,EAC5B,CAWkB,qBAAM5C,CACvBtB,KACGrH,GAEH,MAAMG,IAAEA,EAAGD,QAAEA,EAAOD,IAAEA,UACdJ,KAAK+F,OAAO5F,EAAMkM,EAAqBA,sBAACC,YAAY,IAC1D9I,IAAIxD,KAAK8I,iBAELyC,EAAiBjL,EAAI2B,IAAI,kBACzBuJ,EAAiBlL,EAAI2B,IAAI,oBAC/B7B,EAAIqL,MACF,mBAAmBF,yBAAsCC,KAE3D,MAAMjD,EAAMf,EAAOlF,IAAK8E,IACtB,MAAMxF,EAAKwF,EAAEpH,KAAK8B,IAClB,IAAKF,EAAI,MAAM,IAAI4G,EAAAA,cAAc,kCACjC,OAAO5G,IAET,IAAI2K,EAyBJ,GAxBIjM,EAAI2B,IAAI,2BACVsK,QAAkBvM,KAAKkL,QAAQ3C,EAAiBjI,GAChDkH,EAASA,EAAOlF,IAAI,CAAC8E,EAAGc,KAClB5H,EAAI2B,IAAI,oBACVmF,EAAIvF,EAAAA,MAAM6E,MAAO6F,EAAkBrE,GAAId,EAAGpH,KAAK4L,QACjD,MAAMD,EAAchF,EAAesD,YAAasC,EAAkBrE,IAElE,OADIyD,GAAahF,EAAeoB,YAAYX,EAAGuE,GACxCvE,KAGNmE,SACGU,QAAQO,IACZhF,EAAOlF,IAAI,CAAC8E,EAAGc,IACb2D,sBACE7L,KACAM,EACA8G,EACAiE,gBAAcC,OACdD,EAAaA,cAACS,GACdS,EAAYA,EAAUrE,QAAKvF,MAK9B6I,EAAgB,CACnB,MAAMiB,EAAenM,EAAI2B,IAAI,gCAAkC,GAE/D,IAAIyK,EADJtM,EAAIqL,MAAM,kCAAkCgB,GAO1CC,EALGpM,EAAI2B,IAAI,+BAKcgK,QAAQO,IAC/BhF,EAAOlF,IAAI,CAAC8E,EAAGc,IACb+D,QAAQC,QACN9E,EAAE+E,UAAWI,EAAkBrE,MAAcuE,YAP1BR,QAAQC,QAC/B1E,EAAOlF,IAAK8E,GAAMA,EAAE+E,aAAaM,KAYrC,MAAME,EAAgBC,sBAAoBF,GAE1C,GAAIC,EAAe,MAAM,IAAIP,EAAAA,gBAAgBO,EAC9C,CACD,MAAO,CAACnF,KAAWnH,EAASkM,EAC7B,EC1OIM,eAAeC,EAAOC,EAAUC,EAAcC,GACnD,OAAOF,EAAIG,KAAKF,EAAMC,EACxB,CA0FgB,SAAAE,EACdhJ,EACAT,EACA0J,EACAC,EACAC,EAAYC,oBAEZ,MAAMpE,EAAO,CAACP,EAAeA,gBAAC3K,MAAOyF,EAAWS,GAGhD,OAFIiJ,GAAcjE,EAAKvE,QAAQwI,GAC3BC,GAAOlE,EAAKvE,KAAKyI,GACdlE,EAAKtD,KAAKyH,EACnB,CCjGa,MAAAE,EAAU,cAOVC,EAAe,cAE5BzL,EAAAA,SAAS0L,gBAAgBD,EAAcD,qCRkCa,CAClDG,KAAM,8GA1DyB,8GOwJjB,CACdxJ,EACAT,EACA0J,EACAC,EACAC,EAAYC,sBAEZ,MAAMK,EAAuC,CAAA,EAK7C,IAAIvL,EACJ,GALAuL,EAAsBpQ,EAAYK,OAAS,GAC1C+P,EAAsBpQ,EAAYK,OACjCK,EAAgBC,OACduF,EAEA2J,EAAO,CACT,MAAMQ,EAAuB,CAAA,EAC7BA,EAAU1J,GAAakJ,EACvB,MAAMS,GAAmCV,GAAgB,IAAI9K,IAAKyL,IAChE,MAAMvI,EAAe,CAAA,EAErB,OADAA,EAAEuI,GAAKV,EACA7H,IAEHwI,EAAyB,CAAA,EAC/BA,EAAYxQ,EAAYK,OAASwP,EACjChL,EAAS,CAACwL,KAAcC,EAAoBE,EAC7C,MACC3L,EAAS,CAAC8B,KAAeiJ,GAAgB,GAAK5P,EAAYK,OAE5D,MAAMuB,EAAO+N,EACXhJ,EACAT,EACA0J,EACAC,EACAC,GAEF,MAAO,CACL7F,MAAO,CACLpF,OAAQA,GAGV4L,KAAM,CAAC7O,EAAM5B,EAAYO,MAAM8H,KAAKyH,GACpClO,KAAMA,EAEV,0CE1HEoI,IAEA,MAAM9D,EAhER,EACEtE,EACA8O,EACAd,EACAE,EAAYC,EAAAA,mBAEL,IACFnO,EAAKkD,IAAK6L,GAAOA,IAAM3Q,EAAYK,MAAQ,QAAUsQ,MACpDf,GAAgB,MAChBc,EAAY,CAACA,GAAa,GAC9B1Q,EAAYS,OACZ4H,KAAKyH,GAqDWH,CAAkB,CAAC3P,EAAYK,QAC3CuQ,EAA8C,CAAA,EA4DpD,OA3DAA,EAAQ1K,GAAa,CACnB+D,MAAO,CACLpF,OAAQ,CAAC7E,EAAYK,QAEvBuB,KAAMsE,EACNuK,KAAMvK,EACN3B,KAAM,QAGRyF,EAAOxC,QAASoC,IACd,MAAMiH,EAAqCxM,EAAAA,MAAMuM,QAAQhH,GACzDvH,OAAOiF,QAAQuJ,GAAKrJ,QAAQ,EAAE9C,EAAKiD,MACjC,MAAMhC,EAAItD,OAAOoD,KAAKkC,GAAO,GAE7B,IAAImJ,WAAEA,EAAUlB,aAAEA,GAAkBjI,EAAchC,GAClD,MAAMO,EAAY7B,EAAAA,MAAM6B,UAAU0D,GAGlC,SAASmH,EAASrJ,GAChB,MAAM9F,EAAO,CACXsE,EACAxB,KACIkL,EACJxE,EAAAA,gBAAgB3K,OAChB4H,KAAK0H,EAAAA,kBAsBP,GApBAa,EAAQhP,GAAQ,CACdqI,MAAO,CACLpF,OAAQ,CAACH,KAASkL,EAAqB5P,EAAYK,OAAO2G,OACxD,CAACC,EAAczB,KACb,GAAIkC,EAAM,CACR,MAAMsJ,EAAW,CAAA,EACjBA,EAAIxL,GAAMkC,EACVT,EAAMG,KAAK4J,EACZ,MACC/J,EAAMG,KAAK5B,GAEb,OAAOyB,GAET,KAGJrF,KAAMA,EACN6O,KAAM7O,EACN2C,KAAM,SAEHmD,EAAM,CACT,MAAMuJ,EAAmC,CAAA,EACzCA,EAAYjR,EAAYK,OAAS,GACjC4Q,EAAYjR,EAAYK,OAAOK,EAAgBC,OAASuF,EACxD0K,EAAQhP,GAAMqI,MAAMiH,wBAA0BD,CAC/C,CACF,CApCDrB,EAAeA,GAAgB,GAsC/BmB,IACID,GACDA,EAA2CtJ,QAASzC,GAAMgM,EAAShM,QAGnE1C,OAAOyE,OAAO8J,EACvB,6DFrDuCjF,GAE9BA,EAAKC,MADG,qDApCX,CACJ2D,EACA4B,EACA3B,EACAC,KAEA,MAAM2B,EAAK7B,EAAI8B,IAAM9B,EAAI8B,IAAIF,GAAU5B,EAkBvC,MAjBA,CAAC,SAAU,MAAO,MAAO,UAAW,QAAQ/H,QAAS7B,IACnD,MAAM2L,EAAYF,EAA2BzL,GAC7CtD,OAAOgK,eAAe+E,EAAIzL,EAAG,CAC3B2G,YAAY,EACZC,cAAc,EACd5E,MAAO0H,SAAU1M,WACT2M,EAAOC,EAAKC,EAAMC,GACjB6B,EAASC,KAAKH,KAAOzO,QAIlCN,OAAOgK,eAAe+E,EAAIpR,EAAYQ,OAAQ,CAC5C8L,YAAY,EACZC,cAAc,EACdC,UAAU,EACV7E,MAAO4H,IAEF6B,CACT"}
|
package/dist/for-couchdb.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as t}from"@decaf-ts/decoration";import{PersistenceKeys as e,Paginator as r,PagingError as s,Sequence as a,QueryError as i,Statement as n,Condition as o,GroupOperator as c,Operator as l,Adapter as d,ConnectionError as u,Repository as p}from"@decaf-ts/core";import{DefaultSeparator as h,BaseError as g,DBKeys as f,prefixMethod as m,InternalError as A,ConflictError as y,NotFoundError as E,Context as b,OperationKeys as w,enforceDBDecorators as O,ValidationError as x,reduceErrorsToPrint as T}from"@decaf-ts/db-decorators";import{Model as P}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as D}from"tslib";import{final as N}from"@decaf-ts/logging";const M=/^_.*$/g,v={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},L=250,S={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},_={AND:"$and",OR:"$or"},I={NULL:"null"};function k(t){const r=((t,e,r,s=h)=>[...t.map(t=>t===v.TABLE?"table":t),...r||[],...e?[e]:[],v.INDEX].join(s))([v.TABLE]),s={};return s[r]={index:{fields:[v.TABLE]},name:r,ddoc:r,type:"json"},t.forEach(t=>{const r=P.indexes(t);Object.entries(r).forEach(([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=P.tableName(t);function l(t){const a=[c,r,...o,e.INDEX].join(h);if(s[a]={index:{fields:[r,...o,v.TABLE].reduce((e,r)=>{if(t){const s={};s[r]=t,e.push(s)}else e.push(r);return e},[])},name:a,ddoc:a,type:"json"},!t){const t={};t[v.TABLE]={},t[v.TABLE].$eq=c,s[a].index.partial_filter_selector=t}}o=o||[],l(),n&&n.forEach(t=>l(t))})}),Object.values(s)}class C extends g{constructor(t){super(C.name,t,404)}}class B extends r{constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1,...r){const{ctxArgs:i,ctx:n}=this.adapter.logCtx(r,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...i);const o=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...o,limit:Number.MAX_VALUE},!0,n)||[];if(this._recordCount=t.length,this._recordCount>0){const t=o?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/t)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new s("No bookmark. Did you start in the first page?");o.bookmark=this._bookmark}const c=await this.adapter.raw(o,!1,n),{docs:l,bookmark:d,warning:u}=c;if(u&&this.log.for(this.page).warn(u),!this.clazz)throw new s("No statement target defined");const p=P.pk(this.clazz),h=t.get(this.clazz,t.key(f.ID,p))?.type,g=o.fields&&o.fields.length?l:l.map(t=>this.adapter.revert(t,this.clazz,a.parseValue(h,t[p]),void 0,n));return this._bookmark=d,this._currentPage=e,g}}function R(t){for(const e of[S,_]){const r=Object.keys(e).find(e=>e===t);if(r)return e[r]}throw new i("Could not find adapter translation for operator "+t)}class $ extends n{constructor(t){super(t)}build(){const t=this.log.for(this.build),e={};e[v.TABLE]={},e[v.TABLE]=P.tableName(this.fromSelector);const r={selector:e};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(o.and(this.whereCondition,o.attribute(v.TABLE).eq(r.selector[v.TABLE]))).selector,s=Object.keys(e);if(1===s.length&&-1!==Object.values(_).indexOf(s[0]))switch(s[0]){case _.AND:e[_.AND]=[...Object.values(e[_.AND]).reduce((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===_.AND?t.push(...e[s]):t.push(e),t},[])],r.selector=e;break;case _.OR:{const t={};t[_.AND]=[e,...Object.entries(r.selector).map(([t,e])=>{const r={};return r[t]=e,r})],r.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach(([e,s])=>{r.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${r.selector[e]} by ${s}`),r.selector[e]=s})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[t,e]=this.orderBySelector,s={};s[t]=e,r.sort.push(s),r.selector[t]||(r.selector[t]={},r.selector[t].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(t.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(t,e,r,s){if(t[v.ID]){const[,...e]=t[v.ID].split(v.SEPARATOR),i=e.join("_");return this.adapter.revert(t,this.fromSelector,a.parseValue(r,i),void 0,s)}return t}async raw(e,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(e,!0,s),i=P.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(f.ID,i))?.type;return this.selectSelector?a:a.map(t=>this.processRecord(t,i,n,s))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][R(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[R(l.NOT)]={},a[R(l.NOT)][e.attr1]=s;else{const t=this.parseCondition(e).selector,i=this.parseCondition(s).selector;a=((t,e,r)=>{const s={selector:{}};return s.selector[t]=[e,r],s})(R(r),t,i).selector}return{selector:a}}}class V extends d{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach(t=>{const e=t.name;m(this,t,this[e+"Prefix"])})}Statement(){return new $(this)}Paginator(t,e,r){return new B(this,t,e,r)}async initialize(){const t=d.models(this.flavour);return this.index(...t)}repository(){return U}assignMetadata(t,e){return e?(V.setMetadata(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach((t,r)=>(V.setMetadata(t,e[r]),t)),t}createPrefix(t,e,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=P.tableName(t),n={};return n[v.TABLE]=i,n[v.ID]=this.generateId(i,e),Object.assign(n,r),[t,e,n,...a]}createAllPrefix(t,e,r,...s){const a=P.tableName(t);if(e.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map((t,e)=>{const s={};return s[v.TABLE]=a,s[v.ID]=this.generateId(a,t),Object.assign(s,r[e]),s});return[t,e,n,...i]}updatePrefix(t,r,s,...a){const i=P.tableName(t),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[v.TABLE]=i,o[v.ID]=this.generateId(i,r);const c=s[e.METADATA];if(!c)throw new A("No revision number found for record with id "+r);return Object.assign(o,s),o[v.REV]=c,[t,r,o,...n]}updateAllPrefix(t,r,s,...a){const i=P.tableName(t);if(r.length!==s.length)throw new A("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map((t,r)=>{const a={};a[v.TABLE]=i,a[v.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new A("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[v.REV]=n,a});return[t,r,o,...n]}generateId(t,e){return[t,e].join(v.SEPARATOR)}parseError(t,e){return V.parseError(t,e)}isReserved(t){return!!t.match(M)}static parseError(t,e){if(t instanceof g)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new y(e);case"404":return new E(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new C(t):new A(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new A(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}j([N(),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",$)],V.prototype,"Statement",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,String]),D("design:returntype",Object)],V.prototype,"assignMetadata",null),j([N(),D("design:type",Function),D("design:paramtypes",[Array,Array]),D("design:returntype",Array)],V.prototype,"assignMultipleMetadata",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",Array)],V.prototype,"createPrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],V.prototype,"createAllPrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",void 0)],V.prototype,"updatePrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],V.prototype,"updateAllPrefix",null);class U extends p{constructor(t,e){super(t,e)}assignMetadata(t,e){const r=(t,e)=>{const r=e??t,s=V.getMetadata(r);return s&&V.setMetadata(t,s),t};return Array.isArray(t)?t.map((t,s)=>{const a=Array.isArray(e)?e[s]:e;return r(t,a)}):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context,a=s.get("ignoreHandlers"),i=s.get("ignoreValidation"),n=t[this.pk];if(!n)throw new A("No value for the Id is defined under the property "+this.pk);let o,c;if(s.get("applyUpdateValidation")&&(o=await this.read(n),c=o?V.getMetadata(o):void 0,s.get("mergeForUpdate")&&(t=P.merge(o,t,this.class))),a||await O(this,s,t,w.UPDATE,w.ON,o),!i){const e=await Promise.resolve(t.hasErrors(o,...P.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(e)throw new x(e.toString())}return c&&V.setMetadata(t,c),[t,...r.args,o]}async updateAllPrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context,a=s.get("ignoreHandlers"),i=s.get("ignoreValidation"),n=t.map(t=>{const e=t[this.pk];if(!e)throw new A("missing id on update operation");return e});let o;if(s.get("applyUpdateValidation")&&(o=await this.readAll(n,s),s.get("mergeForUpdate")&&(t=t.map((t,e)=>{t=P.merge(o[e],t,this.class);const r=V.getMetadata(o[e]);return r&&V.setMetadata(t,r),t})),a||await Promise.all(t.map((t,e)=>O(this,r.context,t,w.UPDATE,w.ON,o?o[e]:void 0))),!i)){const e=s.get("ignoredValidationProperties")||[];let r;r=s.get("applyUpdateValidation")?await Promise.all(t.map((t,r)=>Promise.resolve(t.hasErrors(o[r],...e)))):await Promise.resolve(t.map(t=>t.hasErrors(...e)));const a=T(r);if(a)throw new x(a)}return[t,...r.args,o]}}async function F(t,e,r){return t.auth(e,r)}function z(t,e,r,s){const a=t.use?t.use(e):t;return["insert","get","put","destroy","find"].forEach(e=>{const i=a[e];Object.defineProperty(a,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await F(t,r,s),i.call(a,...e))})}),Object.defineProperty(a,v.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),a}function q(t){return t.match(/^_.*$/g)}function G(t,r,s,a,i=h){const n=[e.INDEX,r,t];return s&&n.push(...s),a&&n.push(a),n.join(i)}function X(t,e,r,s,a=h){const i={};let n;if(i[v.TABLE]={},i[v.TABLE].$eq=e,s){const e={};e[t]=s;const a=(r||[]).map(t=>{const e={};return e[t]=s,e}),i={};i[v.TABLE]=s,n=[e,...a,i]}else n=[t,...r||[],v.TABLE];const o=G(t,e,r,s,a);return{index:{fields:n},ddoc:[o,v.DDOC].join(a),name:o}}const Q="##VERSION##",H="##PACKAGE##";t.registerLibrary(H,Q);export{V as CouchDBAdapter,I as CouchDBConst,_ as CouchDBGroupOperator,v as CouchDBKeys,S as CouchDBOperator,B as CouchDBPaginator,L as CouchDBQueryLimit,U as CouchDBRepository,$ as CouchDBStatement,C as IndexError,H as PACKAGE_NAME,Q as VERSION,X as generateIndexDoc,G as generateIndexName,k as generateIndexes,F as reAuth,M as reservedAttributes,q as testReservedAttributes,R as translateOperators,z as wrapDocumentScope};
|
|
1
|
+
import{Metadata as t}from"@decaf-ts/decoration";import{PersistenceKeys as e,Paginator as r,PagingError as s,Sequence as a,QueryError as i,Statement as n,Condition as o,GroupOperator as c,Operator as l,Adapter as d,ConnectionError as u,Repository as p}from"@decaf-ts/core";import{DefaultSeparator as h,BaseError as g,DBKeys as f,prefixMethod as m,InternalError as A,ConflictError as y,NotFoundError as E,OperationKeys as w,enforceDBDecorators as b,ValidationError as O,BulkCrudOperationKeys as x,reduceErrorsToPrint as T}from"@decaf-ts/db-decorators";import{Model as P}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as D}from"tslib";import{final as N}from"@decaf-ts/logging";const M=/^_.*$/g,v={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},S=250,L={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},k={AND:"$and",OR:"$or"},C={NULL:"null"};function I(t){const r=((t,e,r,s=h)=>[...t.map(t=>t===v.TABLE?"table":t),...r||[],...e?[e]:[],v.INDEX].join(s))([v.TABLE]),s={};return s[r]={index:{fields:[v.TABLE]},name:r,ddoc:r,type:"json"},t.forEach(t=>{const r=P.indexes(t);Object.entries(r).forEach(([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=P.tableName(t);function l(t){const a=[c,r,...o,e.INDEX].join(h);if(s[a]={index:{fields:[r,...o,v.TABLE].reduce((e,r)=>{if(t){const s={};s[r]=t,e.push(s)}else e.push(r);return e},[])},name:a,ddoc:a,type:"json"},!t){const t={};t[v.TABLE]={},t[v.TABLE].$eq=c,s[a].index.partial_filter_selector=t}}o=o||[],l(),n&&n.forEach(t=>l(t))})}),Object.values(s)}class _ extends g{constructor(t){super(_.name,t,404)}}class B extends r{constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1,r,...i){const{log:n,ctxArgs:o,ctx:c}=this.adapter.logCtx([r,...i],this.page);if(this.isPreparedStatement())return await this.pagePrepared(e,...o);const l=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)e=this.validatePage(e),l.skip=(e-1)*this.size;else{this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...l,limit:Number.MAX_VALUE},!0,...o)||[];if(this._recordCount=t.length,this._recordCount>0){const t=l?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/t),await this.page(e,...o)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new s("No bookmark. Did you start in the first page?");l.bookmark=this._bookmark}const d=await this.adapter.raw(l,!1,...o),{docs:u,bookmark:p,warning:h}=d;if(h&&n.warn(h),!this.clazz)throw new s("No statement target defined");const g=P.pk(this.clazz),m=t.get(this.clazz,t.key(f.ID,g))?.type,A=l.fields&&l.fields.length?u:u.map(t=>this.adapter.revert(t,this.clazz,a.parseValue(m,t[g]),void 0,c));return this._bookmark=p,this._currentPage=e,A}}function R(t){for(const e of[L,k]){const r=Object.keys(e).find(e=>e===t);if(r)return e[r]}throw new i("Could not find adapter translation for operator "+t)}class $ extends n{constructor(t){super(t)}build(){const t=this.log.for(this.build),e={};e[v.TABLE]={},e[v.TABLE]=P.tableName(this.fromSelector);const r={selector:e};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(o.and(this.whereCondition,o.attribute(v.TABLE).eq(r.selector[v.TABLE]))).selector,s=Object.keys(e);if(1===s.length&&-1!==Object.values(k).indexOf(s[0]))switch(s[0]){case k.AND:e[k.AND]=[...Object.values(e[k.AND]).reduce((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===k.AND?t.push(...e[s]):t.push(e),t},[])],r.selector=e;break;case k.OR:{const t={};t[k.AND]=[e,...Object.entries(r.selector).map(([t,e])=>{const r={};return r[t]=e,r})],r.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach(([e,s])=>{r.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${r.selector[e]} by ${s}`),r.selector[e]=s})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[t,e]=this.orderBySelector,s={};s[t]=e,r.sort.push(s),r.selector[t]||(r.selector[t]={},r.selector[t].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(t.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(t,e,r,s){if(t[v.ID]){const[,...e]=t[v.ID].split(v.SEPARATOR),i=e.join("_");return this.adapter.revert(t,this.fromSelector,a.parseValue(r,i),void 0,s)}return t}async raw(e,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(e,!0,s),i=P.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(f.ID,i))?.type;return this.selectSelector?a:a.map(t=>this.processRecord(t,i,n,s))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][R(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[R(l.NOT)]={},a[R(l.NOT)][e.attr1]=s;else{const t=this.parseCondition(e).selector,i=this.parseCondition(s).selector;a=((t,e,r)=>{const s={selector:{}};return s.selector[t]=[e,r],s})(R(r),t,i).selector}return{selector:a}}}class V extends d{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach(t=>{const e=t.name;m(this,t,this[e+"Prefix"])})}Statement(){return new $(this)}Paginator(t,e,r){return new B(this,t,e,r)}async initialize(){const t=d.models(this.flavour);return this.index(...t)}repository(){return U}assignMetadata(t,e){return e?(V.setMetadata(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach((t,r)=>(V.setMetadata(t,e[r]),t)),t}createPrefix(t,e,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=P.tableName(t),n={};return n[v.TABLE]=i,n[v.ID]=this.generateId(i,e),Object.assign(n,r),[t,e,n,...a]}createAllPrefix(t,e,r,...s){const a=P.tableName(t);if(e.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map((t,e)=>{const s={};return s[v.TABLE]=a,s[v.ID]=this.generateId(a,t),Object.assign(s,r[e]),s});return[t,e,n,...i]}updatePrefix(t,r,s,...a){const i=P.tableName(t),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[v.TABLE]=i,o[v.ID]=this.generateId(i,r);const c=s[e.METADATA];if(!c)throw new A("No revision number found for record with id "+r);return Object.assign(o,s),o[v.REV]=c,[t,r,o,...n]}updateAllPrefix(t,r,s,...a){const i=P.tableName(t);if(r.length!==s.length)throw new A("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map((t,r)=>{const a={};a[v.TABLE]=i,a[v.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new A("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[v.REV]=n,a});return[t,r,o,...n]}generateId(t,e){return[t,e].join(v.SEPARATOR)}parseError(t,e){return V.parseError(t,e)}isReserved(t){return!!t.match(M)}static parseError(t,e){if(t instanceof g)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new y(e);case"404":return new E(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new _(t):new A(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new A(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}j([N(),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",$)],V.prototype,"Statement",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,String]),D("design:returntype",Object)],V.prototype,"assignMetadata",null),j([N(),D("design:type",Function),D("design:paramtypes",[Array,Array]),D("design:returntype",Array)],V.prototype,"assignMultipleMetadata",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",Array)],V.prototype,"createPrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],V.prototype,"createAllPrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",void 0)],V.prototype,"updatePrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],V.prototype,"updateAllPrefix",null);class U extends p{constructor(t,e){super(t,e)}assignMetadata(t,e){const r=(t,e)=>{const r=e??t,s=V.getMetadata(r);return s&&V.setMetadata(t,s),t};return Array.isArray(t)?t.map((t,s)=>{const a=Array.isArray(e)?e[s]:e;return r(t,a)}):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const{ctx:r,ctxArgs:s,log:a}=(await this.logCtx(e,w.UPDATE,!0)).for(this.updatePrefix),i=r.get("ignoreHandlers"),n=r.get("ignoreValidation");a.silly(`handlerSetting: ${i}, validationSetting: ${n}`);const o=t[this.pk];if(!o)throw new A("No value for the Id is defined under the property "+this.pk);let c,l;if(r.get("applyUpdateValidation")&&(c=await this.read(o),l=c?V.getMetadata(c):void 0,r.get("mergeForUpdate")&&(t=P.merge(c,t,this.class))),i||await b(this,r,t,w.UPDATE,w.ON,c),!n){const e=r.get("ignoredValidationProperties")||[];a.silly("ignored validation properties: "+e);const s=await Promise.resolve(t.hasErrors(c,...e));if(s)throw new O(s.toString())}return l&&V.setMetadata(t,l),[t,...s,c]}async updateAllPrefix(t,...e){const{ctx:r,ctxArgs:s,log:a}=(await this.logCtx(e,x.UPDATE_ALL,!0)).for(this.updateAllPrefix),i=r.get("ignoreHandlers"),n=r.get("ignoreValidation");a.silly(`handlerSetting: ${i}, ignoredValidation: ${n}`);const o=t.map(t=>{const e=t[this.pk];if(!e)throw new A("missing id on update operation");return e});let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(o,r),t=t.map((t,e)=>{r.get("mergeForUpdate")&&(t=P.merge(c[e],t,this.class));const s=V.getMetadata(c[e]);return s&&V.setMetadata(t,s),t})),i||await Promise.all(t.map((t,e)=>b(this,r,t,w.UPDATE,w.ON,c?c[e]:void 0))),!n){const e=r.get("ignoredValidationProperties")||[];let s;a.silly("ignored validation properties: "+e),s=r.get("applyUpdateValidation")?await Promise.all(t.map((t,r)=>Promise.resolve(t.hasErrors(c[r],...e)))):await Promise.resolve(t.map(t=>t.hasErrors(...e)));const i=T(s);if(i)throw new O(i)}return[t,...s,c]}}async function z(t,e,r){return t.auth(e,r)}function F(t,e,r,s){const a=t.use?t.use(e):t;return["insert","get","put","destroy","find"].forEach(e=>{const i=a[e];Object.defineProperty(a,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await z(t,r,s),i.call(a,...e))})}),Object.defineProperty(a,v.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),a}function q(t){return t.match(/^_.*$/g)}function G(t,r,s,a,i=h){const n=[e.INDEX,r,t];return s&&n.push(...s),a&&n.push(a),n.join(i)}function X(t,e,r,s,a=h){const i={};let n;if(i[v.TABLE]={},i[v.TABLE].$eq=e,s){const e={};e[t]=s;const a=(r||[]).map(t=>{const e={};return e[t]=s,e}),i={};i[v.TABLE]=s,n=[e,...a,i]}else n=[t,...r||[],v.TABLE];const o=G(t,e,r,s,a);return{index:{fields:n},ddoc:[o,v.DDOC].join(a),name:o}}const Q="##VERSION##",H="##PACKAGE##";t.registerLibrary(H,Q);export{V as CouchDBAdapter,C as CouchDBConst,k as CouchDBGroupOperator,v as CouchDBKeys,L as CouchDBOperator,B as CouchDBPaginator,S as CouchDBQueryLimit,U as CouchDBRepository,$ as CouchDBStatement,_ as IndexError,H as PACKAGE_NAME,Q as VERSION,X as generateIndexDoc,G as generateIndexName,I as generateIndexes,z as reAuth,M as reservedAttributes,q as testReservedAttributes,R as translateOperators,F as wrapDocumentScope};
|
|
2
2
|
//# sourceMappingURL=for-couchdb.js.map
|
package/dist/for-couchdb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","Number","MAX_VALUE","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","pk","Metadata","get","DBKeys","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","find","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","indexOf","val","Error","s","result","orderBySelector","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","split","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","context","ignoreHandlers","ignoreValidate","oldModel","oldMetadata","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","bookmark","args","log","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","length","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","id","pk","Metadata","get","DBKeys","pageResults","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","find","QueryError","CouchDBStatement","Statement","build","for","selectors","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","indexOf","val","Error","s","result","orderBySelector","rec","limitSelector","offsetSelector","processRecord","r","pkAttr","sequenceType","keyArgs","split","rawInput","logCtx","results","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","OperationKeys","UPDATE","ignoreHandlers","ignoreValidate","silly","oldModel","oldMetadata","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","BulkCrudOperationKeys","UPDATE_ALL","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/adapter.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Adapter, Paginator, RawResult } from "@decaf-ts/core";
|
|
1
|
+
import { Adapter, Paginator, RawResult, ContextualArgs } from "@decaf-ts/core";
|
|
2
2
|
import { BaseError, type PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { type MangoQuery } from "./types";
|
|
5
5
|
import { CouchDBStatement } from "./query";
|
|
6
|
-
import {
|
|
6
|
+
import { Context } from "@decaf-ts/core";
|
|
7
7
|
import { type Constructor } from "@decaf-ts/decoration";
|
|
8
8
|
import { Repository } from "@decaf-ts/core";
|
|
9
9
|
/**
|
|
@@ -83,7 +83,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
83
83
|
* @param {...MaybeContextualArg<C>} args - Optional `docsOnly` flag followed by contextual arguments
|
|
84
84
|
* @return {Promise<R>} A promise that resolves to the query result
|
|
85
85
|
*/
|
|
86
|
-
abstract raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly: D, ...args:
|
|
86
|
+
abstract raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly: D, ...args: ContextualArgs<C>): Promise<RawResult<R, D>>;
|
|
87
87
|
/**
|
|
88
88
|
* @description Assigns metadata to a model
|
|
89
89
|
* @summary Adds revision metadata to a model as a non-enumerable property
|
|
@@ -108,7 +108,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
108
108
|
* @param {Record<string, any>} model - The model to prepare
|
|
109
109
|
* @return A tuple containing the tableName, id, and prepared record
|
|
110
110
|
*/
|
|
111
|
-
protected createPrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
111
|
+
protected createPrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): [Constructor<M>, PrimaryKeyType, Record<string, any>, ...any[], Context];
|
|
112
112
|
/**
|
|
113
113
|
* @description Creates a new record in the database
|
|
114
114
|
* @summary Abstract method that must be implemented to create a new record
|
|
@@ -118,7 +118,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
118
118
|
* @param {...any[]} args - Additional arguments
|
|
119
119
|
* @return {Promise<Record<string, any>>} A promise that resolves to the created record
|
|
120
120
|
*/
|
|
121
|
-
abstract create<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
121
|
+
abstract create<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
122
122
|
/**
|
|
123
123
|
* @description Prepares multiple records for creation
|
|
124
124
|
* @summary Adds necessary CouchDB fields to multiple records before creation
|
|
@@ -128,7 +128,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
128
128
|
* @return A tuple containing the tableName, ids, and prepared records
|
|
129
129
|
* @throws {InternalError} If ids and models arrays have different lengths
|
|
130
130
|
*/
|
|
131
|
-
protected createAllPrefix<M extends Model>(clazz: Constructor<M>, ids: string[] | number[], models: Record<string, any>[], ...args:
|
|
131
|
+
protected createAllPrefix<M extends Model>(clazz: Constructor<M>, ids: string[] | number[], models: Record<string, any>[], ...args: ContextualArgs<C>): any[];
|
|
132
132
|
/**
|
|
133
133
|
* @description Reads a record from the database
|
|
134
134
|
* @summary Abstract method that must be implemented to read a record
|
|
@@ -137,7 +137,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
137
137
|
* @param {...any[]} args - Additional arguments
|
|
138
138
|
* @return {Promise<Record<string, any>>} A promise that resolves to the read record
|
|
139
139
|
*/
|
|
140
|
-
abstract read<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args:
|
|
140
|
+
abstract read<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
141
141
|
/**
|
|
142
142
|
* @description Prepares a record for update
|
|
143
143
|
* @summary Adds necessary CouchDB fields to a record before update
|
|
@@ -148,7 +148,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
148
148
|
* @return A tuple containing the tableName, id, and prepared record
|
|
149
149
|
* @throws {InternalError} If no revision number is found in the model
|
|
150
150
|
*/
|
|
151
|
-
updatePrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
151
|
+
updatePrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): any[];
|
|
152
152
|
/**
|
|
153
153
|
* @description Updates a record in the database
|
|
154
154
|
* @summary Abstract method that must be implemented to update a record
|
|
@@ -158,7 +158,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
158
158
|
* @param {any[]} args - Additional arguments
|
|
159
159
|
* @return A promise that resolves to the updated record
|
|
160
160
|
*/
|
|
161
|
-
abstract update<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
161
|
+
abstract update<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
162
162
|
/**
|
|
163
163
|
* @description Prepares multiple records for update
|
|
164
164
|
* @summary Adds necessary CouchDB fields to multiple records before update
|
|
@@ -168,7 +168,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
168
168
|
* @return A tuple containing the tableName, ids, and prepared records
|
|
169
169
|
* @throws {InternalError} If ids and models arrays have different lengths or if no revision number is found in a model
|
|
170
170
|
*/
|
|
171
|
-
protected updateAllPrefix<M extends Model>(clazz: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args:
|
|
171
|
+
protected updateAllPrefix<M extends Model>(clazz: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args: ContextualArgs<C>): any[];
|
|
172
172
|
/**
|
|
173
173
|
* @description Deletes a record from the database
|
|
174
174
|
* @summary Abstract method that must be implemented to delete a record
|
|
@@ -177,7 +177,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
177
177
|
* @param {any[]} args - Additional arguments
|
|
178
178
|
* @return A promise that resolves to the deleted record
|
|
179
179
|
*/
|
|
180
|
-
abstract delete<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args:
|
|
180
|
+
abstract delete<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
181
181
|
/**
|
|
182
182
|
* @description Generates a CouchDB document ID
|
|
183
183
|
* @summary Combines the table name and ID to create a CouchDB document ID
|
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/adapter.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Adapter, Paginator, RawResult } from "@decaf-ts/core";
|
|
1
|
+
import { Adapter, Paginator, RawResult, ContextualArgs } from "@decaf-ts/core";
|
|
2
2
|
import { BaseError, type PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { type MangoQuery } from "./types";
|
|
5
5
|
import { CouchDBStatement } from "./query";
|
|
6
|
-
import {
|
|
6
|
+
import { Context } from "@decaf-ts/core";
|
|
7
7
|
import { type Constructor } from "@decaf-ts/decoration";
|
|
8
8
|
import { Repository } from "@decaf-ts/core";
|
|
9
9
|
/**
|
|
@@ -83,7 +83,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
83
83
|
* @param {...MaybeContextualArg<C>} args - Optional `docsOnly` flag followed by contextual arguments
|
|
84
84
|
* @return {Promise<R>} A promise that resolves to the query result
|
|
85
85
|
*/
|
|
86
|
-
abstract raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly: D, ...args:
|
|
86
|
+
abstract raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly: D, ...args: ContextualArgs<C>): Promise<RawResult<R, D>>;
|
|
87
87
|
/**
|
|
88
88
|
* @description Assigns metadata to a model
|
|
89
89
|
* @summary Adds revision metadata to a model as a non-enumerable property
|
|
@@ -108,7 +108,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
108
108
|
* @param {Record<string, any>} model - The model to prepare
|
|
109
109
|
* @return A tuple containing the tableName, id, and prepared record
|
|
110
110
|
*/
|
|
111
|
-
protected createPrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
111
|
+
protected createPrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): [Constructor<M>, PrimaryKeyType, Record<string, any>, ...any[], Context];
|
|
112
112
|
/**
|
|
113
113
|
* @description Creates a new record in the database
|
|
114
114
|
* @summary Abstract method that must be implemented to create a new record
|
|
@@ -118,7 +118,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
118
118
|
* @param {...any[]} args - Additional arguments
|
|
119
119
|
* @return {Promise<Record<string, any>>} A promise that resolves to the created record
|
|
120
120
|
*/
|
|
121
|
-
abstract create<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
121
|
+
abstract create<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
122
122
|
/**
|
|
123
123
|
* @description Prepares multiple records for creation
|
|
124
124
|
* @summary Adds necessary CouchDB fields to multiple records before creation
|
|
@@ -128,7 +128,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
128
128
|
* @return A tuple containing the tableName, ids, and prepared records
|
|
129
129
|
* @throws {InternalError} If ids and models arrays have different lengths
|
|
130
130
|
*/
|
|
131
|
-
protected createAllPrefix<M extends Model>(clazz: Constructor<M>, ids: string[] | number[], models: Record<string, any>[], ...args:
|
|
131
|
+
protected createAllPrefix<M extends Model>(clazz: Constructor<M>, ids: string[] | number[], models: Record<string, any>[], ...args: ContextualArgs<C>): any[];
|
|
132
132
|
/**
|
|
133
133
|
* @description Reads a record from the database
|
|
134
134
|
* @summary Abstract method that must be implemented to read a record
|
|
@@ -137,7 +137,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
137
137
|
* @param {...any[]} args - Additional arguments
|
|
138
138
|
* @return {Promise<Record<string, any>>} A promise that resolves to the read record
|
|
139
139
|
*/
|
|
140
|
-
abstract read<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args:
|
|
140
|
+
abstract read<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
141
141
|
/**
|
|
142
142
|
* @description Prepares a record for update
|
|
143
143
|
* @summary Adds necessary CouchDB fields to a record before update
|
|
@@ -148,7 +148,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
148
148
|
* @return A tuple containing the tableName, id, and prepared record
|
|
149
149
|
* @throws {InternalError} If no revision number is found in the model
|
|
150
150
|
*/
|
|
151
|
-
updatePrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
151
|
+
updatePrefix<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): any[];
|
|
152
152
|
/**
|
|
153
153
|
* @description Updates a record in the database
|
|
154
154
|
* @summary Abstract method that must be implemented to update a record
|
|
@@ -158,7 +158,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
158
158
|
* @param {any[]} args - Additional arguments
|
|
159
159
|
* @return A promise that resolves to the updated record
|
|
160
160
|
*/
|
|
161
|
-
abstract update<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args:
|
|
161
|
+
abstract update<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
162
162
|
/**
|
|
163
163
|
* @description Prepares multiple records for update
|
|
164
164
|
* @summary Adds necessary CouchDB fields to multiple records before update
|
|
@@ -168,7 +168,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
168
168
|
* @return A tuple containing the tableName, ids, and prepared records
|
|
169
169
|
* @throws {InternalError} If ids and models arrays have different lengths or if no revision number is found in a model
|
|
170
170
|
*/
|
|
171
|
-
protected updateAllPrefix<M extends Model>(clazz: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args:
|
|
171
|
+
protected updateAllPrefix<M extends Model>(clazz: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args: ContextualArgs<C>): any[];
|
|
172
172
|
/**
|
|
173
173
|
* @description Deletes a record from the database
|
|
174
174
|
* @summary Abstract method that must be implemented to delete a record
|
|
@@ -177,7 +177,7 @@ export declare abstract class CouchDBAdapter<CONF, CONN, C extends Context<any>>
|
|
|
177
177
|
* @param {any[]} args - Additional arguments
|
|
178
178
|
* @return A promise that resolves to the deleted record
|
|
179
179
|
*/
|
|
180
|
-
abstract delete<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args:
|
|
180
|
+
abstract delete<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<C>): Promise<Record<string, any>>;
|
|
181
181
|
/**
|
|
182
182
|
* @description Generates a CouchDB document ID
|
|
183
183
|
* @summary Combines the table name and ID to create a CouchDB document ID
|
package/lib/esm/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,eAAe,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from "./query";
|
|
|
16
16
|
* @summary The version string of the for-couchdb package
|
|
17
17
|
* @const VERSION
|
|
18
18
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
19
|
+
export declare const VERSION = "0.4.17";
|
|
20
20
|
/**
|
|
21
21
|
* @description Stores the current package name
|
|
22
22
|
* @summary The version string of the for-couchdb package
|
package/lib/esm/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export * from "./query/index.js";
|
|
|
17
17
|
* @summary The version string of the for-couchdb package
|
|
18
18
|
* @const VERSION
|
|
19
19
|
*/
|
|
20
|
-
export const VERSION = "0.4.
|
|
20
|
+
export const VERSION = "0.4.17";
|
|
21
21
|
/**
|
|
22
22
|
* @description Stores the current package name
|
|
23
23
|
* @summary The version string of the for-couchdb package
|
|
@@ -25,7 +25,7 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
25
25
|
* // Get the next page
|
|
26
26
|
* const page2 = await paginator.page(2);
|
|
27
27
|
*/
|
|
28
|
-
export declare class CouchDBPaginator<M extends Model
|
|
28
|
+
export declare class CouchDBPaginator<M extends Model> extends Paginator<M, M[], MangoQuery> {
|
|
29
29
|
/**
|
|
30
30
|
* @description Creates a new CouchDBPaginator instance
|
|
31
31
|
* @summary Initializes a paginator for CouchDB query results
|
|
@@ -101,5 +101,5 @@ export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M, M
|
|
|
101
101
|
* CouchDBPaginator-->>Client: Return results
|
|
102
102
|
* end
|
|
103
103
|
*/
|
|
104
|
-
page(page?: number, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
104
|
+
page(page?: number | undefined, bookmark?: any, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
105
105
|
}
|
|
@@ -108,42 +108,47 @@ export class CouchDBPaginator extends Paginator {
|
|
|
108
108
|
* CouchDBPaginator-->>Client: Return results
|
|
109
109
|
* end
|
|
110
110
|
*/
|
|
111
|
-
async page(page = 1, ...args) {
|
|
112
|
-
const { ctxArgs, ctx } = this.adapter["logCtx"](args, this.page);
|
|
111
|
+
async page(page = 1, bookmark, ...args) {
|
|
112
|
+
const { log, ctxArgs, ctx } = this.adapter["logCtx"]([bookmark, ...args], this.page);
|
|
113
113
|
if (this.isPreparedStatement())
|
|
114
|
-
return this.pagePrepared(page, ...ctxArgs);
|
|
114
|
+
return await this.pagePrepared(page, ...ctxArgs);
|
|
115
115
|
const statement = Object.assign({}, this.statement);
|
|
116
116
|
if (!this._recordCount || !this._totalPages) {
|
|
117
117
|
this._totalPages = this._recordCount = 0;
|
|
118
|
-
const
|
|
119
|
-
this._recordCount =
|
|
118
|
+
const countResults = (await this.adapter.raw({ ...statement, limit: Number.MAX_VALUE }, true, ...ctxArgs)) || [];
|
|
119
|
+
this._recordCount = countResults.length;
|
|
120
120
|
if (this._recordCount > 0) {
|
|
121
121
|
const size = statement?.limit || this.size;
|
|
122
122
|
this._totalPages = Math.ceil(this._recordCount / size);
|
|
123
|
+
return await this.page(page, ...ctxArgs);
|
|
123
124
|
}
|
|
124
125
|
}
|
|
126
|
+
else {
|
|
127
|
+
page = this.validatePage(page);
|
|
128
|
+
statement.skip = (page - 1) * this.size;
|
|
129
|
+
}
|
|
125
130
|
this.validatePage(page);
|
|
126
131
|
if (page !== 1) {
|
|
127
132
|
if (!this._bookmark)
|
|
128
133
|
throw new PagingError("No bookmark. Did you start in the first page?");
|
|
129
134
|
statement["bookmark"] = this._bookmark;
|
|
130
135
|
}
|
|
131
|
-
const rawResult = (await this.adapter.raw(statement, false,
|
|
132
|
-
const { docs, bookmark, warning } = rawResult;
|
|
136
|
+
const rawResult = (await this.adapter.raw(statement, false, ...ctxArgs));
|
|
137
|
+
const { docs, bookmark: nextBookmark, warning } = rawResult;
|
|
133
138
|
if (warning)
|
|
134
|
-
|
|
139
|
+
log.warn(warning);
|
|
135
140
|
if (!this.clazz)
|
|
136
141
|
throw new PagingError("No statement target defined");
|
|
137
142
|
const id = Model.pk(this.clazz);
|
|
138
143
|
const type = Metadata.get(this.clazz, Metadata.key(DBKeys.ID, id))?.type;
|
|
139
|
-
const
|
|
144
|
+
const pageResults = statement.fields && statement.fields.length
|
|
140
145
|
? docs // has fields means its not full model
|
|
141
146
|
: docs.map((d) => {
|
|
142
147
|
return this.adapter.revert(d, this.clazz, Sequence.parseValue(type, d[id]), undefined, ctx);
|
|
143
148
|
});
|
|
144
|
-
this._bookmark =
|
|
149
|
+
this._bookmark = nextBookmark;
|
|
145
150
|
this._currentPage = page;
|
|
146
|
-
return
|
|
151
|
+
return pageResults;
|
|
147
152
|
}
|
|
148
153
|
}
|
|
149
154
|
//# sourceMappingURL=Paginator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../../src/query/Paginator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,WAAW,EACX,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEvD,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../../src/query/Paginator.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/repository.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Repository } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { CouchDBAdapter } from "./adapter.js";
|
|
4
|
-
import {
|
|
4
|
+
import { enforceDBDecorators, reduceErrorsToPrint, InternalError, OperationKeys, ValidationError, BulkCrudOperationKeys, } from "@decaf-ts/db-decorators";
|
|
5
5
|
export class CouchDBRepository extends Repository {
|
|
6
6
|
constructor(adapter, model) {
|
|
7
7
|
super(adapter, model);
|
|
@@ -73,10 +73,10 @@ export class CouchDBRepository extends Repository {
|
|
|
73
73
|
* @throws {ValidationError} If the model fails validation.
|
|
74
74
|
*/
|
|
75
75
|
async updatePrefix(model, ...args) {
|
|
76
|
-
const
|
|
77
|
-
const ctx = contextArgs.context;
|
|
76
|
+
const { ctx, ctxArgs, log } = (await this.logCtx(args, OperationKeys.UPDATE, true)).for(this.updatePrefix);
|
|
78
77
|
const ignoreHandlers = ctx.get("ignoreHandlers");
|
|
79
78
|
const ignoreValidate = ctx.get("ignoreValidation");
|
|
79
|
+
log.silly(`handlerSetting: ${ignoreHandlers}, validationSetting: ${ignoreValidate}`);
|
|
80
80
|
const pk = model[this.pk];
|
|
81
81
|
if (!pk)
|
|
82
82
|
throw new InternalError(`No value for the Id is defined under the property ${this.pk}`);
|
|
@@ -91,13 +91,15 @@ export class CouchDBRepository extends Repository {
|
|
|
91
91
|
if (!ignoreHandlers)
|
|
92
92
|
await enforceDBDecorators(this, ctx, model, OperationKeys.UPDATE, OperationKeys.ON, oldModel);
|
|
93
93
|
if (!ignoreValidate) {
|
|
94
|
-
const
|
|
94
|
+
const propsToIgnore = ctx.get("ignoredValidationProperties") || [];
|
|
95
|
+
log.silly(`ignored validation properties: ${propsToIgnore}`);
|
|
96
|
+
const errors = await Promise.resolve(model.hasErrors(oldModel, ...propsToIgnore));
|
|
95
97
|
if (errors)
|
|
96
98
|
throw new ValidationError(errors.toString());
|
|
97
99
|
}
|
|
98
100
|
if (oldMetadata)
|
|
99
101
|
CouchDBAdapter.setMetadata(model, oldMetadata);
|
|
100
|
-
return [model, ...
|
|
102
|
+
return [model, ...ctxArgs, oldModel];
|
|
101
103
|
}
|
|
102
104
|
/**
|
|
103
105
|
* @description Prepares multiple models for update.
|
|
@@ -109,10 +111,10 @@ export class CouchDBRepository extends Repository {
|
|
|
109
111
|
* @throws {ValidationError} If any model fails validation.
|
|
110
112
|
*/
|
|
111
113
|
async updateAllPrefix(models, ...args) {
|
|
112
|
-
const
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
|
|
114
|
+
const { ctx, ctxArgs, log } = (await this.logCtx(args, BulkCrudOperationKeys.UPDATE_ALL, true)).for(this.updateAllPrefix);
|
|
115
|
+
const ignoreHandlers = ctx.get("ignoreHandlers");
|
|
116
|
+
const ignoreValidate = ctx.get("ignoreValidation");
|
|
117
|
+
log.silly(`handlerSetting: ${ignoreHandlers}, ignoredValidation: ${ignoreValidate}`);
|
|
116
118
|
const ids = models.map((m) => {
|
|
117
119
|
const id = m[this.pk];
|
|
118
120
|
if (!id)
|
|
@@ -120,33 +122,34 @@ export class CouchDBRepository extends Repository {
|
|
|
120
122
|
return id;
|
|
121
123
|
});
|
|
122
124
|
let oldModels;
|
|
123
|
-
if (
|
|
124
|
-
oldModels = await this.readAll(ids,
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
if (ctx.get("applyUpdateValidation")) {
|
|
126
|
+
oldModels = await this.readAll(ids, ctx);
|
|
127
|
+
models = models.map((m, i) => {
|
|
128
|
+
if (ctx.get("mergeForUpdate"))
|
|
127
129
|
m = Model.merge(oldModels[i], m, this.class);
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (errorMessages)
|
|
146
|
-
throw new ValidationError(errorMessages);
|
|
130
|
+
const oldMetadata = CouchDBAdapter.getMetadata(oldModels[i]);
|
|
131
|
+
if (oldMetadata)
|
|
132
|
+
CouchDBAdapter.setMetadata(m, oldMetadata);
|
|
133
|
+
return m;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
if (!ignoreHandlers)
|
|
137
|
+
await Promise.all(models.map((m, i) => enforceDBDecorators(this, ctx, m, OperationKeys.UPDATE, OperationKeys.ON, oldModels ? oldModels[i] : undefined)));
|
|
138
|
+
if (!ignoreValidate) {
|
|
139
|
+
const ignoredProps = ctx.get("ignoredValidationProperties") || [];
|
|
140
|
+
log.silly(`ignored validation properties: ${ignoredProps}`);
|
|
141
|
+
let modelsValidation;
|
|
142
|
+
if (!ctx.get("applyUpdateValidation")) {
|
|
143
|
+
modelsValidation = await Promise.resolve(models.map((m) => m.hasErrors(...ignoredProps)));
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
modelsValidation = await Promise.all(models.map((m, i) => Promise.resolve(m.hasErrors(oldModels[i], ...ignoredProps))));
|
|
147
147
|
}
|
|
148
|
+
const errorMessages = reduceErrorsToPrint(modelsValidation);
|
|
149
|
+
if (errorMessages)
|
|
150
|
+
throw new ValidationError(errorMessages);
|
|
148
151
|
}
|
|
149
|
-
return [models, ...
|
|
152
|
+
return [models, ...ctxArgs, oldModels];
|
|
150
153
|
}
|
|
151
154
|
}
|
|
152
155
|
//# sourceMappingURL=repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,qBAAkB;AAE3C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"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"}
|
package/lib/index.cjs
CHANGED
|
@@ -34,7 +34,7 @@ __exportStar(require("./query/index.cjs"), exports);
|
|
|
34
34
|
* @summary The version string of the for-couchdb package
|
|
35
35
|
* @const VERSION
|
|
36
36
|
*/
|
|
37
|
-
exports.VERSION = "0.4.
|
|
37
|
+
exports.VERSION = "0.4.17";
|
|
38
38
|
/**
|
|
39
39
|
* @description Stores the current package name
|
|
40
40
|
* @summary The version string of the for-couchdb package
|
package/lib/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from "./query";
|
|
|
16
16
|
* @summary The version string of the for-couchdb package
|
|
17
17
|
* @const VERSION
|
|
18
18
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
19
|
+
export declare const VERSION = "0.4.17";
|
|
20
20
|
/**
|
|
21
21
|
* @description Stores the current package name
|
|
22
22
|
* @summary The version string of the for-couchdb package
|
package/lib/query/Paginator.cjs
CHANGED
|
@@ -111,42 +111,47 @@ class CouchDBPaginator extends core_1.Paginator {
|
|
|
111
111
|
* CouchDBPaginator-->>Client: Return results
|
|
112
112
|
* end
|
|
113
113
|
*/
|
|
114
|
-
async page(page = 1, ...args) {
|
|
115
|
-
const { ctxArgs, ctx } = this.adapter["logCtx"](args, this.page);
|
|
114
|
+
async page(page = 1, bookmark, ...args) {
|
|
115
|
+
const { log, ctxArgs, ctx } = this.adapter["logCtx"]([bookmark, ...args], this.page);
|
|
116
116
|
if (this.isPreparedStatement())
|
|
117
|
-
return this.pagePrepared(page, ...ctxArgs);
|
|
117
|
+
return await this.pagePrepared(page, ...ctxArgs);
|
|
118
118
|
const statement = Object.assign({}, this.statement);
|
|
119
119
|
if (!this._recordCount || !this._totalPages) {
|
|
120
120
|
this._totalPages = this._recordCount = 0;
|
|
121
|
-
const
|
|
122
|
-
this._recordCount =
|
|
121
|
+
const countResults = (await this.adapter.raw({ ...statement, limit: Number.MAX_VALUE }, true, ...ctxArgs)) || [];
|
|
122
|
+
this._recordCount = countResults.length;
|
|
123
123
|
if (this._recordCount > 0) {
|
|
124
124
|
const size = statement?.limit || this.size;
|
|
125
125
|
this._totalPages = Math.ceil(this._recordCount / size);
|
|
126
|
+
return await this.page(page, ...ctxArgs);
|
|
126
127
|
}
|
|
127
128
|
}
|
|
129
|
+
else {
|
|
130
|
+
page = this.validatePage(page);
|
|
131
|
+
statement.skip = (page - 1) * this.size;
|
|
132
|
+
}
|
|
128
133
|
this.validatePage(page);
|
|
129
134
|
if (page !== 1) {
|
|
130
135
|
if (!this._bookmark)
|
|
131
136
|
throw new core_1.PagingError("No bookmark. Did you start in the first page?");
|
|
132
137
|
statement["bookmark"] = this._bookmark;
|
|
133
138
|
}
|
|
134
|
-
const rawResult = (await this.adapter.raw(statement, false,
|
|
135
|
-
const { docs, bookmark, warning } = rawResult;
|
|
139
|
+
const rawResult = (await this.adapter.raw(statement, false, ...ctxArgs));
|
|
140
|
+
const { docs, bookmark: nextBookmark, warning } = rawResult;
|
|
136
141
|
if (warning)
|
|
137
|
-
|
|
142
|
+
log.warn(warning);
|
|
138
143
|
if (!this.clazz)
|
|
139
144
|
throw new core_1.PagingError("No statement target defined");
|
|
140
145
|
const id = decorator_validation_1.Model.pk(this.clazz);
|
|
141
146
|
const type = decoration_1.Metadata.get(this.clazz, decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, id))?.type;
|
|
142
|
-
const
|
|
147
|
+
const pageResults = statement.fields && statement.fields.length
|
|
143
148
|
? docs // has fields means its not full model
|
|
144
149
|
: docs.map((d) => {
|
|
145
150
|
return this.adapter.revert(d, this.clazz, core_1.Sequence.parseValue(type, d[id]), undefined, ctx);
|
|
146
151
|
});
|
|
147
|
-
this._bookmark =
|
|
152
|
+
this._bookmark = nextBookmark;
|
|
148
153
|
this._currentPage = page;
|
|
149
|
-
return
|
|
154
|
+
return pageResults;
|
|
150
155
|
}
|
|
151
156
|
}
|
|
152
157
|
exports.CouchDBPaginator = CouchDBPaginator;
|
package/lib/query/Paginator.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
25
25
|
* // Get the next page
|
|
26
26
|
* const page2 = await paginator.page(2);
|
|
27
27
|
*/
|
|
28
|
-
export declare class CouchDBPaginator<M extends Model
|
|
28
|
+
export declare class CouchDBPaginator<M extends Model> extends Paginator<M, M[], MangoQuery> {
|
|
29
29
|
/**
|
|
30
30
|
* @description Creates a new CouchDBPaginator instance
|
|
31
31
|
* @summary Initializes a paginator for CouchDB query results
|
|
@@ -101,5 +101,5 @@ export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M, M
|
|
|
101
101
|
* CouchDBPaginator-->>Client: Return results
|
|
102
102
|
* end
|
|
103
103
|
*/
|
|
104
|
-
page(page?: number, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
104
|
+
page(page?: number | undefined, bookmark?: any, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
105
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../src/query/Paginator.ts"],"names":[],"mappings":";;;AAAA,yCAKwB;AACxB,2DAAiD;AAEjD,yEAAuD;AAEvD,qDAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,
|
|
1
|
+
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../src/query/Paginator.ts"],"names":[],"mappings":"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"}
|
package/lib/repository.cjs
CHANGED
|
@@ -76,10 +76,10 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
76
76
|
* @throws {ValidationError} If the model fails validation.
|
|
77
77
|
*/
|
|
78
78
|
async updatePrefix(model, ...args) {
|
|
79
|
-
const
|
|
80
|
-
const ctx = contextArgs.context;
|
|
79
|
+
const { ctx, ctxArgs, log } = (await this.logCtx(args, db_decorators_1.OperationKeys.UPDATE, true)).for(this.updatePrefix);
|
|
81
80
|
const ignoreHandlers = ctx.get("ignoreHandlers");
|
|
82
81
|
const ignoreValidate = ctx.get("ignoreValidation");
|
|
82
|
+
log.silly(`handlerSetting: ${ignoreHandlers}, validationSetting: ${ignoreValidate}`);
|
|
83
83
|
const pk = model[this.pk];
|
|
84
84
|
if (!pk)
|
|
85
85
|
throw new db_decorators_1.InternalError(`No value for the Id is defined under the property ${this.pk}`);
|
|
@@ -94,13 +94,15 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
94
94
|
if (!ignoreHandlers)
|
|
95
95
|
await (0, db_decorators_1.enforceDBDecorators)(this, ctx, model, db_decorators_1.OperationKeys.UPDATE, db_decorators_1.OperationKeys.ON, oldModel);
|
|
96
96
|
if (!ignoreValidate) {
|
|
97
|
-
const
|
|
97
|
+
const propsToIgnore = ctx.get("ignoredValidationProperties") || [];
|
|
98
|
+
log.silly(`ignored validation properties: ${propsToIgnore}`);
|
|
99
|
+
const errors = await Promise.resolve(model.hasErrors(oldModel, ...propsToIgnore));
|
|
98
100
|
if (errors)
|
|
99
101
|
throw new db_decorators_1.ValidationError(errors.toString());
|
|
100
102
|
}
|
|
101
103
|
if (oldMetadata)
|
|
102
104
|
adapter_1.CouchDBAdapter.setMetadata(model, oldMetadata);
|
|
103
|
-
return [model, ...
|
|
105
|
+
return [model, ...ctxArgs, oldModel];
|
|
104
106
|
}
|
|
105
107
|
/**
|
|
106
108
|
* @description Prepares multiple models for update.
|
|
@@ -112,10 +114,10 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
112
114
|
* @throws {ValidationError} If any model fails validation.
|
|
113
115
|
*/
|
|
114
116
|
async updateAllPrefix(models, ...args) {
|
|
115
|
-
const
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
-
|
|
117
|
+
const { ctx, ctxArgs, log } = (await this.logCtx(args, db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL, true)).for(this.updateAllPrefix);
|
|
118
|
+
const ignoreHandlers = ctx.get("ignoreHandlers");
|
|
119
|
+
const ignoreValidate = ctx.get("ignoreValidation");
|
|
120
|
+
log.silly(`handlerSetting: ${ignoreHandlers}, ignoredValidation: ${ignoreValidate}`);
|
|
119
121
|
const ids = models.map((m) => {
|
|
120
122
|
const id = m[this.pk];
|
|
121
123
|
if (!id)
|
|
@@ -123,33 +125,34 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
123
125
|
return id;
|
|
124
126
|
});
|
|
125
127
|
let oldModels;
|
|
126
|
-
if (
|
|
127
|
-
oldModels = await this.readAll(ids,
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
if (ctx.get("applyUpdateValidation")) {
|
|
129
|
+
oldModels = await this.readAll(ids, ctx);
|
|
130
|
+
models = models.map((m, i) => {
|
|
131
|
+
if (ctx.get("mergeForUpdate"))
|
|
130
132
|
m = decorator_validation_1.Model.merge(oldModels[i], m, this.class);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (errorMessages)
|
|
149
|
-
throw new db_decorators_1.ValidationError(errorMessages);
|
|
133
|
+
const oldMetadata = adapter_1.CouchDBAdapter.getMetadata(oldModels[i]);
|
|
134
|
+
if (oldMetadata)
|
|
135
|
+
adapter_1.CouchDBAdapter.setMetadata(m, oldMetadata);
|
|
136
|
+
return m;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
if (!ignoreHandlers)
|
|
140
|
+
await Promise.all(models.map((m, i) => (0, db_decorators_1.enforceDBDecorators)(this, ctx, m, db_decorators_1.OperationKeys.UPDATE, db_decorators_1.OperationKeys.ON, oldModels ? oldModels[i] : undefined)));
|
|
141
|
+
if (!ignoreValidate) {
|
|
142
|
+
const ignoredProps = ctx.get("ignoredValidationProperties") || [];
|
|
143
|
+
log.silly(`ignored validation properties: ${ignoredProps}`);
|
|
144
|
+
let modelsValidation;
|
|
145
|
+
if (!ctx.get("applyUpdateValidation")) {
|
|
146
|
+
modelsValidation = await Promise.resolve(models.map((m) => m.hasErrors(...ignoredProps)));
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
modelsValidation = await Promise.all(models.map((m, i) => Promise.resolve(m.hasErrors(oldModels[i], ...ignoredProps))));
|
|
150
150
|
}
|
|
151
|
+
const errorMessages = (0, db_decorators_1.reduceErrorsToPrint)(modelsValidation);
|
|
152
|
+
if (errorMessages)
|
|
153
|
+
throw new db_decorators_1.ValidationError(errorMessages);
|
|
151
154
|
}
|
|
152
|
-
return [models, ...
|
|
155
|
+
return [models, ...ctxArgs, oldModels];
|
|
153
156
|
}
|
|
154
157
|
}
|
|
155
158
|
exports.CouchDBRepository = CouchDBRepository;
|
package/lib/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/for-couchdb",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.18",
|
|
4
4
|
"description": "template for ts projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"reset": "rm -rf * && git checkout . && git pull && npm run do-install",
|
|
19
19
|
"build": "npx build-scripts --dev",
|
|
20
20
|
"build:prod": "npx build-scripts --prod",
|
|
21
|
-
"test": "jest --runInBand --coverage --detectOpenHandles",
|
|
21
|
+
"test": "jest --runInBand --coverage --detectOpenHandles --passWithNoTests",
|
|
22
22
|
"test:unit": "jest --testPathPattern=\"/tests/unit\" --passWithNoTests --detectOpenHandles",
|
|
23
23
|
"test:integration": "jest --testPathPattern=\"/tests/(integration)\" --passWithNoTests --detectOpenHandles",
|
|
24
24
|
"test:all": "jest --testPathPattern=\"/tests\" --passWithNoTests --detectOpenHandles",
|