@decaf-ts/for-pouch 0.2.8 → 0.2.9

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.
@@ -6,3 +6,10 @@
6
6
  * @memberOf module:for-pouch
7
7
  */
8
8
  export declare const PouchFlavour = "pouch";
9
+ /**
10
+ * @description Default relative path where local PouchDB databases are stored
11
+ * @summary Used when creating a local PouchDB instance without a remote host; combined with dbName to form the filesystem path.
12
+ * @const DefaultLocalStoragePath
13
+ * @memberOf module:for-pouch
14
+ */
15
+ export declare const DefaultLocalStoragePath = "local_dbs";
@@ -6,4 +6,11 @@
6
6
  * @memberOf module:for-pouch
7
7
  */
8
8
  export const PouchFlavour = "pouch";
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gSWRlbnRpZmllciBmb3IgUG91Y2hEQiBmbGF2b3IgaW4gdGhlIGRlY29yYXRvciBzeXN0ZW1cbiAqIEBzdW1tYXJ5IEEgc3RyaW5nIGNvbnN0YW50IHRoYXQgaWRlbnRpZmllcyB0aGUgUG91Y2hEQiBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgZGVjb3JhdG9yIHN5c3RlbS5cbiAqIFRoaXMgaXMgdXNlZCB0byB0YXJnZXQgZGVjb3JhdG9ycyBzcGVjaWZpY2FsbHkgZm9yIFBvdWNoREIgYWRhcHRlcnMuXG4gKiBAY29uc3QgUG91Y2hGbGF2b3VyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1wb3VjaFxuICovXG5leHBvcnQgY29uc3QgUG91Y2hGbGF2b3VyID0gXCJwb3VjaFwiO1xuIl19
9
+ /**
10
+ * @description Default relative path where local PouchDB databases are stored
11
+ * @summary Used when creating a local PouchDB instance without a remote host; combined with dbName to form the filesystem path.
12
+ * @const DefaultLocalStoragePath
13
+ * @memberOf module:for-pouch
14
+ */
15
+ export const DefaultLocalStoragePath = "local_dbs";
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDO0FBRXBDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gSWRlbnRpZmllciBmb3IgUG91Y2hEQiBmbGF2b3IgaW4gdGhlIGRlY29yYXRvciBzeXN0ZW1cbiAqIEBzdW1tYXJ5IEEgc3RyaW5nIGNvbnN0YW50IHRoYXQgaWRlbnRpZmllcyB0aGUgUG91Y2hEQiBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgZGVjb3JhdG9yIHN5c3RlbS5cbiAqIFRoaXMgaXMgdXNlZCB0byB0YXJnZXQgZGVjb3JhdG9ycyBzcGVjaWZpY2FsbHkgZm9yIFBvdWNoREIgYWRhcHRlcnMuXG4gKiBAY29uc3QgUG91Y2hGbGF2b3VyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1wb3VjaFxuICovXG5leHBvcnQgY29uc3QgUG91Y2hGbGF2b3VyID0gXCJwb3VjaFwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZhdWx0IHJlbGF0aXZlIHBhdGggd2hlcmUgbG9jYWwgUG91Y2hEQiBkYXRhYmFzZXMgYXJlIHN0b3JlZFxuICogQHN1bW1hcnkgVXNlZCB3aGVuIGNyZWF0aW5nIGEgbG9jYWwgUG91Y2hEQiBpbnN0YW5jZSB3aXRob3V0IGEgcmVtb3RlIGhvc3Q7IGNvbWJpbmVkIHdpdGggZGJOYW1lIHRvIGZvcm0gdGhlIGZpbGVzeXN0ZW0gcGF0aC5cbiAqIEBjb25zdCBEZWZhdWx0TG9jYWxTdG9yYWdlUGF0aFxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItcG91Y2hcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRMb2NhbFN0b3JhZ2VQYXRoID0gXCJsb2NhbF9kYnNcIjtcbiJdfQ==
@@ -4,7 +4,7 @@ export * from "./types";
4
4
  export * from "./adapter";
5
5
  /**
6
6
  * @description A TypeScript adapter for PouchDB integration
7
- * @summary This module provides a repository pattern implementation for PouchDB, allowing for easy database operations with TypeScript type safety. It exports constants, repository classes, types, and adapters for working with PouchDB.
7
+ * @summary Provides a repository-pattern implementation backed by PouchDB, exposing the {@link PouchAdapter} to interface with databases, the {@link PouchRepository} for typed data access, configuration {@link module:for-pouch|constants} like {@link PouchFlavour} and {@link DefaultLocalStoragePath}, and related {@link module:for-pouch|types}. This module wires up decorators on load to support created/updated-by fields.
8
8
  * @module for-pouch
9
9
  */
10
10
  /**
@@ -13,4 +13,4 @@ export * from "./adapter";
13
13
  * @const VERSION
14
14
  * @memberOf module:for-pouch
15
15
  */
16
- export declare const VERSION = "0.2.8";
16
+ export declare const VERSION = "0.2.9";
package/lib/esm/index.js CHANGED
@@ -7,7 +7,7 @@ export * from "./types.js";
7
7
  export * from "./adapter.js";
8
8
  /**
9
9
  * @description A TypeScript adapter for PouchDB integration
10
- * @summary This module provides a repository pattern implementation for PouchDB, allowing for easy database operations with TypeScript type safety. It exports constants, repository classes, types, and adapters for working with PouchDB.
10
+ * @summary Provides a repository-pattern implementation backed by PouchDB, exposing the {@link PouchAdapter} to interface with databases, the {@link PouchRepository} for typed data access, configuration {@link module:for-pouch|constants} like {@link PouchFlavour} and {@link DefaultLocalStoragePath}, and related {@link module:for-pouch|types}. This module wires up decorators on load to support created/updated-by fields.
11
11
  * @module for-pouch
12
12
  */
13
13
  /**
@@ -16,5 +16,5 @@ export * from "./adapter.js";
16
16
  * @const VERSION
17
17
  * @memberOf module:for-pouch
18
18
  */
19
- export const VERSION = "0.2.8";
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBa0I7QUFFekMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBRTFCLCtCQUE0QjtBQUM1QixxQ0FBa0M7QUFDbEMsMkJBQXdCO0FBQ3hCLDZCQUE2QjtBQUM3Qiw2QkFBMEI7QUFFMUI7Ozs7R0FJRztBQUVIOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvdWNoQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJcIjtcblxuUG91Y2hBZGFwdGVyLmRlY29yYXRpb24oKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Qb3VjaFJlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG4vLyBsZWZ0IHRvIHRoZSBlbmQgb24gcHVycG9zZVxuZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlclwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIFR5cGVTY3JpcHQgYWRhcHRlciBmb3IgUG91Y2hEQiBpbnRlZ3JhdGlvblxuICogQHN1bW1hcnkgVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSByZXBvc2l0b3J5IHBhdHRlcm4gaW1wbGVtZW50YXRpb24gZm9yIFBvdWNoREIsIGFsbG93aW5nIGZvciBlYXN5IGRhdGFiYXNlIG9wZXJhdGlvbnMgd2l0aCBUeXBlU2NyaXB0IHR5cGUgc2FmZXR5LiBJdCBleHBvcnRzIGNvbnN0YW50cywgcmVwb3NpdG9yeSBjbGFzc2VzLCB0eXBlcywgYW5kIGFkYXB0ZXJzIGZvciB3b3JraW5nIHdpdGggUG91Y2hEQi5cbiAqIEBtb2R1bGUgZm9yLXBvdWNoXG4gKi9cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUGFja2FnZSB2ZXJzaW9uIGlkZW50aWZpZXJcbiAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBmb3ItcG91Y2ggcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuIl19
19
+ export const VERSION = "0.2.9";
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBa0I7QUFFekMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBRTFCLCtCQUE0QjtBQUM1QixxQ0FBa0M7QUFDbEMsMkJBQXdCO0FBQ3hCLDZCQUE2QjtBQUM3Qiw2QkFBMEI7QUFFMUI7Ozs7R0FJRztBQUVIOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvdWNoQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJcIjtcblxuUG91Y2hBZGFwdGVyLmRlY29yYXRpb24oKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Qb3VjaFJlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG4vLyBsZWZ0IHRvIHRoZSBlbmQgb24gcHVycG9zZVxuZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlclwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIFR5cGVTY3JpcHQgYWRhcHRlciBmb3IgUG91Y2hEQiBpbnRlZ3JhdGlvblxuICogQHN1bW1hcnkgUHJvdmlkZXMgYSByZXBvc2l0b3J5LXBhdHRlcm4gaW1wbGVtZW50YXRpb24gYmFja2VkIGJ5IFBvdWNoREIsIGV4cG9zaW5nIHRoZSB7QGxpbmsgUG91Y2hBZGFwdGVyfSB0byBpbnRlcmZhY2Ugd2l0aCBkYXRhYmFzZXMsIHRoZSB7QGxpbmsgUG91Y2hSZXBvc2l0b3J5fSBmb3IgdHlwZWQgZGF0YSBhY2Nlc3MsIGNvbmZpZ3VyYXRpb24ge0BsaW5rIG1vZHVsZTpmb3ItcG91Y2h8Y29uc3RhbnRzfSBsaWtlIHtAbGluayBQb3VjaEZsYXZvdXJ9IGFuZCB7QGxpbmsgRGVmYXVsdExvY2FsU3RvcmFnZVBhdGh9LCBhbmQgcmVsYXRlZCB7QGxpbmsgbW9kdWxlOmZvci1wb3VjaHx0eXBlc30uIFRoaXMgbW9kdWxlIHdpcmVzIHVwIGRlY29yYXRvcnMgb24gbG9hZCB0byBzdXBwb3J0IGNyZWF0ZWQvdXBkYXRlZC1ieSBmaWVsZHMuXG4gKiBAbW9kdWxlIGZvci1wb3VjaFxuICovXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBhY2thZ2UgdmVyc2lvbiBpZGVudGlmaWVyXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgZm9yLXBvdWNoIHBhY2thZ2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1wb3VjaFxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdfQ==
@@ -12,3 +12,28 @@ export interface PouchFlags extends RepositoryFlags {
12
12
  */
13
13
  UUID: string;
14
14
  }
15
+ /**
16
+ * @description Configuration options for initializing a PouchDB adapter
17
+ * @summary Defines connection credentials, local storage options, database name, and a list of PouchDB plugins to register before client creation.
18
+ * @template
19
+ * @property {string} [user] - Username for remote HTTP/S connections
20
+ * @property {string} [password] - Password for remote HTTP/S connections
21
+ * @property {string} [host] - Host (and optional port) of the remote CouchDB-compatible server
22
+ * @property {("http"|"https")} [protocol] - Network protocol to use when connecting remotely
23
+ * @property {number} [port] - Optional explicit port number; if provided may be part of host instead
24
+ * @property {string} dbName - Database name used in the URL or local path
25
+ * @property {string} [storagePath] - Relative base path for local databases; defaults to {@link DefaultLocalStoragePath}
26
+ * @property {any[]} plugins - List of PouchDB plugins (modules) to register with the client
27
+ * @typeDef PouchConfig
28
+ * @memberOf module:for-pouch
29
+ */
30
+ export type PouchConfig = {
31
+ user?: string;
32
+ password?: string;
33
+ host?: string;
34
+ protocol?: "http" | "https";
35
+ port?: number;
36
+ dbName: string;
37
+ storagePath?: string;
38
+ plugins: any[];
39
+ };
package/lib/esm/types.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGbGFncyBzcGVjaWZpYyB0byBQb3VjaERCIHJlcG9zaXRvcnkgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgRXh0ZW5kcyB0aGUgYmFzZSByZXBvc2l0b3J5IGZsYWdzIHdpdGggUG91Y2hEQi1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICogVGhlc2UgZmxhZ3MgYXJlIHVzZWQgdG8gcGFzcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGR1cmluZyByZXBvc2l0b3J5IG9wZXJhdGlvbnMuXG4gKiBAaW50ZXJmYWNlIFBvdWNoRmxhZ3NcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG91Y2hGbGFncyBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IHVzZXIgb3Igb3BlcmF0aW9uXG4gICAqL1xuICBVVUlEOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGbGFncyBzcGVjaWZpYyB0byBQb3VjaERCIHJlcG9zaXRvcnkgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgRXh0ZW5kcyB0aGUgYmFzZSByZXBvc2l0b3J5IGZsYWdzIHdpdGggUG91Y2hEQi1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICogVGhlc2UgZmxhZ3MgYXJlIHVzZWQgdG8gcGFzcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGR1cmluZyByZXBvc2l0b3J5IG9wZXJhdGlvbnMuXG4gKiBAaW50ZXJmYWNlIFBvdWNoRmxhZ3NcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG91Y2hGbGFncyBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IHVzZXIgb3Igb3BlcmF0aW9uXG4gICAqL1xuICBVVUlEOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgaW5pdGlhbGl6aW5nIGEgUG91Y2hEQiBhZGFwdGVyXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGNvbm5lY3Rpb24gY3JlZGVudGlhbHMsIGxvY2FsIHN0b3JhZ2Ugb3B0aW9ucywgZGF0YWJhc2UgbmFtZSwgYW5kIGEgbGlzdCBvZiBQb3VjaERCIHBsdWdpbnMgdG8gcmVnaXN0ZXIgYmVmb3JlIGNsaWVudCBjcmVhdGlvbi5cbiAqIEB0ZW1wbGF0ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt1c2VyXSAtIFVzZXJuYW1lIGZvciByZW1vdGUgSFRUUC9TIGNvbm5lY3Rpb25zXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Bhc3N3b3JkXSAtIFBhc3N3b3JkIGZvciByZW1vdGUgSFRUUC9TIGNvbm5lY3Rpb25zXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2hvc3RdIC0gSG9zdCAoYW5kIG9wdGlvbmFsIHBvcnQpIG9mIHRoZSByZW1vdGUgQ291Y2hEQi1jb21wYXRpYmxlIHNlcnZlclxuICogQHByb3BlcnR5IHsoXCJodHRwXCJ8XCJodHRwc1wiKX0gW3Byb3RvY29sXSAtIE5ldHdvcmsgcHJvdG9jb2wgdG8gdXNlIHdoZW4gY29ubmVjdGluZyByZW1vdGVseVxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb3J0XSAtIE9wdGlvbmFsIGV4cGxpY2l0IHBvcnQgbnVtYmVyOyBpZiBwcm92aWRlZCBtYXkgYmUgcGFydCBvZiBob3N0IGluc3RlYWRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkYk5hbWUgLSBEYXRhYmFzZSBuYW1lIHVzZWQgaW4gdGhlIFVSTCBvciBsb2NhbCBwYXRoXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3N0b3JhZ2VQYXRoXSAtIFJlbGF0aXZlIGJhc2UgcGF0aCBmb3IgbG9jYWwgZGF0YWJhc2VzOyBkZWZhdWx0cyB0byB7QGxpbmsgRGVmYXVsdExvY2FsU3RvcmFnZVBhdGh9XG4gKiBAcHJvcGVydHkge2FueVtdfSBwbHVnaW5zIC0gTGlzdCBvZiBQb3VjaERCIHBsdWdpbnMgKG1vZHVsZXMpIHRvIHJlZ2lzdGVyIHdpdGggdGhlIGNsaWVudFxuICogQHR5cGVEZWYgUG91Y2hDb25maWdcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCB0eXBlIFBvdWNoQ29uZmlnID0ge1xuICB1c2VyPzogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgaG9zdD86IHN0cmluZztcbiAgcHJvdG9jb2w/OiBcImh0dHBcIiB8IFwiaHR0cHNcIjtcbiAgcG9ydD86IG51bWJlcjtcbiAgZGJOYW1lOiBzdHJpbmc7XG4gIHN0b3JhZ2VQYXRoPzogc3RyaW5nO1xuICBwbHVnaW5zOiBhbnlbXTtcbn07XG4iXX0=
package/lib/index.cjs CHANGED
@@ -24,7 +24,7 @@ __exportStar(require("./types.cjs"), exports);
24
24
  __exportStar(require("./adapter.cjs"), exports);
25
25
  /**
26
26
  * @description A TypeScript adapter for PouchDB integration
27
- * @summary This module provides a repository pattern implementation for PouchDB, allowing for easy database operations with TypeScript type safety. It exports constants, repository classes, types, and adapters for working with PouchDB.
27
+ * @summary Provides a repository-pattern implementation backed by PouchDB, exposing the {@link PouchAdapter} to interface with databases, the {@link PouchRepository} for typed data access, configuration {@link module:for-pouch|constants} like {@link PouchFlavour} and {@link DefaultLocalStoragePath}, and related {@link module:for-pouch|types}. This module wires up decorators on load to support created/updated-by fields.
28
28
  * @module for-pouch
29
29
  */
30
30
  /**
@@ -33,5 +33,5 @@ __exportStar(require("./adapter.cjs"), exports);
33
33
  * @const VERSION
34
34
  * @memberOf module:for-pouch
35
35
  */
36
- exports.VERSION = "0.2.8";
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUM7QUFFekMsc0JBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUUxQixrREFBNEI7QUFDNUIsd0RBQWtDO0FBQ2xDLDhDQUF3QjtBQUN4Qiw2QkFBNkI7QUFDN0IsZ0RBQTBCO0FBRTFCOzs7O0dBSUc7QUFFSDs7Ozs7R0FLRztBQUNVLFFBQUEsT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvdWNoQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJcIjtcblxuUG91Y2hBZGFwdGVyLmRlY29yYXRpb24oKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Qb3VjaFJlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG4vLyBsZWZ0IHRvIHRoZSBlbmQgb24gcHVycG9zZVxuZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlclwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIFR5cGVTY3JpcHQgYWRhcHRlciBmb3IgUG91Y2hEQiBpbnRlZ3JhdGlvblxuICogQHN1bW1hcnkgVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSByZXBvc2l0b3J5IHBhdHRlcm4gaW1wbGVtZW50YXRpb24gZm9yIFBvdWNoREIsIGFsbG93aW5nIGZvciBlYXN5IGRhdGFiYXNlIG9wZXJhdGlvbnMgd2l0aCBUeXBlU2NyaXB0IHR5cGUgc2FmZXR5LiBJdCBleHBvcnRzIGNvbnN0YW50cywgcmVwb3NpdG9yeSBjbGFzc2VzLCB0eXBlcywgYW5kIGFkYXB0ZXJzIGZvciB3b3JraW5nIHdpdGggUG91Y2hEQi5cbiAqIEBtb2R1bGUgZm9yLXBvdWNoXG4gKi9cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUGFja2FnZSB2ZXJzaW9uIGlkZW50aWZpZXJcbiAqIEBzdW1tYXJ5IFN0b3JlcyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBmb3ItcG91Y2ggcGFja2FnZVxuICogQGNvbnN0IFZFUlNJT05cbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuIl19
36
+ exports.VERSION = "0.2.9";
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBeUM7QUFFekMsc0JBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUUxQixrREFBNEI7QUFDNUIsd0RBQWtDO0FBQ2xDLDhDQUF3QjtBQUN4Qiw2QkFBNkI7QUFDN0IsZ0RBQTBCO0FBRTFCOzs7O0dBSUc7QUFFSDs7Ozs7R0FLRztBQUNVLFFBQUEsT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvdWNoQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJcIjtcblxuUG91Y2hBZGFwdGVyLmRlY29yYXRpb24oKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Qb3VjaFJlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG4vLyBsZWZ0IHRvIHRoZSBlbmQgb24gcHVycG9zZVxuZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlclwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIFR5cGVTY3JpcHQgYWRhcHRlciBmb3IgUG91Y2hEQiBpbnRlZ3JhdGlvblxuICogQHN1bW1hcnkgUHJvdmlkZXMgYSByZXBvc2l0b3J5LXBhdHRlcm4gaW1wbGVtZW50YXRpb24gYmFja2VkIGJ5IFBvdWNoREIsIGV4cG9zaW5nIHRoZSB7QGxpbmsgUG91Y2hBZGFwdGVyfSB0byBpbnRlcmZhY2Ugd2l0aCBkYXRhYmFzZXMsIHRoZSB7QGxpbmsgUG91Y2hSZXBvc2l0b3J5fSBmb3IgdHlwZWQgZGF0YSBhY2Nlc3MsIGNvbmZpZ3VyYXRpb24ge0BsaW5rIG1vZHVsZTpmb3ItcG91Y2h8Y29uc3RhbnRzfSBsaWtlIHtAbGluayBQb3VjaEZsYXZvdXJ9IGFuZCB7QGxpbmsgRGVmYXVsdExvY2FsU3RvcmFnZVBhdGh9LCBhbmQgcmVsYXRlZCB7QGxpbmsgbW9kdWxlOmZvci1wb3VjaHx0eXBlc30uIFRoaXMgbW9kdWxlIHdpcmVzIHVwIGRlY29yYXRvcnMgb24gbG9hZCB0byBzdXBwb3J0IGNyZWF0ZWQvdXBkYXRlZC1ieSBmaWVsZHMuXG4gKiBAbW9kdWxlIGZvci1wb3VjaFxuICovXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBhY2thZ2UgdmVyc2lvbiBpZGVudGlmaWVyXG4gKiBAc3VtbWFyeSBTdG9yZXMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgZm9yLXBvdWNoIHBhY2thZ2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1wb3VjaFxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiIyNWRVJTSU9OIyNcIjtcbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export * from "./types";
4
4
  export * from "./adapter";
5
5
  /**
6
6
  * @description A TypeScript adapter for PouchDB integration
7
- * @summary This module provides a repository pattern implementation for PouchDB, allowing for easy database operations with TypeScript type safety. It exports constants, repository classes, types, and adapters for working with PouchDB.
7
+ * @summary Provides a repository-pattern implementation backed by PouchDB, exposing the {@link PouchAdapter} to interface with databases, the {@link PouchRepository} for typed data access, configuration {@link module:for-pouch|constants} like {@link PouchFlavour} and {@link DefaultLocalStoragePath}, and related {@link module:for-pouch|types}. This module wires up decorators on load to support created/updated-by fields.
8
8
  * @module for-pouch
9
9
  */
10
10
  /**
@@ -13,4 +13,4 @@ export * from "./adapter";
13
13
  * @const VERSION
14
14
  * @memberOf module:for-pouch
15
15
  */
16
- export declare const VERSION = "0.2.8";
16
+ export declare const VERSION = "0.2.9";
package/lib/types.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGbGFncyBzcGVjaWZpYyB0byBQb3VjaERCIHJlcG9zaXRvcnkgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgRXh0ZW5kcyB0aGUgYmFzZSByZXBvc2l0b3J5IGZsYWdzIHdpdGggUG91Y2hEQi1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICogVGhlc2UgZmxhZ3MgYXJlIHVzZWQgdG8gcGFzcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGR1cmluZyByZXBvc2l0b3J5IG9wZXJhdGlvbnMuXG4gKiBAaW50ZXJmYWNlIFBvdWNoRmxhZ3NcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG91Y2hGbGFncyBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IHVzZXIgb3Igb3BlcmF0aW9uXG4gICAqL1xuICBVVUlEOiBzdHJpbmc7XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnlGbGFncyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBGbGFncyBzcGVjaWZpYyB0byBQb3VjaERCIHJlcG9zaXRvcnkgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgRXh0ZW5kcyB0aGUgYmFzZSByZXBvc2l0b3J5IGZsYWdzIHdpdGggUG91Y2hEQi1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICogVGhlc2UgZmxhZ3MgYXJlIHVzZWQgdG8gcGFzcyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGR1cmluZyByZXBvc2l0b3J5IG9wZXJhdGlvbnMuXG4gKiBAaW50ZXJmYWNlIFBvdWNoRmxhZ3NcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG91Y2hGbGFncyBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjdXJyZW50IHVzZXIgb3Igb3BlcmF0aW9uXG4gICAqL1xuICBVVUlEOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgaW5pdGlhbGl6aW5nIGEgUG91Y2hEQiBhZGFwdGVyXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGNvbm5lY3Rpb24gY3JlZGVudGlhbHMsIGxvY2FsIHN0b3JhZ2Ugb3B0aW9ucywgZGF0YWJhc2UgbmFtZSwgYW5kIGEgbGlzdCBvZiBQb3VjaERCIHBsdWdpbnMgdG8gcmVnaXN0ZXIgYmVmb3JlIGNsaWVudCBjcmVhdGlvbi5cbiAqIEB0ZW1wbGF0ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt1c2VyXSAtIFVzZXJuYW1lIGZvciByZW1vdGUgSFRUUC9TIGNvbm5lY3Rpb25zXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Bhc3N3b3JkXSAtIFBhc3N3b3JkIGZvciByZW1vdGUgSFRUUC9TIGNvbm5lY3Rpb25zXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2hvc3RdIC0gSG9zdCAoYW5kIG9wdGlvbmFsIHBvcnQpIG9mIHRoZSByZW1vdGUgQ291Y2hEQi1jb21wYXRpYmxlIHNlcnZlclxuICogQHByb3BlcnR5IHsoXCJodHRwXCJ8XCJodHRwc1wiKX0gW3Byb3RvY29sXSAtIE5ldHdvcmsgcHJvdG9jb2wgdG8gdXNlIHdoZW4gY29ubmVjdGluZyByZW1vdGVseVxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtwb3J0XSAtIE9wdGlvbmFsIGV4cGxpY2l0IHBvcnQgbnVtYmVyOyBpZiBwcm92aWRlZCBtYXkgYmUgcGFydCBvZiBob3N0IGluc3RlYWRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBkYk5hbWUgLSBEYXRhYmFzZSBuYW1lIHVzZWQgaW4gdGhlIFVSTCBvciBsb2NhbCBwYXRoXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3N0b3JhZ2VQYXRoXSAtIFJlbGF0aXZlIGJhc2UgcGF0aCBmb3IgbG9jYWwgZGF0YWJhc2VzOyBkZWZhdWx0cyB0byB7QGxpbmsgRGVmYXVsdExvY2FsU3RvcmFnZVBhdGh9XG4gKiBAcHJvcGVydHkge2FueVtdfSBwbHVnaW5zIC0gTGlzdCBvZiBQb3VjaERCIHBsdWdpbnMgKG1vZHVsZXMpIHRvIHJlZ2lzdGVyIHdpdGggdGhlIGNsaWVudFxuICogQHR5cGVEZWYgUG91Y2hDb25maWdcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLXBvdWNoXG4gKi9cbmV4cG9ydCB0eXBlIFBvdWNoQ29uZmlnID0ge1xuICB1c2VyPzogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgaG9zdD86IHN0cmluZztcbiAgcHJvdG9jb2w/OiBcImh0dHBcIiB8IFwiaHR0cHNcIjtcbiAgcG9ydD86IG51bWJlcjtcbiAgZGJOYW1lOiBzdHJpbmc7XG4gIHN0b3JhZ2VQYXRoPzogc3RyaW5nO1xuICBwbHVnaW5zOiBhbnlbXTtcbn07XG4iXX0=
package/lib/types.d.ts CHANGED
@@ -12,3 +12,28 @@ export interface PouchFlags extends RepositoryFlags {
12
12
  */
13
13
  UUID: string;
14
14
  }
15
+ /**
16
+ * @description Configuration options for initializing a PouchDB adapter
17
+ * @summary Defines connection credentials, local storage options, database name, and a list of PouchDB plugins to register before client creation.
18
+ * @template
19
+ * @property {string} [user] - Username for remote HTTP/S connections
20
+ * @property {string} [password] - Password for remote HTTP/S connections
21
+ * @property {string} [host] - Host (and optional port) of the remote CouchDB-compatible server
22
+ * @property {("http"|"https")} [protocol] - Network protocol to use when connecting remotely
23
+ * @property {number} [port] - Optional explicit port number; if provided may be part of host instead
24
+ * @property {string} dbName - Database name used in the URL or local path
25
+ * @property {string} [storagePath] - Relative base path for local databases; defaults to {@link DefaultLocalStoragePath}
26
+ * @property {any[]} plugins - List of PouchDB plugins (modules) to register with the client
27
+ * @typeDef PouchConfig
28
+ * @memberOf module:for-pouch
29
+ */
30
+ export type PouchConfig = {
31
+ user?: string;
32
+ password?: string;
33
+ host?: string;
34
+ protocol?: "http" | "https";
35
+ port?: number;
36
+ dbName: string;
37
+ storagePath?: string;
38
+ plugins: any[];
39
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-pouch",
3
- "version": "0.2.8",
3
+ "version": "0.2.9",
4
4
  "description": "decaf-ts persistence adapter for PouchDB",
5
5
  "type": "module",
6
6
  "exports": {
@@ -29,6 +29,7 @@
29
29
  "coverage": "rimraf ./workdocs/reports/data/*.json && npm run test:all -- --coverage --config=./workdocs/reports/jest.coverage.config.ts",
30
30
  "lint": "eslint .",
31
31
  "lint-fix": "eslint --fix .",
32
+ "prepare-pr": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
32
33
  "prepare-release": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
33
34
  "release": "./bin/tag-release.sh",
34
35
  "clean-publish": "npx clean-publish",
@@ -125,7 +126,9 @@
125
126
  "@decaf-ts/decorator-validation": "latest",
126
127
  "@decaf-ts/for-couchdb": "latest",
127
128
  "@decaf-ts/injectable-decorators": "latest",
129
+ "@decaf-ts/logging": "latest",
128
130
  "@decaf-ts/reflection": "latest",
131
+ "@decaf-ts/transactional-decorators": "latest",
129
132
  "pouchdb-core": "^9.0.0",
130
133
  "pouchdb-find": "^9.0.0"
131
134
  }