@decaf-ts/for-couchdb 0.4.11 → 0.4.12
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/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/query/Paginator.d.ts +2 -7
- package/lib/esm/query/Paginator.js +3 -3
- package/lib/esm/query/Paginator.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/query/Paginator.cjs +3 -3
- package/lib/query/Paginator.d.ts +2 -7
- package/lib/query/Paginator.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,n){"use strict";const i=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{get total(){throw new a.InternalError("The total pages api is not available for couchdb")}get count(){throw new a.InternalError("The record count api is not available for couchdb")}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,...o){const{ctxArgs:n,ctx:i}=this.adapter.logCtx(o,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...n);const d=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...d,limit:void 0},!0,i)||[];if(this._recordCount=e.length,this._recordCount>0){const e=d?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/e)}}if(this.validatePage(e),1!==e){if(!this.bookMark)throw new r.PagingError("No bookmark. Did you start in the first page?");d.bookmark=this.bookMark}const l=await this.adapter.raw(d,!1,i),{docs:u,bookmark:p,warning:h}=l;if(h&&this.log.for(this.page).warn(h),!this.clazz)throw new r.PagingError("No statement target defined");const g=s.Model.pk(this.clazz),f=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,g))?.type,m=d.fields&&d.fields.length?u:u.map((e=>{const t=e._id.split(c.SEPARATOR);return t.splice(0,1),this.adapter.revert(e,this.clazz,r.Sequence.parseValue(f,t.join(c.SEPARATOR)),void 0,i)}));return this.bookMark=p,this._currentPage=e,m}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find((t=>t===e));if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce(((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e}),[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map((([e,t])=>{const r={};return r[e]=t,r}))],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach((([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r}))}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),n=await this.adapter.raw(e,!0,o),i=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,i))?.type;return this.selectSelector?n:n.map((e=>this.processRecord(e,i,c,o)))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach((e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])}))}Statement(){return new g(this)}Paginator(e,t,r){return new p(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach(((e,r)=>(f.setMetadata(e,t[r]),e))),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),n=s.Model.tableName(e),i={};return i[c.TABLE]=n,i[c.ID]=this.generateId(n,t),Object.assign(i,r),[e,t,i,...o]}createAllPrefix(e,t,r,...o){const n=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(o,this.createAllPrefix),d=t.map(((e,t)=>{const a={};return a[c.TABLE]=n,a[c.ID]=this.generateId(n,e),Object.assign(a,r[t]),a}));return[e,t,d,...i]}updatePrefix(e,t,o,...n){const i=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(n,this.updatePrefix),l={};l[c.TABLE]=i,l[c.ID]=this.generateId(i,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...n){const i=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(n,this.updateAllPrefix),l=t.map(((e,t)=>{const s={};s[c.TABLE]=i,s[c.ID]=this.generateId(i,e);const n=o[t][r.PersistenceKeys.METADATA];if(!n)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=n,s}));return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(i)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map(((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)})):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context.get("ignoreHandlers"),n=r.context.get("ignoreValidation"),i=e[this.pk];if(!i)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);const c=await this.read(i,...r.args);if(e=s.Model.merge(c,e,this.class),o||await a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c),!n){const t=await Promise.resolve(e.hasErrors(c,...s.Model.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(t)throw new a.ValidationError(t.toString())}const d=f.getMetadata(c);return d&&f.setMetadata(e,d),[e,...r.args]}async updateAllPrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context.get("ignoreHandlers"),n=r.context.get("ignoreValidation"),i=e.map((e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t})),c=await this.readAll(i,...r.args);if(e=e.map(((e,t)=>{e=s.Model.merge(c[t],e,this.class);const r=f.getMetadata(c[t]);return r&&f.setMetadata(e,r),e})),o||await Promise.all(e.map(((e,t)=>a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c[t])))),!n){const t=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(e.map(((e,r)=>Promise.resolve(e.hasErrors(c[r],e,...t)))))).reduce(((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e)),void 0);if(s)throw new a.ValidationError(s)}return e.forEach(((e,t)=>{const r=f.getMetadata(c[t]);r&&f.setMetadata(e,r)})),[e,...r.args]}}async function A(e,t,r){return e.auth(t,r)}function y(e,t,s,o,n=a.DefaultSeparator){const i=[r.PersistenceKeys.INDEX,t,e];return s&&i.push(...s),o&&i.push(o),i.join(n)}const E="##VERSION##",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 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=y(e,t,r,s,o);return{index:{fields:i},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,n])=>{const i=Object.keys(n)[0];let{directions:l,compositions:u}=n[i];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce(((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t}),[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach((e=>h(e)))}))})),Object.values(o)},e.reAuth=A,e.reservedAttributes=i,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use(t);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"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{get total(){throw new a.InternalError("The total pages api is not available for couchdb")}get count(){throw new a.InternalError("The record count api is not available for couchdb")}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,...o){const{ctxArgs:n,ctx:i}=this.adapter.logCtx(o,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...n);const d=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...d,limit:void 0},!0,i)||[];if(this._recordCount=e.length,this._recordCount>0){const e=d?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/e)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new r.PagingError("No bookmark. Did you start in the first page?");d.bookmark=this._bookmark}const l=await this.adapter.raw(d,!1,i),{docs:u,bookmark:p,warning:h}=l;if(h&&this.log.for(this.page).warn(h),!this.clazz)throw new r.PagingError("No statement target defined");const g=s.Model.pk(this.clazz),f=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,g))?.type,m=d.fields&&d.fields.length?u:u.map(e=>{const t=e._id.split(c.SEPARATOR);return t.splice(0,1),this.adapter.revert(e,this.clazz,r.Sequence.parseValue(f,t.join(c.SEPARATOR)),void 0,i)});return this._bookmark=p,this._currentPage=e,m}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e},[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map(([e,t])=>{const r={};return r[e]=t,r})],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r})}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),n=await this.adapter.raw(e,!0,o),i=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,i))?.type;return this.selectSelector?n:n.map(e=>this.processRecord(e,i,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])})}Statement(){return new g(this)}Paginator(e,t,r){return new p(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(f.setMetadata(e,t[r]),e)),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),n=s.Model.tableName(e),i={};return i[c.TABLE]=n,i[c.ID]=this.generateId(n,t),Object.assign(i,r),[e,t,i,...o]}createAllPrefix(e,t,r,...o){const n=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(o,this.createAllPrefix),d=t.map((e,t)=>{const a={};return a[c.TABLE]=n,a[c.ID]=this.generateId(n,e),Object.assign(a,r[t]),a});return[e,t,d,...i]}updatePrefix(e,t,o,...n){const i=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(n,this.updatePrefix),l={};l[c.TABLE]=i,l[c.ID]=this.generateId(i,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...n){const i=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(n,this.updateAllPrefix),l=t.map((e,t)=>{const s={};s[c.TABLE]=i,s[c.ID]=this.generateId(i,e);const n=o[t][r.PersistenceKeys.METADATA];if(!n)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=n,s});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(i)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context.get("ignoreHandlers"),n=r.context.get("ignoreValidation"),i=e[this.pk];if(!i)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);const c=await this.read(i,...r.args);if(e=s.Model.merge(c,e,this.class),o||await a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c),!n){const t=await Promise.resolve(e.hasErrors(c,...s.Model.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(t)throw new a.ValidationError(t.toString())}const d=f.getMetadata(c);return d&&f.setMetadata(e,d),[e,...r.args]}async updateAllPrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context.get("ignoreHandlers"),n=r.context.get("ignoreValidation"),i=e.map(e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t}),c=await this.readAll(i,...r.args);if(e=e.map((e,t)=>{e=s.Model.merge(c[t],e,this.class);const r=f.getMetadata(c[t]);return r&&f.setMetadata(e,r),e}),o||await Promise.all(e.map((e,t)=>a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c[t]))),!n){const t=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(c[r],e,...t))))).reduce((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e),void 0);if(s)throw new a.ValidationError(s)}return e.forEach((e,t)=>{const r=f.getMetadata(c[t]);r&&f.setMetadata(e,r)}),[e,...r.args]}}async function A(e,t,r){return e.auth(t,r)}function y(e,t,s,o,n=a.DefaultSeparator){const i=[r.PersistenceKeys.INDEX,t,e];return s&&i.push(...s),o&&i.push(o),i.join(n)}const E="##VERSION##",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 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=y(e,t,r,s,o);return{index:{fields:i},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,n])=>{const i=Object.keys(n)[0];let{directions:l,compositions:u}=n[i];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t},[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach(e=>h(e))})}),Object.values(o)},e.reAuth=A,e.reservedAttributes=i,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use(t);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);
|
|
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","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","bookMark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","Model","pk","type","Metadata","get","key","DBKeys","fields","map","d","originalId","_id","split","splice","revert","Sequence","parseValue","join","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","records","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","ignoreHandlers","context","ignoreValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","e","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","VERSION","PACKAGE_NAME","registerLibrary","NULL","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","ddoc","direction","n","indexes","ind","directions","generate","res","tableFilter","partial_filter_selector","dbName","db","use","original","call"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","Model","pk","type","Metadata","get","key","DBKeys","fields","map","d","originalId","_id","split","splice","revert","Sequence","parseValue","join","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","records","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","ignoreHandlers","context","ignoreValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","e","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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"}
|
package/dist/for-couchdb.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as t}from"@decaf-ts/decoration";import{PersistenceKeys as e,Paginator as r,PagingError as s,Sequence as a,QueryError as i,Statement as n,Condition as o,GroupOperator as c,Operator as l,Adapter as d,ConnectionError as u,Repository as h}from"@decaf-ts/core";import{DefaultSeparator as p,BaseError as g,InternalError as f,DBKeys as A,prefixMethod as m,ConflictError as y,NotFoundError as E,Context as b,OperationKeys as w,enforceDBDecorators as O,ValidationError as x}from"@decaf-ts/db-decorators";import{Model as T}from"@decaf-ts/decorator-validation";import{__decorate as P,__metadata as j}from"tslib";import{final as M}from"@decaf-ts/logging";const D=/^_.*$/g,N={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},v=250,S={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},I={AND:"$and",OR:"$or"},L={NULL:"null"};function k(t){const r=((t,e,r,s=p)=>[...t.map((t=>t===N.TABLE?"table":t)),...r||[],...e?[e]:[],N.INDEX].join(s))([N.TABLE]),s={};return s[r]={index:{fields:[N.TABLE]},name:r,ddoc:r,type:"json"},t.forEach((t=>{const r=T.indexes(t);Object.entries(r).forEach((([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=T.tableName(t);function l(t){const a=[c,r,...o,e.INDEX].join(p);if(s[a]={index:{fields:[r,...o,N.TABLE].reduce(((e,r)=>{if(t){const s={};s[r]=t,e.push(s)}else e.push(r);return e}),[])},name:a,ddoc:a,type:"json"},!t){const t={};t[N.TABLE]={},t[N.TABLE].$eq=c,s[a].index.partial_filter_selector=t}}o=o||[],l(),n&&n.forEach((t=>l(t)))}))})),Object.values(s)}class R extends g{constructor(t){super(R.name,t,404)}}class C extends r{get total(){throw new f("The total pages api is not available for couchdb")}get count(){throw new f("The record count api is not available for couchdb")}constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1,...r){const{ctxArgs:i,ctx:n}=this.adapter.logCtx(r,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...i);const o=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...o,limit:void 0},!0,n)||[];if(this._recordCount=t.length,this._recordCount>0){const t=o?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/t)}}if(this.validatePage(e),1!==e){if(!this.bookMark)throw new s("No bookmark. Did you start in the first page?");o.bookmark=this.bookMark}const c=await this.adapter.raw(o,!1,n),{docs:l,bookmark:d,warning:u}=c;if(u&&this.log.for(this.page).warn(u),!this.clazz)throw new s("No statement target defined");const h=T.pk(this.clazz),p=t.get(this.clazz,t.key(A.ID,h))?.type,g=o.fields&&o.fields.length?l:l.map((t=>{const e=t._id.split(N.SEPARATOR);return e.splice(0,1),this.adapter.revert(t,this.clazz,a.parseValue(p,e.join(N.SEPARATOR)),void 0,n)}));return this.bookMark=d,this._currentPage=e,g}}function _(t){for(const e of[S,I]){const r=Object.keys(e).find((e=>e===t));if(r)return e[r]}throw new i("Could not find adapter translation for operator "+t)}class B extends n{constructor(t){super(t)}build(){const t=this.log.for(this.build),e={};e[N.TABLE]={},e[N.TABLE]=T.tableName(this.fromSelector);const r={selector:e};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(o.and(this.whereCondition,o.attribute(N.TABLE).eq(r.selector[N.TABLE]))).selector,s=Object.keys(e);if(1===s.length&&-1!==Object.values(I).indexOf(s[0]))switch(s[0]){case I.AND:e[I.AND]=[...Object.values(e[I.AND]).reduce(((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===I.AND?t.push(...e[s]):t.push(e),t}),[])],r.selector=e;break;case I.OR:{const t={};t[I.AND]=[e,...Object.entries(r.selector).map((([t,e])=>{const r={};return r[t]=e,r}))],r.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach((([e,s])=>{r.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${r.selector[e]} by ${s}`),r.selector[e]=s}))}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[t,e]=this.orderBySelector,s={};s[t]=e,r.sort.push(s),r.selector[t]||(r.selector[t]={},r.selector[t].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(t.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(t,e,r,s){if(t[N.ID]){const[,...e]=t[N.ID].split(N.SEPARATOR),i=e.join("_");return this.adapter.revert(t,this.fromSelector,a.parseValue(r,i),void 0,s)}return t}async raw(e,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(e,!0,s),i=T.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(A.ID,i))?.type;return this.selectSelector?a:a.map((t=>this.processRecord(t,i,n,s)))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][_(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[_(l.NOT)]={},a[_(l.NOT)][e.attr1]=s;else{const t=this.parseCondition(e).selector,i=this.parseCondition(s).selector;a=((t,e,r)=>{const s={selector:{}};return s.selector[t]=[e,r],s})(_(r),t,i).selector}return{selector:a}}}class $ extends d{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach((t=>{const e=t.name;m(this,t,this[e+"Prefix"])}))}Statement(){return new B(this)}Paginator(t,e,r){return new C(this,t,e,r)}async initialize(){const t=d.models(this.flavour);return this.index(...t)}repository(){return V}assignMetadata(t,e){return e?($.setMetadata(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach(((t,r)=>($.setMetadata(t,e[r]),t))),t}createPrefix(t,e,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=T.tableName(t),n={};return n[N.TABLE]=i,n[N.ID]=this.generateId(i,e),Object.assign(n,r),[t,e,n,...a]}createAllPrefix(t,e,r,...s){const a=T.tableName(t);if(e.length!==r.length)throw new f("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map(((t,e)=>{const s={};return s[N.TABLE]=a,s[N.ID]=this.generateId(a,t),Object.assign(s,r[e]),s}));return[t,e,n,...i]}updatePrefix(t,r,s,...a){const i=T.tableName(t),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[N.TABLE]=i,o[N.ID]=this.generateId(i,r);const c=s[e.METADATA];if(!c)throw new f("No revision number found for record with id "+r);return Object.assign(o,s),o[N.REV]=c,[t,r,o,...n]}updateAllPrefix(t,r,s,...a){const i=T.tableName(t);if(r.length!==s.length)throw new f("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map(((t,r)=>{const a={};a[N.TABLE]=i,a[N.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new f("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[N.REV]=n,a}));return[t,r,o,...n]}generateId(t,e){return[t,e].join(N.SEPARATOR)}parseError(t,e){return $.parseError(t,e)}isReserved(t){return!!t.match(D)}static parseError(t,e){if(t instanceof g)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new y(e);case"404":return new E(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new R(t):new f(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new f(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}P([M(),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",B)],$.prototype,"Statement",null),P([M(),j("design:type",Function),j("design:paramtypes",[Object,String]),j("design:returntype",Object)],$.prototype,"assignMetadata",null),P([M(),j("design:type",Function),j("design:paramtypes",[Array,Array]),j("design:returntype",Array)],$.prototype,"assignMultipleMetadata",null),P([M(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",Array)],$.prototype,"createPrefix",null),P([M(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],$.prototype,"createAllPrefix",null),P([M(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",void 0)],$.prototype,"updatePrefix",null),P([M(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],$.prototype,"updateAllPrefix",null);class V extends h{constructor(t,e){super(t,e)}assignMetadata(t,e){const r=(t,e)=>{const r=e??t,s=$.getMetadata(r);return s&&$.setMetadata(t,s),t};return Array.isArray(t)?t.map(((t,s)=>{const a=Array.isArray(e)?e[s]:e;return r(t,a)})):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context.get("ignoreHandlers"),a=r.context.get("ignoreValidation"),i=t[this.pk];if(!i)throw new f("No value for the Id is defined under the property "+this.pk);const n=await this.read(i,...r.args);if(t=T.merge(n,t,this.class),s||await O(this,r.context,t,w.UPDATE,w.ON,n),!a){const e=await Promise.resolve(t.hasErrors(n,...T.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(e)throw new x(e.toString())}const o=$.getMetadata(n);return o&&$.setMetadata(t,o),[t,...r.args]}async updateAllPrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context.get("ignoreHandlers"),a=r.context.get("ignoreValidation"),i=t.map((t=>{const e=t[this.pk];if(!e)throw new f("missing id on update operation");return e})),n=await this.readAll(i,...r.args);if(t=t.map(((t,e)=>{t=T.merge(n[e],t,this.class);const r=$.getMetadata(n[e]);return r&&$.setMetadata(t,r),t})),s||await Promise.all(t.map(((t,e)=>O(this,r.context,t,w.UPDATE,w.ON,n[e])))),!a){const e=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(t.map(((t,r)=>Promise.resolve(t.hasErrors(n[r],t,...e)))))).reduce(((t,e,r)=>(e&&(t="string"==typeof t?t+`\n - ${r}: ${e.toString()}`:` - ${r}: ${e.toString()}`),t)),void 0);if(s)throw new x(s)}return t.forEach(((t,e)=>{const r=$.getMetadata(n[e]);r&&$.setMetadata(t,r)})),[t,...r.args]}}async function z(t,e,r){return t.auth(e,r)}function F(t,e,r,s){const a=t.use(e);return["insert","get","put","destroy","find"].forEach((e=>{const i=a[e];Object.defineProperty(a,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await z(t,r,s),i.call(a,...e))})})),Object.defineProperty(a,N.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),a}function U(t){return t.match(/^_.*$/g)}function q(t,r,s,a,i=p){const n=[e.INDEX,r,t];return s&&n.push(...s),a&&n.push(a),n.join(i)}function G(t,e,r,s,a=p){const i={};let n;if(i[N.TABLE]={},i[N.TABLE].$eq=e,s){const e={};e[t]=s;const a=(r||[]).map((t=>{const e={};return e[t]=s,e})),i={};i[N.TABLE]=s,n=[e,...a,i]}else n=[t,...r||[],N.TABLE];const o=q(t,e,r,s,a);return{index:{fields:n},ddoc:[o,N.DDOC].join(a),name:o}}const X="##VERSION##",Q="##PACKAGE##";t.registerLibrary(Q,X);export{$ as CouchDBAdapter,L as CouchDBConst,I as CouchDBGroupOperator,N as CouchDBKeys,S as CouchDBOperator,C as CouchDBPaginator,v as CouchDBQueryLimit,V as CouchDBRepository,B as CouchDBStatement,R as IndexError,Q as PACKAGE_NAME,X as VERSION,G as generateIndexDoc,q as generateIndexName,k as generateIndexes,z as reAuth,D as reservedAttributes,U as testReservedAttributes,_ as translateOperators,F as wrapDocumentScope};
|
|
1
|
+
import{Metadata as t}from"@decaf-ts/decoration";import{PersistenceKeys as e,Paginator as r,PagingError as s,Sequence as a,QueryError as i,Statement as n,Condition as o,GroupOperator as c,Operator as l,Adapter as d,ConnectionError as u,Repository as h}from"@decaf-ts/core";import{DefaultSeparator as p,BaseError as g,InternalError as f,DBKeys as m,prefixMethod as A,ConflictError as y,NotFoundError as E,Context as b,OperationKeys as w,enforceDBDecorators as O,ValidationError as x}from"@decaf-ts/db-decorators";import{Model as T}from"@decaf-ts/decorator-validation";import{__decorate as P,__metadata as j}from"tslib";import{final as D}from"@decaf-ts/logging";const M=/^_.*$/g,N={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},v=250,S={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},_={AND:"$and",OR:"$or"},I={NULL:"null"};function L(t){const r=((t,e,r,s=p)=>[...t.map(t=>t===N.TABLE?"table":t),...r||[],...e?[e]:[],N.INDEX].join(s))([N.TABLE]),s={};return s[r]={index:{fields:[N.TABLE]},name:r,ddoc:r,type:"json"},t.forEach(t=>{const r=T.indexes(t);Object.entries(r).forEach(([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=T.tableName(t);function l(t){const a=[c,r,...o,e.INDEX].join(p);if(s[a]={index:{fields:[r,...o,N.TABLE].reduce((e,r)=>{if(t){const s={};s[r]=t,e.push(s)}else e.push(r);return e},[])},name:a,ddoc:a,type:"json"},!t){const t={};t[N.TABLE]={},t[N.TABLE].$eq=c,s[a].index.partial_filter_selector=t}}o=o||[],l(),n&&n.forEach(t=>l(t))})}),Object.values(s)}class k extends g{constructor(t){super(k.name,t,404)}}class R extends r{get total(){throw new f("The total pages api is not available for couchdb")}get count(){throw new f("The record count api is not available for couchdb")}constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1,...r){const{ctxArgs:i,ctx:n}=this.adapter.logCtx(r,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...i);const o=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...o,limit:void 0},!0,n)||[];if(this._recordCount=t.length,this._recordCount>0){const t=o?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/t)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new s("No bookmark. Did you start in the first page?");o.bookmark=this._bookmark}const c=await this.adapter.raw(o,!1,n),{docs:l,bookmark:d,warning:u}=c;if(u&&this.log.for(this.page).warn(u),!this.clazz)throw new s("No statement target defined");const h=T.pk(this.clazz),p=t.get(this.clazz,t.key(m.ID,h))?.type,g=o.fields&&o.fields.length?l:l.map(t=>{const e=t._id.split(N.SEPARATOR);return e.splice(0,1),this.adapter.revert(t,this.clazz,a.parseValue(p,e.join(N.SEPARATOR)),void 0,n)});return this._bookmark=d,this._currentPage=e,g}}function C(t){for(const e of[S,_]){const r=Object.keys(e).find(e=>e===t);if(r)return e[r]}throw new i("Could not find adapter translation for operator "+t)}class B extends n{constructor(t){super(t)}build(){const t=this.log.for(this.build),e={};e[N.TABLE]={},e[N.TABLE]=T.tableName(this.fromSelector);const r={selector:e};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(o.and(this.whereCondition,o.attribute(N.TABLE).eq(r.selector[N.TABLE]))).selector,s=Object.keys(e);if(1===s.length&&-1!==Object.values(_).indexOf(s[0]))switch(s[0]){case _.AND:e[_.AND]=[...Object.values(e[_.AND]).reduce((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===_.AND?t.push(...e[s]):t.push(e),t},[])],r.selector=e;break;case _.OR:{const t={};t[_.AND]=[e,...Object.entries(r.selector).map(([t,e])=>{const r={};return r[t]=e,r})],r.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach(([e,s])=>{r.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${r.selector[e]} by ${s}`),r.selector[e]=s})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[t,e]=this.orderBySelector,s={};s[t]=e,r.sort.push(s),r.selector[t]||(r.selector[t]={},r.selector[t].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(t.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(t,e,r,s){if(t[N.ID]){const[,...e]=t[N.ID].split(N.SEPARATOR),i=e.join("_");return this.adapter.revert(t,this.fromSelector,a.parseValue(r,i),void 0,s)}return t}async raw(e,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(e,!0,s),i=T.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(m.ID,i))?.type;return this.selectSelector?a:a.map(t=>this.processRecord(t,i,n,s))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][C(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[C(l.NOT)]={},a[C(l.NOT)][e.attr1]=s;else{const t=this.parseCondition(e).selector,i=this.parseCondition(s).selector;a=((t,e,r)=>{const s={selector:{}};return s.selector[t]=[e,r],s})(C(r),t,i).selector}return{selector:a}}}class $ extends d{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach(t=>{const e=t.name;A(this,t,this[e+"Prefix"])})}Statement(){return new B(this)}Paginator(t,e,r){return new R(this,t,e,r)}async initialize(){const t=d.models(this.flavour);return this.index(...t)}repository(){return V}assignMetadata(t,e){return e?($.setMetadata(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach((t,r)=>($.setMetadata(t,e[r]),t)),t}createPrefix(t,e,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=T.tableName(t),n={};return n[N.TABLE]=i,n[N.ID]=this.generateId(i,e),Object.assign(n,r),[t,e,n,...a]}createAllPrefix(t,e,r,...s){const a=T.tableName(t);if(e.length!==r.length)throw new f("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map((t,e)=>{const s={};return s[N.TABLE]=a,s[N.ID]=this.generateId(a,t),Object.assign(s,r[e]),s});return[t,e,n,...i]}updatePrefix(t,r,s,...a){const i=T.tableName(t),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[N.TABLE]=i,o[N.ID]=this.generateId(i,r);const c=s[e.METADATA];if(!c)throw new f("No revision number found for record with id "+r);return Object.assign(o,s),o[N.REV]=c,[t,r,o,...n]}updateAllPrefix(t,r,s,...a){const i=T.tableName(t);if(r.length!==s.length)throw new f("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map((t,r)=>{const a={};a[N.TABLE]=i,a[N.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new f("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[N.REV]=n,a});return[t,r,o,...n]}generateId(t,e){return[t,e].join(N.SEPARATOR)}parseError(t,e){return $.parseError(t,e)}isReserved(t){return!!t.match(M)}static parseError(t,e){if(t instanceof g)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new y(e);case"404":return new E(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new k(t):new f(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new f(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}P([D(),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",B)],$.prototype,"Statement",null),P([D(),j("design:type",Function),j("design:paramtypes",[Object,String]),j("design:returntype",Object)],$.prototype,"assignMetadata",null),P([D(),j("design:type",Function),j("design:paramtypes",[Array,Array]),j("design:returntype",Array)],$.prototype,"assignMultipleMetadata",null),P([D(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",Array)],$.prototype,"createPrefix",null),P([D(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],$.prototype,"createAllPrefix",null),P([D(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",void 0)],$.prototype,"updatePrefix",null),P([D(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],$.prototype,"updateAllPrefix",null);class V extends h{constructor(t,e){super(t,e)}assignMetadata(t,e){const r=(t,e)=>{const r=e??t,s=$.getMetadata(r);return s&&$.setMetadata(t,s),t};return Array.isArray(t)?t.map((t,s)=>{const a=Array.isArray(e)?e[s]:e;return r(t,a)}):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context.get("ignoreHandlers"),a=r.context.get("ignoreValidation"),i=t[this.pk];if(!i)throw new f("No value for the Id is defined under the property "+this.pk);const n=await this.read(i,...r.args);if(t=T.merge(n,t,this.class),s||await O(this,r.context,t,w.UPDATE,w.ON,n),!a){const e=await Promise.resolve(t.hasErrors(n,...T.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(e)throw new x(e.toString())}const o=$.getMetadata(n);return o&&$.setMetadata(t,o),[t,...r.args]}async updateAllPrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context.get("ignoreHandlers"),a=r.context.get("ignoreValidation"),i=t.map(t=>{const e=t[this.pk];if(!e)throw new f("missing id on update operation");return e}),n=await this.readAll(i,...r.args);if(t=t.map((t,e)=>{t=T.merge(n[e],t,this.class);const r=$.getMetadata(n[e]);return r&&$.setMetadata(t,r),t}),s||await Promise.all(t.map((t,e)=>O(this,r.context,t,w.UPDATE,w.ON,n[e]))),!a){const e=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(t.map((t,r)=>Promise.resolve(t.hasErrors(n[r],t,...e))))).reduce((t,e,r)=>(e&&(t="string"==typeof t?t+`\n - ${r}: ${e.toString()}`:` - ${r}: ${e.toString()}`),t),void 0);if(s)throw new x(s)}return t.forEach((t,e)=>{const r=$.getMetadata(n[e]);r&&$.setMetadata(t,r)}),[t,...r.args]}}async function z(t,e,r){return t.auth(e,r)}function F(t,e,r,s){const a=t.use(e);return["insert","get","put","destroy","find"].forEach(e=>{const i=a[e];Object.defineProperty(a,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await z(t,r,s),i.call(a,...e))})}),Object.defineProperty(a,N.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),a}function U(t){return t.match(/^_.*$/g)}function q(t,r,s,a,i=p){const n=[e.INDEX,r,t];return s&&n.push(...s),a&&n.push(a),n.join(i)}function G(t,e,r,s,a=p){const i={};let n;if(i[N.TABLE]={},i[N.TABLE].$eq=e,s){const e={};e[t]=s;const a=(r||[]).map(t=>{const e={};return e[t]=s,e}),i={};i[N.TABLE]=s,n=[e,...a,i]}else n=[t,...r||[],N.TABLE];const o=q(t,e,r,s,a);return{index:{fields:n},ddoc:[o,N.DDOC].join(a),name:o}}const X="##VERSION##",Q="##PACKAGE##";t.registerLibrary(Q,X);export{$ as CouchDBAdapter,I as CouchDBConst,_ as CouchDBGroupOperator,N as CouchDBKeys,S as CouchDBOperator,R as CouchDBPaginator,v as CouchDBQueryLimit,V as CouchDBRepository,B as CouchDBStatement,k as IndexError,Q as PACKAGE_NAME,X as VERSION,G as generateIndexDoc,q as generateIndexName,L as generateIndexes,z as reAuth,M as reservedAttributes,U as testReservedAttributes,C as translateOperators,F as wrapDocumentScope};
|
|
2
2
|
//# sourceMappingURL=for-couchdb.js.map
|
package/dist/for-couchdb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","bookMark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","pk","Metadata","get","DBKeys","originalId","_id","split","splice","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","result","orderBySelector","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","records","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","ignoreHandlers","context","ignoreValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","e","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","pk","Metadata","get","DBKeys","originalId","_id","split","splice","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","result","orderBySelector","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","records","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","ignoreHandlers","context","ignoreValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","e","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from "./query";
|
|
|
16
16
|
* @summary The version string of the for-couchdb package
|
|
17
17
|
* @const VERSION
|
|
18
18
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
19
|
+
export declare const VERSION = "0.4.11";
|
|
20
20
|
/**
|
|
21
21
|
* @description Stores the current package name
|
|
22
22
|
* @summary The version string of the for-couchdb package
|
package/lib/esm/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export * from "./query/index.js";
|
|
|
17
17
|
* @summary The version string of the for-couchdb package
|
|
18
18
|
* @const VERSION
|
|
19
19
|
*/
|
|
20
|
-
export const VERSION = "0.4.
|
|
20
|
+
export const VERSION = "0.4.11";
|
|
21
21
|
/**
|
|
22
22
|
* @description Stores the current package name
|
|
23
23
|
* @summary The version string of the for-couchdb package
|
|
@@ -25,12 +25,7 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
25
25
|
* // Get the next page
|
|
26
26
|
* const page2 = await paginator.page(2);
|
|
27
27
|
*/
|
|
28
|
-
export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M,
|
|
29
|
-
/**
|
|
30
|
-
* @description Bookmark for CouchDB pagination
|
|
31
|
-
* @summary Stores the bookmark returned by CouchDB for continuing pagination
|
|
32
|
-
*/
|
|
33
|
-
private bookMark?;
|
|
28
|
+
export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M, M[], MangoQuery> {
|
|
34
29
|
/**
|
|
35
30
|
* @description Gets the total number of pages
|
|
36
31
|
* @summary Not supported in CouchDB - throws an error when accessed
|
|
@@ -120,5 +115,5 @@ export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M, R
|
|
|
120
115
|
* CouchDBPaginator-->>Client: Return results
|
|
121
116
|
* end
|
|
122
117
|
*/
|
|
123
|
-
page(page?: number, ...args: MaybeContextualArg<any>): Promise<
|
|
118
|
+
page(page?: number, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
124
119
|
}
|
|
@@ -143,9 +143,9 @@ export class CouchDBPaginator extends Paginator {
|
|
|
143
143
|
}
|
|
144
144
|
this.validatePage(page);
|
|
145
145
|
if (page !== 1) {
|
|
146
|
-
if (!this.
|
|
146
|
+
if (!this._bookmark)
|
|
147
147
|
throw new PagingError("No bookmark. Did you start in the first page?");
|
|
148
|
-
statement["bookmark"] = this.
|
|
148
|
+
statement["bookmark"] = this._bookmark;
|
|
149
149
|
}
|
|
150
150
|
const rawResult = (await this.adapter.raw(statement, false, ctx));
|
|
151
151
|
const { docs, bookmark, warning } = rawResult;
|
|
@@ -163,7 +163,7 @@ export class CouchDBPaginator extends Paginator {
|
|
|
163
163
|
originalId.splice(0, 1); // remove the table name
|
|
164
164
|
return this.adapter.revert(d, this.clazz, Sequence.parseValue(type, originalId.join(CouchDBKeys.SEPARATOR)), undefined, ctx);
|
|
165
165
|
});
|
|
166
|
-
this.
|
|
166
|
+
this._bookmark = bookmark;
|
|
167
167
|
this._currentPage = page;
|
|
168
168
|
return results;
|
|
169
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../../src/query/Paginator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,WAAW,EACX,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,0BAAqB;AAC3C,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,gBAAqC,SAAQ,SAIzD;
|
|
1
|
+
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../../src/query/Paginator.ts"],"names":[],"mappings":"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"}
|
package/lib/index.cjs
CHANGED
|
@@ -34,7 +34,7 @@ __exportStar(require("./query/index.cjs"), exports);
|
|
|
34
34
|
* @summary The version string of the for-couchdb package
|
|
35
35
|
* @const VERSION
|
|
36
36
|
*/
|
|
37
|
-
exports.VERSION = "0.4.
|
|
37
|
+
exports.VERSION = "0.4.11";
|
|
38
38
|
/**
|
|
39
39
|
* @description Stores the current package name
|
|
40
40
|
* @summary The version string of the for-couchdb package
|
package/lib/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from "./query";
|
|
|
16
16
|
* @summary The version string of the for-couchdb package
|
|
17
17
|
* @const VERSION
|
|
18
18
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
19
|
+
export declare const VERSION = "0.4.11";
|
|
20
20
|
/**
|
|
21
21
|
* @description Stores the current package name
|
|
22
22
|
* @summary The version string of the for-couchdb package
|
package/lib/query/Paginator.cjs
CHANGED
|
@@ -146,9 +146,9 @@ class CouchDBPaginator extends core_1.Paginator {
|
|
|
146
146
|
}
|
|
147
147
|
this.validatePage(page);
|
|
148
148
|
if (page !== 1) {
|
|
149
|
-
if (!this.
|
|
149
|
+
if (!this._bookmark)
|
|
150
150
|
throw new core_1.PagingError("No bookmark. Did you start in the first page?");
|
|
151
|
-
statement["bookmark"] = this.
|
|
151
|
+
statement["bookmark"] = this._bookmark;
|
|
152
152
|
}
|
|
153
153
|
const rawResult = (await this.adapter.raw(statement, false, ctx));
|
|
154
154
|
const { docs, bookmark, warning } = rawResult;
|
|
@@ -166,7 +166,7 @@ class CouchDBPaginator extends core_1.Paginator {
|
|
|
166
166
|
originalId.splice(0, 1); // remove the table name
|
|
167
167
|
return this.adapter.revert(d, this.clazz, core_1.Sequence.parseValue(type, originalId.join(constants_1.CouchDBKeys.SEPARATOR)), undefined, ctx);
|
|
168
168
|
});
|
|
169
|
-
this.
|
|
169
|
+
this._bookmark = bookmark;
|
|
170
170
|
this._currentPage = page;
|
|
171
171
|
return results;
|
|
172
172
|
}
|
package/lib/query/Paginator.d.ts
CHANGED
|
@@ -25,12 +25,7 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
25
25
|
* // Get the next page
|
|
26
26
|
* const page2 = await paginator.page(2);
|
|
27
27
|
*/
|
|
28
|
-
export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M,
|
|
29
|
-
/**
|
|
30
|
-
* @description Bookmark for CouchDB pagination
|
|
31
|
-
* @summary Stores the bookmark returned by CouchDB for continuing pagination
|
|
32
|
-
*/
|
|
33
|
-
private bookMark?;
|
|
28
|
+
export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M, M[], MangoQuery> {
|
|
34
29
|
/**
|
|
35
30
|
* @description Gets the total number of pages
|
|
36
31
|
* @summary Not supported in CouchDB - throws an error when accessed
|
|
@@ -120,5 +115,5 @@ export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M, R
|
|
|
120
115
|
* CouchDBPaginator-->>Client: Return results
|
|
121
116
|
* end
|
|
122
117
|
*/
|
|
123
|
-
page(page?: number, ...args: MaybeContextualArg<any>): Promise<
|
|
118
|
+
page(page?: number, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
124
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../src/query/Paginator.ts"],"names":[],"mappings":";;;AAAA,yCAKwB;AACxB,2DAAgE;AAEhE,yEAAuD;AAEvD,kDAA2C;AAC3C,qDAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,gBAAqC,SAAQ,gBAIzD;
|
|
1
|
+
{"version":3,"file":"Paginator.js","sourceRoot":"","sources":["../../src/query/Paginator.ts"],"names":[],"mappings":"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"}
|