@decaf-ts/for-pouch 0.3.27 → 0.3.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/for-pouch.cjs +1 -1
- package/dist/for-pouch.cjs.map +1 -1
- package/dist/for-pouch.js +1 -1
- package/dist/for-pouch.js.map +1 -1
- package/lib/PouchRepository.cjs +2 -2
- package/lib/PouchRepository.d.ts +1 -1
- package/lib/PouchRepository.js.map +1 -1
- package/lib/esm/PouchRepository.d.ts +1 -1
- package/lib/esm/PouchRepository.js +2 -2
- package/lib/esm/PouchRepository.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/for-pouch.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,o,a,s,i,n,c,d,h,u){"use strict";function l(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 f=l(c),p=l(d),g=l(h);const w="pouch",y="local_dbs";class E extends o.CouchDBRepository{constructor(e,t){super(e,t)}override(e){return super.override(e).for(e)}}async function b(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 m extends o.CouchDBAdapter{constructor(e,t){super(e,w,t),this._pluginsRegistered=!1}registerPlugins(){if(this._pluginsRegistered)return;const e=[f,p,g,...this.config.plugins];for(const t of e)try{n.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:i}=this.config;try{return new n(r?`${o}://${e?`${e?encodeURIComponent(e):""}${e&&t?":"+encodeURIComponent(t):""}@`:""}${r}/${s}`:`${i||y}/${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 E}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 i=o.generateViews(e);for(const e of i)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 ${i.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(i.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=i.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 ${i.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(i.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),n=i.Model.tableName(e),c=await this.client.bulkGet({docs:t.map(e=>({id:this.generateId(n,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 m.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(),u.Decoration.flavouredAs(w).for(s.PersistenceKeys.CREATED_BY).define(a.onCreate(b),u.propMetadata(s.PersistenceKeys.CREATED_BY,{})).apply(),u.Decoration.flavouredAs(w).for(s.PersistenceKeys.UPDATED_BY).define(a.onCreateUpdate(b),u.propMetadata(s.PersistenceKeys.UPDATED_BY,{})).apply()}}s.Adapter.setCurrent(w),m.decoration();const C="##VERSION##",v="##PACKAGE##";u.Metadata.registerLibrary(v,C),e.DefaultLocalStoragePath=y,e.PACKAGE_NAME=v,e.PouchAdapter=m,e.PouchFlavour=w,e.PouchRepository=E,e.VERSION=C,e.createdByOnPouchCreateUpdate=b},"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);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,o,a,s,i,n,c,d,h,u){"use strict";function l(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 f=l(c),p=l(d),g=l(h);const w="pouch",y="local_dbs";class E extends o.CouchDBRepository{constructor(e,t,r=!1){super(e,t,r)}override(e){return super.override(e).for(e)}}async function b(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 m extends o.CouchDBAdapter{constructor(e,t){super(e,w,t),this._pluginsRegistered=!1}registerPlugins(){if(this._pluginsRegistered)return;const e=[f,p,g,...this.config.plugins];for(const t of e)try{n.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:i}=this.config;try{return new n(r?`${o}://${e?`${e?encodeURIComponent(e):""}${e&&t?":"+encodeURIComponent(t):""}@`:""}${r}/${s}`:`${i||y}/${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 E}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 i=o.generateViews(e);for(const e of i)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 ${i.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(i.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=i.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 ${i.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(i.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),n=i.Model.tableName(e),c=await this.client.bulkGet({docs:t.map(e=>({id:this.generateId(n,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 m.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(),u.Decoration.flavouredAs(w).for(s.PersistenceKeys.CREATED_BY).define(a.onCreate(b),u.propMetadata(s.PersistenceKeys.CREATED_BY,{})).apply(),u.Decoration.flavouredAs(w).for(s.PersistenceKeys.UPDATED_BY).define(a.onCreateUpdate(b),u.propMetadata(s.PersistenceKeys.UPDATED_BY,{})).apply()}}s.Adapter.setCurrent(w),m.decoration();const C="##VERSION##",v="##PACKAGE##";u.Metadata.registerLibrary(v,C),e.DefaultLocalStoragePath=y,e.PACKAGE_NAME=v,e.PouchAdapter=m,e.PouchFlavour=w,e.PouchRepository=E,e.VERSION=C,e.createdByOnPouchCreateUpdate=b},"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
|
package/dist/for-pouch.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","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":"mUAOO,MAAMA,EAAe,QAQfC,EAA0B,YCHjC,MAAOC,UAAyCC,EAAAA,kBAIpD,WAAAC,
|
|
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","force","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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"}
|
package/dist/for-pouch.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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,ConnectionError as p,PersistenceKeys as g,UnsupportedError 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 w("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 p(t):new n(t)}}static decoration(){super.decoration(),_.flavouredAs(k).for(g.CREATED_BY).define(l(D),C(g.CREATED_BY,{})).apply(),_.flavouredAs(k).for(g.UPDATED_BY).define(u(D),C(g.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};
|
|
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,ConnectionError as p,PersistenceKeys as g,UnsupportedError 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,r=!1){super(t,e,r)}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 w("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 p(t):new n(t)}}static decoration(){super.decoration(),_.flavouredAs(k).for(g.CREATED_BY).define(l(D),C(g.CREATED_BY,{})).apply(),_.flavouredAs(k).for(g.UPDATED_BY).define(u(D),C(g.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
|
package/dist/for-pouch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":"0tBAOO,MAAMA,EAAe,QAQfC,EAA0B,YCHjC,MAAOC,UAAyCC,EAIpD,WAAAC,
|
|
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","force","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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"}
|
package/lib/PouchRepository.cjs
CHANGED
|
@@ -9,8 +9,8 @@ const for_couchdb_1 = require("@decaf-ts/for-couchdb");
|
|
|
9
9
|
* @memberOf module:for-pouch
|
|
10
10
|
*/
|
|
11
11
|
class PouchRepository extends for_couchdb_1.CouchDBRepository {
|
|
12
|
-
constructor(adapter, model) {
|
|
13
|
-
super(adapter, model);
|
|
12
|
+
constructor(adapter, model, force = false) {
|
|
13
|
+
super(adapter, model, force);
|
|
14
14
|
}
|
|
15
15
|
override(flags) {
|
|
16
16
|
return super.override(flags).for(flags);
|
package/lib/PouchRepository.d.ts
CHANGED
|
@@ -10,6 +10,6 @@ import { PouchAdapter } from "./adapter";
|
|
|
10
10
|
* @memberOf module:for-pouch
|
|
11
11
|
*/
|
|
12
12
|
export declare class PouchRepository<M extends Model> extends CouchDBRepository<M, PouchAdapter> {
|
|
13
|
-
constructor(adapter: PouchAdapter, model: Constructor<M
|
|
13
|
+
constructor(adapter: PouchAdapter, model: Constructor<M>, force?: boolean);
|
|
14
14
|
override(flags: Partial<FlagsOf<ContextOf<PouchAdapter>>>): this;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PouchRepository.js","sourceRoot":"","sources":["../src/PouchRepository.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAK1D;;;;;GAKG;AACH,MAAa,eAAiC,SAAQ,+BAGrD;IACC,
|
|
1
|
+
{"version":3,"file":"PouchRepository.js","sourceRoot":"","sources":["../src/PouchRepository.ts"],"names":[],"mappings":";;;AACA,uDAA0D;AAK1D;;;;;GAKG;AACH,MAAa,eAAiC,SAAQ,+BAGrD;IACC,YACE,OAAqB,EACrB,KAAqB,EACrB,QAAiB,KAAK;QAEtB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEQ,QAAQ,CAAC,KAAgD;QAChE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAyB,CAAC,CAAC;IAC9D,CAAC;CACF;AAfD,0CAeC"}
|
|
@@ -10,6 +10,6 @@ import { PouchAdapter } from "./adapter";
|
|
|
10
10
|
* @memberOf module:for-pouch
|
|
11
11
|
*/
|
|
12
12
|
export declare class PouchRepository<M extends Model> extends CouchDBRepository<M, PouchAdapter> {
|
|
13
|
-
constructor(adapter: PouchAdapter, model: Constructor<M
|
|
13
|
+
constructor(adapter: PouchAdapter, model: Constructor<M>, force?: boolean);
|
|
14
14
|
override(flags: Partial<FlagsOf<ContextOf<PouchAdapter>>>): this;
|
|
15
15
|
}
|
|
@@ -6,8 +6,8 @@ import { CouchDBRepository } from "@decaf-ts/for-couchdb";
|
|
|
6
6
|
* @memberOf module:for-pouch
|
|
7
7
|
*/
|
|
8
8
|
export class PouchRepository extends CouchDBRepository {
|
|
9
|
-
constructor(adapter, model) {
|
|
10
|
-
super(adapter, model);
|
|
9
|
+
constructor(adapter, model, force = false) {
|
|
10
|
+
super(adapter, model, force);
|
|
11
11
|
}
|
|
12
12
|
override(flags) {
|
|
13
13
|
return super.override(flags).for(flags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PouchRepository.js","sourceRoot":"","sources":["../../src/PouchRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;;GAKG;AACH,MAAM,OAAO,eAAiC,SAAQ,iBAGrD;IACC,
|
|
1
|
+
{"version":3,"file":"PouchRepository.js","sourceRoot":"","sources":["../../src/PouchRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;;GAKG;AACH,MAAM,OAAO,eAAiC,SAAQ,iBAGrD;IACC,YACE,OAAqB,EACrB,KAAqB,EACrB,QAAiB,KAAK;QAEtB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEQ,QAAQ,CAAC,KAAgD;QAChE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAyB,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export * from "./adapter";
|
|
|
13
13
|
* @const VERSION
|
|
14
14
|
* @memberOf module:for-pouch
|
|
15
15
|
*/
|
|
16
|
-
export declare const VERSION = "0.3.
|
|
16
|
+
export declare const VERSION = "0.3.27";
|
|
17
17
|
/**
|
|
18
18
|
* @description Package version identifier
|
|
19
19
|
* @summary Stores the current version of the for-pouch package
|
package/lib/esm/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export * from "./adapter.js";
|
|
|
17
17
|
* @const VERSION
|
|
18
18
|
* @memberOf module:for-pouch
|
|
19
19
|
*/
|
|
20
|
-
export const VERSION = "0.3.
|
|
20
|
+
export const VERSION = "0.3.27";
|
|
21
21
|
/**
|
|
22
22
|
* @description Package version identifier
|
|
23
23
|
* @summary Stores the current version of the for-pouch package
|
package/lib/index.cjs
CHANGED
|
@@ -34,7 +34,7 @@ __exportStar(require("./adapter.cjs"), exports);
|
|
|
34
34
|
* @const VERSION
|
|
35
35
|
* @memberOf module:for-pouch
|
|
36
36
|
*/
|
|
37
|
-
exports.VERSION = "0.3.
|
|
37
|
+
exports.VERSION = "0.3.27";
|
|
38
38
|
/**
|
|
39
39
|
* @description Package version identifier
|
|
40
40
|
* @summary Stores the current version of the for-pouch package
|
package/lib/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export * from "./adapter";
|
|
|
13
13
|
* @const VERSION
|
|
14
14
|
* @memberOf module:for-pouch
|
|
15
15
|
*/
|
|
16
|
-
export declare const VERSION = "0.3.
|
|
16
|
+
export declare const VERSION = "0.3.27";
|
|
17
17
|
/**
|
|
18
18
|
* @description Package version identifier
|
|
19
19
|
* @summary Stores the current version of the for-pouch package
|