@decaf-ts/for-couchdb 0.4.15 → 0.4.17
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 +1 -1
- package/lib/esm/query/Paginator.js +1 -1
- package/lib/esm/repository.d.ts +2 -2
- package/lib/esm/repository.js +44 -39
- package/lib/esm/repository.js.map +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/query/Paginator.cjs +1 -1
- package/lib/query/Paginator.d.ts +1 -1
- package/lib/repository.cjs +43 -38
- package/lib/repository.d.ts +2 -2
- package/lib/repository.js.map +1 -1
- package/lib/utils.cjs +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +3 -2
- package/workdocs/assets/slogans.json +402 -0
package/dist/for-couchdb.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,a,s,o,n){"use strict";const i=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,...o){const{ctxArgs:n,ctx:i}=this.adapter.logCtx(o,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...n);const c=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...c,limit:Number.MAX_VALUE},!0,i)||[];if(this._recordCount=e.length,this._recordCount>0){const e=c?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/e)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new r.PagingError("No bookmark. Did you start in the first page?");c.bookmark=this._bookmark}const d=await this.adapter.raw(c,!1,i),{docs:l,bookmark:u,warning:p}=d;if(p&&this.log.for(this.page).warn(p),!this.clazz)throw new r.PagingError("No statement target defined");const h=s.Model.pk(this.clazz),g=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,h))?.type,f=c.fields&&c.fields.length?l:l.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(g,e[h]),void 0,i));return this._bookmark=u,this._currentPage=e,f}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e},[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map(([e,t])=>{const r={};return r[e]=t,r})],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r})}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),n=await this.adapter.raw(e,!0,o),i=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,i))?.type;return this.selectSelector?n:n.map(e=>this.processRecord(e,i,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])})}Statement(){return new g(this)}Paginator(e,t,r){return new p(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(f.setMetadata(e,t[r]),e)),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),n=s.Model.tableName(e),i={};return i[c.TABLE]=n,i[c.ID]=this.generateId(n,t),Object.assign(i,r),[e,t,i,...o]}createAllPrefix(e,t,r,...o){const n=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(o,this.createAllPrefix),d=t.map((e,t)=>{const a={};return a[c.TABLE]=n,a[c.ID]=this.generateId(n,e),Object.assign(a,r[t]),a});return[e,t,d,...i]}updatePrefix(e,t,o,...n){const i=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(n,this.updatePrefix),l={};l[c.TABLE]=i,l[c.ID]=this.generateId(i,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...n){const i=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(n,this.updateAllPrefix),l=t.map((e,t)=>{const s={};s[c.TABLE]=i,s[c.ID]=this.generateId(i,e);const n=o[t][r.PersistenceKeys.METADATA];if(!n)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=n,s});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(i)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context.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 y(e,t,r){return e.auth(t,r)}function A(e,t,s,o,n=a.DefaultSeparator){const i=[r.PersistenceKeys.INDEX,t,e];return s&&i.push(...s),o&&i.push(o),i.join(n)}const E="##VERSION##",_="##PACKAGE##";t.Metadata.registerLibrary(_,E),e.CouchDBAdapter=f,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=p,e.CouchDBQueryLimit=250,e.CouchDBRepository=m,e.CouchDBStatement=g,e.IndexError=u,e.PACKAGE_NAME=_,e.VERSION=E,e.generateIndexDoc=(e,t,r,s,o=a.DefaultSeparator)=>{const n={};let i;if(n[c.TABLE]={},n[c.TABLE][d.EQUAL]=t,s){const t={};t[e]=s;const a=(r||[]).map(e=>{const t={};return t[e]=s,t}),o={};o[c.TABLE]=s,i=[t,...a,o]}else i=[e,...r||[],c.TABLE];const l=A(e,t,r,s,o);return{index:{fields:i},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=A,e.generateIndexes=e=>{const t=((e,t,r,s=a.DefaultSeparator)=>[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(s))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=s.Model.indexes(e);Object.entries(t).forEach(([t,n])=>{const i=Object.keys(n)[0];let{directions:l,compositions:u}=n[i];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t},[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach(e=>h(e))})}),Object.values(o)},e.reAuth=y,e.reservedAttributes=i,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use(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 y(e,r,a),o.call(s,...t))})}),Object.defineProperty(s,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),s}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,a,s,o,n){"use strict";const i=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,...o){const{ctxArgs:n,ctx:i}=this.adapter.logCtx(o,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...n);const c=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...c,limit:Number.MAX_VALUE},!0,i)||[];if(this._recordCount=e.length,this._recordCount>0){const e=c?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/e)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new r.PagingError("No bookmark. Did you start in the first page?");c.bookmark=this._bookmark}const d=await this.adapter.raw(c,!1,i),{docs:l,bookmark:u,warning:p}=d;if(p&&this.log.for(this.page).warn(p),!this.clazz)throw new r.PagingError("No statement target defined");const h=s.Model.pk(this.clazz),g=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,h))?.type,f=c.fields&&c.fields.length?l:l.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(g,e[h]),void 0,i));return this._bookmark=u,this._currentPage=e,f}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e},[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map(([e,t])=>{const r={};return r[e]=t,r})],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r})}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),n=await this.adapter.raw(e,!0,o),i=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,i))?.type;return this.selectSelector?n:n.map(e=>this.processRecord(e,i,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])})}Statement(){return new g(this)}Paginator(e,t,r){return new p(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(f.setMetadata(e,t[r]),e)),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),n=s.Model.tableName(e),i={};return i[c.TABLE]=n,i[c.ID]=this.generateId(n,t),Object.assign(i,r),[e,t,i,...o]}createAllPrefix(e,t,r,...o){const n=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(o,this.createAllPrefix),d=t.map((e,t)=>{const a={};return a[c.TABLE]=n,a[c.ID]=this.generateId(n,e),Object.assign(a,r[t]),a});return[e,t,d,...i]}updatePrefix(e,t,o,...n){const i=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(n,this.updatePrefix),l={};l[c.TABLE]=i,l[c.ID]=this.generateId(i,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...n){const i=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(n,this.updateAllPrefix),l=t.map((e,t)=>{const s={};s[c.TABLE]=i,s[c.ID]=this.generateId(i,e);const n=o[t][r.PersistenceKeys.METADATA];if(!n)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=n,s});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(i)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context,n=o.get("ignoreHandlers"),i=o.get("ignoreValidation"),c=e[this.pk];if(!c)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);let d,l;if(o.get("applyUpdateValidation")&&(d=await this.read(c),l=d?f.getMetadata(d):void 0,o.get("mergeForUpdate")&&(e=s.Model.merge(d,e,this.class))),n||await a.enforceDBDecorators(this,o,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,d),!i){const t=await Promise.resolve(e.hasErrors(d,...s.Model.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(t)throw new a.ValidationError(t.toString())}return l&&f.setMetadata(e,l),[e,...r.args,d]}async updateAllPrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context,n=o.get("ignoreHandlers"),i=o.get("ignoreValidation"),c=e.map(e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t});let d;if(o.get("applyUpdateValidation")&&(d=await this.readAll(c,o),o.get("mergeForUpdate")&&(e=e.map((e,t)=>{e=s.Model.merge(d[t],e,this.class);const r=f.getMetadata(d[t]);return r&&f.setMetadata(e,r),e})),n||await Promise.all(e.map((e,t)=>a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,d?d[t]:void 0))),!i)){const t=o.get("ignoredValidationProperties")||[];let r;r=o.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(d[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const s=a.reduceErrorsToPrint(r);if(s)throw new a.ValidationError(s)}return[e,...r.args,d]}}async function y(e,t,r){return e.auth(t,r)}function A(e,t,s,o,n=a.DefaultSeparator){const i=[r.PersistenceKeys.INDEX,t,e];return s&&i.push(...s),o&&i.push(o),i.join(n)}const E="##VERSION##",_="##PACKAGE##";t.Metadata.registerLibrary(_,E),e.CouchDBAdapter=f,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=p,e.CouchDBQueryLimit=250,e.CouchDBRepository=m,e.CouchDBStatement=g,e.IndexError=u,e.PACKAGE_NAME=_,e.VERSION=E,e.generateIndexDoc=(e,t,r,s,o=a.DefaultSeparator)=>{const n={};let i;if(n[c.TABLE]={},n[c.TABLE][d.EQUAL]=t,s){const t={};t[e]=s;const a=(r||[]).map(e=>{const t={};return t[e]=s,t}),o={};o[c.TABLE]=s,i=[t,...a,o]}else i=[e,...r||[],c.TABLE];const l=A(e,t,r,s,o);return{index:{fields:i},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=A,e.generateIndexes=e=>{const t=((e,t,r,s=a.DefaultSeparator)=>[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(s))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=s.Model.indexes(e);Object.entries(t).forEach(([t,n])=>{const i=Object.keys(n)[0];let{directions:l,compositions:u}=n[i];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t},[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach(e=>h(e))})}),Object.values(o)},e.reAuth=y,e.reservedAttributes=i,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use?e.use(t):e;return["insert","get","put","destroy","find"].forEach(t=>{const o=s[t];Object.defineProperty(s,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await y(e,r,a),o.call(s,...t))})}),Object.defineProperty(s,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),s}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
2
2
|
//# sourceMappingURL=for-couchdb.cjs.map
|
package/dist/for-couchdb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","Number","MAX_VALUE","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","Model","pk","type","Metadata","get","key","DBKeys","fields","map","d","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","split","join","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","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":"sDAMa,MAAAA,EAAqB,SAyBrBC,EAAc,CACzBC,UAAW,KACXC,GAAI,MACJC,IAAK,OACLC,QAAS,WACTC,MAAO,UACPC,SAAU,aACVC,KAAM,OACNC,OAAQ,WACRC,MAAO,SCbIC,EAAiD,CAC5DC,MAAO,MACPC,UAAW,MACXC,OAAQ,MACRC,UAAW,OACXC,QAAS,MACTC,WAAY,OAEZC,IAAK,OACLC,GAAI,MAEJC,OAAQ,UAaGC,EAAsD,CACjEC,IAAK,OACLC,GAAI,OClCA,MAAOC,UAAmBC,EAAAA,UAC9B,WAAAC,CAAYC,GACVC,MAAMJ,EAAWK,KAAMF,EAAK,IAC7B,ECYG,MAAOG,UAA6CC,EAAAA,UAaxD,WAAAL,CACEM,EACAC,EACAC,EACAC,GAEAP,MAAMI,EAASC,EAAOC,EAAMC,EAC7B,CAQS,OAAAC,CAAQC,GAChB,MAAMJ,EAAoBK,OAAOC,OAAO,CAAE,EAAEF,GAK5C,OAJIJ,EAAMO,QAAOC,KAAKD,MAAQP,EAAMO,OAEpCP,EAAMO,MAAQC,KAAKP,KAEZD,CACR,CA6DQ,UAAMS,CACbA,EAAe,KACZC,GAEH,MAAMC,QAAEA,EAAOC,IAAEA,GAAQJ,KAAKT,QAAgB,OAAEW,EAAMF,KAAKC,MAC3D,GAAID,KAAKK,sBAAuB,OAAOL,KAAKM,aAAaL,KAASE,GAClE,MAAMI,EAAYV,OAAOC,OAAO,CAAA,EAAIE,KAAKO,WAEzC,IAAKP,KAAKQ,eAAiBR,KAAKS,YAAa,CAC3CT,KAAKS,YAAcT,KAAKQ,aAAe,EACvC,MAAME,QACGV,KAAKT,QAAQoB,IAClB,IAAKJ,EAAWR,MAAOa,OAAOC,YAC9B,EACAT,IACI,GAER,GADAJ,KAAKQ,aAAeE,EAAQI,OACxBd,KAAKQ,aAAe,EAAG,CACzB,MAAMf,EAAOc,GAAWR,OAASC,KAAKP,KACtCO,KAAKS,YAAcM,KAAKC,KAAKhB,KAAKQ,aAAef,EAClD,CACF,CAID,GAFAO,KAAKiB,aAAahB,GAEL,IAATA,EAAY,CACd,IAAKD,KAAKkB,UACR,MAAM,IAAIC,EAAAA,YAAY,iDACxBZ,EAAoB,SAAIP,KAAKkB,SAC9B,CACD,MAAME,QAAuCpB,KAAKT,QAAQoB,IACxDJ,GACA,EACAH,IAGIiB,KAAEA,EAAIC,SAAEA,EAAQC,QAAEA,GAAYH,EAEpC,GADIG,GAASvB,KAAKwB,IAAIC,IAAIzB,KAAKC,MAAMyB,KAAKH,IACrCvB,KAAKN,MAAO,MAAM,IAAIyB,EAAAA,YAAY,+BACvC,MAAMQ,EAAKC,EAAKA,MAACC,GAAG7B,KAAKN,OACnBoC,EAAOC,EAAQA,SAACC,IACpBhC,KAAKN,MACLqC,EAAAA,SAASE,IAAIC,EAAMA,OAACxE,GAAIiE,KACvBG,KACGpB,EACJH,EAAU4B,QAAU5B,EAAU4B,OAAOrB,OACjCO,EACAA,EAAKe,IAAKC,GACDrC,KAAKT,QAAQ+C,OAClBD,EACArC,KAAKN,MACL6C,EAAAA,SAASC,WAAWV,EAAMO,EAAEV,SAC5Bc,EACArC,IAKV,OAFAJ,KAAKkB,UAAYI,EACjBtB,KAAK0C,aAAezC,EACbS,CACR,ECzJG,SAAUiC,EACdC,GAEA,IAAK,MAAMC,IAAa,CAAC3E,EAAiBU,GAAuB,CAC/D,MAAMkE,EAAKjD,OAAOkD,KAAKF,GAAWG,KAAMC,GAAMA,IAAML,GACpD,GAAIE,EAAI,OAAOD,EAAUC,EAC1B,CACD,MAAM,IAAII,EAAAA,WACR,mDAAmDN,EAEvD,CCJM,MAAOO,UAIHC,EAAAA,UACR,WAAAnE,CAAYM,GACVJ,MAAMI,EACP,CA0DS,KAAA8D,GACR,MAAM7B,EAAMxB,KAAKwB,IAAIC,IAAIzB,KAAKqD,OACxBC,EAA2B,CAAA,EACjCA,EAAU9F,EAAYK,OAAS,GAC/ByF,EAAU9F,EAAYK,OAAS+D,EAAKA,MAAC2B,UAAUvD,KAAKwD,cACpD,MAAMhE,EAAoB,CAAEiE,SAAUH,GAGtC,GAFItD,KAAK0D,iBAAgBlE,EAAM2C,OAASnC,KAAK0D,gBAEzC1D,KAAK2D,eAAgB,CACvB,MAAMC,EAA2B5D,KAAK6D,eACpCC,EAAAA,UAAUC,IACR/D,KAAK2D,eACLG,EAAAA,UAAUE,UAAaxG,EAAYK,OAAkBoG,GACnDzE,EAAMiE,SAASjG,EAAYK,UAG/B4F,SACIS,EAAerE,OAAOkD,KAAKa,GACjC,GAC0B,IAAxBM,EAAapD,SACqD,IAAlEjB,OAAOsE,OAAOvF,GAAsBwF,QAAQF,EAAa,IAEzD,OAAQA,EAAa,IACnB,KAAKtF,EAAqBC,IACxB+E,EAAUhF,EAAqBC,KAAO,IACjCgB,OAAOsE,OACRP,EAAUhF,EAAqBC,MAC/BwF,OAAO,CAACC,EAAwBC,KAChC,MAAMxB,EAAOlD,OAAOkD,KAAKwB,GACzB,GAAoB,IAAhBxB,EAAKjC,OACP,MAAU0D,MACR,kDAEJ,MAAMvB,EAAIF,EAAK,GAIf,OAHIE,IAAMrE,EAAqBC,IAC7ByF,EAAMG,QAASF,EAAItB,IAChBqB,EAAMG,KAAKF,GACTD,GACN,KAEL9E,EAAMiE,SAAWG,EACjB,MACF,KAAKhF,EAAqBE,GAAI,CAC5B,MAAM4F,EAAsB,CAAA,EAC5BA,EAAE9F,EAAqBC,KAAO,CAC5B+E,KACG/D,OAAO8E,QAAQnF,EAAMiE,UAAUrB,IAAI,EAAEH,EAAKsC,MAC3C,MAAMK,EAA2B,CAAA,EAEjC,OADAA,EAAO3C,GAAOsC,EACPK,KAGXpF,EAAMiE,SAAWiB,EACjB,KACD,CACD,QACE,MAAUF,MAAM,kCAGpB3E,OAAO8E,QAAQf,GAAWiB,QAAQ,EAAE5C,EAAKsC,MACnC/E,EAAMiE,SAASxB,IACjBT,EAAIE,KACF,KAAKO,4CAA8CzC,EAAMiE,SAASxB,SAAWsC,KAEjF/E,EAAMiE,SAASxB,GAAOsC,GAG3B,CAED,GAAIvE,KAAK8E,gBAAiB,CACxBtF,EAAMuF,KAAOvF,EAAMuF,MAAQ,GAC3BvF,EAAMiE,SAAWjE,EAAMiE,UAAa,CAAA,EACpC,MAAOA,EAAUuB,GAAShF,KAAK8E,gBAIzBG,EAAW,CAAA,EACjBA,EAAIxB,GAAYuB,EACfxF,EAAMuF,KAAeN,KAAKQ,GACtBzF,EAAMiE,SAASA,KAClBjE,EAAMiE,SAASA,GAAY,GAC1BjE,EAAMiE,SAASA,GAA4BvF,EAAgBG,QAC1D,KAEL,CAaD,OAXI2B,KAAKkF,cACP1F,EAAMO,MAAQC,KAAKkF,eAEnB1D,EAAIE,KACF,iEAEFlC,EAAMO,MJ/LqB,KIkMzBC,KAAKmF,iBAAgB3F,EAAM4F,KAAOpF,KAAKmF,gBAEpC3F,CACR,CAUS,aAAA6F,CACRC,EACAC,EACAC,EACApF,GAEA,GAAIkF,EAAE9H,EAAYE,IAAK,CACrB,MAAS,IAAG+H,GAAWH,EAAE9H,EAAYE,IAAIgI,MAAMlI,EAAYC,WAErDkE,EAAK8D,EAAQE,KAAK,KACxB,OAAO3F,KAAKT,QAAQ+C,OAClBgD,EACAtF,KAAKwD,aACLjB,WAASC,WAAWgD,EAAc7D,QAClCc,EACArC,EAEH,CACD,OAAOkF,CACR,CASQ,SAAM3E,CAAOiF,KAAyB1F,GAC7C,MAAME,IAAEA,GAAQJ,KAAK6F,OAAO3F,EAAMF,KAAKW,KAEjCD,QAAuBV,KAAKT,QAAQoB,IAAIiF,GAAU,EAAMxF,GAExDmF,EAAS3D,EAAKA,MAACC,GAAG7B,KAAKwD,cACvB1B,EAAOC,EAAQA,SAACC,IACpBhC,KAAKwD,aACLzB,EAAAA,SAASE,IAAIC,EAAMA,OAACxE,GAAI6H,KACvBzD,KAEH,OAAK9B,KAAK0D,eAEHhD,EADEA,EAAQ0B,IAAKkD,GAAMtF,KAAKqF,cAAcC,EAAGC,EAAQzD,EAAM1B,GAEjE,CAqCS,cAAAyD,CAAeD,GAmBvB,MAAMkC,MAAEA,EAAKlD,SAAEA,EAAQmD,WAAEA,GAAenC,EAMxC,IAAIoC,EAAoB,CAAA,EACxB,IAGS,IAFP,CAACC,EAAaA,cAACpH,IAAKoH,EAAAA,cAAcnH,GAAIoH,EAAAA,SAASzH,KAAK2F,QAClDxB,GAGFoD,EAAGF,GAAmB,GACrBE,EAAGF,GAAmCnD,EAAmBC,IACxDmD,OACG,GAAInD,IAAasD,EAAQA,SAACzH,IAC/BuH,EAAKhG,KAAK6D,eAAeiC,GAAuBrC,SAChDuC,EAAGrD,EAAmBuD,EAAAA,SAASzH,MAAQ,CAAA,EACtCuH,EAAGrD,EAAmBuD,EAAAA,SAASzH,MAC7BqH,EAAuCA,OACtCC,MACC,CACL,MAAMI,EAAWnG,KAAK6D,eAAeiC,GAAuBrC,SACtD2C,EAAWpG,KAAK6D,eAAekC,GAA4BtC,SACjEuC,EAlCF,EACEA,EACAK,EACAC,KAEA,MAAM1B,EAAqB,CAAEnB,SAAU,CAAA,GAEvC,OADAmB,EAAOnB,SAASuC,GAAM,CAACK,EAAMC,GACtB1B,CACR,EA0BM2B,CAAM5D,EAAmBC,GAAWuD,EAAKC,GAAK3C,QACpD,CAED,MAAO,CAAEA,SAAUuC,EACpB,EChRG,MAAgBQ,UAIZC,EAAAA,QACR,WAAAxH,CAAsByH,EAAaC,EAAiBC,GAClDzH,MAAMuH,EAAOC,EAASC,GACtB,CAAC5G,KAAK6G,OAAQ7G,KAAK8G,UAAW9G,KAAK+G,OAAQ/G,KAAKgH,WAAWnC,QAASoC,IAClE,MAAM7H,EAAO6H,EAAE7H,KACf8H,EAAYA,aAAClH,KAAMiH,EAAIjH,KAAaZ,EAAO,YAE9C,CASD,SAAAgE,GAKE,OAAO,IAAID,EAAiBnD,KAC7B,CAEQ,SAAAV,CACPE,EACAC,EACAC,GAEA,OAAO,IAAIL,EAAiBW,KAAMR,EAAOC,EAAMC,EAChD,CAOQ,gBAAMyH,GACb,MAAMC,EAAgBX,EAAOA,QAACY,OAAOrH,KAAK2G,SAC1C,OAAO3G,KAAKsH,SAASF,EACtB,CAEQ,UAAAG,GAGP,OAAOC,CACR,CAoCS,cAAAC,CACRC,EACAC,GAEA,OAAKA,GACLnB,EAAeoB,YAAYF,EAAcC,GAClCD,GAFUA,CAGlB,CAUS,sBAAAG,CACRR,EACAS,GAMA,OAJAT,EAAOxC,QAAQ,CAACoC,EAAGc,KACjBvB,EAAeoB,YAAYX,EAAUa,EAAKC,IACnCd,IAEFI,CACR,CAWS,YAAAW,CACRtI,EACAiC,EACA+F,KACGxH,GAEH,MAAMC,QAAEA,GAAYH,KAAK6F,OAAO3F,EAAMF,KAAKgI,cACrCzE,EAAY3B,EAAAA,MAAM2B,UAAU7D,GAC5BuI,EAA8B,CAAA,EAIpC,OAHAA,EAAOzK,EAAYK,OAAS0F,EAC5B0E,EAAOzK,EAAYE,IAAMsC,KAAKkI,WAAW3E,EAAW5B,GACpD9B,OAAOC,OAAOmI,EAAQP,GACf,CAAChI,EAAOiC,EAAIsG,KAAW9H,EAC/B,CA4BS,eAAAgI,CACRzI,EACA0I,EACAf,KACGnH,GAEH,MAAMqD,EAAY3B,EAAAA,MAAM2B,UAAU7D,GAClC,GAAI0I,EAAItH,SAAWuG,EAAOvG,OACxB,MAAM,IAAIuH,EAAAA,cAAc,4CAC1B,MAAMlI,QAAEA,GAAYH,KAAK6F,OAAO3F,EAAMF,KAAKmI,iBACrCG,EAAUF,EAAIhG,IAAI,CAACT,EAAI4G,KAC3B,MAAMN,EAA8B,CAAA,EAIpC,OAHAA,EAAOzK,EAAYK,OAAS0F,EAC5B0E,EAAOzK,EAAYE,IAAMsC,KAAKkI,WAAW3E,EAAW5B,GACpD9B,OAAOC,OAAOmI,EAAQZ,EAAOkB,IACtBN,IAET,MAAO,CAACvI,EAAO0I,EAAKE,KAAYnI,EACjC,CA2BD,YAAAqI,CACE9I,EACAiC,EACA+F,KACGxH,GAEH,MAAMqD,EAAY3B,EAAAA,MAAM2B,UAAU7D,IAC5BS,QAAEA,GAAYH,KAAK6F,OAAO3F,EAAMF,KAAKwI,cACrCP,EAA8B,CAAA,EACpCA,EAAOzK,EAAYK,OAAS0F,EAC5B0E,EAAOzK,EAAYE,IAAMsC,KAAKkI,WAAW3E,EAAW5B,GACpD,MAAMgG,EAAMD,EAAMe,EAAeA,gBAACC,UAClC,IAAKf,EACH,MAAM,IAAIU,EAAAA,cACR,+CAA+C1G,GAInD,OAFA9B,OAAOC,OAAOmI,EAAQP,GACtBO,EAAOzK,EAAYG,KAAOgK,EACnB,CAACjI,EAAOiC,EAAIsG,KAAW9H,EAC/B,CA4BS,eAAAwI,CACRjJ,EACA0I,EACAf,KACGnH,GAEH,MAAMqD,EAAY3B,EAAAA,MAAM2B,UAAU7D,GAClC,GAAI0I,EAAItH,SAAWuG,EAAOvG,OACxB,MAAM,IAAIuH,EAAAA,cAAc,4CAC1B,MAAMlI,QAAEA,GAAYH,KAAK6F,OAAO3F,EAAMF,KAAK2I,iBACrCL,EAAUF,EAAIhG,IAAI,CAACT,EAAI4G,KAC3B,MAAMN,EAA8B,CAAA,EACpCA,EAAOzK,EAAYK,OAAS0F,EAC5B0E,EAAOzK,EAAYE,IAAMsC,KAAKkI,WAAW3E,EAAW5B,GACpD,MAAMgG,EAAMN,EAAOkB,GAAOE,EAAeA,gBAACC,UAC1C,IAAKf,EACH,MAAM,IAAIU,EAAAA,cACR,+CAA+C1G,GAInD,OAFA9B,OAAOC,OAAOmI,EAAQZ,EAAOkB,IAC7BN,EAAOzK,EAAYG,KAAOgK,EACnBM,IAET,MAAO,CAACvI,EAAO0I,EAAKE,KAAYnI,EACjC,CAuBS,UAAA+H,CAAW3E,EAAmB5B,GACtC,MAAO,CAAC4B,EAAW5B,GAAIgE,KAAKnI,EAAYC,UACzC,CASD,UAAAmL,CAAgCC,EAAqBC,GACnD,OAAOtC,EAAeoC,WAAWC,EAAKC,EACvC,CAQkB,UAAAC,CAAWC,GAC5B,QAASA,EAAKC,MAAM1L,EACrB,CA0DS,iBAAOqL,CACfC,EACAC,GAEA,GAAID,aAAe7J,EAASA,UAAE,OAAO6J,EACrC,IAAIK,EAAe,GACnB,GAAmB,iBAARL,EAAkB,CAE3B,GADAK,EAAOL,EACHK,EAAKD,MAAM,kCACb,OAAO,IAAIE,EAAAA,cAAcD,GAC3B,GAAIA,EAAKD,MAAM,oBAAqB,OAAO,IAAIG,EAAAA,cAAcF,EAC9D,MAAWL,EAAYK,MACtBA,EAAQL,EAAYK,KACpBJ,EAASA,GAAUD,EAAIQ,SACbR,EAAYS,YACtBJ,EAAQL,EAAYS,WACpBR,EAASA,GAAUD,EAAIQ,SAEvBH,EAAOL,EAAIQ,QAGb,OAAQH,EAAKK,YACX,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAO,IAAIJ,EAAAA,cAAcL,GAC3B,IAAK,MACH,OAAO,IAAIM,EAAAA,cAAcN,GAC3B,IAAK,MACH,OAAII,EAAKK,WAAWN,MAAM,sBACjB,IAAIlK,EAAW8J,GACjB,IAAIR,EAAAA,cAAcQ,GAC3B,QACE,OAAIK,EAAKK,WAAWN,MAAM,iBACjB,IAAIO,EAAAA,gBAAgBX,GACtB,IAAIR,EAAAA,cAAcQ,GAE9B,CAUD,kBAAOjB,CAA6BF,EAAU+B,GAC5C5J,OAAO6J,eAAehC,EAAOe,EAAAA,gBAAgBC,SAAU,CACrDiB,YAAY,EACZC,cAAc,EACdC,UAAU,EACV7E,MAAOyE,GAEV,CASD,kBAAOK,CAA6BpC,GAClC,MAAMqC,EAAalK,OAAOmK,yBACxBtC,EACAe,EAAAA,gBAAgBC,UAElB,OAAOqB,EAAaA,EAAW/E,WAAQvC,CACxC,CAQD,qBAAOwH,CAAgCvC,GAClB7H,OAAOmK,yBACxBtC,EACAe,EAAAA,gBAAgBC,kBAEMhB,EAAce,kBAAgBC,SACvD,EA/bDwB,EAAAA,WAAA,CADCC,qHAC6BhH,IAM7BqD,EAAA4D,UAAA,YAAA,MA4DSF,EAAAA,WAAA,CADTC,2IAQA3D,EAAA4D,UAAA,iBAAA,MAUSF,EAAAA,WAAA,CADTC,wIAUA3D,EAAA4D,UAAA,yBAAA,MAWSF,EAAAA,WAAA,CADTC,wJAcA3D,EAAA4D,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAmBA3D,EAAA4D,UAAA,kBAAA,MA2BDF,EAAAA,WAAA,CADCC,yJAoBA3D,EAAA4D,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAyBA3D,EAAA4D,UAAA,kBAAA,MC/UG,MAAO5C,UAGH6C,EAAAA,WACR,WAAApL,CAAYM,EAAYmI,GACtBvI,MAAMI,EAASmI,EAChB,CAIS,cAAAD,CAAe6C,EAAiBC,GACxC,MAAMC,EAAQ,CAACC,EAAaC,KAC1B,MAAMC,EAAiBD,GAAWD,EAC5BhB,EAAWjD,EAAesD,YAAYa,GAE5C,OADIlB,GAAUjD,EAAeoB,YAAY6C,EAAUhB,GAC5CgB,GAGT,OAAIG,MAAMC,QAAQP,GACTA,EAAOlI,IAAI,CAACsF,EAAOJ,KACxB,MAAMoD,EAAUE,MAAMC,QAAQN,GAAUA,EAAOjD,GAASiD,EACxD,OAAOC,EAAM9C,EAAOgD,KAKjBF,EAAMF,EADGM,MAAMC,QAAQN,GAAUA,IAAS,GAAKA,EAEvD,CAEQ,YAAM1D,CACba,KACGxH,GAEH,MAAM0E,QAAezF,MAAM0H,OAAOa,KAAUxH,GAG5C,OAFAF,KAAKyH,eAAe7C,GACpB5E,KAAKyH,eAAeC,EAAO9C,GACpBA,CACR,CAEQ,eAAMkC,CACbO,KACGnH,GAEH,MAAMQ,QAAgBvB,MAAM2H,UAAUO,KAAWnH,GAGjD,OAFAF,KAAKyH,eAAe/G,GACpBV,KAAKyH,eAAeJ,EAAQ3G,GACrBA,CACR,CAEQ,UAAMoK,CACbnJ,KACGzB,GAEH,MAAM0E,QAAezF,MAAM2L,KAAKnJ,KAAOzB,GACvC,OAAOF,KAAKyH,eAAe7C,EAC5B,CAEQ,aAAMmG,CACb3C,KACGlI,GAEH,MAAMQ,QAAgBvB,MAAM4L,QAAQ3C,KAAQlI,GAC5C,OAAOF,KAAKyH,eAAe/G,EAC5B,CAEQ,YAAMqG,CACbW,KACGxH,GAEH,MAAM0E,QAAezF,MAAM4H,OAAOW,KAAUxH,GAG5C,OAFAF,KAAKyH,eAAe7C,GACpB5E,KAAKyH,eAAeC,EAAO9C,GACpBA,CACR,CAEQ,eAAMoC,CACbK,KACGnH,GAEH,MAAMQ,QAAgBvB,MAAM6H,UAAUK,KAAWnH,GAGjD,OAFAF,KAAKyH,eAAe/G,GACpBV,KAAKyH,eAAeJ,EAAQ3G,GACrBA,CACR,CAEQ,YAAM,CACbiB,KACGzB,GAEH,MAAM0E,QAAezF,MAAM6L,OAAOrJ,KAAOzB,GACzC,OAAOF,KAAKyH,eAAe7C,EAC5B,CAEQ,eAAMqG,CACb7C,KACGlI,GAEH,MAAMQ,QAAgBvB,MAAM8L,UAAU7C,KAAQlI,GAC9C,OAAOF,KAAKyH,eAAe/G,EAC5B,CAWkB,kBAAM8H,CACvBd,KACGxH,GAEH,MAAMgL,QAAoBC,EAAOA,QAACjL,KAChCkL,EAAaA,cAACC,OACdrL,KAAKsL,MACLpL,EACAF,KAAKT,QACLS,KAAKuL,YAAc,CAAE,GAEjBC,EAAiBN,EAAYO,QAAQzJ,IAAI,kBACzC0J,EAAiBR,EAAYO,QAAQzJ,IAAI,oBACzCH,EAAK6F,EAAM1H,KAAK6B,IACtB,IAAKA,EACH,MAAM,IAAIwG,EAAaA,cACrB,qDAAqDrI,KAAK6B,IAE9D,MAAM8J,QAAiB3L,KAAK8K,KAAKjJ,KAAOqJ,EAAYhL,MAYpD,GAXAwH,EAAQ9F,EAAKA,MAAC2E,MAAMoF,EAAUjE,EAAO1H,KAAKsL,OACrCE,SACGI,sBACJ5L,KACAkL,EAAYO,QACZ/D,EACA0D,EAAaA,cAACC,OACdD,EAAAA,cAAcS,GACdF,IAGCD,EAAgB,CACnB,MAAMI,QAAeC,QAAQC,QAC3BtE,EAAMuE,UACJN,KACG/J,EAAAA,MAAMsK,UAAUlM,KAAKsL,UACpBJ,EAAYO,QAAQzJ,IAAI,gCAAkC,KAGlE,GAAI8J,EAAQ,MAAM,IAAIK,EAAeA,gBAACL,EAAOvC,WAC9C,CACD,MAAM6C,EAAc5F,EAAesD,YAAY6B,GAE/C,OADIS,GAAa5F,EAAeoB,YAAYF,EAAO0E,GAC5C,CAAC1E,KAAUwD,EAAYhL,KAC/B,CAWkB,qBAAMyI,CACvBtB,KACGnH,GAEH,MAAMgL,QAAoBC,EAAOA,QAACjL,KAChCkL,EAAaA,cAACC,OACdrL,KAAKsL,MACLpL,EACAF,KAAKT,QACLS,KAAKuL,YAAc,CAAE,GAEjBC,EAAiBN,EAAYO,QAAQzJ,IAAI,kBACzC0J,EAAiBR,EAAYO,QAAQzJ,IAAI,oBACzCoG,EAAMf,EAAOjF,IAAK6E,IACtB,MAAMtF,EAAKsF,EAAEjH,KAAK6B,IAClB,IAAKF,EAAI,MAAM,IAAI0G,EAAAA,cAAc,kCACjC,OAAO1G,IAEH0K,QAAkBrM,KAAK+K,QAAQ3C,KAAQ8C,EAAYhL,MAqBzD,GApBAmH,EAASA,EAAOjF,IAAI,CAAC6E,EAAGc,KACtBd,EAAIrF,EAAAA,MAAM2E,MAAM8F,EAAUtE,GAAId,EAAGjH,KAAKsL,OACtC,MAAMc,EAAc5F,EAAesD,YAAYuC,EAAUtE,IAEzD,OADIqE,GAAa5F,EAAeoB,YAAYX,EAAGmF,GACxCnF,IAEJuE,SACGO,QAAQO,IACZjF,EAAOjF,IAAI,CAAC6E,EAAGc,IACb6D,EAAmBA,oBACjB5L,KACAkL,EAAYO,QACZxE,EACAmE,gBAAcC,OACdD,EAAaA,cAACS,GACdQ,EAAUtE,OAKb2D,EAAgB,CACnB,MAAMa,EACJrB,EAAYO,QAAQzJ,IAAI,gCAAkC,GAQtDwK,SANeT,QAAQO,IAC3BjF,EAAOjF,IAAI,CAAC6E,EAAGc,IACbgE,QAAQC,QAAQ/E,EAAEgF,UAAUI,EAAUtE,GAAId,KAAMsF,OAIvBlI,OAAO,CAACC,EAA2BmI,EAAG1E,KAC7D0E,IACFnI,EACmB,iBAAVA,EACHA,EAAQ,QAAQyD,MAAM0E,EAAElD,aACxB,MAAMxB,MAAM0E,EAAElD,cACfjF,QACN7B,GAEH,GAAI+J,EAAe,MAAM,IAAIL,EAAAA,gBAAgBK,EAC9C,CAMD,OAJAnF,EAAOxC,QAAQ,CAACoC,EAAGc,KACjB,MAAMqE,EAAc5F,EAAesD,YAAYuC,EAAUtE,IACrDqE,GAAa5F,EAAeoB,YAAYX,EAAGmF,KAE1C,CAAC/E,KAAW6D,EAAYhL,KAChC,ECpOIwM,eAAeC,EAAOC,EAAUC,EAAcC,GACnD,OAAOF,EAAIG,KAAKF,EAAMC,EACxB,CA0FgB,SAAAE,EACdhJ,EACAT,EACA0J,EACAC,EACAC,EAAYC,oBAEZ,MAAMpE,EAAO,CAACP,EAAeA,gBAACxK,MAAOsF,EAAWS,GAGhD,OAFIiJ,GAAcjE,EAAKvE,QAAQwI,GAC3BC,GAAOlE,EAAKvE,KAAKyI,GACdlE,EAAKrD,KAAKwH,EACnB,CCjGa,MAAAE,EAAU,cAOVC,EAAe,cAE5BvL,EAAAA,SAASwL,gBAAgBD,EAAcD,qCRkCa,CAClDG,KAAM,8GA1DyB,8GOwJjB,CACdxJ,EACAT,EACA0J,EACAC,EACAC,EAAYC,sBAEZ,MAAMK,EAAuC,CAAA,EAK7C,IAAItL,EACJ,GALAsL,EAAsBjQ,EAAYK,OAAS,GAC1C4P,EAAsBjQ,EAAYK,OACjCK,EAAgBC,OACdoF,EAEA2J,EAAO,CACT,MAAMQ,EAAuB,CAAA,EAC7BA,EAAU1J,GAAakJ,EACvB,MAAMS,GAAmCV,GAAgB,IAAI7K,IAAKwL,IAChE,MAAMtI,EAAe,CAAA,EAErB,OADAA,EAAEsI,GAAKV,EACA5H,IAEHuI,EAAyB,CAAA,EAC/BA,EAAYrQ,EAAYK,OAASqP,EACjC/K,EAAS,CAACuL,KAAcC,EAAoBE,EAC7C,MACC1L,EAAS,CAAC6B,KAAeiJ,GAAgB,GAAKzP,EAAYK,OAE5D,MAAMuB,EAAO4N,EACXhJ,EACAT,EACA0J,EACAC,EACAC,GAEF,MAAO,CACL7F,MAAO,CACLnF,OAAQA,GAGV2L,KAAM,CAAC1O,EAAM5B,EAAYO,MAAM4H,KAAKwH,GACpC/N,KAAMA,EAEV,0CE1HEiI,IAEA,MAAM9D,EAhER,EACEnE,EACA2O,EACAd,EACAE,EAAYC,EAAAA,mBAEL,IACFhO,EAAKgD,IAAK4L,GAAOA,IAAMxQ,EAAYK,MAAQ,QAAUmQ,MACpDf,GAAgB,MAChBc,EAAY,CAACA,GAAa,GAC9BvQ,EAAYS,OACZ0H,KAAKwH,GAqDWH,CAAkB,CAACxP,EAAYK,QAC3CoQ,EAA8C,CAAA,EA4DpD,OA3DAA,EAAQ1K,GAAa,CACnB+D,MAAO,CACLnF,OAAQ,CAAC3E,EAAYK,QAEvBuB,KAAMmE,EACNuK,KAAMvK,EACNzB,KAAM,QAGRuF,EAAOxC,QAASoC,IACd,MAAMiH,EAAqCtM,EAAAA,MAAMqM,QAAQhH,GACzDpH,OAAO8E,QAAQuJ,GAAKrJ,QAAQ,EAAE5C,EAAK+C,MACjC,MAAM/B,EAAIpD,OAAOkD,KAAKiC,GAAO,GAE7B,IAAImJ,WAAEA,EAAUlB,aAAEA,GAAkBjI,EAAc/B,GAClD,MAAMM,EAAY3B,EAAAA,MAAM2B,UAAU0D,GAGlC,SAASmH,EAASrJ,GAChB,MAAM3F,EAAO,CACXmE,EACAtB,KACIgL,EACJxE,EAAAA,gBAAgBxK,OAChB0H,KAAKyH,EAAAA,kBAsBP,GApBAa,EAAQ7O,GAAQ,CACdkI,MAAO,CACLnF,OAAQ,CAACF,KAASgL,EAAqBzP,EAAYK,OAAOwG,OACxD,CAACC,EAAcxB,KACb,GAAIiC,EAAM,CACR,MAAMsJ,EAAW,CAAA,EACjBA,EAAIvL,GAAMiC,EACVT,EAAMG,KAAK4J,EACZ,MACC/J,EAAMG,KAAK3B,GAEb,OAAOwB,GAET,KAGJlF,KAAMA,EACN0O,KAAM1O,EACN0C,KAAM,SAEHiD,EAAM,CACT,MAAMuJ,EAAmC,CAAA,EACzCA,EAAY9Q,EAAYK,OAAS,GACjCyQ,EAAY9Q,EAAYK,OAAOK,EAAgBC,OAASoF,EACxD0K,EAAQ7O,GAAMkI,MAAMiH,wBAA0BD,CAC/C,CACF,CApCDrB,EAAeA,GAAgB,GAsC/BmB,IACID,GACDA,EAA2CtJ,QAASxC,GAAM+L,EAAS/L,QAGnExC,OAAOsE,OAAO8J,EACvB,6DFrDuCjF,GAE9BA,EAAKC,MADG,qDApCX,CACJ2D,EACA4B,EACA3B,EACAC,KAEA,MAAM2B,EAAK7B,EAAI8B,IAAIF,GAkBnB,MAjBA,CAAC,SAAU,MAAO,MAAO,UAAW,QAAQ3J,QAAS5B,IACnD,MAAM0L,EAAYF,EAA2BxL,GAC7CpD,OAAO6J,eAAe+E,EAAIxL,EAAG,CAC3B0G,YAAY,EACZC,cAAc,EACd5E,MAAO0H,SAAUxM,WACTyM,EAAOC,EAAKC,EAAMC,GACjB6B,EAASC,KAAKH,KAAOvO,QAIlCL,OAAO6J,eAAe+E,EAAIjR,EAAYQ,OAAQ,CAC5C2L,YAAY,EACZC,cAAc,EACdC,UAAU,EACV7E,MAAO4H,IAEF6B,CACT"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","Number","MAX_VALUE","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","Model","pk","type","Metadata","get","key","DBKeys","fields","map","d","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","split","join","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","context","ignoreHandlers","ignoreValidate","oldModel","oldMetadata","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","VERSION","PACKAGE_NAME","registerLibrary","NULL","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","ddoc","direction","n","indexes","ind","directions","generate","res","tableFilter","partial_filter_selector","dbName","db","use","original","call"],"mappings":"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"}
|
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,DBKeys as f,prefixMethod as m,InternalError as A,ConflictError as y,NotFoundError as E,Context as b,OperationKeys as w,enforceDBDecorators as O,ValidationError as x}from"@decaf-ts/db-decorators";import{Model as T}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as P}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"},L={AND:"$and",OR:"$or"},_={NULL:"null"};function I(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 C extends r{constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1,...r){const{ctxArgs:i,ctx:n}=this.adapter.logCtx(r,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...i);const o=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...o,limit:Number.MAX_VALUE},!0,n)||[];if(this._recordCount=t.length,this._recordCount>0){const t=o?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/t)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new s("No bookmark. Did you start in the first page?");o.bookmark=this._bookmark}const c=await this.adapter.raw(o,!1,n),{docs:l,bookmark:d,warning:u}=c;if(u&&this.log.for(this.page).warn(u),!this.clazz)throw new s("No statement target defined");const h=T.pk(this.clazz),p=t.get(this.clazz,t.key(f.ID,h))?.type,g=o.fields&&o.fields.length?l:l.map(t=>this.adapter.revert(t,this.clazz,a.parseValue(p,t[h]),void 0,n));return this._bookmark=d,this._currentPage=e,g}}function B(t){for(const e of[S,L]){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 R 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(L).indexOf(s[0]))switch(s[0]){case L.AND:e[L.AND]=[...Object.values(e[L.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===L.AND?t.push(...e[s]):t.push(e),t},[])],r.selector=e;break;case L.OR:{const t={};t[L.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(f.ID,i))?.type;return this.selectSelector?a:a.map(t=>this.processRecord(t,i,n,s))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][B(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[B(l.NOT)]={},a[B(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})(B(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 R(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 A("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map((t,e)=>{const s={};return s[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 A("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 A("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map((t,r)=>{const a={};a[N.TABLE]=i,a[N.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new A("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[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 k(t):new A(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new A(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}j([M(),P("design:type",Function),P("design:paramtypes",[]),P("design:returntype",R)],$.prototype,"Statement",null),j([M(),P("design:type",Function),P("design:paramtypes",[Object,String]),P("design:returntype",Object)],$.prototype,"assignMetadata",null),j([M(),P("design:type",Function),P("design:paramtypes",[Array,Array]),P("design:returntype",Array)],$.prototype,"assignMultipleMetadata",null),j([M(),P("design:type",Function),P("design:paramtypes",[Object,Object,Object,Object]),P("design:returntype",Array)],$.prototype,"createPrefix",null),j([M(),P("design:type",Function),P("design:paramtypes",[Object,Array,Array,Object]),P("design:returntype",void 0)],$.prototype,"createAllPrefix",null),j([M(),P("design:type",Function),P("design:paramtypes",[Object,Object,Object,Object]),P("design:returntype",void 0)],$.prototype,"updatePrefix",null),j([M(),P("design:type",Function),P("design:paramtypes",[Object,Array,Array,Object]),P("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 A("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 A("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,_ as CouchDBConst,L as CouchDBGroupOperator,N as CouchDBKeys,S as CouchDBOperator,C as CouchDBPaginator,v as CouchDBQueryLimit,V as CouchDBRepository,R as CouchDBStatement,k as IndexError,Q as PACKAGE_NAME,X as VERSION,G as generateIndexDoc,q as generateIndexName,I as generateIndexes,z as reAuth,D as reservedAttributes,U as testReservedAttributes,B 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 p}from"@decaf-ts/core";import{DefaultSeparator as h,BaseError as g,DBKeys as f,prefixMethod as m,InternalError as A,ConflictError as y,NotFoundError as E,Context as b,OperationKeys as w,enforceDBDecorators as O,ValidationError as x,reduceErrorsToPrint as T}from"@decaf-ts/db-decorators";import{Model as P}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as D}from"tslib";import{final as N}from"@decaf-ts/logging";const M=/^_.*$/g,v={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},L=250,S={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},_={AND:"$and",OR:"$or"},I={NULL:"null"};function k(t){const r=((t,e,r,s=h)=>[...t.map(t=>t===v.TABLE?"table":t),...r||[],...e?[e]:[],v.INDEX].join(s))([v.TABLE]),s={};return s[r]={index:{fields:[v.TABLE]},name:r,ddoc:r,type:"json"},t.forEach(t=>{const r=P.indexes(t);Object.entries(r).forEach(([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=P.tableName(t);function l(t){const a=[c,r,...o,e.INDEX].join(h);if(s[a]={index:{fields:[r,...o,v.TABLE].reduce((e,r)=>{if(t){const s={};s[r]=t,e.push(s)}else e.push(r);return e},[])},name:a,ddoc:a,type:"json"},!t){const t={};t[v.TABLE]={},t[v.TABLE].$eq=c,s[a].index.partial_filter_selector=t}}o=o||[],l(),n&&n.forEach(t=>l(t))})}),Object.values(s)}class C extends g{constructor(t){super(C.name,t,404)}}class B extends r{constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1,...r){const{ctxArgs:i,ctx:n}=this.adapter.logCtx(r,this.page);if(this.isPreparedStatement())return this.pagePrepared(e,...i);const o=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...o,limit:Number.MAX_VALUE},!0,n)||[];if(this._recordCount=t.length,this._recordCount>0){const t=o?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/t)}}if(this.validatePage(e),1!==e){if(!this._bookmark)throw new s("No bookmark. Did you start in the first page?");o.bookmark=this._bookmark}const c=await this.adapter.raw(o,!1,n),{docs:l,bookmark:d,warning:u}=c;if(u&&this.log.for(this.page).warn(u),!this.clazz)throw new s("No statement target defined");const p=P.pk(this.clazz),h=t.get(this.clazz,t.key(f.ID,p))?.type,g=o.fields&&o.fields.length?l:l.map(t=>this.adapter.revert(t,this.clazz,a.parseValue(h,t[p]),void 0,n));return this._bookmark=d,this._currentPage=e,g}}function R(t){for(const e of[S,_]){const r=Object.keys(e).find(e=>e===t);if(r)return e[r]}throw new i("Could not find adapter translation for operator "+t)}class $ extends n{constructor(t){super(t)}build(){const t=this.log.for(this.build),e={};e[v.TABLE]={},e[v.TABLE]=P.tableName(this.fromSelector);const r={selector:e};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(o.and(this.whereCondition,o.attribute(v.TABLE).eq(r.selector[v.TABLE]))).selector,s=Object.keys(e);if(1===s.length&&-1!==Object.values(_).indexOf(s[0]))switch(s[0]){case _.AND:e[_.AND]=[...Object.values(e[_.AND]).reduce((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===_.AND?t.push(...e[s]):t.push(e),t},[])],r.selector=e;break;case _.OR:{const t={};t[_.AND]=[e,...Object.entries(r.selector).map(([t,e])=>{const r={};return r[t]=e,r})],r.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach(([e,s])=>{r.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${r.selector[e]} by ${s}`),r.selector[e]=s})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[t,e]=this.orderBySelector,s={};s[t]=e,r.sort.push(s),r.selector[t]||(r.selector[t]={},r.selector[t].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(t.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(t,e,r,s){if(t[v.ID]){const[,...e]=t[v.ID].split(v.SEPARATOR),i=e.join("_");return this.adapter.revert(t,this.fromSelector,a.parseValue(r,i),void 0,s)}return t}async raw(e,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(e,!0,s),i=P.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(f.ID,i))?.type;return this.selectSelector?a:a.map(t=>this.processRecord(t,i,n,s))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][R(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[R(l.NOT)]={},a[R(l.NOT)][e.attr1]=s;else{const t=this.parseCondition(e).selector,i=this.parseCondition(s).selector;a=((t,e,r)=>{const s={selector:{}};return s.selector[t]=[e,r],s})(R(r),t,i).selector}return{selector:a}}}class V extends d{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach(t=>{const e=t.name;m(this,t,this[e+"Prefix"])})}Statement(){return new $(this)}Paginator(t,e,r){return new B(this,t,e,r)}async initialize(){const t=d.models(this.flavour);return this.index(...t)}repository(){return U}assignMetadata(t,e){return e?(V.setMetadata(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach((t,r)=>(V.setMetadata(t,e[r]),t)),t}createPrefix(t,e,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=P.tableName(t),n={};return n[v.TABLE]=i,n[v.ID]=this.generateId(i,e),Object.assign(n,r),[t,e,n,...a]}createAllPrefix(t,e,r,...s){const a=P.tableName(t);if(e.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map((t,e)=>{const s={};return s[v.TABLE]=a,s[v.ID]=this.generateId(a,t),Object.assign(s,r[e]),s});return[t,e,n,...i]}updatePrefix(t,r,s,...a){const i=P.tableName(t),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[v.TABLE]=i,o[v.ID]=this.generateId(i,r);const c=s[e.METADATA];if(!c)throw new A("No revision number found for record with id "+r);return Object.assign(o,s),o[v.REV]=c,[t,r,o,...n]}updateAllPrefix(t,r,s,...a){const i=P.tableName(t);if(r.length!==s.length)throw new A("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map((t,r)=>{const a={};a[v.TABLE]=i,a[v.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new A("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[v.REV]=n,a});return[t,r,o,...n]}generateId(t,e){return[t,e].join(v.SEPARATOR)}parseError(t,e){return V.parseError(t,e)}isReserved(t){return!!t.match(M)}static parseError(t,e){if(t instanceof g)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new y(e);case"404":return new E(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new C(t):new A(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new A(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}j([N(),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",$)],V.prototype,"Statement",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,String]),D("design:returntype",Object)],V.prototype,"assignMetadata",null),j([N(),D("design:type",Function),D("design:paramtypes",[Array,Array]),D("design:returntype",Array)],V.prototype,"assignMultipleMetadata",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",Array)],V.prototype,"createPrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],V.prototype,"createAllPrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",void 0)],V.prototype,"updatePrefix",null),j([N(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],V.prototype,"updateAllPrefix",null);class U extends p{constructor(t,e){super(t,e)}assignMetadata(t,e){const r=(t,e)=>{const r=e??t,s=V.getMetadata(r);return s&&V.setMetadata(t,s),t};return Array.isArray(t)?t.map((t,s)=>{const a=Array.isArray(e)?e[s]:e;return r(t,a)}):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context,a=s.get("ignoreHandlers"),i=s.get("ignoreValidation"),n=t[this.pk];if(!n)throw new A("No value for the Id is defined under the property "+this.pk);let o,c;if(s.get("applyUpdateValidation")&&(o=await this.read(n),c=o?V.getMetadata(o):void 0,s.get("mergeForUpdate")&&(t=P.merge(o,t,this.class))),a||await O(this,s,t,w.UPDATE,w.ON,o),!i){const e=await Promise.resolve(t.hasErrors(o,...P.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(e)throw new x(e.toString())}return c&&V.setMetadata(t,c),[t,...r.args,o]}async updateAllPrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context,a=s.get("ignoreHandlers"),i=s.get("ignoreValidation"),n=t.map(t=>{const e=t[this.pk];if(!e)throw new A("missing id on update operation");return e});let o;if(s.get("applyUpdateValidation")&&(o=await this.readAll(n,s),s.get("mergeForUpdate")&&(t=t.map((t,e)=>{t=P.merge(o[e],t,this.class);const r=V.getMetadata(o[e]);return r&&V.setMetadata(t,r),t})),a||await Promise.all(t.map((t,e)=>O(this,r.context,t,w.UPDATE,w.ON,o?o[e]:void 0))),!i)){const e=s.get("ignoredValidationProperties")||[];let r;r=s.get("applyUpdateValidation")?await Promise.all(t.map((t,r)=>Promise.resolve(t.hasErrors(o[r],...e)))):await Promise.resolve(t.map(t=>t.hasErrors(...e)));const a=T(r);if(a)throw new x(a)}return[t,...r.args,o]}}async function F(t,e,r){return t.auth(e,r)}function z(t,e,r,s){const a=t.use?t.use(e):t;return["insert","get","put","destroy","find"].forEach(e=>{const i=a[e];Object.defineProperty(a,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await F(t,r,s),i.call(a,...e))})}),Object.defineProperty(a,v.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),a}function q(t){return t.match(/^_.*$/g)}function G(t,r,s,a,i=h){const n=[e.INDEX,r,t];return s&&n.push(...s),a&&n.push(a),n.join(i)}function X(t,e,r,s,a=h){const i={};let n;if(i[v.TABLE]={},i[v.TABLE].$eq=e,s){const e={};e[t]=s;const a=(r||[]).map(t=>{const e={};return e[t]=s,e}),i={};i[v.TABLE]=s,n=[e,...a,i]}else n=[t,...r||[],v.TABLE];const o=G(t,e,r,s,a);return{index:{fields:n},ddoc:[o,v.DDOC].join(a),name:o}}const Q="##VERSION##",H="##PACKAGE##";t.registerLibrary(H,Q);export{V as CouchDBAdapter,I as CouchDBConst,_ as CouchDBGroupOperator,v as CouchDBKeys,S as CouchDBOperator,B as CouchDBPaginator,L as CouchDBQueryLimit,U as CouchDBRepository,$ as CouchDBStatement,C as IndexError,H as PACKAGE_NAME,Q as VERSION,X as generateIndexDoc,G as generateIndexName,k as generateIndexes,F as reAuth,M as reservedAttributes,q as testReservedAttributes,R as translateOperators,z as wrapDocumentScope};
|
|
2
2
|
//# sourceMappingURL=for-couchdb.js.map
|
package/dist/for-couchdb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","Number","MAX_VALUE","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","pk","Metadata","get","DBKeys","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","find","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","indexOf","val","Error","s","result","orderBySelector","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","split","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","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","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","args","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","results","raw","Number","MAX_VALUE","length","Math","ceil","validatePage","_bookmark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","pk","Metadata","get","DBKeys","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","find","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","indexOf","val","Error","s","result","orderBySelector","rec","limitSelector","offsetSelector","skip","processRecord","r","pkAttr","sequenceType","keyArgs","split","rawInput","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","record","generateId","createAllPrefix","ids","InternalError","records","count","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","context","ignoreHandlers","ignoreValidate","oldModel","oldMetadata","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"4qBAMO,MAAMA,EAAqB,SAyBrBC,EAAc,CACzBC,UAAW,KACXC,GAAI,MACJC,IAAK,OACLC,QAAS,WACTC,MAAO,UACPC,SAAU,aACVC,KAAM,OACNC,OAAQ,WACRC,MAAO,SChCIC,EAAoB,IAmBpBC,EAAiD,CAC5DC,MAAO,MACPC,UAAW,MACXC,OAAQ,MACRC,UAAW,OACXC,QAAS,MACTC,WAAY,OAEZC,IAAK,OACLC,GAAI,MAEJC,OAAQ,UAaGC,EAAsD,CACjEC,IAAK,OACLC,GAAI,OAYOC,EAAuC,CAClDC,KAAM,QCaF,SAAUC,EACdC,GAEA,MAAMC,EAhER,EACEC,EACAC,EACAC,EACAC,EAAYC,IAEL,IACFJ,EAAKK,IAAKC,GAAOA,IAAMnC,EAAYK,MAAQ,QAAU8B,MACpDJ,GAAgB,MAChBD,EAAY,CAACA,GAAa,GAC9B9B,EAAYS,OACZ2B,KAAKJ,GAqDWK,CAAkB,CAACrC,EAAYK,QAC3CiC,EAA8C,CAAA,EA4DpD,OA3DAA,EAAQV,GAAa,CACnBW,MAAO,CACLC,OAAQ,CAACxC,EAAYK,QAEvBwB,KAAMD,EACNa,KAAMb,EACNc,KAAM,QAGRf,EAAOgB,QAASC,IACd,MAAMC,EAAqCC,EAAMR,QAAQM,GACzDG,OAAOC,QAAQH,GAAKF,QAAQ,EAAEM,EAAKC,MACjC,MAAMC,EAAIJ,OAAOK,KAAKF,GAAO,GAE7B,IAAIG,WAAEA,EAAUtB,aAAEA,GAAkBmB,EAAcC,GAClD,MAAMvB,EAAYkB,EAAMlB,UAAUgB,GAGlC,SAASU,EAASC,GAChB,MAAM1B,EAAO,CACXD,EACAqB,KACIlB,EACJyB,EAAgB/C,OAChB2B,KAAKH,GAsBP,GApBAK,EAAQT,GAAQ,CACdU,MAAO,CACLC,OAAQ,CAACS,KAASlB,EAAqB/B,EAAYK,OAAOoD,OACxD,CAACC,EAAcC,KACb,GAAIJ,EAAM,CACR,MAAMK,EAAW,CAAA,EACjBA,EAAID,GAAMJ,EACVG,EAAMG,KAAKD,EACZ,MACCF,EAAMG,KAAKF,GAEb,OAAOD,GAET,KAGJ7B,KAAMA,EACNY,KAAMZ,EACNa,KAAM,SAEHa,EAAM,CACT,MAAMO,EAAmC,CAAA,EACzCA,EAAY9D,EAAYK,OAAS,GACjCyD,EAAY9D,EAAYK,OAA4B,IAAIuB,EACxDU,EAAQT,GAAMU,MAAMwB,wBAA0BD,CAC/C,CACF,CApCD/B,EAAeA,GAAgB,GAsC/BuB,IACID,GACDA,EAA2CV,QAASqB,GAAMV,EAASU,QAGnEjB,OAAOkB,OAAO3B,EACvB,CC7HM,MAAO4B,UAAmBC,EAC9B,WAAAC,CAAYC,GACVC,MAAMJ,EAAWrC,KAAMwC,EAAK,IAC7B,ECYG,MAAOE,UAA6CC,EAaxD,WAAAJ,CACEK,EACAC,EACAC,EACAC,GAEAN,MAAMG,EAASC,EAAOC,EAAMC,EAC7B,CAQS,OAAAC,CAAQC,GAChB,MAAMJ,EAAoB3B,OAAOgC,OAAO,CAAE,EAAED,GAK5C,OAJIJ,EAAMM,QAAOC,KAAKD,MAAQN,EAAMM,OAEpCN,EAAMM,MAAQC,KAAKN,KAEZD,CACR,CA6DQ,UAAMQ,CACbA,EAAe,KACZC,GAEH,MAAMC,QAAEA,EAAOC,IAAEA,GAAQJ,KAAKR,QAAgB,OAAEU,EAAMF,KAAKC,MAC3D,GAAID,KAAKK,sBAAuB,OAAOL,KAAKM,aAAaL,KAASE,GAClE,MAAMI,EAAYzC,OAAOgC,OAAO,CAAA,EAAIE,KAAKO,WAEzC,IAAKP,KAAKQ,eAAiBR,KAAKS,YAAa,CAC3CT,KAAKS,YAAcT,KAAKQ,aAAe,EACvC,MAAME,QACGV,KAAKR,QAAQmB,IAClB,IAAKJ,EAAWR,MAAOa,OAAOC,YAC9B,EACAT,IACI,GAER,GADAJ,KAAKQ,aAAeE,EAAQI,OACxBd,KAAKQ,aAAe,EAAG,CACzB,MAAMd,EAAOa,GAAWR,OAASC,KAAKN,KACtCM,KAAKS,YAAcM,KAAKC,KAAKhB,KAAKQ,aAAed,EAClD,CACF,CAID,GAFAM,KAAKiB,aAAahB,GAEL,IAATA,EAAY,CACd,IAAKD,KAAKkB,UACR,MAAM,IAAIC,EAAY,iDACxBZ,EAAoB,SAAIP,KAAKkB,SAC9B,CACD,MAAME,QAAuCpB,KAAKR,QAAQmB,IACxDJ,GACA,EACAH,IAGIiB,KAAEA,EAAIC,SAAEA,EAAQC,QAAEA,GAAYH,EAEpC,GADIG,GAASvB,KAAKwB,IAAIC,IAAIzB,KAAKC,MAAMyB,KAAKH,IACrCvB,KAAKL,MAAO,MAAM,IAAIwB,EAAY,+BACvC,MAAMQ,EAAK9D,EAAM+D,GAAG5B,KAAKL,OACnBlC,EAAOoE,EAASC,IACpB9B,KAAKL,MACLkC,EAAS7D,IAAI+D,EAAO9G,GAAI0G,KACvBlE,KACGiD,EACJH,EAAUhD,QAAUgD,EAAUhD,OAAOuD,OACjCO,EACAA,EAAKpE,IAAK8B,GACDiB,KAAKR,QAAQwC,OAClBjD,EACAiB,KAAKL,MACLsC,EAASC,WAAWzE,EAAMsB,EAAE4C,SAC5BQ,EACA/B,IAKV,OAFAJ,KAAKkB,UAAYI,EACjBtB,KAAKoC,aAAenC,EACbS,CACR,ECzJG,SAAU2B,EACdC,GAEA,IAAK,MAAMC,IAAa,CAAC7G,EAAiBU,GAAuB,CAC/D,MAAMsC,EAAKZ,OAAOK,KAAKoE,GAAWC,KAAMtE,GAAMA,IAAMoE,GACpD,GAAI5D,EAAI,OAAO6D,EAAU7D,EAC1B,CACD,MAAM,IAAI+D,EACR,mDAAmDH,EAEvD,CCJM,MAAOI,UAIHC,EACR,WAAAxD,CAAYK,GACVH,MAAMG,EACP,CA0DS,KAAAoD,GACR,MAAMpB,EAAMxB,KAAKwB,IAAIC,IAAIzB,KAAK4C,OACxBC,EAA2B,CAAA,EACjCA,EAAU9H,EAAYK,OAAS,GAC/ByH,EAAU9H,EAAYK,OAASyC,EAAMlB,UAAUqD,KAAK8C,cACpD,MAAMrD,EAAoB,CAAEsD,SAAUF,GAGtC,GAFI7C,KAAKgD,iBAAgBvD,EAAMlC,OAASyC,KAAKgD,gBAEzChD,KAAKiD,eAAgB,CACvB,MAAMC,EAA2BlD,KAAKmD,eACpCC,EAAUC,IACRrD,KAAKiD,eACLG,EAAUE,UAAavI,EAAYK,OAAkBmI,GACnD9D,EAAMsD,SAAShI,EAAYK,UAG/B2H,SACIS,EAAe1F,OAAOK,KAAK+E,GACjC,GAC0B,IAAxBM,EAAa1C,SACqD,IAAlEhD,OAAOkB,OAAO5C,GAAsBqH,QAAQD,EAAa,IAEzD,OAAQA,EAAa,IACnB,KAAKpH,EAAqBC,IACxB6G,EAAU9G,EAAqBC,KAAO,IACjCyB,OAAOkB,OACRkE,EAAU9G,EAAqBC,MAC/BmC,OAAO,CAACC,EAAwBiF,KAChC,MAAMvF,EAAOL,OAAOK,KAAKuF,GACzB,GAAoB,IAAhBvF,EAAK2C,OACP,MAAU6C,MACR,kDAEJ,MAAMzF,EAAIC,EAAK,GAIf,OAHID,IAAM9B,EAAqBC,IAC7BoC,EAAMG,QAAS8E,EAAIxF,IAChBO,EAAMG,KAAK8E,GACTjF,GACN,KAELgB,EAAMsD,SAAWG,EACjB,MACF,KAAK9G,EAAqBE,GAAI,CAC5B,MAAMsH,EAAsB,CAAA,EAC5BA,EAAExH,EAAqBC,KAAO,CAC5B6G,KACGpF,OAAOC,QAAQ0B,EAAMsD,UAAU9F,IAAI,EAAEe,EAAK0F,MAC3C,MAAMG,EAA2B,CAAA,EAEjC,OADAA,EAAO7F,GAAO0F,EACPG,KAGXpE,EAAMsD,SAAWa,EACjB,KACD,CACD,QACE,MAAUD,MAAM,kCAGpB7F,OAAOC,QAAQmF,GAAWxF,QAAQ,EAAEM,EAAK0F,MACnCjE,EAAMsD,SAAS/E,IACjBwD,EAAIE,KACF,KAAK1D,4CAA8CyB,EAAMsD,SAAS/E,SAAW0F,KAEjFjE,EAAMsD,SAAS/E,GAAO0F,GAG3B,CAED,GAAI1D,KAAK8D,gBAAiB,CACxBrE,EAAMnB,KAAOmB,EAAMnB,MAAQ,GAC3BmB,EAAMsD,SAAWtD,EAAMsD,UAAa,CAAA,EACpC,MAAOA,EAAU9E,GAAS+B,KAAK8D,gBAIzBC,EAAW,CAAA,EACjBA,EAAIhB,GAAY9E,EACfwB,EAAMnB,KAAeM,KAAKmF,GACtBtE,EAAMsD,SAASA,KAClBtD,EAAMsD,SAASA,GAAY,GAC1BtD,EAAMsD,SAASA,GAAkD,IAChE,KAEL,CAaD,OAXI/C,KAAKgE,cACPvE,EAAMM,MAAQC,KAAKgE,eAEnBxC,EAAIE,KACF,iEAEFjC,EAAMM,ML/LqB,KKkMzBC,KAAKiE,iBAAgBxE,EAAMyE,KAAOlE,KAAKiE,gBAEpCxE,CACR,CAUS,aAAA0E,CACRC,EACAC,EACAC,EACAlE,GAEA,GAAIgE,EAAErJ,EAAYE,IAAK,CACrB,MAAS,IAAGsJ,GAAWH,EAAErJ,EAAYE,IAAIuJ,MAAMzJ,EAAYC,WAErD2G,EAAK4C,EAAQpH,KAAK,KACxB,OAAO6C,KAAKR,QAAQwC,OAClBoC,EACApE,KAAK8C,aACLb,EAASC,WAAWoC,EAAc3C,QAClCQ,EACA/B,EAEH,CACD,OAAOgE,CACR,CASQ,SAAMzD,CAAO8D,KAAyBvE,GAC7C,MAAME,IAAEA,GAAQJ,KAAK0E,OAAOxE,EAAMF,KAAKW,KAEjCD,QAAuBV,KAAKR,QAAQmB,IAAI8D,GAAU,EAAMrE,GAExDiE,EAASxG,EAAM+D,GAAG5B,KAAK8C,cACvBrF,EAAOoE,EAASC,IACpB9B,KAAK8C,aACLjB,EAAS7D,IAAI+D,EAAO9G,GAAIoJ,KACvB5G,KAEH,OAAKuC,KAAKgD,eAEHtC,EADEA,EAAQzD,IAAKmH,GAAMpE,KAAKmE,cAAcC,EAAGC,EAAQ5G,EAAM2C,GAEjE,CAqCS,cAAA+C,CAAeD,GAmBvB,MAAMyB,MAAEA,EAAKrC,SAAEA,EAAQsC,WAAEA,GAAe1B,EAMxC,IAAI2B,EAAoB,CAAA,EACxB,IAGS,IAFP,CAACC,EAAczI,IAAKyI,EAAcxI,GAAIyI,EAAS9I,KAAKwH,QAClDnB,GAGFuC,EAAGF,GAAmB,GACrBE,EAAGF,GAAmCtC,EAAmBC,IACxDsC,OACG,GAAItC,IAAayC,EAAS9I,IAC/B4I,EAAK7E,KAAKmD,eAAewB,GAAuB5B,SAChD8B,EAAGxC,EAAmB0C,EAAS9I,MAAQ,CAAA,EACtC4I,EAAGxC,EAAmB0C,EAAS9I,MAC7B0I,EAAuCA,OACtCC,MACC,CACL,MAAMI,EAAWhF,KAAKmD,eAAewB,GAAuB5B,SACtDkC,EAAWjF,KAAKmD,eAAeyB,GAA4B7B,SACjE8B,EAlCF,EACEA,EACAK,EACAC,KAEA,MAAMtB,EAAqB,CAAEd,SAAU,CAAA,GAEvC,OADAc,EAAOd,SAAS8B,GAAM,CAACK,EAAMC,GACtBtB,CACR,EA0BMuB,CAAM/C,EAAmBC,GAAW0C,EAAKC,GAAKlC,QACpD,CAED,MAAO,CAAEA,SAAU8B,EACpB,EChRG,MAAgBQ,UAIZC,EACR,WAAAnG,CAAsBoG,EAAaC,EAAiBC,GAClDpG,MAAMkG,EAAOC,EAASC,GACtB,CAACzF,KAAK0F,OAAQ1F,KAAK2F,UAAW3F,KAAK4F,OAAQ5F,KAAK6F,WAAWnI,QAASC,IAClE,MAAMf,EAAOe,EAAEf,KACfkJ,EAAa9F,KAAMrC,EAAIqC,KAAapD,EAAO,YAE9C,CASD,SAAA+F,GAKE,OAAO,IAAID,EAAiB1C,KAC7B,CAEQ,SAAAT,CACPE,EACAC,EACAC,GAEA,OAAO,IAAIL,EAAiBU,KAAMP,EAAOC,EAAMC,EAChD,CAOQ,gBAAMoG,GACb,MAAMC,EAAgBV,EAAQ5I,OAAOsD,KAAKwF,SAC1C,OAAOxF,KAAK1C,SAAS0I,EACtB,CAEQ,UAAAC,GAGP,OAAOC,CACR,CAoCS,cAAAC,CACRC,EACAC,GAEA,OAAKA,GACLhB,EAAeiB,YAAYF,EAAcC,GAClCD,GAFUA,CAGlB,CAUS,sBAAAG,CACR7J,EACA8J,GAMA,OAJA9J,EAAOgB,QAAQ,CAACC,EAAG8I,KACjBpB,EAAeiB,YAAY3I,EAAU6I,EAAKC,IACnC9I,IAEFjB,CACR,CAWS,YAAAgK,CACR/G,EACAgC,EACAyE,KACGlG,GAEH,MAAMC,QAAEA,GAAYH,KAAK0E,OAAOxE,EAAMF,KAAK0G,cACrC/J,EAAYkB,EAAMlB,UAAUgD,GAC5BgH,EAA8B,CAAA,EAIpC,OAHAA,EAAO5L,EAAYK,OAASuB,EAC5BgK,EAAO5L,EAAYE,IAAM+E,KAAK4G,WAAWjK,EAAWgF,GACpD7D,OAAOgC,OAAO6G,EAAQP,GACf,CAACzG,EAAOgC,EAAIgF,KAAWxG,EAC/B,CA4BS,eAAA0G,CACRlH,EACAmH,EACApK,KACGwD,GAEH,MAAMvD,EAAYkB,EAAMlB,UAAUgD,GAClC,GAAImH,EAAIhG,SAAWpE,EAAOoE,OACxB,MAAM,IAAIiG,EAAc,4CAC1B,MAAM5G,QAAEA,GAAYH,KAAK0E,OAAOxE,EAAMF,KAAK6G,iBACrCG,EAAUF,EAAI7J,IAAI,CAAC0E,EAAIsF,KAC3B,MAAMN,EAA8B,CAAA,EAIpC,OAHAA,EAAO5L,EAAYK,OAASuB,EAC5BgK,EAAO5L,EAAYE,IAAM+E,KAAK4G,WAAWjK,EAAWgF,GACpD7D,OAAOgC,OAAO6G,EAAQjK,EAAOuK,IACtBN,IAET,MAAO,CAAChH,EAAOmH,EAAKE,KAAY7G,EACjC,CA2BD,YAAA+G,CACEvH,EACAgC,EACAyE,KACGlG,GAEH,MAAMvD,EAAYkB,EAAMlB,UAAUgD,IAC5BQ,QAAEA,GAAYH,KAAK0E,OAAOxE,EAAMF,KAAKkH,cACrCP,EAA8B,CAAA,EACpCA,EAAO5L,EAAYK,OAASuB,EAC5BgK,EAAO5L,EAAYE,IAAM+E,KAAK4G,WAAWjK,EAAWgF,GACpD,MAAM0E,EAAMD,EAAM7H,EAAgB4I,UAClC,IAAKd,EACH,MAAM,IAAIU,EACR,+CAA+CpF,GAInD,OAFA7D,OAAOgC,OAAO6G,EAAQP,GACtBO,EAAO5L,EAAYG,KAAOmL,EACnB,CAAC1G,EAAOgC,EAAIgF,KAAWxG,EAC/B,CA4BS,eAAAiH,CACRzH,EACAmH,EACApK,KACGwD,GAEH,MAAMvD,EAAYkB,EAAMlB,UAAUgD,GAClC,GAAImH,EAAIhG,SAAWpE,EAAOoE,OACxB,MAAM,IAAIiG,EAAc,4CAC1B,MAAM5G,QAAEA,GAAYH,KAAK0E,OAAOxE,EAAMF,KAAKoH,iBACrCJ,EAAUF,EAAI7J,IAAI,CAAC0E,EAAIsF,KAC3B,MAAMN,EAA8B,CAAA,EACpCA,EAAO5L,EAAYK,OAASuB,EAC5BgK,EAAO5L,EAAYE,IAAM+E,KAAK4G,WAAWjK,EAAWgF,GACpD,MAAM0E,EAAM3J,EAAOuK,GAAO1I,EAAgB4I,UAC1C,IAAKd,EACH,MAAM,IAAIU,EACR,+CAA+CpF,GAInD,OAFA7D,OAAOgC,OAAO6G,EAAQjK,EAAOuK,IAC7BN,EAAO5L,EAAYG,KAAOmL,EACnBM,IAET,MAAO,CAAChH,EAAOmH,EAAKE,KAAY7G,EACjC,CAuBS,UAAAyG,CAAWjK,EAAmBgF,GACtC,MAAO,CAAChF,EAAWgF,GAAIxE,KAAKpC,EAAYC,UACzC,CASD,UAAAqM,CAAgCC,EAAqBC,GACnD,OAAOlC,EAAegC,WAAWC,EAAKC,EACvC,CAQkB,UAAAC,CAAWC,GAC5B,QAASA,EAAKC,MAAM5M,EACrB,CA0DS,iBAAOuM,CACfC,EACAC,GAEA,GAAID,aAAepI,EAAW,OAAOoI,EACrC,IAAIK,EAAe,GACnB,GAAmB,iBAARL,EAAkB,CAE3B,GADAK,EAAOL,EACHK,EAAKD,MAAM,kCACb,OAAO,IAAIE,EAAcD,GAC3B,GAAIA,EAAKD,MAAM,oBAAqB,OAAO,IAAIG,EAAcF,EAC9D,MAAWL,EAAYK,MACtBA,EAAQL,EAAYK,KACpBJ,EAASA,GAAUD,EAAIQ,SACbR,EAAYS,YACtBJ,EAAQL,EAAYS,WACpBR,EAASA,GAAUD,EAAIQ,SAEvBH,EAAOL,EAAIQ,QAGb,OAAQH,EAAKK,YACX,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAO,IAAIJ,EAAcL,GAC3B,IAAK,MACH,OAAO,IAAIM,EAAcN,GAC3B,IAAK,MACH,OAAII,EAAKK,WAAWN,MAAM,sBACjB,IAAIzI,EAAWqI,GACjB,IAAIP,EAAcO,GAC3B,QACE,OAAIK,EAAKK,WAAWN,MAAM,iBACjB,IAAIO,EAAgBX,GACtB,IAAIP,EAAcO,GAE9B,CAUD,kBAAOhB,CAA6BF,EAAU8B,GAC5CpK,OAAOqK,eAAe/B,EAAO7H,EAAgB4I,SAAU,CACrDiB,YAAY,EACZC,cAAc,EACdC,UAAU,EACVrK,MAAOiK,GAEV,CASD,kBAAOK,CAA6BnC,GAClC,MAAMoC,EAAa1K,OAAO2K,yBACxBrC,EACA7H,EAAgB4I,UAElB,OAAOqB,EAAaA,EAAWvK,WAAQkE,CACxC,CAQD,qBAAOuG,CAAgCtC,GAClBtI,OAAO2K,yBACxBrC,EACA7H,EAAgB4I,kBAEMf,EAAc7H,EAAgB4I,SACvD,EA/bDwB,EAAA,CADCC,8EAC6BlG,IAM7B2C,EAAAwD,UAAA,YAAA,MA4DSF,EAAA,CADTC,oGAQAvD,EAAAwD,UAAA,iBAAA,MAUSF,EAAA,CADTC,iGAUAvD,EAAAwD,UAAA,yBAAA,MAWSF,EAAA,CADTC,iHAcAvD,EAAAwD,UAAA,eAAA,MA4BSF,EAAA,CADTC,gHAmBAvD,EAAAwD,UAAA,kBAAA,MA2BDF,EAAA,CADCC,kHAoBAvD,EAAAwD,UAAA,eAAA,MA4BSF,EAAA,CADTC,gHAyBAvD,EAAAwD,UAAA,kBAAA,MC9UG,MAAO3C,UAGH4C,EACR,WAAA3J,CAAYK,EAAY4G,GACtB/G,MAAMG,EAAS4G,EAChB,CAIS,cAAAD,CAAe4C,EAAiBC,GACxC,MAAMC,EAAQ,CAACC,EAAaC,KAC1B,MAAMC,EAAiBD,GAAWD,EAC5BhB,EAAW7C,EAAekD,YAAYa,GAE5C,OADIlB,GAAU7C,EAAeiB,YAAY4C,EAAUhB,GAC5CgB,GAGT,OAAIG,MAAMC,QAAQP,GACTA,EAAO9L,IAAI,CAACmJ,EAAO9I,KACxB,MAAM6L,EAAUE,MAAMC,QAAQN,GAAUA,EAAO1L,GAAS0L,EACxD,OAAOC,EAAM7C,EAAO+C,KAKjBF,EAAMF,EADGM,MAAMC,QAAQN,GAAUA,IAAS,GAAKA,EAEvD,CAEQ,YAAMtD,CACbU,KACGlG,GAEH,MAAM2D,QAAexE,MAAMqG,OAAOU,KAAUlG,GAG5C,OAFAF,KAAKmG,eAAetC,GACpB7D,KAAKmG,eAAeC,EAAOvC,GACpBA,CACR,CAEQ,eAAM8B,CACbjJ,KACGwD,GAEH,MAAMQ,QAAgBrB,MAAMsG,UAAUjJ,KAAWwD,GAGjD,OAFAF,KAAKmG,eAAezF,GACpBV,KAAKmG,eAAezJ,EAAQgE,GACrBA,CACR,CAEQ,UAAM6I,CACb5H,KACGzB,GAEH,MAAM2D,QAAexE,MAAMkK,KAAK5H,KAAOzB,GACvC,OAAOF,KAAKmG,eAAetC,EAC5B,CAEQ,aAAM2F,CACb1C,KACG5G,GAEH,MAAMQ,QAAgBrB,MAAMmK,QAAQ1C,KAAQ5G,GAC5C,OAAOF,KAAKmG,eAAezF,EAC5B,CAEQ,YAAMkF,CACbQ,KACGlG,GAEH,MAAM2D,QAAexE,MAAMuG,OAAOQ,KAAUlG,GAG5C,OAFAF,KAAKmG,eAAetC,GACpB7D,KAAKmG,eAAeC,EAAOvC,GACpBA,CACR,CAEQ,eAAMgC,CACbnJ,KACGwD,GAEH,MAAMQ,QAAgBrB,MAAMwG,UAAUnJ,KAAWwD,GAGjD,OAFAF,KAAKmG,eAAezF,GACpBV,KAAKmG,eAAezJ,EAAQgE,GACrBA,CACR,CAEQ,YAAM,CACbiB,KACGzB,GAEH,MAAM2D,QAAexE,MAAMoK,OAAO9H,KAAOzB,GACzC,OAAOF,KAAKmG,eAAetC,EAC5B,CAEQ,eAAM6F,CACb5C,KACG5G,GAEH,MAAMQ,QAAgBrB,MAAMqK,UAAU5C,KAAQ5G,GAC9C,OAAOF,KAAKmG,eAAezF,EAC5B,CAWkB,kBAAMwG,CACvBd,KACGlG,GAEH,MAAMyJ,QAAoBC,EAAQ1J,KAChC2J,EAAcC,OACd9J,KAAK+J,MACL7J,EACAF,KAAKR,QACLQ,KAAKgK,YAAc,CAAE,GAEjB5J,EAAMuJ,EAAYM,QAClBC,EAAiB9J,EAAI0B,IAAI,kBACzBqI,EAAiB/J,EAAI0B,IAAI,oBACzBF,EAAKwE,EAAMpG,KAAK4B,IACtB,IAAKA,EACH,MAAM,IAAImF,EACR,qDAAqD/G,KAAK4B,IAE9D,IAAIwI,EACAC,EAmBJ,GAjBIjK,EAAI0B,IAAI,2BACVsI,QAAiBpK,KAAKuJ,KAAK3H,GAC3ByI,EAAcD,EAAW/E,EAAekD,YAAY6B,QAAYjI,EAE5D/B,EAAI0B,IAAI,oBACVsE,EAAQvI,EAAMuH,MAAMgF,EAAUhE,EAAOpG,KAAK+J,SAEzCG,SACGI,EACJtK,KACAI,EACAgG,EACAyD,EAAcC,OACdD,EAAcU,GACdH,IAGCD,EAAgB,CACnB,MAAMK,QAAeC,QAAQC,QAC3BtE,EAAMuE,UACJP,KACGvM,EAAM+M,UAAU5K,KAAK+J,UACpBJ,EAAYM,QAAQnI,IAAI,gCAAkC,KAGlE,GAAI0I,EAAQ,MAAM,IAAIK,EAAgBL,EAAOxC,WAC9C,CAED,OADIqC,GAAahF,EAAeiB,YAAYF,EAAOiE,GAC5C,CAACjE,KAAUuD,EAAYzJ,KAAMkK,EACrC,CAWkB,qBAAMhD,CACvB1K,KACGwD,GAEH,MAAMyJ,QAAoBC,EAAQ1J,KAChC2J,EAAcC,OACd9J,KAAK+J,MACL7J,EACAF,KAAKR,QACLQ,KAAKgK,YAAc,CAAE,GAEjBC,EAAUN,EAAYM,QAEtBC,EAAiBD,EAAQnI,IAAI,kBAC7BqI,EAAiBF,EAAQnI,IAAI,oBAC7BgF,EAAMpK,EAAOO,IAAKU,IACtB,MAAMgE,EAAKhE,EAAEqC,KAAK4B,IAClB,IAAKD,EAAI,MAAM,IAAIoF,EAAc,kCACjC,OAAOpF,IAET,IAAImJ,EACJ,GAAIb,EAAQnI,IAAI,2BACdgJ,QAAkB9K,KAAKwJ,QAAQ1C,EAAiBmD,GAC5CA,EAAQnI,IAAI,oBACdpF,EAASA,EAAOO,IAAI,CAACU,EAAG8I,KACtB9I,EAAIE,EAAMuH,MAAO0F,EAAkBrE,GAAI9I,EAAGqC,KAAK+J,OAC/C,MAAMM,EAAchF,EAAekD,YAAauC,EAAkBrE,IAElE,OADI4D,GAAahF,EAAeiB,YAAY3I,EAAG0M,GACxC1M,KAGNuM,SACGO,QAAQM,IACZrO,EAAOO,IAAI,CAACU,EAAG8I,IACb6D,EACEtK,KACA2J,EAAYM,QACZtM,EACAkM,EAAcC,OACdD,EAAcU,GACdO,EAAYA,EAAUrE,QAAKtE,MAK9BgI,GAAgB,CACnB,MAAMa,EAAef,EAAQnI,IAAI,gCAAkC,GACnE,IAAImJ,EAMFA,EALGhB,EAAQnI,IAAI,+BAKU2I,QAAQM,IAC/BrO,EAAOO,IAAI,CAACU,EAAG8I,IACbgE,QAAQC,QACN/M,EAAEgN,UAAWG,EAAkBrE,MAAcuE,YAP1BP,QAAQC,QAC/BhO,EAAOO,IAAKU,GAAMA,EAAEgN,aAAaK,KAYrC,MAAME,EAAgBC,EAAoBF,GAE1C,GAAIC,EAAe,MAAM,IAAIL,EAAgBK,EAC9C,CAGH,MAAO,CAACxO,KAAWiN,EAAYzJ,KAAM4K,EACtC,EChPIM,eAAeC,EAAOC,EAAUC,EAAcC,GACnD,OAAOF,EAAIG,KAAKF,EAAMC,EACxB,CAsCM,SAAUE,EACdJ,EACAK,EACAJ,EACAC,GAEA,MAAMI,EAAKN,EAAIO,IAAMP,EAAIO,IAAIF,GAAUL,EAkBvC,MAjBA,CAAC,SAAU,MAAO,MAAO,UAAW,QAAQ5N,QAASQ,IACnD,MAAM4N,EAAYF,EAA2B1N,GAC7CJ,OAAOqK,eAAeyD,EAAI1N,EAAG,CAC3BkK,YAAY,EACZC,cAAc,EACdpK,MAAOmN,SAAUlL,WACTmL,EAAOC,EAAKC,EAAMC,GACjBM,EAASC,KAAKH,KAAO1L,QAIlCpC,OAAOqK,eAAeyD,EAAI7Q,EAAYQ,OAAQ,CAC5C6M,YAAY,EACZC,cAAc,EACdC,UAAU,EACVrK,MAAOqN,IAEFM,CACT,CAUM,SAAUI,EAAuBvE,GAErC,OAAOA,EAAKC,MADG,SAEjB,CAcgB,SAAAtK,EACdkG,EACA3G,EACAG,EACAmP,EACAlP,EAAYC,GAEZ,MAAMyK,EAAO,CAAClJ,EAAgB/C,MAAOmB,EAAW2G,GAGhD,OAFIxG,GAAc2K,EAAK7I,QAAQ9B,GAC3BmP,GAAOxE,EAAK7I,KAAKqN,GACdxE,EAAKtK,KAAKJ,EACnB,CAyCgB,SAAAmP,EACd5I,EACA3G,EACAG,EACAmP,EACAlP,EAAYC,GAEZ,MAAMmP,EAAuC,CAAA,EAK7C,IAAI5O,EACJ,GALA4O,EAAsBpR,EAAYK,OAAS,GAC1C+Q,EAAsBpR,EAAYK,OACZ,IACnBuB,EAEAsP,EAAO,CACT,MAAMG,EAAuB,CAAA,EAC7BA,EAAU9I,GAAa2I,EACvB,MAAMI,GAAmCvP,GAAgB,IAAIG,IAAKqP,IAChE,MAAMlI,EAAe,CAAA,EAErB,OADAA,EAAEkI,GAAKL,EACA7H,IAEHmI,EAAyB,CAAA,EAC/BA,EAAYxR,EAAYK,OAAS6Q,EACjC1O,EAAS,CAAC6O,KAAcC,EAAoBE,EAC7C,MACChP,EAAS,CAAC+F,KAAexG,GAAgB,GAAK/B,EAAYK,OAE5D,MAAMwB,EAAOQ,EACXkG,EACA3G,EACAG,EACAmP,EACAlP,GAEF,MAAO,CACLO,MAAO,CACLC,OAAQA,GAGVC,KAAM,CAACZ,EAAM7B,EAAYO,MAAM6B,KAAKJ,GACpCH,KAAMA,EAEV,CCpLO,MAAM4P,EAAU,cAOVC,EAAe,cAE5B5K,EAAS6K,gBAAgBD,EAAcD"}
|
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.16";
|
|
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.16";
|
|
21
21
|
/**
|
|
22
22
|
* @description Stores the current package name
|
|
23
23
|
* @summary The version string of the for-couchdb package
|
|
@@ -4,7 +4,7 @@ import { Model } from "@decaf-ts/decorator-validation";
|
|
|
4
4
|
import { CouchDBAdapter } from "../adapter";
|
|
5
5
|
import { Constructor } from "@decaf-ts/decoration";
|
|
6
6
|
/**
|
|
7
|
-
* @description Paginator for
|
|
7
|
+
* @description Paginator for ConuchDB query results
|
|
8
8
|
* @summary Implements pagination for CouchDB queries using bookmarks for efficient navigation through result sets
|
|
9
9
|
* @template M - The model type that extends Model
|
|
10
10
|
* @template R - The result type
|
|
@@ -3,7 +3,7 @@ import { DBKeys } from "@decaf-ts/db-decorators";
|
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { Metadata } from "@decaf-ts/decoration";
|
|
5
5
|
/**
|
|
6
|
-
* @description Paginator for
|
|
6
|
+
* @description Paginator for ConuchDB query results
|
|
7
7
|
* @summary Implements pagination for CouchDB queries using bookmarks for efficient navigation through result sets
|
|
8
8
|
* @template M - The model type that extends Model
|
|
9
9
|
* @template R - The result type
|
package/lib/esm/repository.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare class CouchDBRepository<M extends Model, A extends CouchDBAdapter
|
|
|
25
25
|
* @throws {InternalError} If the model has no primary key value.
|
|
26
26
|
* @throws {ValidationError} If the model fails validation.
|
|
27
27
|
*/
|
|
28
|
-
protected updatePrefix(model: M, ...args: MaybeContextualArg<ContextOf<A>>): Promise<[M, ...args: any[], ContextOf<A
|
|
28
|
+
protected updatePrefix(model: M, ...args: MaybeContextualArg<ContextOf<A>>): Promise<[M, ...args: any[], ContextOf<A>, M | undefined]>;
|
|
29
29
|
/**
|
|
30
30
|
* @description Prepares multiple models for update.
|
|
31
31
|
* @summary Validates multiple models and prepares them for update in the database.
|
|
@@ -35,5 +35,5 @@ export declare class CouchDBRepository<M extends Model, A extends CouchDBAdapter
|
|
|
35
35
|
* @throws {InternalError} If any model has no primary key value.
|
|
36
36
|
* @throws {ValidationError} If any model fails validation.
|
|
37
37
|
*/
|
|
38
|
-
protected updateAllPrefix(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<[M[], ...args: any[], ContextOf<A
|
|
38
|
+
protected updateAllPrefix(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<[M[], ...args: any[], ContextOf<A>, M[] | undefined]>;
|
|
39
39
|
}
|
package/lib/esm/repository.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Repository } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { CouchDBAdapter } from "./adapter.js";
|
|
4
|
-
import { Context, enforceDBDecorators, InternalError, OperationKeys, ValidationError, } from "@decaf-ts/db-decorators";
|
|
4
|
+
import { Context, enforceDBDecorators, reduceErrorsToPrint, InternalError, OperationKeys, ValidationError, } from "@decaf-ts/db-decorators";
|
|
5
5
|
export class CouchDBRepository extends Repository {
|
|
6
6
|
constructor(adapter, model) {
|
|
7
7
|
super(adapter, model);
|
|
@@ -74,24 +74,30 @@ export class CouchDBRepository extends Repository {
|
|
|
74
74
|
*/
|
|
75
75
|
async updatePrefix(model, ...args) {
|
|
76
76
|
const contextArgs = await Context.args(OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
77
|
-
const
|
|
78
|
-
const
|
|
77
|
+
const ctx = contextArgs.context;
|
|
78
|
+
const ignoreHandlers = ctx.get("ignoreHandlers");
|
|
79
|
+
const ignoreValidate = ctx.get("ignoreValidation");
|
|
79
80
|
const pk = model[this.pk];
|
|
80
81
|
if (!pk)
|
|
81
82
|
throw new InternalError(`No value for the Id is defined under the property ${this.pk}`);
|
|
82
|
-
|
|
83
|
-
|
|
83
|
+
let oldModel;
|
|
84
|
+
let oldMetadata;
|
|
85
|
+
if (ctx.get("applyUpdateValidation")) {
|
|
86
|
+
oldModel = await this.read(pk);
|
|
87
|
+
oldMetadata = oldModel ? CouchDBAdapter.getMetadata(oldModel) : undefined;
|
|
88
|
+
if (ctx.get("mergeForUpdate"))
|
|
89
|
+
model = Model.merge(oldModel, model, this.class);
|
|
90
|
+
}
|
|
84
91
|
if (!ignoreHandlers)
|
|
85
|
-
await enforceDBDecorators(this,
|
|
92
|
+
await enforceDBDecorators(this, ctx, model, OperationKeys.UPDATE, OperationKeys.ON, oldModel);
|
|
86
93
|
if (!ignoreValidate) {
|
|
87
94
|
const errors = await Promise.resolve(model.hasErrors(oldModel, ...Model.relations(this.class), ...(contextArgs.context.get("ignoredValidationProperties") || [])));
|
|
88
95
|
if (errors)
|
|
89
96
|
throw new ValidationError(errors.toString());
|
|
90
97
|
}
|
|
91
|
-
const oldMetadata = CouchDBAdapter.getMetadata(oldModel);
|
|
92
98
|
if (oldMetadata)
|
|
93
99
|
CouchDBAdapter.setMetadata(model, oldMetadata);
|
|
94
|
-
return [model, ...contextArgs.args];
|
|
100
|
+
return [model, ...contextArgs.args, oldModel];
|
|
95
101
|
}
|
|
96
102
|
/**
|
|
97
103
|
* @description Prepares multiple models for update.
|
|
@@ -104,44 +110,43 @@ export class CouchDBRepository extends Repository {
|
|
|
104
110
|
*/
|
|
105
111
|
async updateAllPrefix(models, ...args) {
|
|
106
112
|
const contextArgs = await Context.args(OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
107
|
-
const
|
|
108
|
-
const
|
|
113
|
+
const context = contextArgs.context;
|
|
114
|
+
const ignoreHandlers = context.get("ignoreHandlers");
|
|
115
|
+
const ignoreValidate = context.get("ignoreValidation");
|
|
109
116
|
const ids = models.map((m) => {
|
|
110
117
|
const id = m[this.pk];
|
|
111
118
|
if (!id)
|
|
112
119
|
throw new InternalError("missing id on update operation");
|
|
113
120
|
return id;
|
|
114
121
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
122
|
+
let oldModels;
|
|
123
|
+
if (context.get("applyUpdateValidation")) {
|
|
124
|
+
oldModels = await this.readAll(ids, context);
|
|
125
|
+
if (context.get("mergeForUpdate"))
|
|
126
|
+
models = models.map((m, i) => {
|
|
127
|
+
m = Model.merge(oldModels[i], m, this.class);
|
|
128
|
+
const oldMetadata = CouchDBAdapter.getMetadata(oldModels[i]);
|
|
129
|
+
if (oldMetadata)
|
|
130
|
+
CouchDBAdapter.setMetadata(m, oldMetadata);
|
|
131
|
+
return m;
|
|
132
|
+
});
|
|
133
|
+
if (!ignoreHandlers)
|
|
134
|
+
await Promise.all(models.map((m, i) => enforceDBDecorators(this, contextArgs.context, m, OperationKeys.UPDATE, OperationKeys.ON, oldModels ? oldModels[i] : undefined)));
|
|
135
|
+
if (!ignoreValidate) {
|
|
136
|
+
const ignoredProps = context.get("ignoredValidationProperties") || [];
|
|
137
|
+
let modelsValidation;
|
|
138
|
+
if (!context.get("applyUpdateValidation")) {
|
|
139
|
+
modelsValidation = await Promise.resolve(models.map((m) => m.hasErrors(...ignoredProps)));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
modelsValidation = await Promise.all(models.map((m, i) => Promise.resolve(m.hasErrors(oldModels[i], ...ignoredProps))));
|
|
143
|
+
}
|
|
144
|
+
const errorMessages = reduceErrorsToPrint(modelsValidation);
|
|
145
|
+
if (errorMessages)
|
|
146
|
+
throw new ValidationError(errorMessages);
|
|
147
|
+
}
|
|
138
148
|
}
|
|
139
|
-
models.
|
|
140
|
-
const oldMetadata = CouchDBAdapter.getMetadata(oldModels[i]);
|
|
141
|
-
if (oldMetadata)
|
|
142
|
-
CouchDBAdapter.setMetadata(m, oldMetadata);
|
|
143
|
-
});
|
|
144
|
-
return [models, ...contextArgs.args];
|
|
149
|
+
return [models, ...contextArgs.args, oldModels];
|
|
145
150
|
}
|
|
146
151
|
}
|
|
147
152
|
//# sourceMappingURL=repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils.js
CHANGED
|
@@ -52,7 +52,7 @@ export async function reAuth(con, user, pass) {
|
|
|
52
52
|
* DB-->>Client: Return result
|
|
53
53
|
*/
|
|
54
54
|
export function wrapDocumentScope(con, dbName, user, pass) {
|
|
55
|
-
const db = con.use(dbName);
|
|
55
|
+
const db = con.use ? con.use(dbName) : con;
|
|
56
56
|
["insert", "get", "put", "destroy", "find"].forEach((k) => {
|
|
57
57
|
const original = db[k];
|
|
58
58
|
Object.defineProperty(db, k, {
|
package/lib/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,uBAAoB;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAGpD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAQ,EAAE,IAAY,EAAE,IAAY;IAC/D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAQ,EACR,MAAc,EACd,IAAY,EACZ,IAAY;IAEZ,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.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.16";
|
|
38
38
|
/**
|
|
39
39
|
* @description Stores the current package name
|
|
40
40
|
* @summary The version string of the for-couchdb package
|