@decaf-ts/for-couchdb 0.4.28 → 0.4.30

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.
Files changed (49) hide show
  1. package/dist/for-couchdb.cjs +1 -1
  2. package/dist/for-couchdb.cjs.map +1 -1
  3. package/dist/for-couchdb.js +1 -1
  4. package/dist/for-couchdb.js.map +1 -1
  5. package/lib/constants.cjs +2 -0
  6. package/lib/constants.d.ts +2 -0
  7. package/lib/constants.js.map +1 -1
  8. package/lib/decorators.cjs +168 -0
  9. package/lib/decorators.d.ts +11 -0
  10. package/lib/decorators.js.map +1 -0
  11. package/lib/esm/constants.d.ts +2 -0
  12. package/lib/esm/constants.js +2 -0
  13. package/lib/esm/constants.js.map +1 -1
  14. package/lib/esm/decorators.d.ts +11 -0
  15. package/lib/esm/decorators.js +158 -0
  16. package/lib/esm/decorators.js.map +1 -0
  17. package/lib/esm/index.d.ts +3 -1
  18. package/lib/esm/index.js +3 -1
  19. package/lib/esm/index.js.map +1 -1
  20. package/lib/esm/indexes/generator.js +6 -0
  21. package/lib/esm/indexes/generator.js.map +1 -1
  22. package/lib/esm/utils.js +1 -1
  23. package/lib/esm/utils.js.map +1 -1
  24. package/lib/esm/views/generator.d.ts +7 -0
  25. package/lib/esm/views/generator.js +251 -0
  26. package/lib/esm/views/generator.js.map +1 -0
  27. package/lib/esm/views/index.d.ts +2 -0
  28. package/lib/esm/views/index.js +3 -0
  29. package/lib/esm/views/index.js.map +1 -0
  30. package/lib/esm/views/types.d.ts +44 -0
  31. package/lib/esm/views/types.js +2 -0
  32. package/lib/esm/views/types.js.map +1 -0
  33. package/lib/index.cjs +3 -1
  34. package/lib/index.d.ts +3 -1
  35. package/lib/index.js.map +1 -1
  36. package/lib/indexes/generator.cjs +6 -0
  37. package/lib/indexes/generator.js.map +1 -1
  38. package/lib/utils.cjs +1 -1
  39. package/lib/utils.js.map +1 -1
  40. package/lib/views/generator.cjs +256 -0
  41. package/lib/views/generator.d.ts +7 -0
  42. package/lib/views/generator.js.map +1 -0
  43. package/lib/views/index.cjs +19 -0
  44. package/lib/views/index.d.ts +2 -0
  45. package/lib/views/index.js.map +1 -0
  46. package/lib/views/types.cjs +3 -0
  47. package/lib/views/types.d.ts +44 -0
  48. package/lib/views/types.js.map +1 -0
  49. package/package.json +1 -1
@@ -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"};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);
1
+ var e,t;e=this,t=function(e,t,r,a,n,o,i){"use strict";const s=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index",VIEW:"view"},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"};async function u(e,t,r){return e.auth(t,r)}function p(e,t,n,o,i=a.DefaultSeparator){const s=[r.PersistenceKeys.INDEX,t,e];return n&&s.push(...n),o&&s.push(o),s.join(i)}function f(e,t,r,n,o=a.DefaultSeparator){const i={};let s;if(i[c.TABLE]={},i[c.TABLE][d.EQUAL]=t,n){const t={};t[e]=n;const a=(r||[]).map(e=>{const t={};return t[e]=n,t}),o={};o[c.TABLE]=n,s=[t,...a,o]}else s=[e,...r||[],c.TABLE];const l=p(e,t,r,n,o);return{index:{fields:s},ddoc:[l,c.DDOC].join(o),name:l}}function g(e){return e instanceof Date?JSON.stringify(e.toISOString()):e instanceof RegExp?`new RegExp(${JSON.stringify(e.source)}, ${JSON.stringify(e.flags)})`:JSON.stringify(e)}function h(e,t){const{attr1:a,operator:n,comparison:o}=e;if(a instanceof r.Condition){const e=h(a,t);if(n===r.Operator.NOT)return`!(${e})`;const i=h(o,t);return n===r.GroupOperator.AND?`(${e} && ${i})`:n===r.GroupOperator.OR?`(${e} || ${i})`:e}const i=`${t}[${JSON.stringify(a)}]`;switch(n){case r.Operator.EQUAL:return`${i} === ${g(o)}`;case r.Operator.DIFFERENT:return`${i} !== ${g(o)}`;case r.Operator.BIGGER:return`${i} > ${g(o)}`;case r.Operator.BIGGER_EQ:return`${i} >= ${g(o)}`;case r.Operator.SMALLER:return`${i} < ${g(o)}`;case r.Operator.SMALLER_EQ:return`${i} <= ${g(o)}`;case r.Operator.IN:return`(${g(o)}).indexOf(${i}) !== -1`;case r.Operator.REGEXP:return`${o instanceof RegExp?g(o):`new RegExp(${JSON.stringify(o)})`}.test(${i})`;case r.Operator.NOT:return`!(${i} === ${g(o)})`;default:return"true"}}function m(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function y(e,r,a){const n=t.Metadata.get(e,r)||{};return Object.entries(n).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>{const r=t;return{...r,kind:a,attribute:r.attribute||e}}):[])}function O(e){const t={},a=[[c.VIEW,"view"],[r.Operator.GROUP_BY,"groupBy"],[r.Operator.COUNT,"count"],[r.Operator.SUM,"sum"],[r.Operator.MAX,"max"],[r.Operator.MIN,"min"],[r.Operator.DISTINCT,"distinct"]];return e.forEach(e=>{const o=n.Model.tableName(e);a.flatMap(([t,r])=>y(e,t,r)).forEach(e=>{const a=m(e.key,e.attribute,e.compositions);if(!a.length)return;const n=a[0],i=a.slice(1),s=e.directions||[r.OrderDirection.ASC,r.OrderDirection.DSC],c=f(n,o,i);t[c.name||""]=c,s.forEach(e=>{const r=f(n,o,i,e);t[r.name||""]=r})})}),Object.values(t)}function A(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function E(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}function b(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}class v extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=E(t??e);return r&&A(e,r),e};return Array.isArray(e)?e.map((e,a)=>{const n=Array.isArray(t)?t[a]:t;return r(e,n)}):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),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, 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?E(l):void 0,r.get("mergeForUpdate")&&(e=n.Model.merge(l,e,this.class))),s||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 n=await Promise.resolve(e.hasErrors(l,...t));if(n)throw new a.ValidationError(n.toString())}return u&&A(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),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, 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=n.Model.merge(l[t],e,this.class));const a=E(l[t]);return a&&A(e,a),e})),s||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 n;i.silly("ignored validation properties: "+t),n=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(n);if(o)throw new a.ValidationError(o)}return[e,...o,l]}}class w extends a.BaseError{constructor(e){super(w.name,e,404)}}class D 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:s,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:f,warning:g}=u;if(g&&s.warn(g),!this.clazz)throw new r.PagingError("No statement target defined");const h=n.Model.pk(this.clazz),m=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,h))?.type,y=l.fields&&l.fields.length?p:p.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(m,e[h]),void 0,d));return this._bookmark=f,this._currentPage=e,y}}function _(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 x extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=n.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,n=Object.keys(t);if(1===n.length&&-1!==Object.values(l).indexOf(n[0]))switch(n[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,n){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,n)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),i=await this.adapter.raw(e,!0,o),s=n.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,s))?.type;return this.selectSelector?i:i.map(e=>this.processRecord(e,s,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:n}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][_(a)]=n;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[_(r.Operator.NOT)]={},o[_(r.Operator.NOT)][t.attr1]=n;else{const e=this.parseCondition(t).selector,r=this.parseCondition(n).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(_(a),e,r).selector}return{selector:o}}}class N 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 x(this)}Paginator(e,t,r){return new D(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return v}assignMetadata(e,t){return t?(A(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(A(e,t[r]),e)),e}prepare(e,...t){const{log:o}=this.logCtx(t,this.prepare),i=e.segregate(),s=Object.entries(i.model).reduce((t,[r,o])=>{if(void 0===o)return t;const i=n.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(s,r.PersistenceKeys.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[r.PersistenceKeys.METADATA]})),{record:s,id:e[n.Model.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),i=n.Model.tableName(e),s={};return s[c.TABLE]=i,s[c.ID]=this.generateId(i,t),Object.assign(s,r),[e,t,s,...o]}createAllPrefix(e,t,r,...o){const i=n.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:s}=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,...s]}updatePrefix(e,t,o,...i){const s=n.Model.tableName(e),{ctxArgs:d}=this.logCtx(i,this.updatePrefix),l={};l[c.TABLE]=s,l[c.ID]=this.generateId(s,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 s=n.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 n={};n[c.TABLE]=s,n[c.ID]=this.generateId(s,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(n,o[t]),n[c.REV]=i,n});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return N.parseError(e,t)}isReserved(e){return!!e.match(s)}static parseError(e,t){if(e instanceof a.BaseError)return e;let n="";if("string"==typeof e){if(n=e,n.match(/already exist|update conflict/g))return new a.ConflictError(n);if(n.match(/missing|deleted/g))return new a.NotFoundError(n)}else e.code?(n=e.code,t=t||e.message):e.statusCode?(n=e.statusCode,t=t||e.message):n=e.message;switch(n.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return n.toString().match(/No\sindex\sexists/g)?new w(e):new a.InternalError(e);default:return n.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){A(e,t)}static getMetadata(e){return E(e)}static removeMetadata(e){b(e)}}function M(e,r,a){return(n,o)=>{const i=a?.name||((e,r,a)=>{const n=(t.Metadata.get(e.constructor,r)||{})[a]||{};return Object.keys(n).length+1+""})(n,e,o),s=t.Metadata.key(e,o,i),c={...a||{},kind:r,attribute:o};return t.propMetadata(s,c)(n,o)}}o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",x)],N.prototype,"Statement",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],N.prototype,"assignMetadata",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],N.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)],N.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)],N.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)],N.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)],N.prototype,"updateAllPrefix",null);const T="##VERSION##",S="##PACKAGE##";t.Metadata.registerLibrary(S,T),Object.defineProperty(e,"DefaultSeparator",{enumerable:!0,get:()=>a.DefaultSeparator}),e.CouchDBAdapter=N,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=D,e.CouchDBQueryLimit=250,e.CouchDBRepository=v,e.CouchDBStatement=x,e.IndexError=w,e.PACKAGE_NAME=S,e.VERSION=T,e.count=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:"object"==typeof e&&e?n=e:void 0!==e&&(n.value=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.COUNT).define({decorator:e=>M(r.Operator.COUNT,"count",e),args:[n]}).apply()},e.distinct=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.DISTINCT).define({decorator:e=>M(r.Operator.DISTINCT,"distinct",e),args:[n]}).apply()},e.generateIndexDoc=f,e.generateIndexName=p,e.generateIndexes=e=>{const t=((e,t,r,n=a.DefaultSeparator)=>[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(n))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=n.Model.indexes(e);Object.entries(t).forEach(([t,i])=>{const s=Object.keys(i)[0];let{directions:l,compositions:u}=i[s];const p=n.Model.tableName(e);function f(e){const n=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[n]={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:n,ddoc:n,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[n].index.partial_filter_selector=e}}u=u||[],f(),l&&l.forEach(e=>f(e))})}),O(e).forEach(e=>{e.name&&(o[e.name]=e)}),Object.values(o)},e.generateViewIndexes=O,e.generateViews=e=>{const t={},o=[[c.VIEW,"view"],[r.Operator.GROUP_BY,"groupBy"],[r.Operator.COUNT,"count"],[r.Operator.SUM,"sum"],[r.Operator.MAX,"max"],[r.Operator.MIN,"min"],[r.Operator.DISTINCT,"distinct"]];return e.forEach(e=>{const i=n.Model.tableName(e);o.flatMap(([t,r])=>y(e,t,r)).forEach(e=>{const n=e.attribute,o=((e,t,r,n,o=a.DefaultSeparator)=>n.name?n.name:[e,t,r,"view"].join(o).replace(/\s+/g,"_"))(i,n,e.kind,e),s=e.ddoc||((e,t,r=a.DefaultSeparator)=>[e,t,c.DDOC].join(r))(i,o),d="_design/"+s,l=((e,t,a,n)=>{const o=((e,t,a)=>{if(a.map)return"function"==typeof a.map?a.map.toString():a.map;const n=[];if(n.push(`doc[${JSON.stringify(c.TABLE)}] === ${JSON.stringify(e)}`),a.condition)if(a.condition instanceof r.Condition)n.push(h(a.condition,"doc"));else if("string"==typeof a.condition)n.push(a.condition);else{const e=r.Condition.from(a.condition);n.push(h(e,"doc"))}"count"===a.kind&&void 0!==a.value&&n.push(`doc[${JSON.stringify(t)}] === ${g(a.value)}`);const o=((e,t="doc")=>{if(!e)return;if("string"==typeof e)return e;const r=e.field||"roles",a=e.roles||[];if(!a.length)return e.expression;const n=`${t}[${JSON.stringify(r)}] || []`;return"all"===(e.mode||"any")?a.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" && "):a.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" || ")})(a.auth,"doc");o&&n.push(o);const i=n.length?n.join(" && "):"true",s=((e,t,r)=>{const a=m(e,t,r);return 1===a.length?`doc[${JSON.stringify(a[0])}]`:`[${a.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`})(a.key,t,a.compositions),d=((e,t)=>"doc"===e?"doc":e?Array.isArray(e)?`[${e.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`:"string"==typeof e?`doc[${JSON.stringify(e)}]`:g(e):`doc[${JSON.stringify(t)}]`)(a.value??(a.returnDocs&&"sum"!==a.kind?"doc":void 0),t);return`function (doc) {\n if (!(${i})) return;\n emit(${s}, ${d});\n}`})(n,t,a),i=a.reduce?"function"==typeof a.reduce?a.reduce.toString():a.reduce:(e=>{switch(e){case"count":case"groupBy":case"distinct":return"_count";case"sum":return"_sum";case"max":return"function (keys, values, rereduce) {\n var maxVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (maxVal === null || val > maxVal) maxVal = val;\n }\n return maxVal;\n}";case"min":return"function (keys, values, rereduce) {\n var minVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (minVal === null || val < minVal) minVal = val;\n }\n return minVal;\n}";default:return}})(e);return{map:o,reduce:i}})(e.kind,n,e,i);t[d]||(t[d]={_id:d,language:"javascript",views:{}}),t[d].views[o]=l})}),Object.values(t)},e.getMetadata=E,e.groupBy=(e,a)=>{let n={};return Array.isArray(e)?n.compositions=e:"string"==typeof e?n.name=e:e&&(n=e),"string"==typeof a?n.name=a:a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.GROUP_BY).define({decorator:e=>M(r.Operator.GROUP_BY,"groupBy",e),args:[n]}).apply()},e.max=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.MAX).define({decorator:e=>M(r.Operator.MAX,"max",e),args:[n]}).apply()},e.min=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.MIN).define({decorator:e=>M(r.Operator.MIN,"min",e),args:[n]}).apply()},e.reAuth=u,e.removeMetadata=b,e.reservedAttributes=s,e.setMetadata=A,e.sum=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.SUM).define({decorator:e=>M(r.Operator.SUM,"sum",e),args:[n]}).apply()},e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=_,e.view=e=>t.Decoration.for(c.VIEW).define({decorator:e=>M(c.VIEW,"view",e),args:[e]}).apply(),e.viewIndexDefinition=e=>{const t=m(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}},e.wrapDocumentScope=(e,t,r,a)=>{const n=e.use?e.use(t):e;return["insert","get","put","destroy","find","view"].forEach(t=>{const o=n[t];Object.defineProperty(n,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await u(e,r,a),o.call(n,...t))})}),Object.defineProperty(n,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),n}},"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
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/utils.ts","../src/views/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/decorators.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","VIEW","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","async","reAuth","con","user","pass","auth","generateIndexName","attribute","tableName","compositions","order","separator","DefaultSeparator","attr","PersistenceKeys","push","join","generateIndexDoc","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","index","ddoc","toJsLiteral","value","Date","JSON","stringify","toISOString","RegExp","source","flags","conditionToJs","condition","docVar","attr1","operator","comparison","Condition","left","Operator","right","GroupOperator","attrExpr","normalizeKey","key","Array","isArray","collectViewMetadata","model","kind","meta","Metadata","get","Object","entries","flatMap","values","entry","generateViewIndexes","models","indexes","viewKeys","GROUP_BY","COUNT","SUM","MAX","MIN","DISTINCT","forEach","m","Model","length","slice","directions","OrderDirection","ASC","DSC","baseIndex","direction","dirIndex","setMetadata","metadata","defineProperty","METADATA","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","undefined","removeMetadata","CouchDBRepository","Repository","constructor","adapter","super","assignMetadata","target","apply","instance","carrier","create","args","result","this","createAll","results","read","id","readAll","ids","update","updateAll","delete","deleteAll","updatePrefix","ctx","ctxArgs","log","logCtx","OperationKeys","UPDATE","for","ignoreHandlers","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","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","type","DBKeys","pageResults","d","revert","Sequence","parseValue","_currentPage","translateOperators","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","reduce","accum","val","Error","s","orderBySelector","sort","rec","limitSelector","offsetSelector","processRecord","pkAttr","sequenceType","keyArgs","split","rawInput","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","columnName","isReserved","record","transient","createPrefix","generateId","createAllPrefix","records","count","parseError","err","reason","match","code","ConflictError","NotFoundError","message","statusCode","ConnectionError","applyViewDecorator","metaKey","opts","slot","attrBucket","String","nextViewSlot","propMetadata","__decorate","final","prototype","VERSION","PACKAGE_NAME","registerLibrary","NULL","valueOrCondition","options","Decoration","define","decorator","o","conditionOrOptions","n","ind","generate","res","tableFilter","partial_filter_selector","viewDocs","viewName","replace","generateViewName","ddocName","generateDesignDocName","ddocId","viewDef","guards","resolved","from","authGuard","field","roles","expression","listExpr","mode","buildAuthGuard","guard","emitKey","buildEmitKey","emitValue","v","buildEmitValue","returnDocs","buildMapFunction","defaultReduce","normalizeViewMetadata","_id","language","views","compositionsOrOptions","nameOrOptions","concat","dbName","db","use","original","call"],"mappings":"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"}
@@ -1,2 +1,2 @@
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};
1
+ import{Metadata as e,Decoration as t,propMetadata as r}from"@decaf-ts/decoration";import{PersistenceKeys as n,Operator as i,OrderDirection as s,Condition as a,GroupOperator as o,Repository as c,Paginator as l,PagingError as u,Sequence as d,QueryError as p,Statement as f,Adapter as g,ConnectionError as h}from"@decaf-ts/core";import{DefaultSeparator as m,OperationKeys as y,InternalError as A,enforceDBDecorators as E,ValidationError as b,BulkCrudOperationKeys as O,reduceErrorsToPrint as w,BaseError as v,DBKeys as N,prefixMethod as x,ConflictError as T,NotFoundError as $}from"@decaf-ts/db-decorators";export{DefaultSeparator}from"@decaf-ts/db-decorators";import{Model as j}from"@decaf-ts/decorator-validation";import{__decorate as S,__metadata as D}from"tslib";import{final as P}from"@decaf-ts/logging";const M=/^_.*$/g,I={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index",VIEW:"view"},k=250,C={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},R={AND:"$and",OR:"$or"},_={NULL:"null"};async function L(e,t,r){return e.auth(t,r)}function B(e,t,r,n){const i=e.use?e.use(t):e;return["insert","get","put","destroy","find","view"].forEach(t=>{const s=i[t];Object.defineProperty(i,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await L(e,r,n),s.call(i,...t))})}),Object.defineProperty(i,I.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),i}function V(e){return e.match(/^_.*$/g)}function U(e,t,r,i,s=m){const a=[n.INDEX,t,e];return r&&a.push(...r),i&&a.push(i),a.join(s)}function J(e,t,r,n,i=m){const s={};let a;if(s[I.TABLE]={},s[I.TABLE].$eq=t,n){const t={};t[e]=n;const i=(r||[]).map(e=>{const t={};return t[e]=n,t}),s={};s[I.TABLE]=n,a=[t,...i,s]}else a=[e,...r||[],I.TABLE];const o=U(e,t,r,n,i);return{index:{fields:a},ddoc:[o,I.DDOC].join(i),name:o}}function G(e){return e instanceof Date?JSON.stringify(e.toISOString()):e instanceof RegExp?`new RegExp(${JSON.stringify(e.source)}, ${JSON.stringify(e.flags)})`:JSON.stringify(e)}function F(e,t){const{attr1:r,operator:n,comparison:s}=e;if(r instanceof a){const e=F(r,t);if(n===i.NOT)return`!(${e})`;const a=F(s,t);return n===o.AND?`(${e} && ${a})`:n===o.OR?`(${e} || ${a})`:e}const c=`${t}[${JSON.stringify(r)}]`;switch(n){case i.EQUAL:return`${c} === ${G(s)}`;case i.DIFFERENT:return`${c} !== ${G(s)}`;case i.BIGGER:return`${c} > ${G(s)}`;case i.BIGGER_EQ:return`${c} >= ${G(s)}`;case i.SMALLER:return`${c} < ${G(s)}`;case i.SMALLER_EQ:return`${c} <= ${G(s)}`;case i.IN:return`(${G(s)}).indexOf(${c}) !== -1`;case i.REGEXP:return`${s instanceof RegExp?G(s):`new RegExp(${JSON.stringify(s)})`}.test(${c})`;case i.NOT:return`!(${c} === ${G(s)})`;default:return"true"}}function z(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function X(t,r,n){const i=e.get(t,r)||{};return Object.entries(i).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>{const r=t;return{...r,kind:n,attribute:r.attribute||e}}):[])}function q(e){const t={},r=[[I.VIEW,"view"],[i.GROUP_BY,"groupBy"],[i.COUNT,"count"],[i.SUM,"sum"],[i.MAX,"max"],[i.MIN,"min"],[i.DISTINCT,"distinct"]];return e.forEach(e=>{const n=j.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=e.attribute,i=((e,t,r,n,i=m)=>n.name?n.name:[e,t,r,"view"].join(i).replace(/\s+/g,"_"))(n,r,e.kind,e),s=e.ddoc||((e,t,r=m)=>[e,t,I.DDOC].join(r))(n,i),o="_design/"+s,c=((e,t,r,n)=>{const i=((e,t,r)=>{if(r.map)return"function"==typeof r.map?r.map.toString():r.map;const n=[];if(n.push(`doc[${JSON.stringify(I.TABLE)}] === ${JSON.stringify(e)}`),r.condition)if(r.condition instanceof a)n.push(F(r.condition,"doc"));else if("string"==typeof r.condition)n.push(r.condition);else{const e=a.from(r.condition);n.push(F(e,"doc"))}"count"===r.kind&&void 0!==r.value&&n.push(`doc[${JSON.stringify(t)}] === ${G(r.value)}`);const i=((e,t="doc")=>{if(!e)return;if("string"==typeof e)return e;const r=e.field||"roles",n=e.roles||[];if(!n.length)return e.expression;const i=`${t}[${JSON.stringify(r)}] || []`;return"all"===(e.mode||"any")?n.map(e=>`${i}.indexOf(${JSON.stringify(e)}) !== -1`).join(" && "):n.map(e=>`${i}.indexOf(${JSON.stringify(e)}) !== -1`).join(" || ")})(r.auth,"doc");i&&n.push(i);const s=n.length?n.join(" && "):"true",o=((e,t,r)=>{const n=z(e,t,r);return 1===n.length?`doc[${JSON.stringify(n[0])}]`:`[${n.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`})(r.key,t,r.compositions),c=((e,t)=>"doc"===e?"doc":e?Array.isArray(e)?`[${e.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`:"string"==typeof e?`doc[${JSON.stringify(e)}]`:G(e):`doc[${JSON.stringify(t)}]`)(r.value??(r.returnDocs&&"sum"!==r.kind?"doc":void 0),t);return`function (doc) {\n if (!(${s})) return;\n emit(${o}, ${c});\n}`})(n,t,r),s=r.reduce?"function"==typeof r.reduce?r.reduce.toString():r.reduce:(e=>{switch(e){case"count":case"groupBy":case"distinct":return"_count";case"sum":return"_sum";case"max":return"function (keys, values, rereduce) {\n var maxVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (maxVal === null || val > maxVal) maxVal = val;\n }\n return maxVal;\n}";case"min":return"function (keys, values, rereduce) {\n var minVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (minVal === null || val < minVal) minVal = val;\n }\n return minVal;\n}";default:return}})(e);return{map:i,reduce:s}})(e.kind,r,e,n);t[o]||(t[o]={_id:o,language:"javascript",views:{}}),t[o].views[i]=c})}),Object.values(t)}function Q(e){const t={},r=[[I.VIEW,"view"],[i.GROUP_BY,"groupBy"],[i.COUNT,"count"],[i.SUM,"sum"],[i.MAX,"max"],[i.MIN,"min"],[i.DISTINCT,"distinct"]];return e.forEach(e=>{const n=j.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=z(e.key,e.attribute,e.compositions);if(!r.length)return;const i=r[0],a=r.slice(1),o=e.directions||[s.ASC,s.DSC],c=J(i,n,a);t[c.name||""]=c,o.forEach(e=>{const r=J(i,n,a,e);t[r.name||""]=r})})}),Object.values(t)}function W(e){const t=z(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}}function Y(e){const t=((e,t,r,n=m)=>[...e.map(e=>e===I.TABLE?"table":e),...r||[],...t?[t]:[],I.INDEX].join(n))([I.TABLE]),r={};return r[t]={index:{fields:[I.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=j.indexes(e);Object.entries(t).forEach(([t,i])=>{const s=Object.keys(i)[0];let{directions:a,compositions:o}=i[s];const c=j.tableName(e);function l(e){const i=[c,t,...o,n.INDEX].join(m);if(r[i]={index:{fields:[I.TABLE,t,...o].reduce((t,r)=>{if(e){const n={};n[r]=e,t.push(n)}else t.push(r);return t},[])},name:i,ddoc:i,type:"json"},!e){const e={};e[I.TABLE]={},e[I.TABLE].$eq=c,r[i].index.partial_filter_selector=e}}o=o||[],l(),a&&a.forEach(e=>l(e))})}),Q(e).forEach(e=>{e.name&&(r[e.name]=e)}),Object.values(r)}function H(e,t){Object.defineProperty(e,n.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function K(e){const t=Object.getOwnPropertyDescriptor(e,n.METADATA);return t?t.value:void 0}function Z(e){Object.getOwnPropertyDescriptor(e,n.METADATA)&&delete e[n.METADATA]}class ee extends c{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=K(t??e);return r&&H(e,r),e};return Array.isArray(e)?e.map((e,n)=>{const i=Array.isArray(t)?t[n]: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:n,log:i}=(await this.logCtx(t,y.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),a=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, validationSetting: ${a}`);const o=e[this.pk];if(!o)throw new A("No value for the Id is defined under the property "+this.pk);let c,l;if(r.get("applyUpdateValidation")&&(c=await this.read(o),l=c?K(c):void 0,r.get("mergeForUpdate")&&(e=j.merge(c,e,this.class))),s||await E(this,r,e,y.UPDATE,y.ON,c),!a){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const n=await Promise.resolve(e.hasErrors(c,...t));if(n)throw new b(n.toString())}return l&&H(e,l),[e,...n,c]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:n,log:i}=(await this.logCtx(t,O.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),a=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, ignoredValidation: ${a}`);const o=e.map(e=>{const t=e[this.pk];if(!t)throw new A("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=j.merge(c[t],e,this.class));const n=K(c[t]);return n&&H(e,n),e})),s||await Promise.all(e.map((e,t)=>E(this,r,e,y.UPDATE,y.ON,c?c[t]:void 0))),!a){const t=r.get("ignoredValidationProperties")||[];let n;i.silly("ignored validation properties: "+t),n=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 s=w(n);if(s)throw new b(s)}return[e,...n,c]}}class te extends v{constructor(e){super(te.name,e,404)}}class re extends l{constructor(e,t,r,n){super(e,t,r,n)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(t=1,r,...n){const{log:i,ctxArgs:s,ctx:a}=this.adapter.logCtx([r,...n],this.page);if(this.isPreparedStatement())return await this.pagePrepared(t,...s);const o=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)t=this.validatePage(t),o.skip=(t-1)*this.size;else{this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...o,limit:Number.MAX_VALUE},!0,...s)||[];if(this._recordCount=e.length,this._recordCount>0){const e=o?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/e),await this.page(t,...s)}}if(1!==t){if(!this._bookmark)throw new u("No bookmark. Did you start in the first page?");o.bookmark=this._bookmark}const c=await this.adapter.raw(o,!1,...s),{docs:l,bookmark:p,warning:f}=c;if(f&&i.warn(f),!this.clazz)throw new u("No statement target defined");const g=j.pk(this.clazz),h=e.get(this.clazz,e.key(N.ID,g))?.type,m=o.fields&&o.fields.length?l:l.map(e=>this.adapter.revert(e,this.clazz,d.parseValue(h,e[g]),void 0,a));return this._bookmark=p,this._currentPage=t,m}}function ne(e){for(const t of[C,R]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new p("Could not find adapter translation for operator "+e)}class ie extends f{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[I.TABLE]={},t[I.TABLE]=j.tableName(this.fromSelector);const r={selector:t};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(a.and(this.whereCondition,a.attribute(I.TABLE).eq(r.selector[I.TABLE]))).selector,n=Object.keys(t);if(1===n.length&&-1!==Object.values(R).indexOf(n[0]))switch(n[0]){case R.AND:t[R.AND]=[...Object.values(t[R.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 n=r[0];return n===R.AND?e.push(...t[n]):e.push(t),e},[])],r.selector=t;break;case R.OR:{const e={};e[R.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,n])=>{r.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${r.selector[t]} by ${n}`),r.selector[t]=n})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[e,t]=this.orderBySelector,n={};n[e]=t,r.sort.push(n),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,n){if(e[I.ID]){const[,...t]=e[I.ID].split(I.SEPARATOR),i=t.join("_");return this.adapter.revert(e,this.fromSelector,d.parseValue(r,i),void 0,n)}return e}async raw(t,...r){const{ctx:n}=this.logCtx(r,this.raw),i=await this.adapter.raw(t,!0,n),s=j.pk(this.fromSelector),a=e.get(this.fromSelector,e.key(N.ID,s))?.type;return this.selectSelector?i:i.map(e=>this.processRecord(e,s,a,n))}parseCondition(e){const{attr1:t,operator:r,comparison:n}=e;let s={};if(-1===[o.AND,o.OR,i.NOT].indexOf(r))s[t]={},s[t][ne(r)]=n;else if(r===i.NOT)s=this.parseCondition(t).selector,s[ne(i.NOT)]={},s[ne(i.NOT)][t.attr1]=n;else{const e=this.parseCondition(t).selector,i=this.parseCondition(n).selector;s=((e,t,r)=>{const n={selector:{}};return n.selector[e]=[t,r],n})(ne(r),e,i).selector}return{selector:s}}}class se extends g{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;x(this,e,this[t+"Prefix"])})}Statement(){return new ie(this)}Paginator(e,t,r){return new re(this,e,t,r)}async initialize(){const e=g.models(this.flavour);return this.index(...e)}repository(){return ee}assignMetadata(e,t){return t?(H(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(H(e,t[r]),e)),e}prepare(e,...t){const{log:r}=this.logCtx(t,this.prepare),i=e.segregate(),s=Object.entries(i.model).reduce((t,[r,n])=>{if(void 0===n)return t;const i=j.columnName(e.constructor,r);if(this.isReserved(i))throw new A(`Property name ${i} is reserved`);return n=n instanceof Date?new Date(n):n,t[i]=n,t},{});return e[n.METADATA]&&(r.silly("Passing along persistence metadata for "+e[n.METADATA]),Object.defineProperty(s,n.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[n.METADATA]})),{record:s,id:e[j.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...n){const{ctxArgs:i}=this.logCtx(n,this.createPrefix),s=j.tableName(e),a={};return a[I.TABLE]=s,a[I.ID]=this.generateId(s,t),Object.assign(a,r),[e,t,a,...i]}createAllPrefix(e,t,r,...n){const i=j.tableName(e);if(t.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(n,this.createAllPrefix),a=t.map((e,t)=>{const n={};return n[I.TABLE]=i,n[I.ID]=this.generateId(i,e),Object.assign(n,r[t]),n});return[e,t,a,...s]}updatePrefix(e,t,r,...i){const s=j.tableName(e),{ctxArgs:a}=this.logCtx(i,this.updatePrefix),o={};o[I.TABLE]=s,o[I.ID]=this.generateId(s,t);const c=r[n.METADATA];if(!c)throw new A("No revision number found for record with id "+t);return Object.assign(o,r),o[I.REV]=c,[e,t,o,...a]}updateAllPrefix(e,t,r,...i){const s=j.tableName(e);if(t.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:a}=this.logCtx(i,this.updateAllPrefix),o=t.map((e,t)=>{const i={};i[I.TABLE]=s,i[I.ID]=this.generateId(s,e);const a=r[t][n.METADATA];if(!a)throw new A("No revision number found for record with id "+e);return Object.assign(i,r[t]),i[I.REV]=a,i});return[e,t,o,...a]}generateId(e,t){return[e,t].join(I.SEPARATOR)}parseError(e,t){return se.parseError(e,t)}isReserved(e){return!!e.match(M)}static parseError(e,t){if(e instanceof v)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 $(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 $(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new te(e):new A(e);default:return r.toString().match(/ECONNREFUSED/g)?new h(e):new A(e)}}static setMetadata(e,t){H(e,t)}static getMetadata(e){return K(e)}static removeMetadata(e){Z(e)}}function ae(t,n,i){return(s,a)=>{const o=i?.name||((t,r,n)=>{const i=(e.get(t.constructor,r)||{})[n]||{};return Object.keys(i).length+1+""})(s,t,a),c=e.key(t,a,o),l={...i||{},kind:n,attribute:a};return r(c,l)(s,a)}}function oe(e){return t.for(I.VIEW).define({decorator:e=>ae(I.VIEW,"view",e),args:[e]}).apply()}function ce(e,r){let n={};return Array.isArray(e)?n.compositions=e:"string"==typeof e?n.name=e:e&&(n=e),"string"==typeof r?n.name=r:r&&(n=Object.assign({},n,r)),t.for(i.GROUP_BY).define({decorator:e=>ae(i.GROUP_BY,"groupBy",e),args:[n]}).apply()}function le(e,r){let n={};return e instanceof a?n.condition=e:"object"==typeof e&&e?n=e:void 0!==e&&(n.value=e),r&&(n=Object.assign({},n,r)),t.for(i.COUNT).define({decorator:e=>ae(i.COUNT,"count",e),args:[n]}).apply()}function ue(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.SUM).define({decorator:e=>ae(i.SUM,"sum",e),args:[n]}).apply()}function de(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.MAX).define({decorator:e=>ae(i.MAX,"max",e),args:[n]}).apply()}function pe(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.MIN).define({decorator:e=>ae(i.MIN,"min",e),args:[n]}).apply()}function fe(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.DISTINCT).define({decorator:e=>ae(i.DISTINCT,"distinct",e),args:[n]}).apply()}S([P(),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",ie)],se.prototype,"Statement",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,String]),D("design:returntype",Object)],se.prototype,"assignMetadata",null),S([P(),D("design:type",Function),D("design:paramtypes",[Array,Array]),D("design:returntype",Array)],se.prototype,"assignMultipleMetadata",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",Array)],se.prototype,"createPrefix",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],se.prototype,"createAllPrefix",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",void 0)],se.prototype,"updatePrefix",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],se.prototype,"updateAllPrefix",null);const ge="##VERSION##",he="##PACKAGE##";e.registerLibrary(he,ge);export{se as CouchDBAdapter,_ as CouchDBConst,R as CouchDBGroupOperator,I as CouchDBKeys,C as CouchDBOperator,re as CouchDBPaginator,k as CouchDBQueryLimit,ee as CouchDBRepository,ie as CouchDBStatement,te as IndexError,he as PACKAGE_NAME,ge as VERSION,le as count,fe as distinct,J as generateIndexDoc,U as generateIndexName,Y as generateIndexes,Q as generateViewIndexes,q as generateViews,K as getMetadata,ce as groupBy,de as max,pe as min,L as reAuth,Z as removeMetadata,M as reservedAttributes,H as setMetadata,ue as sum,V as testReservedAttributes,ne as translateOperators,oe as view,W as viewIndexDefinition,B as wrapDocumentScope};
2
2
  //# sourceMappingURL=for-couchdb.js.map
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/utils.ts","../src/views/generator.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/decorators.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","VIEW","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","forEach","k","original","Object","defineProperty","enumerable","configurable","value","args","call","writable","testReservedAttributes","attr","match","generateIndexName","attribute","tableName","compositions","order","separator","DefaultSeparator","PersistenceKeys","push","join","generateIndexDoc","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","index","ddoc","toJsLiteral","Date","JSON","stringify","toISOString","RegExp","source","flags","conditionToJs","condition","docVar","attr1","operator","comparison","Condition","left","Operator","right","GroupOperator","attrExpr","normalizeKey","key","Array","isArray","collectViewMetadata","model","kind","meta","Metadata","get","entries","flatMap","values","entry","generateViews","models","viewDocs","viewKeys","GROUP_BY","COUNT","SUM","MAX","MIN","DISTINCT","m","Model","viewName","replace","generateViewName","ddocName","generateDesignDocName","ddocId","viewDef","toString","guards","resolved","from","undefined","authGuard","field","roles","length","expression","listExpr","mode","buildAuthGuard","guard","emitKey","keys","buildEmitKey","emitValue","v","buildEmitValue","returnDocs","buildMapFunction","reduce","defaultReduce","normalizeViewMetadata","_id","language","views","generateViewIndexes","indexes","slice","directions","OrderDirection","ASC","DSC","baseIndex","direction","dirIndex","viewIndexDefinition","concat","generateIndexes","n","type","ind","generate","sort","accum","el","res","tableFilter","partial_filter_selector","d","setMetadata","metadata","METADATA","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","CouchDBRepository","Repository","constructor","adapter","super","assignMetadata","target","apply","instance","carrier","create","result","this","createAll","results","read","id","readAll","ids","update","updateAll","delete","deleteAll","updatePrefix","ctx","ctxArgs","log","logCtx","OperationKeys","UPDATE","for","ignoreHandlers","ignoreValidate","silly","pk","InternalError","oldModel","oldMetadata","merge","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","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","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","DBKeys","pageResults","revert","Sequence","parseValue","_currentPage","translateOperators","operators","find","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","val","Error","s","orderBySelector","rec","limitSelector","offsetSelector","processRecord","pkAttr","sequenceType","keyArgs","split","rawInput","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","columnName","isReserved","record","transient","createPrefix","generateId","createAllPrefix","records","count","parseError","err","reason","code","ConflictError","NotFoundError","message","statusCode","ConnectionError","applyViewDecorator","metaKey","opts","slot","attrBucket","String","nextViewSlot","propMetadata","view","Decoration","define","decorator","o","groupBy","compositionsOrOptions","nameOrOptions","valueOrCondition","options","sum","conditionOrOptions","max","min","distinct","__decorate","final","prototype","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
package/lib/constants.cjs CHANGED
@@ -40,5 +40,7 @@ exports.CouchDBKeys = {
40
40
  DDOC: "ddoc",
41
41
  NATIVE: "__native",
42
42
  INDEX: "index",
43
+ /** @description Key for CouchDB view metadata */
44
+ VIEW: "view",
43
45
  };
44
46
  //# sourceMappingURL=constants.js.map
@@ -37,4 +37,6 @@ export declare const CouchDBKeys: {
37
37
  DDOC: string;
38
38
  NATIVE: string;
39
39
  INDEX: string;
40
+ /** @description Key for CouchDB view metadata */
41
+ VIEW: string;
40
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACU,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,IAAI;IACf,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,OAAO;CACf,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACU,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,IAAI;IACf,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,OAAO;IAEd,iDAAiD;IACjD,IAAI,EAAE,MAAM;CACb,CAAC"}