@decaf-ts/for-couchdb 0.14.4 → 0.14.5

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.
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,o,n,i,a){"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"},u={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 d(e,t,r){return e.auth(t,r)}function f(e,t,n,i,a=o.DefaultSeparator){const s={};let l;if(s[c.TABLE]={},s[c.TABLE][u.EQUAL]=t,i){const t={};t[e]=i;const r=(n||[]).map(e=>{const t={};return t[e]=i,t}),o={};o[c.TABLE]=i,l=[t,...r,o]}else l=[e,...n||[],c.TABLE];const d=((e,t,n,i,a=o.DefaultSeparator)=>{const s=[r.PersistenceKeys.INDEX,t,e];return n&&s.push(...n),i&&s.push(i),s.join(a)})(e,t,n,i,a);return{index:{fields:l},ddoc:[d,c.DDOC].join(a),name:d}}function p(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 g(e,t){const{attr1:o,operator:n,comparison:i}=e;if(o instanceof r.Condition){const e=g(o,t);if(n===r.Operator.NOT)return`!(${e})`;const a=g(i,t);return n===r.GroupOperator.AND?`(${e} && ${a})`:n===r.GroupOperator.OR?`(${e} || ${a})`:e}const a=`${t}[${JSON.stringify(o)}]`;switch(n){case r.Operator.EQUAL:return`${a} === ${p(i)}`;case r.Operator.DIFFERENT:return`${a} !== ${p(i)}`;case r.Operator.BIGGER:return`${a} > ${p(i)}`;case r.Operator.BIGGER_EQ:return`${a} >= ${p(i)}`;case r.Operator.SMALLER:return`${a} < ${p(i)}`;case r.Operator.SMALLER_EQ:return`${a} <= ${p(i)}`;case r.Operator.IN:return`(${p(i)}).indexOf(${a}) !== -1`;case r.Operator.REGEXP:return`${i instanceof RegExp?p(i):`new RegExp(${JSON.stringify(i)})`}.test(${a})`;case r.Operator.NOT:return`!(${a} === ${p(i)})`;default:return"true"}}function h(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function m(e,t,r,n,i=o.DefaultSeparator){return n.name?n.name:[e,t,r,"view"].join(i).replace(/\s+/g,"_")}function y(e,t,r=o.DefaultSeparator){return[e,t,c.DDOC].join(r)}function A(e,o,n){const i={view:r.Operator.VIEW,groupBy:r.Operator.GROUP_BY,count:r.Operator.COUNT,sum:r.Operator.SUM,max:r.Operator.MAX,min:r.Operator.MIN,distinct:r.Operator.DISTINCT}[o];if(!i)return[];const a=t.Metadata.get(e,i)||{};return Object.entries(a).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>({...t,kind:o,attribute:t.attribute||e})).filter(e=>!n||e.attribute===n):[])}function b(e,r,o){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:o,attribute:r.attribute||e}}):[])}function E(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])=>b(e,t,r)).forEach(e=>{const o=h(e.key,e.attribute,e.compositions);if(!o.length)return;const n=o[0],a=o.slice(1),s=e.directions||[r.OrderDirection.ASC,r.OrderDirection.DSC],c=f(n,i,a);t[c.name||""]=c,s.forEach(e=>{const r=f(n,i,a,e);t[r.name||""]=r})})}),Object.values(t)}function O(e,t,r,n=o.DefaultSeparator){return[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(n)}function S(e,t,n=[],i,a=o.DefaultSeparator){return[e,t,...n,...i?[i]:[],r.PersistenceKeys.INDEX].join(a)}function w(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function D(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}function v(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}class N extends r.Repository{constructor(e,t,r=!1){super(e,t,r)}assignMetadata(e,t){const r=(e,t)=>{const r=D(t??e);return r&&w(e,r),e};return Array.isArray(e)?e.map((e,o)=>{const n=Array.isArray(t)?t[o]: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:i,log:a}=(await this.logCtx(t,o.OperationKeys.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");a.silly(`handlerSetting: ${s}, validationSetting: ${c}`);const u=e[this.pk];if(!u)throw new o.InternalError("No value for the Id is defined under the property "+this.pk);let l,d;if(r.get("applyUpdateValidation")&&(l=await this.read(u),d=l?D(l):void 0,r.get("mergeForUpdate")&&(e=n.Model.merge(l,e,this.class))),s||await o.enforceDBDecorators(this,r,e,o.OperationKeys.UPDATE,o.OperationKeys.ON,l),!c){const t=r.get("ignoredValidationProperties")||[];a.silly("ignored validation properties: "+t);const n=await Promise.resolve(e.hasErrors(l,...t));if(n)throw new o.ValidationError(n.toString())}return d&&w(e,d),[e,...i,l]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:i,log:a}=(await this.logCtx(t,o.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");a.silly(`handlerSetting: ${s}, ignoredValidation: ${c}`);const u=e.map(e=>{const t=e[this.pk];if(!t)throw new o.InternalError("missing id on update operation");return t});let l;if(r.get("applyUpdateValidation")&&(l=await this.readAll(u,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=n.Model.merge(l[t],e,this.class));const o=D(l[t]);return o&&w(e,o),e})),s||await Promise.all(e.map((e,t)=>o.enforceDBDecorators(this,r,e,o.OperationKeys.UPDATE,o.OperationKeys.ON,l?l[t]:void 0))),!c){const t=r.get("ignoredValidationProperties")||[];let n;a.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 i=o.reduceErrorsToPrint(n);if(i)throw new o.ValidationError(i)}return[e,...i,l]}}class x extends o.BaseError{constructor(e){super(x.name,e,404)}}class T extends x{constructor(e,t,r){super(e),this.name="IndexPlanningError",this.suggestion=t,this.query=r}}class M extends r.Paginator{constructor(e,t,r,o){super(e,t,r,o),this._bookmarks=new Map}isValidBookmark(e){return"string"==typeof e&&e.length>0}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,delete t.skip,t}async page(e=1,i,...a){const{log:s,ctxArgs:c,ctx:u}=this.adapter.logCtx([i,...a],this.page);if(this.isPreparedStatement())return await this.pagePrepared(e,...c);e=this.validatePage(e??1);const l=Object.assign({},this.statement);if(l.limit=this.size,1===e)this.isValidBookmark(i)?l.bookmark=i:delete l.bookmark;else{const t=i||this._bookmarks.get(e);if(!this.isValidBookmark(t))throw new r.PagingError("Random page access requires a cached CouchDB bookmark. Start at page 1 and page forward, or pass an explicit bookmark.");delete l.skip,l.bookmark=t}delete l.skip;const d=await this.adapter.raw(l,!1,...c),{docs:f,bookmark:p,warning:g}=d;if(g&&s.warn(g),d.execution_stats&&s.debug("Mango execution stats: "+JSON.stringify(d.execution_stats)),!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(o.DBKeys.ID,h))?.type,y=l.fields&&l.fields.length?f:f.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(m,e[h]),void 0,u));return this._bookmark=this.isValidBookmark(p)?p:void 0,this._currentPage=e,this.isValidBookmark(p)&&this._bookmarks.set(e+1,p),this.isValidBookmark(p)&&f.length>=this.size||(this._knownLastPage=e,this._totalPages=e,this._recordCount=(e-1)*this.size+f.length),y}}function C(e){for(const t of[u,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)}const _=new Set(["$or","$in","$regex","$nin","$not","$ne","$nor"]);function B(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function I(e,t){return!(!e||"object"!=typeof e)&&(Array.isArray(e)?e.some(e=>I(e,t)):Object.entries(e).some(([e,r])=>e===t||I(r,t)))}function j(e){if("string"==typeof e)return{field:e};if(Array.isArray(e))return e.length?{field:e[0]+""}:void 0;const[t,o]=Object.entries(e||{})[0]||[];return t?{field:t,direction:((o||r.OrderDirection.ASC)+"").toLowerCase()}:void 0}function $(e){return(e.sort||[]).map(j).filter(Boolean).map(e=>e.field)}function P(e){return(e.sort||[]).map(j).find(Boolean)?.direction}function L(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[l.AND]))e[l.AND].forEach(r);else for(const[o,n]of Object.entries(e))o!==l.OR&&o!==l.AND?B(n)?Object.prototype.hasOwnProperty.call(n,u.EQUAL)&&t.add(o):t.add(o):r(n)};return r(e),t}function k(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[l.AND]))e[l.AND].forEach(r);else for(const[o,n]of Object.entries(e))o!==l.OR&&o!==l.AND?B(n)&&(Object.prototype.hasOwnProperty.call(n,u.BIGGER)||Object.prototype.hasOwnProperty.call(n,u.BIGGER_EQ)||Object.prototype.hasOwnProperty.call(n,u.SMALLER)||Object.prototype.hasOwnProperty.call(n,u.SMALLER_EQ))&&t.add(o):r(n)};return r(e),t}function R(e){const t=n.Model.tableName(e),o=[],i=O([c.TABLE]);o.push({name:i,ddoc:i,fields:[c.TABLE],source:"table"});let a=[];try{a=n.Model.defaultQueryAttributes(e)}catch{a=[]}for(const e of a){const n=O([t,e,"defaultQuery"]);o.push({name:n,ddoc:n,fields:[c.TABLE,e],source:"defaultQuery"});for(const n of[r.OrderDirection.ASC,r.OrderDirection.DSC]){const r=O([t,e,"defaultQuery"],n);o.push({name:r,ddoc:r,fields:[c.TABLE,e],direction:n,source:"defaultQuery"})}}const s=n.Model.indexes(e);return Object.entries(s||{}).forEach(([e,n])=>{Object.values(n||{}).forEach(n=>{if(!n||!B(n))return;const i=n,a=i.compositions||[],s=i.directions||[r.OrderDirection.ASC],u=[c.TABLE,e,...a],l=S(t,e,a);o.push({name:l,ddoc:l,fields:u,source:"index"});const d=Array.from(new Set(s.map(e=>(e+"").toLowerCase()))).filter(e=>e===r.OrderDirection.ASC||e===r.OrderDirection.DSC);for(const r of d){const n=S(t,e,a,r);o.push({name:n,ddoc:n,fields:u,direction:r,source:"index"})}})}),o}function V(e,t,r={}){if(t.use_index)return;if(I(t.selector,l.OR)||I(t.selector,"$nor"))return;const o=!1!==r.preserveDefaultQuery,n=R(e),i=L(t.selector),a=k(t.selector),s=$(t),u=P(t);i.add(c.TABLE);const d=n.map(e=>{if(e.direction&&u&&e.direction!==u)return;if(!e.fields.includes(c.TABLE))return;if(e.fields[0]!==c.TABLE)return;const t=e.fields.filter(e=>e!==c.TABLE),n=0===s.length||s.every(e=>t.includes(e)),l=s.some(e=>t.includes(e)),d=0===a.size||Array.from(a).every(e=>t.includes(e)),f=Array.from(a).some(e=>t.includes(e));if(r.requireSortCoverage&&s.length&&!n)return;const p=t.filter(e=>i.has(e)).length,g=t.filter(e=>a.has(e)).length,h=t.filter(e=>s.includes(e)).length;if(!p&&!g&&!h)return;let m=0;return"defaultQuery"===e.source&&o&&(m+=100),"index"===e.source&&(m+=50),m+=30*p,m+=25*g,m+=20*h,n&&s.length&&(m+=20),d&&a.size&&(m+=20),l&&(m+=5),f&&(m+=5),e.direction&&u&&(m+=10),{candidate:e,score:m}}).filter(Boolean);if(!d.length)return;d.sort((e,t)=>t.score!==e.score?t.score-e.score:e.candidate.fields.length-t.candidate.fields.length);const f=d[0].candidate;return{candidate:f,use_index:[f.ddoc,f.name]}}function Q(e,t){const r=n.Model.tableName(e),o=e.name,i=Array.from(L(t.selector)),a=Array.from(k(t.selector)),s=$(t),u=P(t),l=[c.TABLE];for(const e of i)e===c.TABLE||l.includes(e)||l.push(e);for(const e of a)e===c.TABLE||l.includes(e)||l.push(e);for(const e of s)e===c.TABLE||l.includes(e)||l.push(e);return{tableName:r,modelName:o,equalityFields:i,rangeFields:a,sortFields:s,sortDirection:u,requiredFields:l}}function U(e,t){const o=Q(e,t),n=o.requiredFields.filter(e=>e!==c.TABLE);if(!n.length)throw new T("Cannot infer @index declaration for query with no model fields.",{modelName:o.modelName,tableName:o.tableName,attribute:"",compositions:[],directions:[],expectedName:"",expectedDdoc:"",expectedFields:[c.TABLE],decorator:""},t);const i=n[0],a=n.slice(1),s=o.sortDirection||r.OrderDirection.ASC,u=S(o.tableName,i,a,s),l=[{[c.TABLE]:s},{[i]:s},...a.map(e=>({[e]:s}))],d=["@index({",a.length?` compositions: ${JSON.stringify(a)},`:void 0," directions: "+JSON.stringify([s]),"})",i+"!: <type>;"].filter(Boolean).join("\n");return{attribute:i,compositions:a,directions:[s],name:u,ddoc:u,fields:l,decorator:d}}function q(e,t,r,o={}){if(!e||t.use_index)return;if(!1===o.forceNamedIndexes&&!o.requireIndex)return;const n=V(e,t,{preserveDefaultQuery:o.preserveDefaultQuery??!0,requireSortCoverage:o.requireSortCoverage??!1});if(n)return t.use_index=n.use_index,void r?.debug?.(`Attached Mango use_index=${JSON.stringify(n.use_index)} from ${n.candidate.source} metadata`);if(!o.requireIndex)return;const i=U(e,t);throw new T(["No generated CouchDB index can satisfy this Mango query.\n","Model: "+e.name,"Table: "+G(e),"\nTo allow this query, declare the following index on the model attribute:\n",i.decorator,"\nThen regenerate/deploy indexes.\n\nExpected generated index:"," ddoc: "+i.ddoc," name: "+i.name," fields: "+JSON.stringify(i.fields)].join("\n"),{modelName:e.name,tableName:G(e),attribute:i.attribute,compositions:i.compositions,directions:i.directions,expectedName:i.name,expectedDdoc:i.ddoc,expectedFields:i.fields,decorator:i.decorator},t)}function G(e){return n.Model.tableName(e)}function F(e,t,r="selector"){if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach((e,o)=>F(e,t,`${r}[${o}]`));else for(const[o,n]of Object.entries(e))_.has(o)&&t?.warn?.(`Mango query contains scan-prone operator ${o} at ${r}. This may bypass or weaken index usage and can produce slow queries.`),F(n,t,`${r}.${o}`)}function K(e){if(!e)return"\0";const t=Array.from(e);for(let e=t.length-1;e>=0;e-=1){const r=t[e].codePointAt(0);if(void 0!==r&&1114111>r)return t[e]=String.fromCodePoint(r+1),t.slice(0,e+1).join("")}return e+"\0"}class J extends r.Statement{constructor(e,t){super(e,t),this.attributeTypeCache=new Map}toColumnName(e){return e===c.TABLE||e===c.SEQUENCE?e:n.Model.columnName(this.fromSelector,e)}build(){const e=this.log.for(this.build);this.manualAggregation=void 0;const t=this.buildAggregateInfo();if(t){if(!this.shouldUseManualAggregation())return this.createAggregateQuery(t);this.manualAggregation=t}const o={};o[c.TABLE]={},o[c.TABLE]=n.Model.tableName(this.fromSelector);const i={selector:o};if(this.selectSelector&&(i.fields=this.selectSelector.map(e=>this.toColumnName(e))),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(i.selector[c.TABLE]))).selector,o=Object.keys(t);if(1===o.length&&-1!==Object.values(l).indexOf(o[0]))switch(o[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 o=r[0];return o===l.AND?e.push(...t[o]):e.push(t),e},[])],i.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(i.selector).map(([e,t])=>{const r={};return r[e]=t,r})],i.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{i.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${i.selector[t]} by ${r}`),i.selector[t]=r})}if(this.orderBySelectors?.length){i.sort=i.sort||[],i.selector=i.selector||{};for(const[e,t]of this.orderBySelectors){const r=this.toColumnName(e),o={};o[r]=t,i.sort.push(o),i.selector[r]||(i.selector[r]={},i.selector[r][u.BIGGER]=null)}}const a=!!this.manualAggregation;return this.limitSelector?i.limit=this.limitSelector:a||(e.warn("No limit selector defined. Using default couchdb limit of 250"),i.limit=250),this.offsetSelector&&(i.skip=this.offsetSelector),this.attachDefaultQueryIndex(i),(this.overrides?.forceNamedIndexes??!0)&&q(this.fromSelector,i,e,{preserveDefaultQuery:!0,requireSortCoverage:!1,forceNamedIndexes:!0}),F(i.selector,e),i}attachDefaultQueryIndex(e){if(!this.fromSelector||e.use_index)return;const t=n.Model.tableName(this.fromSelector);let r=[];try{r=n.Model.defaultQueryAttributes(this.fromSelector)}catch{r=[]}if(!r.length)return;const o=this.collectStartsWithRangeAttrs(e.selector||{}),i=r.filter(e=>o.has(e));if(!i.length)return;const a=(Array.isArray(e.sort)?e.sort:[]).map(e=>Object.entries(e||{})[0]).find(e=>e&&i.includes(e[0])),s=O([t,a?.[0]||i[0],"defaultQuery"],a?.[1]||void 0);e.use_index=s}collectStartsWithRangeAttrs(e){const t=new Set,r=e=>{e&&"object"==typeof e&&(Array.isArray(e)?e.forEach(e=>r(e)):Object.entries(e).forEach(([e,o])=>{if(e!==l.AND&&e!==l.OR&&o&&"object"==typeof o&&!Array.isArray(o)){const r=Object.prototype.hasOwnProperty.call(o,u.BIGGER_EQ),n=Object.prototype.hasOwnProperty.call(o,u.SMALLER);r&&n&&t.add(e)}r(o)}))};return r(e),t}processRecord(e,i){const a=n.Model.pk(this.fromSelector),s=t.Metadata.get(this.fromSelector,t.Metadata.key(o.DBKeys.ID,a))?.type;if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");e[a]=r.Sequence.parseValue(s,o)}return this.adapter.revert(e,this.fromSelector,e[a],void 0,i)}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw),o=e?.aggregateInfo;if(e?.aggregate&&o)return this.executeAggregate(o,r);const n=this.scopeToTable(e),i=await this.adapter.raw(n,!0,r);if(this.manualAggregation){const e=i.map(e=>this.processRecord(e,r)),t=this.executeManualAggregation(e,this.manualAggregation,r);return this.manualAggregation=void 0,t}if(!this.selectSelector&&this.groupBySelectors?.length){const e=i.map(e=>this.processRecord(e,r));return this.groupSelectResults(e)}if(!this.selectSelector)return i;const a=e=>this.processRecord(e,r);if(Array.isArray(i)){const e=i.map(a);return await this.applyAfterHandlersToResult(e,r)}const s=a(i);return await this.applyAfterHandlersToResult(s,r)}scopeToTable(e){if(!this.fromSelector)return e;const t=n.Model.tableName(this.fromSelector),r=e&&"object"==typeof e?e:{},o=Object.assign({},r.selector||{});return o[c.TABLE]=t,Object.assign({},r,{selector:o})}buildAggregateInfo(){if(this.fromSelector){if(this.avgSelector){const e=this.avgSelector+"",t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);const r=this.createAggregateDescriptor("count",e);if(!r)throw this.missingDecorator("count",e);return{kind:"avg",attribute:e,sumDescriptor:t.descriptor,countDescriptor:r.descriptor}}if(void 0!==this.countDistinctSelector){const e=this.resolveSelectorAttribute(this.countDistinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t.countDistinct=!0,t}if(void 0!==this.countSelector){const e=this.resolveSelectorAttribute(this.countSelector),t=this.createAggregateDescriptor("count",e);if(!t)throw this.missingDecorator("count",e);return t}if(this.maxSelector){const e=this.resolveSelectorAttribute(this.maxSelector),t=this.createAggregateDescriptor("max",e);if(!t)throw this.missingDecorator("max",e);return t}if(this.minSelector){const e=this.resolveSelectorAttribute(this.minSelector),t=this.createAggregateDescriptor("min",e);if(!t)throw this.missingDecorator("min",e);return t}if(this.sumSelector){const e=this.resolveSelectorAttribute(this.sumSelector),t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);return t}if(this.distinctSelector){const e=this.resolveSelectorAttribute(this.distinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t}}}createAggregateDescriptor(e,t){if(!this.fromSelector)return;const r=A(this.fromSelector,e,t);if(!r.length)return;const o=r[0],i=n.Model.tableName(this.fromSelector),a=m(i,o.attribute,e,o),s=o.ddoc||y(i,a),c={reduce:void 0!==o.reduce||!o.returnDocs};return"distinct"!==e&&"groupBy"!==e||(c.group=!0),{kind:e,meta:o,descriptor:{ddoc:s,view:a,options:c}}}createAggregateQuery(e){return{selector:{},aggregate:!0,aggregateInfo:e}}shouldUseManualAggregation(){return!!this.whereCondition}async executeAggregate(e,t){if(!this.isViewAggregate(e))return this.handleAverage(e,t);const r=this.getCouchAdapter(),o=e,n=await r.view(o.descriptor.ddoc,o.descriptor.view,o.descriptor.options,t);return this.processViewResponse(e,n)}async handleAverage(e,t){if("avg"!==e.kind)throw new r.QueryError("Average descriptor is not valid");const[o,n]=[e.sumDescriptor,e.countDescriptor],i=this.getCouchAdapter(),[a,s]=await Promise.all([i.view(o.ddoc,o.view,o.options,t),i.view(n.ddoc,n.view,n.options,t)]),c=a.rows?.[0]?.value??0,u=s.rows?.[0]?.value??0;return u?c/u:0}executeManualAggregation(e,t,o){if(!this.fromSelector)throw new r.QueryError("Manual aggregation requires a target model");if("avg"===t.kind)return this.computeAverage(e,t.attribute);if("groupBy"===t.kind)return this.computeGroupBy(e,t.meta.attribute);const n=t.meta.attribute;switch(t.kind){case"count":return t.countDistinct?this.computeDistinctCount(e,n):this.computeCount(e,n);case"distinct":return t.countDistinct?this.computeDistinctCount(e,n):this.computeDistinctValues(e,n);case"sum":return this.computeSum(e,n);case"min":return this.computeMinMax(e,n,"min");case"max":return this.computeMinMax(e,n,"max");default:throw new r.QueryError("Unsupported manual aggregation "+t.kind)}}computeCount(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).length:e.length}computeDistinctCount(e,t){const r=t?this.collectValues(e,t).filter(e=>null!=e):e,o=new Set;return r.forEach(e=>o.add(JSON.stringify(e))),o.size}computeDistinctValues(e,t){if(!t)return[];const r=this.collectValues(e,t),o=new Set,n=[];return r.forEach(e=>{const t=JSON.stringify(e);o.has(t)||(o.add(t),n.push(e))}),n}computeSum(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).reduce((e,r)=>e+this.toNumericValue(r,t,"SUM operation"),0):e.length}computeAverage(e,t){if(!t)return 0;const r=this.collectValues(e,t).filter(e=>null!=e);return r.length?r.reduce((e,r)=>e+this.toNumericValue(r,t,"AVG operation"),0)/r.length:0}computeMinMax(e,t,r){if(!t)return null;const o=this.collectValues(e,t).filter(e=>null!=e);let n=null,i=null;for(const e of o){const t=this.normalizeComparable(e);null!==t&&(null!==i?("min"===r&&i>t||"max"===r&&t>i)&&(i=t,n=e):(i=t,n=e))}return n}computeGroupBy(e,t){const r={},o=this.collectValues(e,t);return e.forEach((e,t)=>{const n=this.groupKey(o[t]);r[n]||(r[n]=[]),r[n].push(e)}),r}groupSelectResults(e){if(!this.groupBySelectors?.length)return{};const t=this.resolveSelectorAttribute(this.groupBySelectors[0]);if(!t)return{};const r={};return e.forEach(e=>{const o=this.groupKey(this.convertValueByAttribute(t,e[t]));r[o]||(r[o]=[]),r[o].push(e)}),r}collectValues(e,t){return e.map(e=>{if(e&&"object"==typeof e)return this.convertValueByAttribute(t,e[t])})}convertValueByAttribute(e,t){if(!this.fromSelector)return t;if("date"===this.getAttributeType(e)){if(t instanceof Date)return t;const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}if("string"==typeof t&&e.toLowerCase().includes("date")){const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}return t}getAttributeType(e){if(!e||!this.fromSelector)return;if(this.attributeTypeCache.has(e))return this.attributeTypeCache.get(e);const r=t.Metadata.type(this.fromSelector,e)??t.Metadata.getPropDesignTypes?.(this.fromSelector,e)?.designType,o=this.normalizeMetaType(r);return this.attributeTypeCache.set(e,o),o}normalizeMetaType(e){if(e)return"string"==typeof e?e.toLowerCase():"function"==typeof e&&e.name?e.name.toLowerCase():void 0}normalizeComparable(e){return"number"==typeof e?e:"bigint"==typeof e?Number(e):e instanceof Date?e.getTime():"string"!=typeof e||isNaN(Number(e))?null:Number(e)}groupKey(e){if(void 0===e)return"undefined";if(null===e)return"null";if("symbol"==typeof e)return e.toString();if("object"==typeof e)try{return JSON.stringify(e)}catch{return e+""}return e+""}toNumericValue(e,t,o){if("number"==typeof e)return e;if("bigint"==typeof e)return Number(e);if(e instanceof Date)return e.getTime();if("string"==typeof e&&!isNaN(Number(e)))return Number(e);throw new r.QueryError(`${o} on "${t}" requires numeric values, but got ${typeof e}`)}convertAggregateValue(e,t){return e?this.convertValueByAttribute(e,t):t}resolveSelectorAttribute(e){if(null!=e)return e+""}missingDecorator(e,t){const o=this.decoratorForKind(e),i=this.fromSelector?n.Model.tableName(this.fromSelector):"<unknown table>",a=t?` on "${t}"`:"";return new r.UnsupportedError(`${o} decorator is required for CouchDB ${e} aggregation${a} on table "${i}".`)}decoratorForKind(e){return{count:"@count",sum:"@sum",min:"@min",max:"@max",distinct:"@distinct",groupBy:"@groupBy",view:"@view",avg:"@avg"}[e]||"@"+e}processViewResponse(e,t){if("avg"===e.kind)throw new r.QueryError("Average results should be handled before processing rows");const o=t.rows||[],n=e,i=n.meta;return n.countDistinct?o.length||0:"distinct"===n.kind||"groupBy"===n.kind?o.map(e=>this.convertAggregateValue(n.meta.attribute,e.key??e.value)):i.returnDocs?o.map(e=>e.value??e.doc??e):o.length?this.convertAggregateValue(n.meta.attribute,o[0].value??o[0].key??null):"count"===n.kind?0:null}isViewAggregate(e){return"avg"!==e.kind}getCouchAdapter(){return this.adapter}parseCondition(e){const{attr1:t,operator:o,comparison:n}=e;if(o===r.Operator.STARTS_WITH){if("string"!=typeof t)throw new r.QueryError("STARTS_WITH requires an attribute name");if("string"!=typeof n)throw new r.QueryError("STARTS_WITH requires a string comparison");const e={start:i=n,end:K(i)};return{selector:{[this.toColumnName(t)]:{[u.BIGGER_EQ]:e.start,[u.SMALLER]:e.end}}}}var i,a;if(o===r.Operator.ENDS_WITH){if("string"!=typeof t)throw new r.QueryError("ENDS_WITH requires an attribute name");if("string"!=typeof n)throw new r.QueryError("ENDS_WITH requires a string comparison");return{selector:{[this.toColumnName(t)]:{[u.REGEXP]:(a=n,a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")}}}}if(o===r.Operator.BETWEEN){const e=this.toColumnName(t);if(!Array.isArray(n)||2!==n.length)throw new r.QueryError("BETWEEN operator requires [min, max] comparison");const[o,i]=n,a={};return a[e]={},a[e][C(r.Operator.BIGGER_EQ)]=o,a[e][C(r.Operator.SMALLER_EQ)]=i,{selector:a}}let s={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(o)){const e=this.toColumnName(t);s[e]={},s[e][C(o)]=n}else if(o===r.Operator.NOT)s=this.parseCondition(t).selector,s[C(r.Operator.NOT)]={},s[C(r.Operator.NOT)][this.toColumnName(t.attr1)]=n;else{const e=this.parseCondition(t).selector,r=this.parseCondition(n).selector;s=((e,t,r)=>{const o={selector:{}};return o.selector[e]=[t,r],o})(C(o),e,r).selector}return{selector:s}}}class z 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;o.prefixMethod(this,e,this[t+"Prefix"])})}Statement(e){return new J(this,e)}Paginator(e,t,r){return new M(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return N}assignMetadata(e,t){return t?(w(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(w(e,t[r]),e)),e}prepare(e,...t){const{log:i}=this.logCtx(t,this.prepare),a=e.segregate(),s=Object.entries(a.model).reduce((t,[r,i])=>{if(void 0===i)return t;const a=n.Model.columnName(e.constructor,r);if(this.isReserved(a))throw new o.InternalError(`Property name ${a} is reserved`);return i=i instanceof Date?new Date(i):i,t[a]=i,t},{});return e[r.PersistenceKeys.METADATA]&&(i.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:a.transient}}createPrefix(e,t,r,...o){const{ctxArgs:i}=this.logCtx(o,this.createPrefix),a=n.Model.tableName(e),s={};return Object.assign(s,r),s[c.TABLE]=a,s[c.ID]=this.generateId(a,t),[e,t,s,...i]}createAllPrefix(e,t,r,...i){const a=n.Model.tableName(e);if(t.length!==r.length)throw new o.InternalError("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(i,this.createAllPrefix),u=t.map((e,t)=>{const o={};return Object.assign(o,r[t]),o[c.TABLE]=a,o[c.ID]=this.generateId(a,e),o});return[e,t,u,...s]}updatePrefix(e,t,i,...a){const s=n.Model.tableName(e),{ctxArgs:u}=this.logCtx(a,this.updatePrefix),l={},d=i[r.PersistenceKeys.METADATA];if(!d)throw new o.InternalError("No revision number found for record with id "+t);return Object.assign(l,i),l[c.TABLE]=s,l[c.ID]=this.generateId(s,t),l[c.REV]=d,[e,t,l,...u]}updateAllPrefix(e,t,i,...a){const s=n.Model.tableName(e);if(t.length!==i.length)throw new o.InternalError("Ids and models must have the same length");const{ctxArgs:u}=this.logCtx(a,this.updateAllPrefix),l=t.map((e,t)=>{const n={},a=i[t][r.PersistenceKeys.METADATA];if(!a)throw new o.InternalError("No revision number found for record with id "+e);return Object.assign(n,i[t]),n[c.TABLE]=s,n[c.ID]=this.generateId(s,e),n[c.REV]=a,n});return[e,t,l,...u]}generateId(e,t){const r=c.SEPARATOR;return"string"==typeof t&&t.startsWith(`${e}${r}`)&&t.split(r).length>=2?t:`${e}${r}${t+""}`}parseError(e,t){return z.parseError(e,t)}isReserved(e){return!!e.match(s)||e===c.TABLE||e===c.SEQUENCE}static parseError(e,t){if(e instanceof o.BaseError)return e;let n="";if("string"==typeof e){if(n=e,n.match(/already exist|update conflict/g))return new o.ConflictError(n);if(n.match(/missing|deleted/g))return new o.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 o.ConflictError(t);case"404":return new o.NotFoundError(t);case"400":return n.toString().match(/No\sindex\sexists/g)?new x(e):new o.InternalError(e);default:return n.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new o.InternalError(e)}}static setMetadata(e,t){w(e,t)}static getMetadata(e){return D(e)}static removeMetadata(e){v(e)}}i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object]),i.__metadata("design:returntype",J)],z.prototype,"Statement",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,String]),i.__metadata("design:returntype",Object)],z.prototype,"assignMetadata",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Array,Array]),i.__metadata("design:returntype",Array)],z.prototype,"assignMultipleMetadata",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Object,Object,Object]),i.__metadata("design:returntype",Array)],z.prototype,"createPrefix",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Array,Array,Object]),i.__metadata("design:returntype",void 0)],z.prototype,"createAllPrefix",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Object,Object,Object]),i.__metadata("design:returntype",void 0)],z.prototype,"updatePrefix",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Array,Array,Object]),i.__metadata("design:returntype",void 0)],z.prototype,"updateAllPrefix",null);const W="##VERSION##",X="##PACKAGE##";t.Metadata.registerLibrary(X,W),e.COMMIT="b95db61",e.CouchDBAdapter=z,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=u,e.CouchDBPaginator=M,e.CouchDBQueryLimit=250,e.CouchDBRepository=N,e.CouchDBStatement=J,e.FULL_VERSION="0.14.3-b95db61",e.IndexError=x,e.IndexPlanningError=T,e.PACKAGE_NAME=X,e.VERSION=W,e.attachGeneratedUseIndex=q,e.buildGeneratedIndexCandidates=e=>R(e),e.collectViewMetadata=b,e.count=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:"object"==typeof e&&e?n=e:void 0!==e&&(n.value=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.COUNT).define({decorator:e=>r.applyViewDecorator(r.Operator.COUNT,"count",e),args:[n]}).apply()},e.distinct=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.DISTINCT).define({decorator:e=>r.applyViewDecorator(r.Operator.DISTINCT,"distinct",e),args:[n]}).apply()},e.enableMangoExecutionStats=e=>{e.execution_stats=!0},e.ensureDeterministicSort=(e,t,o)=>{if(!e.sort?.length)return;if($(e).includes(t))return;const n=o||P(e)||r.OrderDirection.ASC;e.sort=[...e.sort,{[t]:n}]},e.findGeneratedIndexCandidateByName=(e,t)=>R(e).find(e=>e.name===t||e.ddoc===t),e.findViewMetadata=A,e.generateDesignDocName=y,e.generateIndexDoc=f,e.generateIndexName=O,e.generateIndexes=e=>{const t=O([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=n.Model.tableName(e);let i=[];try{i=n.Model.defaultQueryAttributes(e)}catch(e){i=[]}i.forEach(e=>{const n=O([t,e,"defaultQuery"]),i={[c.TABLE]:{[u.EQUAL]:t}};o[n]={index:{fields:[c.TABLE,e]},name:n,ddoc:n,type:"json"},o[n].index.partial_filter_selector=i,[r.OrderDirection.ASC,r.OrderDirection.DSC].forEach(r=>{const n=O([t,e,"defaultQuery"],r);o[n]={index:{fields:[{[c.TABLE]:r},{[e]:r}]},name:n,ddoc:n,type:"json"}})});const a=n.Model.indexes(e);Object.entries(a).forEach(([e,n])=>{const i=[];Object.entries(n||{}).forEach(([,t])=>{if(!t)return;const r=t;void 0===r.directions&&void 0===r.compositions?"object"!=typeof t||Array.isArray(t)||Object.entries(t).forEach(([e,t])=>{t&&i.push([e,t])}):i.push([e,r])}),i.forEach(([e,n])=>{if(!n)return;let{directions:i,compositions:a}=n;a=a||[];const s=[e,...a],l={[c.TABLE]:{[u.EQUAL]:t}};function d(r,n){const i=S(t,e,a,n),u=[c.TABLE,...s],d=r?[{[c.TABLE]:r},...s.map(e=>({[e]:r}))]:u;o[i]={index:{fields:d},name:i,ddoc:i,type:"json"},r||(o[i].index.partial_filter_selector=l)}d(),Array.from(new Set((i||[r.OrderDirection.ASC]).map(e=>(e+"").toLowerCase()))).filter(e=>e===r.OrderDirection.ASC||e===r.OrderDirection.DSC).forEach(e=>{d(e,e)})})})}),E(e).forEach(e=>{e.name&&(o[e.name]=e)}),Object.values(o)},e.generateModelIndexName=S,e.generateViewIndexes=E,e.generateViewName=m,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])=>b(e,t,r)).forEach(e=>{const o=e.attribute,n=m(i,o,e.kind,e),a="_design/"+(e.ddoc||y(i,n)),s=((e,t,o,n)=>{const i=((e,t,o)=>{if(o.map)return"function"==typeof o.map?o.map.toString():o.map;const n=[];if(n.push(`doc[${JSON.stringify(c.TABLE)}] === ${JSON.stringify(e)}`),o.condition)if(o.condition instanceof r.Condition)n.push(g(o.condition,"doc"));else if("string"==typeof o.condition)n.push(o.condition);else{const e=r.Condition.from(o.condition);n.push(g(e,"doc"))}"count"===o.kind&&void 0!==o.value&&n.push(`doc[${JSON.stringify(t)}] === ${p(o.value)}`);const i=((e,t="doc")=>{if(!e)return;if("string"==typeof e)return e;const r=e.field||"roles",o=e.roles||[];if(!o.length)return e.expression;const n=`${t}[${JSON.stringify(r)}] || []`;return"all"===(e.mode||"any")?o.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" && "):o.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" || ")})(o.auth,"doc");i&&n.push(i);const a=n.length?n.join(" && "):"true",s=((e,t,r)=>{const o=h(e,t,r);return 1===o.length?`doc[${JSON.stringify(o[0])}]`:`[${o.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`})(o.key,t,o.compositions),u=((e,t)=>"doc"===e?"doc":e?Array.isArray(e)?`[${e.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`:"string"==typeof e?`doc[${JSON.stringify(e)}]`:p(e):`doc[${JSON.stringify(t)}]`)(o.value??(o.returnDocs&&"sum"!==o.kind?"doc":void 0),t);return`function (doc) {\n if (!(${a})) return;\n emit(${s}, ${u});\n}`})(n,t,o),a=o.reduce?"function"==typeof o.reduce?o.reduce.toString():o.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:a}})(e.kind,o,e,i);t[a]||(t[a]={_id:a,language:"javascript",views:{}}),t[a].views[n]=s})}),Object.values(t)},e.getEqualitySelectorFields=L,e.getMetadata=D,e.getRangeSelectorFields=k,e.getRequiredMangoIndexShape=Q,e.getSortDirection=P,e.getSortFields=$,e.groupBy=(e,o)=>{let n={};return Array.isArray(e)?n.compositions=e:"string"==typeof e?n.name=e:e&&(n=e),"string"==typeof o?n.name=o:o&&(n=Object.assign({},n,o)),void 0===n.returnDocs&&(n.returnDocs=!0),t.Decoration.for(r.Operator.GROUP_BY).define({decorator:e=>r.applyViewDecorator(r.Operator.GROUP_BY,"groupBy",e),args:[n]}).apply()},e.max=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.MAX).define({decorator:e=>r.applyViewDecorator(r.Operator.MAX,"max",e),args:[n]}).apply()},e.min=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.MIN).define({decorator:e=>r.applyViewDecorator(r.Operator.MIN,"min",e),args:[n]}).apply()},e.normalizeSortField=j,e.reAuth=d,e.removeMetadata=v,e.requireGeneratedUseIndex=(e,t,r,o={})=>{q(e,t,r,{preserveDefaultQuery:!0,requireSortCoverage:o.requireSortCoverage??!0,requireIndex:!0,forceNamedIndexes:!0})},e.reservedAttributes=s,e.resolveGeneratedIndexForQuery=V,e.reverseRequiredShapeToIndexDeclaration=U,e.setMetadata=w,e.sum=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.SUM).define({decorator:e=>r.applyViewDecorator(r.Operator.SUM,"sum",e),args:[n]}).apply()},e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=C,e.viewIndexDefinition=e=>{const t=h(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}},e.warnScanProneMangoOperators=F,e.wrapDocumentScope=(e,t,r,n)=>{const i=e.use?e.use(t):e;return["insert","bulk","fetch","createIndex","get","put","destroy","find","view"].forEach(t=>{const a=i[t];if("function"!=typeof a)throw new o.InternalError("Could not find function to bind "+t);Object.defineProperty(i,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await d(e,r,n),a.call(i,...t))})}),Object.defineProperty(i,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),i}},"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,o,n,i,a){"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"},u={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 d(e,t,r){return e.auth(t,r)}function f(e,t,n,i,a=o.DefaultSeparator){const s={};let l;if(s[c.TABLE]={},s[c.TABLE][u.EQUAL]=t,i){const t={};t[e]=i;const r=(n||[]).map(e=>{const t={};return t[e]=i,t}),o={};o[c.TABLE]=i,l=[t,...r,o]}else l=[e,...n||[],c.TABLE];const d=((e,t,n,i,a=o.DefaultSeparator)=>{const s=[r.PersistenceKeys.INDEX,t,e];return n&&s.push(...n),i&&s.push(i),s.join(a)})(e,t,n,i,a);return{index:{fields:l},ddoc:[d,c.DDOC].join(a),name:d}}function p(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 g(e,t){const{attr1:o,operator:n,comparison:i}=e;if(o instanceof r.Condition){const e=g(o,t);if(n===r.Operator.NOT)return`!(${e})`;const a=g(i,t);return n===r.GroupOperator.AND?`(${e} && ${a})`:n===r.GroupOperator.OR?`(${e} || ${a})`:e}const a=`${t}[${JSON.stringify(o)}]`;switch(n){case r.Operator.EQUAL:return`${a} === ${p(i)}`;case r.Operator.DIFFERENT:return`${a} !== ${p(i)}`;case r.Operator.BIGGER:return`${a} > ${p(i)}`;case r.Operator.BIGGER_EQ:return`${a} >= ${p(i)}`;case r.Operator.SMALLER:return`${a} < ${p(i)}`;case r.Operator.SMALLER_EQ:return`${a} <= ${p(i)}`;case r.Operator.IN:return`(${p(i)}).indexOf(${a}) !== -1`;case r.Operator.REGEXP:return`${i instanceof RegExp?p(i):`new RegExp(${JSON.stringify(i)})`}.test(${a})`;case r.Operator.NOT:return`!(${a} === ${p(i)})`;default:return"true"}}function h(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function m(e,t,r,n,i=o.DefaultSeparator){return n.name?n.name:[e,t,r,"view"].join(i).replace(/\s+/g,"_")}function y(e,t,r=o.DefaultSeparator){return[e,t,c.DDOC].join(r)}function A(e,o,n){const i={view:r.Operator.VIEW,groupBy:r.Operator.GROUP_BY,count:r.Operator.COUNT,sum:r.Operator.SUM,max:r.Operator.MAX,min:r.Operator.MIN,distinct:r.Operator.DISTINCT}[o];if(!i)return[];const a=t.Metadata.get(e,i)||{};return Object.entries(a).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>({...t,kind:o,attribute:t.attribute||e})).filter(e=>!n||e.attribute===n):[])}function b(e,r,o){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:o,attribute:r.attribute||e}}):[])}function E(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])=>b(e,t,r)).forEach(e=>{const o=h(e.key,e.attribute,e.compositions);if(!o.length)return;const n=o[0],a=o.slice(1),s=e.directions||[r.OrderDirection.ASC,r.OrderDirection.DSC],c=f(n,i,a);t[c.name||""]=c,s.forEach(e=>{const r=f(n,i,a,e);t[r.name||""]=r})})}),Object.values(t)}function O(e,t,r,n=o.DefaultSeparator){return[...e.map(e=>e===c.TABLE?"table":e),...r||[],...t?[t]:[],c.INDEX].join(n)}function S(e,t,n=[],i,a=o.DefaultSeparator){return[e,t,...n,...i?[i]:[],r.PersistenceKeys.INDEX].join(a)}function w(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function D(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}function v(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}class N extends r.Repository{constructor(e,t,r=!1){super(e,t,r)}assignMetadata(e,t){const r=(e,t)=>{const r=D(t??e);return r&&w(e,r),e};return Array.isArray(e)?e.map((e,o)=>{const n=Array.isArray(t)?t[o]: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:i,log:a}=(await this.logCtx(t,o.OperationKeys.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");a.silly(`handlerSetting: ${s}, validationSetting: ${c}`);const u=e[this.pk];if(!u)throw new o.InternalError("No value for the Id is defined under the property "+this.pk);let l,d;if(r.get("applyUpdateValidation")&&(l=await this.read(u),d=l?D(l):void 0,r.get("mergeForUpdate")&&(e=n.Model.merge(l,e,this.class))),s||await o.enforceDBDecorators(this,r,e,o.OperationKeys.UPDATE,o.OperationKeys.ON,l),!c){const t=r.get("ignoredValidationProperties")||[];a.silly("ignored validation properties: "+t);const n=await Promise.resolve(e.hasErrors(l,...t));if(n)throw new o.ValidationError(n.toString())}return d&&w(e,d),[e,...i,l]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:i,log:a}=(await this.logCtx(t,o.BulkCrudOperationKeys.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),c=r.get("ignoreValidation");a.silly(`handlerSetting: ${s}, ignoredValidation: ${c}`);const u=e.map(e=>{const t=e[this.pk];if(!t)throw new o.InternalError("missing id on update operation");return t});let l;if(r.get("applyUpdateValidation")&&(l=await this.readAll(u,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=n.Model.merge(l[t],e,this.class));const o=D(l[t]);return o&&w(e,o),e})),s||await Promise.all(e.map((e,t)=>o.enforceDBDecorators(this,r,e,o.OperationKeys.UPDATE,o.OperationKeys.ON,l?l[t]:void 0))),!c){const t=r.get("ignoredValidationProperties")||[];let n;a.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 i=o.reduceErrorsToPrint(n);if(i)throw new o.ValidationError(i)}return[e,...i,l]}}class x extends o.BaseError{constructor(e){super(x.name,e,404)}}class T extends x{constructor(e,t,r){super(e),this.name="IndexPlanningError",this.suggestion=t,this.query=r}}class M extends r.Paginator{constructor(e,t,r,o){super(e,t,r,o),this._bookmarks=new Map}isValidBookmark(e){return"string"==typeof e&&e.length>0}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,delete t.skip,t}async page(e=1,i,...a){const{log:s,ctxArgs:c,ctx:u}=this.adapter.logCtx([i,...a],this.page);if(this.isPreparedStatement())return await this.pagePrepared(e,...c);e=this.validatePage(e??1);const l=Object.assign({},this.statement);if(l.limit=this.size,1===e)this.isValidBookmark(i)?l.bookmark=i:delete l.bookmark;else{const t=i||this._bookmarks.get(e);if(!this.isValidBookmark(t))throw new r.PagingError("Random page access requires a cached CouchDB bookmark. Start at page 1 and page forward, or pass an explicit bookmark.");delete l.skip,l.bookmark=t}delete l.skip;const d=await this.adapter.raw(l,!1,...c),{docs:f,bookmark:p,warning:g}=d;if(g&&s.warn(g),d.execution_stats&&s.debug("Mango execution stats: "+JSON.stringify(d.execution_stats)),!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(o.DBKeys.ID,h))?.type,y=l.fields&&l.fields.length?f:f.map(e=>this.adapter.revert(e,this.clazz,r.Sequence.parseValue(m,e[h]),void 0,u));return this._bookmark=this.isValidBookmark(p)?p:void 0,this._currentPage=e,this.isValidBookmark(p)&&this._bookmarks.set(e+1,p),this.isValidBookmark(p)&&f.length>=this.size||(this._knownLastPage=e,this._totalPages=e,this._recordCount=(e-1)*this.size+f.length),y}}function C(e){for(const t of[u,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)}const _=new Set(["$or","$in","$regex","$nin","$not","$ne","$nor"]);function B(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function I(e,t){return!(!e||"object"!=typeof e)&&(Array.isArray(e)?e.some(e=>I(e,t)):Object.entries(e).some(([e,r])=>e===t||I(r,t)))}function j(e){if("string"==typeof e)return{field:e};if(Array.isArray(e))return e.length?{field:e[0]+""}:void 0;const[t,o]=Object.entries(e||{})[0]||[];return t?{field:t,direction:((o||r.OrderDirection.ASC)+"").toLowerCase()}:void 0}function $(e){return(e.sort||[]).map(j).filter(Boolean).map(e=>e.field)}function P(e){return(e.sort||[]).map(j).find(Boolean)?.direction}function L(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[l.AND]))e[l.AND].forEach(r);else for(const[o,n]of Object.entries(e))o!==l.OR&&o!==l.AND?B(n)?Object.prototype.hasOwnProperty.call(n,u.EQUAL)&&t.add(o):t.add(o):r(n)};return r(e),t}function k(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[l.AND]))e[l.AND].forEach(r);else for(const[o,n]of Object.entries(e))o!==l.OR&&o!==l.AND?B(n)&&(Object.prototype.hasOwnProperty.call(n,u.BIGGER)||Object.prototype.hasOwnProperty.call(n,u.BIGGER_EQ)||Object.prototype.hasOwnProperty.call(n,u.SMALLER)||Object.prototype.hasOwnProperty.call(n,u.SMALLER_EQ))&&t.add(o):r(n)};return r(e),t}function R(e){const t=n.Model.tableName(e),o=[],i=O([c.TABLE]);o.push({name:i,ddoc:i,fields:[c.TABLE],source:"table"});let a=[];try{a=n.Model.defaultQueryAttributes(e)}catch{a=[]}for(const e of a){const n=O([t,e,"defaultQuery"]);o.push({name:n,ddoc:n,fields:[c.TABLE,e],source:"defaultQuery"});for(const n of[r.OrderDirection.ASC,r.OrderDirection.DSC]){const r=O([t,e,"defaultQuery"],n);o.push({name:r,ddoc:r,fields:[c.TABLE,e],direction:n,source:"defaultQuery"})}}const s=n.Model.indexes(e);return Object.entries(s||{}).forEach(([e,n])=>{Object.values(n||{}).forEach(n=>{if(!n||!B(n))return;const i=n,a=i.compositions||[],s=i.directions||[r.OrderDirection.ASC],u=[c.TABLE,e,...a],l=S(t,e,a);o.push({name:l,ddoc:l,fields:u,source:"index"});const d=Array.from(new Set(s.map(e=>(e+"").toLowerCase()))).filter(e=>e===r.OrderDirection.ASC||e===r.OrderDirection.DSC);for(const r of d){const n=S(t,e,a,r);o.push({name:n,ddoc:n,fields:u,direction:r,source:"index"})}})}),o}function V(e,t,r={}){if(t.use_index)return;if(I(t.selector,l.OR)||I(t.selector,"$nor"))return;const o=!1!==r.preserveDefaultQuery,n=R(e),i=L(t.selector),a=k(t.selector),s=$(t),u=P(t);i.add(c.TABLE);const d=n.map(e=>{if(e.direction&&u&&e.direction!==u)return;if(!e.fields.includes(c.TABLE))return;if(e.fields[0]!==c.TABLE)return;const t=e.fields.filter(e=>e!==c.TABLE),n=0===s.length||s.every(e=>t.includes(e)),l=s.some(e=>t.includes(e)),d=0===a.size||Array.from(a).every(e=>t.includes(e)),f=Array.from(a).some(e=>t.includes(e));if(r.requireSortCoverage&&s.length&&!n)return;const p=t.filter(e=>i.has(e)).length,g=t.filter(e=>a.has(e)).length,h=t.filter(e=>s.includes(e)).length;if(!p&&!g&&!h)return;let m=0;return"defaultQuery"===e.source&&o&&(m+=100),"index"===e.source&&(m+=50),m+=30*p,m+=25*g,m+=20*h,n&&s.length&&(m+=20),d&&a.size&&(m+=20),l&&(m+=5),f&&(m+=5),e.direction&&u&&(m+=10),{candidate:e,score:m}}).filter(Boolean);if(!d.length)return;d.sort((e,t)=>t.score!==e.score?t.score-e.score:e.candidate.fields.length-t.candidate.fields.length);const f=d[0].candidate;return{candidate:f,use_index:[f.ddoc,f.name]}}function Q(e,t){const r=n.Model.tableName(e),o=e.name,i=Array.from(L(t.selector)),a=Array.from(k(t.selector)),s=$(t),u=P(t),l=[c.TABLE];for(const e of i)e===c.TABLE||l.includes(e)||l.push(e);for(const e of a)e===c.TABLE||l.includes(e)||l.push(e);for(const e of s)e===c.TABLE||l.includes(e)||l.push(e);return{tableName:r,modelName:o,equalityFields:i,rangeFields:a,sortFields:s,sortDirection:u,requiredFields:l}}function U(e,t){const o=Q(e,t),n=o.requiredFields.filter(e=>e!==c.TABLE);if(!n.length)throw new T("Cannot infer @index declaration for query with no model fields.",{modelName:o.modelName,tableName:o.tableName,attribute:"",compositions:[],directions:[],expectedName:"",expectedDdoc:"",expectedFields:[c.TABLE],decorator:""},t);const i=n[0],a=n.slice(1),s=o.sortDirection||r.OrderDirection.ASC,u=S(o.tableName,i,a,s),l=[{[c.TABLE]:s},{[i]:s},...a.map(e=>({[e]:s}))],d=["@index({",a.length?` compositions: ${JSON.stringify(a)},`:void 0," directions: "+JSON.stringify([s]),"})",i+"!: <type>;"].filter(Boolean).join("\n");return{attribute:i,compositions:a,directions:[s],name:u,ddoc:u,fields:l,decorator:d}}function q(e,t,r,o={}){if(!e||t.use_index)return;if(!1===o.forceNamedIndexes&&!o.requireIndex)return;const n=V(e,t,{preserveDefaultQuery:o.preserveDefaultQuery??!0,requireSortCoverage:o.requireSortCoverage??!1});if(n)return t.use_index=n.use_index,void r?.debug?.(`Attached Mango use_index=${JSON.stringify(n.use_index)} from ${n.candidate.source} metadata`);if(!o.requireIndex)return;const i=U(e,t);throw new T(["No generated CouchDB index can satisfy this Mango query.\n","Model: "+e.name,"Table: "+G(e),"\nTo allow this query, declare the following index on the model attribute:\n",i.decorator,"\nThen regenerate/deploy indexes.\n\nExpected generated index:"," ddoc: "+i.ddoc," name: "+i.name," fields: "+JSON.stringify(i.fields)].join("\n"),{modelName:e.name,tableName:G(e),attribute:i.attribute,compositions:i.compositions,directions:i.directions,expectedName:i.name,expectedDdoc:i.ddoc,expectedFields:i.fields,decorator:i.decorator},t)}function G(e){return n.Model.tableName(e)}function F(e,t,r="selector"){if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach((e,o)=>F(e,t,`${r}[${o}]`));else for(const[o,n]of Object.entries(e))_.has(o)&&t?.warn?.(`Mango query contains scan-prone operator ${o} at ${r}. This may bypass or weaken index usage and can produce slow queries.`),F(n,t,`${r}.${o}`)}function K(e){if(!e)return"\0";const t=Array.from(e);for(let e=t.length-1;e>=0;e-=1){const r=t[e].codePointAt(0);if(void 0!==r&&1114111>r)return t[e]=String.fromCodePoint(r+1),t.slice(0,e+1).join("")}return e+"\0"}class J extends r.Statement{constructor(e,t){super(e,t),this.attributeTypeCache=new Map}toColumnName(e){return e===c.TABLE||e===c.SEQUENCE?e:n.Model.columnName(this.fromSelector,e)}build(){const e=this.log.for(this.build);this.manualAggregation=void 0;const t=this.buildAggregateInfo();if(t){if(!this.shouldUseManualAggregation())return this.createAggregateQuery(t);this.manualAggregation=t}const o={};o[c.TABLE]={},o[c.TABLE]=n.Model.tableName(this.fromSelector);const i={selector:o};if(this.selectSelector&&(i.fields=this.selectSelector.map(e=>this.toColumnName(e))),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(i.selector[c.TABLE]))).selector,o=Object.keys(t);if(1===o.length&&-1!==Object.values(l).indexOf(o[0]))switch(o[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 o=r[0];return o===l.AND?e.push(...t[o]):e.push(t),e},[])],i.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(i.selector).map(([e,t])=>{const r={};return r[e]=t,r})],i.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{i.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${i.selector[t]} by ${r}`),i.selector[t]=r})}if(this.orderBySelectors?.length){i.sort=i.sort||[],i.selector=i.selector||{};for(const[e,t]of this.orderBySelectors){const r=this.toColumnName(e),o={};o[r]=t,i.sort.push(o),i.selector[r]||(i.selector[r]={},i.selector[r][u.BIGGER]=null)}}const a=!!this.manualAggregation;return this.limitSelector?i.limit=this.limitSelector:a||(e.warn("No limit selector defined. Using default couchdb limit of 250"),i.limit=250),this.offsetSelector&&(i.skip=this.offsetSelector),this.attachDefaultQueryIndex(i),(this.overrides?.forceNamedIndexes??!0)&&q(this.fromSelector,i,e,{preserveDefaultQuery:!0,requireSortCoverage:!1,forceNamedIndexes:!0}),F(i.selector,e),i}attachDefaultQueryIndex(e){if(!this.fromSelector||e.use_index)return;const t=n.Model.tableName(this.fromSelector);let r=[];try{r=n.Model.defaultQueryAttributes(this.fromSelector)}catch{r=[]}if(!r.length)return;const o=this.collectStartsWithRangeAttrs(e.selector||{}),i=r.filter(e=>o.has(e));if(!i.length)return;const a=(Array.isArray(e.sort)?e.sort:[]).map(e=>Object.entries(e||{})[0]).find(e=>e&&i.includes(e[0])),s=O([t,a?.[0]||i[0],"defaultQuery"],a?.[1]||void 0);e.use_index=s}collectStartsWithRangeAttrs(e){const t=new Set,r=e=>{e&&"object"==typeof e&&(Array.isArray(e)?e.forEach(e=>r(e)):Object.entries(e).forEach(([e,o])=>{if(e!==l.AND&&e!==l.OR&&o&&"object"==typeof o&&!Array.isArray(o)){const r=Object.prototype.hasOwnProperty.call(o,u.BIGGER_EQ),n=Object.prototype.hasOwnProperty.call(o,u.SMALLER);r&&n&&t.add(e)}r(o)}))};return r(e),t}processRecord(e,i){const a=n.Model.pk(this.fromSelector),s=t.Metadata.get(this.fromSelector,t.Metadata.key(o.DBKeys.ID,a))?.type;if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");e[a]=r.Sequence.parseValue(s,o)}return this.adapter.revert(e,this.fromSelector,e[a],void 0,i)}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw),o=e?.aggregateInfo;if(e?.aggregate&&o)return this.executeAggregate(o,r);const n=this.scopeToTable(e),i=await this.adapter.raw(n,!0,r);if(this.manualAggregation){const e=i.map(e=>this.processRecord(e,r)),t=this.executeManualAggregation(e,this.manualAggregation,r);return this.manualAggregation=void 0,t}if(!this.selectSelector&&this.groupBySelectors?.length){const e=i.map(e=>this.processRecord(e,r));return this.groupSelectResults(e)}if(!this.selectSelector)return i;const a=e=>this.processRecord(e,r);if(Array.isArray(i)){const e=i.map(a);return await this.applyAfterHandlersToResult(e,r)}const s=a(i);return await this.applyAfterHandlersToResult(s,r)}scopeToTable(e){if(!this.fromSelector)return e;const t=n.Model.tableName(this.fromSelector),r=e&&"object"==typeof e?e:{},o=Object.assign({},r.selector||{});return o[c.TABLE]=t,Object.assign({},r,{selector:o})}buildAggregateInfo(){if(this.fromSelector){if(this.avgSelector){const e=this.avgSelector+"",t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);const r=this.createAggregateDescriptor("count",e);if(!r)throw this.missingDecorator("count",e);return{kind:"avg",attribute:e,sumDescriptor:t.descriptor,countDescriptor:r.descriptor}}if(void 0!==this.countDistinctSelector){const e=this.resolveSelectorAttribute(this.countDistinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t.countDistinct=!0,t}if(void 0!==this.countSelector){const e=this.resolveSelectorAttribute(this.countSelector),t=this.createAggregateDescriptor("count",e);if(!t)throw this.missingDecorator("count",e);return t}if(this.maxSelector){const e=this.resolveSelectorAttribute(this.maxSelector),t=this.createAggregateDescriptor("max",e);if(!t)throw this.missingDecorator("max",e);return t}if(this.minSelector){const e=this.resolveSelectorAttribute(this.minSelector),t=this.createAggregateDescriptor("min",e);if(!t)throw this.missingDecorator("min",e);return t}if(this.sumSelector){const e=this.resolveSelectorAttribute(this.sumSelector),t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);return t}if(this.distinctSelector){const e=this.resolveSelectorAttribute(this.distinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t}}}createAggregateDescriptor(e,t){if(!this.fromSelector)return;const r=A(this.fromSelector,e,t);if(!r.length)return;const o=r[0],i=n.Model.tableName(this.fromSelector),a=m(i,o.attribute,e,o),s=o.ddoc||y(i,a),c={reduce:void 0!==o.reduce||!o.returnDocs};return"distinct"!==e&&"groupBy"!==e||(c.group=!0),{kind:e,meta:o,descriptor:{ddoc:s,view:a,options:c}}}createAggregateQuery(e){return{selector:{},aggregate:!0,aggregateInfo:e}}shouldUseManualAggregation(){return!!this.whereCondition}async executeAggregate(e,t){if(!this.isViewAggregate(e))return this.handleAverage(e,t);const r=this.getCouchAdapter(),o=e,n=await r.view(o.descriptor.ddoc,o.descriptor.view,o.descriptor.options,t);return this.processViewResponse(e,n)}async handleAverage(e,t){if("avg"!==e.kind)throw new r.QueryError("Average descriptor is not valid");const[o,n]=[e.sumDescriptor,e.countDescriptor],i=this.getCouchAdapter(),[a,s]=await Promise.all([i.view(o.ddoc,o.view,o.options,t),i.view(n.ddoc,n.view,n.options,t)]),c=a.rows?.[0]?.value??0,u=s.rows?.[0]?.value??0;return u?c/u:0}executeManualAggregation(e,t,o){if(!this.fromSelector)throw new r.QueryError("Manual aggregation requires a target model");if("avg"===t.kind)return this.computeAverage(e,t.attribute);if("groupBy"===t.kind)return this.computeGroupBy(e,t.meta.attribute);const n=t.meta.attribute;switch(t.kind){case"count":return t.countDistinct?this.computeDistinctCount(e,n):this.computeCount(e,n);case"distinct":return t.countDistinct?this.computeDistinctCount(e,n):this.computeDistinctValues(e,n);case"sum":return this.computeSum(e,n);case"min":return this.computeMinMax(e,n,"min");case"max":return this.computeMinMax(e,n,"max");default:throw new r.QueryError("Unsupported manual aggregation "+t.kind)}}computeCount(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).length:e.length}computeDistinctCount(e,t){const r=t?this.collectValues(e,t).filter(e=>null!=e):e,o=new Set;return r.forEach(e=>o.add(JSON.stringify(e))),o.size}computeDistinctValues(e,t){if(!t)return[];const r=this.collectValues(e,t),o=new Set,n=[];return r.forEach(e=>{const t=JSON.stringify(e);o.has(t)||(o.add(t),n.push(e))}),n}computeSum(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).reduce((e,r)=>e+this.toNumericValue(r,t,"SUM operation"),0):e.length}computeAverage(e,t){if(!t)return 0;const r=this.collectValues(e,t).filter(e=>null!=e);return r.length?r.reduce((e,r)=>e+this.toNumericValue(r,t,"AVG operation"),0)/r.length:0}computeMinMax(e,t,r){if(!t)return null;const o=this.collectValues(e,t).filter(e=>null!=e);let n=null,i=null;for(const e of o){const t=this.normalizeComparable(e);null!==t&&(null!==i?("min"===r&&i>t||"max"===r&&t>i)&&(i=t,n=e):(i=t,n=e))}return n}computeGroupBy(e,t){const r={},o=this.collectValues(e,t);return e.forEach((e,t)=>{const n=this.groupKey(o[t]);r[n]||(r[n]=[]),r[n].push(e)}),r}groupSelectResults(e){if(!this.groupBySelectors?.length)return{};const t=this.resolveSelectorAttribute(this.groupBySelectors[0]);if(!t)return{};const r={};return e.forEach(e=>{const o=this.groupKey(this.convertValueByAttribute(t,e[t]));r[o]||(r[o]=[]),r[o].push(e)}),r}collectValues(e,t){return e.map(e=>{if(e&&"object"==typeof e)return this.convertValueByAttribute(t,e[t])})}convertValueByAttribute(e,t){if(!this.fromSelector)return t;if("date"===this.getAttributeType(e)){if(t instanceof Date)return t;const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}if("string"==typeof t&&e.toLowerCase().includes("date")){const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}return t}getAttributeType(e){if(!e||!this.fromSelector)return;if(this.attributeTypeCache.has(e))return this.attributeTypeCache.get(e);const r=t.Metadata.type(this.fromSelector,e)??t.Metadata.getPropDesignTypes?.(this.fromSelector,e)?.designType,o=this.normalizeMetaType(r);return this.attributeTypeCache.set(e,o),o}normalizeMetaType(e){if(e)return"string"==typeof e?e.toLowerCase():"function"==typeof e&&e.name?e.name.toLowerCase():void 0}normalizeComparable(e){return"number"==typeof e?e:"bigint"==typeof e?Number(e):e instanceof Date?e.getTime():"string"!=typeof e||isNaN(Number(e))?null:Number(e)}groupKey(e){if(void 0===e)return"undefined";if(null===e)return"null";if("symbol"==typeof e)return e.toString();if("object"==typeof e)try{return JSON.stringify(e)}catch{return e+""}return e+""}toNumericValue(e,t,o){if("number"==typeof e)return e;if("bigint"==typeof e)return Number(e);if(e instanceof Date)return e.getTime();if("string"==typeof e&&!isNaN(Number(e)))return Number(e);throw new r.QueryError(`${o} on "${t}" requires numeric values, but got ${typeof e}`)}convertAggregateValue(e,t){return e?this.convertValueByAttribute(e,t):t}resolveSelectorAttribute(e){if(null!=e)return e+""}missingDecorator(e,t){const o=this.decoratorForKind(e),i=this.fromSelector?n.Model.tableName(this.fromSelector):"<unknown table>",a=t?` on "${t}"`:"";return new r.UnsupportedError(`${o} decorator is required for CouchDB ${e} aggregation${a} on table "${i}".`)}decoratorForKind(e){return{count:"@count",sum:"@sum",min:"@min",max:"@max",distinct:"@distinct",groupBy:"@groupBy",view:"@view",avg:"@avg"}[e]||"@"+e}processViewResponse(e,t){if("avg"===e.kind)throw new r.QueryError("Average results should be handled before processing rows");const o=t.rows||[],n=e,i=n.meta;return n.countDistinct?o.length||0:"distinct"===n.kind||"groupBy"===n.kind?o.map(e=>this.convertAggregateValue(n.meta.attribute,e.key??e.value)):i.returnDocs?o.map(e=>e.value??e.doc??e):o.length?this.convertAggregateValue(n.meta.attribute,o[0].value??o[0].key??null):"count"===n.kind?0:null}isViewAggregate(e){return"avg"!==e.kind}getCouchAdapter(){return this.adapter}parseCondition(e){const{attr1:t,operator:o,comparison:n}=e;if(o===r.Operator.STARTS_WITH){if("string"!=typeof t)throw new r.QueryError("STARTS_WITH requires an attribute name");if("string"!=typeof n)throw new r.QueryError("STARTS_WITH requires a string comparison");const e={start:i=n,end:K(i)};return{selector:{[this.toColumnName(t)]:{[u.BIGGER_EQ]:e.start,[u.SMALLER]:e.end}}}}var i,a;if(o===r.Operator.ENDS_WITH){if("string"!=typeof t)throw new r.QueryError("ENDS_WITH requires an attribute name");if("string"!=typeof n)throw new r.QueryError("ENDS_WITH requires a string comparison");return{selector:{[this.toColumnName(t)]:{[u.REGEXP]:(a=n,a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")}}}}if(o===r.Operator.BETWEEN){const e=this.toColumnName(t);if(!Array.isArray(n)||2!==n.length)throw new r.QueryError("BETWEEN operator requires [min, max] comparison");const[o,i]=n,a={};return a[e]={},a[e][C(r.Operator.BIGGER_EQ)]=o,a[e][C(r.Operator.SMALLER_EQ)]=i,{selector:a}}let s={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(o)){const e=this.toColumnName(t);s[e]={},s[e][C(o)]=n}else if(o===r.Operator.NOT)s=this.parseCondition(t).selector,s[C(r.Operator.NOT)]={},s[C(r.Operator.NOT)][this.toColumnName(t.attr1)]=n;else{const e=this.parseCondition(t).selector,r=this.parseCondition(n).selector;s=((e,t,r)=>{const o={selector:{}};return o.selector[e]=[t,r],o})(C(o),e,r).selector}return{selector:s}}}class z 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;o.prefixMethod(this,e,this[t+"Prefix"])})}Statement(e){return new J(this,e)}Paginator(e,t,r){return new M(this,e,t,r)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return N}assignMetadata(e,t){return t?(w(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(w(e,t[r]),e)),e}prepare(e,...t){const{log:i}=this.logCtx(t,this.prepare),a=e.segregate(),s=Object.entries(a.model).reduce((t,[r,i])=>{if(void 0===i)return t;const a=n.Model.columnName(e.constructor,r);if(this.isReserved(a))throw new o.InternalError(`Property name ${a} is reserved`);return i=i instanceof Date?new Date(i):i,t[a]=i,t},{});return e[r.PersistenceKeys.METADATA]&&(i.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:a.transient}}createPrefix(e,t,r,...o){const{ctxArgs:i}=this.logCtx(o,this.createPrefix),a=n.Model.tableName(e),s={};return Object.assign(s,r),s[c.TABLE]=a,s[c.ID]=this.generateId(a,t),[e,t,s,...i]}createAllPrefix(e,t,r,...i){const a=n.Model.tableName(e);if(t.length!==r.length)throw new o.InternalError("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(i,this.createAllPrefix),u=t.map((e,t)=>{const o={};return Object.assign(o,r[t]),o[c.TABLE]=a,o[c.ID]=this.generateId(a,e),o});return[e,t,u,...s]}updatePrefix(e,t,i,...a){const s=n.Model.tableName(e),{ctxArgs:u}=this.logCtx(a,this.updatePrefix),l={},d=i[r.PersistenceKeys.METADATA];if(!d)throw new o.InternalError("No revision number found for record with id "+t);return Object.assign(l,i),l[c.TABLE]=s,l[c.ID]=this.generateId(s,t),l[c.REV]=d,[e,t,l,...u]}updateAllPrefix(e,t,i,...a){const s=n.Model.tableName(e);if(t.length!==i.length)throw new o.InternalError("Ids and models must have the same length");const{ctxArgs:u}=this.logCtx(a,this.updateAllPrefix),l=t.map((e,t)=>{const n={},a=i[t][r.PersistenceKeys.METADATA];if(!a)throw new o.InternalError("No revision number found for record with id "+e);return Object.assign(n,i[t]),n[c.TABLE]=s,n[c.ID]=this.generateId(s,e),n[c.REV]=a,n});return[e,t,l,...u]}generateId(e,t){const r=c.SEPARATOR;return"string"==typeof t&&t.startsWith(`${e}${r}`)&&t.split(r).length>=2?t:`${e}${r}${t+""}`}parseError(e,t){return z.parseError(e,t)}isReserved(e){return!!e.match(s)||e===c.TABLE||e===c.SEQUENCE}static parseError(e,t){if(e instanceof o.BaseError)return e;let n="";if("string"==typeof e){if(n=e,n.match(/already exist|update conflict/g))return new o.ConflictError(n);if(n.match(/missing|deleted/g))return new o.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 o.ConflictError(t);case"404":return new o.NotFoundError(t);case"400":return n.toString().match(/No\sindex\sexists/g)?new x(e):new o.InternalError(e);default:return n.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new o.InternalError(e)}}static setMetadata(e,t){w(e,t)}static getMetadata(e){return D(e)}static removeMetadata(e){v(e)}}i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object]),i.__metadata("design:returntype",J)],z.prototype,"Statement",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,String]),i.__metadata("design:returntype",Object)],z.prototype,"assignMetadata",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Array,Array]),i.__metadata("design:returntype",Array)],z.prototype,"assignMultipleMetadata",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Object,Object,Object]),i.__metadata("design:returntype",Array)],z.prototype,"createPrefix",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Array,Array,Object]),i.__metadata("design:returntype",void 0)],z.prototype,"createAllPrefix",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Object,Object,Object]),i.__metadata("design:returntype",void 0)],z.prototype,"updatePrefix",null),i.__decorate([a.final(),i.__metadata("design:type",Function),i.__metadata("design:paramtypes",[Object,Array,Array,Object]),i.__metadata("design:returntype",void 0)],z.prototype,"updateAllPrefix",null);const W="##VERSION##",X="##PACKAGE##";t.Metadata.registerLibrary(X,W),e.COMMIT="80b9ad6",e.CouchDBAdapter=z,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=u,e.CouchDBPaginator=M,e.CouchDBQueryLimit=250,e.CouchDBRepository=N,e.CouchDBStatement=J,e.FULL_VERSION="0.14.4-80b9ad6",e.IndexError=x,e.IndexPlanningError=T,e.PACKAGE_NAME=X,e.VERSION=W,e.attachGeneratedUseIndex=q,e.buildGeneratedIndexCandidates=e=>R(e),e.collectViewMetadata=b,e.count=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:"object"==typeof e&&e?n=e:void 0!==e&&(n.value=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.COUNT).define({decorator:e=>r.applyViewDecorator(r.Operator.COUNT,"count",e),args:[n]}).apply()},e.distinct=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.DISTINCT).define({decorator:e=>r.applyViewDecorator(r.Operator.DISTINCT,"distinct",e),args:[n]}).apply()},e.enableMangoExecutionStats=e=>{e.execution_stats=!0},e.ensureDeterministicSort=(e,t,o)=>{if(!e.sort?.length)return;if($(e).includes(t))return;const n=o||P(e)||r.OrderDirection.ASC;e.sort=[...e.sort,{[t]:n}]},e.findGeneratedIndexCandidateByName=(e,t)=>R(e).find(e=>e.name===t||e.ddoc===t),e.findViewMetadata=A,e.generateDesignDocName=y,e.generateIndexDoc=f,e.generateIndexName=O,e.generateIndexes=e=>{const t=O([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=n.Model.tableName(e);let i=[];try{i=n.Model.defaultQueryAttributes(e)}catch(e){i=[]}i.forEach(e=>{const n=O([t,e,"defaultQuery"]),i={[c.TABLE]:{[u.EQUAL]:t}};o[n]={index:{fields:[c.TABLE,e]},name:n,ddoc:n,type:"json"},o[n].index.partial_filter_selector=i,[r.OrderDirection.ASC,r.OrderDirection.DSC].forEach(r=>{const n=O([t,e,"defaultQuery"],r);o[n]={index:{fields:[{[c.TABLE]:r},{[e]:r}]},name:n,ddoc:n,type:"json"}})});const a=n.Model.indexes(e);Object.entries(a).forEach(([e,n])=>{const i=[];Object.entries(n||{}).forEach(([,t])=>{if(!t)return;const r=t;void 0===r.directions&&void 0===r.compositions?"object"!=typeof t||Array.isArray(t)||Object.entries(t).forEach(([e,t])=>{t&&i.push([e,t])}):i.push([e,r])}),i.forEach(([e,n])=>{if(!n)return;let{directions:i,compositions:a}=n;a=a||[];const s=[e,...a],l={[c.TABLE]:{[u.EQUAL]:t}};function d(r,n){const i=S(t,e,a,n),u=[c.TABLE,...s],d=r?[{[c.TABLE]:r},...s.map(e=>({[e]:r}))]:u;o[i]={index:{fields:d},name:i,ddoc:i,type:"json"},r||(o[i].index.partial_filter_selector=l)}d(),Array.from(new Set((i||[r.OrderDirection.ASC]).map(e=>(e+"").toLowerCase()))).filter(e=>e===r.OrderDirection.ASC||e===r.OrderDirection.DSC).forEach(e=>{d(e,e)})})})}),E(e).forEach(e=>{e.name&&(o[e.name]=e)}),Object.values(o)},e.generateModelIndexName=S,e.generateViewIndexes=E,e.generateViewName=m,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])=>b(e,t,r)).forEach(e=>{const o=e.attribute,n=m(i,o,e.kind,e),a="_design/"+(e.ddoc||y(i,n)),s=((e,t,o,n)=>{const i=((e,t,o)=>{if(o.map)return"function"==typeof o.map?o.map.toString():o.map;const n=[];if(n.push(`doc[${JSON.stringify(c.TABLE)}] === ${JSON.stringify(e)}`),o.condition)if(o.condition instanceof r.Condition)n.push(g(o.condition,"doc"));else if("string"==typeof o.condition)n.push(o.condition);else{const e=r.Condition.from(o.condition);n.push(g(e,"doc"))}"count"===o.kind&&void 0!==o.value&&n.push(`doc[${JSON.stringify(t)}] === ${p(o.value)}`);const i=((e,t="doc")=>{if(!e)return;if("string"==typeof e)return e;const r=e.field||"roles",o=e.roles||[];if(!o.length)return e.expression;const n=`${t}[${JSON.stringify(r)}] || []`;return"all"===(e.mode||"any")?o.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" && "):o.map(e=>`${n}.indexOf(${JSON.stringify(e)}) !== -1`).join(" || ")})(o.auth,"doc");i&&n.push(i);const a=n.length?n.join(" && "):"true",s=((e,t,r)=>{const o=h(e,t,r);return 1===o.length?`doc[${JSON.stringify(o[0])}]`:`[${o.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`})(o.key,t,o.compositions),u=((e,t)=>"doc"===e?"doc":e?Array.isArray(e)?`[${e.map(e=>`doc[${JSON.stringify(e)}]`).join(", ")}]`:"string"==typeof e?`doc[${JSON.stringify(e)}]`:p(e):`doc[${JSON.stringify(t)}]`)(o.value??(o.returnDocs&&"sum"!==o.kind?"doc":void 0),t);return`function (doc) {\n if (!(${a})) return;\n emit(${s}, ${u});\n}`})(n,t,o),a=o.reduce?"function"==typeof o.reduce?o.reduce.toString():o.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:a}})(e.kind,o,e,i);t[a]||(t[a]={_id:a,language:"javascript",views:{}}),t[a].views[n]=s})}),Object.values(t)},e.getEqualitySelectorFields=L,e.getMetadata=D,e.getRangeSelectorFields=k,e.getRequiredMangoIndexShape=Q,e.getSortDirection=P,e.getSortFields=$,e.groupBy=(e,o)=>{let n={};return Array.isArray(e)?n.compositions=e:"string"==typeof e?n.name=e:e&&(n=e),"string"==typeof o?n.name=o:o&&(n=Object.assign({},n,o)),void 0===n.returnDocs&&(n.returnDocs=!0),t.Decoration.for(r.Operator.GROUP_BY).define({decorator:e=>r.applyViewDecorator(r.Operator.GROUP_BY,"groupBy",e),args:[n]}).apply()},e.max=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.MAX).define({decorator:e=>r.applyViewDecorator(r.Operator.MAX,"max",e),args:[n]}).apply()},e.min=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.MIN).define({decorator:e=>r.applyViewDecorator(r.Operator.MIN,"min",e),args:[n]}).apply()},e.normalizeSortField=j,e.reAuth=d,e.removeMetadata=v,e.requireGeneratedUseIndex=(e,t,r,o={})=>{q(e,t,r,{preserveDefaultQuery:!0,requireSortCoverage:o.requireSortCoverage??!0,requireIndex:!0,forceNamedIndexes:!0})},e.reservedAttributes=s,e.resolveGeneratedIndexForQuery=V,e.reverseRequiredShapeToIndexDeclaration=U,e.setMetadata=w,e.sum=(e,o)=>{let n={};return e instanceof r.Condition?n.condition=e:e&&(n=e),o&&(n=Object.assign({},n,o)),t.Decoration.for(r.Operator.SUM).define({decorator:e=>r.applyViewDecorator(r.Operator.SUM,"sum",e),args:[n]}).apply()},e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=C,e.viewIndexDefinition=e=>{const t=h(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}},e.warnScanProneMangoOperators=F,e.wrapDocumentScope=(e,t,r,o)=>{const n=e.use?e.use(t):e;return["insert","bulk","fetch","createIndex","get","put","destroy","find","view"].forEach(t=>{const i=n[t];"function"==typeof i&&Object.defineProperty(n,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await d(e,r,o),i.call(n,...t))})}),Object.defineProperty(n,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),n}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
2
2
  //# sourceMappingURL=for-couchdb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/utils.ts","../src/views/generator.ts","../src/indexes/generator.ts","../src/metadata.ts","../src/repository.ts","../src/errors/IndexError.ts","../src/errors/IndexPlanningError.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/planner.ts","../src/query/Statement.ts","../src/adapter.ts","../src/index.ts","../src/decorators.ts"],"sourcesContent":[null,null,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","couchUser","couchPassword","auth","generateIndexDoc","attribute","tableName","compositions","order","separator","DefaultSeparator","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","attr","PersistenceKeys","push","join","generateIndexName","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","generateViewName","kind","meta","replace","generateDesignDocName","viewName","findViewMetadata","model","view","groupBy","GROUP_BY","count","COUNT","sum","SUM","max","MAX","min","MIN","distinct","DISTINCT","Metadata","get","Object","entries","flatMap","values","entry","filter","collectViewMetadata","generateViewIndexes","models","indexes","viewKeys","forEach","m","Model","length","slice","directions","OrderDirection","ASC","DSC","baseIndex","direction","dirIndex","n","generateModelIndexName","fieldKey","setMetadata","metadata","defineProperty","METADATA","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","undefined","removeMetadata","CouchDBRepository","Repository","constructor","adapter","force","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","IndexPlanningError","message","suggestion","query","CouchDBPaginator","Paginator","size","clazz","_bookmarks","Map","isValidBookmark","prepare","rawStatement","assign","limit","skip","page","bookmark","isPreparedStatement","pagePrepared","validatePage","statement","explicitBookmark","PagingError","rawResult","raw","docs","nextBookmark","warning","warn","execution_stats","debug","type","DBKeys","pageResults","d","revert","Sequence","parseValue","_bookmark","_currentPage","set","_knownLastPage","_totalPages","_recordCount","translateOperators","operators","el","keys","find","k","QueryError","SCAN_PRONE_OPERATORS","Set","isPlainObject","selectorContainsOperator","node","some","child","normalizeSortField","field","String","toLowerCase","getSortFields","sort","Boolean","getSortDirection","getEqualitySelectorFields","selector","visit","prototype","hasOwnProperty","call","add","getRangeSelectorFields","collectGeneratedIndexEntries","candidates","tableIndexName","defaultQueryAttrs","defaultQueryAttributes","baseName","sortedName","modelIndexes","metadataValue","validDirections","from","dir","resolveGeneratedIndexForQuery","options","use_index","preserveDefaultQuery","equalityFields","rangeFields","sortFields","sortDirection","scored","candidate","includes","candidateFields","coversAllSort","every","coversSomeSort","coversAllRange","coversSomeRange","requireSortCoverage","equalityCoverage","has","rangeCoverage","sortCoverage","score","a","b","best","getRequiredMangoIndexShape","modelName","requiredFields","reverseRequiredShapeToIndexDeclaration","shape","nonTableFields","expectedName","expectedDdoc","expectedFields","decorator","attachGeneratedUseIndex","forceNamedIndexes","requireIndex","resolved","reversed","shapeTableName","warnScanProneMangoOperators","path","nextLexicographicString","chars","code","codePointAt","fromCodePoint","CouchDBStatement","Statement","overrides","attributeTypeCache","toColumnName","columnName","fromSelector","build","manualAggregation","aggregateInfo","buildAggregateInfo","shouldUseManualAggregation","createAggregateQuery","selectors","selectSelector","f","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","reduce","accum","val","Error","s","orderBySelectors","selectorKey","rec","hasManualAggregate","limitSelector","offsetSelector","attachDefaultQueryIndex","defaultAttrs","rangedAttrs","collectStartsWithRangeAttrs","matchedAttrs","sortEntry","indexName","attrs","walk","hasLower","hasUpper","processRecord","record","pkAttr","keyArgs","split","rawInput","aggregator","aggregate","executeAggregate","scoped","scopeToTable","processed","manualResult","executeManualAggregation","groupBySelectors","groupSelectResults","processor","mapped","applyAfterHandlersToResult","single","base","avgSelector","sumInfo","createAggregateDescriptor","missingDecorator","countInfo","sumDescriptor","countDescriptor","countDistinctSelector","resolveSelectorAttribute","info","countDistinct","countSelector","maxSelector","minSelector","sumSelector","distinctSelector","metas","returnDocs","group","isViewAggregate","handleAverage","couchAdapter","getCouchAdapter","viewInfo","response","processViewResponse","sumDesc","countDesc","sumResponse","countResponse","rows","computeAverage","computeGroupBy","computeDistinctCount","computeCount","computeDistinctValues","computeSum","computeMinMax","collectValues","seen","unique","acc","toNumericValue","mode","currentValue","currentComparable","normalized","normalizeComparable","grouped","doc","groupKey","convertValueByAttribute","getAttributeType","parsed","Number","isNaN","getTime","metaType","getPropDesignTypes","designType","normalizeMetaType","context","convertAggregateValue","decoratorForKind","table","attributeDesc","UnsupportedError","avg","row","STARTS_WITH","range","start","prefix","end","ENDS_WITH","BETWEEN","opBetween","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","isReserved","transient","createPrefix","generateId","createAllPrefix","records","sep","startsWith","parseError","err","reason","match","ConflictError","NotFoundError","statusCode","ConnectionError","__decorate","final","VERSION","PACKAGE_NAME","registerLibrary","NULL","valueOrCondition","opts","Decoration","define","o","applyViewDecorator","conditionOrOptions","tieBreaker","effectiveDirection","modelTableName","defaultFilter","partial_filter_selector","ind","metadataEntries","fieldKeys","tableFilter","generate","suffix","baseFields","sortField","viewDocs","ddocId","viewDef","guards","authGuard","roles","expression","listExpr","buildAuthGuard","guard","emitKey","buildEmitKey","emitValue","v","buildEmitValue","buildMapFunction","defaultReduce","normalizeViewMetadata","_id","language","views","compositionsOrOptions","nameOrOptions","concat","dbName","db","use","original"],"mappings":"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"}
1
+ {"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/utils.ts","../src/views/generator.ts","../src/indexes/generator.ts","../src/metadata.ts","../src/repository.ts","../src/errors/IndexError.ts","../src/errors/IndexPlanningError.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/planner.ts","../src/query/Statement.ts","../src/adapter.ts","../src/index.ts","../src/decorators.ts"],"sourcesContent":[null,null,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","couchUser","couchPassword","auth","generateIndexDoc","attribute","tableName","compositions","order","separator","DefaultSeparator","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","attr","PersistenceKeys","push","join","generateIndexName","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","generateViewName","kind","meta","replace","generateDesignDocName","viewName","findViewMetadata","model","view","groupBy","GROUP_BY","count","COUNT","sum","SUM","max","MAX","min","MIN","distinct","DISTINCT","Metadata","get","Object","entries","flatMap","values","entry","filter","collectViewMetadata","generateViewIndexes","models","indexes","viewKeys","forEach","m","Model","length","slice","directions","OrderDirection","ASC","DSC","baseIndex","direction","dirIndex","n","generateModelIndexName","fieldKey","setMetadata","metadata","defineProperty","METADATA","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","undefined","removeMetadata","CouchDBRepository","Repository","constructor","adapter","force","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","IndexPlanningError","message","suggestion","query","CouchDBPaginator","Paginator","size","clazz","_bookmarks","Map","isValidBookmark","prepare","rawStatement","assign","limit","skip","page","bookmark","isPreparedStatement","pagePrepared","validatePage","statement","explicitBookmark","PagingError","rawResult","raw","docs","nextBookmark","warning","warn","execution_stats","debug","type","DBKeys","pageResults","d","revert","Sequence","parseValue","_bookmark","_currentPage","set","_knownLastPage","_totalPages","_recordCount","translateOperators","operators","el","keys","find","k","QueryError","SCAN_PRONE_OPERATORS","Set","isPlainObject","selectorContainsOperator","node","some","child","normalizeSortField","field","String","toLowerCase","getSortFields","sort","Boolean","getSortDirection","getEqualitySelectorFields","selector","visit","prototype","hasOwnProperty","call","add","getRangeSelectorFields","collectGeneratedIndexEntries","candidates","tableIndexName","defaultQueryAttrs","defaultQueryAttributes","baseName","sortedName","modelIndexes","metadataValue","validDirections","from","dir","resolveGeneratedIndexForQuery","options","use_index","preserveDefaultQuery","equalityFields","rangeFields","sortFields","sortDirection","scored","candidate","includes","candidateFields","coversAllSort","every","coversSomeSort","coversAllRange","coversSomeRange","requireSortCoverage","equalityCoverage","has","rangeCoverage","sortCoverage","score","a","b","best","getRequiredMangoIndexShape","modelName","requiredFields","reverseRequiredShapeToIndexDeclaration","shape","nonTableFields","expectedName","expectedDdoc","expectedFields","decorator","attachGeneratedUseIndex","forceNamedIndexes","requireIndex","resolved","reversed","shapeTableName","warnScanProneMangoOperators","path","nextLexicographicString","chars","code","codePointAt","fromCodePoint","CouchDBStatement","Statement","overrides","attributeTypeCache","toColumnName","columnName","fromSelector","build","manualAggregation","aggregateInfo","buildAggregateInfo","shouldUseManualAggregation","createAggregateQuery","selectors","selectSelector","f","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","reduce","accum","val","Error","s","orderBySelectors","selectorKey","rec","hasManualAggregate","limitSelector","offsetSelector","attachDefaultQueryIndex","defaultAttrs","rangedAttrs","collectStartsWithRangeAttrs","matchedAttrs","sortEntry","indexName","attrs","walk","hasLower","hasUpper","processRecord","record","pkAttr","keyArgs","split","rawInput","aggregator","aggregate","executeAggregate","scoped","scopeToTable","processed","manualResult","executeManualAggregation","groupBySelectors","groupSelectResults","processor","mapped","applyAfterHandlersToResult","single","base","avgSelector","sumInfo","createAggregateDescriptor","missingDecorator","countInfo","sumDescriptor","countDescriptor","countDistinctSelector","resolveSelectorAttribute","info","countDistinct","countSelector","maxSelector","minSelector","sumSelector","distinctSelector","metas","returnDocs","group","isViewAggregate","handleAverage","couchAdapter","getCouchAdapter","viewInfo","response","processViewResponse","sumDesc","countDesc","sumResponse","countResponse","rows","computeAverage","computeGroupBy","computeDistinctCount","computeCount","computeDistinctValues","computeSum","computeMinMax","collectValues","seen","unique","acc","toNumericValue","mode","currentValue","currentComparable","normalized","normalizeComparable","grouped","doc","groupKey","convertValueByAttribute","getAttributeType","parsed","Number","isNaN","getTime","metaType","getPropDesignTypes","designType","normalizeMetaType","context","convertAggregateValue","decoratorForKind","table","attributeDesc","UnsupportedError","avg","row","STARTS_WITH","range","start","prefix","end","ENDS_WITH","BETWEEN","opBetween","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","isReserved","transient","createPrefix","generateId","createAllPrefix","records","sep","startsWith","parseError","err","reason","match","ConflictError","NotFoundError","statusCode","ConnectionError","__decorate","final","VERSION","PACKAGE_NAME","registerLibrary","NULL","valueOrCondition","opts","Decoration","define","o","applyViewDecorator","conditionOrOptions","tieBreaker","effectiveDirection","modelTableName","defaultFilter","partial_filter_selector","ind","metadataEntries","fieldKeys","tableFilter","generate","suffix","baseFields","sortField","viewDocs","ddocId","viewDef","guards","authGuard","roles","expression","listExpr","buildAuthGuard","guard","emitKey","buildEmitKey","emitValue","v","buildEmitValue","buildMapFunction","defaultReduce","normalizeViewMetadata","_id","language","views","compositionsOrOptions","nameOrOptions","concat","dbName","db","use","original"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Metadata as e,Decoration as t}from"@decaf-ts/decoration";import{PersistenceKeys as r,Operator as n,OrderDirection as i,Condition as o,GroupOperator as s,Repository as a,Paginator as c,PagingError as u,Sequence as l,QueryError as d,Statement as f,UnsupportedError as g,Adapter as p,ConnectionError as h,applyViewDecorator as m}from"@decaf-ts/core";import{DefaultSeparator as y,InternalError as A,OperationKeys as b,enforceDBDecorators as w,ValidationError as v,BulkCrudOperationKeys as E,reduceErrorsToPrint as S,BaseError as N,DBKeys as O,prefixMethod as x,ConflictError as T,NotFoundError as D}from"@decaf-ts/db-decorators";import{Model as $}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as C}from"tslib";import{final as B}from"@decaf-ts/logging";const k=/^_.*$/g,M={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index",VIEW:"view"},I=250,L={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},P={AND:"$and",OR:"$or"},V={NULL:"null"};async function R(e,t,r){return e.auth(t,r)}function _(e,t,r,n){const i=e.use?e.use(t):e;return["insert","bulk","fetch","createIndex","get","put","destroy","find","view"].forEach(t=>{const o=i[t];if("function"!=typeof o)throw new A("Could not find function to bind "+t);Object.defineProperty(i,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await R(e,r,n),o.call(i,...t))})}),Object.defineProperty(i,M.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),i}function U(e){return e.match(/^_.*$/g)}function q(e,t,n,i,o=y){const s={};let a;if(s[M.TABLE]={},s[M.TABLE].$eq=t,i){const t={};t[e]=i;const r=(n||[]).map(e=>{const t={};return t[e]=i,t}),o={};o[M.TABLE]=i,a=[t,...r,o]}else a=[e,...n||[],M.TABLE];const c=((e,t,n,i,o=y)=>{const s=[r.INDEX,t,e];return n&&s.push(...n),i&&s.push(i),s.join(o)})(e,t,n,i,o);return{index:{fields:a},ddoc:[c,M.DDOC].join(o),name:c}}function Q(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 J(e,t){const{attr1:r,operator:i,comparison:a}=e;if(r instanceof o){const e=J(r,t);if(i===n.NOT)return`!(${e})`;const o=J(a,t);return i===s.AND?`(${e} && ${o})`:i===s.OR?`(${e} || ${o})`:e}const c=`${t}[${JSON.stringify(r)}]`;switch(i){case n.EQUAL:return`${c} === ${Q(a)}`;case n.DIFFERENT:return`${c} !== ${Q(a)}`;case n.BIGGER:return`${c} > ${Q(a)}`;case n.BIGGER_EQ:return`${c} >= ${Q(a)}`;case n.SMALLER:return`${c} < ${Q(a)}`;case n.SMALLER_EQ:return`${c} <= ${Q(a)}`;case n.IN:return`(${Q(a)}).indexOf(${c}) !== -1`;case n.REGEXP:return`${a instanceof RegExp?Q(a):`new RegExp(${JSON.stringify(a)})`}.test(${c})`;case n.NOT:return`!(${c} === ${Q(a)})`;default:return"true"}}function F(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function G(e,t,r,n,i=y){return n.name?n.name:[e,t,r,"view"].join(i).replace(/\s+/g,"_")}function z(e,t,r=y){return[e,t,M.DDOC].join(r)}function W(t,r,i){const o={view:n.VIEW,groupBy:n.GROUP_BY,count:n.COUNT,sum:n.SUM,max:n.MAX,min:n.MIN,distinct:n.DISTINCT}[r];if(!o)return[];const s=e.get(t,o)||{};return Object.entries(s).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>({...t,kind:r,attribute:t.attribute||e})).filter(e=>!i||e.attribute===i):[])}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 H(e){const t={},r=[[M.VIEW,"view"],[n.GROUP_BY,"groupBy"],[n.COUNT,"count"],[n.SUM,"sum"],[n.MAX,"max"],[n.MIN,"min"],[n.DISTINCT,"distinct"]];return e.forEach(e=>{const n=$.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=e.attribute,i=G(n,r,e.kind,e),s="_design/"+(e.ddoc||z(n,i)),a=((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(M.TABLE)}] === ${JSON.stringify(e)}`),r.condition)if(r.condition instanceof o)n.push(J(r.condition,"doc"));else if("string"==typeof r.condition)n.push(r.condition);else{const e=o.from(r.condition);n.push(J(e,"doc"))}"count"===r.kind&&void 0!==r.value&&n.push(`doc[${JSON.stringify(t)}] === ${Q(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",a=((e,t,r)=>{const n=F(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)}]`:Q(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(${a}, ${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[s]||(t[s]={_id:s,language:"javascript",views:{}}),t[s].views[i]=a})}),Object.values(t)}function K(e){const t={},r=[[M.VIEW,"view"],[n.GROUP_BY,"groupBy"],[n.COUNT,"count"],[n.SUM,"sum"],[n.MAX,"max"],[n.MIN,"min"],[n.DISTINCT,"distinct"]];return e.forEach(e=>{const n=$.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=F(e.key,e.attribute,e.compositions);if(!r.length)return;const o=r[0],s=r.slice(1),a=e.directions||[i.ASC,i.DSC],c=q(o,n,s);t[c.name||""]=c,a.forEach(e=>{const r=q(o,n,s,e);t[r.name||""]=r})})}),Object.values(t)}function Y(e){const t=F(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}}function Z(e,t,r,n=y){return[...e.map(e=>e===M.TABLE?"table":e),...r||[],...t?[t]:[],M.INDEX].join(n)}function ee(e,t,n=[],i,o=y){return[e,t,...n,...i?[i]:[],r.INDEX].join(o)}function te(e){const t=Z([M.TABLE]),r={};return r[t]={index:{fields:[M.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=$.tableName(e);let n=[];try{n=$.defaultQueryAttributes(e)}catch(e){n=[]}n.forEach(e=>{const n=Z([t,e,"defaultQuery"]),o={[M.TABLE]:{$eq:t}};r[n]={index:{fields:[M.TABLE,e]},name:n,ddoc:n,type:"json"},r[n].index.partial_filter_selector=o,[i.ASC,i.DSC].forEach(n=>{const i=Z([t,e,"defaultQuery"],n);r[i]={index:{fields:[{[M.TABLE]:n},{[e]:n}]},name:i,ddoc:i,type:"json"}})});const o=$.indexes(e);Object.entries(o).forEach(([e,n])=>{const o=[];Object.entries(n||{}).forEach(([,t])=>{if(!t)return;const r=t;void 0===r.directions&&void 0===r.compositions?"object"!=typeof t||Array.isArray(t)||Object.entries(t).forEach(([e,t])=>{t&&o.push([e,t])}):o.push([e,r])}),o.forEach(([e,n])=>{if(!n)return;let{directions:o,compositions:s}=n;s=s||[];const a=[e,...s],c={[M.TABLE]:{$eq:t}};function u(n,i){const o=ee(t,e,s,i),u=[M.TABLE,...a],l=n?[{[M.TABLE]:n},...a.map(e=>({[e]:n}))]:u;r[o]={index:{fields:l},name:o,ddoc:o,type:"json"},n||(r[o].index.partial_filter_selector=c)}u(),Array.from(new Set((o||[i.ASC]).map(e=>(e+"").toLowerCase()))).filter(e=>e===i.ASC||e===i.DSC).forEach(e=>{u(e,e)})})})}),K(e).forEach(e=>{e.name&&(r[e.name]=e)}),Object.values(r)}function re(e,t){Object.defineProperty(e,r.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function ne(e){const t=Object.getOwnPropertyDescriptor(e,r.METADATA);return t?t.value:void 0}function ie(e){Object.getOwnPropertyDescriptor(e,r.METADATA)&&delete e[r.METADATA]}class oe extends a{constructor(e,t,r=!1){super(e,t,r)}assignMetadata(e,t){const r=(e,t)=>{const r=ne(t??e);return r&&re(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,b.UPDATE,!0)).for(this.updatePrefix),o=r.get("ignoreHandlers"),s=r.get("ignoreValidation");i.silly(`handlerSetting: ${o}, validationSetting: ${s}`);const a=e[this.pk];if(!a)throw new A("No value for the Id is defined under the property "+this.pk);let c,u;if(r.get("applyUpdateValidation")&&(c=await this.read(a),u=c?ne(c):void 0,r.get("mergeForUpdate")&&(e=$.merge(c,e,this.class))),o||await w(this,r,e,b.UPDATE,b.ON,c),!s){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const n=await Promise.resolve(e.hasErrors(c,...t));if(n)throw new v(n.toString())}return u&&re(e,u),[e,...n,c]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:n,log:i}=(await this.logCtx(t,E.UPDATE_ALL,!0)).for(this.updateAllPrefix),o=r.get("ignoreHandlers"),s=r.get("ignoreValidation");i.silly(`handlerSetting: ${o}, ignoredValidation: ${s}`);const a=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(a,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=$.merge(c[t],e,this.class));const n=ne(c[t]);return n&&re(e,n),e})),o||await Promise.all(e.map((e,t)=>w(this,r,e,b.UPDATE,b.ON,c?c[t]:void 0))),!s){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 o=S(n);if(o)throw new v(o)}return[e,...n,c]}}class se extends N{constructor(e){super(se.name,e,404)}}class ae extends se{constructor(e,t,r){super(e),this.name="IndexPlanningError",this.suggestion=t,this.query=r}}class ce extends c{constructor(e,t,r,n){super(e,t,r,n),this._bookmarks=new Map}isValidBookmark(e){return"string"==typeof e&&e.length>0}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,delete t.skip,t}async page(t=1,r,...n){const{log:i,ctxArgs:o,ctx:s}=this.adapter.logCtx([r,...n],this.page);if(this.isPreparedStatement())return await this.pagePrepared(t,...o);t=this.validatePage(t??1);const a=Object.assign({},this.statement);if(a.limit=this.size,1===t)this.isValidBookmark(r)?a.bookmark=r:delete a.bookmark;else{const e=r||this._bookmarks.get(t);if(!this.isValidBookmark(e))throw new u("Random page access requires a cached CouchDB bookmark. Start at page 1 and page forward, or pass an explicit bookmark.");delete a.skip,a.bookmark=e}delete a.skip;const c=await this.adapter.raw(a,!1,...o),{docs:d,bookmark:f,warning:g}=c;if(g&&i.warn(g),c.execution_stats&&i.debug("Mango execution stats: "+JSON.stringify(c.execution_stats)),!this.clazz)throw new u("No statement target defined");const p=$.pk(this.clazz),h=e.get(this.clazz,e.key(O.ID,p))?.type,m=a.fields&&a.fields.length?d:d.map(e=>this.adapter.revert(e,this.clazz,l.parseValue(h,e[p]),void 0,s));return this._bookmark=this.isValidBookmark(f)?f:void 0,this._currentPage=t,this.isValidBookmark(f)&&this._bookmarks.set(t+1,f),this.isValidBookmark(f)&&d.length>=this.size||(this._knownLastPage=t,this._totalPages=t,this._recordCount=(t-1)*this.size+d.length),m}}function ue(e){for(const t of[L,P]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new d("Could not find adapter translation for operator "+e)}const le=new Set(["$or","$in","$regex","$nin","$not","$ne","$nor"]);function de(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function fe(e,t){return!(!e||"object"!=typeof e)&&(Array.isArray(e)?e.some(e=>fe(e,t)):Object.entries(e).some(([e,r])=>e===t||fe(r,t)))}function ge(e){if("string"==typeof e)return{field:e};if(Array.isArray(e))return e.length?{field:e[0]+""}:void 0;const[t,r]=Object.entries(e||{})[0]||[];return t?{field:t,direction:((r||i.ASC)+"").toLowerCase()}:void 0}function pe(e){return(e.sort||[]).map(ge).filter(Boolean).map(e=>e.field)}function he(e){return(e.sort||[]).map(ge).find(Boolean)?.direction}function me(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[P.AND]))e[P.AND].forEach(r);else for(const[n,i]of Object.entries(e))n!==P.OR&&n!==P.AND?de(i)?Object.prototype.hasOwnProperty.call(i,"$eq")&&t.add(n):t.add(n):r(i)};return r(e),t}function ye(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[P.AND]))e[P.AND].forEach(r);else for(const[n,i]of Object.entries(e))n!==P.OR&&n!==P.AND?de(i)&&(Object.prototype.hasOwnProperty.call(i,"$gt")||Object.prototype.hasOwnProperty.call(i,"$gte")||Object.prototype.hasOwnProperty.call(i,"$lt")||Object.prototype.hasOwnProperty.call(i,"$lte"))&&t.add(n):r(i)};return r(e),t}function Ae(e){const t=$.tableName(e),r=[],n=Z([M.TABLE]);r.push({name:n,ddoc:n,fields:[M.TABLE],source:"table"});let o=[];try{o=$.defaultQueryAttributes(e)}catch{o=[]}for(const e of o){const n=Z([t,e,"defaultQuery"]);r.push({name:n,ddoc:n,fields:[M.TABLE,e],source:"defaultQuery"});for(const n of[i.ASC,i.DSC]){const i=Z([t,e,"defaultQuery"],n);r.push({name:i,ddoc:i,fields:[M.TABLE,e],direction:n,source:"defaultQuery"})}}const s=$.indexes(e);return Object.entries(s||{}).forEach(([e,n])=>{Object.values(n||{}).forEach(n=>{if(!n||!de(n))return;const o=n,s=o.compositions||[],a=o.directions||[i.ASC],c=[M.TABLE,e,...s],u=ee(t,e,s);r.push({name:u,ddoc:u,fields:c,source:"index"});const l=Array.from(new Set(a.map(e=>(e+"").toLowerCase()))).filter(e=>e===i.ASC||e===i.DSC);for(const n of l){const i=ee(t,e,s,n);r.push({name:i,ddoc:i,fields:c,direction:n,source:"index"})}})}),r}function be(e){return Ae(e)}function we(e,t){return Ae(e).find(e=>e.name===t||e.ddoc===t)}function ve(e,t,r={}){if(t.use_index)return;if(fe(t.selector,P.OR)||fe(t.selector,"$nor"))return;const n=!1!==r.preserveDefaultQuery,i=Ae(e),o=me(t.selector),s=ye(t.selector),a=pe(t),c=he(t);o.add(M.TABLE);const u=i.map(e=>{if(e.direction&&c&&e.direction!==c)return;if(!e.fields.includes(M.TABLE))return;if(e.fields[0]!==M.TABLE)return;const t=e.fields.filter(e=>e!==M.TABLE),i=0===a.length||a.every(e=>t.includes(e)),u=a.some(e=>t.includes(e)),l=0===s.size||Array.from(s).every(e=>t.includes(e)),d=Array.from(s).some(e=>t.includes(e));if(r.requireSortCoverage&&a.length&&!i)return;const f=t.filter(e=>o.has(e)).length,g=t.filter(e=>s.has(e)).length,p=t.filter(e=>a.includes(e)).length;if(!f&&!g&&!p)return;let h=0;return"defaultQuery"===e.source&&n&&(h+=100),"index"===e.source&&(h+=50),h+=30*f,h+=25*g,h+=20*p,i&&a.length&&(h+=20),l&&s.size&&(h+=20),u&&(h+=5),d&&(h+=5),e.direction&&c&&(h+=10),{candidate:e,score:h}}).filter(Boolean);if(!u.length)return;u.sort((e,t)=>t.score!==e.score?t.score-e.score:e.candidate.fields.length-t.candidate.fields.length);const l=u[0].candidate;return{candidate:l,use_index:[l.ddoc,l.name]}}function Ee(e,t){const r=$.tableName(e),n=e.name,i=Array.from(me(t.selector)),o=Array.from(ye(t.selector)),s=pe(t),a=he(t),c=[M.TABLE];for(const e of i)e===M.TABLE||c.includes(e)||c.push(e);for(const e of o)e===M.TABLE||c.includes(e)||c.push(e);for(const e of s)e===M.TABLE||c.includes(e)||c.push(e);return{tableName:r,modelName:n,equalityFields:i,rangeFields:o,sortFields:s,sortDirection:a,requiredFields:c}}function Se(e,t){const r=Ee(e,t),n=r.requiredFields.filter(e=>e!==M.TABLE);if(!n.length)throw new ae("Cannot infer @index declaration for query with no model fields.",{modelName:r.modelName,tableName:r.tableName,attribute:"",compositions:[],directions:[],expectedName:"",expectedDdoc:"",expectedFields:[M.TABLE],decorator:""},t);const o=n[0],s=n.slice(1),a=r.sortDirection||i.ASC,c=ee(r.tableName,o,s,a),u=[{[M.TABLE]:a},{[o]:a},...s.map(e=>({[e]:a}))],l=["@index({",s.length?` compositions: ${JSON.stringify(s)},`:void 0," directions: "+JSON.stringify([a]),"})",o+"!: <type>;"].filter(Boolean).join("\n");return{attribute:o,compositions:s,directions:[a],name:c,ddoc:c,fields:u,decorator:l}}function Ne(e,t,r,n={}){if(!e||t.use_index)return;if(!1===n.forceNamedIndexes&&!n.requireIndex)return;const i=ve(e,t,{preserveDefaultQuery:n.preserveDefaultQuery??!0,requireSortCoverage:n.requireSortCoverage??!1});if(i)return t.use_index=i.use_index,void r?.debug?.(`Attached Mango use_index=${JSON.stringify(i.use_index)} from ${i.candidate.source} metadata`);if(!n.requireIndex)return;const o=Se(e,t);throw new ae(["No generated CouchDB index can satisfy this Mango query.\n","Model: "+e.name,"Table: "+Oe(e),"\nTo allow this query, declare the following index on the model attribute:\n",o.decorator,"\nThen regenerate/deploy indexes.\n\nExpected generated index:"," ddoc: "+o.ddoc," name: "+o.name," fields: "+JSON.stringify(o.fields)].join("\n"),{modelName:e.name,tableName:Oe(e),attribute:o.attribute,compositions:o.compositions,directions:o.directions,expectedName:o.name,expectedDdoc:o.ddoc,expectedFields:o.fields,decorator:o.decorator},t)}function Oe(e){return $.tableName(e)}function xe(e,t,r,n={}){Ne(e,t,r,{preserveDefaultQuery:!0,requireSortCoverage:n.requireSortCoverage??!0,requireIndex:!0,forceNamedIndexes:!0})}function Te(e,t,r="selector"){if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach((e,n)=>Te(e,t,`${r}[${n}]`));else for(const[n,i]of Object.entries(e))le.has(n)&&t?.warn?.(`Mango query contains scan-prone operator ${n} at ${r}. This may bypass or weaken index usage and can produce slow queries.`),Te(i,t,`${r}.${n}`)}function De(e,t,r){if(!e.sort?.length)return;if(pe(e).includes(t))return;const n=r||he(e)||i.ASC;e.sort=[...e.sort,{[t]:n}]}function $e(e){e.execution_stats=!0}function je(e){if(!e)return"\0";const t=Array.from(e);for(let e=t.length-1;e>=0;e-=1){const r=t[e].codePointAt(0);if(void 0!==r&&1114111>r)return t[e]=String.fromCodePoint(r+1),t.slice(0,e+1).join("")}return e+"\0"}class Ce extends f{constructor(e,t){super(e,t),this.attributeTypeCache=new Map}toColumnName(e){return e===M.TABLE||e===M.SEQUENCE?e:$.columnName(this.fromSelector,e)}build(){const e=this.log.for(this.build);this.manualAggregation=void 0;const t=this.buildAggregateInfo();if(t){if(!this.shouldUseManualAggregation())return this.createAggregateQuery(t);this.manualAggregation=t}const r={};r[M.TABLE]={},r[M.TABLE]=$.tableName(this.fromSelector);const n={selector:r};if(this.selectSelector&&(n.fields=this.selectSelector.map(e=>this.toColumnName(e))),this.whereCondition){const t=this.parseCondition(o.and(this.whereCondition,o.attribute(M.TABLE).eq(n.selector[M.TABLE]))).selector,r=Object.keys(t);if(1===r.length&&-1!==Object.values(P).indexOf(r[0]))switch(r[0]){case P.AND:t[P.AND]=[...Object.values(t[P.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===P.AND?e.push(...t[n]):e.push(t),e},[])],n.selector=t;break;case P.OR:{const e={};e[P.AND]=[t,...Object.entries(n.selector).map(([e,t])=>{const r={};return r[e]=t,r})],n.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{n.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${n.selector[t]} by ${r}`),n.selector[t]=r})}if(this.orderBySelectors?.length){n.sort=n.sort||[],n.selector=n.selector||{};for(const[e,t]of this.orderBySelectors){const r=this.toColumnName(e),i={};i[r]=t,n.sort.push(i),n.selector[r]||(n.selector[r]={},n.selector[r].$gt=null)}}const i=!!this.manualAggregation;return this.limitSelector?n.limit=this.limitSelector:i||(e.warn("No limit selector defined. Using default couchdb limit of 250"),n.limit=250),this.offsetSelector&&(n.skip=this.offsetSelector),this.attachDefaultQueryIndex(n),(this.overrides?.forceNamedIndexes??!0)&&Ne(this.fromSelector,n,e,{preserveDefaultQuery:!0,requireSortCoverage:!1,forceNamedIndexes:!0}),Te(n.selector,e),n}attachDefaultQueryIndex(e){if(!this.fromSelector||e.use_index)return;const t=$.tableName(this.fromSelector);let r=[];try{r=$.defaultQueryAttributes(this.fromSelector)}catch{r=[]}if(!r.length)return;const n=this.collectStartsWithRangeAttrs(e.selector||{}),i=r.filter(e=>n.has(e));if(!i.length)return;const o=(Array.isArray(e.sort)?e.sort:[]).map(e=>Object.entries(e||{})[0]).find(e=>e&&i.includes(e[0])),s=Z([t,o?.[0]||i[0],"defaultQuery"],o?.[1]||void 0);e.use_index=s}collectStartsWithRangeAttrs(e){const t=new Set,r=e=>{e&&"object"==typeof e&&(Array.isArray(e)?e.forEach(e=>r(e)):Object.entries(e).forEach(([e,n])=>{if(e!==P.AND&&e!==P.OR&&n&&"object"==typeof n&&!Array.isArray(n)){const r=Object.prototype.hasOwnProperty.call(n,"$gte"),i=Object.prototype.hasOwnProperty.call(n,"$lt");r&&i&&t.add(e)}r(n)}))};return r(e),t}processRecord(t,r){const n=$.pk(this.fromSelector),i=e.get(this.fromSelector,e.key(O.ID,n))?.type;if(t[M.ID]){const[,...e]=t[M.ID].split(M.SEPARATOR),r=e.join("_");t[n]=l.parseValue(i,r)}return this.adapter.revert(t,this.fromSelector,t[n],void 0,r)}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw),n=e?.aggregateInfo;if(e?.aggregate&&n)return this.executeAggregate(n,r);const i=this.scopeToTable(e),o=await this.adapter.raw(i,!0,r);if(this.manualAggregation){const e=o.map(e=>this.processRecord(e,r)),t=this.executeManualAggregation(e,this.manualAggregation,r);return this.manualAggregation=void 0,t}if(!this.selectSelector&&this.groupBySelectors?.length){const e=o.map(e=>this.processRecord(e,r));return this.groupSelectResults(e)}if(!this.selectSelector)return o;const s=e=>this.processRecord(e,r);if(Array.isArray(o)){const e=o.map(s);return await this.applyAfterHandlersToResult(e,r)}const a=s(o);return await this.applyAfterHandlersToResult(a,r)}scopeToTable(e){if(!this.fromSelector)return e;const t=$.tableName(this.fromSelector),r=e&&"object"==typeof e?e:{},n=Object.assign({},r.selector||{});return n[M.TABLE]=t,Object.assign({},r,{selector:n})}buildAggregateInfo(){if(this.fromSelector){if(this.avgSelector){const e=this.avgSelector+"",t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);const r=this.createAggregateDescriptor("count",e);if(!r)throw this.missingDecorator("count",e);return{kind:"avg",attribute:e,sumDescriptor:t.descriptor,countDescriptor:r.descriptor}}if(void 0!==this.countDistinctSelector){const e=this.resolveSelectorAttribute(this.countDistinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t.countDistinct=!0,t}if(void 0!==this.countSelector){const e=this.resolveSelectorAttribute(this.countSelector),t=this.createAggregateDescriptor("count",e);if(!t)throw this.missingDecorator("count",e);return t}if(this.maxSelector){const e=this.resolveSelectorAttribute(this.maxSelector),t=this.createAggregateDescriptor("max",e);if(!t)throw this.missingDecorator("max",e);return t}if(this.minSelector){const e=this.resolveSelectorAttribute(this.minSelector),t=this.createAggregateDescriptor("min",e);if(!t)throw this.missingDecorator("min",e);return t}if(this.sumSelector){const e=this.resolveSelectorAttribute(this.sumSelector),t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);return t}if(this.distinctSelector){const e=this.resolveSelectorAttribute(this.distinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t}}}createAggregateDescriptor(e,t){if(!this.fromSelector)return;const r=W(this.fromSelector,e,t);if(!r.length)return;const n=r[0],i=$.tableName(this.fromSelector),o=G(i,n.attribute,e,n),s=n.ddoc||z(i,o),a={reduce:void 0!==n.reduce||!n.returnDocs};return"distinct"!==e&&"groupBy"!==e||(a.group=!0),{kind:e,meta:n,descriptor:{ddoc:s,view:o,options:a}}}createAggregateQuery(e){return{selector:{},aggregate:!0,aggregateInfo:e}}shouldUseManualAggregation(){return!!this.whereCondition}async executeAggregate(e,t){if(!this.isViewAggregate(e))return this.handleAverage(e,t);const r=this.getCouchAdapter(),n=e,i=await r.view(n.descriptor.ddoc,n.descriptor.view,n.descriptor.options,t);return this.processViewResponse(e,i)}async handleAverage(e,t){if("avg"!==e.kind)throw new d("Average descriptor is not valid");const[r,n]=[e.sumDescriptor,e.countDescriptor],i=this.getCouchAdapter(),[o,s]=await Promise.all([i.view(r.ddoc,r.view,r.options,t),i.view(n.ddoc,n.view,n.options,t)]),a=o.rows?.[0]?.value??0,c=s.rows?.[0]?.value??0;return c?a/c:0}executeManualAggregation(e,t,r){if(!this.fromSelector)throw new d("Manual aggregation requires a target model");if("avg"===t.kind)return this.computeAverage(e,t.attribute);if("groupBy"===t.kind)return this.computeGroupBy(e,t.meta.attribute);const n=t.meta.attribute;switch(t.kind){case"count":return t.countDistinct?this.computeDistinctCount(e,n):this.computeCount(e,n);case"distinct":return t.countDistinct?this.computeDistinctCount(e,n):this.computeDistinctValues(e,n);case"sum":return this.computeSum(e,n);case"min":return this.computeMinMax(e,n,"min");case"max":return this.computeMinMax(e,n,"max");default:throw new d("Unsupported manual aggregation "+t.kind)}}computeCount(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).length:e.length}computeDistinctCount(e,t){const r=t?this.collectValues(e,t).filter(e=>null!=e):e,n=new Set;return r.forEach(e=>n.add(JSON.stringify(e))),n.size}computeDistinctValues(e,t){if(!t)return[];const r=this.collectValues(e,t),n=new Set,i=[];return r.forEach(e=>{const t=JSON.stringify(e);n.has(t)||(n.add(t),i.push(e))}),i}computeSum(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).reduce((e,r)=>e+this.toNumericValue(r,t,"SUM operation"),0):e.length}computeAverage(e,t){if(!t)return 0;const r=this.collectValues(e,t).filter(e=>null!=e);return r.length?r.reduce((e,r)=>e+this.toNumericValue(r,t,"AVG operation"),0)/r.length:0}computeMinMax(e,t,r){if(!t)return null;const n=this.collectValues(e,t).filter(e=>null!=e);let i=null,o=null;for(const e of n){const t=this.normalizeComparable(e);null!==t&&(null!==o?("min"===r&&o>t||"max"===r&&t>o)&&(o=t,i=e):(o=t,i=e))}return i}computeGroupBy(e,t){const r={},n=this.collectValues(e,t);return e.forEach((e,t)=>{const i=this.groupKey(n[t]);r[i]||(r[i]=[]),r[i].push(e)}),r}groupSelectResults(e){if(!this.groupBySelectors?.length)return{};const t=this.resolveSelectorAttribute(this.groupBySelectors[0]);if(!t)return{};const r={};return e.forEach(e=>{const n=this.groupKey(this.convertValueByAttribute(t,e[t]));r[n]||(r[n]=[]),r[n].push(e)}),r}collectValues(e,t){return e.map(e=>{if(e&&"object"==typeof e)return this.convertValueByAttribute(t,e[t])})}convertValueByAttribute(e,t){if(!this.fromSelector)return t;if("date"===this.getAttributeType(e)){if(t instanceof Date)return t;const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}if("string"==typeof t&&e.toLowerCase().includes("date")){const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}return t}getAttributeType(t){if(!t||!this.fromSelector)return;if(this.attributeTypeCache.has(t))return this.attributeTypeCache.get(t);const r=e.type(this.fromSelector,t)??e.getPropDesignTypes?.(this.fromSelector,t)?.designType,n=this.normalizeMetaType(r);return this.attributeTypeCache.set(t,n),n}normalizeMetaType(e){if(e)return"string"==typeof e?e.toLowerCase():"function"==typeof e&&e.name?e.name.toLowerCase():void 0}normalizeComparable(e){return"number"==typeof e?e:"bigint"==typeof e?Number(e):e instanceof Date?e.getTime():"string"!=typeof e||isNaN(Number(e))?null:Number(e)}groupKey(e){if(void 0===e)return"undefined";if(null===e)return"null";if("symbol"==typeof e)return e.toString();if("object"==typeof e)try{return JSON.stringify(e)}catch{return e+""}return e+""}toNumericValue(e,t,r){if("number"==typeof e)return e;if("bigint"==typeof e)return Number(e);if(e instanceof Date)return e.getTime();if("string"==typeof e&&!isNaN(Number(e)))return Number(e);throw new d(`${r} on "${t}" requires numeric values, but got ${typeof e}`)}convertAggregateValue(e,t){return e?this.convertValueByAttribute(e,t):t}resolveSelectorAttribute(e){if(null!=e)return e+""}missingDecorator(e,t){const r=this.decoratorForKind(e),n=this.fromSelector?$.tableName(this.fromSelector):"<unknown table>";return new g(`${r} decorator is required for CouchDB ${e} aggregation${t?` on "${t}"`:""} on table "${n}".`)}decoratorForKind(e){return{count:"@count",sum:"@sum",min:"@min",max:"@max",distinct:"@distinct",groupBy:"@groupBy",view:"@view",avg:"@avg"}[e]||"@"+e}processViewResponse(e,t){if("avg"===e.kind)throw new d("Average results should be handled before processing rows");const r=t.rows||[],n=e,i=n.meta;return n.countDistinct?r.length||0:"distinct"===n.kind||"groupBy"===n.kind?r.map(e=>this.convertAggregateValue(n.meta.attribute,e.key??e.value)):i.returnDocs?r.map(e=>e.value??e.doc??e):r.length?this.convertAggregateValue(n.meta.attribute,r[0].value??r[0].key??null):"count"===n.kind?0:null}isViewAggregate(e){return"avg"!==e.kind}getCouchAdapter(){return this.adapter}parseCondition(e){const{attr1:t,operator:r,comparison:i}=e;if(r===n.STARTS_WITH){if("string"!=typeof t)throw new d("STARTS_WITH requires an attribute name");if("string"!=typeof i)throw new d("STARTS_WITH requires a string comparison");const e={start:o=i,end:je(o)};return{selector:{[this.toColumnName(t)]:{$gte:e.start,$lt:e.end}}}}var o,a;if(r===n.ENDS_WITH){if("string"!=typeof t)throw new d("ENDS_WITH requires an attribute name");if("string"!=typeof i)throw new d("ENDS_WITH requires a string comparison");return{selector:{[this.toColumnName(t)]:{$regex:(a=i,a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")}}}}if(r===n.BETWEEN){const e=this.toColumnName(t);if(!Array.isArray(i)||2!==i.length)throw new d("BETWEEN operator requires [min, max] comparison");const[r,o]=i,s={};return s[e]={},s[e][ue(n.BIGGER_EQ)]=r,s[e][ue(n.SMALLER_EQ)]=o,{selector:s}}let c={};if(-1===[s.AND,s.OR,n.NOT].indexOf(r)){const e=this.toColumnName(t);c[e]={},c[e][ue(r)]=i}else if(r===n.NOT)c=this.parseCondition(t).selector,c[ue(n.NOT)]={},c[ue(n.NOT)][this.toColumnName(t.attr1)]=i;else{const e=this.parseCondition(t).selector,n=this.parseCondition(i).selector;c=((e,t,r)=>{const n={selector:{}};return n.selector[e]=[t,r],n})(ue(r),e,n).selector}return{selector:c}}}class Be extends p{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(e){return new Ce(this,e)}Paginator(e,t,r){return new ce(this,e,t,r)}async initialize(){const e=p.models(this.flavour);return this.index(...e)}repository(){return oe}assignMetadata(e,t){return t?(re(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(re(e,t[r]),e)),e}prepare(e,...t){const{log:n}=this.logCtx(t,this.prepare),i=e.segregate(),o=Object.entries(i.model).reduce((t,[r,n])=>{if(void 0===n)return t;const i=$.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[r.METADATA]&&(n.silly("Passing along persistence metadata for "+e[r.METADATA]),Object.defineProperty(o,r.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[r.METADATA]})),{record:o,id:e[$.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...n){const{ctxArgs:i}=this.logCtx(n,this.createPrefix),o=$.tableName(e),s={};return Object.assign(s,r),s[M.TABLE]=o,s[M.ID]=this.generateId(o,t),[e,t,s,...i]}createAllPrefix(e,t,r,...n){const i=$.tableName(e);if(t.length!==r.length)throw new A("Ids and models must have the same length");const{ctxArgs:o}=this.logCtx(n,this.createAllPrefix),s=t.map((e,t)=>{const n={};return Object.assign(n,r[t]),n[M.TABLE]=i,n[M.ID]=this.generateId(i,e),n});return[e,t,s,...o]}updatePrefix(e,t,n,...i){const o=$.tableName(e),{ctxArgs:s}=this.logCtx(i,this.updatePrefix),a={},c=n[r.METADATA];if(!c)throw new A("No revision number found for record with id "+t);return Object.assign(a,n),a[M.TABLE]=o,a[M.ID]=this.generateId(o,t),a[M.REV]=c,[e,t,a,...s]}updateAllPrefix(e,t,n,...i){const o=$.tableName(e);if(t.length!==n.length)throw new A("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(i,this.updateAllPrefix),a=t.map((e,t)=>{const i={},s=n[t][r.METADATA];if(!s)throw new A("No revision number found for record with id "+e);return Object.assign(i,n[t]),i[M.TABLE]=o,i[M.ID]=this.generateId(o,e),i[M.REV]=s,i});return[e,t,a,...s]}generateId(e,t){const r=M.SEPARATOR;return"string"==typeof t&&t.startsWith(`${e}${r}`)&&t.split(r).length>=2?t:`${e}${r}${t+""}`}parseError(e,t){return Be.parseError(e,t)}isReserved(e){return!!e.match(k)||e===M.TABLE||e===M.SEQUENCE}static parseError(e,t){if(e instanceof N)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 D(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 D(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new se(e):new A(e);default:return r.toString().match(/ECONNREFUSED/g)?new h(e):new A(e)}}static setMetadata(e,t){re(e,t)}static getMetadata(e){return ne(e)}static removeMetadata(e){ie(e)}}function ke(e,r){let i={};return Array.isArray(e)?i.compositions=e:"string"==typeof e?i.name=e:e&&(i=e),"string"==typeof r?i.name=r:r&&(i=Object.assign({},i,r)),void 0===i.returnDocs&&(i.returnDocs=!0),t.for(n.GROUP_BY).define({decorator:e=>m(n.GROUP_BY,"groupBy",e),args:[i]}).apply()}function Me(e,r){let i={};return e instanceof o?i.condition=e:"object"==typeof e&&e?i=e:void 0!==e&&(i.value=e),r&&(i=Object.assign({},i,r)),t.for(n.COUNT).define({decorator:e=>m(n.COUNT,"count",e),args:[i]}).apply()}function Ie(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.SUM).define({decorator:e=>m(n.SUM,"sum",e),args:[i]}).apply()}function Le(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.MAX).define({decorator:e=>m(n.MAX,"max",e),args:[i]}).apply()}function Pe(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.MIN).define({decorator:e=>m(n.MIN,"min",e),args:[i]}).apply()}function Ve(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.DISTINCT).define({decorator:e=>m(n.DISTINCT,"distinct",e),args:[i]}).apply()}j([B(),C("design:type",Function),C("design:paramtypes",[Object]),C("design:returntype",Ce)],Be.prototype,"Statement",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,String]),C("design:returntype",Object)],Be.prototype,"assignMetadata",null),j([B(),C("design:type",Function),C("design:paramtypes",[Array,Array]),C("design:returntype",Array)],Be.prototype,"assignMultipleMetadata",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Object,Object,Object]),C("design:returntype",Array)],Be.prototype,"createPrefix",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Array,Array,Object]),C("design:returntype",void 0)],Be.prototype,"createAllPrefix",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Object,Object,Object]),C("design:returntype",void 0)],Be.prototype,"updatePrefix",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Array,Array,Object]),C("design:returntype",void 0)],Be.prototype,"updateAllPrefix",null);const Re="##VERSION##",_e="##COMMIT##",Ue="##FULL_VERSION##",qe="##PACKAGE##";e.registerLibrary(qe,Re);export{_e as COMMIT,Be as CouchDBAdapter,V as CouchDBConst,P as CouchDBGroupOperator,M as CouchDBKeys,L as CouchDBOperator,ce as CouchDBPaginator,I as CouchDBQueryLimit,oe as CouchDBRepository,Ce as CouchDBStatement,Ue as FULL_VERSION,se as IndexError,ae as IndexPlanningError,qe as PACKAGE_NAME,Re as VERSION,Ne as attachGeneratedUseIndex,be as buildGeneratedIndexCandidates,X as collectViewMetadata,Me as count,Ve as distinct,$e as enableMangoExecutionStats,De as ensureDeterministicSort,we as findGeneratedIndexCandidateByName,W as findViewMetadata,z as generateDesignDocName,q as generateIndexDoc,Z as generateIndexName,te as generateIndexes,ee as generateModelIndexName,K as generateViewIndexes,G as generateViewName,H as generateViews,me as getEqualitySelectorFields,ne as getMetadata,ye as getRangeSelectorFields,Ee as getRequiredMangoIndexShape,he as getSortDirection,pe as getSortFields,ke as groupBy,Le as max,Pe as min,ge as normalizeSortField,R as reAuth,ie as removeMetadata,xe as requireGeneratedUseIndex,k as reservedAttributes,ve as resolveGeneratedIndexForQuery,Se as reverseRequiredShapeToIndexDeclaration,re as setMetadata,Ie as sum,U as testReservedAttributes,ue as translateOperators,Y as viewIndexDefinition,Te as warnScanProneMangoOperators,_ as wrapDocumentScope};
1
+ import{Metadata as e,Decoration as t}from"@decaf-ts/decoration";import{PersistenceKeys as r,Operator as n,OrderDirection as i,Condition as o,GroupOperator as s,Repository as a,Paginator as c,PagingError as u,Sequence as l,QueryError as d,Statement as f,UnsupportedError as g,Adapter as p,ConnectionError as h,applyViewDecorator as m}from"@decaf-ts/core";import{DefaultSeparator as y,OperationKeys as A,InternalError as b,enforceDBDecorators as w,ValidationError as v,BulkCrudOperationKeys as E,reduceErrorsToPrint as S,BaseError as N,DBKeys as O,prefixMethod as x,ConflictError as T,NotFoundError as D}from"@decaf-ts/db-decorators";import{Model as $}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as C}from"tslib";import{final as B}from"@decaf-ts/logging";const k=/^_.*$/g,M={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index",VIEW:"view"},I=250,L={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},P={AND:"$and",OR:"$or"},V={NULL:"null"};async function R(e,t,r){return e.auth(t,r)}function _(e,t,r,n){const i=e.use?e.use(t):e;return["insert","bulk","fetch","createIndex","get","put","destroy","find","view"].forEach(t=>{const o=i[t];"function"==typeof o&&Object.defineProperty(i,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await R(e,r,n),o.call(i,...t))})}),Object.defineProperty(i,M.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),i}function U(e){return e.match(/^_.*$/g)}function q(e,t,n,i,o=y){const s={};let a;if(s[M.TABLE]={},s[M.TABLE].$eq=t,i){const t={};t[e]=i;const r=(n||[]).map(e=>{const t={};return t[e]=i,t}),o={};o[M.TABLE]=i,a=[t,...r,o]}else a=[e,...n||[],M.TABLE];const c=((e,t,n,i,o=y)=>{const s=[r.INDEX,t,e];return n&&s.push(...n),i&&s.push(i),s.join(o)})(e,t,n,i,o);return{index:{fields:a},ddoc:[c,M.DDOC].join(o),name:c}}function Q(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 J(e,t){const{attr1:r,operator:i,comparison:a}=e;if(r instanceof o){const e=J(r,t);if(i===n.NOT)return`!(${e})`;const o=J(a,t);return i===s.AND?`(${e} && ${o})`:i===s.OR?`(${e} || ${o})`:e}const c=`${t}[${JSON.stringify(r)}]`;switch(i){case n.EQUAL:return`${c} === ${Q(a)}`;case n.DIFFERENT:return`${c} !== ${Q(a)}`;case n.BIGGER:return`${c} > ${Q(a)}`;case n.BIGGER_EQ:return`${c} >= ${Q(a)}`;case n.SMALLER:return`${c} < ${Q(a)}`;case n.SMALLER_EQ:return`${c} <= ${Q(a)}`;case n.IN:return`(${Q(a)}).indexOf(${c}) !== -1`;case n.REGEXP:return`${a instanceof RegExp?Q(a):`new RegExp(${JSON.stringify(a)})`}.test(${c})`;case n.NOT:return`!(${c} === ${Q(a)})`;default:return"true"}}function F(e,t,r){return e?Array.isArray(e)?e:[e]:t?[t,...r||[]]:r||[]}function G(e,t,r,n,i=y){return n.name?n.name:[e,t,r,"view"].join(i).replace(/\s+/g,"_")}function z(e,t,r=y){return[e,t,M.DDOC].join(r)}function W(t,r,i){const o={view:n.VIEW,groupBy:n.GROUP_BY,count:n.COUNT,sum:n.SUM,max:n.MAX,min:n.MIN,distinct:n.DISTINCT}[r];if(!o)return[];const s=e.get(t,o)||{};return Object.entries(s).flatMap(([e,t])=>t&&"object"==typeof t?Object.values(t).map(t=>({...t,kind:r,attribute:t.attribute||e})).filter(e=>!i||e.attribute===i):[])}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 H(e){const t={},r=[[M.VIEW,"view"],[n.GROUP_BY,"groupBy"],[n.COUNT,"count"],[n.SUM,"sum"],[n.MAX,"max"],[n.MIN,"min"],[n.DISTINCT,"distinct"]];return e.forEach(e=>{const n=$.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=e.attribute,i=G(n,r,e.kind,e),s="_design/"+(e.ddoc||z(n,i)),a=((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(M.TABLE)}] === ${JSON.stringify(e)}`),r.condition)if(r.condition instanceof o)n.push(J(r.condition,"doc"));else if("string"==typeof r.condition)n.push(r.condition);else{const e=o.from(r.condition);n.push(J(e,"doc"))}"count"===r.kind&&void 0!==r.value&&n.push(`doc[${JSON.stringify(t)}] === ${Q(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",a=((e,t,r)=>{const n=F(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)}]`:Q(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(${a}, ${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[s]||(t[s]={_id:s,language:"javascript",views:{}}),t[s].views[i]=a})}),Object.values(t)}function K(e){const t={},r=[[M.VIEW,"view"],[n.GROUP_BY,"groupBy"],[n.COUNT,"count"],[n.SUM,"sum"],[n.MAX,"max"],[n.MIN,"min"],[n.DISTINCT,"distinct"]];return e.forEach(e=>{const n=$.tableName(e);r.flatMap(([t,r])=>X(e,t,r)).forEach(e=>{const r=F(e.key,e.attribute,e.compositions);if(!r.length)return;const o=r[0],s=r.slice(1),a=e.directions||[i.ASC,i.DSC],c=q(o,n,s);t[c.name||""]=c,a.forEach(e=>{const r=q(o,n,s,e);t[r.name||""]=r})})}),Object.values(t)}function Y(e){const t=F(e.key,e.attribute);return{attribute:t[0],compositions:t.slice(1).concat(e.compositions||[]),directions:e.directions}}function Z(e,t,r,n=y){return[...e.map(e=>e===M.TABLE?"table":e),...r||[],...t?[t]:[],M.INDEX].join(n)}function ee(e,t,n=[],i,o=y){return[e,t,...n,...i?[i]:[],r.INDEX].join(o)}function te(e){const t=Z([M.TABLE]),r={};return r[t]={index:{fields:[M.TABLE]},name:t,ddoc:t,type:"json"},e.forEach(e=>{const t=$.tableName(e);let n=[];try{n=$.defaultQueryAttributes(e)}catch(e){n=[]}n.forEach(e=>{const n=Z([t,e,"defaultQuery"]),o={[M.TABLE]:{$eq:t}};r[n]={index:{fields:[M.TABLE,e]},name:n,ddoc:n,type:"json"},r[n].index.partial_filter_selector=o,[i.ASC,i.DSC].forEach(n=>{const i=Z([t,e,"defaultQuery"],n);r[i]={index:{fields:[{[M.TABLE]:n},{[e]:n}]},name:i,ddoc:i,type:"json"}})});const o=$.indexes(e);Object.entries(o).forEach(([e,n])=>{const o=[];Object.entries(n||{}).forEach(([,t])=>{if(!t)return;const r=t;void 0===r.directions&&void 0===r.compositions?"object"!=typeof t||Array.isArray(t)||Object.entries(t).forEach(([e,t])=>{t&&o.push([e,t])}):o.push([e,r])}),o.forEach(([e,n])=>{if(!n)return;let{directions:o,compositions:s}=n;s=s||[];const a=[e,...s],c={[M.TABLE]:{$eq:t}};function u(n,i){const o=ee(t,e,s,i),u=[M.TABLE,...a],l=n?[{[M.TABLE]:n},...a.map(e=>({[e]:n}))]:u;r[o]={index:{fields:l},name:o,ddoc:o,type:"json"},n||(r[o].index.partial_filter_selector=c)}u(),Array.from(new Set((o||[i.ASC]).map(e=>(e+"").toLowerCase()))).filter(e=>e===i.ASC||e===i.DSC).forEach(e=>{u(e,e)})})})}),K(e).forEach(e=>{e.name&&(r[e.name]=e)}),Object.values(r)}function re(e,t){Object.defineProperty(e,r.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}function ne(e){const t=Object.getOwnPropertyDescriptor(e,r.METADATA);return t?t.value:void 0}function ie(e){Object.getOwnPropertyDescriptor(e,r.METADATA)&&delete e[r.METADATA]}class oe extends a{constructor(e,t,r=!1){super(e,t,r)}assignMetadata(e,t){const r=(e,t)=>{const r=ne(t??e);return r&&re(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,A.UPDATE,!0)).for(this.updatePrefix),o=r.get("ignoreHandlers"),s=r.get("ignoreValidation");i.silly(`handlerSetting: ${o}, validationSetting: ${s}`);const a=e[this.pk];if(!a)throw new b("No value for the Id is defined under the property "+this.pk);let c,u;if(r.get("applyUpdateValidation")&&(c=await this.read(a),u=c?ne(c):void 0,r.get("mergeForUpdate")&&(e=$.merge(c,e,this.class))),o||await w(this,r,e,A.UPDATE,A.ON,c),!s){const t=r.get("ignoredValidationProperties")||[];i.silly("ignored validation properties: "+t);const n=await Promise.resolve(e.hasErrors(c,...t));if(n)throw new v(n.toString())}return u&&re(e,u),[e,...n,c]}async updateAllPrefix(e,...t){const{ctx:r,ctxArgs:n,log:i}=(await this.logCtx(t,E.UPDATE_ALL,!0)).for(this.updateAllPrefix),o=r.get("ignoreHandlers"),s=r.get("ignoreValidation");i.silly(`handlerSetting: ${o}, ignoredValidation: ${s}`);const a=e.map(e=>{const t=e[this.pk];if(!t)throw new b("missing id on update operation");return t});let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(a,r),e=e.map((e,t)=>{r.get("mergeForUpdate")&&(e=$.merge(c[t],e,this.class));const n=ne(c[t]);return n&&re(e,n),e})),o||await Promise.all(e.map((e,t)=>w(this,r,e,A.UPDATE,A.ON,c?c[t]:void 0))),!s){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 o=S(n);if(o)throw new v(o)}return[e,...n,c]}}class se extends N{constructor(e){super(se.name,e,404)}}class ae extends se{constructor(e,t,r){super(e),this.name="IndexPlanningError",this.suggestion=t,this.query=r}}class ce extends c{constructor(e,t,r,n){super(e,t,r,n),this._bookmarks=new Map}isValidBookmark(e){return"string"==typeof e&&e.length>0}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,delete t.skip,t}async page(t=1,r,...n){const{log:i,ctxArgs:o,ctx:s}=this.adapter.logCtx([r,...n],this.page);if(this.isPreparedStatement())return await this.pagePrepared(t,...o);t=this.validatePage(t??1);const a=Object.assign({},this.statement);if(a.limit=this.size,1===t)this.isValidBookmark(r)?a.bookmark=r:delete a.bookmark;else{const e=r||this._bookmarks.get(t);if(!this.isValidBookmark(e))throw new u("Random page access requires a cached CouchDB bookmark. Start at page 1 and page forward, or pass an explicit bookmark.");delete a.skip,a.bookmark=e}delete a.skip;const c=await this.adapter.raw(a,!1,...o),{docs:d,bookmark:f,warning:g}=c;if(g&&i.warn(g),c.execution_stats&&i.debug("Mango execution stats: "+JSON.stringify(c.execution_stats)),!this.clazz)throw new u("No statement target defined");const p=$.pk(this.clazz),h=e.get(this.clazz,e.key(O.ID,p))?.type,m=a.fields&&a.fields.length?d:d.map(e=>this.adapter.revert(e,this.clazz,l.parseValue(h,e[p]),void 0,s));return this._bookmark=this.isValidBookmark(f)?f:void 0,this._currentPage=t,this.isValidBookmark(f)&&this._bookmarks.set(t+1,f),this.isValidBookmark(f)&&d.length>=this.size||(this._knownLastPage=t,this._totalPages=t,this._recordCount=(t-1)*this.size+d.length),m}}function ue(e){for(const t of[L,P]){const r=Object.keys(t).find(t=>t===e);if(r)return t[r]}throw new d("Could not find adapter translation for operator "+e)}const le=new Set(["$or","$in","$regex","$nin","$not","$ne","$nor"]);function de(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function fe(e,t){return!(!e||"object"!=typeof e)&&(Array.isArray(e)?e.some(e=>fe(e,t)):Object.entries(e).some(([e,r])=>e===t||fe(r,t)))}function ge(e){if("string"==typeof e)return{field:e};if(Array.isArray(e))return e.length?{field:e[0]+""}:void 0;const[t,r]=Object.entries(e||{})[0]||[];return t?{field:t,direction:((r||i.ASC)+"").toLowerCase()}:void 0}function pe(e){return(e.sort||[]).map(ge).filter(Boolean).map(e=>e.field)}function he(e){return(e.sort||[]).map(ge).find(Boolean)?.direction}function me(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[P.AND]))e[P.AND].forEach(r);else for(const[n,i]of Object.entries(e))n!==P.OR&&n!==P.AND?de(i)?Object.prototype.hasOwnProperty.call(i,"$eq")&&t.add(n):t.add(n):r(i)};return r(e),t}function ye(e={}){const t=new Set,r=e=>{if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach(r);else if(Array.isArray(e[P.AND]))e[P.AND].forEach(r);else for(const[n,i]of Object.entries(e))n!==P.OR&&n!==P.AND?de(i)&&(Object.prototype.hasOwnProperty.call(i,"$gt")||Object.prototype.hasOwnProperty.call(i,"$gte")||Object.prototype.hasOwnProperty.call(i,"$lt")||Object.prototype.hasOwnProperty.call(i,"$lte"))&&t.add(n):r(i)};return r(e),t}function Ae(e){const t=$.tableName(e),r=[],n=Z([M.TABLE]);r.push({name:n,ddoc:n,fields:[M.TABLE],source:"table"});let o=[];try{o=$.defaultQueryAttributes(e)}catch{o=[]}for(const e of o){const n=Z([t,e,"defaultQuery"]);r.push({name:n,ddoc:n,fields:[M.TABLE,e],source:"defaultQuery"});for(const n of[i.ASC,i.DSC]){const i=Z([t,e,"defaultQuery"],n);r.push({name:i,ddoc:i,fields:[M.TABLE,e],direction:n,source:"defaultQuery"})}}const s=$.indexes(e);return Object.entries(s||{}).forEach(([e,n])=>{Object.values(n||{}).forEach(n=>{if(!n||!de(n))return;const o=n,s=o.compositions||[],a=o.directions||[i.ASC],c=[M.TABLE,e,...s],u=ee(t,e,s);r.push({name:u,ddoc:u,fields:c,source:"index"});const l=Array.from(new Set(a.map(e=>(e+"").toLowerCase()))).filter(e=>e===i.ASC||e===i.DSC);for(const n of l){const i=ee(t,e,s,n);r.push({name:i,ddoc:i,fields:c,direction:n,source:"index"})}})}),r}function be(e){return Ae(e)}function we(e,t){return Ae(e).find(e=>e.name===t||e.ddoc===t)}function ve(e,t,r={}){if(t.use_index)return;if(fe(t.selector,P.OR)||fe(t.selector,"$nor"))return;const n=!1!==r.preserveDefaultQuery,i=Ae(e),o=me(t.selector),s=ye(t.selector),a=pe(t),c=he(t);o.add(M.TABLE);const u=i.map(e=>{if(e.direction&&c&&e.direction!==c)return;if(!e.fields.includes(M.TABLE))return;if(e.fields[0]!==M.TABLE)return;const t=e.fields.filter(e=>e!==M.TABLE),i=0===a.length||a.every(e=>t.includes(e)),u=a.some(e=>t.includes(e)),l=0===s.size||Array.from(s).every(e=>t.includes(e)),d=Array.from(s).some(e=>t.includes(e));if(r.requireSortCoverage&&a.length&&!i)return;const f=t.filter(e=>o.has(e)).length,g=t.filter(e=>s.has(e)).length,p=t.filter(e=>a.includes(e)).length;if(!f&&!g&&!p)return;let h=0;return"defaultQuery"===e.source&&n&&(h+=100),"index"===e.source&&(h+=50),h+=30*f,h+=25*g,h+=20*p,i&&a.length&&(h+=20),l&&s.size&&(h+=20),u&&(h+=5),d&&(h+=5),e.direction&&c&&(h+=10),{candidate:e,score:h}}).filter(Boolean);if(!u.length)return;u.sort((e,t)=>t.score!==e.score?t.score-e.score:e.candidate.fields.length-t.candidate.fields.length);const l=u[0].candidate;return{candidate:l,use_index:[l.ddoc,l.name]}}function Ee(e,t){const r=$.tableName(e),n=e.name,i=Array.from(me(t.selector)),o=Array.from(ye(t.selector)),s=pe(t),a=he(t),c=[M.TABLE];for(const e of i)e===M.TABLE||c.includes(e)||c.push(e);for(const e of o)e===M.TABLE||c.includes(e)||c.push(e);for(const e of s)e===M.TABLE||c.includes(e)||c.push(e);return{tableName:r,modelName:n,equalityFields:i,rangeFields:o,sortFields:s,sortDirection:a,requiredFields:c}}function Se(e,t){const r=Ee(e,t),n=r.requiredFields.filter(e=>e!==M.TABLE);if(!n.length)throw new ae("Cannot infer @index declaration for query with no model fields.",{modelName:r.modelName,tableName:r.tableName,attribute:"",compositions:[],directions:[],expectedName:"",expectedDdoc:"",expectedFields:[M.TABLE],decorator:""},t);const o=n[0],s=n.slice(1),a=r.sortDirection||i.ASC,c=ee(r.tableName,o,s,a),u=[{[M.TABLE]:a},{[o]:a},...s.map(e=>({[e]:a}))],l=["@index({",s.length?` compositions: ${JSON.stringify(s)},`:void 0," directions: "+JSON.stringify([a]),"})",o+"!: <type>;"].filter(Boolean).join("\n");return{attribute:o,compositions:s,directions:[a],name:c,ddoc:c,fields:u,decorator:l}}function Ne(e,t,r,n={}){if(!e||t.use_index)return;if(!1===n.forceNamedIndexes&&!n.requireIndex)return;const i=ve(e,t,{preserveDefaultQuery:n.preserveDefaultQuery??!0,requireSortCoverage:n.requireSortCoverage??!1});if(i)return t.use_index=i.use_index,void r?.debug?.(`Attached Mango use_index=${JSON.stringify(i.use_index)} from ${i.candidate.source} metadata`);if(!n.requireIndex)return;const o=Se(e,t);throw new ae(["No generated CouchDB index can satisfy this Mango query.\n","Model: "+e.name,"Table: "+Oe(e),"\nTo allow this query, declare the following index on the model attribute:\n",o.decorator,"\nThen regenerate/deploy indexes.\n\nExpected generated index:"," ddoc: "+o.ddoc," name: "+o.name," fields: "+JSON.stringify(o.fields)].join("\n"),{modelName:e.name,tableName:Oe(e),attribute:o.attribute,compositions:o.compositions,directions:o.directions,expectedName:o.name,expectedDdoc:o.ddoc,expectedFields:o.fields,decorator:o.decorator},t)}function Oe(e){return $.tableName(e)}function xe(e,t,r,n={}){Ne(e,t,r,{preserveDefaultQuery:!0,requireSortCoverage:n.requireSortCoverage??!0,requireIndex:!0,forceNamedIndexes:!0})}function Te(e,t,r="selector"){if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach((e,n)=>Te(e,t,`${r}[${n}]`));else for(const[n,i]of Object.entries(e))le.has(n)&&t?.warn?.(`Mango query contains scan-prone operator ${n} at ${r}. This may bypass or weaken index usage and can produce slow queries.`),Te(i,t,`${r}.${n}`)}function De(e,t,r){if(!e.sort?.length)return;if(pe(e).includes(t))return;const n=r||he(e)||i.ASC;e.sort=[...e.sort,{[t]:n}]}function $e(e){e.execution_stats=!0}function je(e){if(!e)return"\0";const t=Array.from(e);for(let e=t.length-1;e>=0;e-=1){const r=t[e].codePointAt(0);if(void 0!==r&&1114111>r)return t[e]=String.fromCodePoint(r+1),t.slice(0,e+1).join("")}return e+"\0"}class Ce extends f{constructor(e,t){super(e,t),this.attributeTypeCache=new Map}toColumnName(e){return e===M.TABLE||e===M.SEQUENCE?e:$.columnName(this.fromSelector,e)}build(){const e=this.log.for(this.build);this.manualAggregation=void 0;const t=this.buildAggregateInfo();if(t){if(!this.shouldUseManualAggregation())return this.createAggregateQuery(t);this.manualAggregation=t}const r={};r[M.TABLE]={},r[M.TABLE]=$.tableName(this.fromSelector);const n={selector:r};if(this.selectSelector&&(n.fields=this.selectSelector.map(e=>this.toColumnName(e))),this.whereCondition){const t=this.parseCondition(o.and(this.whereCondition,o.attribute(M.TABLE).eq(n.selector[M.TABLE]))).selector,r=Object.keys(t);if(1===r.length&&-1!==Object.values(P).indexOf(r[0]))switch(r[0]){case P.AND:t[P.AND]=[...Object.values(t[P.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===P.AND?e.push(...t[n]):e.push(t),e},[])],n.selector=t;break;case P.OR:{const e={};e[P.AND]=[t,...Object.entries(n.selector).map(([e,t])=>{const r={};return r[e]=t,r})],n.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach(([t,r])=>{n.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${n.selector[t]} by ${r}`),n.selector[t]=r})}if(this.orderBySelectors?.length){n.sort=n.sort||[],n.selector=n.selector||{};for(const[e,t]of this.orderBySelectors){const r=this.toColumnName(e),i={};i[r]=t,n.sort.push(i),n.selector[r]||(n.selector[r]={},n.selector[r].$gt=null)}}const i=!!this.manualAggregation;return this.limitSelector?n.limit=this.limitSelector:i||(e.warn("No limit selector defined. Using default couchdb limit of 250"),n.limit=250),this.offsetSelector&&(n.skip=this.offsetSelector),this.attachDefaultQueryIndex(n),(this.overrides?.forceNamedIndexes??!0)&&Ne(this.fromSelector,n,e,{preserveDefaultQuery:!0,requireSortCoverage:!1,forceNamedIndexes:!0}),Te(n.selector,e),n}attachDefaultQueryIndex(e){if(!this.fromSelector||e.use_index)return;const t=$.tableName(this.fromSelector);let r=[];try{r=$.defaultQueryAttributes(this.fromSelector)}catch{r=[]}if(!r.length)return;const n=this.collectStartsWithRangeAttrs(e.selector||{}),i=r.filter(e=>n.has(e));if(!i.length)return;const o=(Array.isArray(e.sort)?e.sort:[]).map(e=>Object.entries(e||{})[0]).find(e=>e&&i.includes(e[0])),s=Z([t,o?.[0]||i[0],"defaultQuery"],o?.[1]||void 0);e.use_index=s}collectStartsWithRangeAttrs(e){const t=new Set,r=e=>{e&&"object"==typeof e&&(Array.isArray(e)?e.forEach(e=>r(e)):Object.entries(e).forEach(([e,n])=>{if(e!==P.AND&&e!==P.OR&&n&&"object"==typeof n&&!Array.isArray(n)){const r=Object.prototype.hasOwnProperty.call(n,"$gte"),i=Object.prototype.hasOwnProperty.call(n,"$lt");r&&i&&t.add(e)}r(n)}))};return r(e),t}processRecord(t,r){const n=$.pk(this.fromSelector),i=e.get(this.fromSelector,e.key(O.ID,n))?.type;if(t[M.ID]){const[,...e]=t[M.ID].split(M.SEPARATOR),r=e.join("_");t[n]=l.parseValue(i,r)}return this.adapter.revert(t,this.fromSelector,t[n],void 0,r)}async raw(e,...t){const{ctx:r}=this.logCtx(t,this.raw),n=e?.aggregateInfo;if(e?.aggregate&&n)return this.executeAggregate(n,r);const i=this.scopeToTable(e),o=await this.adapter.raw(i,!0,r);if(this.manualAggregation){const e=o.map(e=>this.processRecord(e,r)),t=this.executeManualAggregation(e,this.manualAggregation,r);return this.manualAggregation=void 0,t}if(!this.selectSelector&&this.groupBySelectors?.length){const e=o.map(e=>this.processRecord(e,r));return this.groupSelectResults(e)}if(!this.selectSelector)return o;const s=e=>this.processRecord(e,r);if(Array.isArray(o)){const e=o.map(s);return await this.applyAfterHandlersToResult(e,r)}const a=s(o);return await this.applyAfterHandlersToResult(a,r)}scopeToTable(e){if(!this.fromSelector)return e;const t=$.tableName(this.fromSelector),r=e&&"object"==typeof e?e:{},n=Object.assign({},r.selector||{});return n[M.TABLE]=t,Object.assign({},r,{selector:n})}buildAggregateInfo(){if(this.fromSelector){if(this.avgSelector){const e=this.avgSelector+"",t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);const r=this.createAggregateDescriptor("count",e);if(!r)throw this.missingDecorator("count",e);return{kind:"avg",attribute:e,sumDescriptor:t.descriptor,countDescriptor:r.descriptor}}if(void 0!==this.countDistinctSelector){const e=this.resolveSelectorAttribute(this.countDistinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t.countDistinct=!0,t}if(void 0!==this.countSelector){const e=this.resolveSelectorAttribute(this.countSelector),t=this.createAggregateDescriptor("count",e);if(!t)throw this.missingDecorator("count",e);return t}if(this.maxSelector){const e=this.resolveSelectorAttribute(this.maxSelector),t=this.createAggregateDescriptor("max",e);if(!t)throw this.missingDecorator("max",e);return t}if(this.minSelector){const e=this.resolveSelectorAttribute(this.minSelector),t=this.createAggregateDescriptor("min",e);if(!t)throw this.missingDecorator("min",e);return t}if(this.sumSelector){const e=this.resolveSelectorAttribute(this.sumSelector),t=this.createAggregateDescriptor("sum",e);if(!t)throw this.missingDecorator("sum",e);return t}if(this.distinctSelector){const e=this.resolveSelectorAttribute(this.distinctSelector),t=this.createAggregateDescriptor("distinct",e);if(!t)throw this.missingDecorator("distinct",e);return t}}}createAggregateDescriptor(e,t){if(!this.fromSelector)return;const r=W(this.fromSelector,e,t);if(!r.length)return;const n=r[0],i=$.tableName(this.fromSelector),o=G(i,n.attribute,e,n),s=n.ddoc||z(i,o),a={reduce:void 0!==n.reduce||!n.returnDocs};return"distinct"!==e&&"groupBy"!==e||(a.group=!0),{kind:e,meta:n,descriptor:{ddoc:s,view:o,options:a}}}createAggregateQuery(e){return{selector:{},aggregate:!0,aggregateInfo:e}}shouldUseManualAggregation(){return!!this.whereCondition}async executeAggregate(e,t){if(!this.isViewAggregate(e))return this.handleAverage(e,t);const r=this.getCouchAdapter(),n=e,i=await r.view(n.descriptor.ddoc,n.descriptor.view,n.descriptor.options,t);return this.processViewResponse(e,i)}async handleAverage(e,t){if("avg"!==e.kind)throw new d("Average descriptor is not valid");const[r,n]=[e.sumDescriptor,e.countDescriptor],i=this.getCouchAdapter(),[o,s]=await Promise.all([i.view(r.ddoc,r.view,r.options,t),i.view(n.ddoc,n.view,n.options,t)]),a=o.rows?.[0]?.value??0,c=s.rows?.[0]?.value??0;return c?a/c:0}executeManualAggregation(e,t,r){if(!this.fromSelector)throw new d("Manual aggregation requires a target model");if("avg"===t.kind)return this.computeAverage(e,t.attribute);if("groupBy"===t.kind)return this.computeGroupBy(e,t.meta.attribute);const n=t.meta.attribute;switch(t.kind){case"count":return t.countDistinct?this.computeDistinctCount(e,n):this.computeCount(e,n);case"distinct":return t.countDistinct?this.computeDistinctCount(e,n):this.computeDistinctValues(e,n);case"sum":return this.computeSum(e,n);case"min":return this.computeMinMax(e,n,"min");case"max":return this.computeMinMax(e,n,"max");default:throw new d("Unsupported manual aggregation "+t.kind)}}computeCount(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).length:e.length}computeDistinctCount(e,t){const r=t?this.collectValues(e,t).filter(e=>null!=e):e,n=new Set;return r.forEach(e=>n.add(JSON.stringify(e))),n.size}computeDistinctValues(e,t){if(!t)return[];const r=this.collectValues(e,t),n=new Set,i=[];return r.forEach(e=>{const t=JSON.stringify(e);n.has(t)||(n.add(t),i.push(e))}),i}computeSum(e,t){return t?this.collectValues(e,t).filter(e=>null!=e).reduce((e,r)=>e+this.toNumericValue(r,t,"SUM operation"),0):e.length}computeAverage(e,t){if(!t)return 0;const r=this.collectValues(e,t).filter(e=>null!=e);return r.length?r.reduce((e,r)=>e+this.toNumericValue(r,t,"AVG operation"),0)/r.length:0}computeMinMax(e,t,r){if(!t)return null;const n=this.collectValues(e,t).filter(e=>null!=e);let i=null,o=null;for(const e of n){const t=this.normalizeComparable(e);null!==t&&(null!==o?("min"===r&&o>t||"max"===r&&t>o)&&(o=t,i=e):(o=t,i=e))}return i}computeGroupBy(e,t){const r={},n=this.collectValues(e,t);return e.forEach((e,t)=>{const i=this.groupKey(n[t]);r[i]||(r[i]=[]),r[i].push(e)}),r}groupSelectResults(e){if(!this.groupBySelectors?.length)return{};const t=this.resolveSelectorAttribute(this.groupBySelectors[0]);if(!t)return{};const r={};return e.forEach(e=>{const n=this.groupKey(this.convertValueByAttribute(t,e[t]));r[n]||(r[n]=[]),r[n].push(e)}),r}collectValues(e,t){return e.map(e=>{if(e&&"object"==typeof e)return this.convertValueByAttribute(t,e[t])})}convertValueByAttribute(e,t){if(!this.fromSelector)return t;if("date"===this.getAttributeType(e)){if(t instanceof Date)return t;const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}if("string"==typeof t&&e.toLowerCase().includes("date")){const e=new Date(t);if(!Number.isNaN(e.getTime()))return e}return t}getAttributeType(t){if(!t||!this.fromSelector)return;if(this.attributeTypeCache.has(t))return this.attributeTypeCache.get(t);const r=e.type(this.fromSelector,t)??e.getPropDesignTypes?.(this.fromSelector,t)?.designType,n=this.normalizeMetaType(r);return this.attributeTypeCache.set(t,n),n}normalizeMetaType(e){if(e)return"string"==typeof e?e.toLowerCase():"function"==typeof e&&e.name?e.name.toLowerCase():void 0}normalizeComparable(e){return"number"==typeof e?e:"bigint"==typeof e?Number(e):e instanceof Date?e.getTime():"string"!=typeof e||isNaN(Number(e))?null:Number(e)}groupKey(e){if(void 0===e)return"undefined";if(null===e)return"null";if("symbol"==typeof e)return e.toString();if("object"==typeof e)try{return JSON.stringify(e)}catch{return e+""}return e+""}toNumericValue(e,t,r){if("number"==typeof e)return e;if("bigint"==typeof e)return Number(e);if(e instanceof Date)return e.getTime();if("string"==typeof e&&!isNaN(Number(e)))return Number(e);throw new d(`${r} on "${t}" requires numeric values, but got ${typeof e}`)}convertAggregateValue(e,t){return e?this.convertValueByAttribute(e,t):t}resolveSelectorAttribute(e){if(null!=e)return e+""}missingDecorator(e,t){const r=this.decoratorForKind(e),n=this.fromSelector?$.tableName(this.fromSelector):"<unknown table>";return new g(`${r} decorator is required for CouchDB ${e} aggregation${t?` on "${t}"`:""} on table "${n}".`)}decoratorForKind(e){return{count:"@count",sum:"@sum",min:"@min",max:"@max",distinct:"@distinct",groupBy:"@groupBy",view:"@view",avg:"@avg"}[e]||"@"+e}processViewResponse(e,t){if("avg"===e.kind)throw new d("Average results should be handled before processing rows");const r=t.rows||[],n=e,i=n.meta;return n.countDistinct?r.length||0:"distinct"===n.kind||"groupBy"===n.kind?r.map(e=>this.convertAggregateValue(n.meta.attribute,e.key??e.value)):i.returnDocs?r.map(e=>e.value??e.doc??e):r.length?this.convertAggregateValue(n.meta.attribute,r[0].value??r[0].key??null):"count"===n.kind?0:null}isViewAggregate(e){return"avg"!==e.kind}getCouchAdapter(){return this.adapter}parseCondition(e){const{attr1:t,operator:r,comparison:i}=e;if(r===n.STARTS_WITH){if("string"!=typeof t)throw new d("STARTS_WITH requires an attribute name");if("string"!=typeof i)throw new d("STARTS_WITH requires a string comparison");const e={start:o=i,end:je(o)};return{selector:{[this.toColumnName(t)]:{$gte:e.start,$lt:e.end}}}}var o,a;if(r===n.ENDS_WITH){if("string"!=typeof t)throw new d("ENDS_WITH requires an attribute name");if("string"!=typeof i)throw new d("ENDS_WITH requires a string comparison");return{selector:{[this.toColumnName(t)]:{$regex:(a=i,a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")}}}}if(r===n.BETWEEN){const e=this.toColumnName(t);if(!Array.isArray(i)||2!==i.length)throw new d("BETWEEN operator requires [min, max] comparison");const[r,o]=i,s={};return s[e]={},s[e][ue(n.BIGGER_EQ)]=r,s[e][ue(n.SMALLER_EQ)]=o,{selector:s}}let c={};if(-1===[s.AND,s.OR,n.NOT].indexOf(r)){const e=this.toColumnName(t);c[e]={},c[e][ue(r)]=i}else if(r===n.NOT)c=this.parseCondition(t).selector,c[ue(n.NOT)]={},c[ue(n.NOT)][this.toColumnName(t.attr1)]=i;else{const e=this.parseCondition(t).selector,n=this.parseCondition(i).selector;c=((e,t,r)=>{const n={selector:{}};return n.selector[e]=[t,r],n})(ue(r),e,n).selector}return{selector:c}}}class Be extends p{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(e){return new Ce(this,e)}Paginator(e,t,r){return new ce(this,e,t,r)}async initialize(){const e=p.models(this.flavour);return this.index(...e)}repository(){return oe}assignMetadata(e,t){return t?(re(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach((e,r)=>(re(e,t[r]),e)),e}prepare(e,...t){const{log:n}=this.logCtx(t,this.prepare),i=e.segregate(),o=Object.entries(i.model).reduce((t,[r,n])=>{if(void 0===n)return t;const i=$.columnName(e.constructor,r);if(this.isReserved(i))throw new b(`Property name ${i} is reserved`);return n=n instanceof Date?new Date(n):n,t[i]=n,t},{});return e[r.METADATA]&&(n.silly("Passing along persistence metadata for "+e[r.METADATA]),Object.defineProperty(o,r.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:e[r.METADATA]})),{record:o,id:e[$.pk(e.constructor)],transient:i.transient}}createPrefix(e,t,r,...n){const{ctxArgs:i}=this.logCtx(n,this.createPrefix),o=$.tableName(e),s={};return Object.assign(s,r),s[M.TABLE]=o,s[M.ID]=this.generateId(o,t),[e,t,s,...i]}createAllPrefix(e,t,r,...n){const i=$.tableName(e);if(t.length!==r.length)throw new b("Ids and models must have the same length");const{ctxArgs:o}=this.logCtx(n,this.createAllPrefix),s=t.map((e,t)=>{const n={};return Object.assign(n,r[t]),n[M.TABLE]=i,n[M.ID]=this.generateId(i,e),n});return[e,t,s,...o]}updatePrefix(e,t,n,...i){const o=$.tableName(e),{ctxArgs:s}=this.logCtx(i,this.updatePrefix),a={},c=n[r.METADATA];if(!c)throw new b("No revision number found for record with id "+t);return Object.assign(a,n),a[M.TABLE]=o,a[M.ID]=this.generateId(o,t),a[M.REV]=c,[e,t,a,...s]}updateAllPrefix(e,t,n,...i){const o=$.tableName(e);if(t.length!==n.length)throw new b("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(i,this.updateAllPrefix),a=t.map((e,t)=>{const i={},s=n[t][r.METADATA];if(!s)throw new b("No revision number found for record with id "+e);return Object.assign(i,n[t]),i[M.TABLE]=o,i[M.ID]=this.generateId(o,e),i[M.REV]=s,i});return[e,t,a,...s]}generateId(e,t){const r=M.SEPARATOR;return"string"==typeof t&&t.startsWith(`${e}${r}`)&&t.split(r).length>=2?t:`${e}${r}${t+""}`}parseError(e,t){return Be.parseError(e,t)}isReserved(e){return!!e.match(k)||e===M.TABLE||e===M.SEQUENCE}static parseError(e,t){if(e instanceof N)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 D(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 D(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new se(e):new b(e);default:return r.toString().match(/ECONNREFUSED/g)?new h(e):new b(e)}}static setMetadata(e,t){re(e,t)}static getMetadata(e){return ne(e)}static removeMetadata(e){ie(e)}}function ke(e,r){let i={};return Array.isArray(e)?i.compositions=e:"string"==typeof e?i.name=e:e&&(i=e),"string"==typeof r?i.name=r:r&&(i=Object.assign({},i,r)),void 0===i.returnDocs&&(i.returnDocs=!0),t.for(n.GROUP_BY).define({decorator:e=>m(n.GROUP_BY,"groupBy",e),args:[i]}).apply()}function Me(e,r){let i={};return e instanceof o?i.condition=e:"object"==typeof e&&e?i=e:void 0!==e&&(i.value=e),r&&(i=Object.assign({},i,r)),t.for(n.COUNT).define({decorator:e=>m(n.COUNT,"count",e),args:[i]}).apply()}function Ie(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.SUM).define({decorator:e=>m(n.SUM,"sum",e),args:[i]}).apply()}function Le(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.MAX).define({decorator:e=>m(n.MAX,"max",e),args:[i]}).apply()}function Pe(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.MIN).define({decorator:e=>m(n.MIN,"min",e),args:[i]}).apply()}function Ve(e,r){let i={};return e instanceof o?i.condition=e:e&&(i=e),r&&(i=Object.assign({},i,r)),t.for(n.DISTINCT).define({decorator:e=>m(n.DISTINCT,"distinct",e),args:[i]}).apply()}j([B(),C("design:type",Function),C("design:paramtypes",[Object]),C("design:returntype",Ce)],Be.prototype,"Statement",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,String]),C("design:returntype",Object)],Be.prototype,"assignMetadata",null),j([B(),C("design:type",Function),C("design:paramtypes",[Array,Array]),C("design:returntype",Array)],Be.prototype,"assignMultipleMetadata",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Object,Object,Object]),C("design:returntype",Array)],Be.prototype,"createPrefix",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Array,Array,Object]),C("design:returntype",void 0)],Be.prototype,"createAllPrefix",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Object,Object,Object]),C("design:returntype",void 0)],Be.prototype,"updatePrefix",null),j([B(),C("design:type",Function),C("design:paramtypes",[Object,Array,Array,Object]),C("design:returntype",void 0)],Be.prototype,"updateAllPrefix",null);const Re="##VERSION##",_e="##COMMIT##",Ue="##FULL_VERSION##",qe="##PACKAGE##";e.registerLibrary(qe,Re);export{_e as COMMIT,Be as CouchDBAdapter,V as CouchDBConst,P as CouchDBGroupOperator,M as CouchDBKeys,L as CouchDBOperator,ce as CouchDBPaginator,I as CouchDBQueryLimit,oe as CouchDBRepository,Ce as CouchDBStatement,Ue as FULL_VERSION,se as IndexError,ae as IndexPlanningError,qe as PACKAGE_NAME,Re as VERSION,Ne as attachGeneratedUseIndex,be as buildGeneratedIndexCandidates,X as collectViewMetadata,Me as count,Ve as distinct,$e as enableMangoExecutionStats,De as ensureDeterministicSort,we as findGeneratedIndexCandidateByName,W as findViewMetadata,z as generateDesignDocName,q as generateIndexDoc,Z as generateIndexName,te as generateIndexes,ee as generateModelIndexName,K as generateViewIndexes,G as generateViewName,H as generateViews,me as getEqualitySelectorFields,ne as getMetadata,ye as getRangeSelectorFields,Ee as getRequiredMangoIndexShape,he as getSortDirection,pe as getSortFields,ke as groupBy,Le as max,Pe as min,ge as normalizeSortField,R as reAuth,ie as removeMetadata,xe as requireGeneratedUseIndex,k as reservedAttributes,ve as resolveGeneratedIndexForQuery,Se as reverseRequiredShapeToIndexDeclaration,re as setMetadata,Ie as sum,U as testReservedAttributes,ue as translateOperators,Y as viewIndexDefinition,Te as warnScanProneMangoOperators,_ as wrapDocumentScope};
2
2
  //# sourceMappingURL=for-couchdb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/utils.ts","../src/views/generator.ts","../src/indexes/generator.ts","../src/metadata.ts","../src/repository.ts","../src/errors/IndexError.ts","../src/errors/IndexPlanningError.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/planner.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,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","couchUser","couchPassword","auth","wrapDocumentScope","dbName","db","use","forEach","k","original","InternalError","Object","defineProperty","enumerable","configurable","value","args","call","writable","testReservedAttributes","attr","match","generateIndexDoc","attribute","tableName","compositions","order","separator","DefaultSeparator","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","PersistenceKeys","push","join","generateIndexName","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","generateViewName","kind","meta","replace","generateDesignDocName","viewName","findViewMetadata","model","view","groupBy","GROUP_BY","count","COUNT","sum","SUM","max","MAX","min","MIN","distinct","DISTINCT","Metadata","get","entries","flatMap","values","entry","filter","collectViewMetadata","generateViews","models","viewDocs","viewKeys","m","Model","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","n","generateModelIndexName","fieldKey","generateIndexes","type","modelTableName","defaultQueryAttrs","defaultQueryAttributes","err","baseName","defaultFilter","$eq","partial_filter_selector","sortedName","ind","metadataEntries","metadataValue","candidate","fieldKeys","tableFilter","generate","sort","suffix","baseFields","sortField","Set","dir","String","toLowerCase","setMetadata","metadata","METADATA","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","CouchDBRepository","Repository","constructor","adapter","force","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","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","IndexPlanningError","message","suggestion","query","CouchDBPaginator","Paginator","size","clazz","_bookmarks","Map","isValidBookmark","prepare","rawStatement","assign","limit","skip","page","bookmark","isPreparedStatement","pagePrepared","validatePage","statement","explicitBookmark","PagingError","rawResult","raw","docs","nextBookmark","warning","warn","execution_stats","debug","DBKeys","pageResults","d","revert","Sequence","parseValue","_bookmark","_currentPage","set","_knownLastPage","_totalPages","_recordCount","translateOperators","operators","el","find","QueryError","SCAN_PRONE_OPERATORS","isPlainObject","selectorContainsOperator","node","some","child","normalizeSortField","getSortFields","Boolean","getSortDirection","getEqualitySelectorFields","selector","visit","prototype","hasOwnProperty","add","getRangeSelectorFields","collectGeneratedIndexEntries","candidates","tableIndexName","modelIndexes","validDirections","buildGeneratedIndexCandidates","findGeneratedIndexCandidateByName","expectedName","resolveGeneratedIndexForQuery","options","use_index","preserveDefaultQuery","equalityFields","rangeFields","sortFields","sortDirection","scored","includes","candidateFields","coversAllSort","every","coversSomeSort","coversAllRange","coversSomeRange","requireSortCoverage","equalityCoverage","has","rangeCoverage","sortCoverage","score","a","b","best","getRequiredMangoIndexShape","modelName","requiredFields","reverseRequiredShapeToIndexDeclaration","shape","nonTableFields","expectedDdoc","expectedFields","decorator","attachGeneratedUseIndex","forceNamedIndexes","requireIndex","reversed","shapeTableName","requireGeneratedUseIndex","warnScanProneMangoOperators","path","ensureDeterministicSort","tieBreaker","effectiveDirection","enableMangoExecutionStats","nextLexicographicString","chars","code","codePointAt","fromCodePoint","CouchDBStatement","Statement","overrides","attributeTypeCache","toColumnName","columnName","fromSelector","build","manualAggregation","aggregateInfo","buildAggregateInfo","shouldUseManualAggregation","createAggregateQuery","selectors","selectSelector","f","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","accum","val","Error","s","orderBySelectors","selectorKey","rec","hasManualAggregate","limitSelector","offsetSelector","attachDefaultQueryIndex","defaultAttrs","rangedAttrs","collectStartsWithRangeAttrs","matchedAttrs","sortEntry","indexName","attrs","walk","hasLower","hasUpper","processRecord","record","pkAttr","keyArgs","split","rawInput","aggregator","aggregate","executeAggregate","scoped","scopeToTable","processed","manualResult","executeManualAggregation","groupBySelectors","groupSelectResults","processor","mapped","applyAfterHandlersToResult","single","base","avgSelector","sumInfo","createAggregateDescriptor","missingDecorator","countInfo","sumDescriptor","countDescriptor","countDistinctSelector","resolveSelectorAttribute","info","countDistinct","countSelector","maxSelector","minSelector","sumSelector","distinctSelector","metas","group","isViewAggregate","handleAverage","couchAdapter","getCouchAdapter","viewInfo","response","processViewResponse","sumDesc","countDesc","sumResponse","countResponse","rows","computeAverage","computeGroupBy","computeDistinctCount","computeCount","computeDistinctValues","computeSum","computeMinMax","collectValues","seen","unique","acc","toNumericValue","currentValue","currentComparable","normalized","normalizeComparable","grouped","doc","groupKey","convertValueByAttribute","getAttributeType","parsed","Number","isNaN","getTime","metaType","getPropDesignTypes","designType","normalizeMetaType","context","convertAggregateValue","decoratorForKind","table","UnsupportedError","avg","row","STARTS_WITH","range","start","prefix","end","$gte","$lt","ENDS_WITH","$regex","BETWEEN","opBetween","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","isReserved","transient","createPrefix","generateId","createAllPrefix","records","sep","startsWith","parseError","reason","ConflictError","NotFoundError","statusCode","ConnectionError","compositionsOrOptions","nameOrOptions","opts","Decoration","define","o","applyViewDecorator","valueOrCondition","conditionOrOptions","__decorate","final","VERSION","COMMIT","FULL_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/IndexError.ts","../src/errors/IndexPlanningError.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/planner.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,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","couchUser","couchPassword","auth","wrapDocumentScope","dbName","db","use","forEach","k","original","Object","defineProperty","enumerable","configurable","value","args","call","writable","testReservedAttributes","attr","match","generateIndexDoc","attribute","tableName","compositions","order","separator","DefaultSeparator","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","PersistenceKeys","push","join","generateIndexName","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","generateViewName","kind","meta","replace","generateDesignDocName","viewName","findViewMetadata","model","view","groupBy","GROUP_BY","count","COUNT","sum","SUM","max","MAX","min","MIN","distinct","DISTINCT","Metadata","get","entries","flatMap","values","entry","filter","collectViewMetadata","generateViews","models","viewDocs","viewKeys","m","Model","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","n","generateModelIndexName","fieldKey","generateIndexes","type","modelTableName","defaultQueryAttrs","defaultQueryAttributes","err","baseName","defaultFilter","$eq","partial_filter_selector","sortedName","ind","metadataEntries","metadataValue","candidate","fieldKeys","tableFilter","generate","sort","suffix","baseFields","sortField","Set","dir","String","toLowerCase","setMetadata","metadata","METADATA","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","CouchDBRepository","Repository","constructor","adapter","force","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","IndexPlanningError","message","suggestion","query","CouchDBPaginator","Paginator","size","clazz","_bookmarks","Map","isValidBookmark","prepare","rawStatement","assign","limit","skip","page","bookmark","isPreparedStatement","pagePrepared","validatePage","statement","explicitBookmark","PagingError","rawResult","raw","docs","nextBookmark","warning","warn","execution_stats","debug","DBKeys","pageResults","d","revert","Sequence","parseValue","_bookmark","_currentPage","set","_knownLastPage","_totalPages","_recordCount","translateOperators","operators","el","find","QueryError","SCAN_PRONE_OPERATORS","isPlainObject","selectorContainsOperator","node","some","child","normalizeSortField","getSortFields","Boolean","getSortDirection","getEqualitySelectorFields","selector","visit","prototype","hasOwnProperty","add","getRangeSelectorFields","collectGeneratedIndexEntries","candidates","tableIndexName","modelIndexes","validDirections","buildGeneratedIndexCandidates","findGeneratedIndexCandidateByName","expectedName","resolveGeneratedIndexForQuery","options","use_index","preserveDefaultQuery","equalityFields","rangeFields","sortFields","sortDirection","scored","includes","candidateFields","coversAllSort","every","coversSomeSort","coversAllRange","coversSomeRange","requireSortCoverage","equalityCoverage","has","rangeCoverage","sortCoverage","score","a","b","best","getRequiredMangoIndexShape","modelName","requiredFields","reverseRequiredShapeToIndexDeclaration","shape","nonTableFields","expectedDdoc","expectedFields","decorator","attachGeneratedUseIndex","forceNamedIndexes","requireIndex","reversed","shapeTableName","requireGeneratedUseIndex","warnScanProneMangoOperators","path","ensureDeterministicSort","tieBreaker","effectiveDirection","enableMangoExecutionStats","nextLexicographicString","chars","code","codePointAt","fromCodePoint","CouchDBStatement","Statement","overrides","attributeTypeCache","toColumnName","columnName","fromSelector","build","manualAggregation","aggregateInfo","buildAggregateInfo","shouldUseManualAggregation","createAggregateQuery","selectors","selectSelector","f","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","accum","val","Error","s","orderBySelectors","selectorKey","rec","hasManualAggregate","limitSelector","offsetSelector","attachDefaultQueryIndex","defaultAttrs","rangedAttrs","collectStartsWithRangeAttrs","matchedAttrs","sortEntry","indexName","attrs","walk","hasLower","hasUpper","processRecord","record","pkAttr","keyArgs","split","rawInput","aggregator","aggregate","executeAggregate","scoped","scopeToTable","processed","manualResult","executeManualAggregation","groupBySelectors","groupSelectResults","processor","mapped","applyAfterHandlersToResult","single","base","avgSelector","sumInfo","createAggregateDescriptor","missingDecorator","countInfo","sumDescriptor","countDescriptor","countDistinctSelector","resolveSelectorAttribute","info","countDistinct","countSelector","maxSelector","minSelector","sumSelector","distinctSelector","metas","group","isViewAggregate","handleAverage","couchAdapter","getCouchAdapter","viewInfo","response","processViewResponse","sumDesc","countDesc","sumResponse","countResponse","rows","computeAverage","computeGroupBy","computeDistinctCount","computeCount","computeDistinctValues","computeSum","computeMinMax","collectValues","seen","unique","acc","toNumericValue","currentValue","currentComparable","normalized","normalizeComparable","grouped","doc","groupKey","convertValueByAttribute","getAttributeType","parsed","Number","isNaN","getTime","metaType","getPropDesignTypes","designType","normalizeMetaType","context","convertAggregateValue","decoratorForKind","table","UnsupportedError","avg","row","STARTS_WITH","range","start","prefix","end","$gte","$lt","ENDS_WITH","$regex","BETWEEN","opBetween","op","op1","op2","obj1","obj2","CouchDBAdapter","Adapter","scope","flavour","alias","prefixMethod","initialize","managedModels","repository","rev","assignMultipleMetadata","revs","segregate","mappedProp","isReserved","transient","createPrefix","generateId","createAllPrefix","records","sep","startsWith","parseError","reason","ConflictError","NotFoundError","statusCode","ConnectionError","compositionsOrOptions","nameOrOptions","opts","Decoration","define","o","applyViewDecorator","valueOrCondition","conditionOrOptions","__decorate","final","VERSION","COMMIT","FULL_VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
package/lib/cjs/index.cjs CHANGED
@@ -41,21 +41,21 @@ __exportStar(require("./views/index.cjs"), exports);
41
41
  * @summary The version string of the for-couchdb package
42
42
  * @const VERSION
43
43
  */
44
- exports.VERSION = "0.14.3";
44
+ exports.VERSION = "0.14.4";
45
45
  /**
46
46
  * @description Represents the current commit hash of the module build.
47
47
  * @summary Stores the current git commit hash for the package. The build replaces
48
48
  * the placeholder with the actual commit hash at publish time.
49
49
  * @const COMMIT
50
50
  */
51
- exports.COMMIT = "b95db61";
51
+ exports.COMMIT = "80b9ad6";
52
52
  /**
53
53
  * @description Represents the full version string of the module.
54
54
  * @summary Stores the semver version and commit hash for the package.
55
55
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
56
56
  * @const FULL_VERSION
57
57
  */
58
- exports.FULL_VERSION = "0.14.3-b95db61";
58
+ exports.FULL_VERSION = "0.14.4-80b9ad6";
59
59
  /**
60
60
  * @description Stores the current package name
61
61
  * @summary The version string of the for-couchdb package
package/lib/cjs/utils.cjs CHANGED
@@ -72,8 +72,13 @@ function wrapDocumentScope(con, dbName, couchUser, couchPassword) {
72
72
  "view",
73
73
  ].forEach((k) => {
74
74
  const original = db[k];
75
+ // Not every CouchDB client exposes the same surface (e.g. nano has no
76
+ // `put`, it uses `insert` for both create and update). Skip methods that
77
+ // are not available on the underlying scope instead of failing hard, so
78
+ // the wrapper stays usable across adapters while still re-authing every
79
+ // method that does exist.
75
80
  if (typeof original !== "function")
76
- throw new db_decorators_1.InternalError(`Could not find function to bind ${k}`);
81
+ return;
77
82
  Object.defineProperty(db, k, {
78
83
  enumerable: false,
79
84
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.cjs","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -20,21 +20,21 @@ export * from "./views/index.js";
20
20
  * @summary The version string of the for-couchdb package
21
21
  * @const VERSION
22
22
  */
23
- export const VERSION = "0.14.3";
23
+ export const VERSION = "0.14.4";
24
24
  /**
25
25
  * @description Represents the current commit hash of the module build.
26
26
  * @summary Stores the current git commit hash for the package. The build replaces
27
27
  * the placeholder with the actual commit hash at publish time.
28
28
  * @const COMMIT
29
29
  */
30
- export const COMMIT = "b95db61";
30
+ export const COMMIT = "80b9ad6";
31
31
  /**
32
32
  * @description Represents the full version string of the module.
33
33
  * @summary Stores the semver version and commit hash for the package.
34
34
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
35
35
  * @const FULL_VERSION
36
36
  */
37
- export const FULL_VERSION = "0.14.3-b95db61";
37
+ export const FULL_VERSION = "0.14.4-80b9ad6";
38
38
  /**
39
39
  * @description Stores the current package name
40
40
  * @summary The version string of the for-couchdb package
package/lib/esm/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { PersistenceKeys } from "@decaf-ts/core";
2
2
  import { CouchDBKeys } from "./constants.js";
3
- import { DefaultSeparator, InternalError } from "@decaf-ts/db-decorators";
3
+ import { DefaultSeparator } from "@decaf-ts/db-decorators";
4
4
  import { CouchDBOperator } from "./query/constants.js";
5
5
  /**
6
6
  * @description Re-authenticates a connection to CouchDB
@@ -65,8 +65,13 @@ export function wrapDocumentScope(con, dbName, couchUser, couchPassword) {
65
65
  "view",
66
66
  ].forEach((k) => {
67
67
  const original = db[k];
68
+ // Not every CouchDB client exposes the same surface (e.g. nano has no
69
+ // `put`, it uses `insert` for both create and update). Skip methods that
70
+ // are not available on the underlying scope instead of failing hard, so
71
+ // the wrapper stays usable across adapters while still re-authing every
72
+ // method that does exist.
68
73
  if (typeof original !== "function")
69
- throw new InternalError(`Could not find function to bind ${k}`);
74
+ return;
70
75
  Object.defineProperty(db, k, {
71
76
  enumerable: false,
72
77
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -19,21 +19,21 @@ export * from "./views/index.d.cts";
19
19
  * @summary The version string of the for-couchdb package
20
20
  * @const VERSION
21
21
  */
22
- export declare const VERSION = "0.14.3";
22
+ export declare const VERSION = "0.14.4";
23
23
  /**
24
24
  * @description Represents the current commit hash of the module build.
25
25
  * @summary Stores the current git commit hash for the package. The build replaces
26
26
  * the placeholder with the actual commit hash at publish time.
27
27
  * @const COMMIT
28
28
  */
29
- export declare const COMMIT = "b95db61";
29
+ export declare const COMMIT = "80b9ad6";
30
30
  /**
31
31
  * @description Represents the full version string of the module.
32
32
  * @summary Stores the semver version and commit hash for the package.
33
33
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
34
34
  * @const FULL_VERSION
35
35
  */
36
- export declare const FULL_VERSION = "0.14.3-b95db61";
36
+ export declare const FULL_VERSION = "0.14.4-80b9ad6";
37
37
  /**
38
38
  * @description Stores the current package name
39
39
  * @summary The version string of the for-couchdb package
@@ -19,21 +19,21 @@ export * from "./views/index.d.mts";
19
19
  * @summary The version string of the for-couchdb package
20
20
  * @const VERSION
21
21
  */
22
- export declare const VERSION = "0.14.3";
22
+ export declare const VERSION = "0.14.4";
23
23
  /**
24
24
  * @description Represents the current commit hash of the module build.
25
25
  * @summary Stores the current git commit hash for the package. The build replaces
26
26
  * the placeholder with the actual commit hash at publish time.
27
27
  * @const COMMIT
28
28
  */
29
- export declare const COMMIT = "b95db61";
29
+ export declare const COMMIT = "80b9ad6";
30
30
  /**
31
31
  * @description Represents the full version string of the module.
32
32
  * @summary Stores the semver version and commit hash for the package.
33
33
  * The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
34
34
  * @const FULL_VERSION
35
35
  */
36
- export declare const FULL_VERSION = "0.14.3-b95db61";
36
+ export declare const FULL_VERSION = "0.14.4-80b9ad6";
37
37
  /**
38
38
  * @description Stores the current package name
39
39
  * @summary The version string of the for-couchdb package
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-couchdb",
3
- "version": "0.14.4",
3
+ "version": "0.14.5",
4
4
  "description": "decaf-ts couchdb wrappers",
5
5
  "type": "module",
6
6
  "exports": {