@decaf-ts/for-pouch 0.3.18 → 0.3.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,7 +30,7 @@ A PouchDB-backed adapter and repository integration for the decaf-ts ecosystem.
30
30
 
31
31
  Documentation available [here](https://decaf-ts.github.io/for-pouch/)
32
32
 
33
- Minimal size: 1.8 KB kb gzipped
33
+ Minimal size: 2.3 KB kb gzipped
34
34
 
35
35
 
36
36
  # decaf-ts / for-pouch — Detailed Description
@@ -1,2 +1,2 @@
1
- var e,r;e=this,r=function(e,r,t,a,o,s,n,c,i,d,l){"use strict";function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function h(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach(t=>{if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}),r.default=e,Object.freeze(r)}var f=u(n),p=h(c),g=h(i),w=h(d);const E="pouch",b="local_dbs";async function y(e,r,t,a){try{const r=e.get("UUID");a[t]=r}catch(e){throw new o.UnsupportedError("No User found in context. Please provide a user in the context")}}class m extends t.CouchDBAdapter{constructor(e,r){super(e,E,r)}getClient(){if(!this._client){const e=[p,g,w,...this.config.plugins];for(const r of e)try{f.default.plugin(r)}catch(e){if(e instanceof Error&&e.message.includes("redefine property"))continue;throw e}const{host:r,protocol:t,user:o,password:s,dbName:n,storagePath:c}=this.config;try{this._client=r&&o?new f.default(`${t}://${o}:${s}@${r}/${n}`):new f.default(`${c||b}/${n}`)}catch(e){throw new a.InternalError("Failed to create PouchDB client: "+e)}}return this._client}async flags(e,r,t,...a){return this.config.user||(this.config.user=crypto.randomUUID()),super.flags(e,r,Object.assign({UUID:this.config.user},t),...a)}async index(...e){const r=t.generateIndexes(e);for(const e of r){const r=await this.client.createIndex(e),{result:t}=r;if("existing"===t)throw new a.ConflictError(`Index ${e.name} already exists`)}}async create(e,r,t,...o){let n;try{n=await this.client.put(t)}catch(e){throw this.parseError(e)}if(!n.ok)throw new a.InternalError(`Failed to insert doc id: ${r} in table ${s.Model.tableName(e)}`);return this.assignMetadata(t,n.rev)}async createAll(e,r,t,...o){let s;try{s=await this.client.bulkDocs(t)}catch(e){throw m.parseError(e)}if(!s.every(e=>e.ok)){const e=s.reduce((e,r,t)=>(r.error&&e.push(`el ${t}: ${r.error}${r.reason?" - "+r.reason:""}`),e),[]);throw new a.InternalError(e.join("\n"))}return this.assignMultipleMetadata(t,s.map(e=>e.rev))}async read(e,r,...t){const a=this.generateId(s.Model.tableName(e),r);let o;try{o=await this.client.get(a)}catch(e){throw m.parseError(e)}return this.assignMetadata(o,o._rev)}async readAll(e,r,...o){const n=s.Model.tableName(e);return(await this.client.bulkGet({docs:r.map(e=>({id:this.generateId(n,e)}))})).results.reduce((e,r)=>(r.docs.forEach(r=>{if(r.error||!r.ok)throw m.parseError(r.error||new a.InternalError("Missing valid response"));const o=Object.assign({},r.ok);e.push(this.assignMetadata(o,r.ok[t.CouchDBKeys.REV]))}),e),[])}async update(e,r,t,...o){let n;try{n=await this.client.put(t)}catch(e){throw m.parseError(e)}if(!n.ok)throw new a.InternalError(`Failed to update doc id: ${r} in table ${s.Model.tableName(e)}`);return this.assignMetadata(t,n.rev)}async updateAll(e,r,t,...o){let s;try{s=await this.client.bulkDocs(t)}catch(e){throw m.parseError(e)}if(!s.every(e=>!e.error)){const e=s.reduce((e,r,t)=>(r.error&&e.push(`el ${t}: ${r.error}${r.reason?" - "+r.reason:""}`),e),[]);throw new a.InternalError(e.join("\n"))}return this.assignMultipleMetadata(t,s.map(e=>e.rev))}async delete(e,r,...t){const a=this.generateId(s.Model.tableName(e),r);let o;try{o=await this.client.get(a),await this.client.remove(a,o._rev)}catch(e){throw m.parseError(e)}return this.assignMetadata(o,o._rev)}async deleteAll(e,r,...o){const{log:n}=this.logCtx(o,this.deleteAll),c=s.Model.tableName(e),i=await this.client.bulkGet({docs:r.map(e=>({id:this.generateId(c,e)}))}),d=i.results.reduce((e,r)=>(r.docs.forEach(r=>{if(r.error)throw m.parseError(r.error||new a.InternalError("Missing valid response"));const o=Object.assign({},r.ok);o[t.CouchDBKeys.DELETED]=!0,e.push(o)}),e),[]);return(await this.client.bulkDocs(d)).forEach(e=>{const r=e.error;r&&n.error(r+"")}),i.results.reduce((e,r)=>(r.docs.forEach(r=>{if(r.error||!r.ok)throw m.parseError(r.error||new a.InternalError("Missing valid response"));const o=Object.assign({},r.ok);e.push(this.assignMetadata(o,r.ok[t.CouchDBKeys.REV]))}),e),[])}async raw(e,r=!0,...t){try{const a=await this.client.find(e);if(a.warning)if(t.length){const{log:e}=this.logCtx(t,this.raw);e.for(this.raw).warn(a.warning)}else this.log.for(this.raw).warn(a.warning);return r?a.docs:a}catch(e){throw m.parseError(e)}}parseError(e,r){return m.parseError(e,r)}static parseError(e,r){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.status?(s=e.status,r=r||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(r);case"404":return new a.NotFoundError(r);case"400":return s.toString().match(/No\sindex\sexists/g)?new t.IndexError(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new o.ConnectionError(e):new a.InternalError(e)}}static decoration(){super.decoration(),l.Decoration.flavouredAs(E).for(o.PersistenceKeys.CREATED_BY).define(a.onCreate(y),l.propMetadata(o.PersistenceKeys.CREATED_BY,{})).apply(),l.Decoration.flavouredAs(E).for(o.PersistenceKeys.UPDATED_BY).define(a.onCreateUpdate(y),l.propMetadata(o.PersistenceKeys.UPDATED_BY,{})).apply()}}o.Adapter.setCurrent(E),m.decoration();const D="##VERSION##",M="##PACKAGE##";l.Metadata.registerLibrary(M,D),e.DefaultLocalStoragePath=b,e.PACKAGE_NAME=M,e.PouchAdapter=m,e.PouchFlavour=E,e.VERSION=D,e.createdByOnPouchCreateUpdate=y},"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("reflect-metadata"),require("@decaf-ts/for-couchdb"),require("@decaf-ts/db-decorators"),require("@decaf-ts/core"),require("@decaf-ts/decorator-validation"),require("pouchdb-core"),require("pouchdb-mapreduce"),require("pouchdb-replication"),require("pouchdb-find"),require("@decaf-ts/decoration")):"function"==typeof define&&define.amd?define(["exports","reflect-metadata","@decaf-ts/for-couchdb","@decaf-ts/db-decorators","@decaf-ts/core","@decaf-ts/decorator-validation","pouchdb-core","pouchdb-mapreduce","pouchdb-replication","pouchdb-find","@decaf-ts/decoration"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self)["for-pouch"]={},e.reflectMetadata,e.decafTsForCouchdb,e.decafTsDbDecorators,e.decafTsCore,e.decafTsDecoratorValidation,e.pouchdbCore,e.pouchdbMapreduce,e.pouchdbReplication,e.pouchdbFind,e.decafTsDecoration);
1
+ var e,t;e=this,t=function(e,t,r,o,a,s,n,i,c,d,u,l){"use strict";function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(r=>{if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}),t.default=e,Object.freeze(t)}var p=h(i),g=f(c),w=f(d),y=f(u);const E="pouch",b="local_dbs";class m extends o.CouchDBRepository{constructor(e,t){super(e,t)}override(e){return super.override(e).for(e)}}async function C(e,t,r,o){try{const t=e.get("UUID");o[r]=t}catch(e){throw new s.UnsupportedError("No User found in context. Please provide a user in the context")}}class v extends o.CouchDBAdapter{constructor(e,t){super(e,E,t),this._pluginsRegistered=!1}registerPlugins(){if(this._pluginsRegistered)return;const e=[g,w,y,...this.config.plugins];for(const t of e)try{p.default.plugin(t)}catch(e){if(e instanceof Error&&e.message.includes("redefine property"))continue;throw e}this._pluginsRegistered=!0}buildClient(e,t){this.registerPlugins();const{host:r,protocol:o,dbName:s,storagePath:n}=this.config;try{if(r){const a=e?`${e?encodeURIComponent(e):""}${e&&t?":"+encodeURIComponent(t):""}@`:"";return new p.default(`${o}://${a}${r}/${s}`)}return new p.default(`${n||b}/${s}`)}catch(e){throw new a.InternalError("Failed to create PouchDB client: "+e)}}getAdminClient(){return this.config.adminUser?(this._adminClient||(this._adminClient=this.buildClient(this.config.adminUser,this.config.adminPassword??this.config.password)),this._adminClient):this.getClient()}getClient(){return this._client||(this._client=this.buildClient(this.config.user,this.config.password)),this._client}async flags(e,t,o,...a){return this.config.user||(this.config.user=r.randomUUID()),super.flags(e,t,Object.assign({UUID:this.config.user},o),...a)}repository(){return m}async index(...e){const t=this.getAdminClient();try{const r=3,a=o.generateIndexes(e),s=new Set;try{const e=await t.get("_index");(e?.indexes||[]).forEach(e=>{e.name&&s.add(e.name)})}catch{}for(const e of a){const o=e.name??e.ddoc??"index";if(s.has(o))continue;let a=0;for(;;)try{await t.createIndex(e),s.add(o);break}catch(s){if(409===s?.status||"conflict"===s?.error)break;if(500===s?.status){a+=1;const s="_design/"+(e.ddoc??o);try{const e=await t.get(s);await t.remove(s,e._rev)}catch{}if(a>=r)break;await new Promise(e=>setTimeout(e,100*a));continue}throw s}}const n=o.generateViews(e);for(const e of n)try{await t.put(e)}catch(r){if(409!==r?.status&&"conflict"!==r?.error)throw r;{const r=await t.get(e._id);await t.put({...e,_rev:r._rev})}}}catch(e){}}async create(e,t,r,...o){let s;try{s=await this.client.put(r)}catch(e){throw this.parseError(e)}if(!s.ok)throw new a.InternalError(`Failed to insert doc id: ${t} in table ${n.Model.tableName(e)}`);return this.assignMetadata(r,s.rev)}async createAll(e,t,r,...o){let s;try{s=await this.client.bulkDocs(r)}catch(e){throw this.parseError(e)}if(!s.every(e=>e.ok)){const e=s.reduce((e,t,r)=>(t.error&&e.push(`el ${r}: ${t.error}${t.reason?" - "+t.reason:""}`),e),[]);throw new a.InternalError(e.join("\n"))}return this.assignMultipleMetadata(r,s.map(e=>e.rev))}async read(e,t,...r){const o=this.generateId(n.Model.tableName(e),t);let a;try{a=await this.client.get(o)}catch(e){throw this.parseError(e)}return this.assignMetadata(a,a._rev)}async readAll(e,t,...r){const s=n.Model.tableName(e);return(await this.client.bulkGet({docs:t.map(e=>({id:this.generateId(s,e)}))})).results.reduce((e,t)=>(t.docs.forEach(t=>{if(t.error||!t.ok)throw this.parseError(t.error||new a.InternalError("Missing valid response"));const r=Object.assign({},t.ok);e.push(this.assignMetadata(r,t.ok[o.CouchDBKeys.REV]))}),e),[])}async update(e,t,r,...o){let s;try{s=await this.client.put(r)}catch(e){throw this.parseError(e)}if(!s.ok)throw new a.InternalError(`Failed to update doc id: ${t} in table ${n.Model.tableName(e)}`);return this.assignMetadata(r,s.rev)}async updateAll(e,t,r,...o){let s;try{s=await this.client.bulkDocs(r)}catch(e){throw this.parseError(e)}if(!s.every(e=>!e.error)){const e=s.reduce((e,t,r)=>(t.error&&e.push(`el ${r}: ${t.error}${t.reason?" - "+t.reason:""}`),e),[]);throw new a.InternalError(e.join("\n"))}return this.assignMultipleMetadata(r,s.map(e=>e.rev))}async delete(e,t,...r){const o=this.generateId(n.Model.tableName(e),t);let a;try{a=await this.client.get(o),await this.client.remove(o,a._rev)}catch(e){throw this.parseError(e)}return this.assignMetadata(a,a._rev)}async deleteAll(e,t,...r){const{log:s}=this.logCtx(r,this.deleteAll),i=n.Model.tableName(e),c=await this.client.bulkGet({docs:t.map(e=>({id:this.generateId(i,e)}))}),d=c.results.reduce((e,t)=>(t.docs.forEach(t=>{if(t.error)throw this.parseError(t.error||new a.InternalError("Missing valid response"));const r=Object.assign({},t.ok);r[o.CouchDBKeys.DELETED]=!0,e.push(r)}),e),[]);return(await this.client.bulkDocs(d)).forEach(e=>{const t=e.error;t&&s.error(t+"")}),c.results.reduce((e,t)=>(t.docs.forEach(t=>{if(t.error||!t.ok)throw this.parseError(t.error||new a.InternalError("Missing valid response"));const r=Object.assign({},t.ok);e.push(this.assignMetadata(r,t.ok[o.CouchDBKeys.REV]))}),e),[])}async raw(e,t=!0,...r){try{const o=await this.client.find(e);if(o.warning){const{log:e}=await this.logCtx(r,this.raw,!0);e.for(this.raw).warn(o.warning)}return t?o.docs:o}catch(e){throw this.parseError(e)}}async view(e,t,r,...o){try{const o=`${e}/${t}`;return await this.client.query(o,r)}catch(e){throw this.parseError(e)}}parseError(e,t){return v.parseError(e,t)}static parseError(e,t){if(e instanceof a.BaseError)return e;let r="";if("string"==typeof e){if(r=e,r.match(/already exist|update conflict/g))return new a.ConflictError(r);if(r.match(/missing|deleted/g))return new a.NotFoundError(r)}else e.status?(r=e.status,t=t||e.message):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 a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return r.toString().match(/No\sindex\sexists/g)?new o.IndexError(e):new a.InternalError(e);default:return r.toString().match(/ECONNREFUSED/g)?new s.ConnectionError(e):new a.InternalError(e)}}static decoration(){super.decoration(),l.Decoration.flavouredAs(E).for(s.PersistenceKeys.CREATED_BY).define(a.onCreate(C),l.propMetadata(s.PersistenceKeys.CREATED_BY,{})).apply(),l.Decoration.flavouredAs(E).for(s.PersistenceKeys.UPDATED_BY).define(a.onCreateUpdate(C),l.propMetadata(s.PersistenceKeys.UPDATED_BY,{})).apply()}}s.Adapter.setCurrent(E),v.decoration();const D="##VERSION##",M="##PACKAGE##";l.Metadata.registerLibrary(M,D),e.DefaultLocalStoragePath=b,e.PACKAGE_NAME=M,e.PouchAdapter=v,e.PouchFlavour=E,e.PouchRepository=m,e.VERSION=D,e.createdByOnPouchCreateUpdate=C},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("reflect-metadata"),require("crypto"),require("@decaf-ts/for-couchdb"),require("@decaf-ts/db-decorators"),require("@decaf-ts/core"),require("@decaf-ts/decorator-validation"),require("pouchdb-core"),require("pouchdb-mapreduce"),require("pouchdb-replication"),require("pouchdb-find"),require("@decaf-ts/decoration")):"function"==typeof define&&define.amd?define(["exports","reflect-metadata","crypto","@decaf-ts/for-couchdb","@decaf-ts/db-decorators","@decaf-ts/core","@decaf-ts/decorator-validation","pouchdb-core","pouchdb-mapreduce","pouchdb-replication","pouchdb-find","@decaf-ts/decoration"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-pouch"]={},e.reflectMetadata,e.crypto,e.decafTsForCouchdb,e.decafTsDbDecorators,e.decafTsCore,e.decafTsDecoratorValidation,e.pouchdbCore,e.pouchdbMapreduce,e.pouchdbReplication,e.pouchdbFind,e.decafTsDecoration);
2
2
  //# sourceMappingURL=for-pouch.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-pouch.cjs","sources":["../src/constants.ts","../src/adapter.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":["PouchFlavour","DefaultLocalStoragePath","async","createdByOnPouchCreateUpdate","context","data","key","model","uuid","get","e","UnsupportedError","PouchAdapter","CouchDBAdapter","constructor","config","alias","super","getClient","this","_client","plugins","PouchMapReduce","PouchReplication","PouchFind","plugin","PouchDB","Error","message","includes","host","protocol","user","password","dbName","storagePath","InternalError","flags","operation","args","crypto","randomUUID","Object","assign","UUID","index","models","indexes","generateIndexes","res","client","createIndex","result","ConflictError","name","create","tableName","id","response","put","parseError","ok","Model","assignMetadata","rev","createAll","ids","bulkDocs","every","r","errors","reduce","accum","el","i","error","push","reason","join","assignMultipleMetadata","map","read","_id","generateId","record","_rev","readAll","table","bulkGet","docs","results","forEach","d","CouchDBKeys","REV","update","updateAll","remove","deleteAll","log","logCtx","docsToDelete","next","DELETED","err","String","raw","rawInput","docsOnly","find","warning","length","for","warn","BaseError","code","match","NotFoundError","status","toString","IndexError","ConnectionError","decoration","Decoration","flavouredAs","PersistenceKeys","CREATED_BY","define","onCreate","propMetadata","apply","UPDATED_BY","onCreateUpdate","Adapter","setCurrent","VERSION","PACKAGE_NAME","Metadata","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"for-pouch.cjs","sources":["../src/constants.ts","../src/PouchRepository.ts","../src/adapter.ts","../src/index.ts"],"sourcesContent":[null,null,null,null],"names":["PouchFlavour","DefaultLocalStoragePath","PouchRepository","CouchDBRepository","constructor","adapter","model","super","override","flags","for","async","createdByOnPouchCreateUpdate","context","data","key","uuid","get","e","UnsupportedError","PouchAdapter","CouchDBAdapter","config","alias","this","_pluginsRegistered","registerPlugins","plugins","PouchMapReduce","PouchReplication","PouchFind","plugin","PouchDB","Error","message","includes","buildClient","user","password","host","protocol","dbName","storagePath","credentials","encodeURIComponent","InternalError","getAdminClient","adminUser","_adminClient","adminPassword","getClient","_client","operation","args","randomUUID","Object","assign","UUID","repository","index","models","client","MAX_INDEX_ATTEMPTS","indexes","generateIndexes","existingIndexNames","Set","response","forEach","idx","name","add","indexName","ddoc","has","attempts","createIndex","status","error","docId","existing","remove","_rev","Promise","resolve","setTimeout","views","generateViews","view","put","_id","create","tableName","id","parseError","ok","Model","assignMetadata","rev","createAll","ids","bulkDocs","every","r","errors","reduce","accum","el","i","push","reason","join","assignMultipleMetadata","map","read","generateId","record","readAll","table","bulkGet","docs","results","d","result","CouchDBKeys","REV","update","updateAll","deleteAll","log","logCtx","docsToDelete","next","DELETED","err","String","raw","rawInput","docsOnly","find","warning","warn","viewName","options","_args","queryName","query","BaseError","code","match","ConflictError","NotFoundError","statusCode","toString","IndexError","ConnectionError","decoration","Decoration","flavouredAs","PersistenceKeys","CREATED_BY","define","onCreate","propMetadata","apply","UPDATED_BY","onCreateUpdate","Adapter","setCurrent","VERSION","PACKAGE_NAME","Metadata","registerLibrary"],"mappings":"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"}
package/dist/for-pouch.js CHANGED
@@ -1,2 +1,2 @@
1
- import"reflect-metadata";import{CouchDBAdapter as t,generateIndexes as e,CouchDBKeys as r,IndexError as s}from"@decaf-ts/for-couchdb";import{InternalError as a,ConflictError as o,BaseError as i,NotFoundError as n,onCreate as c,onCreateUpdate as l}from"@decaf-ts/db-decorators";import{Adapter as h,UnsupportedError as d,ConnectionError as u,PersistenceKeys as p}from"@decaf-ts/core";import{Model as f}from"@decaf-ts/decorator-validation";import w from"pouchdb-core";import*as g from"pouchdb-mapreduce";import*as m from"pouchdb-replication";import*as E from"pouchdb-find";import{Decoration as y,propMetadata as b,Metadata as $}from"@decaf-ts/decoration";const v="pouch",D="local_dbs";async function k(t,e,r,s){try{const e=t.get("UUID");s[r]=e}catch(t){throw new d("No User found in context. Please provide a user in the context")}}class x extends t{constructor(t,e){super(t,v,e)}getClient(){if(!this._client){const t=[g,m,E,...this.config.plugins];for(const e of t)try{w.plugin(e)}catch(t){if(t instanceof Error&&t.message.includes("redefine property"))continue;throw t}const{host:e,protocol:r,user:s,password:o,dbName:i,storagePath:n}=this.config;try{this._client=new w(e&&s?`${r}://${s}:${o}@${e}/${i}`:`${n||D}/${i}`)}catch(t){throw new a("Failed to create PouchDB client: "+t)}}return this._client}async flags(t,e,r,...s){return this.config.user||(this.config.user=crypto.randomUUID()),super.flags(t,e,Object.assign({UUID:this.config.user},r),...s)}async index(...t){const r=e(t);for(const t of r){const e=await this.client.createIndex(t),{result:r}=e;if("existing"===r)throw new o(`Index ${t.name} already exists`)}}async create(t,e,r,...s){let o;try{o=await this.client.put(r)}catch(t){throw this.parseError(t)}if(!o.ok)throw new a(`Failed to insert doc id: ${e} in table ${f.tableName(t)}`);return this.assignMetadata(r,o.rev)}async createAll(t,e,r,...s){let o;try{o=await this.client.bulkDocs(r)}catch(t){throw x.parseError(t)}if(!o.every(t=>t.ok)){const t=o.reduce((t,e,r)=>(e.error&&t.push(`el ${r}: ${e.error}${e.reason?" - "+e.reason:""}`),t),[]);throw new a(t.join("\n"))}return this.assignMultipleMetadata(r,o.map(t=>t.rev))}async read(t,e,...r){const s=this.generateId(f.tableName(t),e);let a;try{a=await this.client.get(s)}catch(t){throw x.parseError(t)}return this.assignMetadata(a,a._rev)}async readAll(t,e,...s){const o=f.tableName(t);return(await this.client.bulkGet({docs:e.map(t=>({id:this.generateId(o,t)}))})).results.reduce((t,e)=>(e.docs.forEach(e=>{if(e.error||!e.ok)throw x.parseError(e.error||new a("Missing valid response"));const s=Object.assign({},e.ok);t.push(this.assignMetadata(s,e.ok[r.REV]))}),t),[])}async update(t,e,r,...s){let o;try{o=await this.client.put(r)}catch(t){throw x.parseError(t)}if(!o.ok)throw new a(`Failed to update doc id: ${e} in table ${f.tableName(t)}`);return this.assignMetadata(r,o.rev)}async updateAll(t,e,r,...s){let o;try{o=await this.client.bulkDocs(r)}catch(t){throw x.parseError(t)}if(!o.every(t=>!t.error)){const t=o.reduce((t,e,r)=>(e.error&&t.push(`el ${r}: ${e.error}${e.reason?" - "+e.reason:""}`),t),[]);throw new a(t.join("\n"))}return this.assignMultipleMetadata(r,o.map(t=>t.rev))}async delete(t,e,...r){const s=this.generateId(f.tableName(t),e);let a;try{a=await this.client.get(s),await this.client.remove(s,a._rev)}catch(t){throw x.parseError(t)}return this.assignMetadata(a,a._rev)}async deleteAll(t,e,...s){const{log:o}=this.logCtx(s,this.deleteAll),i=f.tableName(t),n=await this.client.bulkGet({docs:e.map(t=>({id:this.generateId(i,t)}))}),c=n.results.reduce((t,e)=>(e.docs.forEach(e=>{if(e.error)throw x.parseError(e.error||new a("Missing valid response"));const s=Object.assign({},e.ok);s[r.DELETED]=!0,t.push(s)}),t),[]);return(await this.client.bulkDocs(c)).forEach(t=>{const e=t.error;e&&o.error(e+"")}),n.results.reduce((t,e)=>(e.docs.forEach(e=>{if(e.error||!e.ok)throw x.parseError(e.error||new a("Missing valid response"));const s=Object.assign({},e.ok);t.push(this.assignMetadata(s,e.ok[r.REV]))}),t),[])}async raw(t,e=!0,...r){try{const s=await this.client.find(t);if(s.warning)if(r.length){const{log:t}=this.logCtx(r,this.raw);t.for(this.raw).warn(s.warning)}else this.log.for(this.raw).warn(s.warning);return e?s.docs:s}catch(t){throw x.parseError(t)}}parseError(t,e){return x.parseError(t,e)}static parseError(t,e){if(t instanceof i)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new o(r);if(r.match(/missing|deleted/g))return new n(r)}else t.status?(r=t.status,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new o(e);case"404":return new n(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new s(t):new a(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new a(t)}}static decoration(){super.decoration(),y.flavouredAs(v).for(p.CREATED_BY).define(c(k),b(p.CREATED_BY,{})).apply(),y.flavouredAs(v).for(p.UPDATED_BY).define(l(k),b(p.UPDATED_BY,{})).apply()}}h.setCurrent(v),x.decoration();const A="##VERSION##",M="##PACKAGE##";$.registerLibrary(M,A);export{D as DefaultLocalStoragePath,M as PACKAGE_NAME,x as PouchAdapter,v as PouchFlavour,A as VERSION,k as createdByOnPouchCreateUpdate};
1
+ import"reflect-metadata";import{randomUUID as t}from"crypto";import{CouchDBRepository as e,CouchDBAdapter as r,generateIndexes as s,generateViews as i,CouchDBKeys as a,IndexError as o}from"@decaf-ts/for-couchdb";import{InternalError as n,BaseError as c,ConflictError as h,NotFoundError as d,onCreate as l,onCreateUpdate as u}from"@decaf-ts/db-decorators";import{Adapter as f,UnsupportedError as p,ConnectionError as g,PersistenceKeys as w}from"@decaf-ts/core";import{Model as m}from"@decaf-ts/decorator-validation";import y from"pouchdb-core";import*as E from"pouchdb-mapreduce";import*as b from"pouchdb-replication";import*as v from"pouchdb-find";import{Decoration as _,propMetadata as C,Metadata as $}from"@decaf-ts/decoration";const k="pouch",x="local_dbs";class A extends e{constructor(t,e){super(t,e)}override(t){return super.override(t).for(t)}}async function D(t,e,r,s){try{const e=t.get("UUID");s[r]=e}catch(t){throw new p("No User found in context. Please provide a user in the context")}}class M extends r{constructor(t,e){super(t,k,e),this._pluginsRegistered=!1}registerPlugins(){if(this._pluginsRegistered)return;const t=[E,b,v,...this.config.plugins];for(const e of t)try{y.plugin(e)}catch(t){if(t instanceof Error&&t.message.includes("redefine property"))continue;throw t}this._pluginsRegistered=!0}buildClient(t,e){this.registerPlugins();const{host:r,protocol:s,dbName:i,storagePath:a}=this.config;try{return new y(r?`${s}://${t?`${t?encodeURIComponent(t):""}${t&&e?":"+encodeURIComponent(e):""}@`:""}${r}/${i}`:`${a||x}/${i}`)}catch(t){throw new n("Failed to create PouchDB client: "+t)}}getAdminClient(){return this.config.adminUser?(this._adminClient||(this._adminClient=this.buildClient(this.config.adminUser,this.config.adminPassword??this.config.password)),this._adminClient):this.getClient()}getClient(){return this._client||(this._client=this.buildClient(this.config.user,this.config.password)),this._client}async flags(e,r,s,...i){return this.config.user||(this.config.user=t()),super.flags(e,r,Object.assign({UUID:this.config.user},s),...i)}repository(){return A}async index(...t){const e=this.getAdminClient();try{const r=3,a=s(t),o=new Set;try{const t=await e.get("_index");(t?.indexes||[]).forEach(t=>{t.name&&o.add(t.name)})}catch{}for(const t of a){const s=t.name??t.ddoc??"index";if(o.has(s))continue;let i=0;for(;;)try{await e.createIndex(t),o.add(s);break}catch(a){if(409===a?.status||"conflict"===a?.error)break;if(500===a?.status){i+=1;const a="_design/"+(t.ddoc??s);try{const t=await e.get(a);await e.remove(a,t._rev)}catch{}if(i>=r)break;await new Promise(t=>setTimeout(t,100*i));continue}throw a}}const n=i(t);for(const t of n)try{await e.put(t)}catch(r){if(409!==r?.status&&"conflict"!==r?.error)throw r;{const r=await e.get(t._id);await e.put({...t,_rev:r._rev})}}}catch(t){}}async create(t,e,r,...s){let i;try{i=await this.client.put(r)}catch(t){throw this.parseError(t)}if(!i.ok)throw new n(`Failed to insert doc id: ${e} in table ${m.tableName(t)}`);return this.assignMetadata(r,i.rev)}async createAll(t,e,r,...s){let i;try{i=await this.client.bulkDocs(r)}catch(t){throw this.parseError(t)}if(!i.every(t=>t.ok)){const t=i.reduce((t,e,r)=>(e.error&&t.push(`el ${r}: ${e.error}${e.reason?" - "+e.reason:""}`),t),[]);throw new n(t.join("\n"))}return this.assignMultipleMetadata(r,i.map(t=>t.rev))}async read(t,e,...r){const s=this.generateId(m.tableName(t),e);let i;try{i=await this.client.get(s)}catch(t){throw this.parseError(t)}return this.assignMetadata(i,i._rev)}async readAll(t,e,...r){const s=m.tableName(t);return(await this.client.bulkGet({docs:e.map(t=>({id:this.generateId(s,t)}))})).results.reduce((t,e)=>(e.docs.forEach(e=>{if(e.error||!e.ok)throw this.parseError(e.error||new n("Missing valid response"));const r=Object.assign({},e.ok);t.push(this.assignMetadata(r,e.ok[a.REV]))}),t),[])}async update(t,e,r,...s){let i;try{i=await this.client.put(r)}catch(t){throw this.parseError(t)}if(!i.ok)throw new n(`Failed to update doc id: ${e} in table ${m.tableName(t)}`);return this.assignMetadata(r,i.rev)}async updateAll(t,e,r,...s){let i;try{i=await this.client.bulkDocs(r)}catch(t){throw this.parseError(t)}if(!i.every(t=>!t.error)){const t=i.reduce((t,e,r)=>(e.error&&t.push(`el ${r}: ${e.error}${e.reason?" - "+e.reason:""}`),t),[]);throw new n(t.join("\n"))}return this.assignMultipleMetadata(r,i.map(t=>t.rev))}async delete(t,e,...r){const s=this.generateId(m.tableName(t),e);let i;try{i=await this.client.get(s),await this.client.remove(s,i._rev)}catch(t){throw this.parseError(t)}return this.assignMetadata(i,i._rev)}async deleteAll(t,e,...r){const{log:s}=this.logCtx(r,this.deleteAll),i=m.tableName(t),o=await this.client.bulkGet({docs:e.map(t=>({id:this.generateId(i,t)}))}),c=o.results.reduce((t,e)=>(e.docs.forEach(e=>{if(e.error)throw this.parseError(e.error||new n("Missing valid response"));const r=Object.assign({},e.ok);r[a.DELETED]=!0,t.push(r)}),t),[]);return(await this.client.bulkDocs(c)).forEach(t=>{const e=t.error;e&&s.error(e+"")}),o.results.reduce((t,e)=>(e.docs.forEach(e=>{if(e.error||!e.ok)throw this.parseError(e.error||new n("Missing valid response"));const r=Object.assign({},e.ok);t.push(this.assignMetadata(r,e.ok[a.REV]))}),t),[])}async raw(t,e=!0,...r){try{const s=await this.client.find(t);if(s.warning){const{log:t}=await this.logCtx(r,this.raw,!0);t.for(this.raw).warn(s.warning)}return e?s.docs:s}catch(t){throw this.parseError(t)}}async view(t,e,r,...s){try{const s=`${t}/${e}`;return await this.client.query(s,r)}catch(t){throw this.parseError(t)}}parseError(t,e){return M.parseError(t,e)}static parseError(t,e){if(t instanceof c)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new h(r);if(r.match(/missing|deleted/g))return new d(r)}else t.status?(r=t.status,e=e||t.message):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 h(e);case"404":return new d(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new o(t):new n(t);default:return r.toString().match(/ECONNREFUSED/g)?new g(t):new n(t)}}static decoration(){super.decoration(),_.flavouredAs(k).for(w.CREATED_BY).define(l(D),C(w.CREATED_BY,{})).apply(),_.flavouredAs(k).for(w.UPDATED_BY).define(u(D),C(w.UPDATED_BY,{})).apply()}}f.setCurrent(k),M.decoration();const N="##VERSION##",U="##PACKAGE##";$.registerLibrary(U,N);export{x as DefaultLocalStoragePath,U as PACKAGE_NAME,M as PouchAdapter,k as PouchFlavour,A as PouchRepository,N as VERSION,D as createdByOnPouchCreateUpdate};
2
2
  //# sourceMappingURL=for-pouch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-pouch.js","sources":["../src/constants.ts","../src/adapter.ts","../src/index.ts"],"sourcesContent":[null,null,null],"names":["PouchFlavour","DefaultLocalStoragePath","async","createdByOnPouchCreateUpdate","context","data","key","model","uuid","get","e","UnsupportedError","PouchAdapter","CouchDBAdapter","constructor","config","alias","super","getClient","this","_client","plugins","PouchMapReduce","PouchReplication","PouchFind","plugin","PouchDB","Error","message","includes","host","protocol","user","password","dbName","storagePath","InternalError","flags","operation","args","crypto","randomUUID","Object","assign","UUID","index","models","indexes","generateIndexes","res","client","createIndex","result","ConflictError","name","create","tableName","id","response","put","parseError","ok","Model","assignMetadata","rev","createAll","ids","bulkDocs","every","r","errors","reduce","accum","el","i","error","push","reason","join","assignMultipleMetadata","map","read","_id","generateId","record","_rev","readAll","table","bulkGet","docs","results","forEach","d","CouchDBKeys","REV","update","updateAll","remove","deleteAll","log","logCtx","docsToDelete","next","DELETED","err","String","raw","rawInput","docsOnly","find","warning","length","for","warn","BaseError","code","match","NotFoundError","status","toString","IndexError","ConnectionError","decoration","Decoration","flavouredAs","PersistenceKeys","CREATED_BY","define","onCreate","propMetadata","apply","UPDATED_BY","onCreateUpdate","Adapter","setCurrent","VERSION","PACKAGE_NAME","Metadata","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"for-pouch.js","sources":["../src/constants.ts","../src/PouchRepository.ts","../src/adapter.ts","../src/index.ts"],"sourcesContent":[null,null,null,null],"names":["PouchFlavour","DefaultLocalStoragePath","PouchRepository","CouchDBRepository","constructor","adapter","model","super","override","flags","for","async","createdByOnPouchCreateUpdate","context","data","key","uuid","get","e","UnsupportedError","PouchAdapter","CouchDBAdapter","config","alias","this","_pluginsRegistered","registerPlugins","plugins","PouchMapReduce","PouchReplication","PouchFind","plugin","PouchDB","Error","message","includes","buildClient","user","password","host","protocol","dbName","storagePath","encodeURIComponent","InternalError","getAdminClient","adminUser","_adminClient","adminPassword","getClient","_client","operation","args","randomUUID","Object","assign","UUID","repository","index","models","client","MAX_INDEX_ATTEMPTS","indexes","generateIndexes","existingIndexNames","Set","response","forEach","idx","name","add","indexName","ddoc","has","attempts","createIndex","status","error","docId","existing","remove","_rev","Promise","resolve","setTimeout","views","generateViews","view","put","_id","create","tableName","id","parseError","ok","Model","assignMetadata","rev","createAll","ids","bulkDocs","every","r","errors","reduce","accum","el","i","push","reason","join","assignMultipleMetadata","map","read","generateId","record","readAll","table","bulkGet","docs","results","d","result","CouchDBKeys","REV","update","updateAll","deleteAll","log","logCtx","docsToDelete","next","DELETED","err","String","raw","rawInput","docsOnly","find","warning","warn","viewName","options","_args","queryName","query","BaseError","code","match","ConflictError","NotFoundError","statusCode","toString","IndexError","ConnectionError","decoration","Decoration","flavouredAs","PersistenceKeys","CREATED_BY","define","onCreate","propMetadata","apply","UPDATED_BY","onCreateUpdate","Adapter","setCurrent","VERSION","PACKAGE_NAME","Metadata","registerLibrary"],"mappings":"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"}
@@ -1,3 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PouchRepository = void 0;
4
+ const for_couchdb_1 = require("@decaf-ts/for-couchdb");
5
+ /**
6
+ * @description Repository implementation for PouchDB-backed models
7
+ * @summary Extends the CouchDBRepository with PouchAdapter-specific overrides so the repository can be proxied with the correct flags.
8
+ * @template M - Model type managed by this repository
9
+ * @memberOf module:for-pouch
10
+ */
11
+ class PouchRepository extends for_couchdb_1.CouchDBRepository {
12
+ constructor(adapter, model) {
13
+ super(adapter, model);
14
+ }
15
+ override(flags) {
16
+ return super.override(flags).for(flags);
17
+ }
18
+ }
19
+ exports.PouchRepository = PouchRepository;
3
20
  //# sourceMappingURL=PouchRepository.js.map
@@ -1,12 +1,15 @@
1
1
  import { Model } from "@decaf-ts/decorator-validation";
2
2
  import { CouchDBRepository } from "@decaf-ts/for-couchdb";
3
+ import { ContextOf, FlagsOf } from "@decaf-ts/core";
4
+ import { Constructor } from "@decaf-ts/decoration";
3
5
  import { PouchAdapter } from "./adapter";
4
6
  /**
5
- * @description Type definition for a PouchDB repository
6
- * @summary A specialized repository type for working with PouchDB.
7
- * This type combines the generic Repository with PouchDB-specific components like MangoQuery and PouchAdapter.
8
- * @template M - The model type that extends Model
9
- * @typedef {Repository<M, MangoQuery, PouchAdapter>} PouchRepository
7
+ * @description Repository implementation for PouchDB-backed models
8
+ * @summary Extends the CouchDBRepository with PouchAdapter-specific overrides so the repository can be proxied with the correct flags.
9
+ * @template M - Model type managed by this repository
10
10
  * @memberOf module:for-pouch
11
11
  */
12
- export type PouchRepository<M extends Model> = CouchDBRepository<M, PouchAdapter>;
12
+ export declare class PouchRepository<M extends Model> extends CouchDBRepository<M, PouchAdapter> {
13
+ constructor(adapter: PouchAdapter, model: Constructor<M>);
14
+ override(flags: Partial<FlagsOf<ContextOf<PouchAdapter>>>): this;
15
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"PouchRepository.js","sourceRoot":"","sources":["../src/PouchRepository.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"PouchRepository.js","sourceRoot":"","sources":["../src/PouchRepository.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAK1D;;;;;GAKG;AACH,MAAa,eAAiC,SAAQ,+BAGrD;IACC,YAAY,OAAqB,EAAE,KAAqB;QACtD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAEQ,QAAQ,CACf,KAAgD;QAEhD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAyB,CAAC,CAAC;IAC9D,CAAC;CACF;AAbD,0CAaC"}