@decaf-ts/for-couchdb 0.13.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/for-couchdb.cjs +1 -1
  2. package/dist/for-couchdb.cjs.map +1 -1
  3. package/dist/for-couchdb.js +1 -1
  4. package/dist/for-couchdb.js.map +1 -1
  5. package/lib/cjs/adapter.cjs +6 -12
  6. package/lib/cjs/adapter.cjs.map +1 -1
  7. package/lib/cjs/{errors.cjs → errors/IndexError.cjs} +2 -2
  8. package/lib/cjs/errors/IndexError.cjs.map +1 -0
  9. package/lib/cjs/errors/IndexPlanningError.cjs +15 -0
  10. package/lib/cjs/errors/IndexPlanningError.cjs.map +1 -0
  11. package/lib/cjs/errors/index.cjs +20 -0
  12. package/lib/cjs/errors/index.cjs.map +1 -0
  13. package/lib/cjs/index.cjs +22 -4
  14. package/lib/cjs/index.cjs.map +1 -1
  15. package/lib/cjs/indexes/generator.cjs +13 -9
  16. package/lib/cjs/indexes/generator.cjs.map +1 -1
  17. package/lib/cjs/query/Paginator.cjs +32 -16
  18. package/lib/cjs/query/Paginator.cjs.map +1 -1
  19. package/lib/cjs/query/Statement.cjs +13 -8
  20. package/lib/cjs/query/Statement.cjs.map +1 -1
  21. package/lib/cjs/query/index.cjs +1 -0
  22. package/lib/cjs/query/index.cjs.map +1 -1
  23. package/lib/cjs/query/planner.cjs +431 -0
  24. package/lib/cjs/query/planner.cjs.map +1 -0
  25. package/lib/esm/adapter.js +1 -7
  26. package/lib/esm/adapter.js.map +1 -1
  27. package/lib/esm/{errors.js → errors/IndexError.js} +1 -1
  28. package/lib/esm/errors/IndexError.js.map +1 -0
  29. package/lib/esm/errors/IndexPlanningError.js +10 -0
  30. package/lib/esm/errors/IndexPlanningError.js.map +1 -0
  31. package/lib/esm/errors/index.js +3 -0
  32. package/lib/esm/errors/index.js.map +1 -0
  33. package/lib/esm/index.js +17 -3
  34. package/lib/esm/index.js.map +1 -1
  35. package/lib/esm/indexes/generator.js +12 -10
  36. package/lib/esm/indexes/generator.js.map +1 -1
  37. package/lib/esm/query/Paginator.js +32 -16
  38. package/lib/esm/query/Paginator.js.map +1 -1
  39. package/lib/esm/query/Statement.js +14 -9
  40. package/lib/esm/query/Statement.js.map +1 -1
  41. package/lib/esm/query/index.js +1 -0
  42. package/lib/esm/query/index.js.map +1 -1
  43. package/lib/esm/query/planner.js +413 -0
  44. package/lib/esm/query/planner.js.map +1 -0
  45. package/lib/types/adapter.d.cts +3 -3
  46. package/lib/types/adapter.d.mts +3 -3
  47. package/lib/types/errors/IndexPlanningError.d.cts +17 -0
  48. package/lib/types/errors/IndexPlanningError.d.mts +17 -0
  49. package/lib/types/errors/index.d.cts +2 -0
  50. package/lib/types/errors/index.d.mts +2 -0
  51. package/lib/types/index.d.cts +17 -3
  52. package/lib/types/index.d.mts +17 -3
  53. package/lib/types/indexes/generator.d.cts +13 -0
  54. package/lib/types/indexes/generator.d.mts +13 -0
  55. package/lib/types/query/Paginator.d.cts +3 -0
  56. package/lib/types/query/Paginator.d.mts +3 -0
  57. package/lib/types/query/Statement.d.cts +3 -2
  58. package/lib/types/query/Statement.d.mts +3 -2
  59. package/lib/types/query/index.d.cts +1 -0
  60. package/lib/types/query/index.d.mts +1 -0
  61. package/lib/types/query/planner.d.cts +64 -0
  62. package/lib/types/query/planner.d.mts +64 -0
  63. package/lib/types/types.d.cts +8 -0
  64. package/lib/types/types.d.mts +8 -0
  65. package/package.json +2 -1
  66. package/lib/cjs/errors.cjs.map +0 -1
  67. package/lib/esm/errors.js.map +0 -1
  68. /package/lib/types/{errors.d.cts → errors/IndexError.d.cts} +0 -0
  69. /package/lib/types/{errors.d.mts → errors/IndexError.d.mts} +0 -0
@@ -1,2 +1,2 @@
1
- import{Metadata as t,Decoration as e}from"@decaf-ts/decoration";import{PersistenceKeys as r,Operator as i,OrderDirection as n,Condition as s,GroupOperator as o,Repository as a,Paginator as c,PagingError as u,Sequence as l,QueryError as d,Statement as g,UnsupportedError as f,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 O,DBKeys as N,prefixMethod as D,ConflictError as T,NotFoundError as x}from"@decaf-ts/db-decorators";import{Model as $}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as M}from"tslib";import{final as C}from"@decaf-ts/logging";const I=/^_.*$/g,P={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index",VIEW:"view"},B=250,V={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},k={AND:"$and",OR:"$or"},R={NULL:"null"};async function _(t,e,r){return t.auth(e,r)}function L(t,e,r,i){const n=t.use?t.use(e):t;return["insert","get","put","destroy","find","view"].forEach(e=>{const s=n[e];Object.defineProperty(n,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await _(t,r,i),s.call(n,...e))})}),Object.defineProperty(n,P.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),n}function U(t){return t.match(/^_.*$/g)}function G(t,e,i,n,s=y){const o=[r.INDEX,e,t];return i&&o.push(...i),n&&o.push(n),o.join(s)}function J(t,e,r,i,n=y){const s={};let o;if(s[P.TABLE]={},s[P.TABLE].$eq=e,i){const e={};e[t]=i;const n=(r||[]).map(t=>{const e={};return e[t]=i,e}),s={};s[P.TABLE]=i,o=[e,...n,s]}else o=[t,...r||[],P.TABLE];const a=G(t,e,r,i,n);return{index:{fields:o},ddoc:[a,P.DDOC].join(n),name:a}}function Q(t){return t instanceof Date?JSON.stringify(t.toISOString()):t instanceof RegExp?`new RegExp(${JSON.stringify(t.source)}, ${JSON.stringify(t.flags)})`:JSON.stringify(t)}function z(t,e){const{attr1:r,operator:n,comparison:a}=t;if(r instanceof s){const t=z(r,e);if(n===i.NOT)return`!(${t})`;const s=z(a,e);return n===o.AND?`(${t} && ${s})`:n===o.OR?`(${t} || ${s})`:t}const c=`${e}[${JSON.stringify(r)}]`;switch(n){case i.EQUAL:return`${c} === ${Q(a)}`;case i.DIFFERENT:return`${c} !== ${Q(a)}`;case i.BIGGER:return`${c} > ${Q(a)}`;case i.BIGGER_EQ:return`${c} >= ${Q(a)}`;case i.SMALLER:return`${c} < ${Q(a)}`;case i.SMALLER_EQ:return`${c} <= ${Q(a)}`;case i.IN:return`(${Q(a)}).indexOf(${c}) !== -1`;case i.REGEXP:return`${a instanceof RegExp?Q(a):`new RegExp(${JSON.stringify(a)})`}.test(${c})`;case i.NOT:return`!(${c} === ${Q(a)})`;default:return"true"}}function F(t,e,r){return t?Array.isArray(t)?t:[t]:e?[e,...r||[]]:r||[]}function q(t,e,r,i,n=y){return i.name?i.name:[t,e,r,"view"].join(n).replace(/\s+/g,"_")}function W(t,e,r=y){return[t,e,P.DDOC].join(r)}function X(e,r,n){const s={view:i.VIEW,groupBy:i.GROUP_BY,count:i.COUNT,sum:i.SUM,max:i.MAX,min:i.MIN,distinct:i.DISTINCT}[r];if(!s)return[];const o=t.get(e,s)||{};return Object.entries(o).flatMap(([t,e])=>e&&"object"==typeof e?Object.values(e).map(e=>({...e,kind:r,attribute:e.attribute||t})).filter(t=>!n||t.attribute===n):[])}function H(e,r,i){const n=t.get(e,r)||{};return Object.entries(n).flatMap(([t,e])=>e&&"object"==typeof e?Object.values(e).map(e=>{const r=e;return{...r,kind:i,attribute:r.attribute||t}}):[])}function K(t){const e={},r=[[P.VIEW,"view"],[i.GROUP_BY,"groupBy"],[i.COUNT,"count"],[i.SUM,"sum"],[i.MAX,"max"],[i.MIN,"min"],[i.DISTINCT,"distinct"]];return t.forEach(t=>{const i=$.tableName(t);r.flatMap(([e,r])=>H(t,e,r)).forEach(t=>{const r=t.attribute,n=q(i,r,t.kind,t),o="_design/"+(t.ddoc||W(i,n)),a=((t,e,r,i)=>{const n=((t,e,r)=>{if(r.map)return"function"==typeof r.map?r.map.toString():r.map;const i=[];if(i.push(`doc[${JSON.stringify(P.TABLE)}] === ${JSON.stringify(t)}`),r.condition)if(r.condition instanceof s)i.push(z(r.condition,"doc"));else if("string"==typeof r.condition)i.push(r.condition);else{const t=s.from(r.condition);i.push(z(t,"doc"))}"count"===r.kind&&void 0!==r.value&&i.push(`doc[${JSON.stringify(e)}] === ${Q(r.value)}`);const n=((t,e="doc")=>{if(!t)return;if("string"==typeof t)return t;const r=t.field||"roles",i=t.roles||[];if(!i.length)return t.expression;const n=`${e}[${JSON.stringify(r)}] || []`;return"all"===(t.mode||"any")?i.map(t=>`${n}.indexOf(${JSON.stringify(t)}) !== -1`).join(" && "):i.map(t=>`${n}.indexOf(${JSON.stringify(t)}) !== -1`).join(" || ")})(r.auth,"doc");n&&i.push(n);const o=i.length?i.join(" && "):"true",a=((t,e,r)=>{const i=F(t,e,r);return 1===i.length?`doc[${JSON.stringify(i[0])}]`:`[${i.map(t=>`doc[${JSON.stringify(t)}]`).join(", ")}]`})(r.key,e,r.compositions),c=((t,e)=>"doc"===t?"doc":t?Array.isArray(t)?`[${t.map(t=>`doc[${JSON.stringify(t)}]`).join(", ")}]`:"string"==typeof t?`doc[${JSON.stringify(t)}]`:Q(t):`doc[${JSON.stringify(e)}]`)(r.value??(r.returnDocs&&"sum"!==r.kind?"doc":void 0),e);return`function (doc) {\n if (!(${o})) return;\n emit(${a}, ${c});\n}`})(i,e,r),o=r.reduce?"function"==typeof r.reduce?r.reduce.toString():r.reduce:(t=>{switch(t){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}})(t);return{map:n,reduce:o}})(t.kind,r,t,i);e[o]||(e[o]={_id:o,language:"javascript",views:{}}),e[o].views[n]=a})}),Object.values(e)}function Y(t){const e={},r=[[P.VIEW,"view"],[i.GROUP_BY,"groupBy"],[i.COUNT,"count"],[i.SUM,"sum"],[i.MAX,"max"],[i.MIN,"min"],[i.DISTINCT,"distinct"]];return t.forEach(t=>{const i=$.tableName(t);r.flatMap(([e,r])=>H(t,e,r)).forEach(t=>{const r=F(t.key,t.attribute,t.compositions);if(!r.length)return;const s=r[0],o=r.slice(1),a=t.directions||[n.ASC,n.DSC],c=J(s,i,o);e[c.name||""]=c,a.forEach(t=>{const r=J(s,i,o,t);e[r.name||""]=r})})}),Object.values(e)}function Z(t){const e=F(t.key,t.attribute);return{attribute:e[0],compositions:e.slice(1).concat(t.compositions||[]),directions:t.directions}}function tt(t,e,r,i=y){return[...t.map(t=>t===P.TABLE?"table":t),...e?[e]:[],P.INDEX].join(i)}function et(t){const e=tt([P.TABLE]),i={};return i[e]={index:{fields:[P.TABLE]},name:e,ddoc:e,type:"json"},t.forEach(t=>{const e=$.tableName(t);let s=[];try{s=$.defaultQueryAttributes(t)}catch(t){s=[]}s.forEach(t=>{const r=tt([e,t,"defaultQuery"]),s={[P.TABLE]:{$eq:e}};i[r]={index:{fields:[P.TABLE,t]},name:r,ddoc:r,type:"json"},i[r].index.partial_filter_selector=s,[n.ASC,n.DSC].forEach(r=>{const n=tt([e,t,"defaultQuery"],r);i[n]={index:{fields:[{[P.TABLE]:r},{[t]:r}]},name:n,ddoc:n,type:"json"}})});const o=$.indexes(t);Object.entries(o).forEach(([t,s])=>{const o=[];Object.entries(s||{}).forEach(([,e])=>{if(!e)return;const r=e;void 0===r.directions&&void 0===r.compositions?"object"!=typeof e||Array.isArray(e)||Object.entries(e).forEach(([t,e])=>{e&&o.push([t,e])}):o.push([t,r])}),o.forEach(([t,s])=>{if(!s)return;let{directions:o,compositions:a}=s;const c=e;a=a||[];const u=[t,...a],l={[P.TABLE]:{$eq:c}};function d(e,n){const s=[c,t,...a,...n?[n]:[],r.INDEX].join(y),o=[P.TABLE,...u],d=e?[{[P.TABLE]:e},...u.map(t=>({[t]:e}))]:o;i[s]={index:{fields:d},name:s,ddoc:s,type:"json"},e||(i[s].index.partial_filter_selector=l)}d(),Array.from(new Set((o||[n.ASC]).map(t=>(t+"").toLowerCase()))).filter(t=>t===n.ASC||t===n.DSC).forEach(t=>{d(t,t)})})})}),Y(t).forEach(t=>{t.name&&(i[t.name]=t)}),Object.values(i)}function rt(t,e){Object.defineProperty(t,r.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:e})}function it(t){const e=Object.getOwnPropertyDescriptor(t,r.METADATA);return e?e.value:void 0}function nt(t){Object.getOwnPropertyDescriptor(t,r.METADATA)&&delete t[r.METADATA]}class st extends a{constructor(t,e,r=!1){super(t,e,r)}assignMetadata(t,e){const r=(t,e)=>{const r=it(e??t);return r&&rt(t,r),t};return Array.isArray(t)?t.map((t,i)=>{const n=Array.isArray(e)?e[i]:e;return r(t,n)}):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const{ctx:r,ctxArgs:i,log:n}=(await this.logCtx(e,A.UPDATE,!0)).for(this.updatePrefix),s=r.get("ignoreHandlers"),o=r.get("ignoreValidation");n.silly(`handlerSetting: ${s}, validationSetting: ${o}`);const a=t[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?it(c):void 0,r.get("mergeForUpdate")&&(t=$.merge(c,t,this.class))),s||await w(this,r,t,A.UPDATE,A.ON,c),!o){const e=r.get("ignoredValidationProperties")||[];n.silly("ignored validation properties: "+e);const i=await Promise.resolve(t.hasErrors(c,...e));if(i)throw new v(i.toString())}return u&&rt(t,u),[t,...i,c]}async updateAllPrefix(t,...e){const{ctx:r,ctxArgs:i,log:n}=(await this.logCtx(e,E.UPDATE_ALL,!0)).for(this.updateAllPrefix),s=r.get("ignoreHandlers"),o=r.get("ignoreValidation");n.silly(`handlerSetting: ${s}, ignoredValidation: ${o}`);const a=t.map(t=>{const e=t[this.pk];if(!e)throw new b("missing id on update operation");return e});let c;if(r.get("applyUpdateValidation")&&(c=await this.readAll(a,r),t=t.map((t,e)=>{r.get("mergeForUpdate")&&(t=$.merge(c[e],t,this.class));const i=it(c[e]);return i&&rt(t,i),t})),s||await Promise.all(t.map((t,e)=>w(this,r,t,A.UPDATE,A.ON,c?c[e]:void 0))),!o){const e=r.get("ignoredValidationProperties")||[];let i;n.silly("ignored validation properties: "+e),i=r.get("applyUpdateValidation")?await Promise.all(t.map((t,r)=>Promise.resolve(t.hasErrors(c[r],...e)))):await Promise.resolve(t.map(t=>t.hasErrors(...e)));const s=S(i);if(s)throw new v(s)}return[t,...i,c]}}class ot extends O{constructor(t){super(ot.name,t,404)}}class at extends c{constructor(t,e,r,i){super(t,e,r,i)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1,r,...i){const{log:n,ctxArgs:s,ctx:o}=this.adapter.logCtx([r,...i],this.page);if(this.isPreparedStatement())return await this.pagePrepared(e,...s);const a=Object.assign({},this.statement);if(this._recordCount&&this._totalPages)e=this.validatePage(e),a.skip=(e-1)*this.size;else{this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...a,limit:Number.MAX_SAFE_INTEGER},!0,...s)||[];if(this._recordCount=t.length,this._recordCount>0){const t=a?.limit||this.size;return this._totalPages=Math.ceil(this._recordCount/t),await this.page(e,...s)}}if(1!==e){if(!this._bookmark)throw new u("No bookmark. Did you start in the first page?");a.bookmark=this._bookmark}const c=await this.adapter.raw(a,!1,...s),{docs:d,bookmark:g,warning:f}=c;if(f&&n.warn(f),!this.clazz)throw new u("No statement target defined");const p=$.pk(this.clazz),h=t.get(this.clazz,t.key(N.ID,p))?.type,m=a.fields&&a.fields.length?d:d.map(t=>this.adapter.revert(t,this.clazz,l.parseValue(h,t[p]),void 0,o));return this._bookmark=g,this._currentPage=e,m}}function ct(t){for(const e of[V,k]){const r=Object.keys(e).find(e=>e===t);if(r)return e[r]}throw new d("Could not find adapter translation for operator "+t)}function ut(t){if(!t)return"\0";const e=Array.from(t);for(let t=e.length-1;t>=0;t-=1){const r=e[t].codePointAt(0);if(void 0!==r&&1114111>r)return e[t]=String.fromCodePoint(r+1),e.slice(0,t+1).join("")}return t+"\0"}class lt extends g{constructor(t,e){super(t,e),this.attributeTypeCache=new Map}build(){const t=this.log.for(this.build);this.manualAggregation=void 0;const e=this.buildAggregateInfo();if(e){if(!this.shouldUseManualAggregation())return this.createAggregateQuery(e);this.manualAggregation=e}const r={};r[P.TABLE]={},r[P.TABLE]=$.tableName(this.fromSelector);const i={selector:r};if(this.selectSelector&&(i.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(s.and(this.whereCondition,s.attribute(P.TABLE).eq(i.selector[P.TABLE]))).selector,r=Object.keys(e);if(1===r.length&&-1!==Object.values(k).indexOf(r[0]))switch(r[0]){case k.AND:e[k.AND]=[...Object.values(e[k.AND]).reduce((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const i=r[0];return i===k.AND?t.push(...e[i]):t.push(e),t},[])],i.selector=e;break;case k.OR:{const t={};t[k.AND]=[e,...Object.entries(i.selector).map(([t,e])=>{const r={};return r[t]=e,r})],i.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach(([e,r])=>{i.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${i.selector[e]} by ${r}`),i.selector[e]=r})}if(this.orderBySelectors?.length){i.sort=i.sort||[],i.selector=i.selector||{};for(const[t,e]of this.orderBySelectors){const r=t,n={};n[r]=e,i.sort.push(n),i.selector[r]||(i.selector[r]={},i.selector[r].$gt=null)}}const n=!!this.manualAggregation;return this.limitSelector?i.limit=this.limitSelector:n||(t.warn("No limit selector defined. Using default couchdb limit of 250"),i.limit=250),this.offsetSelector&&(i.skip=this.offsetSelector),this.attachDefaultQueryIndex(i),i}attachDefaultQueryIndex(t){if(!this.fromSelector||t.use_index)return;const e=$.tableName(this.fromSelector);let r=[];try{r=$.defaultQueryAttributes(this.fromSelector)}catch{r=[]}if(!r.length)return;const i=this.collectStartsWithRangeAttrs(t.selector||{}),n=r.filter(t=>i.has(t));if(!n.length)return;const s=(Array.isArray(t.sort)?t.sort:[]).map(t=>Object.entries(t||{})[0]).find(t=>t&&n.includes(t[0])),o=s?.[0]||n[0],a=s?.[1]||void 0,c=[e,o,"defaultQuery",...a?[(a+"").toLowerCase()]:[],P.INDEX].join(y);t.use_index=c}collectStartsWithRangeAttrs(t){const e=new Set,r=t=>{t&&"object"==typeof t&&(Array.isArray(t)?t.forEach(t=>r(t)):Object.entries(t).forEach(([t,i])=>{if(t!==k.AND&&t!==k.OR&&i&&"object"==typeof i&&!Array.isArray(i)){const r=Object.prototype.hasOwnProperty.call(i,"$gte"),n=Object.prototype.hasOwnProperty.call(i,"$lt");r&&n&&e.add(t)}r(i)}))};return r(t),e}processRecord(e,r){const i=$.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(N.ID,i))?.type;if(e[P.ID]){const[,...t]=e[P.ID].split(P.SEPARATOR),r=t.join("_");e[i]=l.parseValue(n,r)}return this.adapter.revert(e,this.fromSelector,e[i],void 0,r)}async raw(t,...e){const{ctx:r}=this.logCtx(e,this.raw),i=t?.aggregateInfo;if(t?.aggregate&&i)return this.executeAggregate(i,r);const n=await this.adapter.raw(t,!0,r),s=n.map(t=>this.processRecord(t,r));if(this.manualAggregation){const t=this.executeManualAggregation(s,this.manualAggregation,r);return this.manualAggregation=void 0,t}return!this.selectSelector&&this.groupBySelectors?.length?this.groupSelectResults(s):this.selectSelector?n:await this.applyAfterHandlersToResult(s,r)}buildAggregateInfo(){if(this.fromSelector){if(this.avgSelector){const t=this.avgSelector+"",e=this.createAggregateDescriptor("sum",t);if(!e)throw this.missingDecorator("sum",t);const r=this.createAggregateDescriptor("count",t);if(!r)throw this.missingDecorator("count",t);return{kind:"avg",attribute:t,sumDescriptor:e.descriptor,countDescriptor:r.descriptor}}if(void 0!==this.countDistinctSelector){const t=this.resolveSelectorAttribute(this.countDistinctSelector),e=this.createAggregateDescriptor("distinct",t);if(!e)throw this.missingDecorator("distinct",t);return e.countDistinct=!0,e}if(void 0!==this.countSelector){const t=this.resolveSelectorAttribute(this.countSelector),e=this.createAggregateDescriptor("count",t);if(!e)throw this.missingDecorator("count",t);return e}if(this.maxSelector){const t=this.resolveSelectorAttribute(this.maxSelector),e=this.createAggregateDescriptor("max",t);if(!e)throw this.missingDecorator("max",t);return e}if(this.minSelector){const t=this.resolveSelectorAttribute(this.minSelector),e=this.createAggregateDescriptor("min",t);if(!e)throw this.missingDecorator("min",t);return e}if(this.sumSelector){const t=this.resolveSelectorAttribute(this.sumSelector),e=this.createAggregateDescriptor("sum",t);if(!e)throw this.missingDecorator("sum",t);return e}if(this.distinctSelector){const t=this.resolveSelectorAttribute(this.distinctSelector),e=this.createAggregateDescriptor("distinct",t);if(!e)throw this.missingDecorator("distinct",t);return e}}}createAggregateDescriptor(t,e){if(!this.fromSelector)return;const r=X(this.fromSelector,t,e);if(!r.length)return;const i=r[0],n=$.tableName(this.fromSelector),s=q(n,i.attribute,t,i),o=i.ddoc||W(n,s),a={reduce:void 0!==i.reduce||!i.returnDocs};return"distinct"!==t&&"groupBy"!==t||(a.group=!0),{kind:t,meta:i,descriptor:{ddoc:o,view:s,options:a}}}createAggregateQuery(t){return{selector:{},aggregate:!0,aggregateInfo:t}}shouldUseManualAggregation(){return!!this.whereCondition}async executeAggregate(t,e){if(!this.isViewAggregate(t))return this.handleAverage(t,e);const r=this.getCouchAdapter(),i=t,n=await r.view(i.descriptor.ddoc,i.descriptor.view,i.descriptor.options,e);return this.processViewResponse(t,n)}async handleAverage(t,e){if("avg"!==t.kind)throw new d("Average descriptor is not valid");const[r,i]=[t.sumDescriptor,t.countDescriptor],n=this.getCouchAdapter(),[s,o]=await Promise.all([n.view(r.ddoc,r.view,r.options,e),n.view(i.ddoc,i.view,i.options,e)]),a=s.rows?.[0]?.value??0,c=o.rows?.[0]?.value??0;return c?a/c:0}executeManualAggregation(t,e,r){if(!this.fromSelector)throw new d("Manual aggregation requires a target model");if("avg"===e.kind)return this.computeAverage(t,e.attribute);if("groupBy"===e.kind)return this.computeGroupBy(t,e.meta.attribute);const i=e.meta.attribute;switch(e.kind){case"count":return e.countDistinct?this.computeDistinctCount(t,i):this.computeCount(t,i);case"distinct":return e.countDistinct?this.computeDistinctCount(t,i):this.computeDistinctValues(t,i);case"sum":return this.computeSum(t,i);case"min":return this.computeMinMax(t,i,"min");case"max":return this.computeMinMax(t,i,"max");default:throw new d("Unsupported manual aggregation "+e.kind)}}computeCount(t,e){return e?this.collectValues(t,e).filter(t=>null!=t).length:t.length}computeDistinctCount(t,e){const r=e?this.collectValues(t,e).filter(t=>null!=t):t,i=new Set;return r.forEach(t=>i.add(JSON.stringify(t))),i.size}computeDistinctValues(t,e){if(!e)return[];const r=this.collectValues(t,e),i=new Set,n=[];return r.forEach(t=>{const e=JSON.stringify(t);i.has(e)||(i.add(e),n.push(t))}),n}computeSum(t,e){return e?this.collectValues(t,e).filter(t=>null!=t).reduce((t,r)=>t+this.toNumericValue(r,e,"SUM operation"),0):t.length}computeAverage(t,e){if(!e)return 0;const r=this.collectValues(t,e).filter(t=>null!=t);return r.length?r.reduce((t,r)=>t+this.toNumericValue(r,e,"AVG operation"),0)/r.length:0}computeMinMax(t,e,r){if(!e)return null;const i=this.collectValues(t,e).filter(t=>null!=t);let n=null,s=null;for(const t of i){const e=this.normalizeComparable(t);null!==e&&(null!==s?("min"===r&&s>e||"max"===r&&e>s)&&(s=e,n=t):(s=e,n=t))}return n}computeGroupBy(t,e){const r={},i=this.collectValues(t,e);return t.forEach((t,e)=>{const n=this.groupKey(i[e]);r[n]||(r[n]=[]),r[n].push(t)}),r}groupSelectResults(t){if(!this.groupBySelectors?.length)return{};const e=this.resolveSelectorAttribute(this.groupBySelectors[0]);if(!e)return{};const r={};return t.forEach(t=>{const i=this.groupKey(this.convertValueByAttribute(e,t[e]));r[i]||(r[i]=[]),r[i].push(t)}),r}collectValues(t,e){return t.map(t=>{if(t&&"object"==typeof t)return this.convertValueByAttribute(e,t[e])})}convertValueByAttribute(t,e){if(!this.fromSelector)return e;if("date"===this.getAttributeType(t)){if(e instanceof Date)return e;const t=new Date(e);if(!Number.isNaN(t.getTime()))return t}if("string"==typeof e&&t.toLowerCase().includes("date")){const t=new Date(e);if(!Number.isNaN(t.getTime()))return t}return e}getAttributeType(e){if(!e||!this.fromSelector)return;if(this.attributeTypeCache.has(e))return this.attributeTypeCache.get(e);const r=t.type(this.fromSelector,e)??t.getPropDesignTypes?.(this.fromSelector,e)?.designType,i=this.normalizeMetaType(r);return this.attributeTypeCache.set(e,i),i}normalizeMetaType(t){if(t)return"string"==typeof t?t.toLowerCase():"function"==typeof t&&t.name?t.name.toLowerCase():void 0}normalizeComparable(t){return"number"==typeof t?t:"bigint"==typeof t?Number(t):t instanceof Date?t.getTime():"string"!=typeof t||isNaN(Number(t))?null:Number(t)}groupKey(t){if(void 0===t)return"undefined";if(null===t)return"null";if("symbol"==typeof t)return t.toString();if("object"==typeof t)try{return JSON.stringify(t)}catch{return t+""}return t+""}toNumericValue(t,e,r){if("number"==typeof t)return t;if("bigint"==typeof t)return Number(t);if(t instanceof Date)return t.getTime();if("string"==typeof t&&!isNaN(Number(t)))return Number(t);throw new d(`${r} on "${e}" requires numeric values, but got ${typeof t}`)}convertAggregateValue(t,e){return t?this.convertValueByAttribute(t,e):e}resolveSelectorAttribute(t){if(null!=t)return t+""}missingDecorator(t,e){const r=this.decoratorForKind(t),i=this.fromSelector?$.tableName(this.fromSelector):"<unknown table>";return new f(`${r} decorator is required for CouchDB ${t} aggregation${e?` on "${e}"`:""} on table "${i}".`)}decoratorForKind(t){return{count:"@count",sum:"@sum",min:"@min",max:"@max",distinct:"@distinct",groupBy:"@groupBy",view:"@view",avg:"@avg"}[t]||"@"+t}processViewResponse(t,e){if("avg"===t.kind)throw new d("Average results should be handled before processing rows");const r=e.rows||[],i=t,n=i.meta;return i.countDistinct?r.length||0:"distinct"===i.kind||"groupBy"===i.kind?r.map(t=>this.convertAggregateValue(i.meta.attribute,t.key??t.value)):n.returnDocs?r.map(t=>t.value??t.doc??t):r.length?this.convertAggregateValue(i.meta.attribute,r[0].value??r[0].key??null):"count"===i.kind?0:null}isViewAggregate(t){return"avg"!==t.kind}getCouchAdapter(){return this.adapter}parseCondition(t){const{attr1:e,operator:r,comparison:n}=t;if(r===i.STARTS_WITH){if("string"!=typeof e)throw new d("STARTS_WITH requires an attribute name");if("string"!=typeof n)throw new d("STARTS_WITH requires a string comparison");const t={start:s=n,end:ut(s)};return{selector:{[e]:{$gte:t.start,$lt:t.end}}}}var s,a;if(r===i.ENDS_WITH){if("string"!=typeof e)throw new d("ENDS_WITH requires an attribute name");if("string"!=typeof n)throw new d("ENDS_WITH requires a string comparison");return{selector:{[e]:{$regex:(a=n,a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")}}}}if(r===i.BETWEEN){const t=e;if(!Array.isArray(n)||2!==n.length)throw new d("BETWEEN operator requires [min, max] comparison");const[r,s]=n,o={};return o[t]={},o[t][ct(i.BIGGER_EQ)]=r,o[t][ct(i.SMALLER_EQ)]=s,{selector:o}}let c={};if(-1===[o.AND,o.OR,i.NOT].indexOf(r))c[e]={},c[e][ct(r)]=n;else if(r===i.NOT)c=this.parseCondition(e).selector,c[ct(i.NOT)]={},c[ct(i.NOT)][e.attr1]=n;else{const t=this.parseCondition(e).selector,i=this.parseCondition(n).selector;c=((t,e,r)=>{const i={selector:{}};return i.selector[t]=[e,r],i})(ct(r),t,i).selector}return{selector:c}}}class dt extends p{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach(t=>{const e=t.name;D(this,t,this[e+"Prefix"])})}Statement(t){return new lt(this,t)}Paginator(t,e,r){return new at(this,t,e,r)}async initialize(){const t=p.models(this.flavour);return this.index(...t)}repository(){return st}assignMetadata(t,e){return e?(rt(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach((t,r)=>(rt(t,e[r]),t)),t}prepare(t,...e){const{log:i}=this.logCtx(e,this.prepare),n=t.segregate(),s=Object.entries(n.model).reduce((e,[r,i])=>{if(void 0===i)return e;const n=$.columnName(t.constructor,r);if(this.isReserved(n))throw new b(`Property name ${n} is reserved`);return i=i instanceof Date?new Date(i):i,e[n]=i,e},{});return t[r.METADATA]&&(i.silly("Passing along persistence metadata for "+t[r.METADATA]),Object.defineProperty(s,r.METADATA,{enumerable:!1,writable:!0,configurable:!0,value:t[r.METADATA]})),{record:s,id:t[$.pk(t.constructor)],transient:n.transient}}createPrefix(t,e,r,...i){const{ctxArgs:n}=this.logCtx(i,this.createPrefix),s=$.tableName(t),o={};return o[P.TABLE]=s,o[P.ID]=this.generateId(s,e),Object.assign(o,r),[t,e,o,...n]}createAllPrefix(t,e,r,...i){const n=$.tableName(t);if(e.length!==r.length)throw new b("Ids and models must have the same length");const{ctxArgs:s}=this.logCtx(i,this.createAllPrefix),o=e.map((t,e)=>{const i={};return i[P.TABLE]=n,i[P.ID]=this.generateId(n,t),Object.assign(i,r[e]),i});return[t,e,o,...s]}updatePrefix(t,e,i,...n){const s=$.tableName(t),{ctxArgs:o}=this.logCtx(n,this.updatePrefix),a={};a[P.TABLE]=s,a[P.ID]=this.generateId(s,e);const c=i[r.METADATA];if(!c)throw new b("No revision number found for record with id "+e);return Object.assign(a,i),a[P.REV]=c,[t,e,a,...o]}updateAllPrefix(t,e,i,...n){const s=$.tableName(t);if(e.length!==i.length)throw new b("Ids and models must have the same length");const{ctxArgs:o}=this.logCtx(n,this.updateAllPrefix),a=e.map((t,e)=>{const n={};n[P.TABLE]=s,n[P.ID]=this.generateId(s,t);const o=i[e][r.METADATA];if(!o)throw new b("No revision number found for record with id "+t);return Object.assign(n,i[e]),n[P.REV]=o,n});return[t,e,a,...o]}generateId(t,e){const r=P.SEPARATOR;return"string"==typeof e&&e.startsWith(`${t}${r}`)&&e.split(r).length>=2?e:`${t}${r}${e+""}`}parseError(t,e){return dt.parseError(t,e)}isReserved(t){return!!t.match(I)}static parseError(t,e){if(t instanceof O)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new T(r);if(r.match(/missing|deleted/g))return new x(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new T(e);case"404":return new x(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new ot(t):new b(t);default:return r.toString().match(/ECONNREFUSED/g)?new h(t):new b(t)}}static setMetadata(t,e){rt(t,e)}static getMetadata(t){return it(t)}static removeMetadata(t){nt(t)}}function gt(t,r){let n={};return Array.isArray(t)?n.compositions=t:"string"==typeof t?n.name=t:t&&(n=t),"string"==typeof r?n.name=r:r&&(n=Object.assign({},n,r)),void 0===n.returnDocs&&(n.returnDocs=!0),e.for(i.GROUP_BY).define({decorator:t=>m(i.GROUP_BY,"groupBy",t),args:[n]}).apply()}function ft(t,r){let n={};return t instanceof s?n.condition=t:"object"==typeof t&&t?n=t:void 0!==t&&(n.value=t),r&&(n=Object.assign({},n,r)),e.for(i.COUNT).define({decorator:t=>m(i.COUNT,"count",t),args:[n]}).apply()}function pt(t,r){let n={};return t instanceof s?n.condition=t:t&&(n=t),r&&(n=Object.assign({},n,r)),e.for(i.SUM).define({decorator:t=>m(i.SUM,"sum",t),args:[n]}).apply()}function ht(t,r){let n={};return t instanceof s?n.condition=t:t&&(n=t),r&&(n=Object.assign({},n,r)),e.for(i.MAX).define({decorator:t=>m(i.MAX,"max",t),args:[n]}).apply()}function mt(t,r){let n={};return t instanceof s?n.condition=t:t&&(n=t),r&&(n=Object.assign({},n,r)),e.for(i.MIN).define({decorator:t=>m(i.MIN,"min",t),args:[n]}).apply()}function yt(t,r){let n={};return t instanceof s?n.condition=t:t&&(n=t),r&&(n=Object.assign({},n,r)),e.for(i.DISTINCT).define({decorator:t=>m(i.DISTINCT,"distinct",t),args:[n]}).apply()}j([C(),M("design:type",Function),M("design:paramtypes",[Object]),M("design:returntype",lt)],dt.prototype,"Statement",null),j([C(),M("design:type",Function),M("design:paramtypes",[Object,String]),M("design:returntype",Object)],dt.prototype,"assignMetadata",null),j([C(),M("design:type",Function),M("design:paramtypes",[Array,Array]),M("design:returntype",Array)],dt.prototype,"assignMultipleMetadata",null),j([C(),M("design:type",Function),M("design:paramtypes",[Object,Object,Object,Object]),M("design:returntype",Array)],dt.prototype,"createPrefix",null),j([C(),M("design:type",Function),M("design:paramtypes",[Object,Array,Array,Object]),M("design:returntype",void 0)],dt.prototype,"createAllPrefix",null),j([C(),M("design:type",Function),M("design:paramtypes",[Object,Object,Object,Object]),M("design:returntype",void 0)],dt.prototype,"updatePrefix",null),j([C(),M("design:type",Function),M("design:paramtypes",[Object,Array,Array,Object]),M("design:returntype",void 0)],dt.prototype,"updateAllPrefix",null);const At="##VERSION##",bt="##PACKAGE##";t.registerLibrary(bt,At);export{dt as CouchDBAdapter,R as CouchDBConst,k as CouchDBGroupOperator,P as CouchDBKeys,V as CouchDBOperator,at as CouchDBPaginator,B as CouchDBQueryLimit,st as CouchDBRepository,lt as CouchDBStatement,ot as IndexError,bt as PACKAGE_NAME,At as VERSION,H as collectViewMetadata,ft as count,yt as distinct,X as findViewMetadata,W as generateDesignDocName,J as generateIndexDoc,G as generateIndexName,et as generateIndexes,Y as generateViewIndexes,q as generateViewName,K as generateViews,it as getMetadata,gt as groupBy,ht as max,mt as min,_ as reAuth,nt as removeMetadata,I as reservedAttributes,rt as setMetadata,pt as sum,U as testReservedAttributes,ct as translateOperators,Z as viewIndexDefinition,L 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 S,reduceErrorsToPrint as E,BaseError as O,DBKeys as N,prefixMethod as x,ConflictError as D,NotFoundError as T}from"@decaf-ts/db-decorators";import{Model as $}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as B}from"tslib";import{final as C}from"@decaf-ts/logging";const M=/^_.*$/g,k={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 _(e,t,r){return e.auth(t,r)}function R(e,t,r,n){const i=e.use?e.use(t):e;return["insert","get","put","destroy","find","view"].forEach(t=>{const o=i[t];Object.defineProperty(i,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await _(e,r,n),o.call(i,...t))})}),Object.defineProperty(i,k.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),i}function q(e){return e.match(/^_.*$/g)}function U(e,t,n,i,o=y){const s={};let a;if(s[k.TABLE]={},s[k.TABLE].$eq=t,i){const t={};t[e]=i;const r=(n||[]).map(e=>{const t={};return t[e]=i,t}),o={};o[k.TABLE]=i,a=[t,...r,o]}else a=[e,...n||[],k.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,k.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,k.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=[[k.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(k.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=[[k.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=U(o,n,s);t[c.name||""]=c,a.forEach(e=>{const r=U(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===k.TABLE?"table":e),...r||[],...t?[t]:[],k.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([k.TABLE]),r={};return r[t]={index:{fields:[k.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={[k.TABLE]:{$eq:t}};r[n]={index:{fields:[k.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:[{[k.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={[k.TABLE]:{$eq:t}};function u(n,i){const o=ee(t,e,s,i),u=[k.TABLE,...a],l=n?[{[k.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,S.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=E(n);if(o)throw new v(o)}return[e,...n,c]}}class se extends O{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(N.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){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 ge(e){return(e.sort||[]).map(fe).filter(Boolean).map(e=>e.field)}function pe(e){return(e.sort||[]).map(fe).find(Boolean)?.direction}function he(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 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,"$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 ye(e){const t=$.tableName(e),r=[],n=Z([k.TABLE]);r.push({name:n,ddoc:n,fields:[k.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:[k.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:[k.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=[k.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 Ae(e){return ye(e)}function be(e,t){return ye(e).find(e=>e.name===t||e.ddoc===t)}function we(e,t,r={}){if(t.use_index)return;const n=!1!==r.preserveDefaultQuery,i=ye(e),o=he(t.selector),s=me(t.selector),a=ge(t),c=pe(t);o.add(k.TABLE);const u=i.map(e=>{if(e.direction&&c&&e.direction!==c)return;if(!e.fields.includes(k.TABLE))return;if(e.fields[0]!==k.TABLE)return;const t=e.fields.filter(e=>e!==k.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 ve(e,t){const r=$.tableName(e),n=e.name,i=Array.from(he(t.selector)),o=Array.from(me(t.selector)),s=ge(t),a=pe(t),c=[k.TABLE];for(const e of i)e===k.TABLE||c.includes(e)||c.push(e);for(const e of o)e===k.TABLE||c.includes(e)||c.push(e);for(const e of s)e===k.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=ve(e,t),n=r.requiredFields.filter(e=>e!==k.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:[k.TABLE],decorator:""},t);const o=n[0],s=n.slice(1),a=r.sortDirection||i.ASC,c=ee(r.tableName,o,s,a),u=[{[k.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 Ee(e,t,r,n={}){if(!e||t.use_index)return;if(!1===n.forceNamedIndexes&&!n.requireIndex)return;const i=we(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 Ne(e,t,r,n={}){Ee(e,t,r,{preserveDefaultQuery:!0,requireSortCoverage:n.requireSortCoverage??!0,requireIndex:!0,forceNamedIndexes:!0})}function xe(e,t,r="selector"){if(e&&"object"==typeof e)if(Array.isArray(e))e.forEach((e,n)=>xe(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.`),xe(i,t,`${r}.${n}`)}function De(e,t,r){if(!e.sort?.length)return;if(ge(e).includes(t))return;const n=r||pe(e)||i.ASC;e.sort=[...e.sort,{[t]:n}]}function Te(e){e.execution_stats=!0}function $e(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 je extends f{constructor(e,t){super(e,t),this.attributeTypeCache=new Map}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[k.TABLE]={},r[k.TABLE]=$.tableName(this.fromSelector);const n={selector:r};if(this.selectSelector&&(n.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(o.and(this.whereCondition,o.attribute(k.TABLE).eq(n.selector[k.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=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)&&Ee(this.fromSelector,n,e,{preserveDefaultQuery:!0,requireSortCoverage:!1,forceNamedIndexes:!0}),xe(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(N.ID,n))?.type;if(t[k.ID]){const[,...e]=t[k.ID].split(k.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=await this.adapter.raw(e,!0,r),o=i.map(e=>this.processRecord(e,r));if(this.manualAggregation){const e=this.executeManualAggregation(o,this.manualAggregation,r);return this.manualAggregation=void 0,e}return!this.selectSelector&&this.groupBySelectors?.length?this.groupSelectResults(o):this.selectSelector?i:await this.applyAfterHandlersToResult(o,r)}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:$e(o)};return{selector:{[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:{[t]:{$regex:(a=i,a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"$")}}}}if(r===n.BETWEEN){const e=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))c[t]={},c[t][ue(r)]=i;else if(r===n.NOT)c=this.parseCondition(t).selector,c[ue(n.NOT)]={},c[ue(n.NOT)][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 je(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 s[k.TABLE]=o,s[k.ID]=this.generateId(o,t),Object.assign(s,r),[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 n[k.TABLE]=i,n[k.ID]=this.generateId(i,e),Object.assign(n,r[t]),n});return[e,t,s,...o]}updatePrefix(e,t,n,...i){const o=$.tableName(e),{ctxArgs:s}=this.logCtx(i,this.updatePrefix),a={};a[k.TABLE]=o,a[k.ID]=this.generateId(o,t);const c=n[r.METADATA];if(!c)throw new b("No revision number found for record with id "+t);return Object.assign(a,n),a[k.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={};i[k.TABLE]=o,i[k.ID]=this.generateId(o,e);const 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[k.REV]=s,i});return[e,t,a,...s]}generateId(e,t){const r=k.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(M)}static parseError(e,t){if(e instanceof O)return e;let r="";if("string"==typeof e){if(r=e,r.match(/already exist|update conflict/g))return new D(r);if(r.match(/missing|deleted/g))return new T(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 D(t);case"404":return new T(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 Ce(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 ke(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 Ie(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 Le(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 Pe(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([C(),B("design:type",Function),B("design:paramtypes",[Object]),B("design:returntype",je)],Be.prototype,"Statement",null),j([C(),B("design:type",Function),B("design:paramtypes",[Object,String]),B("design:returntype",Object)],Be.prototype,"assignMetadata",null),j([C(),B("design:type",Function),B("design:paramtypes",[Array,Array]),B("design:returntype",Array)],Be.prototype,"assignMultipleMetadata",null),j([C(),B("design:type",Function),B("design:paramtypes",[Object,Object,Object,Object]),B("design:returntype",Array)],Be.prototype,"createPrefix",null),j([C(),B("design:type",Function),B("design:paramtypes",[Object,Array,Array,Object]),B("design:returntype",void 0)],Be.prototype,"createAllPrefix",null),j([C(),B("design:type",Function),B("design:paramtypes",[Object,Object,Object,Object]),B("design:returntype",void 0)],Be.prototype,"updatePrefix",null),j([C(),B("design:type",Function),B("design:paramtypes",[Object,Array,Array,Object]),B("design:returntype",void 0)],Be.prototype,"updateAllPrefix",null);const Ve="##VERSION##",_e="##COMMIT##",Re="##FULL_VERSION##",qe="##PACKAGE##";e.registerLibrary(qe,Ve);export{_e as COMMIT,Be as CouchDBAdapter,V as CouchDBConst,P as CouchDBGroupOperator,k as CouchDBKeys,L as CouchDBOperator,ce as CouchDBPaginator,I as CouchDBQueryLimit,oe as CouchDBRepository,je as CouchDBStatement,Re as FULL_VERSION,se as IndexError,ae as IndexPlanningError,qe as PACKAGE_NAME,Ve as VERSION,Ee as attachGeneratedUseIndex,Ae as buildGeneratedIndexCandidates,X as collectViewMetadata,Me as count,Pe as distinct,Te as enableMangoExecutionStats,De as ensureDeterministicSort,be as findGeneratedIndexCandidateByName,W as findViewMetadata,z as generateDesignDocName,U as generateIndexDoc,Z as generateIndexName,te as generateIndexes,ee as generateModelIndexName,K as generateViewIndexes,G as generateViewName,H as generateViews,he as getEqualitySelectorFields,ne as getMetadata,me as getRangeSelectorFields,ve as getRequiredMangoIndexShape,pe as getSortDirection,ge as getSortFields,Ce as groupBy,Ie as max,Le as min,fe as normalizeSortField,_ as reAuth,ie as removeMetadata,Ne as requireGeneratedUseIndex,M as reservedAttributes,we as resolveGeneratedIndexForQuery,Se as reverseRequiredShapeToIndexDeclaration,re as setMetadata,ke as sum,q as testReservedAttributes,ue as translateOperators,Y as viewIndexDefinition,xe as warnScanProneMangoOperators,R 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.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/decorators.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","VIEW","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","forEach","k","original","Object","defineProperty","enumerable","configurable","value","args","call","writable","testReservedAttributes","attr","match","generateIndexName","attribute","tableName","compositions","order","separator","DefaultSeparator","PersistenceKeys","push","join","generateIndexDoc","partialFilterSelector","fields","orderProp","sortedCompositions","map","c","r","sortedTable","name","index","ddoc","toJsLiteral","Date","JSON","stringify","toISOString","RegExp","source","flags","conditionToJs","condition","docVar","attr1","operator","comparison","Condition","left","Operator","right","GroupOperator","attrExpr","normalizeKey","key","Array","isArray","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","generateIndexes","type","modelTableName","defaultQueryAttrs","defaultQueryAttributes","err","baseName","defaultFilter","$eq","partial_filter_selector","sortedName","ind","metadataEntries","metadataValue","candidate","fieldKey","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","CouchDBPaginator","Paginator","query","size","clazz","prepare","rawStatement","assign","limit","page","bookmark","isPreparedStatement","pagePrepared","statement","_recordCount","_totalPages","validatePage","skip","countResults","raw","Number","MAX_SAFE_INTEGER","Math","ceil","_bookmark","PagingError","rawResult","docs","nextBookmark","warning","warn","DBKeys","pageResults","d","revert","Sequence","parseValue","_currentPage","translateOperators","operators","el","find","QueryError","nextLexicographicString","chars","code","codePointAt","fromCodePoint","CouchDBStatement","Statement","overrides","attributeTypeCache","Map","build","manualAggregation","aggregateInfo","buildAggregateInfo","shouldUseManualAggregation","createAggregateQuery","selectors","fromSelector","selector","selectSelector","whereCondition","parseCondition","and","eq","selectorKeys","indexOf","accum","val","Error","s","orderBySelectors","selectorKey","rec","hasManualAggregate","limitSelector","offsetSelector","attachDefaultQueryIndex","use_index","defaultAttrs","rangedAttrs","collectStartsWithRangeAttrs","matchedAttrs","has","sortEntry","includes","targetAttr","indexName","attrs","walk","node","child","hasLower","prototype","hasOwnProperty","hasUpper","add","processRecord","record","pkAttr","keyArgs","split","rawInput","aggregator","aggregate","executeAggregate","processed","manualResult","executeManualAggregation","groupBySelectors","groupSelectResults","applyAfterHandlersToResult","avgSelector","sumInfo","createAggregateDescriptor","missingDecorator","countInfo","sumDescriptor","countDescriptor","countDistinctSelector","resolveSelectorAttribute","info","countDistinct","countSelector","maxSelector","minSelector","sumSelector","distinctSelector","metas","options","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","isNaN","getTime","metaType","getPropDesignTypes","designType","normalizeMetaType","set","context","convertAggregateValue","decorator","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","columnName","isReserved","transient","createPrefix","generateId","createAllPrefix","records","sep","startsWith","parseError","reason","ConflictError","NotFoundError","message","statusCode","ConnectionError","compositionsOrOptions","nameOrOptions","opts","Decoration","define","o","applyViewDecorator","valueOrCondition","conditionOrOptions","__decorate","final","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","user","pass","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","normalizeSortField","getSortFields","Boolean","getSortDirection","getEqualitySelectorFields","selector","visit","node","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","some","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","build","manualAggregation","aggregateInfo","buildAggregateInfo","shouldUseManualAggregation","createAggregateQuery","selectors","fromSelector","selectSelector","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","child","hasLower","hasUpper","processRecord","record","pkAttr","keyArgs","split","rawInput","aggregator","aggregate","executeAggregate","processed","manualResult","executeManualAggregation","groupBySelectors","groupSelectResults","applyAfterHandlersToResult","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","columnName","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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"}
@@ -19,8 +19,8 @@ const core_1 = require("@decaf-ts/core");
19
19
  const constants_js_1 = require("./constants.cjs");
20
20
  const db_decorators_1 = require("@decaf-ts/db-decorators");
21
21
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
22
- const errors_js_1 = require("./errors.cjs");
23
- const index_js_1 = require("./query/index.cjs");
22
+ const index_js_1 = require("./errors/index.cjs");
23
+ const index_js_2 = require("./query/index.cjs");
24
24
  const logging_1 = require("@decaf-ts/logging");
25
25
  const repository_js_1 = require("./repository.cjs");
26
26
  const metadata_js_1 = require("./metadata.cjs");
@@ -75,17 +75,11 @@ class CouchDBAdapter extends core_1.Adapter {
75
75
  (0, db_decorators_1.prefixMethod)(this, m, this[name + "Prefix"]);
76
76
  });
77
77
  }
78
- /**
79
- * @description Creates a new CouchDB statement for querying
80
- * @summary Factory method that creates a new CouchDBStatement instance for building queries
81
- * @template M - The model type
82
- * @return {CouchDBStatement<M, any>} A new CouchDBStatement instance
83
- */
84
78
  Statement(overrides) {
85
- return new index_js_1.CouchDBStatement(this, overrides);
79
+ return new index_js_2.CouchDBStatement(this, overrides);
86
80
  }
87
81
  Paginator(query, size, clazz) {
88
- return new index_js_1.CouchDBPaginator(this, query, size, clazz);
82
+ return new index_js_2.CouchDBPaginator(this, query, size, clazz);
89
83
  }
90
84
  /**
91
85
  * @description Initializes the adapter by creating indexes for all managed models
@@ -370,7 +364,7 @@ class CouchDBAdapter extends core_1.Adapter {
370
364
  return new db_decorators_1.NotFoundError(reason);
371
365
  case "400":
372
366
  if (code.toString().match(/No\sindex\sexists/g))
373
- return new errors_js_1.IndexError(err);
367
+ return new index_js_1.IndexError(err);
374
368
  return new db_decorators_1.InternalError(err);
375
369
  default:
376
370
  if (code.toString().match(/ECONNREFUSED/g))
@@ -414,7 +408,7 @@ __decorate([
414
408
  (0, logging_1.final)(),
415
409
  __metadata("design:type", Function),
416
410
  __metadata("design:paramtypes", [Object]),
417
- __metadata("design:returntype", index_js_1.CouchDBStatement)
411
+ __metadata("design:returntype", index_js_2.CouchDBStatement)
418
412
  ], CouchDBAdapter.prototype, "Statement", null);
419
413
  __decorate([
420
414
  (0, logging_1.final)(),
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["adapter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["adapter.js"],"names":[],"mappings":"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"}
@@ -25,5 +25,5 @@ class IndexError extends db_decorators_1.BaseError {
25
25
  }
26
26
  }
27
27
  exports.IndexError = IndexError;
28
- //# sourceMappingURL=errors.js.map
29
- //# sourceMappingURL=errors.js.map
28
+ //# sourceMappingURL=IndexError.js.map
29
+ //# sourceMappingURL=IndexError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexError.js","sourceRoot":"","sources":["IndexError.js"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAa,UAAW,SAAQ,yBAAS;IACrC,YAAY,GAAG;QACX,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACJ;AAJD,gCAIC;AACD,sCAAsC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexPlanningError = void 0;
4
+ const IndexError_js_1 = require("./IndexError.cjs");
5
+ class IndexPlanningError extends IndexError_js_1.IndexError {
6
+ constructor(message, suggestion, query) {
7
+ super(message);
8
+ this.name = "IndexPlanningError";
9
+ this.suggestion = suggestion;
10
+ this.query = query;
11
+ }
12
+ }
13
+ exports.IndexPlanningError = IndexPlanningError;
14
+ //# sourceMappingURL=IndexPlanningError.js.map
15
+ //# sourceMappingURL=IndexPlanningError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IndexPlanningError.js","sourceRoot":"","sources":["IndexPlanningError.js"],"names":[],"mappings":";;;AAAA,mDAA6C;AAC7C,MAAa,kBAAmB,SAAQ,0BAAU;IAC9C,YAAY,OAAO,EAAE,UAAU,EAAE,KAAK;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAPD,gDAOC;AACD,8CAA8C"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IndexError.cjs"), exports);
18
+ __exportStar(require("./IndexPlanningError.cjs"), exports);
19
+ //# sourceMappingURL=index.js.map
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,0DAAwC;AACxC,iCAAiC"}