@decaf-ts/for-couchdb 0.4.26 → 0.4.28
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.cjs +6 -13
- package/lib/adapter.js.map +1 -1
- package/lib/esm/adapter.js +6 -13
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/metadata.d.ts +4 -0
- package/lib/esm/metadata.js +19 -0
- package/lib/esm/metadata.js.map +1 -0
- package/lib/esm/repository.d.ts +1 -1
- package/lib/esm/repository.js +7 -7
- package/lib/esm/repository.js.map +1 -1
- package/lib/index.cjs +2 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js.map +1 -1
- package/lib/metadata.cjs +24 -0
- package/lib/metadata.d.ts +4 -0
- package/lib/metadata.js.map +1 -0
- package/lib/repository.cjs +7 -7
- package/lib/repository.d.ts +1 -1
- package/lib/repository.js.map +1 -1
- package/package.json +1 -1
package/dist/for-couchdb.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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(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,A=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,A}}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}prepare(e,...t){const{log:o}=this.logCtx(t,this.prepare),i=e.segregate(),n=Object.entries(i.model).reduce(((t,[r,o])=>{if(void 0===o)return t;const i=s.Model.columnName(e.constructor,r);if(this.isReserved(i))throw new a.InternalError(`Property name ${i} is reserved`);return o=o instanceof Date?new Date(o):o,t[i]=o,t}),{});return e[r.PersistenceKeys.METADATA]&&(o.silly("Passing along persistence metadata for "+e[r.PersistenceKeys.METADATA]),Object.defineProperty(n,r.PersistenceKeys.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[r.PersistenceKeys.METADATA]})),{record:n,id:e[s.Model.pk(e.constructor)],transient:i.transient}}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 A(e,t,r){return e.auth(t,r)}function y(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=y(e,t,r,s,o);return{index:{fields:n},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=y,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:[c.TABLE,t,...u].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=A,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 A(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,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"};function u(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function p(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}function h(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}class g extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=p(t??e);return r&&u(e,r),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:n}=(await this.logCtx(t,a.OperationKeys.UPDATE,!0)).for(this.updatePrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");n.silly(`handlerSetting: ${i}, 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,h;if(r.get("applyUpdateValidation")&&(l=await this.read(d),h=l?p(l):void 0,r.get("mergeForUpdate")&&(e=s.Model.merge(l,e,this.class))),i||await a.enforceDBDecorators(this,r,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,l),!c){const t=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+t);const s=await Promise.resolve(e.hasErrors(l,...t));if(s)throw new a.ValidationError(s.toString())}return h&&u(e,h),[e,...o,l]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:o,log:n}=(await this.logCtx(t,a.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),i=r.get("ignoreHandlers"),c=r.get("ignoreValidation");n.silly(`handlerSetting: ${i}, 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=p(l[t]);return a&&u(e,a),e})),i||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;n.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]}}class f extends a.BaseError{constructor(e){super(f.name,e,404)}}class m 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,...n){const{log:i,ctxArgs:c,ctx:d}=this.adapter.logCtx([o,...n],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(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&&i.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,A=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,A}}function A(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 y 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][A(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[A(r.Operator.NOT)]={},o[A(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})(A(a),e,r).selector}return{selector:o}}}class E 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 y(this)}Paginator(e,t,r){return new m(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return g}assignMetadata(e,t){return t?(u(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(u(e,t[r]),e)),e}prepare(e,...t){const{log:o}=this.logCtx(t,this.prepare),n=e.segregate(),i=Object.entries(n.model).reduce((t,[r,o])=>{if(void 0===o)return t;const n=s.Model.columnName(e.constructor,r);if(this.isReserved(n))throw new a.InternalError(`Property name ${n} is reserved`);return o=o instanceof Date?new Date(o):o,t[n]=o,t},{});return e[r.PersistenceKeys.METADATA]&&(o.silly("Passing along persistence metadata for "+e[r.PersistenceKeys.METADATA]),Object.defineProperty(i,r.PersistenceKeys.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[r.PersistenceKeys.METADATA]})),{record:i,id:e[s.Model.pk(e.constructor)],transient:n.transient}}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 E.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 f(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){u(e,t)}static getMetadata(e){return p(e)}static removeMetadata(e){h(e)}}async function b(e,t,r){return e.auth(t,r)}function _(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)}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",y)],E.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],E.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],E.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)],E.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)],E.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)],E.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)],E.prototype,"updateAllPrefix",null);const w="##VERSION##",O="##PACKAGE##";t.Metadata.registerLibrary(O,w),e.CouchDBAdapter=E,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=m,e.CouchDBQueryLimit=250,e.CouchDBRepository=g,e.CouchDBStatement=y,e.IndexError=f,e.PACKAGE_NAME=O,e.VERSION=w,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=_(e,t,r,s,o);return{index:{fields:i},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=_,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:[c.TABLE,t,...u].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.getMetadata=p,e.reAuth=b,e.removeMetadata=h,e.reservedAttributes=i,e.setMetadata=u,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=A,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 b(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","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","segregate","mappedProp","columnName","isReserved","InternalError","Date","PersistenceKeys","METADATA","silly","defineProperty","enumerable","writable","configurable","record","transient","createPrefix","generateId","createAllPrefix","ids","records","count","updatePrefix","updateAllPrefix","parseError","err","reason","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","OperationKeys","UPDATE","ignoreHandlers","ignoreValidate","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":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/metadata.ts","../src/repository.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,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","setMetadata","model","metadata","Object","defineProperty","PersistenceKeys","METADATA","enumerable","configurable","writable","value","getMetadata","descriptor","getOwnPropertyDescriptor","undefined","removeMetadata","CouchDBRepository","Repository","constructor","adapter","super","assignMetadata","target","source","apply","instance","carrier","Array","isArray","map","index","create","args","result","this","createAll","models","results","read","id","readAll","ids","update","updateAll","delete","deleteAll","updatePrefix","ctx","ctxArgs","log","logCtx","OperationKeys","UPDATE","for","ignoreHandlers","get","ignoreValidate","silly","pk","InternalError","oldModel","oldMetadata","Model","merge","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","toString","updateAllPrefix","BulkCrudOperationKeys","UPDATE_ALL","m","oldModels","i","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","IndexError","BaseError","msg","name","CouchDBPaginator","Paginator","query","size","clazz","prepare","rawStatement","assign","limit","page","bookmark","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","length","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","type","Metadata","key","DBKeys","pageResults","fields","d","revert","Sequence","parseValue","_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","forEach","orderBySelector","sort","rec","limitSelector","offsetSelector","processRecord","r","pkAttr","sequenceType","keyArgs","split","join","rawInput","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","columnName","isReserved","Date","record","transient","createPrefix","generateId","createAllPrefix","records","count","parseError","err","reason","attr","match","code","ConflictError","NotFoundError","message","statusCode","ConnectionError","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","__decorate","final","prototype","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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"}
|
package/dist/for-couchdb.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as e}from"@decaf-ts/decoration";import{PersistenceKeys as t,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 A,InternalError as m,ConflictError as y,NotFoundError as E,OperationKeys as b,enforceDBDecorators as w,ValidationError as O,BulkCrudOperationKeys as T,reduceErrorsToPrint as x}from"@decaf-ts/db-decorators";import{Model as P}from"@decaf-ts/decorator-validation";import{__decorate as D,__metadata as j}from"tslib";import{final as M}from"@decaf-ts/logging";const N=/^_.*$/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(e){const r=((e,t,r,s=h)=>[...e.map((e=>e===v.TABLE?"table":e)),...r||[],...t?[t]:[],v.INDEX].join(s))([v.TABLE]),s={};return s[r]={index:{fields:[v.TABLE]},name:r,ddoc:r,type:"json"},e.forEach((e=>{const r=P.indexes(e);Object.entries(r).forEach((([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=P.tableName(e);function l(e){const a=[c,r,...o,t.INDEX].join(h);if(s[a]={index:{fields:[v.TABLE,r,...o].reduce(((t,r)=>{if(e){const s={};s[r]=e,t.push(s)}else t.push(r);return t}),[])},name:a,ddoc:a,type:"json"},!e){const e={};e[v.TABLE]={},e[v.TABLE].$eq=c,s[a].index.partial_filter_selector=e}}o=o||[],l(),n&&n.forEach((e=>l(e)))}))})),Object.values(s)}class _ extends g{constructor(e){super(_.name,e,404)}}class R extends r{constructor(e,t,r,s){super(e,t,r,s)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(t=1,r,...i){const{log:n,ctxArgs:o,ctx:c}=this.adapter.logCtx([r,...i],this.page);if(this.isPreparedStatement())return await this.pagePrepared(t,...o);const l=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)t=this.validatePage(t),l.skip=(t-1)*this.size;else{this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...l,limit:Number.MAX_VALUE},!0,...o)||[];if(this._recordCount=e.length,this._recordCount>0){const e=l?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/e),await this.page(t,...o)}}if(1!==t){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),A=e.get(this.clazz,e.key(f.ID,g))?.type,m=l.fields&&l.fields.length?u:u.map((e=>this.adapter.revert(e,this.clazz,a.parseValue(A,e[g]),void 0,c)));return this._bookmark=p,this._currentPage=t,m}}function $(e){for(const t of[L,k]){const r=Object.keys(t).find((t=>t===e));if(r)return t[r]}throw new i("Could not find adapter translation for operator "+e)}class B extends n{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[v.TABLE]={},t[v.TABLE]=P.tableName(this.fromSelector);const r={selector:t};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(o.and(this.whereCondition,o.attribute(v.TABLE).eq(r.selector[v.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(k).indexOf(s[0]))switch(s[0]){case k.AND:t[k.AND]=[...Object.values(t[k.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 s=r[0];return s===k.AND?e.push(...t[s]):e.push(t),e}),[])],r.selector=t;break;case k.OR:{const e={};e[k.AND]=[t,...Object.entries(r.selector).map((([e,t])=>{const r={};return r[e]=t,r}))],r.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach((([t,s])=>{r.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${r.selector[t]} by ${s}`),r.selector[t]=s}))}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[e,t]=this.orderBySelector,s={};s[e]=t,r.sort.push(s),r.selector[e]||(r.selector[e]={},r.selector[e].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(e,t,r,s){if(e[v.ID]){const[,...t]=e[v.ID].split(v.SEPARATOR),i=t.join("_");return this.adapter.revert(e,this.fromSelector,a.parseValue(r,i),void 0,s)}return e}async raw(t,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(t,!0,s),i=P.pk(this.fromSelector),n=e.get(this.fromSelector,e.key(f.ID,i))?.type;return this.selectSelector?a:a.map((e=>this.processRecord(e,i,n,s)))}parseCondition(e){const{attr1:t,operator:r,comparison:s}=e;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[t]={},a[t][$(r)]=s;else if(r===l.NOT)a=this.parseCondition(t).selector,a[$(l.NOT)]={},a[$(l.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,i=this.parseCondition(s).selector;a=((e,t,r)=>{const s={selector:{}};return s.selector[e]=[t,r],s})($(r),e,i).selector}return{selector:a}}}class V extends d{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach((e=>{const t=e.name;A(this,e,this[t+"Prefix"])}))}Statement(){return new B(this)}Paginator(e,t,r){return new R(this,e,t,r)}async initialize(){const e=d.models(this.flavour);return this.index(...e)}repository(){return U}assignMetadata(e,t){return t?(V.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach(((e,r)=>(V.setMetadata(e,t[r]),e))),e}prepare(e,...r){const{log:s}=this.logCtx(r,this.prepare),a=e.segregate(),i=Object.entries(a.model).reduce(((t,[r,s])=>{if(void 0===s)return t;const a=P.columnName(e.constructor,r);if(this.isReserved(a))throw new m(`Property name ${a} is reserved`);return s=s instanceof Date?new Date(s):s,t[a]=s,t}),{});return e[t.METADATA]&&(s.silly("Passing along persistence metadata for "+e[t.METADATA]),Object.defineProperty(i,t.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[t.METADATA]})),{record:i,id:e[P.pk(e.constructor)],transient:a.transient}}createPrefix(e,t,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=P.tableName(e),n={};return n[v.TABLE]=i,n[v.ID]=this.generateId(i,t),Object.assign(n,r),[e,t,n,...a]}createAllPrefix(e,t,r,...s){const a=P.tableName(e);if(t.length!==r.length)throw new m("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=t.map(((e,t)=>{const s={};return s[v.TABLE]=a,s[v.ID]=this.generateId(a,e),Object.assign(s,r[t]),s}));return[e,t,n,...i]}updatePrefix(e,r,s,...a){const i=P.tableName(e),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[v.TABLE]=i,o[v.ID]=this.generateId(i,r);const c=s[t.METADATA];if(!c)throw new m("No revision number found for record with id "+r);return Object.assign(o,s),o[v.REV]=c,[e,r,o,...n]}updateAllPrefix(e,r,s,...a){const i=P.tableName(e);if(r.length!==s.length)throw new m("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map(((e,r)=>{const a={};a[v.TABLE]=i,a[v.ID]=this.generateId(i,e);const n=s[r][t.METADATA];if(!n)throw new m("No revision number found for record with id "+e);return Object.assign(a,s[r]),a[v.REV]=n,a}));return[e,r,o,...n]}generateId(e,t){return[e,t].join(v.SEPARATOR)}parseError(e,t){return V.parseError(e,t)}isReserved(e){return!!e.match(N)}static parseError(e,t){if(e instanceof g)return e;let r="";if("string"==typeof e){if(r=e,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else e.code?(r=e.code,t=t||e.message):e.statusCode?(r=e.statusCode,t=t||e.message):r=e.message;switch(r.toString()){case"401":case"412":case"409":return new y(t);case"404":return new E(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new _(e):new m(e);default:return r.toString().match(/ECONNREFUSED/g)?new u(e):new m(e)}}static setMetadata(e,r){Object.defineProperty(e,t.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(e){const r=Object.getOwnPropertyDescriptor(e,t.METADATA);return r?r.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,t.METADATA)&&delete e[t.METADATA]}}D([M(),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",B)],V.prototype,"Statement",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,String]),j("design:returntype",Object)],V.prototype,"assignMetadata",null),D([M(),j("design:type",Function),j("design:paramtypes",[Array,Array]),j("design:returntype",Array)],V.prototype,"assignMultipleMetadata",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",Array)],V.prototype,"createPrefix",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],V.prototype,"createAllPrefix",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",void 0)],V.prototype,"updatePrefix",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],V.prototype,"updateAllPrefix",null);class U extends p{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,s=V.getMetadata(r);return s&&V.setMetadata(e,s),e};return Array.isArray(e)?e.map(((e,s)=>{const a=Array.isArray(t)?t[s]:t;return r(e,a)})):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:s,log:a}=(await this.logCtx(t,b.UPDATE,!0)).for(this.updatePrefix),i=r.get("ignoreHandlers"),n=r.get("ignoreValidation");a.silly(`handlerSetting: ${i}, validationSetting: ${n}`);const o=e[this.pk];if(!o)throw new m("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")&&(e=P.merge(c,e,this.class))),i||await w(this,r,e,b.UPDATE,b.ON,c),!n){const t=r.get("ignoredValidationProperties")||[];a.silly("ignored validation properties: "+t);const s=await Promise.resolve(e.hasErrors(c,...t));if(s)throw new O(s.toString())}return l&&V.setMetadata(e,l),[e,...s,c]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:s,log:a}=(await this.logCtx(t,T.UPDATE_ALL,!0)).for(this.updateAllPrefix),i=r.get("ignoreHandlers"),n=r.get("ignoreValidation");a.silly(`handlerSetting: ${i}, ignoredValidation: ${n}`);const o=e.map((e=>{const t=e[this.pk];if(!t)throw new m("missing id on update operation");return t}));let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(o,r),e=e.map(((e,t)=>{r.get("mergeForUpdate")&&(e=P.merge(c[t],e,this.class));const s=V.getMetadata(c[t]);return s&&V.setMetadata(e,s),e}))),i||await Promise.all(e.map(((e,t)=>w(this,r,e,b.UPDATE,b.ON,c?c[t]:void 0)))),!n){const t=r.get("ignoredValidationProperties")||[];let s;a.silly("ignored validation properties: "+t),s=r.get("applyUpdateValidation")?await Promise.all(e.map(((e,r)=>Promise.resolve(e.hasErrors(c[r],...t))))):await Promise.resolve(e.map((e=>e.hasErrors(...t))));const i=x(s);if(i)throw new O(i)}return[e,...s,c]}}async function z(e,t,r){return e.auth(t,r)}function F(e,t,r,s){const a=e.use?e.use(t):e;return["insert","get","put","destroy","find"].forEach((t=>{const i=a[t];Object.defineProperty(a,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await z(e,r,s),i.call(a,...t))})})),Object.defineProperty(a,v.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),a}function q(e){return e.match(/^_.*$/g)}function G(e,r,s,a,i=h){const n=[t.INDEX,r,e];return s&&n.push(...s),a&&n.push(a),n.join(i)}function X(e,t,r,s,a=h){const i={};let n;if(i[v.TABLE]={},i[v.TABLE].$eq=t,s){const t={};t[e]=s;const a=(r||[]).map((e=>{const t={};return t[e]=s,t})),i={};i[v.TABLE]=s,n=[t,...a,i]}else n=[e,...r||[],v.TABLE];const o=G(e,t,r,s,a);return{index:{fields:n},ddoc:[o,v.DDOC].join(a),name:o}}const Q="##VERSION##",H="##PACKAGE##";e.registerLibrary(H,Q);export{V as CouchDBAdapter,C as CouchDBConst,k as CouchDBGroupOperator,v as CouchDBKeys,L as CouchDBOperator,R as CouchDBPaginator,S as CouchDBQueryLimit,U as CouchDBRepository,B as CouchDBStatement,_ as IndexError,H as PACKAGE_NAME,Q as VERSION,X as generateIndexDoc,G as generateIndexName,I as generateIndexes,z as reAuth,N as reservedAttributes,q as testReservedAttributes,$ as translateOperators,F as wrapDocumentScope};
|
|
1
|
+
import{Metadata as e}from"@decaf-ts/decoration";import{PersistenceKeys as t,Repository as r,Paginator as s,PagingError as i,Sequence as a,QueryError as n,Statement as o,Condition as c,GroupOperator as l,Operator as d,Adapter as u,ConnectionError as p}from"@decaf-ts/core";import{DefaultSeparator as h,OperationKeys as g,InternalError as f,enforceDBDecorators as A,ValidationError as m,BulkCrudOperationKeys as y,reduceErrorsToPrint as E,BaseError as b,DBKeys as w,prefixMethod as O,ConflictError as T,NotFoundError as x}from"@decaf-ts/db-decorators";import{Model as P}from"@decaf-ts/decorator-validation";import{__decorate as D,__metadata as j}from"tslib";import{final as N}from"@decaf-ts/logging";const v=/^_.*$/g,M={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(e){const r=((e,t,r,s=h)=>[...e.map(e=>e===M.TABLE?"table":e),...r||[],...t?[t]:[],M.INDEX].join(s))([M.TABLE]),s={};return s[r]={index:{fields:[M.TABLE]},name:r,ddoc:r,type:"json"},e.forEach(e=>{const r=P.indexes(e);Object.entries(r).forEach(([r,i])=>{const a=Object.keys(i)[0];let{directions:n,compositions:o}=i[a];const c=P.tableName(e);function l(e){const i=[c,r,...o,t.INDEX].join(h);if(s[i]={index:{fields:[M.TABLE,r,...o].reduce((t,r)=>{if(e){const s={};s[r]=e,t.push(s)}else t.push(r);return t},[])},name:i,ddoc:i,type:"json"},!e){const e={};e[M.TABLE]={},e[M.TABLE].$eq=c,s[i].index.partial_filter_selector=e}}o=o||[],l(),n&&n.forEach(e=>l(e))})}),Object.values(s)}function _(e,r){Object.defineProperty(e,t.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}function R(e){const r=Object.getOwnPropertyDescriptor(e,t.METADATA);return r?r.value:void 0}function $(e){Object.getOwnPropertyDescriptor(e,t.METADATA)&&delete e[t.METADATA]}class B extends r{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=R(t??e);return r&&_(e,r),e};return Array.isArray(e)?e.map((e,s)=>{const i=Array.isArray(t)?t[s]:t;return r(e,i)}):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:s,log:i}=(await this.logCtx(t,g.UPDATE,!0)).for(this.updatePrefix),a=r.get("ignoreHandlers"),n=r.get("ignoreValidation");i.silly(`handlerSetting: ${a}, validationSetting: ${n}`);const o=e[this.pk];if(!o)throw new f("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?R(c):void 0,r.get("mergeForUpdate")&&(e=P.merge(c,e,this.class))),a||await A(this,r,e,g.UPDATE,g.ON,c),!n){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const s=await Promise.resolve(e.hasErrors(c,...t));if(s)throw new m(s.toString())}return l&&_(e,l),[e,...s,c]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:s,log:i}=(await this.logCtx(t,y.UPDATE_ALL,!0)).for(this.updateAllPrefix),a=r.get("ignoreHandlers"),n=r.get("ignoreValidation");i.silly(`handlerSetting: ${a}, ignoredValidation: ${n}`);const o=e.map(e=>{const t=e[this.pk];if(!t)throw new f("missing id on update operation");return t});let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(o,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=P.merge(c[t],e,this.class));const s=R(c[t]);return s&&_(e,s),e})),a||await Promise.all(e.map((e,t)=>A(this,r,e,g.UPDATE,g.ON,c?c[t]:void 0))),!n){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(c[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const a=E(s);if(a)throw new m(a)}return[e,...s,c]}}class V extends b{constructor(e){super(V.name,e,404)}}class U extends s{constructor(e,t,r,s){super(e,t,r,s)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(t=1,r,...s){const{log:n,ctxArgs:o,ctx:c}=this.adapter.logCtx([r,...s],this.page);if(this.isPreparedStatement())return await this.pagePrepared(t,...o);const l=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)t=this.validatePage(t),l.skip=(t-1)*this.size;else{this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...l,limit:Number.MAX_VALUE},!0,...o)||[];if(this._recordCount=e.length,this._recordCount>0){const e=l?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/e),await this.page(t,...o)}}if(1!==t){if(!this._bookmark)throw new i("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 i("No statement target defined");const g=P.pk(this.clazz),f=e.get(this.clazz,e.key(w.ID,g))?.type,A=l.fields&&l.fields.length?u:u.map(e=>this.adapter.revert(e,this.clazz,a.parseValue(f,e[g]),void 0,c));return this._bookmark=p,this._currentPage=t,A}}function z(e){for(const t of[L,k]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new n("Could not find adapter translation for operator "+e)}class F extends o{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[M.TABLE]={},t[M.TABLE]=P.tableName(this.fromSelector);const r={selector:t};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(c.and(this.whereCondition,c.attribute(M.TABLE).eq(r.selector[M.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(k).indexOf(s[0]))switch(s[0]){case k.AND:t[k.AND]=[...Object.values(t[k.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 s=r[0];return s===k.AND?e.push(...t[s]):e.push(t),e},[])],r.selector=t;break;case k.OR:{const e={};e[k.AND]=[t,...Object.entries(r.selector).map(([e,t])=>{const r={};return r[e]=t,r})],r.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,s])=>{r.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${r.selector[t]} by ${s}`),r.selector[t]=s})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[e,t]=this.orderBySelector,s={};s[e]=t,r.sort.push(s),r.selector[e]||(r.selector[e]={},r.selector[e].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(e,t,r,s){if(e[M.ID]){const[,...t]=e[M.ID].split(M.SEPARATOR),i=t.join("_");return this.adapter.revert(e,this.fromSelector,a.parseValue(r,i),void 0,s)}return e}async raw(t,...r){const{ctx:s}=this.logCtx(r,this.raw),i=await this.adapter.raw(t,!0,s),a=P.pk(this.fromSelector),n=e.get(this.fromSelector,e.key(w.ID,a))?.type;return this.selectSelector?i:i.map(e=>this.processRecord(e,a,n,s))}parseCondition(e){const{attr1:t,operator:r,comparison:s}=e;let i={};if(-1===[l.AND,l.OR,d.NOT].indexOf(r))i[t]={},i[t][z(r)]=s;else if(r===d.NOT)i=this.parseCondition(t).selector,i[z(d.NOT)]={},i[z(d.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,a=this.parseCondition(s).selector;i=((e,t,r)=>{const s={selector:{}};return s.selector[e]=[t,r],s})(z(r),e,a).selector}return{selector:i}}}class q extends u{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;O(this,e,this[t+"Prefix"])})}Statement(){return new F(this)}Paginator(e,t,r){return new U(this,e,t,r)}async initialize(){const e=u.models(this.flavour);return this.index(...e)}repository(){return B}assignMetadata(e,t){return t?(_(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(_(e,t[r]),e)),e}prepare(e,...r){const{log:s}=this.logCtx(r,this.prepare),i=e.segregate(),a=Object.entries(i.model).reduce((t,[r,s])=>{if(void 0===s)return t;const i=P.columnName(e.constructor,r);if(this.isReserved(i))throw new f(`Property name ${i} is reserved`);return s=s instanceof Date?new Date(s):s,t[i]=s,t},{});return e[t.METADATA]&&(s.silly("Passing along persistence metadata for "+e[t.METADATA]),Object.defineProperty(a,t.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[t.METADATA]})),{record:a,id:e[P.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...s){const{ctxArgs:i}=this.logCtx(s,this.createPrefix),a=P.tableName(e),n={};return n[M.TABLE]=a,n[M.ID]=this.generateId(a,t),Object.assign(n,r),[e,t,n,...i]}createAllPrefix(e,t,r,...s){const i=P.tableName(e);if(t.length!==r.length)throw new f("Ids and models must have the same length");const{ctxArgs:a}=this.logCtx(s,this.createAllPrefix),n=t.map((e,t)=>{const s={};return s[M.TABLE]=i,s[M.ID]=this.generateId(i,e),Object.assign(s,r[t]),s});return[e,t,n,...a]}updatePrefix(e,r,s,...i){const a=P.tableName(e),{ctxArgs:n}=this.logCtx(i,this.updatePrefix),o={};o[M.TABLE]=a,o[M.ID]=this.generateId(a,r);const c=s[t.METADATA];if(!c)throw new f("No revision number found for record with id "+r);return Object.assign(o,s),o[M.REV]=c,[e,r,o,...n]}updateAllPrefix(e,r,s,...i){const a=P.tableName(e);if(r.length!==s.length)throw new f("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(i,this.updateAllPrefix),o=r.map((e,r)=>{const i={};i[M.TABLE]=a,i[M.ID]=this.generateId(a,e);const n=s[r][t.METADATA];if(!n)throw new f("No revision number found for record with id "+e);return Object.assign(i,s[r]),i[M.REV]=n,i});return[e,r,o,...n]}generateId(e,t){return[e,t].join(M.SEPARATOR)}parseError(e,t){return q.parseError(e,t)}isReserved(e){return!!e.match(v)}static parseError(e,t){if(e instanceof b)return e;let r="";if("string"==typeof e){if(r=e,r.match(/already exist|update conflict/g))return new T(r);if(r.match(/missing|deleted/g))return new x(r)}else e.code?(r=e.code,t=t||e.message):e.statusCode?(r=e.statusCode,t=t||e.message):r=e.message;switch(r.toString()){case"401":case"412":case"409":return new T(t);case"404":return new x(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new V(e):new f(e);default:return r.toString().match(/ECONNREFUSED/g)?new p(e):new f(e)}}static setMetadata(e,t){_(e,t)}static getMetadata(e){return R(e)}static removeMetadata(e){$(e)}}async function G(e,t,r){return e.auth(t,r)}function X(e,t,r,s){const i=e.use?e.use(t):e;return["insert","get","put","destroy","find"].forEach(t=>{const a=i[t];Object.defineProperty(i,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await G(e,r,s),a.call(i,...t))})}),Object.defineProperty(i,M.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),i}function Q(e){return e.match(/^_.*$/g)}function H(e,r,s,i,a=h){const n=[t.INDEX,r,e];return s&&n.push(...s),i&&n.push(i),n.join(a)}function K(e,t,r,s,i=h){const a={};let n;if(a[M.TABLE]={},a[M.TABLE].$eq=t,s){const t={};t[e]=s;const i=(r||[]).map(e=>{const t={};return t[e]=s,t}),a={};a[M.TABLE]=s,n=[t,...i,a]}else n=[e,...r||[],M.TABLE];const o=H(e,t,r,s,i);return{index:{fields:n},ddoc:[o,M.DDOC].join(i),name:o}}D([N(),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",F)],q.prototype,"Statement",null),D([N(),j("design:type",Function),j("design:paramtypes",[Object,String]),j("design:returntype",Object)],q.prototype,"assignMetadata",null),D([N(),j("design:type",Function),j("design:paramtypes",[Array,Array]),j("design:returntype",Array)],q.prototype,"assignMultipleMetadata",null),D([N(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",Array)],q.prototype,"createPrefix",null),D([N(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],q.prototype,"createAllPrefix",null),D([N(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",void 0)],q.prototype,"updatePrefix",null),D([N(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],q.prototype,"updateAllPrefix",null);const J="##VERSION##",W="##PACKAGE##";e.registerLibrary(W,J);export{q as CouchDBAdapter,C as CouchDBConst,k as CouchDBGroupOperator,M as CouchDBKeys,L as CouchDBOperator,U as CouchDBPaginator,S as CouchDBQueryLimit,B as CouchDBRepository,F as CouchDBStatement,V as IndexError,W as PACKAGE_NAME,J as VERSION,K as generateIndexDoc,H as generateIndexName,I as generateIndexes,R as getMetadata,G as reAuth,$ as removeMetadata,v as reservedAttributes,_ as setMetadata,Q as testReservedAttributes,z as translateOperators,X 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","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","segregate","mappedProp","columnName","isReserved","InternalError","Date","METADATA","silly","defineProperty","enumerable","writable","configurable","record","transient","createPrefix","generateId","createAllPrefix","ids","records","count","updatePrefix","updateAllPrefix","parseError","err","reason","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","OperationKeys","UPDATE","ignoreHandlers","ignoreValidate","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":"0rBAMO,MAAMA,EAAqB,SAyBrBC,EAAc,CACzBC,UAAW,KACXC,GAAI,MACJC,IAAK,OACLC,QAAS,WACTC,MAAO,UACPC,SAAU,aACVC,KAAM,OACNC,OAAQ,WACRC,MAAO,SChCIC,EAAoB,IAmBpBC,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,OAYOC,EAAuC,CAClDC,KAAM,QCaF,SAAUC,EACdC,GAEA,MAAMC,EAhER,EACEC,EACAC,EACAC,EACAC,EAAYC,IAEL,IACFJ,EAAKK,KAAKC,GAAOA,IAAMnC,EAAYK,MAAQ,QAAU8B,OACpDJ,GAAgB,MAChBD,EAAY,CAACA,GAAa,GAC9B9B,EAAYS,OACZ2B,KAAKJ,GAqDWK,CAAkB,CAACrC,EAAYK,QAC3CiC,EAA8C,CAAA,EA4DpD,OA3DAA,EAAQV,GAAa,CACnBW,MAAO,CACLC,OAAQ,CAACxC,EAAYK,QAEvBwB,KAAMD,EACNa,KAAMb,EACNc,KAAM,QAGRf,EAAOgB,SAASC,IACd,MAAMC,EAAqCC,EAAMR,QAAQM,GACzDG,OAAOC,QAAQH,GAAKF,SAAQ,EAAEM,EAAKC,MACjC,MAAMC,EAAIJ,OAAOK,KAAKF,GAAO,GAE7B,IAAIG,WAAEA,EAAUtB,aAAEA,GAAkBmB,EAAcC,GAClD,MAAMvB,EAAYkB,EAAMlB,UAAUgB,GAGlC,SAASU,EAASC,GAChB,MAAM1B,EAAO,CACXD,EACAqB,KACIlB,EACJyB,EAAgB/C,OAChB2B,KAAKH,GAsBP,GApBAK,EAAQT,GAAQ,CACdU,MAAO,CACLC,OAAQ,CAACxC,EAAYK,MAAO4C,KAASlB,GAAqB0B,QACxD,CAACC,EAAcC,KACb,GAAIJ,EAAM,CACR,MAAMK,EAAW,CAAA,EACjBA,EAAID,GAAMJ,EACVG,EAAMG,KAAKD,EACZ,MACCF,EAAMG,KAAKF,GAEb,OAAOD,CAAK,GAEd,KAGJ7B,KAAMA,EACNY,KAAMZ,EACNa,KAAM,SAEHa,EAAM,CACT,MAAMO,EAAmC,CAAA,EACzCA,EAAY9D,EAAYK,OAAS,GACjCyD,EAAY9D,EAAYK,OAA4B,IAAIuB,EACxDU,EAAQT,GAAMU,MAAMwB,wBAA0BD,CAC/C,CACF,CApCD/B,EAAeA,GAAgB,GAsC/BuB,IACID,GACDA,EAA2CV,SAASqB,GAAMV,EAASU,IAAG,GACzE,IAEGjB,OAAOkB,OAAO3B,EACvB,CC7HM,MAAO4B,UAAmBC,EAC9B,WAAAC,CAAYC,GACVC,MAAMJ,EAAWrC,KAAMwC,EAAK,IAC7B,ECYG,MAAOE,UAA0CC,EAarD,WAAAJ,CACEK,EACAC,EACAC,EACAC,GAEAN,MAAMG,EAASC,EAAOC,EAAMC,EAC7B,CAQS,OAAAC,CAAQC,GAChB,MAAMJ,EAAoB3B,OAAOgC,OAAO,CAAE,EAAED,GAK5C,OAJIJ,EAAMM,QAAOC,KAAKD,MAAQN,EAAMM,OAEpCN,EAAMM,MAAQC,KAAKN,KAEZD,CACR,CA6DQ,UAAMQ,CACbA,EAA2B,EAC3BC,KACGC,GAEH,MAAMC,IAAEA,EAAGC,QAAEA,EAAOC,IAAEA,GAAQN,KAAKR,QAAgB,OACjD,CAACU,KAAaC,GACdH,KAAKC,MAEP,GAAID,KAAKO,sBACP,aAAaP,KAAKQ,aAAaP,KAASI,GAC1C,MAAMI,EAAY3C,OAAOgC,OAAO,CAAA,EAAIE,KAAKS,WAEzC,GAAKT,KAAKU,cAAiBV,KAAKW,YAe9BV,EAAOD,KAAKY,aAAaX,GACzBQ,EAAUI,MAAQZ,EAAO,GAAKD,KAAKN,SAhBQ,CAC3CM,KAAKW,YAAcX,KAAKU,aAAe,EACvC,MAAMI,QACGd,KAAKR,QAAQuB,IAClB,IAAKN,EAAWV,MAAOiB,OAAOC,YAC9B,KACGZ,IACC,GAER,GADAL,KAAKU,aAAeI,EAAaI,OAC7BlB,KAAKU,aAAe,EAAG,CACzB,MAAMhB,EAAOe,GAAWV,OAASC,KAAKN,KAEtC,OADAM,KAAKW,YAAcQ,KAAKC,KAAKpB,KAAKU,aAAehB,SACpCM,KAAKC,KAAKA,KAASI,EACjC,CACF,CAKD,GAAa,IAATJ,EAAY,CACd,IAAKD,KAAKqB,UACR,MAAM,IAAIC,EAAY,iDACxBb,EAAoB,SAAIT,KAAKqB,SAC9B,CACD,MAAME,QAAuCvB,KAAKR,QAAQuB,IACxDN,GACA,KACGJ,IAGCmB,KAAEA,EAAMtB,SAAUuB,EAAYC,QAAEA,GAAYH,EAElD,GADIG,GAAStB,EAAIuB,KAAKD,IACjB1B,KAAKL,MAAO,MAAM,IAAI2B,EAAY,+BACvC,MAAMM,EAAK/D,EAAMgE,GAAG7B,KAAKL,OACnBlC,EAAOqE,EAASC,IACpB/B,KAAKL,MACLmC,EAAS9D,IAAIgE,EAAO/G,GAAI2G,KACvBnE,KACGwE,EACJxB,EAAUlD,QAAUkD,EAAUlD,OAAO2D,OACjCM,EACAA,EAAKvE,KAAK8B,GACDiB,KAAKR,QAAQ0C,OAClBnD,EACAiB,KAAKL,MACLwC,EAASC,WAAW3E,EAAMsB,EAAE6C,SAC5BS,EACA/B,KAKV,OAFAN,KAAKqB,UAAYI,EACjBzB,KAAKsC,aAAerC,EACbgC,CACR,EChKG,SAAUM,EACdC,GAEA,IAAK,MAAMC,IAAa,CAAC/G,EAAiBU,GAAuB,CAC/D,MAAMsC,EAAKZ,OAAOK,KAAKsE,GAAWC,MAAMxE,GAAMA,IAAMsE,IACpD,GAAI9D,EAAI,OAAO+D,EAAU/D,EAC1B,CACD,MAAM,IAAIiE,EACR,mDAAmDH,EAEvD,CCJM,MAAOI,UAIHC,EACR,WAAA1D,CAAYK,GACVH,MAAMG,EACP,CA0DS,KAAAsD,GACR,MAAM1C,EAAMJ,KAAKI,IAAI2C,IAAI/C,KAAK8C,OACxBE,EAA2B,CAAA,EACjCA,EAAUjI,EAAYK,OAAS,GAC/B4H,EAAUjI,EAAYK,OAASyC,EAAMlB,UAAUqD,KAAKiD,cACpD,MAAMxD,EAAoB,CAAEyD,SAAUF,GAGtC,GAFIhD,KAAKmD,iBAAgB1D,EAAMlC,OAASyC,KAAKmD,gBAEzCnD,KAAKoD,eAAgB,CACvB,MAAMC,EAA2BrD,KAAKsD,eACpCC,EAAUC,IACRxD,KAAKoD,eACLG,EAAUE,UAAa1I,EAAYK,OAAkBsI,GACnDjE,EAAMyD,SAASnI,EAAYK,UAG/B8H,SACIS,EAAe7F,OAAOK,KAAKkF,GACjC,GAC0B,IAAxBM,EAAazC,SACqD,IAAlEpD,OAAOkB,OAAO5C,GAAsBwH,QAAQD,EAAa,IAEzD,OAAQA,EAAa,IACnB,KAAKvH,EAAqBC,IACxBgH,EAAUjH,EAAqBC,KAAO,IACjCyB,OAAOkB,OACRqE,EAAUjH,EAAqBC,MAC/BmC,QAAO,CAACC,EAAwBoF,KAChC,MAAM1F,EAAOL,OAAOK,KAAK0F,GACzB,GAAoB,IAAhB1F,EAAK+C,OACP,MAAU4C,MACR,kDAEJ,MAAM5F,EAAIC,EAAK,GAIf,OAHID,IAAM9B,EAAqBC,IAC7BoC,EAAMG,QAASiF,EAAI3F,IAChBO,EAAMG,KAAKiF,GACTpF,CAAK,GACX,KAELgB,EAAMyD,SAAWG,EACjB,MACF,KAAKjH,EAAqBE,GAAI,CAC5B,MAAMyH,EAAsB,CAAA,EAC5BA,EAAE3H,EAAqBC,KAAO,CAC5BgH,KACGvF,OAAOC,QAAQ0B,EAAMyD,UAAUjG,KAAI,EAAEe,EAAK6F,MAC3C,MAAMG,EAA2B,CAAA,EAEjC,OADAA,EAAOhG,GAAO6F,EACPG,CAAM,KAGjBvE,EAAMyD,SAAWa,EACjB,KACD,CACD,QACE,MAAUD,MAAM,kCAGpBhG,OAAOC,QAAQsF,GAAW3F,SAAQ,EAAEM,EAAK6F,MACnCpE,EAAMyD,SAASlF,IACjBoC,EAAIuB,KACF,KAAK3D,4CAA8CyB,EAAMyD,SAASlF,SAAW6F,KAEjFpE,EAAMyD,SAASlF,GAAO6F,CAAG,GAG9B,CAED,GAAI7D,KAAKiE,gBAAiB,CACxBxE,EAAMnB,KAAOmB,EAAMnB,MAAQ,GAC3BmB,EAAMyD,SAAWzD,EAAMyD,UAAa,CAAA,EACpC,MAAOA,EAAUjF,GAAS+B,KAAKiE,gBAIzBC,EAAW,CAAA,EACjBA,EAAIhB,GAAYjF,EACfwB,EAAMnB,KAAeM,KAAKsF,GACtBzE,EAAMyD,SAASA,KAClBzD,EAAMyD,SAASA,GAAY,GAC1BzD,EAAMyD,SAASA,GAAkD,IAChE,KAEL,CAaD,OAXIlD,KAAKmE,cACP1E,EAAMM,MAAQC,KAAKmE,eAEnB/D,EAAIuB,KACF,iEAEFlC,EAAMM,ML/LqB,KKkMzBC,KAAKoE,iBAAgB3E,EAAMoB,KAAOb,KAAKoE,gBAEpC3E,CACR,CAUS,aAAA4E,CACRC,EACAC,EACAC,EACAlE,GAEA,GAAIgE,EAAEvJ,EAAYE,IAAK,CACrB,MAAS,IAAGwJ,GAAWH,EAAEvJ,EAAYE,IAAIyJ,MAAM3J,EAAYC,WAErD4G,EAAK6C,EAAQtH,KAAK,KACxB,OAAO6C,KAAKR,QAAQ0C,OAClBoC,EACAtE,KAAKiD,aACLd,EAASC,WAAWoC,EAAc5C,QAClCS,EACA/B,EAEH,CACD,OAAOgE,CACR,CASQ,SAAMvD,CAAO4D,KAAyBxE,GAC7C,MAAMG,IAAEA,GAAQN,KAAK4E,OAAOzE,EAAMH,KAAKe,KAEjC8D,QAAuB7E,KAAKR,QAAQuB,IAAI4D,GAAU,EAAMrE,GAExDiE,EAAS1G,EAAMgE,GAAG7B,KAAKiD,cACvBxF,EAAOqE,EAASC,IACpB/B,KAAKiD,aACLnB,EAAS9D,IAAIgE,EAAO/G,GAAIsJ,KACvB9G,KAEH,OAAKuC,KAAKmD,eAEH0B,EADEA,EAAQ5H,KAAKqH,GAAMtE,KAAKqE,cAAcC,EAAGC,EAAQ9G,EAAM6C,IAEjE,CAqCS,cAAAgD,CAAeD,GAmBvB,MAAMyB,MAAEA,EAAKtC,SAAEA,EAAQuC,WAAEA,GAAe1B,EAMxC,IAAI2B,EAAoB,CAAA,EACxB,IAGS,IAFP,CAACC,EAAc5I,IAAK4I,EAAc3I,GAAI4I,EAASjJ,KAAK2H,QAClDpB,GAGFwC,EAAGF,GAAmB,GACrBE,EAAGF,GAAmCvC,EAAmBC,IACxDuC,OACG,GAAIvC,IAAa0C,EAASjJ,IAC/B+I,EAAKhF,KAAKsD,eAAewB,GAAuB5B,SAChD8B,EAAGzC,EAAmB2C,EAASjJ,MAAQ,CAAA,EACtC+I,EAAGzC,EAAmB2C,EAASjJ,MAC7B6I,EAAuCA,OACtCC,MACC,CACL,MAAMI,EAAWnF,KAAKsD,eAAewB,GAAuB5B,SACtDkC,EAAWpF,KAAKsD,eAAeyB,GAA4B7B,SACjE8B,EAlCF,EACEA,EACAK,EACAC,KAEA,MAAMtB,EAAqB,CAAEd,SAAU,CAAA,GAEvC,OADAc,EAAOd,SAAS8B,GAAM,CAACK,EAAMC,GACtBtB,CACR,EA0BMuB,CAAMhD,EAAmBC,GAAW2C,EAAKC,GAAKlC,QACpD,CAED,MAAO,CAAEA,SAAU8B,EACpB,EC9QG,MAAgBQ,UAIZC,EACR,WAAAtG,CAAsBuG,EAAaC,EAAiBC,GAClDvG,MAAMqG,EAAOC,EAASC,GACtB,CAAC5F,KAAK6F,OAAQ7F,KAAK8F,UAAW9F,KAAK+F,OAAQ/F,KAAKgG,WAAWtI,SAASC,IAClE,MAAMf,EAAOe,EAAEf,KACfqJ,EAAajG,KAAMrC,EAAIqC,KAAapD,EAAO,UAAU,GAExD,CASD,SAAAiG,GAKE,OAAO,IAAID,EAAiB5C,KAC7B,CAEQ,SAAAT,CACPE,EACAC,EACAC,GAEA,OAAO,IAAIL,EAAiBU,KAAMP,EAAOC,EAAMC,EAChD,CAOQ,gBAAMuG,GACb,MAAMC,EAAgBV,EAAQ/I,OAAOsD,KAAK2F,SAC1C,OAAO3F,KAAK1C,SAAS6I,EACtB,CAEQ,UAAAC,GAGP,OAAOC,CACR,CAoCS,cAAAC,CACRC,EACAC,GAEA,OAAKA,GACLhB,EAAeiB,YAAYF,EAAcC,GAClCD,GAFUA,CAGlB,CAUS,sBAAAG,CACRhK,EACAiK,GAMA,OAJAjK,EAAOgB,SAAQ,CAACC,EAAGiJ,KACjBpB,EAAeiB,YAAY9I,EAAUgJ,EAAKC,IACnCjJ,KAEFjB,CACR,CAEQ,OAAAkD,CACP2G,KACGpG,GAEH,MAAMC,IAAEA,GAAQJ,KAAK4E,OAAOzE,EAAMH,KAAKJ,SACjC8E,EAAQ6B,EAAMM,YACd7C,EAASlG,OAAOC,QAAQ2G,EAAM6B,OAAO/H,QACzC,CAACC,GAA6BT,EAAK6F,MACjC,QAAmB,IAARA,EAAqB,OAAOpF,EACvC,MAAMqI,EAAqBjJ,EAAMkJ,WAC/BR,EAAMpH,YACNnB,GAEF,GAAIgC,KAAKgH,WAAWF,GAClB,MAAM,IAAIG,EAAc,iBAAiBH,iBAG3C,OAFAjD,EAAMA,aAAeqD,KAAO,IAAIA,KAAKrD,GAAOA,EAC5CpF,EAAMqI,GAAcjD,EACbpF,CAAK,GAEd,CAAE,GAeJ,OAbK8H,EAAchI,EAAgB4I,YAEjC/G,EAAIgH,MACF,0CAA2Cb,EAAchI,EAAgB4I,WAE3ErJ,OAAOuJ,eAAerD,EAAQzF,EAAgB4I,SAAU,CACtDG,YAAY,EACZC,UAAU,EACVC,cAAc,EACdvJ,MAAQsI,EAAchI,EAAgB4I,aAInC,CACLM,OAAQzD,EACRpC,GAAI2E,EAAM1I,EAAMgE,GAAG0E,EAAMpH,cACzBuI,UAAWhD,EAAMgD,UAEpB,CAWS,YAAAC,CACRhI,EACAiC,EACA2E,KACGpG,GAEH,MAAME,QAAEA,GAAYL,KAAK4E,OAAOzE,EAAMH,KAAK2H,cACrChL,EAAYkB,EAAMlB,UAAUgD,GAC5B8H,EAA8B,CAAA,EAIpC,OAHAA,EAAO1M,EAAYK,OAASuB,EAC5B8K,EAAO1M,EAAYE,IAAM+E,KAAK4H,WAAWjL,EAAWiF,GACpD9D,OAAOgC,OAAO2H,EAAQlB,GACf,CAAC5G,EAAOiC,EAAI6F,KAAWpH,EAC/B,CA4BS,eAAAwH,CACRlI,EACAmI,EACApL,KACGyD,GAEH,MAAMxD,EAAYkB,EAAMlB,UAAUgD,GAClC,GAAImI,EAAI5G,SAAWxE,EAAOwE,OACxB,MAAM,IAAI+F,EAAc,4CAC1B,MAAM5G,QAAEA,GAAYL,KAAK4E,OAAOzE,EAAMH,KAAK6H,iBACrCE,EAAUD,EAAI7K,KAAI,CAAC2E,EAAIoG,KAC3B,MAAMP,EAA8B,CAAA,EAIpC,OAHAA,EAAO1M,EAAYK,OAASuB,EAC5B8K,EAAO1M,EAAYE,IAAM+E,KAAK4H,WAAWjL,EAAWiF,GACpD9D,OAAOgC,OAAO2H,EAAQ/K,EAAOsL,IACtBP,CAAM,IAEf,MAAO,CAAC9H,EAAOmI,EAAKC,KAAY1H,EACjC,CA2BD,YAAA4H,CACEtI,EACAiC,EACA2E,KACGpG,GAEH,MAAMxD,EAAYkB,EAAMlB,UAAUgD,IAC5BU,QAAEA,GAAYL,KAAK4E,OAAOzE,EAAMH,KAAKiI,cACrCR,EAA8B,CAAA,EACpCA,EAAO1M,EAAYK,OAASuB,EAC5B8K,EAAO1M,EAAYE,IAAM+E,KAAK4H,WAAWjL,EAAWiF,GACpD,MAAM4E,EAAMD,EAAMhI,EAAgB4I,UAClC,IAAKX,EACH,MAAM,IAAIS,EACR,+CAA+CrF,GAInD,OAFA9D,OAAOgC,OAAO2H,EAAQlB,GACtBkB,EAAO1M,EAAYG,KAAOsL,EACnB,CAAC7G,EAAOiC,EAAI6F,KAAWpH,EAC/B,CA4BS,eAAA6H,CACRvI,EACAmI,EACApL,KACGyD,GAEH,MAAMxD,EAAYkB,EAAMlB,UAAUgD,GAClC,GAAImI,EAAI5G,SAAWxE,EAAOwE,OACxB,MAAM,IAAI+F,EAAc,4CAC1B,MAAM5G,QAAEA,GAAYL,KAAK4E,OAAOzE,EAAMH,KAAKkI,iBACrCH,EAAUD,EAAI7K,KAAI,CAAC2E,EAAIoG,KAC3B,MAAMP,EAA8B,CAAA,EACpCA,EAAO1M,EAAYK,OAASuB,EAC5B8K,EAAO1M,EAAYE,IAAM+E,KAAK4H,WAAWjL,EAAWiF,GACpD,MAAM4E,EAAM9J,EAAOsL,GAAOzJ,EAAgB4I,UAC1C,IAAKX,EACH,MAAM,IAAIS,EACR,+CAA+CrF,GAInD,OAFA9D,OAAOgC,OAAO2H,EAAQ/K,EAAOsL,IAC7BP,EAAO1M,EAAYG,KAAOsL,EACnBiB,CAAM,IAEf,MAAO,CAAC9H,EAAOmI,EAAKC,KAAY1H,EACjC,CAuBS,UAAAuH,CAAWjL,EAAmBiF,GACtC,MAAO,CAACjF,EAAWiF,GAAIzE,KAAKpC,EAAYC,UACzC,CASD,UAAAmN,CAAgCC,EAAqBC,GACnD,OAAO7C,EAAe2C,WAAWC,EAAKC,EACvC,CAQkB,UAAArB,CAAWsB,GAC5B,QAASA,EAAKC,MAAMzN,EACrB,CA0DS,iBAAOqN,CACfC,EACAC,GAEA,GAAID,aAAelJ,EAAW,OAAOkJ,EACrC,IAAII,EAAe,GACnB,GAAmB,iBAARJ,EAAkB,CAE3B,GADAI,EAAOJ,EACHI,EAAKD,MAAM,kCACb,OAAO,IAAIE,EAAcD,GAC3B,GAAIA,EAAKD,MAAM,oBAAqB,OAAO,IAAIG,EAAcF,EAC9D,MAAWJ,EAAYI,MACtBA,EAAQJ,EAAYI,KACpBH,EAASA,GAAUD,EAAIO,SACbP,EAAYQ,YACtBJ,EAAQJ,EAAYQ,WACpBP,EAASA,GAAUD,EAAIO,SAEvBH,EAAOJ,EAAIO,QAGb,OAAQH,EAAKK,YACX,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAO,IAAIJ,EAAcJ,GAC3B,IAAK,MACH,OAAO,IAAIK,EAAcL,GAC3B,IAAK,MACH,OAAIG,EAAKK,WAAWN,MAAM,sBACjB,IAAItJ,EAAWmJ,GACjB,IAAInB,EAAcmB,GAC3B,QACE,OAAII,EAAKK,WAAWN,MAAM,iBACjB,IAAIO,EAAgBV,GACtB,IAAInB,EAAcmB,GAE9B,CAUD,kBAAO3B,CAA6BF,EAAUwC,GAC5CjL,OAAOuJ,eAAed,EAAOhI,EAAgB4I,SAAU,CACrDG,YAAY,EACZE,cAAc,EACdD,UAAU,EACVtJ,MAAO8K,GAEV,CASD,kBAAOC,CAA6BzC,GAClC,MAAM0C,EAAanL,OAAOoL,yBACxB3C,EACAhI,EAAgB4I,UAElB,OAAO8B,EAAaA,EAAWhL,WAAQoE,CACxC,CAQD,qBAAO8G,CAAgC5C,GAClBzI,OAAOoL,yBACxB3C,EACAhI,EAAgB4I,kBAEMZ,EAAchI,EAAgB4I,SACvD,EAxeDiC,EAAA,CADCC,8EAC6BzG,IAM7B4C,EAAA8D,UAAA,YAAA,MA4DSF,EAAA,CADTC,oGAQA7D,EAAA8D,UAAA,iBAAA,MAUSF,EAAA,CADTC,iGAUA7D,EAAA8D,UAAA,yBAAA,MAoDSF,EAAA,CADTC,iHAcA7D,EAAA8D,UAAA,eAAA,MA4BSF,EAAA,CADTC,gHAmBA7D,EAAA8D,UAAA,kBAAA,MA2BDF,EAAA,CADCC,kHAoBA7D,EAAA8D,UAAA,eAAA,MA4BSF,EAAA,CADTC,gHAyBA7D,EAAA8D,UAAA,kBAAA,MCzXG,MAAOjD,UAGHkD,EACR,WAAApK,CAAYK,EAAY+G,GACtBlH,MAAMG,EAAS+G,EAChB,CAIS,cAAAD,CAAekD,EAAiBC,GACxC,MAAMC,EAAQ,CAACC,EAAaC,KAC1B,MAAMC,EAAiBD,GAAWD,EAC5BZ,EAAWvD,EAAewD,YAAYa,GAE5C,OADId,GAAUvD,EAAeiB,YAAYkD,EAAUZ,GAC5CY,CAAQ,EAGjB,OAAIG,MAAMC,QAAQP,GACTA,EAAOvM,KAAI,CAACsJ,EAAOjJ,KACxB,MAAMsM,EAAUE,MAAMC,QAAQN,GAAUA,EAAOnM,GAASmM,EACxD,OAAOC,EAAMnD,EAAOqD,EAAQ,IAKzBF,EAAMF,EADGM,MAAMC,QAAQN,GAAUA,IAAS,GAAKA,EAEvD,CAEQ,YAAM5D,CACbU,KACGpG,GAEH,MAAM6D,QAAe3E,MAAMwG,OAAOU,KAAUpG,GAG5C,OAFAH,KAAKsG,eAAetC,GACpBhE,KAAKsG,eAAeC,EAAOvC,GACpBA,CACR,CAEQ,eAAM8B,CACbpJ,KACGyD,GAEH,MAAM0E,QAAgBxF,MAAMyG,UAAUpJ,KAAWyD,GAGjD,OAFAH,KAAKsG,eAAezB,GACpB7E,KAAKsG,eAAe5J,EAAQmI,GACrBA,CACR,CAEQ,UAAMmF,CACbpI,KACGzB,GAEH,MAAM6D,QAAe3E,MAAM2K,KAAKpI,KAAOzB,GACvC,OAAOH,KAAKsG,eAAetC,EAC5B,CAEQ,aAAMiG,CACbnC,KACG3H,GAEH,MAAM0E,QAAgBxF,MAAM4K,QAAQnC,KAAQ3H,GAC5C,OAAOH,KAAKsG,eAAezB,EAC5B,CAEQ,YAAMkB,CACbQ,KACGpG,GAEH,MAAM6D,QAAe3E,MAAM0G,OAAOQ,KAAUpG,GAG5C,OAFAH,KAAKsG,eAAetC,GACpBhE,KAAKsG,eAAeC,EAAOvC,GACpBA,CACR,CAEQ,eAAMgC,CACbtJ,KACGyD,GAEH,MAAM0E,QAAgBxF,MAAM2G,UAAUtJ,KAAWyD,GAGjD,OAFAH,KAAKsG,eAAezB,GACpB7E,KAAKsG,eAAe5J,EAAQmI,GACrBA,CACR,CAEQ,YAAM,CACbjD,KACGzB,GAEH,MAAM6D,QAAe3E,MAAM6K,OAAOtI,KAAOzB,GACzC,OAAOH,KAAKsG,eAAetC,EAC5B,CAEQ,eAAMmG,CACbrC,KACG3H,GAEH,MAAM0E,QAAgBxF,MAAM8K,UAAUrC,KAAQ3H,GAC9C,OAAOH,KAAKsG,eAAezB,EAC5B,CAWkB,kBAAMoD,CACvB1B,KACGpG,GAEH,MAAMG,IAAEA,EAAGD,QAAEA,EAAOD,IAAEA,UACdJ,KAAK4E,OAAOzE,EAAMiK,EAAcC,QAAQ,IAC9CtH,IAAI/C,KAAKiI,cAELqC,EAAiBhK,EAAIyB,IAAI,kBACzBwI,EAAiBjK,EAAIyB,IAAI,oBAC/B3B,EAAIgH,MACF,mBAAmBkD,yBAAsCC,KAE3D,MAAM1I,EAAK0E,EAAMvG,KAAK6B,IACtB,IAAKA,EACH,MAAM,IAAIoF,EACR,qDAAqDjH,KAAK6B,IAE9D,IAAI2I,EACAC,EAmBJ,GAjBInK,EAAIyB,IAAI,2BACVyI,QAAiBxK,KAAKgK,KAAKnI,GAC3B4I,EAAcD,EAAWhF,EAAewD,YAAYwB,QAAYnI,EAE5D/B,EAAIyB,IAAI,oBACVwE,EAAQ1I,EAAM0H,MAAMiF,EAAUjE,EAAOvG,KAAK0K,SAEzCJ,SACGK,EACJ3K,KACAM,EACAiG,EACA6D,EAAcC,OACdD,EAAcQ,GACdJ,IAGCD,EAAgB,CACnB,MAAMM,EAAgBvK,EAAIyB,IAAI,gCAAkC,GAChE3B,EAAIgH,MAAM,kCAAkCyD,GAC5C,MAAMC,QAAeC,QAAQC,QAC3BzE,EAAM0E,UAAUT,KAAaK,IAE/B,GAAIC,EAAQ,MAAM,IAAII,EAAgBJ,EAAOjC,WAC9C,CAED,OADI4B,GAAajF,EAAeiB,YAAYF,EAAOkE,GAC5C,CAAClE,KAAUlG,EAASmK,EAC5B,CAWkB,qBAAMtC,CACvBxL,KACGyD,GAEH,MAAMG,IAAEA,EAAGD,QAAEA,EAAOD,IAAEA,UACdJ,KAAK4E,OAAOzE,EAAMgL,EAAsBC,YAAY,IAC1DrI,IAAI/C,KAAKkI,iBAELoC,EAAiBhK,EAAIyB,IAAI,kBACzBwI,EAAiBjK,EAAIyB,IAAI,oBAC/B3B,EAAIgH,MACF,mBAAmBkD,yBAAsCC,KAE3D,MAAMzC,EAAMpL,EAAOO,KAAKU,IACtB,MAAMiE,EAAKjE,EAAEqC,KAAK6B,IAClB,IAAKD,EAAI,MAAM,IAAIqF,EAAc,kCACjC,OAAOrF,CAAE,IAEX,IAAIyJ,EAyBJ,GAxBI/K,EAAIyB,IAAI,2BACVsJ,QAAkBrL,KAAKiK,QAAQnC,EAAiBxH,GAChD5D,EAASA,EAAOO,KAAI,CAACU,EAAGiJ,KAClBtG,EAAIyB,IAAI,oBACVpE,EAAIE,EAAM0H,MAAO8F,EAAkBzE,GAAIjJ,EAAGqC,KAAK0K,QACjD,MAAMD,EAAcjF,EAAewD,YAAaqC,EAAkBzE,IAElE,OADI6D,GAAajF,EAAeiB,YAAY9I,EAAG8M,GACxC9M,CAAC,KAGP2M,SACGS,QAAQO,IACZ5O,EAAOO,KAAI,CAACU,EAAGiJ,IACb+D,EACE3K,KACAM,EACA3C,EACAyM,EAAcC,OACdD,EAAcQ,GACdS,EAAYA,EAAUzE,QAAKvE,OAK9BkI,EAAgB,CACnB,MAAMgB,EAAejL,EAAIyB,IAAI,gCAAkC,GAE/D,IAAIyJ,EADJpL,EAAIgH,MAAM,kCAAkCmE,GAO1CC,EALGlL,EAAIyB,IAAI,+BAKcgJ,QAAQO,IAC/B5O,EAAOO,KAAI,CAACU,EAAGiJ,IACbmE,QAAQC,QACNrN,EAAEsN,UAAWI,EAAkBzE,MAAc2E,aAP1BR,QAAQC,QAC/BtO,EAAOO,KAAKU,GAAMA,EAAEsN,aAAaM,MAYrC,MAAME,EAAgBC,EAAoBF,GAE1C,GAAIC,EAAe,MAAM,IAAIP,EAAgBO,EAC9C,CACD,MAAO,CAAC/O,KAAW2D,EAASgL,EAC7B,EC1OIM,eAAeC,EAAOC,EAAUC,EAAcC,GACnD,OAAOF,EAAIG,KAAKF,EAAMC,EACxB,CAsCM,SAAUE,EACdJ,EACAK,EACAJ,EACAC,GAEA,MAAMI,EAAKN,EAAIO,IAAMP,EAAIO,IAAIF,GAAUL,EAkBvC,MAjBA,CAAC,SAAU,MAAO,MAAO,UAAW,QAAQnO,SAASQ,IACnD,MAAMmO,EAAYF,EAA2BjO,GAC7CJ,OAAOuJ,eAAe8E,EAAIjO,EAAG,CAC3BoJ,YAAY,EACZE,cAAc,EACdvJ,MAAO0N,SAAUxL,WACTyL,EAAOC,EAAKC,EAAMC,GACjBM,EAASC,KAAKH,KAAOhM,KAE9B,IAEJrC,OAAOuJ,eAAe8E,EAAIpR,EAAYQ,OAAQ,CAC5C+L,YAAY,EACZE,cAAc,EACdD,UAAU,EACVtJ,MAAO4N,IAEFM,CACT,CAUM,SAAUI,EAAuBjE,GAErC,OAAOA,EAAKC,MADG,SAEjB,CAcgB,SAAAnL,EACdqG,EACA9G,EACAG,EACA0P,EACAzP,EAAYC,GAEZ,MAAMsL,EAAO,CAAC/J,EAAgB/C,MAAOmB,EAAW8G,GAGhD,OAFI3G,GAAcwL,EAAK1J,QAAQ9B,GAC3B0P,GAAOlE,EAAK1J,KAAK4N,GACdlE,EAAKnL,KAAKJ,EACnB,CAyCgB,SAAA0P,EACdhJ,EACA9G,EACAG,EACA0P,EACAzP,EAAYC,GAEZ,MAAM0P,EAAuC,CAAA,EAK7C,IAAInP,EACJ,GALAmP,EAAsB3R,EAAYK,OAAS,GAC1CsR,EAAsB3R,EAAYK,OACZ,IACnBuB,EAEA6P,EAAO,CACT,MAAMG,EAAuB,CAAA,EAC7BA,EAAUlJ,GAAa+I,EACvB,MAAMI,GAAmC9P,GAAgB,IAAIG,KAAK4P,IAChE,MAAMvI,EAAe,CAAA,EAErB,OADAA,EAAEuI,GAAKL,EACAlI,CAAC,IAEJwI,EAAyB,CAAA,EAC/BA,EAAY/R,EAAYK,OAASoR,EACjCjP,EAAS,CAACoP,KAAcC,EAAoBE,EAC7C,MACCvP,EAAS,CAACkG,KAAe3G,GAAgB,GAAK/B,EAAYK,OAE5D,MAAMwB,EAAOQ,EACXqG,EACA9G,EACAG,EACA0P,EACAzP,GAEF,MAAO,CACLO,MAAO,CACLC,OAAQA,GAGVC,KAAM,CAACZ,EAAM7B,EAAYO,MAAM6B,KAAKJ,GACpCH,KAAMA,EAEV,CCpLO,MAAMmQ,EAAU,cAOVC,EAAe,cAE5BlL,EAASmL,gBAAgBD,EAAcD"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/metadata.ts","../src/repository.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,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","setMetadata","model","metadata","defineProperty","METADATA","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","undefined","removeMetadata","CouchDBRepository","Repository","constructor","adapter","super","assignMetadata","target","source","apply","instance","carrier","Array","isArray","create","args","result","this","createAll","results","read","id","readAll","ids","update","updateAll","delete","deleteAll","updatePrefix","ctx","ctxArgs","log","logCtx","OperationKeys","UPDATE","for","ignoreHandlers","get","ignoreValidate","silly","pk","InternalError","oldModel","oldMetadata","merge","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","toString","updateAllPrefix","BulkCrudOperationKeys","UPDATE_ALL","oldModels","i","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","IndexError","BaseError","msg","CouchDBPaginator","Paginator","query","size","clazz","prepare","rawStatement","assign","limit","page","bookmark","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","length","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","Metadata","DBKeys","pageResults","revert","Sequence","parseValue","_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","orderBySelector","rec","limitSelector","offsetSelector","processRecord","r","pkAttr","sequenceType","keyArgs","split","rawInput","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","columnName","isReserved","Date","record","transient","createPrefix","generateId","createAllPrefix","records","count","parseError","err","reason","attr","match","code","ConflictError","NotFoundError","message","statusCode","ConnectionError","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","__decorate","final","prototype","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/adapter.cjs
CHANGED
|
@@ -18,6 +18,7 @@ const errors_1 = require("./errors.cjs");
|
|
|
18
18
|
const query_1 = require("./query/index.cjs");
|
|
19
19
|
const logging_1 = require("@decaf-ts/logging");
|
|
20
20
|
const repository_1 = require("./repository.cjs");
|
|
21
|
+
const metadata_1 = require("./metadata.cjs");
|
|
21
22
|
/**
|
|
22
23
|
* @description Abstract adapter for CouchDB database operations
|
|
23
24
|
* @summary Provides a base implementation for CouchDB database operations, including CRUD operations, sequence management, and error handling
|
|
@@ -103,7 +104,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
103
104
|
assignMetadata(model, rev) {
|
|
104
105
|
if (!rev)
|
|
105
106
|
return model;
|
|
106
|
-
|
|
107
|
+
(0, metadata_1.setMetadata)(model, rev);
|
|
107
108
|
return model;
|
|
108
109
|
}
|
|
109
110
|
/**
|
|
@@ -115,7 +116,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
115
116
|
*/
|
|
116
117
|
assignMultipleMetadata(models, revs) {
|
|
117
118
|
models.forEach((m, i) => {
|
|
118
|
-
|
|
119
|
+
(0, metadata_1.setMetadata)(m, revs[i]);
|
|
119
120
|
return m;
|
|
120
121
|
});
|
|
121
122
|
return models;
|
|
@@ -372,12 +373,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
372
373
|
* @param {any} metadata - The metadata to attach to the model.
|
|
373
374
|
*/
|
|
374
375
|
static setMetadata(model, metadata) {
|
|
375
|
-
|
|
376
|
-
enumerable: false,
|
|
377
|
-
configurable: true,
|
|
378
|
-
writable: true,
|
|
379
|
-
value: metadata,
|
|
380
|
-
});
|
|
376
|
+
(0, metadata_1.setMetadata)(model, metadata);
|
|
381
377
|
}
|
|
382
378
|
/**
|
|
383
379
|
* @description Gets metadata from a model instance.
|
|
@@ -387,8 +383,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
387
383
|
* @return {any} The metadata or undefined if not found.
|
|
388
384
|
*/
|
|
389
385
|
static getMetadata(model) {
|
|
390
|
-
|
|
391
|
-
return descriptor ? descriptor.value : undefined;
|
|
386
|
+
return (0, metadata_1.getMetadata)(model);
|
|
392
387
|
}
|
|
393
388
|
/**
|
|
394
389
|
* @description Removes metadata from a model instance.
|
|
@@ -397,9 +392,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
397
392
|
* @param {M} model - The model instance.
|
|
398
393
|
*/
|
|
399
394
|
static removeMetadata(model) {
|
|
400
|
-
|
|
401
|
-
if (descriptor)
|
|
402
|
-
delete model[core_1.PersistenceKeys.METADATA];
|
|
395
|
+
(0, metadata_1.removeMetadata)(model);
|
|
403
396
|
}
|
|
404
397
|
}
|
|
405
398
|
exports.CouchDBAdapter = CouchDBAdapter;
|
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAQwB;AACxB,+CAA8D;AAC9D,2DAOiC;AACjC,yEAAuD;AACvD,yCAAsC;AAEtC,6CAA6D;AAG7D,+CAA0C;AAC1C,iDAAiD;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/adapter.js
CHANGED
|
@@ -15,6 +15,7 @@ import { IndexError } from "./errors.js";
|
|
|
15
15
|
import { CouchDBPaginator, CouchDBStatement } from "./query/index.js";
|
|
16
16
|
import { final } from "@decaf-ts/logging";
|
|
17
17
|
import { CouchDBRepository } from "./repository.js";
|
|
18
|
+
import { getMetadata, removeMetadata, setMetadata } from "./metadata.js";
|
|
18
19
|
/**
|
|
19
20
|
* @description Abstract adapter for CouchDB database operations
|
|
20
21
|
* @summary Provides a base implementation for CouchDB database operations, including CRUD operations, sequence management, and error handling
|
|
@@ -100,7 +101,7 @@ export class CouchDBAdapter extends Adapter {
|
|
|
100
101
|
assignMetadata(model, rev) {
|
|
101
102
|
if (!rev)
|
|
102
103
|
return model;
|
|
103
|
-
|
|
104
|
+
setMetadata(model, rev);
|
|
104
105
|
return model;
|
|
105
106
|
}
|
|
106
107
|
/**
|
|
@@ -112,7 +113,7 @@ export class CouchDBAdapter extends Adapter {
|
|
|
112
113
|
*/
|
|
113
114
|
assignMultipleMetadata(models, revs) {
|
|
114
115
|
models.forEach((m, i) => {
|
|
115
|
-
|
|
116
|
+
setMetadata(m, revs[i]);
|
|
116
117
|
return m;
|
|
117
118
|
});
|
|
118
119
|
return models;
|
|
@@ -369,12 +370,7 @@ export class CouchDBAdapter extends Adapter {
|
|
|
369
370
|
* @param {any} metadata - The metadata to attach to the model.
|
|
370
371
|
*/
|
|
371
372
|
static setMetadata(model, metadata) {
|
|
372
|
-
|
|
373
|
-
enumerable: false,
|
|
374
|
-
configurable: true,
|
|
375
|
-
writable: true,
|
|
376
|
-
value: metadata,
|
|
377
|
-
});
|
|
373
|
+
setMetadata(model, metadata);
|
|
378
374
|
}
|
|
379
375
|
/**
|
|
380
376
|
* @description Gets metadata from a model instance.
|
|
@@ -384,8 +380,7 @@ export class CouchDBAdapter extends Adapter {
|
|
|
384
380
|
* @return {any} The metadata or undefined if not found.
|
|
385
381
|
*/
|
|
386
382
|
static getMetadata(model) {
|
|
387
|
-
|
|
388
|
-
return descriptor ? descriptor.value : undefined;
|
|
383
|
+
return getMetadata(model);
|
|
389
384
|
}
|
|
390
385
|
/**
|
|
391
386
|
* @description Removes metadata from a model instance.
|
|
@@ -394,9 +389,7 @@ export class CouchDBAdapter extends Adapter {
|
|
|
394
389
|
* @param {M} model - The model instance.
|
|
395
390
|
*/
|
|
396
391
|
static removeMetadata(model) {
|
|
397
|
-
|
|
398
|
-
if (descriptor)
|
|
399
|
-
delete model[PersistenceKeys.METADATA];
|
|
392
|
+
removeMetadata(model);
|
|
400
393
|
}
|
|
401
394
|
}
|
|
402
395
|
__decorate([
|
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,GAKhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAoB;AAC9D,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,GAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,oBAAiB;AAEtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,yBAAgB;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,wBAAqB;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./repository";
|
|
|
3
3
|
export * from "./adapter";
|
|
4
4
|
export * from "./constants";
|
|
5
5
|
export * from "./errors";
|
|
6
|
+
export * from "./metadata";
|
|
6
7
|
export * from "./types";
|
|
7
8
|
export * from "./utils";
|
|
8
9
|
export * from "./query";
|
|
@@ -16,7 +17,7 @@ export * from "./query";
|
|
|
16
17
|
* @summary The version string of the for-couchdb package
|
|
17
18
|
* @const VERSION
|
|
18
19
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
20
|
+
export declare const VERSION = "0.4.27";
|
|
20
21
|
/**
|
|
21
22
|
* @description Stores the current package name
|
|
22
23
|
* @summary The version string of the for-couchdb package
|
package/lib/esm/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export * from "./repository.js";
|
|
|
4
4
|
export * from "./adapter.js";
|
|
5
5
|
export * from "./constants.js";
|
|
6
6
|
export * from "./errors.js";
|
|
7
|
+
export * from "./metadata.js";
|
|
7
8
|
export * from "./types.js";
|
|
8
9
|
export * from "./utils.js";
|
|
9
10
|
export * from "./query/index.js";
|
|
@@ -17,7 +18,7 @@ export * from "./query/index.js";
|
|
|
17
18
|
* @summary The version string of the for-couchdb package
|
|
18
19
|
* @const VERSION
|
|
19
20
|
*/
|
|
20
|
-
export const VERSION = "0.4.
|
|
21
|
+
export const VERSION = "0.4.27";
|
|
21
22
|
/**
|
|
22
23
|
* @description Stores the current package name
|
|
23
24
|
* @summary The version string of the for-couchdb package
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,mCAA0B;AAC1B,gCAA6B;AAC7B,6BAA0B;AAC1B,+BAA4B;AAC5B,4BAAyB;AACzB,2BAAwB;AACxB,2BAAwB;AACxB,iCAAwB;AAExB;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,mCAA0B;AAC1B,gCAA6B;AAC7B,6BAA0B;AAC1B,+BAA4B;AAC5B,4BAAyB;AACzB,8BAA2B;AAC3B,2BAAwB;AACxB,2BAAwB;AACxB,iCAAwB;AAExB;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
|
+
export declare function setMetadata<M extends Model>(model: M, metadata: any): void;
|
|
3
|
+
export declare function getMetadata<M extends Model>(model: M): any;
|
|
4
|
+
export declare function removeMetadata<M extends Model>(model: M): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PersistenceKeys } from "@decaf-ts/core";
|
|
2
|
+
export function setMetadata(model, metadata) {
|
|
3
|
+
Object.defineProperty(model, PersistenceKeys.METADATA, {
|
|
4
|
+
enumerable: false,
|
|
5
|
+
configurable: true,
|
|
6
|
+
writable: true,
|
|
7
|
+
value: metadata,
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
export function getMetadata(model) {
|
|
11
|
+
const descriptor = Object.getOwnPropertyDescriptor(model, PersistenceKeys.METADATA);
|
|
12
|
+
return descriptor ? descriptor.value : undefined;
|
|
13
|
+
}
|
|
14
|
+
export function removeMetadata(model) {
|
|
15
|
+
const descriptor = Object.getOwnPropertyDescriptor(model, PersistenceKeys.METADATA);
|
|
16
|
+
if (descriptor)
|
|
17
|
+
delete model[PersistenceKeys.METADATA];
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjD,MAAM,UAAU,WAAW,CAAkB,KAAQ,EAAE,QAAa;IAClE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;QACrD,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAkB,KAAQ;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,KAAK,EACL,eAAe,CAAC,QAAQ,CACzB,CAAC;IACF,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,cAAc,CAAkB,KAAQ;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,KAAK,EACL,eAAe,CAAC,QAAQ,CACzB,CAAC;IACF,IAAI,UAAU;QAAE,OAAQ,KAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC"}
|
package/lib/esm/repository.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MaybeContextualArg, Repository } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
|
-
import { CouchDBAdapter } from "./adapter";
|
|
4
|
+
import type { CouchDBAdapter } from "./adapter";
|
|
5
5
|
import { ContextOf } from "@decaf-ts/core";
|
|
6
6
|
import type { PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
7
7
|
export declare class CouchDBRepository<M extends Model, A extends CouchDBAdapter<any, any, any>> extends Repository<M, A> {
|
package/lib/esm/repository.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Repository } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import {
|
|
3
|
+
import { getMetadata, setMetadata } from "./metadata.js";
|
|
4
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) {
|
|
@@ -9,9 +9,9 @@ export class CouchDBRepository extends Repository {
|
|
|
9
9
|
assignMetadata(target, source) {
|
|
10
10
|
const apply = (instance, carrier) => {
|
|
11
11
|
const metadataSource = carrier ?? instance;
|
|
12
|
-
const metadata =
|
|
12
|
+
const metadata = getMetadata(metadataSource);
|
|
13
13
|
if (metadata)
|
|
14
|
-
|
|
14
|
+
setMetadata(instance, metadata);
|
|
15
15
|
return instance;
|
|
16
16
|
};
|
|
17
17
|
if (Array.isArray(target)) {
|
|
@@ -84,7 +84,7 @@ export class CouchDBRepository extends Repository {
|
|
|
84
84
|
let oldMetadata;
|
|
85
85
|
if (ctx.get("applyUpdateValidation")) {
|
|
86
86
|
oldModel = await this.read(pk);
|
|
87
|
-
oldMetadata = oldModel ?
|
|
87
|
+
oldMetadata = oldModel ? getMetadata(oldModel) : undefined;
|
|
88
88
|
if (ctx.get("mergeForUpdate"))
|
|
89
89
|
model = Model.merge(oldModel, model, this.class);
|
|
90
90
|
}
|
|
@@ -98,7 +98,7 @@ export class CouchDBRepository extends Repository {
|
|
|
98
98
|
throw new ValidationError(errors.toString());
|
|
99
99
|
}
|
|
100
100
|
if (oldMetadata)
|
|
101
|
-
|
|
101
|
+
setMetadata(model, oldMetadata);
|
|
102
102
|
return [model, ...ctxArgs, oldModel];
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
@@ -127,9 +127,9 @@ export class CouchDBRepository extends Repository {
|
|
|
127
127
|
models = models.map((m, i) => {
|
|
128
128
|
if (ctx.get("mergeForUpdate"))
|
|
129
129
|
m = Model.merge(oldModels[i], m, this.class);
|
|
130
|
-
const oldMetadata =
|
|
130
|
+
const oldMetadata = getMetadata(oldModels[i]);
|
|
131
131
|
if (oldMetadata)
|
|
132
|
-
|
|
132
|
+
setMetadata(m, oldMetadata);
|
|
133
133
|
return m;
|
|
134
134
|
});
|
|
135
135
|
}
|
|
@@ -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;
|
|
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;AAGvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAmB;AAEtD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,OAAO,iBAGX,SAAQ,UAAgB;IACxB,YAAY,OAAU,EAAE,KAAqB;QAC3C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAIS,cAAc,CAAC,MAAe,EAAE,MAAgB;QACxD,MAAM,KAAK,GAAG,CAAC,QAAW,EAAE,OAAW,EAAE,EAAE;YACzC,MAAM,cAAc,GAAG,OAAO,IAAI,QAAQ,CAAC;YAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,QAAQ;gBAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC/D,OAAO,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAEQ,KAAK,CAAC,MAAM,CACnB,KAAQ,EACR,GAAG,IAAsC;QAEzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,MAAW,EACX,GAAG,IAAsC;QAEzC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,KAAK,CAAC,IAAI,CACjB,EAAkB,EAClB,GAAG,IAAsC;QAEzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAM,CAAC;IAC1C,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,GAAqB,EACrB,GAAG,IAAsC;QAEzC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAQ,CAAC;IAC7C,CAAC;IAEQ,KAAK,CAAC,MAAM,CACnB,KAAQ,EACR,GAAG,IAAsC;QAEzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,MAAW,EACX,GAAG,IAAsC;QAEzC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,KAAK,CAAC,MAAM,CACnB,EAAkB,EAClB,GAAG,IAAsC;QAEzC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAM,CAAC;IAC1C,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,GAAqB,EACrB,GAAG,IAAsC;QAEzC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAQ,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACgB,KAAK,CAAC,YAAY,CACnC,KAAQ,EACR,GAAG,IAAsC;QAEzC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CACpD,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzB,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,KAAK,CACP,mBAAmB,cAAc,wBAAwB,cAAc,EAAE,CAC1E,CAAC;QACF,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAW,CAAC;QACpC,IAAI,CAAC,EAAE;YACL,MAAM,IAAI,aAAa,CACrB,qDAAqD,IAAI,CAAC,EAAY,EAAE,CACzE,CAAC;QACJ,IAAI,QAAuB,CAAC;QAC5B,IAAI,WAAgB,CAAC;QAErB,IAAI,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC;YACzC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE3D,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,cAAc;YACjB,MAAM,mBAAmB,CACvB,IAAI,EACJ,GAAU,EACV,KAAK,EACL,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,EAAE,EAChB,QAAQ,CACT,CAAC;QAEJ,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;YACnE,GAAG,CAAC,KAAK,CAAC,kCAAkC,aAAa,EAAE,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAClC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,CAC5C,CAAC;YACF,IAAI,MAAM;gBAAE,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,WAAW;YAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACgB,KAAK,CAAC,eAAe,CACtC,MAAW,EACX,GAAG,IAAsC;QAEzC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CAChE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE5B,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,KAAK,CACP,mBAAmB,cAAc,wBAAwB,cAAc,EAAE,CAC1E,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAW,CAAC;YAChC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,aAAa,CAAC,gCAAgC,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI,SAA0B,CAAC;QAC/B,IAAI,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAe,EAAE,GAAG,CAAC,CAAC;YACrD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBAC3B,CAAC,GAAG,KAAK,CAAC,KAAK,CAAE,SAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,MAAM,WAAW,GAAG,WAAW,CAAE,SAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,WAAW;oBAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC7C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,cAAc;YACjB,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,mBAAmB,CACjB,IAAI,EACJ,GAAG,EACH,CAAC,EACD,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,EAAE,EAChB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACrC,CACF,CACF,CAAC;QAEJ,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;YAClE,GAAG,CAAC,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;YAC5D,IAAI,gBAAqB,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBACtC,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,CACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC,CAChD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,OAAO,CAAC,OAAO,CACb,CAAC,CAAC,SAAS,CAAE,SAAiB,CAAC,CAAC,CAAQ,EAAE,GAAG,YAAY,CAAC,CAC3D,CACF,CACF,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAE5D,IAAI,aAAa;gBAAE,MAAM,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;CACF"}
|
package/lib/index.cjs
CHANGED
|
@@ -21,6 +21,7 @@ __exportStar(require("./repository.cjs"), exports);
|
|
|
21
21
|
__exportStar(require("./adapter.cjs"), exports);
|
|
22
22
|
__exportStar(require("./constants.cjs"), exports);
|
|
23
23
|
__exportStar(require("./errors.cjs"), exports);
|
|
24
|
+
__exportStar(require("./metadata.cjs"), exports);
|
|
24
25
|
__exportStar(require("./types.cjs"), exports);
|
|
25
26
|
__exportStar(require("./utils.cjs"), exports);
|
|
26
27
|
__exportStar(require("./query/index.cjs"), exports);
|
|
@@ -34,7 +35,7 @@ __exportStar(require("./query/index.cjs"), exports);
|
|
|
34
35
|
* @summary The version string of the for-couchdb package
|
|
35
36
|
* @const VERSION
|
|
36
37
|
*/
|
|
37
|
-
exports.VERSION = "0.4.
|
|
38
|
+
exports.VERSION = "0.4.27";
|
|
38
39
|
/**
|
|
39
40
|
* @description Stores the current package name
|
|
40
41
|
* @summary The version string of the for-couchdb package
|
package/lib/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./repository";
|
|
|
3
3
|
export * from "./adapter";
|
|
4
4
|
export * from "./constants";
|
|
5
5
|
export * from "./errors";
|
|
6
|
+
export * from "./metadata";
|
|
6
7
|
export * from "./types";
|
|
7
8
|
export * from "./utils";
|
|
8
9
|
export * from "./query";
|
|
@@ -16,7 +17,7 @@ export * from "./query";
|
|
|
16
17
|
* @summary The version string of the for-couchdb package
|
|
17
18
|
* @const VERSION
|
|
18
19
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
20
|
+
export declare const VERSION = "0.4.27";
|
|
20
21
|
/**
|
|
21
22
|
* @description Stores the current package name
|
|
22
23
|
* @summary The version string of the for-couchdb package
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAgD;AAEhD,sDAA0B;AAC1B,mDAA6B;AAC7B,gDAA0B;AAC1B,kDAA4B;AAC5B,+CAAyB;AACzB,8CAAwB;AACxB,8CAAwB;AACxB,oDAAwB;AAExB;;;;GAIG;AAEH;;;;GAIG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAErC;;;;GAIG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAgD;AAEhD,sDAA0B;AAC1B,mDAA6B;AAC7B,gDAA0B;AAC1B,kDAA4B;AAC5B,+CAAyB;AACzB,iDAA2B;AAC3B,8CAAwB;AACxB,8CAAwB;AACxB,oDAAwB;AAExB;;;;GAIG;AAEH;;;;GAIG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAErC;;;;GAIG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC"}
|
package/lib/metadata.cjs
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setMetadata = setMetadata;
|
|
4
|
+
exports.getMetadata = getMetadata;
|
|
5
|
+
exports.removeMetadata = removeMetadata;
|
|
6
|
+
const core_1 = require("@decaf-ts/core");
|
|
7
|
+
function setMetadata(model, metadata) {
|
|
8
|
+
Object.defineProperty(model, core_1.PersistenceKeys.METADATA, {
|
|
9
|
+
enumerable: false,
|
|
10
|
+
configurable: true,
|
|
11
|
+
writable: true,
|
|
12
|
+
value: metadata,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function getMetadata(model) {
|
|
16
|
+
const descriptor = Object.getOwnPropertyDescriptor(model, core_1.PersistenceKeys.METADATA);
|
|
17
|
+
return descriptor ? descriptor.value : undefined;
|
|
18
|
+
}
|
|
19
|
+
function removeMetadata(model) {
|
|
20
|
+
const descriptor = Object.getOwnPropertyDescriptor(model, core_1.PersistenceKeys.METADATA);
|
|
21
|
+
if (descriptor)
|
|
22
|
+
delete model[core_1.PersistenceKeys.METADATA];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
|
+
export declare function setMetadata<M extends Model>(model: M, metadata: any): void;
|
|
3
|
+
export declare function getMetadata<M extends Model>(model: M): any;
|
|
4
|
+
export declare function removeMetadata<M extends Model>(model: M): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";;AAGA,kCAOC;AAED,kCAMC;AAED,wCAMC;AA1BD,yCAAiD;AAGjD,SAAgB,WAAW,CAAkB,KAAQ,EAAE,QAAa;IAClE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAe,CAAC,QAAQ,EAAE;QACrD,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,WAAW,CAAkB,KAAQ;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,KAAK,EACL,sBAAe,CAAC,QAAQ,CACzB,CAAC;IACF,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,SAAgB,cAAc,CAAkB,KAAQ;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,KAAK,EACL,sBAAe,CAAC,QAAQ,CACzB,CAAC;IACF,IAAI,UAAU;QAAE,OAAQ,KAAa,CAAC,sBAAe,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC"}
|
package/lib/repository.cjs
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CouchDBRepository = void 0;
|
|
4
4
|
const core_1 = require("@decaf-ts/core");
|
|
5
5
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
|
-
const
|
|
6
|
+
const metadata_1 = require("./metadata.cjs");
|
|
7
7
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
8
8
|
class CouchDBRepository extends core_1.Repository {
|
|
9
9
|
constructor(adapter, model) {
|
|
@@ -12,9 +12,9 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
12
12
|
assignMetadata(target, source) {
|
|
13
13
|
const apply = (instance, carrier) => {
|
|
14
14
|
const metadataSource = carrier ?? instance;
|
|
15
|
-
const metadata =
|
|
15
|
+
const metadata = (0, metadata_1.getMetadata)(metadataSource);
|
|
16
16
|
if (metadata)
|
|
17
|
-
|
|
17
|
+
(0, metadata_1.setMetadata)(instance, metadata);
|
|
18
18
|
return instance;
|
|
19
19
|
};
|
|
20
20
|
if (Array.isArray(target)) {
|
|
@@ -87,7 +87,7 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
87
87
|
let oldMetadata;
|
|
88
88
|
if (ctx.get("applyUpdateValidation")) {
|
|
89
89
|
oldModel = await this.read(pk);
|
|
90
|
-
oldMetadata = oldModel ?
|
|
90
|
+
oldMetadata = oldModel ? (0, metadata_1.getMetadata)(oldModel) : undefined;
|
|
91
91
|
if (ctx.get("mergeForUpdate"))
|
|
92
92
|
model = decorator_validation_1.Model.merge(oldModel, model, this.class);
|
|
93
93
|
}
|
|
@@ -101,7 +101,7 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
101
101
|
throw new db_decorators_1.ValidationError(errors.toString());
|
|
102
102
|
}
|
|
103
103
|
if (oldMetadata)
|
|
104
|
-
|
|
104
|
+
(0, metadata_1.setMetadata)(model, oldMetadata);
|
|
105
105
|
return [model, ...ctxArgs, oldModel];
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
@@ -130,9 +130,9 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
130
130
|
models = models.map((m, i) => {
|
|
131
131
|
if (ctx.get("mergeForUpdate"))
|
|
132
132
|
m = decorator_validation_1.Model.merge(oldModels[i], m, this.class);
|
|
133
|
-
const oldMetadata =
|
|
133
|
+
const oldMetadata = (0, metadata_1.getMetadata)(oldModels[i]);
|
|
134
134
|
if (oldMetadata)
|
|
135
|
-
|
|
135
|
+
(0, metadata_1.setMetadata)(m, oldMetadata);
|
|
136
136
|
return m;
|
|
137
137
|
});
|
|
138
138
|
}
|
package/lib/repository.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MaybeContextualArg, Repository } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
|
-
import { CouchDBAdapter } from "./adapter";
|
|
4
|
+
import type { CouchDBAdapter } from "./adapter";
|
|
5
5
|
import { ContextOf } from "@decaf-ts/core";
|
|
6
6
|
import type { PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
7
7
|
export declare class CouchDBRepository<M extends Model, A extends CouchDBAdapter<any, any, any>> extends Repository<M, A> {
|
package/lib/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":";;;AAAA,yCAAgE;AAChE,yEAAuD;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
|