@decaf-ts/for-couchdb 0.3.0 → 0.3.2
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/LICENSE.md +646 -144
- package/README.md +371 -1
- package/dist/for-couchdb.cjs +907 -326
- package/dist/for-couchdb.esm.cjs +910 -329
- package/lib/adapter.cjs +249 -41
- package/lib/adapter.d.ts +243 -17
- package/lib/constants.cjs +30 -2
- package/lib/constants.d.ts +28 -0
- package/lib/errors.cjs +19 -2
- package/lib/errors.d.ts +17 -0
- package/lib/esm/adapter.d.ts +243 -17
- package/lib/esm/adapter.js +249 -41
- package/lib/esm/constants.d.ts +28 -0
- package/lib/esm/constants.js +30 -2
- package/lib/esm/errors.d.ts +17 -0
- package/lib/esm/errors.js +19 -2
- package/lib/esm/index.d.ts +6 -13
- package/lib/esm/index.js +7 -14
- package/lib/esm/indexes/generator.d.ts +47 -0
- package/lib/esm/indexes/generator.js +58 -1
- package/lib/esm/interfaces/CouchDBRepository.d.ts +10 -0
- package/lib/esm/interfaces/CouchDBRepository.js +1 -1
- package/lib/esm/model/CouchDBSequence.d.ts +15 -9
- package/lib/esm/model/CouchDBSequence.js +12 -1
- package/lib/esm/query/Paginator.d.ts +117 -4
- package/lib/esm/query/Paginator.js +128 -23
- package/lib/esm/query/Statement.d.ts +141 -8
- package/lib/esm/query/Statement.js +256 -28
- package/lib/esm/query/constants.d.ts +43 -0
- package/lib/esm/query/constants.js +44 -1
- package/lib/esm/query/index.d.ts +4 -1
- package/lib/esm/query/index.js +5 -2
- package/lib/esm/query/translate.d.ts +31 -0
- package/lib/esm/query/translate.js +32 -1
- package/lib/esm/sequences/Sequence.d.ts +0 -2
- package/lib/esm/sequences/Sequence.js +5 -9
- package/lib/esm/types.d.ts +55 -12
- package/lib/esm/types.js +1 -1
- package/lib/esm/utils.d.ts +105 -0
- package/lib/esm/utils.js +106 -1
- package/lib/index.cjs +7 -14
- package/lib/index.d.ts +6 -13
- package/lib/indexes/generator.cjs +58 -1
- package/lib/indexes/generator.d.ts +47 -0
- package/lib/interfaces/CouchDBRepository.cjs +1 -1
- package/lib/interfaces/CouchDBRepository.d.ts +10 -0
- package/lib/model/CouchDBSequence.cjs +12 -1
- package/lib/model/CouchDBSequence.d.ts +15 -9
- package/lib/query/Paginator.cjs +126 -21
- package/lib/query/Paginator.d.ts +117 -4
- package/lib/query/Statement.cjs +255 -27
- package/lib/query/Statement.d.ts +141 -8
- package/lib/query/constants.cjs +45 -2
- package/lib/query/constants.d.ts +43 -0
- package/lib/query/index.cjs +5 -2
- package/lib/query/index.d.ts +4 -1
- package/lib/query/translate.cjs +32 -1
- package/lib/query/translate.d.ts +31 -0
- package/lib/sequences/Sequence.cjs +5 -9
- package/lib/sequences/Sequence.d.ts +0 -2
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +55 -12
- package/lib/utils.cjs +106 -1
- package/lib/utils.d.ts +105 -0
- package/package.json +2 -2
- package/lib/esm/query/FromClause.d.ts +0 -7
- package/lib/esm/query/FromClause.js +0 -20
- package/lib/esm/query/InsertClause.d.ts +0 -7
- package/lib/esm/query/InsertClause.js +0 -13
- package/lib/esm/query/SelectClause.d.ts +0 -7
- package/lib/esm/query/SelectClause.js +0 -16
- package/lib/esm/query/ValuesClause.d.ts +0 -7
- package/lib/esm/query/ValuesClause.js +0 -12
- package/lib/esm/query/WhereClause.d.ts +0 -7
- package/lib/esm/query/WhereClause.js +0 -57
- package/lib/esm/query/factory.d.ts +0 -25
- package/lib/esm/query/factory.js +0 -117
- package/lib/esm/sequences/utils.d.ts +0 -1
- package/lib/esm/sequences/utils.js +0 -16
- package/lib/query/FromClause.cjs +0 -24
- package/lib/query/FromClause.d.ts +0 -7
- package/lib/query/InsertClause.cjs +0 -17
- package/lib/query/InsertClause.d.ts +0 -7
- package/lib/query/SelectClause.cjs +0 -20
- package/lib/query/SelectClause.d.ts +0 -7
- package/lib/query/ValuesClause.cjs +0 -16
- package/lib/query/ValuesClause.d.ts +0 -7
- package/lib/query/WhereClause.cjs +0 -61
- package/lib/query/WhereClause.d.ts +0 -7
- package/lib/query/factory.cjs +0 -121
- package/lib/query/factory.d.ts +0 -25
- package/lib/sequences/utils.cjs +0 -19
- package/lib/sequences/utils.d.ts +0 -1
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { sf } from "@decaf-ts/decorator-validation";
|
|
2
1
|
import { Sequence as Seq } from "../model/CouchDBSequence";
|
|
3
2
|
import { InternalError, NotFoundError } from "@decaf-ts/db-decorators";
|
|
4
3
|
import { Repository } from "@decaf-ts/core";
|
|
5
4
|
import { Sequence } from "@decaf-ts/core";
|
|
6
|
-
import { parseSequenceValue } from "./utils";
|
|
7
5
|
/**
|
|
8
6
|
* @summary Abstract implementation of a Sequence
|
|
9
7
|
* @description provides the basic functionality for {@link Sequence}s
|
|
@@ -12,13 +10,11 @@ import { parseSequenceValue } from "./utils";
|
|
|
12
10
|
*
|
|
13
11
|
* @class CouchDBSequence
|
|
14
12
|
* @implements Sequence
|
|
15
|
-
*
|
|
16
|
-
* @category Sequences
|
|
17
13
|
*/
|
|
18
14
|
export class CouchDBSequence extends Sequence {
|
|
19
15
|
constructor(options, adapter) {
|
|
20
16
|
super(options);
|
|
21
|
-
this.repo = Repository.forModel(Seq, adapter.
|
|
17
|
+
this.repo = Repository.forModel(Seq, adapter.alias);
|
|
22
18
|
}
|
|
23
19
|
/**
|
|
24
20
|
* @summary Retrieves the current value for the sequence
|
|
@@ -38,10 +34,10 @@ export class CouchDBSequence extends Sequence {
|
|
|
38
34
|
return this.parse(startWith);
|
|
39
35
|
}
|
|
40
36
|
catch (e) {
|
|
41
|
-
throw new InternalError(
|
|
37
|
+
throw new InternalError(`Failed to parse initial value for sequence ${startWith}: ${e}`);
|
|
42
38
|
}
|
|
43
39
|
}
|
|
44
|
-
throw new InternalError(
|
|
40
|
+
throw new InternalError(`Failed to retrieve current value for sequence ${name}: ${e}`);
|
|
45
41
|
}
|
|
46
42
|
}
|
|
47
43
|
/**
|
|
@@ -51,7 +47,7 @@ export class CouchDBSequence extends Sequence {
|
|
|
51
47
|
* @param value
|
|
52
48
|
*/
|
|
53
49
|
parse(value) {
|
|
54
|
-
return
|
|
50
|
+
return Sequence.parseValue(this.options.type, value);
|
|
55
51
|
}
|
|
56
52
|
/**
|
|
57
53
|
* @summary increments the sequence
|
|
@@ -111,4 +107,4 @@ export class CouchDBSequence extends Sequence {
|
|
|
111
107
|
return range;
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VxdWVuY2VzL1NlcXVlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxJQUFJLEdBQUcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxFQUFXLFVBQVUsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSTdDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxRQUFRO0lBRzNDLFlBQ0UsT0FBd0IsRUFDeEIsT0FBMkM7UUFFM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3pDLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFRLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBYyxDQUFDLENBQUM7WUFDM0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUEwQixDQUFDLENBQUM7UUFDekQsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFlBQVksYUFBYSxF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LENBQUMsV0FBVyxDQUFXLENBQUM7UUFDbkUsTUFBTSxJQUFJLEdBQTZCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FDekQsT0FBTyxFQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFZLEdBQUcsV0FBVyxDQUM1QyxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQWlDLEVBQUUsQ0FBQztRQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFZLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJO1lBQ2xDLE1BQU0sSUFBSSxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNmIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgU2VxdWVuY2UgYXMgU2VxIH0gZnJvbSBcIi4uL21vZGVsL0NvdWNoREJTZXF1ZW5jZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgTm90Rm91bmRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQWRhcHRlciwgUmVwb3NpdG9yeSwgU2VxdWVuY2VPcHRpb25zIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBTZXF1ZW5jZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgcGFyc2VTZXF1ZW5jZVZhbHVlIH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IENvdWNoREJSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBBYnN0cmFjdCBpbXBsZW1lbnRhdGlvbiBvZiBhIFNlcXVlbmNlXG4gKiBAZGVzY3JpcHRpb24gcHJvdmlkZXMgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdHkgZm9yIHtAbGluayBTZXF1ZW5jZX1zXG4gKlxuICogQHBhcmFtIHtTZXF1ZW5jZU9wdGlvbnN9IG9wdGlvbnNcbiAqXG4gKiBAY2xhc3MgQ291Y2hEQlNlcXVlbmNlXG4gKiBAaW1wbGVtZW50cyBTZXF1ZW5jZVxuICpcbiAqIEBjYXRlZ29yeSBTZXF1ZW5jZXNcbiAqL1xuZXhwb3J0IGNsYXNzIENvdWNoREJTZXF1ZW5jZSBleHRlbmRzIFNlcXVlbmNlIHtcbiAgcHJvdGVjdGVkIHJlcG86IENvdWNoREJSZXBvc2l0b3J5PFNlcSwgYW55LCBhbnksIGFueT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogU2VxdWVuY2VPcHRpb25zLFxuICAgIGFkYXB0ZXI6IEFkYXB0ZXI8YW55LCBNYW5nb1F1ZXJ5LCBhbnksIGFueT5cbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gICAgdGhpcy5yZXBvID0gUmVwb3NpdG9yeS5mb3JNb2RlbChTZXEsIGFkYXB0ZXIuZmxhdm91cik7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBjdXJyZW50IHZhbHVlIGZvciB0aGUgc2VxdWVuY2VcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgYXN5bmMgY3VycmVudCgpOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IGJpZ2ludD4ge1xuICAgIGNvbnN0IHsgbmFtZSwgc3RhcnRXaXRoIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlcXVlbmNlOiBTZXEgPSBhd2FpdCB0aGlzLnJlcG8ucmVhZChuYW1lIGFzIHN0cmluZyk7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZShzZXF1ZW5jZS5jdXJyZW50IGFzIHN0cmluZyB8IG51bWJlcik7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIE5vdEZvdW5kRXJyb3IpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBzdGFydFdpdGggPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICBcIlN0YXJ0aW5nIHZhbHVlIGlzIG5vdCBkZWZpbmVkIGZvciBhIG5vbiBleGlzdGluZyBzZXF1ZW5jZVwiXG4gICAgICAgICAgKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZShzdGFydFdpdGgpO1xuICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgIHNmKFxuICAgICAgICAgICAgICBcIkZhaWxlZCB0byBwYXJzZSBpbml0aWFsIHZhbHVlIGZvciBzZXF1ZW5jZSB7MH06IHsxfVwiLFxuICAgICAgICAgICAgICBzdGFydFdpdGgudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBzZihcbiAgICAgICAgICBcIkZhaWxlZCB0byByZXRyaWV2ZSBjdXJyZW50IHZhbHVlIGZvciBzZXF1ZW5jZSB7MH06IHsxfVwiLFxuICAgICAgICAgIG5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgIGVcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUGFyc2VzIHRoZSB7QGxpbmsgU2VxdWVuY2V9IHZhbHVlXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHBhcnNlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQpOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQge1xuICAgIHJldHVybiBwYXJzZVNlcXVlbmNlVmFsdWUodGhpcy5vcHRpb25zLnR5cGUsIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBpbmNyZW1lbnRzIHRoZSBzZXF1ZW5jZVxuICAgKiBAZGVzY3JpcHRpb24gU2VxdWVuY2Ugc3BlY2lmaWMgaW1wbGVtZW50YXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnR9IGN1cnJlbnRcbiAgICogQHBhcmFtIGNvdW50XG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaW5jcmVtZW50KFxuICAgIGN1cnJlbnQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCxcbiAgICBjb3VudD86IG51bWJlclxuICApOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IGJpZ2ludD4ge1xuICAgIGNvbnN0IHsgdHlwZSwgaW5jcmVtZW50QnksIG5hbWUgfSA9IHRoaXMub3B0aW9ucztcbiAgICBsZXQgbmV4dDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50O1xuICAgIGNvbnN0IHRvSW5jcmVtZW50QnkgPSBjb3VudCB8fCBpbmNyZW1lbnRCeTtcbiAgICBpZiAodG9JbmNyZW1lbnRCeSAlIGluY3JlbWVudEJ5ICE9PSAwKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBWYWx1ZSB0byBpbmNyZW1lbnQgZG9lcyBub3QgY29uc2lkZXIgdGhlIGluY3JlbWVudEJ5IHNldHRpbmc6ICR7aW5jcmVtZW50Qnl9YFxuICAgICAgKTtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgXCJOdW1iZXJcIjpcbiAgICAgICAgbmV4dCA9ICh0aGlzLnBhcnNlKGN1cnJlbnQpIGFzIG51bWJlcikgKyB0b0luY3JlbWVudEJ5O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJCaWdJbnRcIjpcbiAgICAgICAgbmV4dCA9ICh0aGlzLnBhcnNlKGN1cnJlbnQpIGFzIGJpZ2ludCkgKyBCaWdJbnQodG9JbmNyZW1lbnRCeSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJTaG91bGQgbmV2ZXIgaGFwcGVuXCIpO1xuICAgIH1cbiAgICBsZXQgc2VxOiBTZXE7XG4gICAgdHJ5IHtcbiAgICAgIHNlcSA9IGF3YWl0IHRoaXMucmVwby51cGRhdGUobmV3IFNlcSh7IGlkOiBuYW1lLCBjdXJyZW50OiBuZXh0IH0pKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBOb3RGb3VuZEVycm9yKSkgdGhyb3cgZTtcbiAgICAgIHNlcSA9IGF3YWl0IHRoaXMucmVwby5jcmVhdGUobmV3IFNlcSh7IGlkOiBuYW1lLCBjdXJyZW50OiBuZXh0IH0pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VxLmN1cnJlbnQgYXMgc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IEdlbmVyYXRlcyB0aGUgbmV4dCB2YWx1ZSBpbiB0aCBzZXF1ZW5jZVxuICAgKiBAZGVzY3JpcHRpb24gY2FsbHMge0BsaW5rIFNlcXVlbmNlI3BhcnNlfSBvbiB0aGUgY3VycmVudCB2YWx1ZVxuICAgKiBmb2xsb3dlZCBieSB7QGxpbmsgU2VxdWVuY2UjaW5jcmVtZW50fVxuICAgKlxuICAgKi9cbiAgYXN5bmMgbmV4dCgpOiBQcm9taXNlPG51bWJlciB8IHN0cmluZyB8IGJpZ2ludD4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCB0aGlzLmN1cnJlbnQoKTtcbiAgICByZXR1cm4gdGhpcy5pbmNyZW1lbnQoY3VycmVudCk7XG4gIH1cblxuICBhc3luYyByYW5nZShjb3VudDogbnVtYmVyKTogUHJvbWlzZTwobnVtYmVyIHwgc3RyaW5nIHwgYmlnaW50KVtdPiB7XG4gICAgY29uc3QgY3VycmVudCA9IChhd2FpdCB0aGlzLmN1cnJlbnQoKSkgYXMgbnVtYmVyO1xuICAgIGNvbnN0IGluY3JlbWVudEJ5ID0gdGhpcy5wYXJzZSh0aGlzLm9wdGlvbnMuaW5jcmVtZW50QnkpIGFzIG51bWJlcjtcbiAgICBjb25zdCBuZXh0OiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQgPSBhd2FpdCB0aGlzLmluY3JlbWVudChcbiAgICAgIGN1cnJlbnQsXG4gICAgICAodGhpcy5wYXJzZShjb3VudCkgYXMgbnVtYmVyKSAqIGluY3JlbWVudEJ5XG4gICAgKTtcbiAgICBjb25zdCByYW5nZTogKG51bWJlciB8IHN0cmluZyB8IGJpZ2ludClbXSA9IFtdO1xuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDE7IGkgPD0gY291bnQ7IGkrKykge1xuICAgICAgcmFuZ2UucHVzaChjdXJyZW50ICsgaW5jcmVtZW50QnkgKiAodGhpcy5wYXJzZShpKSBhcyBudW1iZXIpKTtcbiAgICB9XG4gICAgaWYgKHJhbmdlW3JhbmdlLmxlbmd0aCAtIDFdICE9PSBuZXh0KVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJNaXNjYWxjdWxhdGlvbiBvZiByYW5nZVwiKTtcbiAgICByZXR1cm4gcmFuZ2U7XG4gIH1cbn1cbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VxdWVuY2VzL1NlcXVlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLElBQUksR0FBRyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQVcsVUFBVSxFQUFtQixNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkxQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7SUFHM0MsWUFDRSxPQUF3QixFQUN4QixPQUEyQztRQUUzQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQVEsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFjLENBQUMsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQTBCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxhQUFhLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXO29CQUNsQyxNQUFNLElBQUksYUFBYSxDQUNyQiwyREFBMkQsQ0FDNUQsQ0FBQztn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QUFDO1FBQ0YsTUFBTSxLQUFLLEdBQWlDLEVBQUUsQ0FBQztRQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFZLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJO1lBQ2xDLE1BQU0sSUFBSSxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcXVlbmNlIGFzIFNlcSB9IGZyb20gXCIuLi9tb2RlbC9Db3VjaERCU2VxdWVuY2VcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IEFkYXB0ZXIsIFJlcG9zaXRvcnksIFNlcXVlbmNlT3B0aW9ucyB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgU2VxdWVuY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IENvdWNoREJSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBBYnN0cmFjdCBpbXBsZW1lbnRhdGlvbiBvZiBhIFNlcXVlbmNlXG4gKiBAZGVzY3JpcHRpb24gcHJvdmlkZXMgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdHkgZm9yIHtAbGluayBTZXF1ZW5jZX1zXG4gKlxuICogQHBhcmFtIHtTZXF1ZW5jZU9wdGlvbnN9IG9wdGlvbnNcbiAqXG4gKiBAY2xhc3MgQ291Y2hEQlNlcXVlbmNlXG4gKiBAaW1wbGVtZW50cyBTZXF1ZW5jZVxuICovXG5leHBvcnQgY2xhc3MgQ291Y2hEQlNlcXVlbmNlIGV4dGVuZHMgU2VxdWVuY2Uge1xuICBwcm90ZWN0ZWQgcmVwbzogQ291Y2hEQlJlcG9zaXRvcnk8U2VxLCBhbnksIGFueSwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBTZXF1ZW5jZU9wdGlvbnMsXG4gICAgYWRhcHRlcjogQWRhcHRlcjxhbnksIE1hbmdvUXVlcnksIGFueSwgYW55PlxuICApIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLnJlcG8gPSBSZXBvc2l0b3J5LmZvck1vZGVsKFNlcSwgYWRhcHRlci5hbGlhcyk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmV0cmlldmVzIHRoZSBjdXJyZW50IHZhbHVlIGZvciB0aGUgc2VxdWVuY2VcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgYXN5bmMgY3VycmVudCgpOiBQcm9taXNlPHN0cmluZyB8IG51bWJlciB8IGJpZ2ludD4ge1xuICAgIGNvbnN0IHsgbmFtZSwgc3RhcnRXaXRoIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlcXVlbmNlOiBTZXEgPSBhd2FpdCB0aGlzLnJlcG8ucmVhZChuYW1lIGFzIHN0cmluZyk7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZShzZXF1ZW5jZS5jdXJyZW50IGFzIHN0cmluZyB8IG51bWJlcik7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIE5vdEZvdW5kRXJyb3IpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBzdGFydFdpdGggPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICBcIlN0YXJ0aW5nIHZhbHVlIGlzIG5vdCBkZWZpbmVkIGZvciBhIG5vbiBleGlzdGluZyBzZXF1ZW5jZVwiXG4gICAgICAgICAgKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZShzdGFydFdpdGgpO1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIGluaXRpYWwgdmFsdWUgZm9yIHNlcXVlbmNlICR7c3RhcnRXaXRofTogJHtlfWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYEZhaWxlZCB0byByZXRyaWV2ZSBjdXJyZW50IHZhbHVlIGZvciBzZXF1ZW5jZSAke25hbWV9OiAke2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUGFyc2VzIHRoZSB7QGxpbmsgU2VxdWVuY2V9IHZhbHVlXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHBhcnNlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQpOiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQge1xuICAgIHJldHVybiBTZXF1ZW5jZS5wYXJzZVZhbHVlKHRoaXMub3B0aW9ucy50eXBlLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgaW5jcmVtZW50cyB0aGUgc2VxdWVuY2VcbiAgICogQGRlc2NyaXB0aW9uIFNlcXVlbmNlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50fSBjdXJyZW50XG4gICAqIEBwYXJhbSBjb3VudFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGluY3JlbWVudChcbiAgICBjdXJyZW50OiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQsXG4gICAgY291bnQ/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCB7IHR5cGUsIGluY3JlbWVudEJ5LCBuYW1lIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgbGV0IG5leHQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgICBjb25zdCB0b0luY3JlbWVudEJ5ID0gY291bnQgfHwgaW5jcmVtZW50Qnk7XG4gICAgaWYgKHRvSW5jcmVtZW50QnkgJSBpbmNyZW1lbnRCeSAhPT0gMClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgVmFsdWUgdG8gaW5jcmVtZW50IGRvZXMgbm90IGNvbnNpZGVyIHRoZSBpbmNyZW1lbnRCeSBzZXR0aW5nOiAke2luY3JlbWVudEJ5fWBcbiAgICAgICk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiTnVtYmVyXCI6XG4gICAgICAgIG5leHQgPSAodGhpcy5wYXJzZShjdXJyZW50KSBhcyBudW1iZXIpICsgdG9JbmNyZW1lbnRCeTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiQmlnSW50XCI6XG4gICAgICAgIG5leHQgPSAodGhpcy5wYXJzZShjdXJyZW50KSBhcyBiaWdpbnQpICsgQmlnSW50KHRvSW5jcmVtZW50QnkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiU2hvdWxkIG5ldmVyIGhhcHBlblwiKTtcbiAgICB9XG4gICAgbGV0IHNlcTogU2VxO1xuICAgIHRyeSB7XG4gICAgICBzZXEgPSBhd2FpdCB0aGlzLnJlcG8udXBkYXRlKG5ldyBTZXEoeyBpZDogbmFtZSwgY3VycmVudDogbmV4dCB9KSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvcikpIHRocm93IGU7XG4gICAgICBzZXEgPSBhd2FpdCB0aGlzLnJlcG8uY3JlYXRlKG5ldyBTZXEoeyBpZDogbmFtZSwgY3VycmVudDogbmV4dCB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlcS5jdXJyZW50IGFzIHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBHZW5lcmF0ZXMgdGhlIG5leHQgdmFsdWUgaW4gdGggc2VxdWVuY2VcbiAgICogQGRlc2NyaXB0aW9uIGNhbGxzIHtAbGluayBTZXF1ZW5jZSNwYXJzZX0gb24gdGhlIGN1cnJlbnQgdmFsdWVcbiAgICogZm9sbG93ZWQgYnkge0BsaW5rIFNlcXVlbmNlI2luY3JlbWVudH1cbiAgICpcbiAgICovXG4gIGFzeW5jIG5leHQoKTogUHJvbWlzZTxudW1iZXIgfCBzdHJpbmcgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgdGhpcy5jdXJyZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuaW5jcmVtZW50KGN1cnJlbnQpO1xuICB9XG5cbiAgYXN5bmMgcmFuZ2UoY291bnQ6IG51bWJlcik6IFByb21pc2U8KG51bWJlciB8IHN0cmluZyB8IGJpZ2ludClbXT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSAoYXdhaXQgdGhpcy5jdXJyZW50KCkpIGFzIG51bWJlcjtcbiAgICBjb25zdCBpbmNyZW1lbnRCeSA9IHRoaXMucGFyc2UodGhpcy5vcHRpb25zLmluY3JlbWVudEJ5KSBhcyBudW1iZXI7XG4gICAgY29uc3QgbmV4dDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50ID0gYXdhaXQgdGhpcy5pbmNyZW1lbnQoXG4gICAgICBjdXJyZW50LFxuICAgICAgKHRoaXMucGFyc2UoY291bnQpIGFzIG51bWJlcikgKiBpbmNyZW1lbnRCeVxuICAgICk7XG4gICAgY29uc3QgcmFuZ2U6IChudW1iZXIgfCBzdHJpbmcgfCBiaWdpbnQpW10gPSBbXTtcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAxOyBpIDw9IGNvdW50OyBpKyspIHtcbiAgICAgIHJhbmdlLnB1c2goY3VycmVudCArIGluY3JlbWVudEJ5ICogKHRoaXMucGFyc2UoaSkgYXMgbnVtYmVyKSk7XG4gICAgfVxuICAgIGlmIChyYW5nZVtyYW5nZS5sZW5ndGggLSAxXSAhPT0gbmV4dClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWlzY2FsY3VsYXRpb24gb2YgcmFuZ2VcIik7XG4gICAgcmV0dXJuIHJhbmdlO1xuICB9XG59XG4iXX0=
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @
|
|
1
|
+
/**
|
|
2
|
+
* @description Response from a CouchDB Mango query
|
|
3
|
+
* @summary Contains the matching documents and additional metadata about the query execution
|
|
4
|
+
* @interface MangoResponse
|
|
5
|
+
* @template D - The document type
|
|
6
|
+
* @memberOf module:for-couchdb
|
|
7
|
+
* @see Docs: {@link https://docs.couchdb.org/en/latest/api/database/find.html#db-find}
|
|
8
|
+
*/
|
|
3
9
|
export interface MangoResponse<D> {
|
|
4
10
|
/** Array of documents matching the search.
|
|
5
11
|
*
|
|
@@ -18,8 +24,13 @@ export interface MangoResponse<D> {
|
|
|
18
24
|
/** Basic execution statistics for a specific request. */
|
|
19
25
|
execution_stats?: MangoExecutionStats;
|
|
20
26
|
}
|
|
21
|
-
/**
|
|
22
|
-
* @
|
|
27
|
+
/**
|
|
28
|
+
* @description Statistics about the execution of a Mango query
|
|
29
|
+
* @summary Provides detailed metrics about query execution including document and key examination counts
|
|
30
|
+
* @interface MangoExecutionStats
|
|
31
|
+
* @memberOf module:for-couchdb
|
|
32
|
+
* @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#execution-statistics}
|
|
33
|
+
*/
|
|
23
34
|
export interface MangoExecutionStats {
|
|
24
35
|
/** Number of index keys examined. Currently always 0. */
|
|
25
36
|
total_keys_examined: number;
|
|
@@ -36,8 +47,13 @@ export interface MangoExecutionStats {
|
|
|
36
47
|
/** Total execution time in milliseconds as measured by the database. */
|
|
37
48
|
execution_time_ms: number;
|
|
38
49
|
}
|
|
39
|
-
/**
|
|
40
|
-
* @
|
|
50
|
+
/**
|
|
51
|
+
* @description Parameters for creating a CouchDB Mango index
|
|
52
|
+
* @summary Defines the structure and configuration for a new Mango index
|
|
53
|
+
* @interface CreateIndexRequest
|
|
54
|
+
* @memberOf module:for-couchdb
|
|
55
|
+
* @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#db-index}
|
|
56
|
+
*/
|
|
41
57
|
export interface CreateIndexRequest {
|
|
42
58
|
/** JSON object describing the index to create */
|
|
43
59
|
index: {
|
|
@@ -57,20 +73,47 @@ export interface CreateIndexRequest {
|
|
|
57
73
|
/** This field sets whether the created index will be a partitioned or global index. */
|
|
58
74
|
partitioned?: boolean;
|
|
59
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* @description Represents the possible value types in a Mango query
|
|
78
|
+
* @summary Union type of all possible value types that can be used in Mango queries
|
|
79
|
+
* @typedef {(number|string|Date|boolean|object|null)} MangoValue
|
|
80
|
+
* @memberOf module:for-couchdb
|
|
81
|
+
*/
|
|
60
82
|
export type MangoValue = number | string | Date | boolean | object | null;
|
|
83
|
+
/**
|
|
84
|
+
* @description Operators available in Mango queries
|
|
85
|
+
* @summary Union type of all possible operators that can be used in Mango queries
|
|
86
|
+
* @typedef {string} MangoOperator
|
|
87
|
+
* @memberOf module:for-couchdb
|
|
88
|
+
*/
|
|
61
89
|
export type MangoOperator = "$lt" | "$lte" | "$eq" | "$ne" | "$gte" | "$gt" | "$exists" | "$type" | "$in" | "$nin" | "$size" | "$mod" | "$regex" | "$or" | "$and" | "$nor" | "$not" | "$all" | "$allMatch" | "$elemMatch";
|
|
62
|
-
/**
|
|
63
|
-
* @
|
|
90
|
+
/**
|
|
91
|
+
* @description Represents a CouchDB Mango query selector
|
|
92
|
+
* @summary Type for defining query conditions in Mango queries
|
|
93
|
+
* @typedef {Object} MangoSelector
|
|
94
|
+
* @memberOf module:for-couchdb
|
|
95
|
+
* @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#selector-syntax}
|
|
96
|
+
*/
|
|
64
97
|
export type MangoSelector = {
|
|
65
98
|
[K in MangoOperator | string]: MangoSelector | MangoSelector[] | MangoValue | MangoValue[];
|
|
66
99
|
};
|
|
67
|
-
/**
|
|
68
|
-
* @
|
|
100
|
+
/**
|
|
101
|
+
* @description Represents a sort order specification in Mango queries
|
|
102
|
+
* @summary Type for defining sort order in Mango queries
|
|
103
|
+
* @typedef {(string|string[]|Object)} SortOrder
|
|
104
|
+
* @memberOf module:for-couchdb
|
|
105
|
+
* @see Docs: {@link http://docs.couchdb.org/en/latest/api/database/find.html#sort-syntax}
|
|
106
|
+
*/
|
|
69
107
|
export type SortOrder = string | string[] | {
|
|
70
108
|
[key: string]: "asc" | "desc";
|
|
71
109
|
};
|
|
72
|
-
/**
|
|
73
|
-
* @
|
|
110
|
+
/**
|
|
111
|
+
* @description Represents a CouchDB Mango query
|
|
112
|
+
* @summary Interface for defining complete Mango queries with selectors, sorting, pagination, and other options
|
|
113
|
+
* @interface MangoQuery
|
|
114
|
+
* @memberOf module:for-couchdb
|
|
115
|
+
* @see Docs: {@link https://docs.couchdb.org/en/latest/api/database/find.html#db-find}
|
|
116
|
+
*/
|
|
74
117
|
export interface MangoQuery {
|
|
75
118
|
/** JSON object describing criteria used to select documents. */
|
|
76
119
|
selector: MangoSelector;
|
package/lib/esm/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIFJlc3BvbnNlIGZyb20gYSBDb3VjaERCIE1hbmdvIHF1ZXJ5XG4gKiBAc3VtbWFyeSBDb250YWlucyB0aGUgbWF0Y2hpbmcgZG9jdW1lbnRzIGFuZCBhZGRpdGlvbmFsIG1ldGFkYXRhIGFib3V0IHRoZSBxdWVyeSBleGVjdXRpb25cbiAqIEBpbnRlcmZhY2UgTWFuZ29SZXNwb25zZVxuICogQHRlbXBsYXRlIEQgLSBUaGUgZG9jdW1lbnQgdHlwZVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICogQHNlZSBEb2NzOiB7QGxpbmsgaHR0cHM6Ly9kb2NzLmNvdWNoZGIub3JnL2VuL2xhdGVzdC9hcGkvZGF0YWJhc2UvZmluZC5odG1sI2RiLWZpbmR9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFuZ29SZXNwb25zZTxEPiB7XG4gIC8qKiBBcnJheSBvZiBkb2N1bWVudHMgbWF0Y2hpbmcgdGhlIHNlYXJjaC5cbiAgICpcbiAgICogSW4gZWFjaCBtYXRjaGluZyBkb2N1bWVudCwgdGhlIGZpZWxkcyBzcGVjaWZpZWQgaW4gdGhlIGZpZWxkcyBwYXJ0IG9mIHRoZSByZXF1ZXN0IGJvZHkgYXJlIGxpc3RlZCwgYWxvbmcgd2l0aFxuICAgKiB0aGVpciB2YWx1ZXMuICovXG4gIGRvY3M6IChEICYgeyBfaWQ6IHN0cmluZzsgX3Jldjogc3RyaW5nIH0pW107XG5cbiAgLyoqIEEgc3RyaW5nIHRoYXQgZW5hYmxlcyB5b3UgdG8gc3BlY2lmeSB3aGljaCBwYWdlIG9mIHJlc3VsdHMgeW91IHJlcXVpcmUuXG4gICAqXG4gICAqIFVzZWQgZm9yIHBhZ2luZyB0aHJvdWdoIHJlc3VsdCBzZXRzLiAqL1xuICBib29rbWFyaz86IHN0cmluZztcblxuICAvKiogRXhlY3V0aW9uIHdhcm5pbmdzICovXG4gIHdhcm5pbmc/OiBzdHJpbmc7XG5cbiAgLyoqIEJhc2ljIGV4ZWN1dGlvbiBzdGF0aXN0aWNzIGZvciBhIHNwZWNpZmljIHJlcXVlc3QuICovXG4gIGV4ZWN1dGlvbl9zdGF0cz86IE1hbmdvRXhlY3V0aW9uU3RhdHM7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFN0YXRpc3RpY3MgYWJvdXQgdGhlIGV4ZWN1dGlvbiBvZiBhIE1hbmdvIHF1ZXJ5XG4gKiBAc3VtbWFyeSBQcm92aWRlcyBkZXRhaWxlZCBtZXRyaWNzIGFib3V0IHF1ZXJ5IGV4ZWN1dGlvbiBpbmNsdWRpbmcgZG9jdW1lbnQgYW5kIGtleSBleGFtaW5hdGlvbiBjb3VudHNcbiAqIEBpbnRlcmZhY2UgTWFuZ29FeGVjdXRpb25TdGF0c1xuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICogQHNlZSBEb2NzOiB7QGxpbmsgaHR0cDovL2RvY3MuY291Y2hkYi5vcmcvZW4vbGF0ZXN0L2FwaS9kYXRhYmFzZS9maW5kLmh0bWwjZXhlY3V0aW9uLXN0YXRpc3RpY3N9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFuZ29FeGVjdXRpb25TdGF0cyB7XG4gIC8qKiBOdW1iZXIgb2YgaW5kZXgga2V5cyBleGFtaW5lZC4gQ3VycmVudGx5IGFsd2F5cyAwLiAqL1xuICB0b3RhbF9rZXlzX2V4YW1pbmVkOiBudW1iZXI7XG5cbiAgLyoqIE51bWJlciBvZiBkb2N1bWVudHMgZmV0Y2hlZCBmcm9tIHRoZSBkYXRhYmFzZSAvIGluZGV4LlxuICAgKlxuICAgKiBFcXVpdmFsZW50IHRvIHVzaW5nIGluY2x1ZGVfZG9jcyA9IHRydWUgaW4gYSB2aWV3LiAqL1xuICB0b3RhbF9kb2NzX2V4YW1pbmVkOiBudW1iZXI7XG5cbiAgLyoqIE51bWJlciBvZiBkb2N1bWVudHMgZmV0Y2hlZCBmcm9tIHRoZSBkYXRhYmFzZSB1c2luZyBhbiBvdXQtb2YtYmFuZCBkb2N1bWVudCBmZXRjaC5cbiAgICpcbiAgICogVGhpcyBpcyBvbmx5IG5vbi16ZXJvIHdoZW4gcmVhZCBxdW9ydW0gPiAxIGlzIHNwZWNpZmllZCBpbiB0aGUgcXVlcnkgcGFyYW1ldGVycy4gKi9cbiAgdG90YWxfcXVvcnVtX2RvY3NfZXhhbWluZWQ6IG51bWJlcjtcblxuICAvKiogTnVtYmVyIG9mIHJlc3VsdHMgcmV0dXJuZWQgZnJvbSB0aGUgcXVlcnkuICovXG4gIHJlc3VsdHNfcmV0dXJuZWQ6IG51bWJlcjtcblxuICAvKiogVG90YWwgZXhlY3V0aW9uIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGFzIG1lYXN1cmVkIGJ5IHRoZSBkYXRhYmFzZS4gKi9cbiAgZXhlY3V0aW9uX3RpbWVfbXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUGFyYW1ldGVycyBmb3IgY3JlYXRpbmcgYSBDb3VjaERCIE1hbmdvIGluZGV4XG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgYW5kIGNvbmZpZ3VyYXRpb24gZm9yIGEgbmV3IE1hbmdvIGluZGV4XG4gKiBAaW50ZXJmYWNlIENyZWF0ZUluZGV4UmVxdWVzdFxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICogQHNlZSBEb2NzOiB7QGxpbmsgaHR0cDovL2RvY3MuY291Y2hkYi5vcmcvZW4vbGF0ZXN0L2FwaS9kYXRhYmFzZS9maW5kLmh0bWwjZGItaW5kZXh9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlSW5kZXhSZXF1ZXN0IHtcbiAgLyoqIEpTT04gb2JqZWN0IGRlc2NyaWJpbmcgdGhlIGluZGV4IHRvIGNyZWF0ZSAqL1xuICBpbmRleDoge1xuICAgIC8qKiBBcnJheSBvZiBmaWVsZCBuYW1lcyBmb2xsb3dpbmcgdGhlIHNvcnQgc3ludGF4LiAqL1xuICAgIGZpZWxkczogU29ydE9yZGVyW107XG5cbiAgICAvKiogQSBzZWxlY3RvciB0byBhcHBseSB0byBkb2N1bWVudHMgYXQgaW5kZXhpbmcgdGltZSwgY3JlYXRpbmcgYSBwYXJ0aWFsIGluZGV4LiAqL1xuICAgIHBhcnRpYWxfZmlsdGVyX3NlbGVjdG9yPzogTWFuZ29TZWxlY3RvcjtcbiAgfTtcblxuICAvKiogTmFtZSBvZiB0aGUgZGVzaWduIGRvY3VtZW50IGluIHdoaWNoIHRoZSBpbmRleCB3aWxsIGJlIGNyZWF0ZWQuICovXG4gIGRkb2M/OiBzdHJpbmc7XG5cbiAgLyoqIE5hbWUgb2YgdGhlIGluZGV4LiBJZiBubyBuYW1lIGlzIHByb3ZpZGVkLCBhIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQgYXV0b21hdGljYWxseS4gKi9cbiAgbmFtZT86IHN0cmluZztcblxuICAvKiogQ2FuIGJlIFwianNvblwiIG9yIFwidGV4dFwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImpzb25cIiAqL1xuICB0eXBlPzogXCJqc29uXCIgfCBcInRleHRcIjtcblxuICAvKiogVGhpcyBmaWVsZCBzZXRzIHdoZXRoZXIgdGhlIGNyZWF0ZWQgaW5kZXggd2lsbCBiZSBhIHBhcnRpdGlvbmVkIG9yIGdsb2JhbCBpbmRleC4gKi9cbiAgcGFydGl0aW9uZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIHRoZSBwb3NzaWJsZSB2YWx1ZSB0eXBlcyBpbiBhIE1hbmdvIHF1ZXJ5XG4gKiBAc3VtbWFyeSBVbmlvbiB0eXBlIG9mIGFsbCBwb3NzaWJsZSB2YWx1ZSB0eXBlcyB0aGF0IGNhbiBiZSB1c2VkIGluIE1hbmdvIHF1ZXJpZXNcbiAqIEB0eXBlZGVmIHsobnVtYmVyfHN0cmluZ3xEYXRlfGJvb2xlYW58b2JqZWN0fG51bGwpfSBNYW5nb1ZhbHVlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1jb3VjaGRiXG4gKi9cbmV4cG9ydCB0eXBlIE1hbmdvVmFsdWUgPSBudW1iZXIgfCBzdHJpbmcgfCBEYXRlIHwgYm9vbGVhbiB8IG9iamVjdCB8IG51bGw7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE9wZXJhdG9ycyBhdmFpbGFibGUgaW4gTWFuZ28gcXVlcmllc1xuICogQHN1bW1hcnkgVW5pb24gdHlwZSBvZiBhbGwgcG9zc2libGUgb3BlcmF0b3JzIHRoYXQgY2FuIGJlIHVzZWQgaW4gTWFuZ28gcXVlcmllc1xuICogQHR5cGVkZWYge3N0cmluZ30gTWFuZ29PcGVyYXRvclxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICovXG5leHBvcnQgdHlwZSBNYW5nb09wZXJhdG9yID1cbiAgfCBcIiRsdFwiXG4gIHwgXCIkbHRlXCJcbiAgfCBcIiRlcVwiXG4gIHwgXCIkbmVcIlxuICB8IFwiJGd0ZVwiXG4gIHwgXCIkZ3RcIlxuICB8IFwiJGV4aXN0c1wiXG4gIHwgXCIkdHlwZVwiXG4gIHwgXCIkaW5cIlxuICB8IFwiJG5pblwiXG4gIHwgXCIkc2l6ZVwiXG4gIHwgXCIkbW9kXCJcbiAgfCBcIiRyZWdleFwiXG4gIHwgXCIkb3JcIlxuICB8IFwiJGFuZFwiXG4gIHwgXCIkbm9yXCJcbiAgfCBcIiRub3RcIlxuICB8IFwiJGFsbFwiXG4gIHwgXCIkYWxsTWF0Y2hcIlxuICB8IFwiJGVsZW1NYXRjaFwiO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIENvdWNoREIgTWFuZ28gcXVlcnkgc2VsZWN0b3JcbiAqIEBzdW1tYXJ5IFR5cGUgZm9yIGRlZmluaW5nIHF1ZXJ5IGNvbmRpdGlvbnMgaW4gTWFuZ28gcXVlcmllc1xuICogQHR5cGVkZWYge09iamVjdH0gTWFuZ29TZWxlY3RvclxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICogQHNlZSBEb2NzOiB7QGxpbmsgaHR0cDovL2RvY3MuY291Y2hkYi5vcmcvZW4vbGF0ZXN0L2FwaS9kYXRhYmFzZS9maW5kLmh0bWwjc2VsZWN0b3Itc3ludGF4fVxuICovXG5leHBvcnQgdHlwZSBNYW5nb1NlbGVjdG9yID0ge1xuICBbSyBpbiBNYW5nb09wZXJhdG9yIHwgc3RyaW5nXTpcbiAgICB8IE1hbmdvU2VsZWN0b3JcbiAgICB8IE1hbmdvU2VsZWN0b3JbXVxuICAgIHwgTWFuZ29WYWx1ZVxuICAgIHwgTWFuZ29WYWx1ZVtdO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIHNvcnQgb3JkZXIgc3BlY2lmaWNhdGlvbiBpbiBNYW5nbyBxdWVyaWVzXG4gKiBAc3VtbWFyeSBUeXBlIGZvciBkZWZpbmluZyBzb3J0IG9yZGVyIGluIE1hbmdvIHF1ZXJpZXNcbiAqIEB0eXBlZGVmIHsoc3RyaW5nfHN0cmluZ1tdfE9iamVjdCl9IFNvcnRPcmRlclxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICogQHNlZSBEb2NzOiB7QGxpbmsgaHR0cDovL2RvY3MuY291Y2hkYi5vcmcvZW4vbGF0ZXN0L2FwaS9kYXRhYmFzZS9maW5kLmh0bWwjc29ydC1zeW50YXh9XG4gKi9cbmV4cG9ydCB0eXBlIFNvcnRPcmRlciA9IHN0cmluZyB8IHN0cmluZ1tdIHwgeyBba2V5OiBzdHJpbmddOiBcImFzY1wiIHwgXCJkZXNjXCIgfTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIENvdWNoREIgTWFuZ28gcXVlcnlcbiAqIEBzdW1tYXJ5IEludGVyZmFjZSBmb3IgZGVmaW5pbmcgY29tcGxldGUgTWFuZ28gcXVlcmllcyB3aXRoIHNlbGVjdG9ycywgc29ydGluZywgcGFnaW5hdGlvbiwgYW5kIG90aGVyIG9wdGlvbnNcbiAqIEBpbnRlcmZhY2UgTWFuZ29RdWVyeVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICogQHNlZSBEb2NzOiB7QGxpbmsgaHR0cHM6Ly9kb2NzLmNvdWNoZGIub3JnL2VuL2xhdGVzdC9hcGkvZGF0YWJhc2UvZmluZC5odG1sI2RiLWZpbmR9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFuZ29RdWVyeSB7XG4gIC8qKiBKU09OIG9iamVjdCBkZXNjcmliaW5nIGNyaXRlcmlhIHVzZWQgdG8gc2VsZWN0IGRvY3VtZW50cy4gKi9cbiAgc2VsZWN0b3I6IE1hbmdvU2VsZWN0b3I7XG5cbiAgLyoqIE1heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgcmV0dXJuZWQuIEBkZWZhdWx0IDI1ICovXG4gIGxpbWl0PzogbnVtYmVyO1xuXG4gIC8qKiBTa2lwIHRoZSBmaXJzdCAnbicgcmVzdWx0cywgd2hlcmUgJ24nIGlzIHRoZSB2YWx1ZSBzcGVjaWZpZWQuICovXG4gIHNraXA/OiBudW1iZXI7XG5cbiAgLyoqIEpTT04gYXJyYXkgZm9sbG93aW5nIHNvcnQgc3ludGF4LiAqL1xuICBzb3J0PzogU29ydE9yZGVyW107XG5cbiAgLyoqIEpTT04gYXJyYXkgc3BlY2lmeWluZyB3aGljaCBmaWVsZHMgb2YgZWFjaCBvYmplY3Qgc2hvdWxkIGJlIHJldHVybmVkLlxuICAgKlxuICAgKiBJZiBpdCBpcyBvbWl0dGVkLCB0aGUgZW50aXJlIG9iamVjdCBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogQHNlZSBEb2NzOiB7QGxpbmsgaHR0cDovL2RvY3MuY291Y2hkYi5vcmcvZW4vbGF0ZXN0L2FwaS9kYXRhYmFzZS9maW5kLmh0bWwjZmlsdGVyaW5nLWZpZWxkc30gKi9cbiAgZmllbGRzPzogc3RyaW5nW107XG5cbiAgLyogSW5zdHJ1Y3QgYSBxdWVyeSB0byB1c2UgYSBzcGVjaWZpYyBpbmRleC5cbiAgICpcbiAgICogU3BlY2lmaWVkIGVpdGhlciBhcyBcIjxkZXNpZ25fZG9jdW1lbnQ+XCIgb3IgW1wiPGRlc2lnbl9kb2N1bWVudD5cIiwgXCI8aW5kZXhfbmFtZT5cIl0uICovXG4gIHVzZV9pbmRleD86IHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ107XG5cbiAgLyoqIFJlYWQgcXVvcnVtIG5lZWRlZCBmb3IgdGhlIHJlc3VsdC5cbiAgICpcbiAgICogQGRlZmF1bHQgMSAqL1xuICByPzogbnVtYmVyO1xuXG4gIC8qKiBBIHN0cmluZyB0aGF0IGVuYWJsZXMgeW91IHRvIHNwZWNpZnkgd2hpY2ggcGFnZSBvZiByZXN1bHRzIHlvdSByZXF1aXJlLlxuICAgKlxuICAgKiBVc2VkIGZvciBwYWdpbmcgdGhyb3VnaCByZXN1bHQgc2V0cy4gKi9cbiAgYm9va21hcms/OiBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgdG8gdXBkYXRlIHRoZSBpbmRleCBwcmlvciB0byByZXR1cm5pbmcgdGhlIHJlc3VsdC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZSAqL1xuICB1cGRhdGU/OiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgdmlldyByZXN1bHRzIHNob3VsZCBiZSByZXR1cm5lZCBmcm9tIGEg4oCcc3RhYmxl4oCdIHNldCBvZiBzaGFyZHMuICovXG4gIHN0YWJsZT86IGJvb2xlYW47XG5cbiAgLyoqIENvbWJpbmF0aW9uIG9mIHVwZGF0ZSA9IGZhbHNlIGFuZCBzdGFibGUgPSB0cnVlIG9wdGlvbnMuXG4gICAqXG4gICAqIFBvc3NpYmxlIG9wdGlvbnM6IFwib2tcIiwgZmFsc2UgKGRlZmF1bHQpLiAqL1xuICBzdGFsZT86IFwib2tcIiB8IGZhbHNlO1xuXG4gIC8qKiBJbmNsdWRlIGV4ZWN1dGlvbiBzdGF0aXN0aWNzIGluIHRoZSBxdWVyeSByZXNwb25zZS5cbiAgICpcbiAgICogT3B0aW9uYWwsIGRlZmF1bHQ6IGZhbHNlLiAqL1xuICBleGVjdXRpb25fc3RhdHM/OiBib29sZWFuO1xufVxuIl19
|
package/lib/esm/utils.d.ts
CHANGED
|
@@ -1,7 +1,112 @@
|
|
|
1
1
|
import { OrderDirection } from "@decaf-ts/core";
|
|
2
2
|
import { CreateIndexRequest } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* @description Re-authenticates a connection to CouchDB
|
|
5
|
+
* @summary Refreshes the authentication for a CouchDB connection using the provided credentials
|
|
6
|
+
* @param {any} con - The CouchDB connection object
|
|
7
|
+
* @param {string} user - The username for authentication
|
|
8
|
+
* @param {string} pass - The password for authentication
|
|
9
|
+
* @return {Promise<any>} A promise that resolves to the authentication result
|
|
10
|
+
* @function reAuth
|
|
11
|
+
* @memberOf module:for-couchdb
|
|
12
|
+
*/
|
|
3
13
|
export declare function reAuth(con: any, user: string, pass: string): Promise<any>;
|
|
14
|
+
/**
|
|
15
|
+
* @description Wraps a CouchDB database connection with automatic re-authentication
|
|
16
|
+
* @summary Creates a proxy around a CouchDB database connection that automatically re-authenticates before each operation
|
|
17
|
+
* @param {any} con - The CouchDB connection object
|
|
18
|
+
* @param {string} dbName - The name of the database to use
|
|
19
|
+
* @param {string} user - The username for authentication
|
|
20
|
+
* @param {string} pass - The password for authentication
|
|
21
|
+
* @return {any} The wrapped database connection object
|
|
22
|
+
* @function wrapDocumentScope
|
|
23
|
+
* @memberOf module:for-couchdb
|
|
24
|
+
* @mermaid
|
|
25
|
+
* sequenceDiagram
|
|
26
|
+
* participant Client
|
|
27
|
+
* participant wrapDocumentScope
|
|
28
|
+
* participant DB
|
|
29
|
+
* participant reAuth
|
|
30
|
+
*
|
|
31
|
+
* Client->>wrapDocumentScope: con, dbName, user, pass
|
|
32
|
+
* wrapDocumentScope->>DB: con.use(dbName)
|
|
33
|
+
* Note over wrapDocumentScope: Wrap DB methods with re-auth
|
|
34
|
+
*
|
|
35
|
+
* loop For each method (insert, get, put, destroy, find)
|
|
36
|
+
* wrapDocumentScope->>wrapDocumentScope: Store original method
|
|
37
|
+
* wrapDocumentScope->>wrapDocumentScope: Define new method with re-auth
|
|
38
|
+
* end
|
|
39
|
+
*
|
|
40
|
+
* wrapDocumentScope->>wrapDocumentScope: Add NATIVE property with con value
|
|
41
|
+
* wrapDocumentScope-->>Client: Return wrapped DB
|
|
42
|
+
*
|
|
43
|
+
* Note over Client: Later when client uses DB methods
|
|
44
|
+
* Client->>DB: Any wrapped method call
|
|
45
|
+
* DB->>reAuth: Authenticate before operation
|
|
46
|
+
* reAuth-->>DB: Authentication complete
|
|
47
|
+
* DB->>DB: Call original method
|
|
48
|
+
* DB-->>Client: Return result
|
|
49
|
+
*/
|
|
4
50
|
export declare function wrapDocumentScope(con: any, dbName: string, user: string, pass: string): any;
|
|
51
|
+
/**
|
|
52
|
+
* @description Tests if an attribute name is reserved in CouchDB
|
|
53
|
+
* @summary Checks if an attribute name starts with an underscore, which indicates it's a reserved attribute in CouchDB
|
|
54
|
+
* @param {string} attr - The attribute name to test
|
|
55
|
+
* @return {RegExpMatchArray|null} The match result or null if no match
|
|
56
|
+
* @function testReservedAttributes
|
|
57
|
+
* @memberOf module:for-couchdb
|
|
58
|
+
*/
|
|
5
59
|
export declare function testReservedAttributes(attr: string): RegExpMatchArray | null;
|
|
60
|
+
/**
|
|
61
|
+
* @description Generates a name for a CouchDB index
|
|
62
|
+
* @summary Creates a standardized name for a CouchDB index based on the table, attribute, compositions, and order
|
|
63
|
+
* @param {string} attribute - The primary attribute for the index
|
|
64
|
+
* @param {string} tableName - The name of the table
|
|
65
|
+
* @param {string[]} [compositions] - Optional additional attributes to include in the index
|
|
66
|
+
* @param {OrderDirection} [order] - Optional sort order for the index
|
|
67
|
+
* @param {string} [separator=DefaultSeparator] - The separator to use between parts of the index name
|
|
68
|
+
* @return {string} The generated index name
|
|
69
|
+
* @function generateIndexName
|
|
70
|
+
* @memberOf module:for-couchdb
|
|
71
|
+
*/
|
|
6
72
|
export declare function generateIndexName(attribute: string, tableName: string, compositions?: string[], order?: OrderDirection, separator?: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* @description Generates a CouchDB index configuration
|
|
75
|
+
* @summary Creates a complete CreateIndexRequest object for defining a CouchDB index based on specified parameters
|
|
76
|
+
* @param {string} attribute - The primary attribute for the index
|
|
77
|
+
* @param {string} tableName - The name of the table
|
|
78
|
+
* @param {string[]} [compositions] - Optional additional attributes to include in the index
|
|
79
|
+
* @param {OrderDirection} [order] - Optional sort order for the index
|
|
80
|
+
* @param {string} [separator=DefaultSeparator] - The separator to use between parts of the index name
|
|
81
|
+
* @return {CreateIndexRequest} The complete index configuration object
|
|
82
|
+
* @function generateIndexDoc
|
|
83
|
+
* @memberOf module:for-couchdb
|
|
84
|
+
* @mermaid
|
|
85
|
+
* sequenceDiagram
|
|
86
|
+
* participant Caller
|
|
87
|
+
* participant generateIndexDoc
|
|
88
|
+
* participant generateIndexName
|
|
89
|
+
*
|
|
90
|
+
* Caller->>generateIndexDoc: attribute, tableName, compositions, order, separator
|
|
91
|
+
*
|
|
92
|
+
* Note over generateIndexDoc: Create partial filter selector
|
|
93
|
+
* generateIndexDoc->>generateIndexDoc: Set up filter for tableName
|
|
94
|
+
*
|
|
95
|
+
* alt order is specified
|
|
96
|
+
* Note over generateIndexDoc: Create ordered fields array
|
|
97
|
+
* generateIndexDoc->>generateIndexDoc: Create orderProp for attribute
|
|
98
|
+
* generateIndexDoc->>generateIndexDoc: Map compositions to ordered props
|
|
99
|
+
* generateIndexDoc->>generateIndexDoc: Create sortedTable for table field
|
|
100
|
+
* generateIndexDoc->>generateIndexDoc: Combine all ordered fields
|
|
101
|
+
* else
|
|
102
|
+
* Note over generateIndexDoc: Create simple fields array
|
|
103
|
+
* generateIndexDoc->>generateIndexDoc: Use attribute, compositions, and table as strings
|
|
104
|
+
* end
|
|
105
|
+
*
|
|
106
|
+
* generateIndexDoc->>generateIndexName: Generate index name
|
|
107
|
+
* generateIndexName-->>generateIndexDoc: Return name
|
|
108
|
+
*
|
|
109
|
+
* Note over generateIndexDoc: Create final index request
|
|
110
|
+
* generateIndexDoc-->>Caller: Return CreateIndexRequest
|
|
111
|
+
*/
|
|
7
112
|
export declare function generateIndexDoc(attribute: string, tableName: string, compositions?: string[], order?: OrderDirection, separator?: string): CreateIndexRequest;
|
package/lib/esm/utils.js
CHANGED
|
@@ -2,9 +2,55 @@ import { PersistenceKeys } from "@decaf-ts/core";
|
|
|
2
2
|
import { CouchDBKeys } from "./constants";
|
|
3
3
|
import { DefaultSeparator } from "@decaf-ts/db-decorators";
|
|
4
4
|
import { CouchDBOperator } from "./query/constants";
|
|
5
|
+
/**
|
|
6
|
+
* @description Re-authenticates a connection to CouchDB
|
|
7
|
+
* @summary Refreshes the authentication for a CouchDB connection using the provided credentials
|
|
8
|
+
* @param {any} con - The CouchDB connection object
|
|
9
|
+
* @param {string} user - The username for authentication
|
|
10
|
+
* @param {string} pass - The password for authentication
|
|
11
|
+
* @return {Promise<any>} A promise that resolves to the authentication result
|
|
12
|
+
* @function reAuth
|
|
13
|
+
* @memberOf module:for-couchdb
|
|
14
|
+
*/
|
|
5
15
|
export async function reAuth(con, user, pass) {
|
|
6
16
|
return con.auth(user, pass);
|
|
7
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* @description Wraps a CouchDB database connection with automatic re-authentication
|
|
20
|
+
* @summary Creates a proxy around a CouchDB database connection that automatically re-authenticates before each operation
|
|
21
|
+
* @param {any} con - The CouchDB connection object
|
|
22
|
+
* @param {string} dbName - The name of the database to use
|
|
23
|
+
* @param {string} user - The username for authentication
|
|
24
|
+
* @param {string} pass - The password for authentication
|
|
25
|
+
* @return {any} The wrapped database connection object
|
|
26
|
+
* @function wrapDocumentScope
|
|
27
|
+
* @memberOf module:for-couchdb
|
|
28
|
+
* @mermaid
|
|
29
|
+
* sequenceDiagram
|
|
30
|
+
* participant Client
|
|
31
|
+
* participant wrapDocumentScope
|
|
32
|
+
* participant DB
|
|
33
|
+
* participant reAuth
|
|
34
|
+
*
|
|
35
|
+
* Client->>wrapDocumentScope: con, dbName, user, pass
|
|
36
|
+
* wrapDocumentScope->>DB: con.use(dbName)
|
|
37
|
+
* Note over wrapDocumentScope: Wrap DB methods with re-auth
|
|
38
|
+
*
|
|
39
|
+
* loop For each method (insert, get, put, destroy, find)
|
|
40
|
+
* wrapDocumentScope->>wrapDocumentScope: Store original method
|
|
41
|
+
* wrapDocumentScope->>wrapDocumentScope: Define new method with re-auth
|
|
42
|
+
* end
|
|
43
|
+
*
|
|
44
|
+
* wrapDocumentScope->>wrapDocumentScope: Add NATIVE property with con value
|
|
45
|
+
* wrapDocumentScope-->>Client: Return wrapped DB
|
|
46
|
+
*
|
|
47
|
+
* Note over Client: Later when client uses DB methods
|
|
48
|
+
* Client->>DB: Any wrapped method call
|
|
49
|
+
* DB->>reAuth: Authenticate before operation
|
|
50
|
+
* reAuth-->>DB: Authentication complete
|
|
51
|
+
* DB->>DB: Call original method
|
|
52
|
+
* DB-->>Client: Return result
|
|
53
|
+
*/
|
|
8
54
|
export function wrapDocumentScope(con, dbName, user, pass) {
|
|
9
55
|
const db = con.use(dbName);
|
|
10
56
|
["insert", "get", "put", "destroy", "find"].forEach((k) => {
|
|
@@ -26,10 +72,30 @@ export function wrapDocumentScope(con, dbName, user, pass) {
|
|
|
26
72
|
});
|
|
27
73
|
return db;
|
|
28
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* @description Tests if an attribute name is reserved in CouchDB
|
|
77
|
+
* @summary Checks if an attribute name starts with an underscore, which indicates it's a reserved attribute in CouchDB
|
|
78
|
+
* @param {string} attr - The attribute name to test
|
|
79
|
+
* @return {RegExpMatchArray|null} The match result or null if no match
|
|
80
|
+
* @function testReservedAttributes
|
|
81
|
+
* @memberOf module:for-couchdb
|
|
82
|
+
*/
|
|
29
83
|
export function testReservedAttributes(attr) {
|
|
30
84
|
const regexp = /^_.*$/g;
|
|
31
85
|
return attr.match(regexp);
|
|
32
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* @description Generates a name for a CouchDB index
|
|
89
|
+
* @summary Creates a standardized name for a CouchDB index based on the table, attribute, compositions, and order
|
|
90
|
+
* @param {string} attribute - The primary attribute for the index
|
|
91
|
+
* @param {string} tableName - The name of the table
|
|
92
|
+
* @param {string[]} [compositions] - Optional additional attributes to include in the index
|
|
93
|
+
* @param {OrderDirection} [order] - Optional sort order for the index
|
|
94
|
+
* @param {string} [separator=DefaultSeparator] - The separator to use between parts of the index name
|
|
95
|
+
* @return {string} The generated index name
|
|
96
|
+
* @function generateIndexName
|
|
97
|
+
* @memberOf module:for-couchdb
|
|
98
|
+
*/
|
|
33
99
|
export function generateIndexName(attribute, tableName, compositions, order, separator = DefaultSeparator) {
|
|
34
100
|
const attr = [PersistenceKeys.INDEX, tableName, attribute];
|
|
35
101
|
if (compositions)
|
|
@@ -38,6 +104,45 @@ export function generateIndexName(attribute, tableName, compositions, order, sep
|
|
|
38
104
|
attr.push(order);
|
|
39
105
|
return attr.join(separator);
|
|
40
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* @description Generates a CouchDB index configuration
|
|
109
|
+
* @summary Creates a complete CreateIndexRequest object for defining a CouchDB index based on specified parameters
|
|
110
|
+
* @param {string} attribute - The primary attribute for the index
|
|
111
|
+
* @param {string} tableName - The name of the table
|
|
112
|
+
* @param {string[]} [compositions] - Optional additional attributes to include in the index
|
|
113
|
+
* @param {OrderDirection} [order] - Optional sort order for the index
|
|
114
|
+
* @param {string} [separator=DefaultSeparator] - The separator to use between parts of the index name
|
|
115
|
+
* @return {CreateIndexRequest} The complete index configuration object
|
|
116
|
+
* @function generateIndexDoc
|
|
117
|
+
* @memberOf module:for-couchdb
|
|
118
|
+
* @mermaid
|
|
119
|
+
* sequenceDiagram
|
|
120
|
+
* participant Caller
|
|
121
|
+
* participant generateIndexDoc
|
|
122
|
+
* participant generateIndexName
|
|
123
|
+
*
|
|
124
|
+
* Caller->>generateIndexDoc: attribute, tableName, compositions, order, separator
|
|
125
|
+
*
|
|
126
|
+
* Note over generateIndexDoc: Create partial filter selector
|
|
127
|
+
* generateIndexDoc->>generateIndexDoc: Set up filter for tableName
|
|
128
|
+
*
|
|
129
|
+
* alt order is specified
|
|
130
|
+
* Note over generateIndexDoc: Create ordered fields array
|
|
131
|
+
* generateIndexDoc->>generateIndexDoc: Create orderProp for attribute
|
|
132
|
+
* generateIndexDoc->>generateIndexDoc: Map compositions to ordered props
|
|
133
|
+
* generateIndexDoc->>generateIndexDoc: Create sortedTable for table field
|
|
134
|
+
* generateIndexDoc->>generateIndexDoc: Combine all ordered fields
|
|
135
|
+
* else
|
|
136
|
+
* Note over generateIndexDoc: Create simple fields array
|
|
137
|
+
* generateIndexDoc->>generateIndexDoc: Use attribute, compositions, and table as strings
|
|
138
|
+
* end
|
|
139
|
+
*
|
|
140
|
+
* generateIndexDoc->>generateIndexName: Generate index name
|
|
141
|
+
* generateIndexName-->>generateIndexDoc: Return name
|
|
142
|
+
*
|
|
143
|
+
* Note over generateIndexDoc: Create final index request
|
|
144
|
+
* generateIndexDoc-->>Caller: Return CreateIndexRequest
|
|
145
|
+
*/
|
|
41
146
|
export function generateIndexDoc(attribute, tableName, compositions, order, separator = DefaultSeparator) {
|
|
42
147
|
const partialFilterSelector = {};
|
|
43
148
|
partialFilterSelector[CouchDBKeys.TABLE] = {};
|
|
@@ -68,4 +173,4 @@ export function generateIndexDoc(attribute, tableName, compositions, order, sepa
|
|
|
68
173
|
name: name,
|
|
69
174
|
};
|
|
70
175
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdwRCxNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxHQUFRLEVBQUUsSUFBWSxFQUFFLElBQVk7SUFDL0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFRLEVBQ1IsTUFBYyxFQUNkLElBQVksRUFDWixJQUFZO0lBRVosTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUN4RCxNQUFNLFFBQVEsR0FBSSxFQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUMzQixVQUFVLEVBQUUsS0FBSztZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUU7Z0JBQzlCLE1BQU0sTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FB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WCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZGVyRGlyZWN0aW9uLCBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBEZWZhdWx0U2VwYXJhdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb3VjaERCT3BlcmF0b3IgfSBmcm9tIFwiLi9xdWVyeS9jb25zdGFudHNcIjtcbmltcG9ydCB7IENyZWF0ZUluZGV4UmVxdWVzdCwgTWFuZ29TZWxlY3RvciwgU29ydE9yZGVyIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlQXV0aChjb246IGFueSwgdXNlcjogc3RyaW5nLCBwYXNzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNvbi5hdXRoKHVzZXIsIHBhc3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JhcERvY3VtZW50U2NvcGUoXG4gIGNvbjogYW55LFxuICBkYk5hbWU6IHN0cmluZyxcbiAgdXNlcjogc3RyaW5nLFxuICBwYXNzOiBzdHJpbmdcbik6IGFueSB7XG4gIGNvbnN0IGRiID0gY29uLnVzZShkYk5hbWUpO1xuICBbXCJpbnNlcnRcIiwgXCJnZXRcIiwgXCJwdXRcIiwgXCJkZXN0cm95XCIsIFwiZmluZFwiXS5mb3JFYWNoKChrKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWwgPSAoZGIgYXMgUmVjb3JkPHN0cmluZywgYW55Pilba107XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRiLCBrLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBhc3luYyAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICAgICAgYXdhaXQgcmVBdXRoKGNvbiwgdXNlciwgcGFzcyk7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbC5jYWxsKGRiLCAuLi5hcmdzKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGIsIENvdWNoREJLZXlzLk5BVElWRSwge1xuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIHZhbHVlOiBjb24sXG4gIH0pO1xuICByZXR1cm4gZGI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0UmVzZXJ2ZWRBdHRyaWJ1dGVzKGF0dHI6IHN0cmluZykge1xuICBjb25zdCByZWdleHAgPSAvXl8uKiQvZztcbiAgcmV0dXJuIGF0dHIubWF0Y2gocmVnZXhwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSW5kZXhOYW1lKFxuICBhdHRyaWJ1dGU6IHN0cmluZyxcbiAgdGFibGVOYW1lOiBzdHJpbmcsXG4gIGNvbXBvc2l0aW9ucz86IHN0cmluZ1tdLFxuICBvcmRlcj86IE9yZGVyRGlyZWN0aW9uLFxuICBzZXBhcmF0b3IgPSBEZWZhdWx0U2VwYXJhdG9yXG4pOiBzdHJpbmcge1xuICBjb25zdCBhdHRyID0gW1BlcnNpc3RlbmNlS2V5cy5JTkRFWCwgdGFibGVOYW1lLCBhdHRyaWJ1dGVdO1xuICBpZiAoY29tcG9zaXRpb25zKSBhdHRyLnB1c2goLi4uY29tcG9zaXRpb25zKTtcbiAgaWYgKG9yZGVyKSBhdHRyLnB1c2gob3JkZXIpO1xuICByZXR1cm4gYXR0ci5qb2luKHNlcGFyYXRvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUluZGV4RG9jKFxuICBhdHRyaWJ1dGU6IHN0cmluZyxcbiAgdGFibGVOYW1lOiBzdHJpbmcsXG4gIGNvbXBvc2l0aW9ucz86IHN0cmluZ1tdLFxuICBvcmRlcj86IE9yZGVyRGlyZWN0aW9uLFxuICBzZXBhcmF0b3IgPSBEZWZhdWx0U2VwYXJhdG9yXG4pOiBDcmVhdGVJbmRleFJlcXVlc3Qge1xuICBjb25zdCBwYXJ0aWFsRmlsdGVyU2VsZWN0b3I6IE1hbmdvU2VsZWN0b3IgPSB7fTtcbiAgcGFydGlhbEZpbHRlclNlbGVjdG9yW0NvdWNoREJLZXlzLlRBQkxFXSA9IHt9IGFzIE1hbmdvU2VsZWN0b3I7XG4gIChwYXJ0aWFsRmlsdGVyU2VsZWN0b3JbQ291Y2hEQktleXMuVEFCTEVdIGFzIE1hbmdvU2VsZWN0b3IpW1xuICAgIENvdWNoREJPcGVyYXRvci5FUVVBTFxuICBdID0gdGFibGVOYW1lO1xuICBsZXQgZmllbGRzOiBTb3J0T3JkZXJbXTtcbiAgaWYgKG9yZGVyKSB7XG4gICAgY29uc3Qgb3JkZXJQcm9wOiBTb3J0T3JkZXIgPSB7fTtcbiAgICBvcmRlclByb3BbYXR0cmlidXRlXSA9IG9yZGVyIGFzIFwiYXNjXCIgfCBcImRlc2NcIjtcbiAgICBjb25zdCBzb3J0ZWRDb21wb3NpdGlvbnM6IFNvcnRPcmRlcltdID0gKGNvbXBvc2l0aW9ucyB8fCBbXSkubWFwKChjKSA9PiB7XG4gICAgICBjb25zdCByOiBTb3J0T3JkZXIgPSB7fTtcbiAgICAgIHJbY10gPSBvcmRlciBhcyBcImFzY1wiIHwgXCJkZXNjXCI7XG4gICAgICByZXR1cm4gcjtcbiAgICB9KTtcbiAgICBjb25zdCBzb3J0ZWRUYWJsZTogU29ydE9yZGVyID0ge307XG4gICAgc29ydGVkVGFibGVbQ291Y2hEQktleXMuVEFCTEVdID0gb3JkZXIgYXMgXCJhc2NcIiB8IFwiZGVzY1wiO1xuICAgIGZpZWxkcyA9IFtvcmRlclByb3AsIC4uLnNvcnRlZENvbXBvc2l0aW9ucywgc29ydGVkVGFibGVdO1xuICB9IGVsc2Uge1xuICAgIGZpZWxkcyA9IFthdHRyaWJ1dGUsIC4uLihjb21wb3NpdGlvbnMgfHwgW10pLCBDb3VjaERCS2V5cy5UQUJMRV07XG4gIH1cbiAgY29uc3QgbmFtZSA9IGdlbmVyYXRlSW5kZXhOYW1lKFxuICAgIGF0dHJpYnV0ZSxcbiAgICB0YWJsZU5hbWUsXG4gICAgY29tcG9zaXRpb25zLFxuICAgIG9yZGVyLFxuICAgIHNlcGFyYXRvclxuICApO1xuICByZXR1cm4ge1xuICAgIGluZGV4OiB7XG4gICAgICBmaWVsZHM6IGZpZWxkcyxcbiAgICAgIC8vIHBhcnRpYWxfZmlsdGVyX3NlbGVjdG9yOiBwYXJ0aWFsRmlsdGVyU2VsZWN0b3IsXG4gICAgfSxcbiAgICBkZG9jOiBbbmFtZSwgQ291Y2hEQktleXMuRERPQ10uam9pbihzZXBhcmF0b3IpLFxuICAgIG5hbWU6IG5hbWUsXG4gIH07XG59XG4iXX0=
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdwRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLE1BQU0sQ0FBQyxHQUFRLEVBQUUsSUFBWSxFQUFFLElBQVk7SUFDL0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixHQUFRLEVBQ1IsTUFBYyxFQUNkLElBQVksRUFDWixJQUFZO0lBRVosTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUN4RCxNQUFNLFFBQVEsR0FBSSxFQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRTtZQUMzQixVQUFVLEVBQUUsS0FBSztZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBVyxFQUFFLEVBQUU7Z0JBQzlCLE1BQU0sTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO1FBQzVDLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLFlBQVksRUFBRSxLQUFLO1FBQ25CLFFBQVEsRUFBRSxLQUFLO1FBQ2YsS0FBSyxFQUFFLEdBQUc7S0FDWCxDQUFDLENBQUM7SUFDSCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQVk7SUFDakQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLFlBQXVCLEVBQ3ZCLEtBQXNCLEVBQ3RCLFNBQVMsR0FBRyxnQkFBZ0I7SUFFNUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzRCxJQUFJLFlBQVk7UUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDN0MsSUFBSSxLQUFLO1FBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsWUFBdUIsRUFDdkIsS0FBc0IsRUFDdEIsU0FBUyxHQUFHLGdCQUFnQjtJQUU1QixNQUFNLHFCQUFxQixHQUFrQixFQUFFLENBQUM7SUFDaEQscUJBQXFCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQW1CLENBQUM7SUFDOUQscUJBQXFCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBbUIsQ0FDekQsZUFBZSxDQUFDLEtBQUssQ0FDdEIsR0FBRyxTQUFTLENBQUM7SUFDZCxJQUFJLE1BQW1CLENBQUM7SUFDeEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLE1BQU0sU0FBUyxHQUFjLEVBQUUsQ0FBQztRQUNoQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBdUIsQ0FBQztRQUMvQyxNQUFNLGtCQUFrQixHQUFnQixDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyRSxNQUFNLENBQUMsR0FBYyxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQXVCLENBQUM7WUFDL0IsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFjLEVBQUUsQ0FBQztRQUNsQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQXVCLENBQUM7UUFDekQsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUM1QixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsU0FBUyxDQUNWLENBQUM7SUFDRixPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0wsTUFBTSxFQUFFLE1BQU07WUFDZCxrREFBa0Q7U0FDbkQ7UUFDRCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDOUMsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZGVyRGlyZWN0aW9uLCBQZXJzaXN0ZW5jZUtleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBEZWZhdWx0U2VwYXJhdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb3VjaERCT3BlcmF0b3IgfSBmcm9tIFwiLi9xdWVyeS9jb25zdGFudHNcIjtcbmltcG9ydCB7IENyZWF0ZUluZGV4UmVxdWVzdCwgTWFuZ29TZWxlY3RvciwgU29ydE9yZGVyIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmUtYXV0aGVudGljYXRlcyBhIGNvbm5lY3Rpb24gdG8gQ291Y2hEQlxuICogQHN1bW1hcnkgUmVmcmVzaGVzIHRoZSBhdXRoZW50aWNhdGlvbiBmb3IgYSBDb3VjaERCIGNvbm5lY3Rpb24gdXNpbmcgdGhlIHByb3ZpZGVkIGNyZWRlbnRpYWxzXG4gKiBAcGFyYW0ge2FueX0gY29uIC0gVGhlIENvdWNoREIgY29ubmVjdGlvbiBvYmplY3RcbiAqIEBwYXJhbSB7c3RyaW5nfSB1c2VyIC0gVGhlIHVzZXJuYW1lIGZvciBhdXRoZW50aWNhdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IHBhc3MgLSBUaGUgcGFzc3dvcmQgZm9yIGF1dGhlbnRpY2F0aW9uXG4gKiBAcmV0dXJuIHtQcm9taXNlPGFueT59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBhdXRoZW50aWNhdGlvbiByZXN1bHRcbiAqIEBmdW5jdGlvbiByZUF1dGhcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWNvdWNoZGJcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlQXV0aChjb246IGFueSwgdXNlcjogc3RyaW5nLCBwYXNzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNvbi5hdXRoKHVzZXIsIHBhc3MpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBXcmFwcyBhIENvdWNoREIgZGF0YWJhc2UgY29ubmVjdGlvbiB3aXRoIGF1dG9tYXRpYyByZS1hdXRoZW50aWNhdGlvblxuICogQHN1bW1hcnkgQ3JlYXRlcyBhIHByb3h5IGFyb3VuZCBhIENvdWNoREIgZGF0YWJhc2UgY29ubmVjdGlvbiB0aGF0IGF1dG9tYXRpY2FsbHkgcmUtYXV0aGVudGljYXRlcyBiZWZvcmUgZWFjaCBvcGVyYXRpb25cbiAqIEBwYXJhbSB7YW55fSBjb24gLSBUaGUgQ291Y2hEQiBjb25uZWN0aW9uIG9iamVjdFxuICogQHBhcmFtIHtzdHJpbmd9IGRiTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSB0byB1c2VcbiAqIEBwYXJhbSB7c3RyaW5nfSB1c2VyIC0gVGhlIHVzZXJuYW1lIGZvciBhdXRoZW50aWNhdGlvblxuICogQHBhcmFtIHtzdHJpbmd9IHBhc3MgLSBUaGUgcGFzc3dvcmQgZm9yIGF1dGhlbnRpY2F0aW9uXG4gKiBAcmV0dXJuIHthbnl9IFRoZSB3cmFwcGVkIGRhdGFiYXNlIGNvbm5lY3Rpb24gb2JqZWN0XG4gKiBAZnVuY3Rpb24gd3JhcERvY3VtZW50U2NvcGVcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWNvdWNoZGJcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ2xpZW50XG4gKiAgIHBhcnRpY2lwYW50IHdyYXBEb2N1bWVudFNjb3BlXG4gKiAgIHBhcnRpY2lwYW50IERCXG4gKiAgIHBhcnRpY2lwYW50IHJlQXV0aFxuICogICBcbiAqICAgQ2xpZW50LT4+d3JhcERvY3VtZW50U2NvcGU6IGNvbiwgZGJOYW1lLCB1c2VyLCBwYXNzXG4gKiAgIHdyYXBEb2N1bWVudFNjb3BlLT4+REI6IGNvbi51c2UoZGJOYW1lKVxuICogICBOb3RlIG92ZXIgd3JhcERvY3VtZW50U2NvcGU6IFdyYXAgREIgbWV0aG9kcyB3aXRoIHJlLWF1dGhcbiAqICAgXG4gKiAgIGxvb3AgRm9yIGVhY2ggbWV0aG9kIChpbnNlcnQsIGdldCwgcHV0LCBkZXN0cm95LCBmaW5kKVxuICogICAgIHdyYXBEb2N1bWVudFNjb3BlLT4+d3JhcERvY3VtZW50U2NvcGU6IFN0b3JlIG9yaWdpbmFsIG1ldGhvZFxuICogICAgIHdyYXBEb2N1bWVudFNjb3BlLT4+d3JhcERvY3VtZW50U2NvcGU6IERlZmluZSBuZXcgbWV0aG9kIHdpdGggcmUtYXV0aFxuICogICBlbmRcbiAqICAgXG4gKiAgIHdyYXBEb2N1bWVudFNjb3BlLT4+d3JhcERvY3VtZW50U2NvcGU6IEFkZCBOQVRJVkUgcHJvcGVydHkgd2l0aCBjb24gdmFsdWVcbiAqICAgd3JhcERvY3VtZW50U2NvcGUtLT4+Q2xpZW50OiBSZXR1cm4gd3JhcHBlZCBEQlxuICogICBcbiAqICAgTm90ZSBvdmVyIENsaWVudDogTGF0ZXIgd2hlbiBjbGllbnQgdXNlcyBEQiBtZXRob2RzXG4gKiAgIENsaWVudC0+PkRCOiBBbnkgd3JhcHBlZCBtZXRob2QgY2FsbFxuICogICBEQi0+PnJlQXV0aDogQXV0aGVudGljYXRlIGJlZm9yZSBvcGVyYXRpb25cbiAqICAgcmVBdXRoLS0+PkRCOiBBdXRoZW50aWNhdGlvbiBjb21wbGV0ZVxuICogICBEQi0+PkRCOiBDYWxsIG9yaWdpbmFsIG1ldGhvZFxuICogICBEQi0tPj5DbGllbnQ6IFJldHVybiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBEb2N1bWVudFNjb3BlKFxuICBjb246IGFueSxcbiAgZGJOYW1lOiBzdHJpbmcsXG4gIHVzZXI6IHN0cmluZyxcbiAgcGFzczogc3RyaW5nXG4pOiBhbnkge1xuICBjb25zdCBkYiA9IGNvbi51c2UoZGJOYW1lKTtcbiAgW1wiaW5zZXJ0XCIsIFwiZ2V0XCIsIFwicHV0XCIsIFwiZGVzdHJveVwiLCBcImZpbmRcIl0uZm9yRWFjaCgoaykgPT4ge1xuICAgIGNvbnN0IG9yaWdpbmFsID0gKGRiIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW2tdO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkYiwgaywge1xuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB2YWx1ZTogYXN5bmMgKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgIGF3YWl0IHJlQXV0aChjb24sIHVzZXIsIHBhc3MpO1xuICAgICAgICByZXR1cm4gb3JpZ2luYWwuY2FsbChkYiwgLi4uYXJncyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRiLCBDb3VjaERCS2V5cy5OQVRJVkUsIHtcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICB2YWx1ZTogY29uLFxuICB9KTtcbiAgcmV0dXJuIGRiO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUZXN0cyBpZiBhbiBhdHRyaWJ1dGUgbmFtZSBpcyByZXNlcnZlZCBpbiBDb3VjaERCXG4gKiBAc3VtbWFyeSBDaGVja3MgaWYgYW4gYXR0cmlidXRlIG5hbWUgc3RhcnRzIHdpdGggYW4gdW5kZXJzY29yZSwgd2hpY2ggaW5kaWNhdGVzIGl0J3MgYSByZXNlcnZlZCBhdHRyaWJ1dGUgaW4gQ291Y2hEQlxuICogQHBhcmFtIHtzdHJpbmd9IGF0dHIgLSBUaGUgYXR0cmlidXRlIG5hbWUgdG8gdGVzdFxuICogQHJldHVybiB7UmVnRXhwTWF0Y2hBcnJheXxudWxsfSBUaGUgbWF0Y2ggcmVzdWx0IG9yIG51bGwgaWYgbm8gbWF0Y2hcbiAqIEBmdW5jdGlvbiB0ZXN0UmVzZXJ2ZWRBdHRyaWJ1dGVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmZvci1jb3VjaGRiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0UmVzZXJ2ZWRBdHRyaWJ1dGVzKGF0dHI6IHN0cmluZykge1xuICBjb25zdCByZWdleHAgPSAvXl8uKiQvZztcbiAgcmV0dXJuIGF0dHIubWF0Y2gocmVnZXhwKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJhdGVzIGEgbmFtZSBmb3IgYSBDb3VjaERCIGluZGV4XG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgc3RhbmRhcmRpemVkIG5hbWUgZm9yIGEgQ291Y2hEQiBpbmRleCBiYXNlZCBvbiB0aGUgdGFibGUsIGF0dHJpYnV0ZSwgY29tcG9zaXRpb25zLCBhbmQgb3JkZXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGUgLSBUaGUgcHJpbWFyeSBhdHRyaWJ1dGUgZm9yIHRoZSBpbmRleFxuICogQHBhcmFtIHtzdHJpbmd9IHRhYmxlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0YWJsZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gW2NvbXBvc2l0aW9uc10gLSBPcHRpb25hbCBhZGRpdGlvbmFsIGF0dHJpYnV0ZXMgdG8gaW5jbHVkZSBpbiB0aGUgaW5kZXhcbiAqIEBwYXJhbSB7T3JkZXJEaXJlY3Rpb259IFtvcmRlcl0gLSBPcHRpb25hbCBzb3J0IG9yZGVyIGZvciB0aGUgaW5kZXhcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc2VwYXJhdG9yPURlZmF1bHRTZXBhcmF0b3JdIC0gVGhlIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBwYXJ0cyBvZiB0aGUgaW5kZXggbmFtZVxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgZ2VuZXJhdGVkIGluZGV4IG5hbWVcbiAqIEBmdW5jdGlvbiBnZW5lcmF0ZUluZGV4TmFtZVxuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJbmRleE5hbWUoXG4gIGF0dHJpYnV0ZTogc3RyaW5nLFxuICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgY29tcG9zaXRpb25zPzogc3RyaW5nW10sXG4gIG9yZGVyPzogT3JkZXJEaXJlY3Rpb24sXG4gIHNlcGFyYXRvciA9IERlZmF1bHRTZXBhcmF0b3Jcbik6IHN0cmluZyB7XG4gIGNvbnN0IGF0dHIgPSBbUGVyc2lzdGVuY2VLZXlzLklOREVYLCB0YWJsZU5hbWUsIGF0dHJpYnV0ZV07XG4gIGlmIChjb21wb3NpdGlvbnMpIGF0dHIucHVzaCguLi5jb21wb3NpdGlvbnMpO1xuICBpZiAob3JkZXIpIGF0dHIucHVzaChvcmRlcik7XG4gIHJldHVybiBhdHRyLmpvaW4oc2VwYXJhdG9yKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJhdGVzIGEgQ291Y2hEQiBpbmRleCBjb25maWd1cmF0aW9uXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgY29tcGxldGUgQ3JlYXRlSW5kZXhSZXF1ZXN0IG9iamVjdCBmb3IgZGVmaW5pbmcgYSBDb3VjaERCIGluZGV4IGJhc2VkIG9uIHNwZWNpZmllZCBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge3N0cmluZ30gYXR0cmlidXRlIC0gVGhlIHByaW1hcnkgYXR0cmlidXRlIGZvciB0aGUgaW5kZXhcbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdGFibGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IFtjb21wb3NpdGlvbnNdIC0gT3B0aW9uYWwgYWRkaXRpb25hbCBhdHRyaWJ1dGVzIHRvIGluY2x1ZGUgaW4gdGhlIGluZGV4XG4gKiBAcGFyYW0ge09yZGVyRGlyZWN0aW9ufSBbb3JkZXJdIC0gT3B0aW9uYWwgc29ydCBvcmRlciBmb3IgdGhlIGluZGV4XG4gKiBAcGFyYW0ge3N0cmluZ30gW3NlcGFyYXRvcj1EZWZhdWx0U2VwYXJhdG9yXSAtIFRoZSBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gcGFydHMgb2YgdGhlIGluZGV4IG5hbWVcbiAqIEByZXR1cm4ge0NyZWF0ZUluZGV4UmVxdWVzdH0gVGhlIGNvbXBsZXRlIGluZGV4IGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKiBAZnVuY3Rpb24gZ2VuZXJhdGVJbmRleERvY1xuICogQG1lbWJlck9mIG1vZHVsZTpmb3ItY291Y2hkYlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgZ2VuZXJhdGVJbmRleERvY1xuICogICBwYXJ0aWNpcGFudCBnZW5lcmF0ZUluZGV4TmFtZVxuICogICBcbiAqICAgQ2FsbGVyLT4+Z2VuZXJhdGVJbmRleERvYzogYXR0cmlidXRlLCB0YWJsZU5hbWUsIGNvbXBvc2l0aW9ucywgb3JkZXIsIHNlcGFyYXRvclxuICogICBcbiAqICAgTm90ZSBvdmVyIGdlbmVyYXRlSW5kZXhEb2M6IENyZWF0ZSBwYXJ0aWFsIGZpbHRlciBzZWxlY3RvclxuICogICBnZW5lcmF0ZUluZGV4RG9jLT4+Z2VuZXJhdGVJbmRleERvYzogU2V0IHVwIGZpbHRlciBmb3IgdGFibGVOYW1lXG4gKiAgIFxuICogICBhbHQgb3JkZXIgaXMgc3BlY2lmaWVkXG4gKiAgICAgTm90ZSBvdmVyIGdlbmVyYXRlSW5kZXhEb2M6IENyZWF0ZSBvcmRlcmVkIGZpZWxkcyBhcnJheVxuICogICAgIGdlbmVyYXRlSW5kZXhEb2MtPj5nZW5lcmF0ZUluZGV4RG9jOiBDcmVhdGUgb3JkZXJQcm9wIGZvciBhdHRyaWJ1dGVcbiAqICAgICBnZW5lcmF0ZUluZGV4RG9jLT4+Z2VuZXJhdGVJbmRleERvYzogTWFwIGNvbXBvc2l0aW9ucyB0byBvcmRlcmVkIHByb3BzXG4gKiAgICAgZ2VuZXJhdGVJbmRleERvYy0+PmdlbmVyYXRlSW5kZXhEb2M6IENyZWF0ZSBzb3J0ZWRUYWJsZSBmb3IgdGFibGUgZmllbGRcbiAqICAgICBnZW5lcmF0ZUluZGV4RG9jLT4+Z2VuZXJhdGVJbmRleERvYzogQ29tYmluZSBhbGwgb3JkZXJlZCBmaWVsZHNcbiAqICAgZWxzZVxuICogICAgIE5vdGUgb3ZlciBnZW5lcmF0ZUluZGV4RG9jOiBDcmVhdGUgc2ltcGxlIGZpZWxkcyBhcnJheVxuICogICAgIGdlbmVyYXRlSW5kZXhEb2MtPj5nZW5lcmF0ZUluZGV4RG9jOiBVc2UgYXR0cmlidXRlLCBjb21wb3NpdGlvbnMsIGFuZCB0YWJsZSBhcyBzdHJpbmdzXG4gKiAgIGVuZFxuICogICBcbiAqICAgZ2VuZXJhdGVJbmRleERvYy0+PmdlbmVyYXRlSW5kZXhOYW1lOiBHZW5lcmF0ZSBpbmRleCBuYW1lXG4gKiAgIGdlbmVyYXRlSW5kZXhOYW1lLS0+PmdlbmVyYXRlSW5kZXhEb2M6IFJldHVybiBuYW1lXG4gKiAgIFxuICogICBOb3RlIG92ZXIgZ2VuZXJhdGVJbmRleERvYzogQ3JlYXRlIGZpbmFsIGluZGV4IHJlcXVlc3RcbiAqICAgZ2VuZXJhdGVJbmRleERvYy0tPj5DYWxsZXI6IFJldHVybiBDcmVhdGVJbmRleFJlcXVlc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSW5kZXhEb2MoXG4gIGF0dHJpYnV0ZTogc3RyaW5nLFxuICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgY29tcG9zaXRpb25zPzogc3RyaW5nW10sXG4gIG9yZGVyPzogT3JkZXJEaXJlY3Rpb24sXG4gIHNlcGFyYXRvciA9IERlZmF1bHRTZXBhcmF0b3Jcbik6IENyZWF0ZUluZGV4UmVxdWVzdCB7XG4gIGNvbnN0IHBhcnRpYWxGaWx0ZXJTZWxlY3RvcjogTWFuZ29TZWxlY3RvciA9IHt9O1xuICBwYXJ0aWFsRmlsdGVyU2VsZWN0b3JbQ291Y2hEQktleXMuVEFCTEVdID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgKHBhcnRpYWxGaWx0ZXJTZWxlY3RvcltDb3VjaERCS2V5cy5UQUJMRV0gYXMgTWFuZ29TZWxlY3RvcilbXG4gICAgQ291Y2hEQk9wZXJhdG9yLkVRVUFMXG4gIF0gPSB0YWJsZU5hbWU7XG4gIGxldCBmaWVsZHM6IFNvcnRPcmRlcltdO1xuICBpZiAob3JkZXIpIHtcbiAgICBjb25zdCBvcmRlclByb3A6IFNvcnRPcmRlciA9IHt9O1xuICAgIG9yZGVyUHJvcFthdHRyaWJ1dGVdID0gb3JkZXIgYXMgXCJhc2NcIiB8IFwiZGVzY1wiO1xuICAgIGNvbnN0IHNvcnRlZENvbXBvc2l0aW9uczogU29ydE9yZGVyW10gPSAoY29tcG9zaXRpb25zIHx8IFtdKS5tYXAoKGMpID0+IHtcbiAgICAgIGNvbnN0IHI6IFNvcnRPcmRlciA9IHt9O1xuICAgICAgcltjXSA9IG9yZGVyIGFzIFwiYXNjXCIgfCBcImRlc2NcIjtcbiAgICAgIHJldHVybiByO1xuICAgIH0pO1xuICAgIGNvbnN0IHNvcnRlZFRhYmxlOiBTb3J0T3JkZXIgPSB7fTtcbiAgICBzb3J0ZWRUYWJsZVtDb3VjaERCS2V5cy5UQUJMRV0gPSBvcmRlciBhcyBcImFzY1wiIHwgXCJkZXNjXCI7XG4gICAgZmllbGRzID0gW29yZGVyUHJvcCwgLi4uc29ydGVkQ29tcG9zaXRpb25zLCBzb3J0ZWRUYWJsZV07XG4gIH0gZWxzZSB7XG4gICAgZmllbGRzID0gW2F0dHJpYnV0ZSwgLi4uKGNvbXBvc2l0aW9ucyB8fCBbXSksIENvdWNoREJLZXlzLlRBQkxFXTtcbiAgfVxuICBjb25zdCBuYW1lID0gZ2VuZXJhdGVJbmRleE5hbWUoXG4gICAgYXR0cmlidXRlLFxuICAgIHRhYmxlTmFtZSxcbiAgICBjb21wb3NpdGlvbnMsXG4gICAgb3JkZXIsXG4gICAgc2VwYXJhdG9yXG4gICk7XG4gIHJldHVybiB7XG4gICAgaW5kZXg6IHtcbiAgICAgIGZpZWxkczogZmllbGRzLFxuICAgICAgLy8gcGFydGlhbF9maWx0ZXJfc2VsZWN0b3I6IHBhcnRpYWxGaWx0ZXJTZWxlY3RvcixcbiAgICB9LFxuICAgIGRkb2M6IFtuYW1lLCBDb3VjaERCS2V5cy5ERE9DXS5qb2luKHNlcGFyYXRvciksXG4gICAgbmFtZTogbmFtZSxcbiAgfTtcbn1cbiJdfQ==
|
package/lib/index.cjs
CHANGED
|
@@ -25,21 +25,14 @@ __exportStar(require("./errors.cjs"), exports);
|
|
|
25
25
|
__exportStar(require("./types.cjs"), exports);
|
|
26
26
|
__exportStar(require("./utils.cjs"), exports);
|
|
27
27
|
/**
|
|
28
|
-
* @
|
|
29
|
-
* @
|
|
30
|
-
* @module
|
|
28
|
+
* @description CouchDB adapter for Decaf.ts
|
|
29
|
+
* @summary A TypeScript adapter for CouchDB database operations, providing a seamless integration with the Decaf.ts framework. This module includes classes, interfaces, and utilities for working with CouchDB databases, including support for Mango queries, document operations, and sequence management.
|
|
30
|
+
* @module for-couchdb
|
|
31
31
|
*/
|
|
32
32
|
/**
|
|
33
|
-
* @
|
|
34
|
-
* @
|
|
35
|
-
* @namespace Namespace
|
|
36
|
-
* @memberOf module:ts-workspace
|
|
37
|
-
*/
|
|
38
|
-
/**
|
|
39
|
-
* @summary stores the current package version
|
|
40
|
-
* @description this is how you should document a constant
|
|
33
|
+
* @description Stores the current package version
|
|
34
|
+
* @summary The version string of the for-couchdb package
|
|
41
35
|
* @const VERSION
|
|
42
|
-
* @memberOf module:ts-workspace
|
|
43
36
|
*/
|
|
44
|
-
exports.VERSION = "0.3.
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
exports.VERSION = "0.3.2";
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBMEI7QUFDMUIseURBQTZCO0FBQzdCLG9EQUF3QjtBQUN4Qix3REFBNEI7QUFDNUIsZ0RBQTBCO0FBQzFCLGtEQUE0QjtBQUM1QiwrQ0FBeUI7QUFDekIsOENBQXdCO0FBQ3hCLDhDQUF3QjtBQUV4Qjs7OztHQUlHO0FBRUg7Ozs7R0FJRztBQUNVLFFBQUEsT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2luZGV4ZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ludGVyZmFjZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXF1ZW5jZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FkYXB0ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ291Y2hEQiBhZGFwdGVyIGZvciBEZWNhZi50c1xuICogQHN1bW1hcnkgQSBUeXBlU2NyaXB0IGFkYXB0ZXIgZm9yIENvdWNoREIgZGF0YWJhc2Ugb3BlcmF0aW9ucywgcHJvdmlkaW5nIGEgc2VhbWxlc3MgaW50ZWdyYXRpb24gd2l0aCB0aGUgRGVjYWYudHMgZnJhbWV3b3JrLiBUaGlzIG1vZHVsZSBpbmNsdWRlcyBjbGFzc2VzLCBpbnRlcmZhY2VzLCBhbmQgdXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggQ291Y2hEQiBkYXRhYmFzZXMsIGluY2x1ZGluZyBzdXBwb3J0IGZvciBNYW5nbyBxdWVyaWVzLCBkb2N1bWVudCBvcGVyYXRpb25zLCBhbmQgc2VxdWVuY2UgbWFuYWdlbWVudC5cbiAqIEBtb2R1bGUgZm9yLWNvdWNoZGJcbiAqL1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTdG9yZXMgdGhlIGN1cnJlbnQgcGFja2FnZSB2ZXJzaW9uXG4gKiBAc3VtbWFyeSBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIGZvci1jb3VjaGRiIHBhY2thZ2VcbiAqIEBjb25zdCBWRVJTSU9OXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gXCIjI1ZFUlNJT04jI1wiO1xuIl19
|
package/lib/index.d.ts
CHANGED
|
@@ -8,20 +8,13 @@ export * from "./errors";
|
|
|
8
8
|
export * from "./types";
|
|
9
9
|
export * from "./utils";
|
|
10
10
|
/**
|
|
11
|
-
* @
|
|
12
|
-
* @
|
|
13
|
-
* @module
|
|
11
|
+
* @description CouchDB adapter for Decaf.ts
|
|
12
|
+
* @summary A TypeScript adapter for CouchDB database operations, providing a seamless integration with the Decaf.ts framework. This module includes classes, interfaces, and utilities for working with CouchDB databases, including support for Mango queries, document operations, and sequence management.
|
|
13
|
+
* @module for-couchdb
|
|
14
14
|
*/
|
|
15
15
|
/**
|
|
16
|
-
* @
|
|
17
|
-
* @
|
|
18
|
-
* @namespace Namespace
|
|
19
|
-
* @memberOf module:ts-workspace
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* @summary stores the current package version
|
|
23
|
-
* @description this is how you should document a constant
|
|
16
|
+
* @description Stores the current package version
|
|
17
|
+
* @summary The version string of the for-couchdb package
|
|
24
18
|
* @const VERSION
|
|
25
|
-
* @memberOf module:ts-workspace
|
|
26
19
|
*/
|
|
27
|
-
export declare const VERSION = "0.3.
|
|
20
|
+
export declare const VERSION = "0.3.2";
|