@decaf-ts/for-couchdb 0.4.27 → 0.4.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/for-couchdb.cjs +1 -1
- package/dist/for-couchdb.cjs.map +1 -1
- package/dist/for-couchdb.js +1 -1
- package/dist/for-couchdb.js.map +1 -1
- package/lib/adapter.cjs +6 -13
- package/lib/adapter.js.map +1 -1
- package/lib/constants.cjs +2 -0
- package/lib/constants.d.ts +2 -0
- package/lib/constants.js.map +1 -1
- package/lib/decorators.cjs +168 -0
- package/lib/decorators.d.ts +11 -0
- package/lib/decorators.js.map +1 -0
- package/lib/esm/adapter.js +6 -13
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/constants.d.ts +2 -0
- package/lib/esm/constants.js +2 -0
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/decorators.d.ts +11 -0
- package/lib/esm/decorators.js +158 -0
- package/lib/esm/decorators.js.map +1 -0
- package/lib/esm/index.d.ts +4 -1
- package/lib/esm/index.js +4 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/indexes/generator.js +6 -0
- package/lib/esm/indexes/generator.js.map +1 -1
- package/lib/esm/metadata.d.ts +4 -0
- package/lib/esm/metadata.js +19 -0
- package/lib/esm/metadata.js.map +1 -0
- package/lib/esm/repository.d.ts +1 -1
- package/lib/esm/repository.js +7 -7
- package/lib/esm/repository.js.map +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -1
- package/lib/esm/views/generator.d.ts +7 -0
- package/lib/esm/views/generator.js +251 -0
- package/lib/esm/views/generator.js.map +1 -0
- package/lib/esm/views/index.d.ts +2 -0
- package/lib/esm/views/index.js +3 -0
- package/lib/esm/views/index.js.map +1 -0
- package/lib/esm/views/types.d.ts +44 -0
- package/lib/esm/views/types.js +2 -0
- package/lib/esm/views/types.js.map +1 -0
- package/lib/index.cjs +4 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js.map +1 -1
- package/lib/indexes/generator.cjs +6 -0
- package/lib/indexes/generator.js.map +1 -1
- package/lib/metadata.cjs +24 -0
- package/lib/metadata.d.ts +4 -0
- package/lib/metadata.js.map +1 -0
- package/lib/repository.cjs +7 -7
- package/lib/repository.d.ts +1 -1
- package/lib/repository.js.map +1 -1
- package/lib/utils.cjs +1 -1
- package/lib/utils.js.map +1 -1
- package/lib/views/generator.cjs +256 -0
- package/lib/views/generator.d.ts +7 -0
- package/lib/views/generator.js.map +1 -0
- package/lib/views/index.cjs +19 -0
- package/lib/views/index.d.ts +2 -0
- package/lib/views/index.js.map +1 -0
- package/lib/views/types.cjs +3 -0
- package/lib/views/types.d.ts +44 -0
- package/lib/views/types.js.map +1 -0
- package/package.json +1 -1
package/dist/for-couchdb.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,a,s,o,i){"use strict";const n=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,o,...i){const{log:n,ctxArgs:c,ctx:d}=this.adapter.logCtx([o,...i],this.page);if(this.isPreparedStatement())return await this.pagePrepared(e,...c);const l=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)e=this.validatePage(e),l.skip=(e-1)*this.size;else{this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...l,limit:Number.MAX_VALUE},!0,...c)||[];if(this._recordCount=t.length,this._recordCount>0){const t=l?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/t),await this.page(e,...c)}}if(1!==e){if(!this._bookmark)throw new r.PagingError("No bookmark. Did you start in the first page?");l.bookmark=this._bookmark}const u=await this.adapter.raw(l,!1,...c),{docs:p,bookmark:h,warning:g}=u;if(g&&n.warn(g),!this.clazz)throw new r.PagingError("No statement target defined");const f=s.Model.pk(this.clazz),m=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,f))?.type,A=l.fields&&l.fields.length?p:p.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(m,e[f]),void 0,d));return this._bookmark=h,this._currentPage=e,A}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e},[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map(([e,t])=>{const r={};return r[e]=t,r})],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r})}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),i=await this.adapter.raw(e,!0,o),n=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,n))?.type;return this.selectSelector?i:i.map(e=>this.processRecord(e,n,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])})}Statement(){return new g(this)}Paginator(e,t,r){return new p(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(f.setMetadata(e,t[r]),e)),e}prepare(e,...t){const{log:o}=this.logCtx(t,this.prepare),i=e.segregate(),n=Object.entries(i.model).reduce((t,[r,o])=>{if(void 0===o)return t;const i=s.Model.columnName(e.constructor,r);if(this.isReserved(i))throw new a.InternalError(`Property name ${i} is reserved`);return o=o instanceof Date?new Date(o):o,t[i]=o,t},{});return e[r.PersistenceKeys.METADATA]&&(o.silly("Passing along persistence metadata for "+e[r.PersistenceKeys.METADATA]),Object.defineProperty(n,r.PersistenceKeys.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[r.PersistenceKeys.METADATA]})),{record:n,id:e[s.Model.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),i=s.Model.tableName(e),n={};return n[c.TABLE]=i,n[c.ID]=this.generateId(i,t),Object.assign(n,r),[e,t,n,...o]}createAllPrefix(e,t,r,...o){const i=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(o,this.createAllPrefix),d=t.map((e,t)=>{const a={};return a[c.TABLE]=i,a[c.ID]=this.generateId(i,e),Object.assign(a,r[t]),a});return[e,t,d,...n]}updatePrefix(e,t,o,...i){const n=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(i,this.updatePrefix),l={};l[c.TABLE]=n,l[c.ID]=this.generateId(n,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...i){const n=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(i,this.updateAllPrefix),l=t.map((e,t)=>{const s={};s[c.TABLE]=n,s[c.ID]=this.generateId(n,e);const i=o[t][r.PersistenceKeys.METADATA];if(!i)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=i,s});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(n)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const{ctx:r,ctxArgs:o,log:i}=(await this.logCtx(t,a.OperationKeys.UPDATE,!0)).for(this.updatePrefix),n=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${n}, validationSetting: ${c}`);const d=e[this.pk];if(!d)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);let l,u;if(r.get("applyUpdateValidation")&&(l=await this.read(d),u=l?f.getMetadata(l):void 0,r.get("mergeForUpdate")&&(e=s.Model.merge(l,e,this.class))),n||await a.enforceDBDecorators(this,r,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,l),!c){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const s=await Promise.resolve(e.hasErrors(l,...t));if(s)throw new a.ValidationError(s.toString())}return u&&f.setMetadata(e,u),[e,...o,l]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:o,log:i}=(await this.logCtx(t,a.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),n=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${n}, ignoredValidation: ${c}`);const d=e.map(e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t});let l;if(r.get("applyUpdateValidation")&&(l=await this.readAll(d,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=s.Model.merge(l[t],e,this.class));const a=f.getMetadata(l[t]);return a&&f.setMetadata(e,a),e})),n||await Promise.all(e.map((e,t)=>a.enforceDBDecorators(this,r,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,l?l[t]:void 0))),!c){const t=r.get("ignoredValidationProperties")||[];let s;i.silly("ignored validation properties: "+t),s=r.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(l[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const o=a.reduceErrorsToPrint(s);if(o)throw new a.ValidationError(o)}return[e,...o,l]}}async function A(e,t,r){return e.auth(t,r)}function y(e,t,s,o,i=a.DefaultSeparator){const n=[r.PersistenceKeys.INDEX,t,e];return s&&n.push(...s),o&&n.push(o),n.join(i)}const E="##VERSION##",b="##PACKAGE##";t.Metadata.registerLibrary(b,E),e.CouchDBAdapter=f,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=p,e.CouchDBQueryLimit=250,e.CouchDBRepository=m,e.CouchDBStatement=g,e.IndexError=u,e.PACKAGE_NAME=b,e.VERSION=E,e.generateIndexDoc=(e,t,r,s,o=a.DefaultSeparator)=>{const i={};let n;if(i[c.TABLE]={},i[c.TABLE][d.EQUAL]=t,s){const t={};t[e]=s;const a=(r||[]).map(e=>{const t={};return t[e]=s,t}),o={};o[c.TABLE]=s,n=[t,...a,o]}else n=[e,...r||[],c.TABLE];const l=y(e,t,r,s,o);return{index:{fields:n},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=y,e.generateIndexes=e=>{const t=((e,t,r,s=a.DefaultSeparator)=>[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(s))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=s.Model.indexes(e);Object.entries(t).forEach(([t,i])=>{const n=Object.keys(i)[0];let{directions:l,compositions:u}=i[n];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[c.TABLE,t,...u].reduce((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t},[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach(e=>h(e))})}),Object.values(o)},e.reAuth=A,e.reservedAttributes=n,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use?e.use(t):e;return["insert","get","put","destroy","find"].forEach(t=>{const o=s[t];Object.defineProperty(s,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await A(e,r,a),o.call(s,...t))})}),Object.defineProperty(s,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),s}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,a,n,o,i){"use strict";const s=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index",VIEW:"view"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};async function u(e,t,r){return e.auth(t,r)}function p(e,t,n,o,i=a.DefaultSeparator){const s=[r.PersistenceKeys.INDEX,t,e];return n&&s.push(...n),o&&s.push(o),s.join(i)}function f(e,t,r,n,o=a.DefaultSeparator){const i={};let s;if(i[c.TABLE]={},i[c.TABLE][d.EQUAL]=t,n){const t={};t[e]=n;const a=(r||[]).map(e=>{const t={};return t[e]=n,t}),o={};o[c.TABLE]=n,s=[t,...a,o]}else s=[e,...r||[],c.TABLE];const l=p(e,t,r,n,o);return{index:{fields:s},ddoc:[l,c.DDOC].join(o),name:l}}function g(e){return e instanceof Date?JSON.stringify(e.toISOString()):e instanceof RegExp?`new RegExp(${JSON.stringify(e.source)}, ${JSON.stringify(e.flags)})`:JSON.stringify(e)}function h(e,t){const{attr1:a,operator:n,comparison:o}=e;if(a instanceof r.Condition){const e=h(a,t);if(n===r.Operator.NOT)return`!(${e})`;const i=h(o,t);return n===r.GroupOperator.AND?`(${e} && ${i})`:n===r.GroupOperator.OR?`(${e} || ${i})`:e}const i=`${t}[${JSON.stringify(a)}]`;switch(n){case r.Operator.EQUAL:return`${i} === ${g(o)}`;case r.Operator.DIFFERENT:return`${i} !== ${g(o)}`;case r.Operator.BIGGER:return`${i} > ${g(o)}`;case r.Operator.BIGGER_EQ:return`${i} >= ${g(o)}`;case r.Operator.SMALLER:return`${i} < ${g(o)}`;case r.Operator.SMALLER_EQ:return`${i} <= ${g(o)}`;case r.Operator.IN:return`(${g(o)}).indexOf(${i}) !== -1`;case r.Operator.REGEXP:return`${o instanceof RegExp?g(o):`new RegExp(${JSON.stringify(o)})`}.test(${i})`;case r.Operator.NOT:return`!(${i} === ${g(o)})`;default:return"true"}}function m(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function y(e,r,a){const n=t.Metadata.get(e,r)||{};return Object.entries(n).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>{const r=t;return{...r,kind:a,attribute:r.attribute||e}}):[])}function O(e){const t={},a=[[c.VIEW,"view"],[r.Operator.GROUP_BY,"groupBy"],[r.Operator.COUNT,"count"],[r.Operator.SUM,"sum"],[r.Operator.MAX,"max"],[r.Operator.MIN,"min"],[r.Operator.DISTINCT,"distinct"]];return e.forEach(e=>{const o=n.Model.tableName(e);a.flatMap(([t,r])=>y(e,t,r)).forEach(e=>{const a=m(e.key,e.attribute,e.compositions);if(!a.length)return;const n=a[0],i=a.slice(1),s=e.directions||[r.OrderDirection.ASC,r.OrderDirection.DSC],c=f(n,o,i);t[c.name||""]=c,s.forEach(e=>{const r=f(n,o,i,e);t[r.name||""]=r})})}),Object.values(t)}function A(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function E(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}function b(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}class v extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=E(t??e);return r&&A(e,r),e};return Array.isArray(e)?e.map((e,a)=>{const n=Array.isArray(t)?t[a]:t;return r(e,n)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const{ctx:r,ctxArgs:o,log:i}=(await this.logCtx(t,a.OperationKeys.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, validationSetting: ${c}`);const d=e[this.pk];if(!d)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);let l,u;if(r.get("applyUpdateValidation")&&(l=await this.read(d),u=l?E(l):void 0,r.get("mergeForUpdate")&&(e=n.Model.merge(l,e,this.class))),s||await a.enforceDBDecorators(this,r,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,l),!c){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const n=await Promise.resolve(e.hasErrors(l,...t));if(n)throw new a.ValidationError(n.toString())}return u&&A(e,u),[e,...o,l]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:o,log:i}=(await this.logCtx(t,a.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, ignoredValidation: ${c}`);const d=e.map(e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t});let l;if(r.get("applyUpdateValidation")&&(l=await this.readAll(d,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=n.Model.merge(l[t],e,this.class));const a=E(l[t]);return a&&A(e,a),e})),s||await Promise.all(e.map((e,t)=>a.enforceDBDecorators(this,r,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,l?l[t]:void 0))),!c){const t=r.get("ignoredValidationProperties")||[];let n;i.silly("ignored validation properties: "+t),n=r.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(l[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const o=a.reduceErrorsToPrint(n);if(o)throw new a.ValidationError(o)}return[e,...o,l]}}class w extends a.BaseError{constructor(e){super(w.name,e,404)}}class D extends r.Paginator{constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1,o,...i){const{log:s,ctxArgs:c,ctx:d}=this.adapter.logCtx([o,...i],this.page);if(this.isPreparedStatement())return await this.pagePrepared(e,...c);const l=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)e=this.validatePage(e),l.skip=(e-1)*this.size;else{this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...l,limit:Number.MAX_VALUE},!0,...c)||[];if(this._recordCount=t.length,this._recordCount>0){const t=l?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/t),await this.page(e,...c)}}if(1!==e){if(!this._bookmark)throw new r.PagingError("No bookmark. Did you start in the first page?");l.bookmark=this._bookmark}const u=await this.adapter.raw(l,!1,...c),{docs:p,bookmark:f,warning:g}=u;if(g&&s.warn(g),!this.clazz)throw new r.PagingError("No statement target defined");const h=n.Model.pk(this.clazz),m=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,h))?.type,y=l.fields&&l.fields.length?p:p.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(m,e[h]),void 0,d));return this._bookmark=f,this._currentPage=e,y}}function _(e){for(const t of[d,l]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class x extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=n.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,n=Object.keys(t);if(1===n.length&&-1!==Object.values(l).indexOf(n[0]))switch(n[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e},[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map(([e,t])=>{const r={};return r[e]=t,r})],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r})}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}processRecord(e,t,a,n){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,n)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),i=await this.adapter.raw(e,!0,o),s=n.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,s))?.type;return this.selectSelector?i:i.map(e=>this.processRecord(e,s,c,o))}parseCondition(e){const{attr1:t,operator:a,comparison:n}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][_(a)]=n;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[_(r.Operator.NOT)]={},o[_(r.Operator.NOT)][t.attr1]=n;else{const e=this.parseCondition(t).selector,r=this.parseCondition(n).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(_(a),e,r).selector}return{selector:o}}}class N extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])})}Statement(){return new x(this)}Paginator(e,t,r){return new D(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return v}assignMetadata(e,t){return t?(A(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(A(e,t[r]),e)),e}prepare(e,...t){const{log:o}=this.logCtx(t,this.prepare),i=e.segregate(),s=Object.entries(i.model).reduce((t,[r,o])=>{if(void 0===o)return t;const i=n.Model.columnName(e.constructor,r);if(this.isReserved(i))throw new a.InternalError(`Property name ${i} is reserved`);return o=o instanceof Date?new Date(o):o,t[i]=o,t},{});return e[r.PersistenceKeys.METADATA]&&(o.silly("Passing along persistence metadata for "+e[r.PersistenceKeys.METADATA]),Object.defineProperty(s,r.PersistenceKeys.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[r.PersistenceKeys.METADATA]})),{record:s,id:e[n.Model.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),i=n.Model.tableName(e),s={};return s[c.TABLE]=i,s[c.ID]=this.generateId(i,t),Object.assign(s,r),[e,t,s,...o]}createAllPrefix(e,t,r,...o){const i=n.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(o,this.createAllPrefix),d=t.map((e,t)=>{const a={};return a[c.TABLE]=i,a[c.ID]=this.generateId(i,e),Object.assign(a,r[t]),a});return[e,t,d,...s]}updatePrefix(e,t,o,...i){const s=n.Model.tableName(e),{ctxArgs:d}=this.logCtx(i,this.updatePrefix),l={};l[c.TABLE]=s,l[c.ID]=this.generateId(s,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...i){const s=n.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(i,this.updateAllPrefix),l=t.map((e,t)=>{const n={};n[c.TABLE]=s,n[c.ID]=this.generateId(s,e);const i=o[t][r.PersistenceKeys.METADATA];if(!i)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(n,o[t]),n[c.REV]=i,n});return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return N.parseError(e,t)}isReserved(e){return!!e.match(s)}static parseError(e,t){if(e instanceof a.BaseError)return e;let n="";if("string"==typeof e){if(n=e,n.match(/already exist|update conflict/g))return new a.ConflictError(n);if(n.match(/missing|deleted/g))return new a.NotFoundError(n)}else e.code?(n=e.code,t=t||e.message):e.statusCode?(n=e.statusCode,t=t||e.message):n=e.message;switch(n.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return n.toString().match(/No\sindex\sexists/g)?new w(e):new a.InternalError(e);default:return n.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){A(e,t)}static getMetadata(e){return E(e)}static removeMetadata(e){b(e)}}function M(e,r,a){return(n,o)=>{const i=a?.name||((e,r,a)=>{const n=(t.Metadata.get(e.constructor,r)||{})[a]||{};return Object.keys(n).length+1+""})(n,e,o),s=t.Metadata.key(e,o,i),c={...a||{},kind:r,attribute:o};return t.propMetadata(s,c)(n,o)}}o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",x)],N.prototype,"Statement",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],N.prototype,"assignMetadata",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],N.prototype,"assignMultipleMetadata",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],N.prototype,"createPrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],N.prototype,"createAllPrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],N.prototype,"updatePrefix",null),o.__decorate([i.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],N.prototype,"updateAllPrefix",null);const T="##VERSION##",S="##PACKAGE##";t.Metadata.registerLibrary(S,T),Object.defineProperty(e,"DefaultSeparator",{enumerable:!0,get:()=>a.DefaultSeparator}),e.CouchDBAdapter=N,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=D,e.CouchDBQueryLimit=250,e.CouchDBRepository=v,e.CouchDBStatement=x,e.IndexError=w,e.PACKAGE_NAME=S,e.VERSION=T,e.count=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:"object"==typeof e&&e?n=e:void 0!==e&&(n.value=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.COUNT).define({decorator:e=>M(r.Operator.COUNT,"count",e),args:[n]}).apply()},e.distinct=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.DISTINCT).define({decorator:e=>M(r.Operator.DISTINCT,"distinct",e),args:[n]}).apply()},e.generateIndexDoc=f,e.generateIndexName=p,e.generateIndexes=e=>{const t=((e,t,r,n=a.DefaultSeparator)=>[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(n))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=n.Model.indexes(e);Object.entries(t).forEach(([t,i])=>{const s=Object.keys(i)[0];let{directions:l,compositions:u}=i[s];const p=n.Model.tableName(e);function f(e){const n=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[n]={index:{fields:[c.TABLE,t,...u].reduce((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t},[])},name:n,ddoc:n,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[n].index.partial_filter_selector=e}}u=u||[],f(),l&&l.forEach(e=>f(e))})}),O(e).forEach(e=>{e.name&&(o[e.name]=e)}),Object.values(o)},e.generateViewIndexes=O,e.generateViews=e=>{const t={},o=[[c.VIEW,"view"],[r.Operator.GROUP_BY,"groupBy"],[r.Operator.COUNT,"count"],[r.Operator.SUM,"sum"],[r.Operator.MAX,"max"],[r.Operator.MIN,"min"],[r.Operator.DISTINCT,"distinct"]];return e.forEach(e=>{const i=n.Model.tableName(e);o.flatMap(([t,r])=>y(e,t,r)).forEach(e=>{const n=e.attribute,o=((e,t,r,n,o=a.DefaultSeparator)=>n.name?n.name:[e,t,r,"view"].join(o).replace(/\s+/g,"_"))(i,n,e.kind,e),s=e.ddoc||((e,t,r=a.DefaultSeparator)=>[e,t,c.DDOC].join(r))(i,o),d="_design/"+s,l=((e,t,a,n)=>{const o=((e,t,a)=>{if(a.map)return"function"==typeof a.map?a.map.toString():a.map;const n=[];if(n.push(`doc[${JSON.stringify(c.TABLE)}] === ${JSON.stringify(e)}`),a.condition)if(a.condition instanceof r.Condition)n.push(h(a.condition,"doc"));else if("string"==typeof a.condition)n.push(a.condition);else{const e=r.Condition.from(a.condition);n.push(h(e,"doc"))}"count"===a.kind&&void 0!==a.value&&n.push(`doc[${JSON.stringify(t)}] === ${g(a.value)}`);const o=((e,t="doc")=>{if(!e)return;if("string"==typeof e)return e;const r=e.field||"roles",a=e.roles||[];if(!a.length)return e.expression;const n=`${t}[${JSON.stringify(r)}] || []`;return"all"===(e.mode||"any")?a.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" && "):a.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" || ")})(a.auth,"doc");o&&n.push(o);const i=n.length?n.join(" && "):"true",s=((e,t,r)=>{const a=m(e,t,r);return 1===a.length?`doc[${JSON.stringify(a[0])}]`:`[${a.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`})(a.key,t,a.compositions),d=((e,t)=>"doc"===e?"doc":e?Array.isArray(e)?`[${e.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`:"string"==typeof e?`doc[${JSON.stringify(e)}]`:g(e):`doc[${JSON.stringify(t)}]`)(a.value??(a.returnDocs&&"sum"!==a.kind?"doc":void 0),t);return`function (doc) {\n if (!(${i})) return;\n emit(${s}, ${d});\n}`})(n,t,a),i=a.reduce?"function"==typeof a.reduce?a.reduce.toString():a.reduce:(e=>{switch(e){case"count":case"groupBy":case"distinct":return"_count";case"sum":return"_sum";case"max":return"function (keys, values, rereduce) {\n var maxVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (maxVal === null || val > maxVal) maxVal = val;\n }\n return maxVal;\n}";case"min":return"function (keys, values, rereduce) {\n var minVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (minVal === null || val < minVal) minVal = val;\n }\n return minVal;\n}";default:return}})(e);return{map:o,reduce:i}})(e.kind,n,e,i);t[d]||(t[d]={_id:d,language:"javascript",views:{}}),t[d].views[o]=l})}),Object.values(t)},e.getMetadata=E,e.groupBy=(e,a)=>{let n={};return Array.isArray(e)?n.compositions=e:"string"==typeof e?n.name=e:e&&(n=e),"string"==typeof a?n.name=a:a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.GROUP_BY).define({decorator:e=>M(r.Operator.GROUP_BY,"groupBy",e),args:[n]}).apply()},e.max=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.MAX).define({decorator:e=>M(r.Operator.MAX,"max",e),args:[n]}).apply()},e.min=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.MIN).define({decorator:e=>M(r.Operator.MIN,"min",e),args:[n]}).apply()},e.reAuth=u,e.removeMetadata=b,e.reservedAttributes=s,e.setMetadata=A,e.sum=(e,a)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),a&&(n=Object.assign({},n,a)),t.Decoration.for(r.Operator.SUM).define({decorator:e=>M(r.Operator.SUM,"sum",e),args:[n]}).apply()},e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=_,e.view=e=>t.Decoration.for(c.VIEW).define({decorator:e=>M(c.VIEW,"view",e),args:[e]}).apply(),e.viewIndexDefinition=e=>{const t=m(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}},e.wrapDocumentScope=(e,t,r,a)=>{const n=e.use?e.use(t):e;return["insert","get","put","destroy","find","view"].forEach(t=>{const o=n[t];Object.defineProperty(n,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await u(e,r,a),o.call(n,...t))})}),Object.defineProperty(n,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),n}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
2
2
|
//# sourceMappingURL=for-couchdb.cjs.map
|
package/dist/for-couchdb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","bookmark","args","log","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","length","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","id","Model","pk","type","Metadata","get","key","DBKeys","pageResults","fields","map","d","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","for","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","processRecord","r","pkAttr","sequenceType","keyArgs","split","join","rawInput","logCtx","results","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","segregate","mappedProp","columnName","isReserved","InternalError","Date","PersistenceKeys","METADATA","silly","defineProperty","enumerable","writable","configurable","record","transient","createPrefix","generateId","createAllPrefix","ids","records","count","updatePrefix","updateAllPrefix","parseError","err","reason","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","OperationKeys","UPDATE","ignoreHandlers","ignoreValidate","oldModel","oldMetadata","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","BulkCrudOperationKeys","UPDATE_ALL","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","VERSION","PACKAGE_NAME","registerLibrary","NULL","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","ddoc","direction","n","indexes","ind","directions","generate","res","tableFilter","partial_filter_selector","dbName","db","use","original","call"],"mappings":"sDAMa,MAAAA,EAAqB,SAyBrBC,EAAc,CACzBC,UAAW,KACXC,GAAI,MACJC,IAAK,OACLC,QAAS,WACTC,MAAO,UACPC,SAAU,aACVC,KAAM,OACNC,OAAQ,WACRC,MAAO,SCbIC,EAAiD,CAC5DC,MAAO,MACPC,UAAW,MACXC,OAAQ,MACRC,UAAW,OACXC,QAAS,MACTC,WAAY,OAEZC,IAAK,OACLC,GAAI,MAEJC,OAAQ,UAaGC,EAAsD,CACjEC,IAAK,OACLC,GAAI,OClCA,MAAOC,UAAmBC,EAAAA,UAC9B,WAAAC,CAAYC,GACVC,MAAMJ,EAAWK,KAAMF,EAAK,IAC7B,ECYG,MAAOG,UAA0CC,EAAAA,UAarD,WAAAL,CACEM,EACAC,EACAC,EACAC,GAEAP,MAAMI,EAASC,EAAOC,EAAMC,EAC7B,CAQS,OAAAC,CAAQC,GAChB,MAAMJ,EAAoBK,OAAOC,OAAO,CAAE,EAAEF,GAK5C,OAJIJ,EAAMO,QAAOC,KAAKD,MAAQP,EAAMO,OAEpCP,EAAMO,MAAQC,KAAKP,KAEZD,CACR,CA6DQ,UAAMS,CACbA,EAA2B,EAC3BC,KACGC,GAEH,MAAMC,IAAEA,EAAGC,QAAEA,EAAOC,IAAEA,GAAQN,KAAKT,QAAgB,OACjD,CAACW,KAAaC,GACdH,KAAKC,MAEP,GAAID,KAAKO,sBACP,aAAaP,KAAKQ,aAAaP,KAASI,GAC1C,MAAMI,EAAYZ,OAAOC,OAAO,CAAA,EAAIE,KAAKS,WAEzC,GAAKT,KAAKU,cAAiBV,KAAKW,YAe9BV,EAAOD,KAAKY,aAAaX,GACzBQ,EAAUI,MAAQZ,EAAO,GAAKD,KAAKP,SAhBQ,CAC3CO,KAAKW,YAAcX,KAAKU,aAAe,EACvC,MAAMI,QACGd,KAAKT,QAAQwB,IAClB,IAAKN,EAAWV,MAAOiB,OAAOC,YAC9B,KACGZ,IACC,GAER,GADAL,KAAKU,aAAeI,EAAaI,OAC7BlB,KAAKU,aAAe,EAAG,CACzB,MAAMjB,EAAOgB,GAAWV,OAASC,KAAKP,KAEtC,OADAO,KAAKW,YAAcQ,KAAKC,KAAKpB,KAAKU,aAAejB,SACpCO,KAAKC,KAAKA,KAASI,EACjC,CACF,CAKD,GAAa,IAATJ,EAAY,CACd,IAAKD,KAAKqB,UACR,MAAM,IAAIC,EAAAA,YAAY,iDACxBb,EAAoB,SAAIT,KAAKqB,SAC9B,CACD,MAAME,QAAuCvB,KAAKT,QAAQwB,IACxDN,GACA,KACGJ,IAGCmB,KAAEA,EAAMtB,SAAUuB,EAAYC,QAAEA,GAAYH,EAElD,GADIG,GAAStB,EAAIuB,KAAKD,IACjB1B,KAAKN,MAAO,MAAM,IAAI4B,EAAAA,YAAY,+BACvC,MAAMM,EAAKC,EAAKA,MAACC,GAAG9B,KAAKN,OACnBqC,EAAOC,EAAQA,SAACC,IACpBjC,KAAKN,MACLsC,EAAAA,SAASE,IAAIC,EAAMA,OAACzE,GAAIkE,KACvBG,KACGK,EACJ3B,EAAU4B,QAAU5B,EAAU4B,OAAOnB,OACjCM,EACAA,EAAKc,IAAKC,GACDvC,KAAKT,QAAQiD,OAClBD,EACAvC,KAAKN,MACL+C,EAAAA,SAASC,WAAWX,EAAMQ,EAAEX,SAC5Be,EACArC,IAKV,OAFAN,KAAKqB,UAAYI,EACjBzB,KAAK4C,aAAe3C,EACbmC,CACR,EChKG,SAAUS,EACdC,GAEA,IAAK,MAAMC,IAAa,CAAC7E,EAAiBU,GAAuB,CAC/D,MAAMoE,EAAKnD,OAAOoD,KAAKF,GAAWG,KAAMC,GAAMA,IAAML,GACpD,GAAIE,EAAI,OAAOD,EAAUC,EAC1B,CACD,MAAM,IAAII,EAAAA,WACR,mDAAmDN,EAEvD,CCJM,MAAOO,UAIHC,EAAAA,UACR,WAAArE,CAAYM,GACVJ,MAAMI,EACP,CA0DS,KAAAgE,GACR,MAAMnD,EAAMJ,KAAKI,IAAIoD,IAAIxD,KAAKuD,OACxBE,EAA2B,CAAA,EACjCA,EAAUjG,EAAYK,OAAS,GAC/B4F,EAAUjG,EAAYK,OAASgE,EAAKA,MAAC6B,UAAU1D,KAAK2D,cACpD,MAAMnE,EAAoB,CAAEoE,SAAUH,GAGtC,GAFIzD,KAAK6D,iBAAgBrE,EAAM6C,OAASrC,KAAK6D,gBAEzC7D,KAAK8D,eAAgB,CACvB,MAAMC,EAA2B/D,KAAKgE,eACpCC,EAAAA,UAAUC,IACRlE,KAAK8D,eACLG,EAAAA,UAAUE,UAAa3G,EAAYK,OAAkBuG,GACnD5E,EAAMoE,SAASpG,EAAYK,UAG/B+F,SACIS,EAAexE,OAAOoD,KAAKc,GACjC,GAC0B,IAAxBM,EAAanD,SACqD,IAAlErB,OAAOyE,OAAO1F,GAAsB2F,QAAQF,EAAa,IAEzD,OAAQA,EAAa,IACnB,KAAKzF,EAAqBC,IACxBkF,EAAUnF,EAAqBC,KAAO,IACjCgB,OAAOyE,OACRP,EAAUnF,EAAqBC,MAC/B2F,OAAO,CAACC,EAAwBC,KAChC,MAAMzB,EAAOpD,OAAOoD,KAAKyB,GACzB,GAAoB,IAAhBzB,EAAK/B,OACP,MAAUyD,MACR,kDAEJ,MAAMxB,EAAIF,EAAK,GAIf,OAHIE,IAAMvE,EAAqBC,IAC7B4F,EAAMG,QAASF,EAAIvB,IAChBsB,EAAMG,KAAKF,GACTD,GACN,KAELjF,EAAMoE,SAAWG,EACjB,MACF,KAAKnF,EAAqBE,GAAI,CAC5B,MAAM+F,EAAsB,CAAA,EAC5BA,EAAEjG,EAAqBC,KAAO,CAC5BkF,KACGlE,OAAOiF,QAAQtF,EAAMoE,UAAUtB,IAAI,EAAEJ,EAAKwC,MAC3C,MAAMK,EAA2B,CAAA,EAEjC,OADAA,EAAO7C,GAAOwC,EACPK,KAGXvF,EAAMoE,SAAWiB,EACjB,KACD,CACD,QACE,MAAUF,MAAM,kCAGpB9E,OAAOiF,QAAQf,GAAWiB,QAAQ,EAAE9C,EAAKwC,MACnClF,EAAMoE,SAAS1B,IACjB9B,EAAIuB,KACF,KAAKO,4CAA8C1C,EAAMoE,SAAS1B,SAAWwC,KAEjFlF,EAAMoE,SAAS1B,GAAOwC,GAG3B,CAED,GAAI1E,KAAKiF,gBAAiB,CACxBzF,EAAM0F,KAAO1F,EAAM0F,MAAQ,GAC3B1F,EAAMoE,SAAWpE,EAAMoE,UAAa,CAAA,EACpC,MAAOA,EAAUuB,GAASnF,KAAKiF,gBAIzBG,EAAW,CAAA,EACjBA,EAAIxB,GAAYuB,EACf3F,EAAM0F,KAAeN,KAAKQ,GACtB5F,EAAMoE,SAASA,KAClBpE,EAAMoE,SAASA,GAAY,GAC1BpE,EAAMoE,SAASA,GAA4B1F,EAAgBG,QAC1D,KAEL,CAaD,OAXI2B,KAAKqF,cACP7F,EAAMO,MAAQC,KAAKqF,eAEnBjF,EAAIuB,KACF,iEAEFnC,EAAMO,MJ/LqB,KIkMzBC,KAAKsF,iBAAgB9F,EAAMqB,KAAOb,KAAKsF,gBAEpC9F,CACR,CAUS,aAAA+F,CACRC,EACAC,EACAC,EACApF,GAEA,GAAIkF,EAAEhI,EAAYE,IAAK,CACrB,MAAS,IAAGiI,GAAWH,EAAEhI,EAAYE,IAAIkI,MAAMpI,EAAYC,WAErDmE,EAAK+D,EAAQE,KAAK,KACxB,OAAO7F,KAAKT,QAAQiD,OAClBgD,EACAxF,KAAK2D,aACLlB,WAASC,WAAWgD,EAAc9D,QAClCe,EACArC,EAEH,CACD,OAAOkF,CACR,CASQ,SAAMzE,CAAO+E,KAAyB3F,GAC7C,MAAMG,IAAEA,GAAQN,KAAK+F,OAAO5F,EAAMH,KAAKe,KAEjCiF,QAAuBhG,KAAKT,QAAQwB,IAAI+E,GAAU,EAAMxF,GAExDmF,EAAS5D,EAAKA,MAACC,GAAG9B,KAAK2D,cACvB5B,EAAOC,EAAQA,SAACC,IACpBjC,KAAK2D,aACL3B,EAAAA,SAASE,IAAIC,EAAMA,OAACzE,GAAI+H,KACvB1D,KAEH,OAAK/B,KAAK6D,eAEHmC,EADEA,EAAQ1D,IAAKkD,GAAMxF,KAAKuF,cAAcC,EAAGC,EAAQ1D,EAAMzB,GAEjE,CAqCS,cAAA0D,CAAeD,GAmBvB,MAAMkC,MAAEA,EAAKnD,SAAEA,EAAQoD,WAAEA,GAAenC,EAMxC,IAAIoC,EAAoB,CAAA,EACxB,IAGS,IAFP,CAACC,EAAaA,cAACvH,IAAKuH,EAAAA,cAActH,GAAIuH,EAAAA,SAAS5H,KAAK8F,QAClDzB,GAGFqD,EAAGF,GAAmB,GACrBE,EAAGF,GAAmCpD,EAAmBC,IACxDoD,OACG,GAAIpD,IAAauD,EAAQA,SAAC5H,IAC/B0H,EAAKnG,KAAKgE,eAAeiC,GAAuBrC,SAChDuC,EAAGtD,EAAmBwD,EAAAA,SAAS5H,MAAQ,CAAA,EACtC0H,EAAGtD,EAAmBwD,EAAAA,SAAS5H,MAC7BwH,EAAuCA,OACtCC,MACC,CACL,MAAMI,EAAWtG,KAAKgE,eAAeiC,GAAuBrC,SACtD2C,EAAWvG,KAAKgE,eAAekC,GAA4BtC,SACjEuC,EAlCF,EACEA,EACAK,EACAC,KAEA,MAAM1B,EAAqB,CAAEnB,SAAU,CAAA,GAEvC,OADAmB,EAAOnB,SAASuC,GAAM,CAACK,EAAMC,GACtB1B,CACR,EA0BM2B,CAAM7D,EAAmBC,GAAWwD,EAAKC,GAAK3C,QACpD,CAED,MAAO,CAAEA,SAAUuC,EACpB,EC9QG,MAAgBQ,UAIZC,EAAAA,QACR,WAAA3H,CAAsB4H,EAAaC,EAAiBC,GAClD5H,MAAM0H,EAAOC,EAASC,GACtB,CAAC/G,KAAKgH,OAAQhH,KAAKiH,UAAWjH,KAAKkH,OAAQlH,KAAKmH,WAAWnC,QAASoC,IAClE,MAAMhI,EAAOgI,EAAEhI,KACfiI,EAAYA,aAACrH,KAAMoH,EAAIpH,KAAaZ,EAAO,YAE9C,CASD,SAAAkE,GAKE,OAAO,IAAID,EAAiBrD,KAC7B,CAEQ,SAAAV,CACPE,EACAC,EACAC,GAEA,OAAO,IAAIL,EAAiBW,KAAMR,EAAOC,EAAMC,EAChD,CAOQ,gBAAM4H,GACb,MAAMC,EAAgBX,EAAOA,QAACY,OAAOxH,KAAK8G,SAC1C,OAAO9G,KAAKyH,SAASF,EACtB,CAEQ,UAAAG,GAGP,OAAOC,CACR,CAoCS,cAAAC,CACRC,EACAC,GAEA,OAAKA,GACLnB,EAAeoB,YAAYF,EAAcC,GAClCD,GAFUA,CAGlB,CAUS,sBAAAG,CACRR,EACAS,GAMA,OAJAT,EAAOxC,QAAQ,CAACoC,EAAGc,KACjBvB,EAAeoB,YAAYX,EAAUa,EAAKC,IACnCd,IAEFI,CACR,CAEQ,OAAA7H,CACPkI,KACG1H,GAEH,MAAMC,IAAEA,GAAQJ,KAAK+F,OAAO5F,EAAMH,KAAKL,SACjCiG,EAAQiC,EAAMM,YACdpD,EAASlF,OAAOiF,QAAQc,EAAMiC,OAAOrD,OACzC,CAACC,GAA6BvC,EAAKwC,MACjC,QAAmB,IAARA,EAAqB,OAAOD,EACvC,MAAM2D,EAAqBvG,EAAAA,MAAMwG,WAC/BR,EAAM5I,YACNiD,GAEF,GAAIlC,KAAKsI,WAAWF,GAClB,MAAM,IAAIG,EAAaA,cAAC,iBAAiBH,iBAG3C,OAFA1D,EAAMA,aAAe8D,KAAO,IAAIA,KAAK9D,GAAOA,EAC5CD,EAAM2D,GAAc1D,EACbD,GAET,CAAE,GAeJ,OAbKoD,EAAcY,kBAAgBC,YAEjCtI,EAAIuI,MACF,0CAA2Cd,EAAcY,EAAAA,gBAAgBC,WAE3E7I,OAAO+I,eAAe7D,EAAQ0D,EAAAA,gBAAgBC,SAAU,CACtDG,YAAY,EACZC,UAAU,EACVC,cAAc,EACd5D,MAAQ0C,EAAcY,EAAeA,gBAACC,aAInC,CACLM,OAAQjE,EACRnD,GAAIiG,EAAMhG,EAAKA,MAACC,GAAG+F,EAAM5I,cACzBgK,UAAWrD,EAAMqD,UAEpB,CAWS,YAAAC,CACRxJ,EACAkC,EACAiG,KACG1H,GAEH,MAAME,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAKkJ,cACrCxF,EAAY7B,EAAAA,MAAM6B,UAAUhE,GAC5BsJ,EAA8B,CAAA,EAIpC,OAHAA,EAAOxL,EAAYK,OAAS6F,EAC5BsF,EAAOxL,EAAYE,IAAMsC,KAAKmJ,WAAWzF,EAAW9B,GACpD/B,OAAOC,OAAOkJ,EAAQnB,GACf,CAACnI,EAAOkC,EAAIoH,KAAW3I,EAC/B,CA4BS,eAAA+I,CACR1J,EACA2J,EACA7B,KACGrH,GAEH,MAAMuD,EAAY7B,EAAAA,MAAM6B,UAAUhE,GAClC,GAAI2J,EAAInI,SAAWsG,EAAOtG,OACxB,MAAM,IAAIqH,EAAAA,cAAc,4CAC1B,MAAMlI,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAKoJ,iBACrCE,EAAUD,EAAI/G,IAAI,CAACV,EAAI2H,KAC3B,MAAMP,EAA8B,CAAA,EAIpC,OAHAA,EAAOxL,EAAYK,OAAS6F,EAC5BsF,EAAOxL,EAAYE,IAAMsC,KAAKmJ,WAAWzF,EAAW9B,GACpD/B,OAAOC,OAAOkJ,EAAQxB,EAAO+B,IACtBP,IAET,MAAO,CAACtJ,EAAO2J,EAAKC,KAAYjJ,EACjC,CA2BD,YAAAmJ,CACE9J,EACAkC,EACAiG,KACG1H,GAEH,MAAMuD,EAAY7B,EAAAA,MAAM6B,UAAUhE,IAC5BW,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAKwJ,cACrCR,EAA8B,CAAA,EACpCA,EAAOxL,EAAYK,OAAS6F,EAC5BsF,EAAOxL,EAAYE,IAAMsC,KAAKmJ,WAAWzF,EAAW9B,GACpD,MAAMkG,EAAMD,EAAMY,EAAeA,gBAACC,UAClC,IAAKZ,EACH,MAAM,IAAIS,EAAAA,cACR,+CAA+C3G,GAInD,OAFA/B,OAAOC,OAAOkJ,EAAQnB,GACtBmB,EAAOxL,EAAYG,KAAOmK,EACnB,CAACpI,EAAOkC,EAAIoH,KAAW3I,EAC/B,CA4BS,eAAAoJ,CACR/J,EACA2J,EACA7B,KACGrH,GAEH,MAAMuD,EAAY7B,EAAAA,MAAM6B,UAAUhE,GAClC,GAAI2J,EAAInI,SAAWsG,EAAOtG,OACxB,MAAM,IAAIqH,EAAAA,cAAc,4CAC1B,MAAMlI,QAAEA,GAAYL,KAAK+F,OAAO5F,EAAMH,KAAKyJ,iBACrCH,EAAUD,EAAI/G,IAAI,CAACV,EAAI2H,KAC3B,MAAMP,EAA8B,CAAA,EACpCA,EAAOxL,EAAYK,OAAS6F,EAC5BsF,EAAOxL,EAAYE,IAAMsC,KAAKmJ,WAAWzF,EAAW9B,GACpD,MAAMkG,EAAMN,EAAO+B,GAAOd,EAAeA,gBAACC,UAC1C,IAAKZ,EACH,MAAM,IAAIS,EAAAA,cACR,+CAA+C3G,GAInD,OAFA/B,OAAOC,OAAOkJ,EAAQxB,EAAO+B,IAC7BP,EAAOxL,EAAYG,KAAOmK,EACnBkB,IAET,MAAO,CAACtJ,EAAO2J,EAAKC,KAAYjJ,EACjC,CAuBS,UAAA8I,CAAWzF,EAAmB9B,GACtC,MAAO,CAAC8B,EAAW9B,GAAIiE,KAAKrI,EAAYC,UACzC,CASD,UAAAiM,CAAgCC,EAAqBC,GACnD,OAAOjD,EAAe+C,WAAWC,EAAKC,EACvC,CAQkB,UAAAtB,CAAWuB,GAC5B,QAASA,EAAKC,MAAMvM,EACrB,CA0DS,iBAAOmM,CACfC,EACAC,GAEA,GAAID,aAAe3K,EAASA,UAAE,OAAO2K,EACrC,IAAII,EAAe,GACnB,GAAmB,iBAARJ,EAAkB,CAE3B,GADAI,EAAOJ,EACHI,EAAKD,MAAM,kCACb,OAAO,IAAIE,EAAAA,cAAcD,GAC3B,GAAIA,EAAKD,MAAM,oBAAqB,OAAO,IAAIG,EAAAA,cAAcF,EAC9D,MAAWJ,EAAYI,MACtBA,EAAQJ,EAAYI,KACpBH,EAASA,GAAUD,EAAIO,SACbP,EAAYQ,YACtBJ,EAAQJ,EAAYQ,WACpBP,EAASA,GAAUD,EAAIO,SAEvBH,EAAOJ,EAAIO,QAGb,OAAQH,EAAKK,YACX,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAO,IAAIJ,EAAAA,cAAcJ,GAC3B,IAAK,MACH,OAAO,IAAIK,EAAAA,cAAcL,GAC3B,IAAK,MACH,OAAIG,EAAKK,WAAWN,MAAM,sBACjB,IAAI/K,EAAW4K,GACjB,IAAIpB,EAAAA,cAAcoB,GAC3B,QACE,OAAII,EAAKK,WAAWN,MAAM,iBACjB,IAAIO,EAAAA,gBAAgBV,GACtB,IAAIpB,EAAAA,cAAcoB,GAE9B,CAUD,kBAAO5B,CAA6BF,EAAUyC,GAC5CzK,OAAO+I,eAAef,EAAOY,EAAAA,gBAAgBC,SAAU,CACrDG,YAAY,EACZE,cAAc,EACdD,UAAU,EACV3D,MAAOmF,GAEV,CASD,kBAAOC,CAA6B1C,GAClC,MAAM2C,EAAa3K,OAAO4K,yBACxB5C,EACAY,EAAAA,gBAAgBC,UAElB,OAAO8B,EAAaA,EAAWrF,WAAQxC,CACxC,CAQD,qBAAO+H,CAAgC7C,GAClBhI,OAAO4K,yBACxB5C,EACAY,EAAAA,gBAAgBC,kBAEMb,EAAcY,kBAAgBC,SACvD,EAxeDiC,EAAAA,WAAA,CADCC,qHAC6BvH,IAM7BsD,EAAAkE,UAAA,YAAA,MA4DSF,EAAAA,WAAA,CADTC,2IAQAjE,EAAAkE,UAAA,iBAAA,MAUSF,EAAAA,WAAA,CADTC,wIAUAjE,EAAAkE,UAAA,yBAAA,MAoDSF,EAAAA,WAAA,CADTC,wJAcAjE,EAAAkE,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAmBAjE,EAAAkE,UAAA,kBAAA,MA2BDF,EAAAA,WAAA,CADCC,yJAoBAjE,EAAAkE,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAyBAjE,EAAAkE,UAAA,kBAAA,MCzXG,MAAOlD,UAGHmD,EAAAA,WACR,WAAA7L,CAAYM,EAAYsI,GACtB1I,MAAMI,EAASsI,EAChB,CAIS,cAAAD,CAAemD,EAAiBC,GACxC,MAAMC,EAAQ,CAACC,EAAaC,KAC1B,MAAMC,EAAiBD,GAAWD,EAC5BZ,EAAW3D,EAAe4D,YAAYa,GAE5C,OADId,GAAU3D,EAAeoB,YAAYmD,EAAUZ,GAC5CY,GAGT,OAAIG,MAAMC,QAAQP,GACTA,EAAOzI,IAAI,CAACuF,EAAOJ,KACxB,MAAM0D,EAAUE,MAAMC,QAAQN,GAAUA,EAAOvD,GAASuD,EACxD,OAAOC,EAAMpD,EAAOsD,KAKjBF,EAAMF,EADGM,MAAMC,QAAQN,GAAUA,IAAS,GAAKA,EAEvD,CAEQ,YAAMhE,CACba,KACG1H,GAEH,MAAM4E,QAAe5F,MAAM6H,OAAOa,KAAU1H,GAG5C,OAFAH,KAAK4H,eAAe7C,GACpB/E,KAAK4H,eAAeC,EAAO9C,GACpBA,CACR,CAEQ,eAAMkC,CACbO,KACGrH,GAEH,MAAM6F,QAAgB7G,MAAM8H,UAAUO,KAAWrH,GAGjD,OAFAH,KAAK4H,eAAe5B,GACpBhG,KAAK4H,eAAeJ,EAAQxB,GACrBA,CACR,CAEQ,UAAMuF,CACb3J,KACGzB,GAEH,MAAM4E,QAAe5F,MAAMoM,KAAK3J,KAAOzB,GACvC,OAAOH,KAAK4H,eAAe7C,EAC5B,CAEQ,aAAMyG,CACbnC,KACGlJ,GAEH,MAAM6F,QAAgB7G,MAAMqM,QAAQnC,KAAQlJ,GAC5C,OAAOH,KAAK4H,eAAe5B,EAC5B,CAEQ,YAAMkB,CACbW,KACG1H,GAEH,MAAM4E,QAAe5F,MAAM+H,OAAOW,KAAU1H,GAG5C,OAFAH,KAAK4H,eAAe7C,GACpB/E,KAAK4H,eAAeC,EAAO9C,GACpBA,CACR,CAEQ,eAAMoC,CACbK,KACGrH,GAEH,MAAM6F,QAAgB7G,MAAMgI,UAAUK,KAAWrH,GAGjD,OAFAH,KAAK4H,eAAe5B,GACpBhG,KAAK4H,eAAeJ,EAAQxB,GACrBA,CACR,CAEQ,YAAM,CACbpE,KACGzB,GAEH,MAAM4E,QAAe5F,MAAMsM,OAAO7J,KAAOzB,GACzC,OAAOH,KAAK4H,eAAe7C,EAC5B,CAEQ,eAAM2G,CACbrC,KACGlJ,GAEH,MAAM6F,QAAgB7G,MAAMuM,UAAUrC,KAAQlJ,GAC9C,OAAOH,KAAK4H,eAAe5B,EAC5B,CAWkB,kBAAMwD,CACvB3B,KACG1H,GAEH,MAAMG,IAAEA,EAAGD,QAAEA,EAAOD,IAAEA,UACdJ,KAAK+F,OAAO5F,EAAMwL,EAAaA,cAACC,QAAQ,IAC9CpI,IAAIxD,KAAKwJ,cAELqC,EAAiBvL,EAAI2B,IAAI,kBACzB6J,EAAiBxL,EAAI2B,IAAI,oBAC/B7B,EAAIuI,MACF,mBAAmBkD,yBAAsCC,KAE3D,MAAMhK,EAAK+F,EAAM7H,KAAK8B,IACtB,IAAKA,EACH,MAAM,IAAIyG,EAAaA,cACrB,qDAAqDvI,KAAK8B,IAE9D,IAAIiK,EACAC,EAmBJ,GAjBI1L,EAAI2B,IAAI,2BACV8J,QAAiB/L,KAAKuL,KAAKzJ,GAC3BkK,EAAcD,EAAWpF,EAAe4D,YAAYwB,QAAYpJ,EAE5DrC,EAAI2B,IAAI,oBACV4F,EAAQhG,EAAKA,MAAC6E,MAAMqF,EAAUlE,EAAO7H,KAAKiM,SAEzCJ,SACGK,EAAmBA,oBACvBlM,KACAM,EACAuH,EACA8D,gBAAcC,OACdD,EAAaA,cAACQ,GACdJ,IAGCD,EAAgB,CACnB,MAAMM,EAAgB9L,EAAI2B,IAAI,gCAAkC,GAChE7B,EAAIuI,MAAM,kCAAkCyD,GAC5C,MAAMC,QAAeC,QAAQC,QAC3B1E,EAAM2E,UAAUT,KAAaK,IAE/B,GAAIC,EAAQ,MAAM,IAAII,EAAeA,gBAACJ,EAAOjC,WAC9C,CAED,OADI4B,GAAarF,EAAeoB,YAAYF,EAAOmE,GAC5C,CAACnE,KAAUxH,EAAS0L,EAC5B,CAWkB,qBAAMtC,CACvBjC,KACGrH,GAEH,MAAMG,IAAEA,EAAGD,QAAEA,EAAOD,IAAEA,UACdJ,KAAK+F,OAAO5F,EAAMuM,EAAqBA,sBAACC,YAAY,IAC1DnJ,IAAIxD,KAAKyJ,iBAELoC,EAAiBvL,EAAI2B,IAAI,kBACzB6J,EAAiBxL,EAAI2B,IAAI,oBAC/B7B,EAAIuI,MACF,mBAAmBkD,yBAAsCC,KAE3D,MAAMzC,EAAM7B,EAAOlF,IAAK8E,IACtB,MAAMxF,EAAKwF,EAAEpH,KAAK8B,IAClB,IAAKF,EAAI,MAAM,IAAI2G,EAAAA,cAAc,kCACjC,OAAO3G,IAET,IAAIgL,EAyBJ,GAxBItM,EAAI2B,IAAI,2BACV2K,QAAkB5M,KAAKwL,QAAQnC,EAAiB/I,GAChDkH,EAASA,EAAOlF,IAAI,CAAC8E,EAAGc,KAClB5H,EAAI2B,IAAI,oBACVmF,EAAIvF,EAAAA,MAAM6E,MAAOkG,EAAkB1E,GAAId,EAAGpH,KAAKiM,QACjD,MAAMD,EAAcrF,EAAe4D,YAAaqC,EAAkB1E,IAElE,OADI8D,GAAarF,EAAeoB,YAAYX,EAAG4E,GACxC5E,KAGNyE,SACGS,QAAQO,IACZrF,EAAOlF,IAAI,CAAC8E,EAAGc,IACbgE,sBACElM,KACAM,EACA8G,EACAuE,gBAAcC,OACdD,EAAaA,cAACQ,GACdS,EAAYA,EAAU1E,QAAKvF,MAK9BmJ,EAAgB,CACnB,MAAMgB,EAAexM,EAAI2B,IAAI,gCAAkC,GAE/D,IAAI8K,EADJ3M,EAAIuI,MAAM,kCAAkCmE,GAO1CC,EALGzM,EAAI2B,IAAI,+BAKcqK,QAAQO,IAC/BrF,EAAOlF,IAAI,CAAC8E,EAAGc,IACboE,QAAQC,QACNnF,EAAEoF,UAAWI,EAAkB1E,MAAc4E,YAP1BR,QAAQC,QAC/B/E,EAAOlF,IAAK8E,GAAMA,EAAEoF,aAAaM,KAYrC,MAAME,EAAgBC,sBAAoBF,GAE1C,GAAIC,EAAe,MAAM,IAAIP,EAAAA,gBAAgBO,EAC9C,CACD,MAAO,CAACxF,KAAWnH,EAASuM,EAC7B,EC1OIM,eAAeC,EAAOC,EAAUC,EAAcC,GACnD,OAAOF,EAAIG,KAAKF,EAAMC,EACxB,CA0FgB,SAAAE,EACdrJ,EACAT,EACA+J,EACAC,EACAC,EAAYC,oBAEZ,MAAM/D,EAAO,CAACpB,EAAeA,gBAACxK,MAAOyF,EAAWS,GAGhD,OAFIsJ,GAAc5D,EAAKjF,QAAQ6I,GAC3BC,GAAO7D,EAAKjF,KAAK8I,GACd7D,EAAKhE,KAAK8H,EACnB,CCjGa,MAAAE,EAAU,cAOVC,EAAe,cAE5B9L,EAAAA,SAAS+L,gBAAgBD,EAAcD,qCRkCa,CAClDG,KAAM,8GA1DyB,8GOwJjB,CACd7J,EACAT,EACA+J,EACAC,EACAC,EAAYC,sBAEZ,MAAMK,EAAuC,CAAA,EAK7C,IAAI5L,EACJ,GALA4L,EAAsBzQ,EAAYK,OAAS,GAC1CoQ,EAAsBzQ,EAAYK,OACjCK,EAAgBC,OACduF,EAEAgK,EAAO,CACT,MAAMQ,EAAuB,CAAA,EAC7BA,EAAU/J,GAAauJ,EACvB,MAAMS,GAAmCV,GAAgB,IAAInL,IAAK8L,IAChE,MAAM5I,EAAe,CAAA,EAErB,OADAA,EAAE4I,GAAKV,EACAlI,IAEH6I,EAAyB,CAAA,EAC/BA,EAAY7Q,EAAYK,OAAS6P,EACjCrL,EAAS,CAAC6L,KAAcC,EAAoBE,EAC7C,MACChM,EAAS,CAAC8B,KAAesJ,GAAgB,GAAKjQ,EAAYK,OAE5D,MAAMuB,EAAOoO,EACXrJ,EACAT,EACA+J,EACAC,EACAC,GAEF,MAAO,CACLlG,MAAO,CACLpF,OAAQA,GAGViM,KAAM,CAAClP,EAAM5B,EAAYO,MAAM8H,KAAK8H,GACpCvO,KAAMA,EAEV,0CE1HEoI,IAEA,MAAM9D,EAhER,EACEtE,EACAmP,EACAd,EACAE,EAAYC,EAAAA,mBAEL,IACFxO,EAAKkD,IAAKkM,GAAOA,IAAMhR,EAAYK,MAAQ,QAAU2Q,MACpDf,GAAgB,MAChBc,EAAY,CAACA,GAAa,GAC9B/Q,EAAYS,OACZ4H,KAAK8H,GAqDWH,CAAkB,CAAChQ,EAAYK,QAC3C4Q,EAA8C,CAAA,EA4DpD,OA3DAA,EAAQ/K,GAAa,CACnB+D,MAAO,CACLpF,OAAQ,CAAC7E,EAAYK,QAEvBuB,KAAMsE,EACN4K,KAAM5K,EACN3B,KAAM,QAGRyF,EAAOxC,QAASoC,IACd,MAAMsH,EAAqC7M,EAAAA,MAAM4M,QAAQrH,GACzDvH,OAAOiF,QAAQ4J,GAAK1J,QAAQ,EAAE9C,EAAKiD,MACjC,MAAMhC,EAAItD,OAAOoD,KAAKkC,GAAO,GAE7B,IAAIwJ,WAAEA,EAAUlB,aAAEA,GAAkBtI,EAAchC,GAClD,MAAMO,EAAY7B,EAAAA,MAAM6B,UAAU0D,GAGlC,SAASwH,EAAS1J,GAChB,MAAM9F,EAAO,CACXsE,EACAxB,KACIuL,EACJhF,EAAAA,gBAAgBxK,OAChB4H,KAAK+H,EAAAA,kBAsBP,GApBAa,EAAQrP,GAAQ,CACdqI,MAAO,CACLpF,OAAQ,CAAC7E,EAAYK,MAAOqE,KAASuL,GAAqBjJ,OACxD,CAACC,EAAczB,KACb,GAAIkC,EAAM,CACR,MAAM2J,EAAW,CAAA,EACjBA,EAAI7L,GAAMkC,EACVT,EAAMG,KAAKiK,EACZ,MACCpK,EAAMG,KAAK5B,GAEb,OAAOyB,GAET,KAGJrF,KAAMA,EACNkP,KAAMlP,EACN2C,KAAM,SAEHmD,EAAM,CACT,MAAM4J,EAAmC,CAAA,EACzCA,EAAYtR,EAAYK,OAAS,GACjCiR,EAAYtR,EAAYK,OAAOK,EAAgBC,OAASuF,EACxD+K,EAAQrP,GAAMqI,MAAMsH,wBAA0BD,CAC/C,CACF,CApCDrB,EAAeA,GAAgB,GAsC/BmB,IACID,GACDA,EAA2C3J,QAASzC,GAAMqM,EAASrM,QAGnE1C,OAAOyE,OAAOmK,EACvB,6DFrDuC5E,GAE9BA,EAAKC,MADG,qDApCX,CACJsD,EACA4B,EACA3B,EACAC,KAEA,MAAM2B,EAAK7B,EAAI8B,IAAM9B,EAAI8B,IAAIF,GAAU5B,EAkBvC,MAjBA,CAAC,SAAU,MAAO,MAAO,UAAW,QAAQpI,QAAS7B,IACnD,MAAMgM,EAAYF,EAA2B9L,GAC7CtD,OAAO+I,eAAeqG,EAAI9L,EAAG,CAC3B0F,YAAY,EACZE,cAAc,EACd5D,MAAO+H,SAAU/M,WACTgN,EAAOC,EAAKC,EAAMC,GACjB6B,EAASC,KAAKH,KAAO9O,QAIlCN,OAAO+I,eAAeqG,EAAIzR,EAAYQ,OAAQ,CAC5C6K,YAAY,EACZE,cAAc,EACdD,UAAU,EACV3D,MAAOiI,IAEF6B,CACT"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/utils.ts","../src/views/generator.ts","../src/metadata.ts","../src/repository.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/decorators.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","VIEW","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","async","reAuth","con","user","pass","auth","generateIndexName","attribute","tableName","compositions","order","separator","DefaultSeparator","attr","PersistenceKeys","push","join","generateIndexDoc","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","index","ddoc","toJsLiteral","value","Date","JSON","stringify","toISOString","RegExp","source","flags","conditionToJs","condition","docVar","attr1","operator","comparison","Condition","left","Operator","right","GroupOperator","attrExpr","normalizeKey","key","Array","isArray","collectViewMetadata","model","kind","meta","Metadata","get","Object","entries","flatMap","values","entry","generateViewIndexes","models","indexes","viewKeys","GROUP_BY","COUNT","SUM","MAX","MIN","DISTINCT","forEach","m","Model","length","slice","directions","OrderDirection","ASC","DSC","baseIndex","direction","dirIndex","setMetadata","metadata","defineProperty","METADATA","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","undefined","removeMetadata","CouchDBRepository","Repository","constructor","adapter","super","assignMetadata","target","apply","instance","carrier","create","args","result","this","createAll","results","read","id","readAll","ids","update","updateAll","delete","deleteAll","updatePrefix","ctx","ctxArgs","log","logCtx","OperationKeys","UPDATE","for","ignoreHandlers","ignoreValidate","silly","pk","InternalError","oldModel","oldMetadata","merge","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","toString","updateAllPrefix","BulkCrudOperationKeys","UPDATE_ALL","oldModels","i","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","IndexError","BaseError","msg","CouchDBPaginator","Paginator","query","size","clazz","prepare","rawStatement","assign","limit","page","bookmark","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","type","DBKeys","pageResults","d","revert","Sequence","parseValue","_currentPage","translateOperators","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","reduce","accum","val","Error","s","orderBySelector","sort","rec","limitSelector","offsetSelector","processRecord","pkAttr","sequenceType","keyArgs","split","rawInput","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","columnName","isReserved","record","transient","createPrefix","generateId","createAllPrefix","records","count","parseError","err","reason","match","code","ConflictError","NotFoundError","message","statusCode","ConnectionError","applyViewDecorator","metaKey","opts","slot","attrBucket","String","nextViewSlot","propMetadata","__decorate","final","prototype","VERSION","PACKAGE_NAME","registerLibrary","NULL","valueOrCondition","options","Decoration","define","decorator","o","conditionOrOptions","n","ind","generate","res","tableFilter","partial_filter_selector","viewDocs","viewName","replace","generateViewName","ddocName","generateDesignDocName","ddocId","viewDef","guards","resolved","from","authGuard","field","roles","expression","listExpr","mode","buildAuthGuard","guard","emitKey","buildEmitKey","emitValue","v","buildEmitValue","returnDocs","buildMapFunction","defaultReduce","normalizeViewMetadata","_id","language","views","compositionsOrOptions","nameOrOptions","concat","dbName","db","use","original","call"],"mappings":"sDAMa,MAAAA,EAAqB,SAyBrBC,EAAc,CACzBC,UAAW,KACXC,GAAI,MACJC,IAAK,OACLC,QAAS,WACTC,MAAO,UACPC,SAAU,aACVC,KAAM,OACNC,OAAQ,WACRC,MAAO,QAGPC,KAAM,QChBKC,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,OCrCCC,eAAeC,EAAOC,EAAUC,EAAcC,GACnD,OAAOF,EAAIG,KAAKF,EAAMC,EACxB,CA0FgB,SAAAE,EACdC,EACAC,EACAC,EACAC,EACAC,EAAYC,oBAEZ,MAAMC,EAAO,CAACC,EAAeA,gBAAC7B,MAAOuB,EAAWD,GAGhD,OAFIE,GAAcI,EAAKE,QAAQN,GAC3BC,GAAOG,EAAKE,KAAKL,GACdG,EAAKG,KAAKL,EACnB,CAyCgB,SAAAM,EACdV,EACAC,EACAC,EACAC,EACAC,EAAYC,oBAEZ,MAAMM,EAAuC,CAAA,EAK7C,IAAIC,EACJ,GALAD,EAAsB1C,EAAYK,OAAS,GAC1CqC,EAAsB1C,EAAYK,OACjCM,EAAgBC,OACdoB,EAEAE,EAAO,CACT,MAAMU,EAAuB,CAAA,EAC7BA,EAAUb,GAAaG,EACvB,MAAMW,GAAmCZ,GAAgB,IAAIa,IAAKC,IAChE,MAAMC,EAAe,CAAA,EAErB,OADAA,EAAED,GAAKb,EACAc,IAEHC,EAAyB,CAAA,EAC/BA,EAAYjD,EAAYK,OAAS6B,EACjCS,EAAS,CAACC,KAAcC,EAAoBI,EAC7C,MACCN,EAAS,CAACZ,KAAeE,GAAgB,GAAKjC,EAAYK,OAE5D,MAAM6C,EAAOpB,EACXC,EACAC,EACAC,EACAC,EACAC,GAEF,MAAO,CACLgB,MAAO,CACLR,OAAQA,GAGVS,KAAM,CAACF,EAAMlD,EAAYO,MAAMiC,KAAKL,GACpCe,KAAMA,EAEV,CCvLA,SAASG,EAAYC,GACnB,OAAIA,aAAiBC,KAAaC,KAAKC,UAAUH,EAAMI,eACnDJ,aAAiBK,OACZ,cAAcH,KAAKC,UAAUH,EAAMM,YAAYJ,KAAKC,UACzDH,EAAMO,UAEHL,KAAKC,UAAUH,EACxB,CAEA,SAASQ,EAAcC,EAA2BC,GAChD,MAAMC,MAAEA,EAAKC,SAAEA,EAAQC,WAAEA,GAAeJ,EAMxC,GAAIE,aAAiBG,EAAAA,UAAW,CAC9B,MAAMC,EAAOP,EAAcG,EAAOD,GAClC,GAAIE,IAAaI,EAAAA,SAASpD,IAAK,MAAO,KAAKmD,KAC3C,MAAME,EAAQT,EAAcK,EAA8BH,GAC1D,OAAIE,IAAaM,EAAAA,cAAclD,IAAY,IAAI+C,QAAWE,KACtDL,IAAaM,EAAAA,cAAcjD,GAAW,IAAI8C,QAAWE,KAClDF,CACR,CAED,MAAMI,EAAW,GAAGT,KAAUR,KAAKC,UAAUQ,MAC7C,OAAQC,GACN,KAAKI,EAAQA,SAAC1D,MACZ,MAAO,GAAG6D,SAAgBpB,EAAYc,KACxC,KAAKG,EAAQA,SAACzD,UACZ,MAAO,GAAG4D,SAAgBpB,EAAYc,KACxC,KAAKG,EAAQA,SAACxD,OACZ,MAAO,GAAG2D,OAAcpB,EAAYc,KACtC,KAAKG,EAAQA,SAACvD,UACZ,MAAO,GAAG0D,QAAepB,EAAYc,KACvC,KAAKG,EAAQA,SAACtD,QACZ,MAAO,GAAGyD,OAAcpB,EAAYc,KACtC,KAAKG,EAAQA,SAACrD,WACZ,MAAO,GAAGwD,QAAepB,EAAYc,KACvC,KAAKG,EAAQA,SAACnD,GACZ,MAAO,IAAIkC,EAAYc,eAAwBM,YACjD,KAAKH,EAAAA,SAASlD,OAKZ,MAAO,GAHL+C,aAAsBR,OAClBN,EAAYc,GACZ,cAAcX,KAAKC,UAAUU,cACXM,KAE1B,KAAKH,EAAQA,SAACpD,IACZ,MAAO,KAAKuD,SAAgBpB,EAAYc,MAC1C,QACE,MAAO,OAEb,CAsBA,SAASO,EACPC,EACAtC,EACAJ,GAEA,OAAK0C,EACEC,MAAMC,QAAQF,GAAOA,EAAM,CAACA,GADlBtC,EAAO,CAACA,KAAUJ,GAAgB,IAAOA,GAAgB,EAE5E,CAiHA,SAAS6C,EACPC,EACAJ,EACAK,GAEA,MAAMC,EAAOC,EAAAA,SAASC,IAAIJ,EAAOJ,IAAQ,GACzC,OAAOS,OAAOC,QAAQJ,GAA6BK,QACjD,EAAEjD,EAAMgD,KACDA,GAA8B,iBAAZA,EAChBD,OAAOG,OAAOF,GAAgCvC,IAAK0C,IACxD,MAAMlC,EAAQkC,EACd,MAAO,IACFlC,EACH0B,OACAjD,UAAWuB,EAAMvB,WAAaM,KANkB,GAW1D,CA4CM,SAAUoD,EACdC,GAEA,MAAMC,EAA8C,CAAA,EAE9CC,EAA8B,CAClC,CAAC5F,EAAYU,KAAM,QACnB,CAAC4D,EAAQA,SAACuB,SAAU,WACpB,CAACvB,EAAQA,SAACwB,MAAO,SACjB,CAACxB,EAAQA,SAACyB,IAAK,OACf,CAACzB,EAAQA,SAAC0B,IAAK,OACf,CAAC1B,EAAQA,SAAC2B,IAAK,OACf,CAAC3B,EAAQA,SAAC4B,SAAU,aAkCtB,OA/BAR,EAAOS,QAASC,IACd,MAAMpE,EAAYqE,EAAAA,MAAMrE,UAAUoE,GACpBR,EAASN,QAAQ,EAAEX,EAAKK,KACpCF,EAAoBsB,EAAGzB,EAAKK,IAGxBmB,QAASlB,IACb,MAAMN,EAAMD,EAAaO,EAAKN,IAAKM,EAAKlD,UAAWkD,EAAKhD,cACxD,IAAK0C,EAAI2B,OAAQ,OACjB,MAAMvE,EAAY4C,EAAI,GAChB1C,EAAe0C,EAAI4B,MAAM,GACzBC,EAAavB,EAAKuB,YAAc,CACpCC,EAAAA,eAAeC,IACfD,EAAAA,eAAeE,KAGXC,EAAYnE,EAAiBV,EAAWC,EAAWC,GACzD0D,EAAQiB,EAAU1D,MAAQ,IAAM0D,EAEhCJ,EAAWL,QAASU,IAClB,MAAMC,EAAWrE,EACfV,EACAC,EACAC,EACA4E,GAEFlB,EAAQmB,EAAS5D,MAAQ,IAAM4D,QAK9B1B,OAAOG,OAAOI,EACvB,CCjUgB,SAAAoB,EAA6BhC,EAAUiC,GACrD5B,OAAO6B,eAAelC,EAAOzC,EAAAA,gBAAgB4E,SAAU,CACrDC,YAAY,EACZC,cAAc,EACdC,UAAU,EACV/D,MAAO0D,GAEX,CAEM,SAAUM,EAA6BvC,GAC3C,MAAMwC,EAAanC,OAAOoC,yBACxBzC,EACAzC,EAAAA,gBAAgB4E,UAElB,OAAOK,EAAaA,EAAWjE,WAAQmE,CACzC,CAEM,SAAUC,EAAgC3C,GAC3BK,OAAOoC,yBACxBzC,EACAzC,EAAAA,gBAAgB4E,kBAEMnC,EAAczC,kBAAgB4E,SACxD,CCVM,MAAOS,UAGHC,EAAAA,WACR,WAAAC,CAAYC,EAAY/C,GACtBgD,MAAMD,EAAS/C,EAChB,CAIS,cAAAiD,CAAeC,EAAiBrE,GACxC,MAAMsE,EAAQ,CAACC,EAAaC,KAC1B,MACMpB,EAAWM,EADMc,GAAWD,GAGlC,OADInB,GAAUD,EAAYoB,EAAUnB,GAC7BmB,GAGT,OAAIvD,MAAMC,QAAQoD,GACTA,EAAOnF,IAAI,CAACiC,EAAO5B,KACxB,MAAMiF,EAAUxD,MAAMC,QAAQjB,GAAUA,EAAOT,GAASS,EACxD,OAAOsE,EAAMnD,EAAOqD,KAKjBF,EAAMD,EADGrD,MAAMC,QAAQjB,GAAUA,IAAS,GAAKA,EAEvD,CAEQ,YAAMyE,CACbtD,KACGuD,GAEH,MAAMC,QAAeR,MAAMM,OAAOtD,KAAUuD,GAG5C,OAFAE,KAAKR,eAAeO,GACpBC,KAAKR,eAAejD,EAAOwD,GACpBA,CACR,CAEQ,eAAME,CACb/C,KACG4C,GAEH,MAAMI,QAAgBX,MAAMU,UAAU/C,KAAW4C,GAGjD,OAFAE,KAAKR,eAAeU,GACpBF,KAAKR,eAAetC,EAAQgD,GACrBA,CACR,CAEQ,UAAMC,CACbC,KACGN,GAEH,MAAMC,QAAeR,MAAMY,KAAKC,KAAON,GACvC,OAAOE,KAAKR,eAAeO,EAC5B,CAEQ,aAAMM,CACbC,KACGR,GAEH,MAAMI,QAAgBX,MAAMc,QAAQC,KAAQR,GAC5C,OAAOE,KAAKR,eAAeU,EAC5B,CAEQ,YAAMK,CACbhE,KACGuD,GAEH,MAAMC,QAAeR,MAAMgB,OAAOhE,KAAUuD,GAG5C,OAFAE,KAAKR,eAAeO,GACpBC,KAAKR,eAAejD,EAAOwD,GACpBA,CACR,CAEQ,eAAMS,CACbtD,KACG4C,GAEH,MAAMI,QAAgBX,MAAMiB,UAAUtD,KAAW4C,GAGjD,OAFAE,KAAKR,eAAeU,GACpBF,KAAKR,eAAetC,EAAQgD,GACrBA,CACR,CAEQ,YAAM,CACbE,KACGN,GAEH,MAAMC,QAAeR,MAAMkB,OAAOL,KAAON,GACzC,OAAOE,KAAKR,eAAeO,EAC5B,CAEQ,eAAMW,CACbJ,KACGR,GAEH,MAAMI,QAAgBX,MAAMmB,UAAUJ,KAAQR,GAC9C,OAAOE,KAAKR,eAAeU,EAC5B,CAWkB,kBAAMS,CACvBpE,KACGuD,GAEH,MAAMc,IAAEA,EAAGC,QAAEA,EAAOC,IAAEA,UACdd,KAAKe,OAAOjB,EAAMkB,EAAaA,cAACC,QAAQ,IAC9CC,IAAIlB,KAAKW,cAELQ,EAAiBP,EAAIjE,IAAI,kBACzByE,EAAiBR,EAAIjE,IAAI,oBAC/BmE,EAAIO,MACF,mBAAmBF,yBAAsCC,KAE3D,MAAME,EAAK/E,EAAMyD,KAAKsB,IACtB,IAAKA,EACH,MAAM,IAAIC,EAAaA,cACrB,qDAAqDvB,KAAKsB,IAE9D,IAAIE,EACAC,EAmBJ,GAjBIb,EAAIjE,IAAI,2BACV6E,QAAiBxB,KAAKG,KAAKmB,GAC3BG,EAAcD,EAAW1C,EAAY0C,QAAYvC,EAE7C2B,EAAIjE,IAAI,oBACVJ,EAAQsB,EAAKA,MAAC6D,MAAMF,EAAUjF,EAAOyD,KAAK2B,SAEzCR,SACGS,EAAmBA,oBACvB5B,KACAY,EACArE,EACAyE,gBAAcC,OACdD,EAAaA,cAACa,GACdL,IAGCJ,EAAgB,CACnB,MAAMU,EAAgBlB,EAAIjE,IAAI,gCAAkC,GAChEmE,EAAIO,MAAM,kCAAkCS,GAC5C,MAAMC,QAAeC,QAAQC,QAC3B1F,EAAM2F,UAAUV,KAAaM,IAE/B,GAAIC,EAAQ,MAAM,IAAII,EAAeA,gBAACJ,EAAOK,WAC9C,CAED,OADIX,GAAalD,EAAYhC,EAAOkF,GAC7B,CAAClF,KAAUsE,EAASW,EAC5B,CAWkB,qBAAMa,CACvBnF,KACG4C,GAEH,MAAMc,IAAEA,EAAGC,QAAEA,EAAOC,IAAEA,UACdd,KAAKe,OAAOjB,EAAMwC,EAAqBA,sBAACC,YAAY,IAC1DrB,IAAIlB,KAAKqC,iBAELlB,EAAiBP,EAAIjE,IAAI,kBACzByE,EAAiBR,EAAIjE,IAAI,oBAC/BmE,EAAIO,MACF,mBAAmBF,yBAAsCC,KAE3D,MAAMd,EAAMpD,EAAO5C,IAAKsD,IACtB,MAAMwC,EAAKxC,EAAEoC,KAAKsB,IAClB,IAAKlB,EAAI,MAAM,IAAImB,EAAAA,cAAc,kCACjC,OAAOnB,IAET,IAAIoC,EAyBJ,GAxBI5B,EAAIjE,IAAI,2BACV6F,QAAkBxC,KAAKK,QAAQC,EAAiBM,GAChD1D,EAASA,EAAO5C,IAAI,CAACsD,EAAG6E,KAClB7B,EAAIjE,IAAI,oBACViB,EAAIC,EAAAA,MAAM6D,MAAOc,EAAkBC,GAAI7E,EAAGoC,KAAK2B,QACjD,MAAMF,EAAc3C,EAAa0D,EAAkBC,IAEnD,OADIhB,GAAalD,EAAYX,EAAG6D,GACzB7D,KAGNuD,SACGa,QAAQU,IACZxF,EAAO5C,IAAI,CAACsD,EAAG6E,IACbb,sBACE5B,KACAY,EACAhD,EACAoD,gBAAcC,OACdD,EAAaA,cAACa,GACdW,EAAYA,EAAUC,QAAKxD,MAK9BmC,EAAgB,CACnB,MAAMuB,EAAe/B,EAAIjE,IAAI,gCAAkC,GAE/D,IAAIiG,EADJ9B,EAAIO,MAAM,kCAAkCsB,GAO1CC,EALGhC,EAAIjE,IAAI,+BAKcqF,QAAQU,IAC/BxF,EAAO5C,IAAI,CAACsD,EAAG6E,IACbT,QAAQC,QACNrE,EAAEsE,UAAWM,EAAkBC,MAAcE,YAP1BX,QAAQC,QAC/B/E,EAAO5C,IAAKsD,GAAMA,EAAEsE,aAAaS,KAYrC,MAAME,EAAgBC,sBAAoBF,GAE1C,GAAIC,EAAe,MAAM,IAAIV,EAAAA,gBAAgBU,EAC9C,CACD,MAAO,CAAC3F,KAAW2D,EAAS2B,EAC7B,ECxOG,MAAOO,UAAmBC,EAAAA,UAC9B,WAAA3D,CAAY4D,GACV1D,MAAMwD,EAAWrI,KAAMuI,EAAK,IAC7B,ECYG,MAAOC,UAA0CC,EAAAA,UAarD,WAAA9D,CACEC,EACA8D,EACAC,EACAC,GAEA/D,MAAMD,EAAS8D,EAAOC,EAAMC,EAC7B,CAQS,OAAAC,CAAQC,GAChB,MAAMJ,EAAoBxG,OAAO6G,OAAO,CAAE,EAAED,GAK5C,OAJIJ,EAAMM,QAAO1D,KAAK0D,MAAQN,EAAMM,OAEpCN,EAAMM,MAAQ1D,KAAKqD,KAEZD,CACR,CA6DQ,UAAMO,CACbA,EAA2B,EAC3BC,KACG9D,GAEH,MAAMgB,IAAEA,EAAGD,QAAEA,EAAOD,IAAEA,GAAQZ,KAAKV,QAAgB,OACjD,CAACsE,KAAa9D,GACdE,KAAK2D,MAEP,GAAI3D,KAAK6D,sBACP,aAAa7D,KAAK8D,aAAaH,KAAS9C,GAC1C,MAAMkD,EAAYnH,OAAO6G,OAAO,CAAA,EAAIzD,KAAK+D,WAEzC,GAAK/D,KAAKgE,cAAiBhE,KAAKiE,YAe9BN,EAAO3D,KAAKkE,aAAaP,GACzBI,EAAUI,MAAQR,EAAO,GAAK3D,KAAKqD,SAhBQ,CAC3CrD,KAAKiE,YAAcjE,KAAKgE,aAAe,EACvC,MAAMI,QACGpE,KAAKV,QAAQ+E,IAClB,IAAKN,EAAWL,MAAOY,OAAOC,YAC9B,KACG1D,IACC,GAER,GADAb,KAAKgE,aAAeI,EAAatG,OAC7BkC,KAAKgE,aAAe,EAAG,CACzB,MAAMX,EAAOU,GAAWL,OAAS1D,KAAKqD,KAEtC,OADArD,KAAKiE,YAAcO,KAAKC,KAAKzE,KAAKgE,aAAeX,SACpCrD,KAAK2D,KAAKA,KAAS9C,EACjC,CACF,CAKD,GAAa,IAAT8C,EAAY,CACd,IAAK3D,KAAK0E,UACR,MAAM,IAAIC,EAAAA,YAAY,iDACxBZ,EAAoB,SAAI/D,KAAK0E,SAC9B,CACD,MAAME,QAAuC5E,KAAKV,QAAQ+E,IACxDN,GACA,KACGlD,IAGCgE,KAAEA,EAAMjB,SAAUkB,EAAYC,QAAEA,GAAYH,EAElD,GADIG,GAASjE,EAAIkE,KAAKD,IACjB/E,KAAKsD,MAAO,MAAM,IAAIqB,EAAAA,YAAY,+BACvC,MAAMvE,EAAKvC,EAAKA,MAACyD,GAAGtB,KAAKsD,OACnB2B,EAAOvI,EAAQA,SAACC,IACpBqD,KAAKsD,MACL5G,EAAAA,SAASP,IAAI+I,EAAMA,OAACxN,GAAI0I,KACvB6E,KACGE,EACJpB,EAAU5J,QAAU4J,EAAU5J,OAAO2D,OACjC+G,EACAA,EAAKvK,IAAK8K,GACDpF,KAAKV,QAAQ+F,OAClBD,EACApF,KAAKsD,MACLgC,EAAAA,SAASC,WAAWN,EAAMG,EAAEhF,SAC5BnB,EACA2B,IAKV,OAFAZ,KAAK0E,UAAYI,EACjB9E,KAAKwF,aAAe7B,EACbwB,CACR,EChKG,SAAUM,EACd/J,GAEA,IAAK,MAAMgK,IAAa,CAACvN,EAAiBU,GAAuB,CAC/D,MAAM8M,EAAK/I,OAAOgJ,KAAKF,GAAWG,KAAMC,GAAMA,IAAMpK,GACpD,GAAIiK,EAAI,OAAOD,EAAUC,EAC1B,CACD,MAAM,IAAII,EAAAA,WACR,mDAAmDrK,EAEvD,CCJM,MAAOsK,UAIHC,EAAAA,UACR,WAAA5G,CAAYC,GACVC,MAAMD,EACP,CA0DS,KAAA4G,GACR,MAAMpF,EAAMd,KAAKc,IAAII,IAAIlB,KAAKkG,OACxBC,EAA2B,CAAA,EACjCA,EAAU3O,EAAYK,OAAS,GAC/BsO,EAAU3O,EAAYK,OAASgG,EAAKA,MAACrE,UAAUwG,KAAKoG,cACpD,MAAMhD,EAAoB,CAAEiD,SAAUF,GAGtC,GAFInG,KAAKsG,iBAAgBlD,EAAMjJ,OAAS6F,KAAKsG,gBAEzCtG,KAAKuG,eAAgB,CACvB,MAAMhL,EAA2ByE,KAAKwG,eACpC5K,EAAAA,UAAU6K,IACRzG,KAAKuG,eACL3K,EAAAA,UAAUrC,UAAa/B,EAAYK,OAAkB6O,GACnDtD,EAAMiD,SAAS7O,EAAYK,UAG/BwO,SACIM,EAAe/J,OAAOgJ,KAAKrK,GACjC,GAC0B,IAAxBoL,EAAa7I,SACqD,IAAlElB,OAAOG,OAAOlE,GAAsB+N,QAAQD,EAAa,IAEzD,OAAQA,EAAa,IACnB,KAAK9N,EAAqBC,IACxByC,EAAU1C,EAAqBC,KAAO,IACjC8D,OAAOG,OACRxB,EAAU1C,EAAqBC,MAC/B+N,OAAO,CAACC,EAAwBC,KAChC,MAAMnB,EAAOhJ,OAAOgJ,KAAKmB,GACzB,GAAoB,IAAhBnB,EAAK9H,OACP,MAAUkJ,MACR,kDAEJ,MAAMlB,EAAIF,EAAK,GAIf,OAHIE,IAAMjN,EAAqBC,IAC7BgO,EAAM/M,QAASgN,EAAIjB,IAChBgB,EAAM/M,KAAKgN,GACTD,GACN,KAEL1D,EAAMiD,SAAW9K,EACjB,MACF,KAAK1C,EAAqBE,GAAI,CAC5B,MAAMkO,EAAsB,CAAA,EAC5BA,EAAEpO,EAAqBC,KAAO,CAC5ByC,KACGqB,OAAOC,QAAQuG,EAAMiD,UAAU/L,IAAI,EAAE6B,EAAK4K,MAC3C,MAAMhH,EAA2B,CAAA,EAEjC,OADAA,EAAO5D,GAAO4K,EACPhH,KAGXqD,EAAMiD,SAAWY,EACjB,KACD,CACD,QACE,MAAUD,MAAM,kCAGpBpK,OAAOC,QAAQtB,GAAWoC,QAAQ,EAAExB,EAAK4K,MACnC3D,EAAMiD,SAASlK,IACjB2E,EAAIkE,KACF,KAAK7I,4CAA8CiH,EAAMiD,SAASlK,SAAW4K,KAEjF3D,EAAMiD,SAASlK,GAAO4K,GAG3B,CAED,GAAI/G,KAAKkH,gBAAiB,CACxB9D,EAAM+D,KAAO/D,EAAM+D,MAAQ,GAC3B/D,EAAMiD,SAAWjD,EAAMiD,UAAa,CAAA,EACpC,MAAOA,EAAUvL,GAASkF,KAAKkH,gBAIzBE,EAAW,CAAA,EACjBA,EAAIf,GAAYvL,EACfsI,EAAM+D,KAAepN,KAAKqN,GACtBhE,EAAMiD,SAASA,KAClBjD,EAAMiD,SAASA,GAAY,GAC1BjD,EAAMiD,SAASA,GAA4BlO,EAAgBG,QAC1D,KAEL,CAaD,OAXI0H,KAAKqH,cACPjE,EAAMM,MAAQ1D,KAAKqH,eAEnBvG,EAAIkE,KACF,iEAEF5B,EAAMM,MR/LqB,KQkMzB1D,KAAKsH,iBAAgBlE,EAAMe,KAAOnE,KAAKsH,gBAEpClE,CACR,CAUS,aAAAmE,CACR/M,EACAgN,EACAC,EACA7G,GAEA,GAAIpG,EAAEhD,EAAYE,IAAK,CACrB,MAAS,IAAGgQ,GAAWlN,EAAEhD,EAAYE,IAAIiQ,MAAMnQ,EAAYC,WAErD2I,EAAKsH,EAAQ1N,KAAK,KACxB,OAAOgG,KAAKV,QAAQ+F,OAClB7K,EACAwF,KAAKoG,aACLd,WAASC,WAAWkC,EAAcrH,QAClCnB,EACA2B,EAEH,CACD,OAAOpG,CACR,CASQ,SAAM6J,CAAOuD,KAAyB9H,GAC7C,MAAMc,IAAEA,GAAQZ,KAAKe,OAAOjB,EAAME,KAAKqE,KAEjCnE,QAAuBF,KAAKV,QAAQ+E,IAAIuD,GAAU,EAAMhH,GAExD4G,EAAS3J,EAAKA,MAACyD,GAAGtB,KAAKoG,cACvBnB,EAAOvI,EAAQA,SAACC,IACpBqD,KAAKoG,aACL1J,EAAAA,SAASP,IAAI+I,EAAMA,OAACxN,GAAI8P,KACvBvC,KAEH,OAAKjF,KAAKsG,eAEHpG,EADEA,EAAQ5F,IAAKE,GAAMwF,KAAKuH,cAAc/M,EAAGgN,EAAQvC,EAAMrE,GAEjE,CAqCS,cAAA4F,CAAejL,GAmBvB,MAAME,MAAEA,EAAKC,SAAEA,EAAQC,WAAEA,GAAeJ,EAMxC,IAAIsM,EAAoB,CAAA,EACxB,IAGS,IAFP,CAAC7L,EAAaA,cAAClD,IAAKkD,EAAAA,cAAcjD,GAAI+C,EAAAA,SAASpD,KAAKkO,QAClDlL,GAGFmM,EAAGpM,GAAmB,GACrBoM,EAAGpM,GAAmCgK,EAAmB/J,IACxDC,OACG,GAAID,IAAaI,EAAQA,SAACpD,IAC/BmP,EAAK7H,KAAKwG,eAAe/K,GAAuB4K,SAChDwB,EAAGpC,EAAmB3J,EAAAA,SAASpD,MAAQ,CAAA,EACtCmP,EAAGpC,EAAmB3J,EAAAA,SAASpD,MAC7B+C,EAAuCA,OACtCE,MACC,CACL,MAAMmM,EAAW9H,KAAKwG,eAAe/K,GAAuB4K,SACtD0B,EAAW/H,KAAKwG,eAAe7K,GAA4B0K,SACjEwB,EAlCF,EACEA,EACAG,EACAC,KAEA,MAAMlI,EAAqB,CAAEsG,SAAU,CAAA,GAEvC,OADAtG,EAAOsG,SAASwB,GAAM,CAACG,EAAMC,GACtBlI,CACR,EA0BM2B,CAAM+D,EAAmB/J,GAAWoM,EAAKC,GAAK1B,QACpD,CAED,MAAO,CAAEA,SAAUwB,EACpB,EC7QG,MAAgBK,UAIZC,EAAAA,QACR,WAAA9I,CAAsB+I,EAAaC,EAAiBC,GAClD/I,MAAM6I,EAAOC,EAASC,GACtB,CAACtI,KAAKH,OAAQG,KAAKC,UAAWD,KAAKO,OAAQP,KAAKQ,WAAW7C,QAASC,IAClE,MAAMlD,EAAOkD,EAAElD,KACf6N,EAAYA,aAACvI,KAAMpC,EAAIoC,KAAatF,EAAO,YAE9C,CASD,SAAAuL,GAKE,OAAO,IAAID,EAAiBhG,KAC7B,CAEQ,SAAAmD,CACPC,EACAC,EACAC,GAEA,OAAO,IAAIJ,EAAiBlD,KAAMoD,EAAOC,EAAMC,EAChD,CAOQ,gBAAMkF,GACb,MAAMC,EAAgBN,EAAOA,QAACjL,OAAO8C,KAAKqI,SAC1C,OAAOrI,KAAKrF,SAAS8N,EACtB,CAEQ,UAAAC,GAGP,OAAOvJ,CACR,CAoCS,cAAAK,CACRjD,EACAoM,GAEA,OAAKA,GACLpK,EAAYhC,EAAcoM,GACnBpM,GAFUA,CAGlB,CAUS,sBAAAqM,CACR1L,EACA2L,GAMA,OAJA3L,EAAOS,QAAQ,CAACC,EAAG6E,KACjBlE,EAAYX,EAAUiL,EAAKpG,IACpB7E,IAEFV,CACR,CAEQ,OAAAqG,CACPhH,KACGuD,GAEH,MAAMgB,IAAEA,GAAQd,KAAKe,OAAOjB,EAAME,KAAKuD,SACjCoE,EAAQpL,EAAMuM,YACd/I,EAASnD,OAAOC,QAAQ8K,EAAMpL,OAAOsK,OACzC,CAACC,GAA6B3K,EAAK4K,MACjC,QAAmB,IAARA,EAAqB,OAAOD,EACvC,MAAMiC,EAAqBlL,EAAAA,MAAMmL,WAC/BzM,EAAM8C,YACNlD,GAEF,GAAI6D,KAAKiJ,WAAWF,GAClB,MAAM,IAAIxH,EAAaA,cAAC,iBAAiBwH,iBAG3C,OAFAhC,EAAMA,aAAehM,KAAO,IAAIA,KAAKgM,GAAOA,EAC5CD,EAAMiC,GAAchC,EACbD,GAET,CAAE,GAeJ,OAbKvK,EAAczC,kBAAgB4E,YAEjCoC,EAAIO,MACF,0CAA2C9E,EAAczC,EAAAA,gBAAgB4E,WAE3E9B,OAAO6B,eAAesB,EAAQjG,EAAAA,gBAAgB4E,SAAU,CACtDC,YAAY,EACZE,UAAU,EACVD,cAAc,EACd9D,MAAQyB,EAAczC,EAAeA,gBAAC4E,aAInC,CACLwK,OAAQnJ,EACRK,GAAI7D,EAAMsB,EAAKA,MAACyD,GAAG/E,EAAM8C,cACzB8J,UAAWxB,EAAMwB,UAEpB,CAWS,YAAAC,CACR9F,EACAlD,EACA7D,KACGuD,GAEH,MAAMe,QAAEA,GAAYb,KAAKe,OAAOjB,EAAME,KAAKoJ,cACrC5P,EAAYqE,EAAAA,MAAMrE,UAAU8J,GAC5B4F,EAA8B,CAAA,EAIpC,OAHAA,EAAO1R,EAAYK,OAAS2B,EAC5B0P,EAAO1R,EAAYE,IAAMsI,KAAKqJ,WAAW7P,EAAW4G,GACpDxD,OAAO6G,OAAOyF,EAAQ3M,GACf,CAAC+G,EAAOlD,EAAI8I,KAAWrI,EAC/B,CA4BS,eAAAyI,CACRhG,EACAhD,EACApD,KACG4C,GAEH,MAAMtG,EAAYqE,EAAAA,MAAMrE,UAAU8J,GAClC,GAAIhD,EAAIxC,SAAWZ,EAAOY,OACxB,MAAM,IAAIyD,EAAAA,cAAc,4CAC1B,MAAMV,QAAEA,GAAYb,KAAKe,OAAOjB,EAAME,KAAKsJ,iBACrCC,EAAUjJ,EAAIhG,IAAI,CAAC8F,EAAIoJ,KAC3B,MAAMN,EAA8B,CAAA,EAIpC,OAHAA,EAAO1R,EAAYK,OAAS2B,EAC5B0P,EAAO1R,EAAYE,IAAMsI,KAAKqJ,WAAW7P,EAAW4G,GACpDxD,OAAO6G,OAAOyF,EAAQhM,EAAOsM,IACtBN,IAET,MAAO,CAAC5F,EAAOhD,EAAKiJ,KAAY1I,EACjC,CA2BD,YAAAF,CACE2C,EACAlD,EACA7D,KACGuD,GAEH,MAAMtG,EAAYqE,EAAAA,MAAMrE,UAAU8J,IAC5BzC,QAAEA,GAAYb,KAAKe,OAAOjB,EAAME,KAAKW,cACrCuI,EAA8B,CAAA,EACpCA,EAAO1R,EAAYK,OAAS2B,EAC5B0P,EAAO1R,EAAYE,IAAMsI,KAAKqJ,WAAW7P,EAAW4G,GACpD,MAAMuI,EAAMpM,EAAMzC,EAAeA,gBAAC4E,UAClC,IAAKiK,EACH,MAAM,IAAIpH,EAAAA,cACR,+CAA+CnB,GAInD,OAFAxD,OAAO6G,OAAOyF,EAAQ3M,GACtB2M,EAAO1R,EAAYG,KAAOgR,EACnB,CAACrF,EAAOlD,EAAI8I,KAAWrI,EAC/B,CA4BS,eAAAwB,CACRiB,EACAhD,EACApD,KACG4C,GAEH,MAAMtG,EAAYqE,EAAAA,MAAMrE,UAAU8J,GAClC,GAAIhD,EAAIxC,SAAWZ,EAAOY,OACxB,MAAM,IAAIyD,EAAAA,cAAc,4CAC1B,MAAMV,QAAEA,GAAYb,KAAKe,OAAOjB,EAAME,KAAKqC,iBACrCkH,EAAUjJ,EAAIhG,IAAI,CAAC8F,EAAIoJ,KAC3B,MAAMN,EAA8B,CAAA,EACpCA,EAAO1R,EAAYK,OAAS2B,EAC5B0P,EAAO1R,EAAYE,IAAMsI,KAAKqJ,WAAW7P,EAAW4G,GACpD,MAAMuI,EAAMzL,EAAOsM,GAAO1P,EAAeA,gBAAC4E,UAC1C,IAAKiK,EACH,MAAM,IAAIpH,EAAAA,cACR,+CAA+CnB,GAInD,OAFAxD,OAAO6G,OAAOyF,EAAQhM,EAAOsM,IAC7BN,EAAO1R,EAAYG,KAAOgR,EACnBO,IAET,MAAO,CAAC5F,EAAOhD,EAAKiJ,KAAY1I,EACjC,CAuBS,UAAAwI,CAAW7P,EAAmB4G,GACtC,MAAO,CAAC5G,EAAW4G,GAAIpG,KAAKxC,EAAYC,UACzC,CASD,UAAAgS,CAAgCC,EAAqBC,GACnD,OAAOzB,EAAeuB,WAAWC,EAAKC,EACvC,CAQkB,UAAAV,CAAWpP,GAC5B,QAASA,EAAK+P,MAAMrS,EACrB,CA0DS,iBAAOkS,CACfC,EACAC,GAEA,GAAID,aAAe1G,EAASA,UAAE,OAAO0G,EACrC,IAAIG,EAAe,GACnB,GAAmB,iBAARH,EAAkB,CAE3B,GADAG,EAAOH,EACHG,EAAKD,MAAM,kCACb,OAAO,IAAIE,EAAAA,cAAcD,GAC3B,GAAIA,EAAKD,MAAM,oBAAqB,OAAO,IAAIG,EAAAA,cAAcF,EAC9D,MAAWH,EAAYG,MACtBA,EAAQH,EAAYG,KACpBF,EAASA,GAAUD,EAAIM,SACbN,EAAYO,YACtBJ,EAAQH,EAAYO,WACpBN,EAASA,GAAUD,EAAIM,SAEvBH,EAAOH,EAAIM,QAGb,OAAQH,EAAKzH,YACX,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAO,IAAI0H,EAAAA,cAAcH,GAC3B,IAAK,MACH,OAAO,IAAII,EAAAA,cAAcJ,GAC3B,IAAK,MACH,OAAIE,EAAKzH,WAAWwH,MAAM,sBACjB,IAAI7G,EAAW2G,GACjB,IAAInI,EAAAA,cAAcmI,GAC3B,QACE,OAAIG,EAAKzH,WAAWwH,MAAM,iBACjB,IAAIM,EAAAA,gBAAgBR,GACtB,IAAInI,EAAAA,cAAcmI,GAE9B,CAUD,kBAAOnL,CAA6BhC,EAAUiC,GAC5CD,EAAYhC,EAAOiC,EACpB,CASD,kBAAOM,CAA6BvC,GAClC,OAAOuC,EAAYvC,EACpB,CAQD,qBAAO2C,CAAgC3C,GACrC2C,EAAe3C,EAChB,ECjiBH,SAAS4N,EACPC,EACA5N,EACA6N,GAEA,MAAO,CAAmB5K,EAAa5F,KACrC,MAAMyQ,EAAOD,GAAM3P,MAjBvB,EACE+E,EACAtD,EACAtC,KAEA,MACM0Q,GADW7N,EAAAA,SAASC,IAAI8C,EAAOJ,YAAalD,IAAQ,IAC9BtC,IAAS,CAAA,EAErC,OADa+C,OAAOgJ,KAAK2E,GAAYzM,OAAS,EACvC0M,EACT,EAQ+BC,CAAahL,EAAQ2K,EAASvQ,GACnDsC,EAAMO,EAAAA,SAASP,IAAIiO,EAASvQ,EAAgByQ,GAC5CxP,EAAsB,IACtBuP,GAAQ,CAAA,EACZ7N,OACAjD,UAAWM,GAEb,OAAO6Q,EAAAA,aAAavO,EAAKrB,EAAlB4P,CAAyBjL,EAAQ5F,EAC1C,CACF,CDuDE8Q,EAAAA,WAAA,CADCC,qHAC6B5E,IAM7BkC,EAAA2C,UAAA,YAAA,MA4DSF,EAAAA,WAAA,CADTC,2IAQA1C,EAAA2C,UAAA,iBAAA,MAUSF,EAAAA,WAAA,CADTC,wIAUA1C,EAAA2C,UAAA,yBAAA,MAoDSF,EAAAA,WAAA,CADTC,wJAcA1C,EAAA2C,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAmBA1C,EAAA2C,UAAA,kBAAA,MA2BDF,EAAAA,WAAA,CADCC,yJAoBA1C,EAAA2C,UAAA,eAAA,MA4BSF,EAAAA,WAAA,CADTC,uJAyBA1C,EAAA2C,UAAA,kBAAA,MEhXU,MAAAC,EAAU,cAOVC,EAAe,cAE5BrO,EAAAA,SAASsO,gBAAgBD,EAAcD,4HX+Ba,CAClDG,KAAM,8GA1DyB,mGUsEjB,CACdC,EACAC,KAEA,IAAId,EAAyB,CAAA,EAU7B,OATIa,aAA4BtP,EAAAA,UAC9ByO,EAAK9O,UAAY2P,EACoB,iBAArBA,GAAiCA,EACjDb,EAAOa,OAC8B,IAArBA,IAChBb,EAAKvP,MAAQoQ,GAEXC,IAASd,EAAOzN,OAAO6G,OAAO,CAAE,EAAE4G,EAAMc,IAErCC,aAAWlK,IAAIpF,EAAQA,SAACwB,OAC5B+N,OAAO,CACNC,UAA0BC,GACjBpB,EAAmBrO,EAAQA,SAACwB,MAAO,QAASiO,GAErDzL,KAAM,CAACuK,KAER3K,OACL,aAoEgB,CACd8L,EACAL,KAEA,IAAId,EAAyB,CAAA,EAQ7B,OAPImB,aAA8B5P,EAAAA,UAChCyO,EAAK9O,UAAYiQ,EACRA,IACTnB,EAAOmB,GAELL,IAASd,EAAOzN,OAAO6G,OAAO,CAAE,EAAE4G,EAAMc,IAErCC,aAAWlK,IAAIpF,EAAQA,SAAC4B,UAC5B2N,OAAO,CACNC,UAA6BC,GACpBpB,EAAmBrO,EAAQA,SAAC4B,SAAU,WAAY6N,GAE3DzL,KAAM,CAACuK,KAER3K,OACL,+DE3GExC,IAEA,MAAM1D,EAhER,EACEkB,EACA2D,EACA5E,EACAE,EAAYC,EAAAA,mBAEL,IACFc,EAAKJ,IAAKmR,GAAOA,IAAMjU,EAAYK,MAAQ,QAAU4T,MACpDhS,GAAgB,MAChB4E,EAAY,CAACA,GAAa,GAC9B7G,EAAYS,OACZ+B,KAAKL,GAqDWL,CAAkB,CAAC9B,EAAYK,QAC3CsF,EAA8C,CAAA,EAkEpD,OAjEAA,EAAQ3D,GAAa,CACnBmB,MAAO,CACLR,OAAQ,CAAC3C,EAAYK,QAEvB6C,KAAMlB,EACNoB,KAAMpB,EACNyL,KAAM,QAGR/H,EAAOS,QAASC,IACd,MAAM8N,EAAqC7N,EAAAA,MAAMV,QAAQS,GACzDhB,OAAOC,QAAQ6O,GAAK/N,QAAQ,EAAExB,EAAKrB,MACjC,MAAMgL,EAAIlJ,OAAOgJ,KAAK9K,GAAO,GAE7B,IAAIkD,WAAEA,EAAUvE,aAAEA,GAAkBqB,EAAcgL,GAClD,MAAMtM,EAAYqE,EAAAA,MAAMrE,UAAUoE,GAGlC,SAAS+N,EAASxE,GAChB,MAAMzM,EAAO,CACXlB,EACA2C,KACI1C,EACJK,EAAAA,gBAAgB7B,OAChB+B,KAAKJ,EAAAA,kBAsBP,GApBAuD,EAAQzC,GAAQ,CACdC,MAAO,CACLR,OAAQ,CAAC3C,EAAYK,MAAOsE,KAAS1C,GAAqBoN,OACxD,CAACC,EAAcnB,KACb,GAAIwB,EAAM,CACR,MAAMyE,EAAW,CAAA,EACjBA,EAAIjG,GAAMwB,EACVL,EAAM/M,KAAK6R,EACZ,MACC9E,EAAM/M,KAAK4L,GAEb,OAAOmB,GAET,KAGJpM,KAAMA,EACNE,KAAMF,EACNuK,KAAM,SAEHkC,EAAM,CACT,MAAM0E,EAAmC,CAAA,EACzCA,EAAYrU,EAAYK,OAAS,GACjCgU,EAAYrU,EAAYK,OAAOM,EAAgBC,OAASoB,EACxD2D,EAAQzC,GAAMC,MAAMmR,wBAA0BD,CAC/C,CACF,CApCDpS,EAAeA,GAAgB,GAsC/BkS,IACI3N,GACDA,EAA2CL,QAASyH,GAAMuG,EAASvG,QAI1EnI,EAAoBC,GAAQS,QAAShD,IAC9BA,EAAMD,OACXyC,EAAQxC,EAAMD,MAAQC,KAGjBiC,OAAOG,OAAOI,EACvB,0CVqFED,IAEA,MAAM6O,EAA6C,CAAA,EAE7C3O,EAA8B,CAClC,CAAC5F,EAAYU,KAAM,QACnB,CAAC4D,EAAQA,SAACuB,SAAU,WACpB,CAACvB,EAAQA,SAACwB,MAAO,SACjB,CAACxB,EAAQA,SAACyB,IAAK,OACf,CAACzB,EAAQA,SAAC0B,IAAK,OACf,CAAC1B,EAAQA,SAAC2B,IAAK,OACf,CAAC3B,EAAQA,SAAC4B,SAAU,aA2BtB,OAxBAR,EAAOS,QAASC,IACd,MAAMpE,EAAYqE,EAAAA,MAAMrE,UAAUoE,GACpBR,EAASN,QAAQ,EAAEX,EAAKK,KACpCF,EAAoBsB,EAAGzB,EAAKK,IAGxBmB,QAASlB,IACb,MAAM5C,EAAO4C,EAAKlD,UACZyS,EAhEZ,EACExS,EACAK,EACA2C,EACAC,EACA9C,EAAYC,qBAER6C,EAAK/B,KAAa+B,EAAK/B,KACb,CAAClB,EAAWK,EAAM2C,EAAM,QACzBxC,KAAKL,GAAWsS,QAAQ,OAAQ,KAuDxBC,CAAiB1S,EAAWK,EAAM4C,EAAKD,KAAMC,GACxD0P,EAAW1P,EAAK7B,MArD5B,EACEpB,EACAwS,EACArS,EAAYC,EAAAA,mBAEL,CAACJ,EAAWwS,EAAUxU,EAAYO,MAAMiC,KAAKL,GAgDlByS,CAAsB5S,EAAWwS,GACzDK,EAAS,WAAWF,EAEpBG,EAnFZ,EACE9P,EACA3C,EACA4C,EACAjD,KAEA,MAAMc,EA9CR,EACEd,EACAK,EACA4C,KAEA,GAAIA,EAAKnC,IACP,MAAwB,mBAAbmC,EAAKnC,IAA2BmC,EAAKnC,IAAI8H,WAC7C3F,EAAKnC,IAGd,MAAMiS,EAAmB,GAIzB,GAHAA,EAAOxS,KACL,OAAOiB,KAAKC,UAAUzD,EAAYK,eAAemD,KAAKC,UAAUzB,MAE9DiD,EAAKlB,UACP,GAAIkB,EAAKlB,qBAAqBK,YAC5B2Q,EAAOxS,KAAKuB,EAAcmB,EAAKlB,UAAW,aACrC,GAA8B,iBAAnBkB,EAAKlB,UACrBgR,EAAOxS,KAAK0C,EAAKlB,eACZ,CACL,MAAMiR,EAAW5Q,EAASA,UAAC6Q,KAAKhQ,EAAKlB,WACrCgR,EAAOxS,KAAKuB,EAAckR,EAAU,OACrC,CAEe,UAAd/P,EAAKD,WAAmCyC,IAAfxC,EAAK3B,OAChCyR,EAAOxS,KAAK,OAAOiB,KAAKC,UAAUpB,WAAcgB,EAAY4B,EAAK3B,UAEnE,MAAM4R,EA5FR,EACErT,EACAmC,EAAS,SAET,IAAKnC,EAAM,OACX,GAAoB,iBAATA,EAAmB,OAAOA,EACrC,MAAMsT,EAAQtT,EAAKsT,OAAS,QACtBC,EAAQvT,EAAKuT,OAAS,GAC5B,IAAKA,EAAM9O,OAAQ,OAAOzE,EAAKwT,WAC/B,MAAMC,EAAW,GAAGtR,KAAUR,KAAKC,UAAU0R,YAC7C,MAA6B,SAAxBtT,EAAK0T,MAAQ,OACTH,EACJtS,IAAKE,GAAM,GAAGsS,aAAoB9R,KAAKC,UAAUT,cACjDR,KAAK,QAEH4S,EACJtS,IAAKE,GAAM,GAAGsS,aAAoB9R,KAAKC,UAAUT,cACjDR,KAAK,OACV,EA0EoBgT,CAAevQ,EAAKpD,KAAM,OACxCqT,GAAWH,EAAOxS,KAAK2S,GAE3B,MAAMO,EAAQV,EAAOzO,OAASyO,EAAOvS,KAAK,QAAU,OAC9CkT,EAnER,EACE/Q,EACAtC,EACAJ,KAEA,MAAMmM,EAAO1J,EAAaC,EAAKtC,EAAMJ,GACrC,OAAoB,IAAhBmM,EAAK9H,OAAqB,OAAO9C,KAAKC,UAAU2K,EAAK,OAClD,IAAIA,EAAKtL,IAAKwL,GAAM,OAAO9K,KAAKC,UAAU6K,OAAO9L,KAAK,QAC/D,EA2DkBmT,CAAa1Q,EAAKN,IAAKtC,EAAM4C,EAAKhD,cAC5C2T,EA1DR,EAAwBtS,EAA6BjB,IACrC,QAAViB,EAAwB,MACvBA,EACDsB,MAAMC,QAAQvB,GACT,IAAIA,EAAMR,IAAK+S,GAAM,OAAOrS,KAAKC,UAAUoS,OAAOrT,KAAK,SAC3C,iBAAVc,EAA2B,OAAOE,KAAKC,UAAUH,MACrDD,EAAYC,GAJA,OAAOE,KAAKC,UAAUpB,MAwDvByT,CAChB7Q,EAAK3B,QAAU2B,EAAK8Q,YAA4B,QAAd9Q,EAAKD,KAAiB,WAAQyC,GAChEpF,GAGF,MAAO,6BAA6BoT,uBAA2BC,MAAYE,QAC7E,EAQcI,CAAiBhU,EAAWK,EAAM4C,GACxCoK,EAASpK,EAAKoK,OACO,mBAAhBpK,EAAKoK,OACVpK,EAAKoK,OAAOzE,WACZ3F,EAAKoK,OAnEb,CAAuBrK,IACrB,OAAQA,GACN,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,SACT,IAAK,MACH,MAAO,OACT,IAAK,MACH,MAAO,6SACT,IAAK,MACH,MAAO,6SACT,QACE,OAEN,EAqDMiR,CAAcjR,GAClB,MAAO,CAAElC,MAAKuM,SAChB,EAsEsB6G,CAAsBjR,EAAKD,KAAM3C,EAAM4C,EAAMjD,GACxDuS,EAASM,KACZN,EAASM,GAAU,CACjBsB,IAAKtB,EACLuB,SAAU,aACVC,MAAO,CAAE,IAGb9B,EAASM,GAAQwB,MAAM7B,GAAYM,MAIhC1P,OAAOG,OAAOgP,EACvB,4BQjOgB,CACd+B,EACAC,KAEA,IAAI1D,EAAoB,CAAA,EAcxB,OAbIjO,MAAMC,QAAQyR,GAChBzD,EAAK5Q,aAAeqU,EACsB,iBAA1BA,EAChBzD,EAAK3P,KAAOoT,EACHA,IACTzD,EAAOyD,GAEoB,iBAAlBC,EACT1D,EAAK3P,KAAOqT,EACHA,IACT1D,EAAOzN,OAAO6G,OAAO,CAAE,EAAE4G,EAAM0D,IAG1B3C,aAAWlK,IAAIpF,EAAQA,SAACuB,UAC5BgO,OAAO,CACNC,UAA4BC,GACnBpB,EAAmBrO,EAAQA,SAACuB,SAAU,UAAWkO,GAE1DzL,KAAM,CAACuK,KAER3K,OACL,QAgDgB,CACd8L,EACAL,KAEA,IAAId,EAAyB,CAAA,EAQ7B,OAPImB,aAA8B5P,EAAAA,UAChCyO,EAAK9O,UAAYiQ,EACRA,IACTnB,EAAOmB,GAELL,IAASd,EAAOzN,OAAO6G,OAAO,CAAE,EAAE4G,EAAMc,IAErCC,aAAWlK,IAAIpF,EAAQA,SAAC0B,KAC5B6N,OAAO,CACNC,UAAwBC,GACfpB,EAAmBrO,EAAQA,SAAC0B,IAAK,MAAO+N,GAEjDzL,KAAM,CAACuK,KAER3K,OACL,QAEgB,CACd8L,EACAL,KAEA,IAAId,EAAyB,CAAA,EAQ7B,OAPImB,aAA8B5P,EAAAA,UAChCyO,EAAK9O,UAAYiQ,EACRA,IACTnB,EAAOmB,GAELL,IAASd,EAAOzN,OAAO6G,OAAO,CAAE,EAAE4G,EAAMc,IAErCC,aAAWlK,IAAIpF,EAAQA,SAAC2B,KAC5B4N,OAAO,CACNC,UAAwBC,GACfpB,EAAmBrO,EAAQA,SAAC2B,IAAK,MAAO8N,GAEjDzL,KAAM,CAACuK,KAER3K,OACL,6EAhEgB,CACd8L,EACAL,KAEA,IAAId,EAAyB,CAAA,EAQ7B,OAPImB,aAA8B5P,EAAAA,UAChCyO,EAAK9O,UAAYiQ,EACRA,IACTnB,EAAOmB,GAELL,IAASd,EAAOzN,OAAO6G,OAAO,CAAE,EAAE4G,EAAMc,IAErCC,aAAWlK,IAAIpF,EAAQA,SAACyB,KAC5B8N,OAAO,CACNC,UAAwBC,GACfpB,EAAmBrO,EAAQA,SAACyB,IAAK,MAAOgO,GAEjDzL,KAAM,CAACuK,KAER3K,OACL,2BT/BuC7F,GAE9BA,EAAK+P,MADG,wCSrDIS,GACZe,aAAWlK,IAAI1J,EAAYU,MAC/BmT,OAAO,CACNC,UAAyBC,GAChBpB,EAAmB3S,EAAYU,KAAM,OAAQqT,GAEtDzL,KAAM,CAACuK,KAER3K,8BRuR+BjD,IAClC,MAAMN,EAAMD,EAAaO,EAAKN,IAAKM,EAAKlD,WACxC,MAAO,CACLA,UAAW4C,EAAI,GACf1C,aAAc0C,EAAI4B,MAAM,GAAGiQ,OAAOvR,EAAKhD,cAAgB,IACvDuE,WAAYvB,EAAKuB,WAErB,sBDrRM,CACJ9E,EACA+U,EACA9U,EACAC,KAEA,MAAM8U,EAAKhV,EAAIiV,IAAMjV,EAAIiV,IAAIF,GAAU/U,EAkBvC,MAjBA,CAAC,SAAU,MAAO,MAAO,UAAW,OAAQ,QAAQyE,QAASmI,IAC3D,MAAMsI,EAAYF,EAA2BpI,GAC7ClJ,OAAO6B,eAAeyP,EAAIpI,EAAG,CAC3BnH,YAAY,EACZC,cAAc,EACd9D,MAAO9B,SAAU8G,WACT7G,EAAOC,EAAKC,EAAMC,GACjBgV,EAASC,KAAKH,KAAOpO,QAIlClD,OAAO6B,eAAeyP,EAAI1W,EAAYQ,OAAQ,CAC5C2G,YAAY,EACZC,cAAc,EACdC,UAAU,EACV/D,MAAO5B,IAEFgV,CACT"}
|
package/dist/for-couchdb.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as e}from"@decaf-ts/decoration";import{PersistenceKeys as t,Paginator as r,PagingError as s,Sequence as a,QueryError as i,Statement as n,Condition as o,GroupOperator as c,Operator as l,Adapter as d,ConnectionError as u,Repository as p}from"@decaf-ts/core";import{DefaultSeparator as h,BaseError as g,DBKeys as f,prefixMethod as A,InternalError as m,ConflictError as y,NotFoundError as E,OperationKeys as b,enforceDBDecorators as w,ValidationError as O,BulkCrudOperationKeys as T,reduceErrorsToPrint as x}from"@decaf-ts/db-decorators";import{Model as P}from"@decaf-ts/decorator-validation";import{__decorate as D,__metadata as j}from"tslib";import{final as M}from"@decaf-ts/logging";const N=/^_.*$/g,v={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},S=250,L={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},k={AND:"$and",OR:"$or"},C={NULL:"null"};function I(e){const r=((e,t,r,s=h)=>[...e.map(e=>e===v.TABLE?"table":e),...r||[],...t?[t]:[],v.INDEX].join(s))([v.TABLE]),s={};return s[r]={index:{fields:[v.TABLE]},name:r,ddoc:r,type:"json"},e.forEach(e=>{const r=P.indexes(e);Object.entries(r).forEach(([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=P.tableName(e);function l(e){const a=[c,r,...o,t.INDEX].join(h);if(s[a]={index:{fields:[v.TABLE,r,...o].reduce((t,r)=>{if(e){const s={};s[r]=e,t.push(s)}else t.push(r);return t},[])},name:a,ddoc:a,type:"json"},!e){const e={};e[v.TABLE]={},e[v.TABLE].$eq=c,s[a].index.partial_filter_selector=e}}o=o||[],l(),n&&n.forEach(e=>l(e))})}),Object.values(s)}class _ extends g{constructor(e){super(_.name,e,404)}}class R extends r{constructor(e,t,r,s){super(e,t,r,s)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(t=1,r,...i){const{log:n,ctxArgs:o,ctx:c}=this.adapter.logCtx([r,...i],this.page);if(this.isPreparedStatement())return await this.pagePrepared(t,...o);const l=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)t=this.validatePage(t),l.skip=(t-1)*this.size;else{this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...l,limit:Number.MAX_VALUE},!0,...o)||[];if(this._recordCount=e.length,this._recordCount>0){const e=l?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/e),await this.page(t,...o)}}if(1!==t){if(!this._bookmark)throw new s("No bookmark. Did you start in the first page?");l.bookmark=this._bookmark}const d=await this.adapter.raw(l,!1,...o),{docs:u,bookmark:p,warning:h}=d;if(h&&n.warn(h),!this.clazz)throw new s("No statement target defined");const g=P.pk(this.clazz),A=e.get(this.clazz,e.key(f.ID,g))?.type,m=l.fields&&l.fields.length?u:u.map(e=>this.adapter.revert(e,this.clazz,a.parseValue(A,e[g]),void 0,c));return this._bookmark=p,this._currentPage=t,m}}function $(e){for(const t of[L,k]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new i("Could not find adapter translation for operator "+e)}class B extends n{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[v.TABLE]={},t[v.TABLE]=P.tableName(this.fromSelector);const r={selector:t};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(o.and(this.whereCondition,o.attribute(v.TABLE).eq(r.selector[v.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(k).indexOf(s[0]))switch(s[0]){case k.AND:t[k.AND]=[...Object.values(t[k.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===k.AND?e.push(...t[s]):e.push(t),e},[])],r.selector=t;break;case k.OR:{const e={};e[k.AND]=[t,...Object.entries(r.selector).map(([e,t])=>{const r={};return r[e]=t,r})],r.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,s])=>{r.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${r.selector[t]} by ${s}`),r.selector[t]=s})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[e,t]=this.orderBySelector,s={};s[e]=t,r.sort.push(s),r.selector[e]||(r.selector[e]={},r.selector[e].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(e,t,r,s){if(e[v.ID]){const[,...t]=e[v.ID].split(v.SEPARATOR),i=t.join("_");return this.adapter.revert(e,this.fromSelector,a.parseValue(r,i),void 0,s)}return e}async raw(t,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(t,!0,s),i=P.pk(this.fromSelector),n=e.get(this.fromSelector,e.key(f.ID,i))?.type;return this.selectSelector?a:a.map(e=>this.processRecord(e,i,n,s))}parseCondition(e){const{attr1:t,operator:r,comparison:s}=e;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[t]={},a[t][$(r)]=s;else if(r===l.NOT)a=this.parseCondition(t).selector,a[$(l.NOT)]={},a[$(l.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,i=this.parseCondition(s).selector;a=((e,t,r)=>{const s={selector:{}};return s.selector[e]=[t,r],s})($(r),e,i).selector}return{selector:a}}}class V extends d{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;A(this,e,this[t+"Prefix"])})}Statement(){return new B(this)}Paginator(e,t,r){return new R(this,e,t,r)}async initialize(){const e=d.models(this.flavour);return this.index(...e)}repository(){return U}assignMetadata(e,t){return t?(V.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(V.setMetadata(e,t[r]),e)),e}prepare(e,...r){const{log:s}=this.logCtx(r,this.prepare),a=e.segregate(),i=Object.entries(a.model).reduce((t,[r,s])=>{if(void 0===s)return t;const a=P.columnName(e.constructor,r);if(this.isReserved(a))throw new m(`Property name ${a} is reserved`);return s=s instanceof Date?new Date(s):s,t[a]=s,t},{});return e[t.METADATA]&&(s.silly("Passing along persistence metadata for "+e[t.METADATA]),Object.defineProperty(i,t.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[t.METADATA]})),{record:i,id:e[P.pk(e.constructor)],transient:a.transient}}createPrefix(e,t,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=P.tableName(e),n={};return n[v.TABLE]=i,n[v.ID]=this.generateId(i,t),Object.assign(n,r),[e,t,n,...a]}createAllPrefix(e,t,r,...s){const a=P.tableName(e);if(t.length!==r.length)throw new m("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=t.map((e,t)=>{const s={};return s[v.TABLE]=a,s[v.ID]=this.generateId(a,e),Object.assign(s,r[t]),s});return[e,t,n,...i]}updatePrefix(e,r,s,...a){const i=P.tableName(e),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[v.TABLE]=i,o[v.ID]=this.generateId(i,r);const c=s[t.METADATA];if(!c)throw new m("No revision number found for record with id "+r);return Object.assign(o,s),o[v.REV]=c,[e,r,o,...n]}updateAllPrefix(e,r,s,...a){const i=P.tableName(e);if(r.length!==s.length)throw new m("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map((e,r)=>{const a={};a[v.TABLE]=i,a[v.ID]=this.generateId(i,e);const n=s[r][t.METADATA];if(!n)throw new m("No revision number found for record with id "+e);return Object.assign(a,s[r]),a[v.REV]=n,a});return[e,r,o,...n]}generateId(e,t){return[e,t].join(v.SEPARATOR)}parseError(e,t){return V.parseError(e,t)}isReserved(e){return!!e.match(N)}static parseError(e,t){if(e instanceof g)return e;let r="";if("string"==typeof e){if(r=e,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else e.code?(r=e.code,t=t||e.message):e.statusCode?(r=e.statusCode,t=t||e.message):r=e.message;switch(r.toString()){case"401":case"412":case"409":return new y(t);case"404":return new E(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new _(e):new m(e);default:return r.toString().match(/ECONNREFUSED/g)?new u(e):new m(e)}}static setMetadata(e,r){Object.defineProperty(e,t.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(e){const r=Object.getOwnPropertyDescriptor(e,t.METADATA);return r?r.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,t.METADATA)&&delete e[t.METADATA]}}D([M(),j("design:type",Function),j("design:paramtypes",[]),j("design:returntype",B)],V.prototype,"Statement",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,String]),j("design:returntype",Object)],V.prototype,"assignMetadata",null),D([M(),j("design:type",Function),j("design:paramtypes",[Array,Array]),j("design:returntype",Array)],V.prototype,"assignMultipleMetadata",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",Array)],V.prototype,"createPrefix",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],V.prototype,"createAllPrefix",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Object,Object,Object]),j("design:returntype",void 0)],V.prototype,"updatePrefix",null),D([M(),j("design:type",Function),j("design:paramtypes",[Object,Array,Array,Object]),j("design:returntype",void 0)],V.prototype,"updateAllPrefix",null);class U extends p{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,s=V.getMetadata(r);return s&&V.setMetadata(e,s),e};return Array.isArray(e)?e.map((e,s)=>{const a=Array.isArray(t)?t[s]:t;return r(e,a)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const{ctx:r,ctxArgs:s,log:a}=(await this.logCtx(t,b.UPDATE,!0)).for(this.updatePrefix),i=r.get("ignoreHandlers"),n=r.get("ignoreValidation");a.silly(`handlerSetting: ${i}, validationSetting: ${n}`);const o=e[this.pk];if(!o)throw new m("No value for the Id is defined under the property "+this.pk);let c,l;if(r.get("applyUpdateValidation")&&(c=await this.read(o),l=c?V.getMetadata(c):void 0,r.get("mergeForUpdate")&&(e=P.merge(c,e,this.class))),i||await w(this,r,e,b.UPDATE,b.ON,c),!n){const t=r.get("ignoredValidationProperties")||[];a.silly("ignored validation properties: "+t);const s=await Promise.resolve(e.hasErrors(c,...t));if(s)throw new O(s.toString())}return l&&V.setMetadata(e,l),[e,...s,c]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:s,log:a}=(await this.logCtx(t,T.UPDATE_ALL,!0)).for(this.updateAllPrefix),i=r.get("ignoreHandlers"),n=r.get("ignoreValidation");a.silly(`handlerSetting: ${i}, ignoredValidation: ${n}`);const o=e.map(e=>{const t=e[this.pk];if(!t)throw new m("missing id on update operation");return t});let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(o,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=P.merge(c[t],e,this.class));const s=V.getMetadata(c[t]);return s&&V.setMetadata(e,s),e})),i||await Promise.all(e.map((e,t)=>w(this,r,e,b.UPDATE,b.ON,c?c[t]:void 0))),!n){const t=r.get("ignoredValidationProperties")||[];let s;a.silly("ignored validation properties: "+t),s=r.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(c[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const i=x(s);if(i)throw new O(i)}return[e,...s,c]}}async function z(e,t,r){return e.auth(t,r)}function F(e,t,r,s){const a=e.use?e.use(t):e;return["insert","get","put","destroy","find"].forEach(t=>{const i=a[t];Object.defineProperty(a,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await z(e,r,s),i.call(a,...t))})}),Object.defineProperty(a,v.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),a}function q(e){return e.match(/^_.*$/g)}function G(e,r,s,a,i=h){const n=[t.INDEX,r,e];return s&&n.push(...s),a&&n.push(a),n.join(i)}function X(e,t,r,s,a=h){const i={};let n;if(i[v.TABLE]={},i[v.TABLE].$eq=t,s){const t={};t[e]=s;const a=(r||[]).map(e=>{const t={};return t[e]=s,t}),i={};i[v.TABLE]=s,n=[t,...a,i]}else n=[e,...r||[],v.TABLE];const o=G(e,t,r,s,a);return{index:{fields:n},ddoc:[o,v.DDOC].join(a),name:o}}const Q="##VERSION##",H="##PACKAGE##";e.registerLibrary(H,Q);export{V as CouchDBAdapter,C as CouchDBConst,k as CouchDBGroupOperator,v as CouchDBKeys,L as CouchDBOperator,R as CouchDBPaginator,S as CouchDBQueryLimit,U as CouchDBRepository,B as CouchDBStatement,_ as IndexError,H as PACKAGE_NAME,Q as VERSION,X as generateIndexDoc,G as generateIndexName,I as generateIndexes,z as reAuth,N as reservedAttributes,q as testReservedAttributes,$ as translateOperators,F as wrapDocumentScope};
|
|
1
|
+
import{Metadata as e,Decoration as t,propMetadata as r}from"@decaf-ts/decoration";import{PersistenceKeys as n,Operator as i,OrderDirection as s,Condition as a,GroupOperator as o,Repository as c,Paginator as l,PagingError as u,Sequence as d,QueryError as p,Statement as f,Adapter as g,ConnectionError as h}from"@decaf-ts/core";import{DefaultSeparator as m,OperationKeys as y,InternalError as A,enforceDBDecorators as E,ValidationError as b,BulkCrudOperationKeys as O,reduceErrorsToPrint as w,BaseError as v,DBKeys as N,prefixMethod as x,ConflictError as T,NotFoundError as $}from"@decaf-ts/db-decorators";export{DefaultSeparator}from"@decaf-ts/db-decorators";import{Model as j}from"@decaf-ts/decorator-validation";import{__decorate as S,__metadata as D}from"tslib";import{final as P}from"@decaf-ts/logging";const M=/^_.*$/g,I={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index",VIEW:"view"},k=250,C={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},R={AND:"$and",OR:"$or"},_={NULL:"null"};async function L(e,t,r){return e.auth(t,r)}function B(e,t,r,n){const i=e.use?e.use(t):e;return["insert","get","put","destroy","find","view"].forEach(t=>{const s=i[t];Object.defineProperty(i,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await L(e,r,n),s.call(i,...t))})}),Object.defineProperty(i,I.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),i}function V(e){return e.match(/^_.*$/g)}function U(e,t,r,i,s=m){const a=[n.INDEX,t,e];return r&&a.push(...r),i&&a.push(i),a.join(s)}function J(e,t,r,n,i=m){const s={};let a;if(s[I.TABLE]={},s[I.TABLE].$eq=t,n){const t={};t[e]=n;const i=(r||[]).map(e=>{const t={};return t[e]=n,t}),s={};s[I.TABLE]=n,a=[t,...i,s]}else a=[e,...r||[],I.TABLE];const o=U(e,t,r,n,i);return{index:{fields:a},ddoc:[o,I.DDOC].join(i),name:o}}function G(e){return e instanceof Date?JSON.stringify(e.toISOString()):e instanceof RegExp?`new RegExp(${JSON.stringify(e.source)}, ${JSON.stringify(e.flags)})`:JSON.stringify(e)}function F(e,t){const{attr1:r,operator:n,comparison:s}=e;if(r instanceof a){const e=F(r,t);if(n===i.NOT)return`!(${e})`;const a=F(s,t);return n===o.AND?`(${e} && ${a})`:n===o.OR?`(${e} || ${a})`:e}const c=`${t}[${JSON.stringify(r)}]`;switch(n){case i.EQUAL:return`${c} === ${G(s)}`;case i.DIFFERENT:return`${c} !== ${G(s)}`;case i.BIGGER:return`${c} > ${G(s)}`;case i.BIGGER_EQ:return`${c} >= ${G(s)}`;case i.SMALLER:return`${c} < ${G(s)}`;case i.SMALLER_EQ:return`${c} <= ${G(s)}`;case i.IN:return`(${G(s)}).indexOf(${c}) !== -1`;case i.REGEXP:return`${s instanceof RegExp?G(s):`new RegExp(${JSON.stringify(s)})`}.test(${c})`;case i.NOT:return`!(${c} === ${G(s)})`;default:return"true"}}function z(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function X(t,r,n){const i=e.get(t,r)||{};return Object.entries(i).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>{const r=t;return{...r,kind:n,attribute:r.attribute||e}}):[])}function q(e){const t={},r=[[I.VIEW,"view"],[i.GROUP_BY,"groupBy"],[i.COUNT,"count"],[i.SUM,"sum"],[i.MAX,"max"],[i.MIN,"min"],[i.DISTINCT,"distinct"]];return e.forEach(e=>{const n=j.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=e.attribute,i=((e,t,r,n,i=m)=>n.name?n.name:[e,t,r,"view"].join(i).replace(/\s+/g,"_"))(n,r,e.kind,e),s=e.ddoc||((e,t,r=m)=>[e,t,I.DDOC].join(r))(n,i),o="_design/"+s,c=((e,t,r,n)=>{const i=((e,t,r)=>{if(r.map)return"function"==typeof r.map?r.map.toString():r.map;const n=[];if(n.push(`doc[${JSON.stringify(I.TABLE)}] === ${JSON.stringify(e)}`),r.condition)if(r.condition instanceof a)n.push(F(r.condition,"doc"));else if("string"==typeof r.condition)n.push(r.condition);else{const e=a.from(r.condition);n.push(F(e,"doc"))}"count"===r.kind&&void 0!==r.value&&n.push(`doc[${JSON.stringify(t)}] === ${G(r.value)}`);const i=((e,t="doc")=>{if(!e)return;if("string"==typeof e)return e;const r=e.field||"roles",n=e.roles||[];if(!n.length)return e.expression;const i=`${t}[${JSON.stringify(r)}] || []`;return"all"===(e.mode||"any")?n.map(e=>`${i}.indexOf(${JSON.stringify(e)}) !== -1`).join(" && "):n.map(e=>`${i}.indexOf(${JSON.stringify(e)}) !== -1`).join(" || ")})(r.auth,"doc");i&&n.push(i);const s=n.length?n.join(" && "):"true",o=((e,t,r)=>{const n=z(e,t,r);return 1===n.length?`doc[${JSON.stringify(n[0])}]`:`[${n.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`})(r.key,t,r.compositions),c=((e,t)=>"doc"===e?"doc":e?Array.isArray(e)?`[${e.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`:"string"==typeof e?`doc[${JSON.stringify(e)}]`:G(e):`doc[${JSON.stringify(t)}]`)(r.value??(r.returnDocs&&"sum"!==r.kind?"doc":void 0),t);return`function (doc) {\n if (!(${s})) return;\n emit(${o}, ${c});\n}`})(n,t,r),s=r.reduce?"function"==typeof r.reduce?r.reduce.toString():r.reduce:(e=>{switch(e){case"count":case"groupBy":case"distinct":return"_count";case"sum":return"_sum";case"max":return"function (keys, values, rereduce) {\n var maxVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (maxVal === null || val > maxVal) maxVal = val;\n }\n return maxVal;\n}";case"min":return"function (keys, values, rereduce) {\n var minVal = null;\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (rereduce && val && typeof val === 'object' && 'value' in val) val = val.value;\n if (minVal === null || val < minVal) minVal = val;\n }\n return minVal;\n}";default:return}})(e);return{map:i,reduce:s}})(e.kind,r,e,n);t[o]||(t[o]={_id:o,language:"javascript",views:{}}),t[o].views[i]=c})}),Object.values(t)}function Q(e){const t={},r=[[I.VIEW,"view"],[i.GROUP_BY,"groupBy"],[i.COUNT,"count"],[i.SUM,"sum"],[i.MAX,"max"],[i.MIN,"min"],[i.DISTINCT,"distinct"]];return e.forEach(e=>{const n=j.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=z(e.key,e.attribute,e.compositions);if(!r.length)return;const i=r[0],a=r.slice(1),o=e.directions||[s.ASC,s.DSC],c=J(i,n,a);t[c.name||""]=c,o.forEach(e=>{const r=J(i,n,a,e);t[r.name||""]=r})})}),Object.values(t)}function W(e){const t=z(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}}function Y(e){const t=((e,t,r,n=m)=>[...e.map(e=>e===I.TABLE?"table":e),...r||[],...t?[t]:[],I.INDEX].join(n))([I.TABLE]),r={};return r[t]={index:{fields:[I.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=j.indexes(e);Object.entries(t).forEach(([t,i])=>{const s=Object.keys(i)[0];let{directions:a,compositions:o}=i[s];const c=j.tableName(e);function l(e){const i=[c,t,...o,n.INDEX].join(m);if(r[i]={index:{fields:[I.TABLE,t,...o].reduce((t,r)=>{if(e){const n={};n[r]=e,t.push(n)}else t.push(r);return t},[])},name:i,ddoc:i,type:"json"},!e){const e={};e[I.TABLE]={},e[I.TABLE].$eq=c,r[i].index.partial_filter_selector=e}}o=o||[],l(),a&&a.forEach(e=>l(e))})}),Q(e).forEach(e=>{e.name&&(r[e.name]=e)}),Object.values(r)}function H(e,t){Object.defineProperty(e,n.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function K(e){const t=Object.getOwnPropertyDescriptor(e,n.METADATA);return t?t.value:void 0}function Z(e){Object.getOwnPropertyDescriptor(e,n.METADATA)&&delete e[n.METADATA]}class ee extends c{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=K(t??e);return r&&H(e,r),e};return Array.isArray(e)?e.map((e,n)=>{const i=Array.isArray(t)?t[n]:t;return r(e,i)}):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const{ctx:r,ctxArgs:n,log:i}=(await this.logCtx(t,y.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),a=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, validationSetting: ${a}`);const o=e[this.pk];if(!o)throw new A("No value for the Id is defined under the property "+this.pk);let c,l;if(r.get("applyUpdateValidation")&&(c=await this.read(o),l=c?K(c):void 0,r.get("mergeForUpdate")&&(e=j.merge(c,e,this.class))),s||await E(this,r,e,y.UPDATE,y.ON,c),!a){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const n=await Promise.resolve(e.hasErrors(c,...t));if(n)throw new b(n.toString())}return l&&H(e,l),[e,...n,c]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:n,log:i}=(await this.logCtx(t,O.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),a=r.get("ignoreValidation");i.silly(`handlerSetting: ${s}, ignoredValidation: ${a}`);const o=e.map(e=>{const t=e[this.pk];if(!t)throw new A("missing id on update operation");return t});let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(o,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=j.merge(c[t],e,this.class));const n=K(c[t]);return n&&H(e,n),e})),s||await Promise.all(e.map((e,t)=>E(this,r,e,y.UPDATE,y.ON,c?c[t]:void 0))),!a){const t=r.get("ignoredValidationProperties")||[];let n;i.silly("ignored validation properties: "+t),n=r.get("applyUpdateValidation")?await Promise.all(e.map((e,r)=>Promise.resolve(e.hasErrors(c[r],...t)))):await Promise.resolve(e.map(e=>e.hasErrors(...t)));const s=w(n);if(s)throw new b(s)}return[e,...n,c]}}class te extends v{constructor(e){super(te.name,e,404)}}class re extends l{constructor(e,t,r,n){super(e,t,r,n)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(t=1,r,...n){const{log:i,ctxArgs:s,ctx:a}=this.adapter.logCtx([r,...n],this.page);if(this.isPreparedStatement())return await this.pagePrepared(t,...s);const o=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)t=this.validatePage(t),o.skip=(t-1)*this.size;else{this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...o,limit:Number.MAX_VALUE},!0,...s)||[];if(this._recordCount=e.length,this._recordCount>0){const e=o?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/e),await this.page(t,...s)}}if(1!==t){if(!this._bookmark)throw new u("No bookmark. Did you start in the first page?");o.bookmark=this._bookmark}const c=await this.adapter.raw(o,!1,...s),{docs:l,bookmark:p,warning:f}=c;if(f&&i.warn(f),!this.clazz)throw new u("No statement target defined");const g=j.pk(this.clazz),h=e.get(this.clazz,e.key(N.ID,g))?.type,m=o.fields&&o.fields.length?l:l.map(e=>this.adapter.revert(e,this.clazz,d.parseValue(h,e[g]),void 0,a));return this._bookmark=p,this._currentPage=t,m}}function ne(e){for(const t of[C,R]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new p("Could not find adapter translation for operator "+e)}class ie extends f{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[I.TABLE]={},t[I.TABLE]=j.tableName(this.fromSelector);const r={selector:t};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(a.and(this.whereCondition,a.attribute(I.TABLE).eq(r.selector[I.TABLE]))).selector,n=Object.keys(t);if(1===n.length&&-1!==Object.values(R).indexOf(n[0]))switch(n[0]){case R.AND:t[R.AND]=[...Object.values(t[R.AND]).reduce((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const n=r[0];return n===R.AND?e.push(...t[n]):e.push(t),e},[])],r.selector=t;break;case R.OR:{const e={};e[R.AND]=[t,...Object.entries(r.selector).map(([e,t])=>{const r={};return r[e]=t,r})],r.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,n])=>{r.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${r.selector[t]} by ${n}`),r.selector[t]=n})}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[e,t]=this.orderBySelector,n={};n[e]=t,r.sort.push(n),r.selector[e]||(r.selector[e]={},r.selector[e].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}processRecord(e,t,r,n){if(e[I.ID]){const[,...t]=e[I.ID].split(I.SEPARATOR),i=t.join("_");return this.adapter.revert(e,this.fromSelector,d.parseValue(r,i),void 0,n)}return e}async raw(t,...r){const{ctx:n}=this.logCtx(r,this.raw),i=await this.adapter.raw(t,!0,n),s=j.pk(this.fromSelector),a=e.get(this.fromSelector,e.key(N.ID,s))?.type;return this.selectSelector?i:i.map(e=>this.processRecord(e,s,a,n))}parseCondition(e){const{attr1:t,operator:r,comparison:n}=e;let s={};if(-1===[o.AND,o.OR,i.NOT].indexOf(r))s[t]={},s[t][ne(r)]=n;else if(r===i.NOT)s=this.parseCondition(t).selector,s[ne(i.NOT)]={},s[ne(i.NOT)][t.attr1]=n;else{const e=this.parseCondition(t).selector,i=this.parseCondition(n).selector;s=((e,t,r)=>{const n={selector:{}};return n.selector[e]=[t,r],n})(ne(r),e,i).selector}return{selector:s}}}class se extends g{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach(e=>{const t=e.name;x(this,e,this[t+"Prefix"])})}Statement(){return new ie(this)}Paginator(e,t,r){return new re(this,e,t,r)}async initialize(){const e=g.models(this.flavour);return this.index(...e)}repository(){return ee}assignMetadata(e,t){return t?(H(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(H(e,t[r]),e)),e}prepare(e,...t){const{log:r}=this.logCtx(t,this.prepare),i=e.segregate(),s=Object.entries(i.model).reduce((t,[r,n])=>{if(void 0===n)return t;const i=j.columnName(e.constructor,r);if(this.isReserved(i))throw new A(`Property name ${i} is reserved`);return n=n instanceof Date?new Date(n):n,t[i]=n,t},{});return e[n.METADATA]&&(r.silly("Passing along persistence metadata for "+e[n.METADATA]),Object.defineProperty(s,n.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[n.METADATA]})),{record:s,id:e[j.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...n){const{ctxArgs:i}=this.logCtx(n,this.createPrefix),s=j.tableName(e),a={};return a[I.TABLE]=s,a[I.ID]=this.generateId(s,t),Object.assign(a,r),[e,t,a,...i]}createAllPrefix(e,t,r,...n){const i=j.tableName(e);if(t.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(n,this.createAllPrefix),a=t.map((e,t)=>{const n={};return n[I.TABLE]=i,n[I.ID]=this.generateId(i,e),Object.assign(n,r[t]),n});return[e,t,a,...s]}updatePrefix(e,t,r,...i){const s=j.tableName(e),{ctxArgs:a}=this.logCtx(i,this.updatePrefix),o={};o[I.TABLE]=s,o[I.ID]=this.generateId(s,t);const c=r[n.METADATA];if(!c)throw new A("No revision number found for record with id "+t);return Object.assign(o,r),o[I.REV]=c,[e,t,o,...a]}updateAllPrefix(e,t,r,...i){const s=j.tableName(e);if(t.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:a}=this.logCtx(i,this.updateAllPrefix),o=t.map((e,t)=>{const i={};i[I.TABLE]=s,i[I.ID]=this.generateId(s,e);const a=r[t][n.METADATA];if(!a)throw new A("No revision number found for record with id "+e);return Object.assign(i,r[t]),i[I.REV]=a,i});return[e,t,o,...a]}generateId(e,t){return[e,t].join(I.SEPARATOR)}parseError(e,t){return se.parseError(e,t)}isReserved(e){return!!e.match(M)}static parseError(e,t){if(e instanceof v)return e;let r="";if("string"==typeof e){if(r=e,r.match(/already exist|update conflict/g))return new T(r);if(r.match(/missing|deleted/g))return new $(r)}else e.code?(r=e.code,t=t||e.message):e.statusCode?(r=e.statusCode,t=t||e.message):r=e.message;switch(r.toString()){case"401":case"412":case"409":return new T(t);case"404":return new $(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new te(e):new A(e);default:return r.toString().match(/ECONNREFUSED/g)?new h(e):new A(e)}}static setMetadata(e,t){H(e,t)}static getMetadata(e){return K(e)}static removeMetadata(e){Z(e)}}function ae(t,n,i){return(s,a)=>{const o=i?.name||((t,r,n)=>{const i=(e.get(t.constructor,r)||{})[n]||{};return Object.keys(i).length+1+""})(s,t,a),c=e.key(t,a,o),l={...i||{},kind:n,attribute:a};return r(c,l)(s,a)}}function oe(e){return t.for(I.VIEW).define({decorator:e=>ae(I.VIEW,"view",e),args:[e]}).apply()}function ce(e,r){let n={};return Array.isArray(e)?n.compositions=e:"string"==typeof e?n.name=e:e&&(n=e),"string"==typeof r?n.name=r:r&&(n=Object.assign({},n,r)),t.for(i.GROUP_BY).define({decorator:e=>ae(i.GROUP_BY,"groupBy",e),args:[n]}).apply()}function le(e,r){let n={};return e instanceof a?n.condition=e:"object"==typeof e&&e?n=e:void 0!==e&&(n.value=e),r&&(n=Object.assign({},n,r)),t.for(i.COUNT).define({decorator:e=>ae(i.COUNT,"count",e),args:[n]}).apply()}function ue(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.SUM).define({decorator:e=>ae(i.SUM,"sum",e),args:[n]}).apply()}function de(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.MAX).define({decorator:e=>ae(i.MAX,"max",e),args:[n]}).apply()}function pe(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.MIN).define({decorator:e=>ae(i.MIN,"min",e),args:[n]}).apply()}function fe(e,r){let n={};return e instanceof a?n.condition=e:e&&(n=e),r&&(n=Object.assign({},n,r)),t.for(i.DISTINCT).define({decorator:e=>ae(i.DISTINCT,"distinct",e),args:[n]}).apply()}S([P(),D("design:type",Function),D("design:paramtypes",[]),D("design:returntype",ie)],se.prototype,"Statement",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,String]),D("design:returntype",Object)],se.prototype,"assignMetadata",null),S([P(),D("design:type",Function),D("design:paramtypes",[Array,Array]),D("design:returntype",Array)],se.prototype,"assignMultipleMetadata",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",Array)],se.prototype,"createPrefix",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],se.prototype,"createAllPrefix",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Object,Object,Object]),D("design:returntype",void 0)],se.prototype,"updatePrefix",null),S([P(),D("design:type",Function),D("design:paramtypes",[Object,Array,Array,Object]),D("design:returntype",void 0)],se.prototype,"updateAllPrefix",null);const ge="##VERSION##",he="##PACKAGE##";e.registerLibrary(he,ge);export{se as CouchDBAdapter,_ as CouchDBConst,R as CouchDBGroupOperator,I as CouchDBKeys,C as CouchDBOperator,re as CouchDBPaginator,k as CouchDBQueryLimit,ee as CouchDBRepository,ie as CouchDBStatement,te as IndexError,he as PACKAGE_NAME,ge as VERSION,le as count,fe as distinct,J as generateIndexDoc,U as generateIndexName,Y as generateIndexes,Q as generateViewIndexes,q as generateViews,K as getMetadata,ce as groupBy,de as max,pe as min,L as reAuth,Z as removeMetadata,M as reservedAttributes,H as setMetadata,ue as sum,V as testReservedAttributes,ne as translateOperators,oe as view,W as viewIndexDefinition,B as wrapDocumentScope};
|
|
2
2
|
//# sourceMappingURL=for-couchdb.js.map
|
package/dist/for-couchdb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","bookmark","args","log","ctxArgs","ctx","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","length","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","id","pk","Metadata","get","DBKeys","pageResults","revert","Sequence","parseValue","undefined","_currentPage","translateOperators","operator","operators","find","QueryError","CouchDBStatement","Statement","build","for","selectors","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","indexOf","val","Error","s","result","orderBySelector","rec","limitSelector","offsetSelector","processRecord","r","pkAttr","sequenceType","keyArgs","split","rawInput","logCtx","results","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","segregate","mappedProp","columnName","isReserved","InternalError","Date","METADATA","silly","defineProperty","enumerable","writable","configurable","record","transient","createPrefix","generateId","createAllPrefix","ids","records","count","updatePrefix","updateAllPrefix","parseError","err","reason","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","OperationKeys","UPDATE","ignoreHandlers","ignoreValidate","oldModel","oldMetadata","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","BulkCrudOperationKeys","UPDATE_ALL","oldModels","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/utils.ts","../src/views/generator.ts","../src/indexes/generator.ts","../src/metadata.ts","../src/repository.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/decorators.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","VIEW","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","forEach","k","original","Object","defineProperty","enumerable","configurable","value","args","call","writable","testReservedAttributes","attr","match","generateIndexName","attribute","tableName","compositions","order","separator","DefaultSeparator","PersistenceKeys","push","join","generateIndexDoc","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","index","ddoc","toJsLiteral","Date","JSON","stringify","toISOString","RegExp","source","flags","conditionToJs","condition","docVar","attr1","operator","comparison","Condition","left","Operator","right","GroupOperator","attrExpr","normalizeKey","key","Array","isArray","collectViewMetadata","model","kind","meta","Metadata","get","entries","flatMap","values","entry","generateViews","models","viewDocs","viewKeys","GROUP_BY","COUNT","SUM","MAX","MIN","DISTINCT","m","Model","viewName","replace","generateViewName","ddocName","generateDesignDocName","ddocId","viewDef","toString","guards","resolved","from","undefined","authGuard","field","roles","length","expression","listExpr","mode","buildAuthGuard","guard","emitKey","keys","buildEmitKey","emitValue","v","buildEmitValue","returnDocs","buildMapFunction","reduce","defaultReduce","normalizeViewMetadata","_id","language","views","generateViewIndexes","indexes","slice","directions","OrderDirection","ASC","DSC","baseIndex","direction","dirIndex","viewIndexDefinition","concat","generateIndexes","n","type","ind","generate","sort","accum","el","res","tableFilter","partial_filter_selector","d","setMetadata","metadata","METADATA","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","CouchDBRepository","Repository","constructor","adapter","super","assignMetadata","target","apply","instance","carrier","create","result","this","createAll","results","read","id","readAll","ids","update","updateAll","delete","deleteAll","updatePrefix","ctx","ctxArgs","log","logCtx","OperationKeys","UPDATE","for","ignoreHandlers","ignoreValidate","silly","pk","InternalError","oldModel","oldMetadata","merge","class","enforceDBDecorators","ON","propsToIgnore","errors","Promise","resolve","hasErrors","ValidationError","updateAllPrefix","BulkCrudOperationKeys","UPDATE_ALL","oldModels","i","all","ignoredProps","modelsValidation","errorMessages","reduceErrorsToPrint","IndexError","BaseError","msg","CouchDBPaginator","Paginator","query","size","clazz","prepare","rawStatement","assign","limit","page","bookmark","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_VALUE","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","DBKeys","pageResults","revert","Sequence","parseValue","_currentPage","translateOperators","operators","find","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","val","Error","s","orderBySelector","rec","limitSelector","offsetSelector","processRecord","pkAttr","sequenceType","keyArgs","split","rawInput","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","columnName","isReserved","record","transient","createPrefix","generateId","createAllPrefix","records","count","parseError","err","reason","code","ConflictError","NotFoundError","message","statusCode","ConnectionError","applyViewDecorator","metaKey","opts","slot","attrBucket","String","nextViewSlot","propMetadata","view","Decoration","define","decorator","o","groupBy","compositionsOrOptions","nameOrOptions","valueOrCondition","options","sum","conditionOrOptions","max","min","distinct","__decorate","final","prototype","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/adapter.cjs
CHANGED
|
@@ -18,6 +18,7 @@ const errors_1 = require("./errors.cjs");
|
|
|
18
18
|
const query_1 = require("./query/index.cjs");
|
|
19
19
|
const logging_1 = require("@decaf-ts/logging");
|
|
20
20
|
const repository_1 = require("./repository.cjs");
|
|
21
|
+
const metadata_1 = require("./metadata.cjs");
|
|
21
22
|
/**
|
|
22
23
|
* @description Abstract adapter for CouchDB database operations
|
|
23
24
|
* @summary Provides a base implementation for CouchDB database operations, including CRUD operations, sequence management, and error handling
|
|
@@ -103,7 +104,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
103
104
|
assignMetadata(model, rev) {
|
|
104
105
|
if (!rev)
|
|
105
106
|
return model;
|
|
106
|
-
|
|
107
|
+
(0, metadata_1.setMetadata)(model, rev);
|
|
107
108
|
return model;
|
|
108
109
|
}
|
|
109
110
|
/**
|
|
@@ -115,7 +116,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
115
116
|
*/
|
|
116
117
|
assignMultipleMetadata(models, revs) {
|
|
117
118
|
models.forEach((m, i) => {
|
|
118
|
-
|
|
119
|
+
(0, metadata_1.setMetadata)(m, revs[i]);
|
|
119
120
|
return m;
|
|
120
121
|
});
|
|
121
122
|
return models;
|
|
@@ -372,12 +373,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
372
373
|
* @param {any} metadata - The metadata to attach to the model.
|
|
373
374
|
*/
|
|
374
375
|
static setMetadata(model, metadata) {
|
|
375
|
-
|
|
376
|
-
enumerable: false,
|
|
377
|
-
configurable: true,
|
|
378
|
-
writable: true,
|
|
379
|
-
value: metadata,
|
|
380
|
-
});
|
|
376
|
+
(0, metadata_1.setMetadata)(model, metadata);
|
|
381
377
|
}
|
|
382
378
|
/**
|
|
383
379
|
* @description Gets metadata from a model instance.
|
|
@@ -387,8 +383,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
387
383
|
* @return {any} The metadata or undefined if not found.
|
|
388
384
|
*/
|
|
389
385
|
static getMetadata(model) {
|
|
390
|
-
|
|
391
|
-
return descriptor ? descriptor.value : undefined;
|
|
386
|
+
return (0, metadata_1.getMetadata)(model);
|
|
392
387
|
}
|
|
393
388
|
/**
|
|
394
389
|
* @description Removes metadata from a model instance.
|
|
@@ -397,9 +392,7 @@ class CouchDBAdapter extends core_1.Adapter {
|
|
|
397
392
|
* @param {M} model - The model instance.
|
|
398
393
|
*/
|
|
399
394
|
static removeMetadata(model) {
|
|
400
|
-
|
|
401
|
-
if (descriptor)
|
|
402
|
-
delete model[core_1.PersistenceKeys.METADATA];
|
|
395
|
+
(0, metadata_1.removeMetadata)(model);
|
|
403
396
|
}
|
|
404
397
|
}
|
|
405
398
|
exports.CouchDBAdapter = CouchDBAdapter;
|
package/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAQwB;AACxB,+CAA8D;AAC9D,2DAOiC;AACjC,yEAAuD;AACvD,yCAAsC;AAEtC,6CAA6D;AAG7D,+CAA0C;AAC1C,iDAAiD;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/lib/constants.cjs
CHANGED
package/lib/constants.d.ts
CHANGED
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACU,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,IAAI;IACf,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACU,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,IAAI;IACf,EAAE,EAAE,KAAK;IACT,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,YAAY;IACtB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,OAAO;IAEd,iDAAiD;IACjD,IAAI,EAAE,MAAM;CACb,CAAC"}
|