@decaf-ts/for-couchdb 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/for-couchdb.cjs +190 -348
  2. package/dist/for-couchdb.esm.cjs +184 -341
  3. package/lib/adapter.cjs +64 -41
  4. package/lib/adapter.d.ts +12 -21
  5. package/lib/constants.cjs +2 -2
  6. package/lib/errors.cjs +2 -2
  7. package/lib/esm/adapter.d.ts +12 -21
  8. package/lib/esm/adapter.js +64 -41
  9. package/lib/esm/constants.js +2 -2
  10. package/lib/esm/errors.js +2 -2
  11. package/lib/esm/index.d.ts +1 -1
  12. package/lib/esm/index.js +1 -1
  13. package/lib/esm/interfaces/CouchDBRepository.d.ts +2 -1
  14. package/lib/esm/interfaces/CouchDBRepository.js +1 -1
  15. package/lib/esm/model/CouchDBSequence.d.ts +0 -13
  16. package/lib/esm/model/CouchDBSequence.js +1 -1
  17. package/lib/esm/query/Paginator.d.ts +6 -4
  18. package/lib/esm/query/Paginator.js +14 -15
  19. package/lib/esm/query/Statement.d.ts +9 -10
  20. package/lib/esm/query/Statement.js +116 -30
  21. package/lib/esm/query/constants.d.ts +1 -0
  22. package/lib/esm/query/constants.js +2 -1
  23. package/lib/esm/query/index.d.ts +4 -1
  24. package/lib/esm/query/index.js +5 -2
  25. package/lib/esm/sequences/Sequence.d.ts +2 -2
  26. package/lib/esm/sequences/Sequence.js +4 -6
  27. package/lib/index.cjs +2 -2
  28. package/lib/index.d.ts +1 -1
  29. package/lib/indexes/generator.cjs +3 -3
  30. package/lib/indexes/index.cjs +1 -1
  31. package/lib/interfaces/CouchDBRepository.cjs +1 -1
  32. package/lib/interfaces/CouchDBRepository.d.ts +2 -1
  33. package/lib/interfaces/index.cjs +1 -1
  34. package/lib/model/CouchDBSequence.cjs +2 -2
  35. package/lib/model/CouchDBSequence.d.ts +0 -13
  36. package/lib/model/index.cjs +1 -1
  37. package/lib/query/Paginator.cjs +12 -13
  38. package/lib/query/Paginator.d.ts +6 -4
  39. package/lib/query/Statement.cjs +116 -30
  40. package/lib/query/Statement.d.ts +9 -10
  41. package/lib/query/constants.cjs +3 -2
  42. package/lib/query/constants.d.ts +1 -0
  43. package/lib/query/index.cjs +5 -2
  44. package/lib/query/index.d.ts +4 -1
  45. package/lib/query/translate.cjs +1 -1
  46. package/lib/sequences/Sequence.cjs +5 -7
  47. package/lib/sequences/Sequence.d.ts +2 -2
  48. package/lib/sequences/index.cjs +1 -1
  49. package/lib/utils.cjs +1 -1
  50. package/package.json +1 -1
  51. package/lib/esm/query/FromClause.d.ts +0 -7
  52. package/lib/esm/query/FromClause.js +0 -20
  53. package/lib/esm/query/InsertClause.d.ts +0 -7
  54. package/lib/esm/query/InsertClause.js +0 -13
  55. package/lib/esm/query/SelectClause.d.ts +0 -7
  56. package/lib/esm/query/SelectClause.js +0 -16
  57. package/lib/esm/query/ValuesClause.d.ts +0 -7
  58. package/lib/esm/query/ValuesClause.js +0 -12
  59. package/lib/esm/query/WhereClause.d.ts +0 -7
  60. package/lib/esm/query/WhereClause.js +0 -57
  61. package/lib/esm/query/factory.d.ts +0 -24
  62. package/lib/esm/query/factory.js +0 -117
  63. package/lib/esm/sequences/utils.d.ts +0 -1
  64. package/lib/esm/sequences/utils.js +0 -16
  65. package/lib/query/FromClause.cjs +0 -24
  66. package/lib/query/FromClause.d.ts +0 -7
  67. package/lib/query/InsertClause.cjs +0 -17
  68. package/lib/query/InsertClause.d.ts +0 -7
  69. package/lib/query/SelectClause.cjs +0 -20
  70. package/lib/query/SelectClause.d.ts +0 -7
  71. package/lib/query/ValuesClause.cjs +0 -16
  72. package/lib/query/ValuesClause.d.ts +0 -7
  73. package/lib/query/WhereClause.cjs +0 -61
  74. package/lib/query/WhereClause.d.ts +0 -7
  75. package/lib/query/factory.cjs +0 -121
  76. package/lib/query/factory.d.ts +0 -24
  77. package/lib/sequences/utils.cjs +0 -19
  78. package/lib/sequences/utils.d.ts +0 -1
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291Y2hEQlJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9Db3VjaERCUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQ291Y2hEQkFkYXB0ZXIgfSBmcm9tIFwiLi4vYWRhcHRlclwiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCB0eXBlIENvdWNoREJSZXBvc2l0b3J5PE0gZXh0ZW5kcyBNb2RlbCwgUz4gPSBSZXBvc2l0b3J5PFxuICBNLFxuICBNYW5nb1F1ZXJ5LFxuICBDb3VjaERCQWRhcHRlcjxTPlxuPjtcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291Y2hEQlJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9Db3VjaERCUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQ291Y2hEQkFkYXB0ZXIgfSBmcm9tIFwiLi4vYWRhcHRlclwiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBSZXBvc2l0b3J5RmxhZ3MgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IHR5cGUgQ291Y2hEQlJlcG9zaXRvcnk8XG4gIE0gZXh0ZW5kcyBNb2RlbCxcbiAgWSxcbiAgRiBleHRlbmRzIFJlcG9zaXRvcnlGbGFncyxcbiAgQyBleHRlbmRzIENvbnRleHQ8Rj4sXG4+ID0gUmVwb3NpdG9yeTxNLCBNYW5nb1F1ZXJ5LCBDb3VjaERCQWRhcHRlcjxZLCBGLCBDPj47XG4iXX0=
@@ -2,4 +2,5 @@ import { Repository } from "@decaf-ts/core";
2
2
  import { CouchDBAdapter } from "../adapter";
3
3
  import { Model } from "@decaf-ts/decorator-validation";
4
4
  import { MangoQuery } from "../types";
5
- export type CouchDBRepository<M extends Model, S> = Repository<M, MangoQuery, CouchDBAdapter<S>>;
5
+ import { Context, RepositoryFlags } from "@decaf-ts/db-decorators";
6
+ export type CouchDBRepository<M extends Model, Y, F extends RepositoryFlags, C extends Context<F>> = Repository<M, MangoQuery, CouchDBAdapter<Y, F, C>>;
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./CouchDBRepository.cjs"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQ291Y2hEQlJlcG9zaXRvcnlcIjtcbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQ291Y2hEQlJlcG9zaXRvcnlcIjtcbiJdfQ==
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Sequence = void 0;
13
13
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
14
  const core_1 = require("@decaf-ts/core");
15
- const constants_1 = require("../constants.cjs");
15
+ const constants_1 = require("./../constants.cjs");
16
16
  let Sequence = class Sequence extends core_1.BaseModel {
17
17
  constructor(seq) {
18
18
  super(seq);
@@ -33,4 +33,4 @@ exports.Sequence = Sequence = __decorate([
33
33
  (0, decorator_validation_1.model)(),
34
34
  __metadata("design:paramtypes", [Object])
35
35
  ], Sequence);
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291Y2hEQlNlcXVlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0NvdWNoREJTZXF1ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSx5RUFBaUU7QUFDakUseUNBQTZEO0FBQzdELDRDQUEyQztBQUlwQyxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVMsU0FBUSxnQkFBUztJQW9CckMsWUFBWSxHQUF3QjtRQUNsQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDYixDQUFDO0NBQ0YsQ0FBQTtBQXZCWSw0QkFBUTtBQVFuQjtJQURDLElBQUEsU0FBRSxHQUFFOztvQ0FDTztBQVVaO0lBRkMsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSxZQUFLLEdBQUU7O3lDQUNrQjttQkFsQmYsUUFBUTtJQUZwQixJQUFBLFlBQUssRUFBQyx1QkFBVyxDQUFDLFFBQVEsQ0FBQztJQUMzQixJQUFBLDRCQUFLLEdBQUU7O0dBQ0ssUUFBUSxDQXVCcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQmFzZU1vZGVsLCBwaywgaW5kZXgsIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb3VjaERCS2V5cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuQHRhYmxlKENvdWNoREJLZXlzLlNFUVVFTkNFKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZSBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSB0aGUgUHJpbWFyeSBrZXkgZm9yIHRoZSBEQlNlcXVlbmNlXG4gICAqIEBwcm9wIG5hbWVcbiAgICpcbiAgICogQHNlZSBwa1xuICAgKi9cbiAgQHBrKClcbiAgaWQhOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSB0aGUgY3VycmVudCB2YWx1ZSBmb3IgdGhlIERCU2VxdWVuY2VcbiAgICogQHByb3AgY3VycmVudFxuICAgKlxuICAgKiBAc2VlIHJlcXVpcmVkXG4gICAqIEBzZWUgaW5kZXhcbiAgICovXG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleCgpXG4gIGN1cnJlbnQhOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgY29uc3RydWN0b3Ioc2VxPzogTW9kZWxBcmc8U2VxdWVuY2U+KSB7XG4gICAgc3VwZXIoc2VxKTtcbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291Y2hEQlNlcXVlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0NvdWNoREJTZXF1ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSx5RUFBaUU7QUFDakUseUNBQTZEO0FBQzdELGtEQUEyQztBQUlwQyxJQUFNLFFBQVEsR0FBZCxNQUFNLFFBQVMsU0FBUSxnQkFBUztJQU9yQyxZQUFZLEdBQXdCO1FBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLENBQUM7Q0FDRixDQUFBO0FBVlksNEJBQVE7QUFFbkI7SUFEQyxJQUFBLFNBQUUsR0FBRTs7b0NBQ087QUFHWjtJQUZDLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEsWUFBSyxHQUFFOzt5Q0FDa0I7bUJBTGYsUUFBUTtJQUZwQixJQUFBLFlBQUssRUFBQyx1QkFBVyxDQUFDLFFBQVEsQ0FBQztJQUMzQixJQUFBLDRCQUFLLEdBQUU7O0dBQ0ssUUFBUSxDQVVwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWwsIHBrLCBpbmRleCwgdGFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5AdGFibGUoQ291Y2hEQktleXMuU0VRVUVOQ0UpXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFNlcXVlbmNlIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgQHBrKClcbiAgaWQhOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleCgpXG4gIGN1cnJlbnQhOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgY29uc3RydWN0b3Ioc2VxPzogTW9kZWxBcmc8U2VxdWVuY2U+KSB7XG4gICAgc3VwZXIoc2VxKTtcbiAgfVxufVxuIl19
@@ -1,20 +1,7 @@
1
1
  import type { ModelArg } from "@decaf-ts/decorator-validation";
2
2
  import { BaseModel } from "@decaf-ts/core";
3
3
  export declare class Sequence extends BaseModel {
4
- /**
5
- * @summary the Primary key for the DBSequence
6
- * @prop name
7
- *
8
- * @see pk
9
- */
10
4
  id: string;
11
- /**
12
- * @summary the current value for the DBSequence
13
- * @prop current
14
- *
15
- * @see required
16
- * @see index
17
- */
18
5
  current: string | number;
19
6
  constructor(seq?: ModelArg<Sequence>);
20
7
  }
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./CouchDBSequence.cjs"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0NvdWNoREJTZXF1ZW5jZVwiO1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdEQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0NvdWNoREJTZXF1ZW5jZVwiO1xuIl19
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CouchDBPaginator = void 0;
4
4
  const core_1 = require("@decaf-ts/core");
5
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
6
- const utils_1 = require("../sequences/utils.cjs");
6
+ const constants_1 = require("./../constants.cjs");
7
7
  class CouchDBPaginator extends core_1.Paginator {
8
8
  get total() {
9
9
  throw new db_decorators_1.InternalError(`The total pages api is not available for couchdb`);
@@ -11,8 +11,8 @@ class CouchDBPaginator extends core_1.Paginator {
11
11
  get count() {
12
12
  throw new db_decorators_1.InternalError(`The record count api is not available for couchdb`);
13
13
  }
14
- constructor(statement, size, rawStatement) {
15
- super(statement, size, rawStatement);
14
+ constructor(adapter, query, size, clazz) {
15
+ super(adapter, query, size, clazz);
16
16
  }
17
17
  prepare(rawStatement) {
18
18
  const query = Object.assign({}, rawStatement);
@@ -21,9 +21,8 @@ class CouchDBPaginator extends core_1.Paginator {
21
21
  query.limit = this.size;
22
22
  return query;
23
23
  }
24
- async page(page = 1, ...args) {
24
+ async page(page = 1) {
25
25
  const statement = Object.assign({}, this.statement);
26
- const target = this.stat.getTarget();
27
26
  // if (!this._recordCount || !this._totalPages) {
28
27
  // // this._recordCount = await this.adapter
29
28
  // // .Query()
@@ -31,26 +30,26 @@ class CouchDBPaginator extends core_1.Paginator {
31
30
  // // .from(target)
32
31
  // // .execute<number>();
33
32
  // }
33
+ this.validatePage(page);
34
34
  if (page !== 1) {
35
35
  if (!this.bookMark)
36
36
  throw new core_1.PagingError("No bookmark. Did you start in the first page?");
37
37
  statement["bookmark"] = this.bookMark;
38
38
  }
39
- const rawResult = await this.adapter.raw(statement, false, ...args);
39
+ const rawResult = await this.adapter.raw(statement, false);
40
40
  const { docs, bookmark, warning } = rawResult;
41
41
  if (warning)
42
42
  console.warn(warning);
43
+ if (!this.clazz)
44
+ throw new core_1.PagingError("No statement target defined");
45
+ const pkDef = (0, db_decorators_1.findPrimaryKey)(new this.clazz());
43
46
  const results = statement.fields && statement.fields.length
44
47
  ? docs // has fields means its not full model
45
48
  : docs.map((d) => {
46
49
  //no fields means we need to revert to saving process
47
- if (!target)
48
- throw new core_1.PagingError("No statement target defined");
49
- const pkDef = (0, db_decorators_1.findPrimaryKey)(new target());
50
- const pk = pkDef.id;
51
- const originalId = d._id.split(db_decorators_1.DefaultSeparator);
50
+ const originalId = d._id.split(constants_1.CouchDBKeys.SEPARATOR);
52
51
  originalId.splice(0, 1); // remove the table name
53
- return this.adapter.revert(d, target, pk, (0, utils_1.parseSequenceValue)(pkDef.props.type, originalId.join(db_decorators_1.DefaultSeparator)));
52
+ return this.adapter.revert(d, this.clazz, pkDef.id, core_1.Sequence.parseValue(pkDef.props.type, originalId.join(constants_1.CouchDBKeys.SEPARATOR)));
54
53
  });
55
54
  this.bookMark = bookmark;
56
55
  this._currentPage = page;
@@ -58,4 +57,4 @@ class CouchDBPaginator extends core_1.Paginator {
58
57
  }
59
58
  }
60
59
  exports.CouchDBPaginator = CouchDBPaginator;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L1BhZ2luYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FLd0I7QUFDeEIsMkRBSWlDO0FBQ2pDLDhDQUF3RDtBQUd4RCxNQUFhLGdCQUFvQixTQUFRLGdCQUF3QjtJQUcvRCxJQUFJLEtBQUs7UUFDUCxNQUFNLElBQUksNkJBQWEsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLElBQUksNkJBQWEsQ0FDckIsbURBQW1ELENBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQsWUFDRSxTQUFnQyxFQUNoQyxJQUFZLEVBQ1osWUFBd0I7UUFFeEIsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLE9BQU8sQ0FBQyxZQUF3QjtRQUN4QyxNQUFNLEtBQUssR0FBZSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUV4QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQWUsQ0FBQyxFQUFFLEdBQUcsSUFBVztRQUN6QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQyxpREFBaUQ7UUFDakQsOENBQThDO1FBQzlDLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3QixJQUFJO1FBRUosSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ2hCLE1BQU0sSUFBSSxrQkFBVyxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDekUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDeEMsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUF1QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUMxRCxTQUFTLEVBQ1QsS0FBSyxFQUNMLEdBQUcsSUFBSSxDQUNSLENBQUM7UUFFRixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDOUMsSUFBSSxPQUFPO1lBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FDWCxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLHNDQUFzQztZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNsQixxREFBcUQ7Z0JBQ3JELElBQUksQ0FBQyxNQUFNO29CQUFFLE1BQU0sSUFBSSxrQkFBVyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQ2xFLE1BQU0sS0FBSyxHQUFHLElBQUEsOEJBQWMsRUFBQyxJQUFJLE1BQU0sRUFBRSxDQUd4QyxDQUFDO2dCQUNGLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdDQUFnQixDQUFDLENBQUM7Z0JBQ2pELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCO2dCQUNqRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLEVBQ0QsTUFBTSxFQUNOLEVBQUUsRUFDRixJQUFBLDBCQUFrQixFQUNoQixLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0IsQ0FBQyxDQUNsQyxDQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQWpGRCw0Q0FpRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQYWdpbmF0b3IsXG4gIFBhZ2luZ0Vycm9yLFxuICBTZXF1ZW5jZU9wdGlvbnMsXG4gIFN0YXRlbWVudCxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQge1xuICBEZWZhdWx0U2VwYXJhdG9yLFxuICBmaW5kUHJpbWFyeUtleSxcbiAgSW50ZXJuYWxFcnJvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBwYXJzZVNlcXVlbmNlVmFsdWUgfSBmcm9tIFwiLi4vc2VxdWVuY2VzL3V0aWxzXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5LCBNYW5nb1Jlc3BvbnNlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBDb3VjaERCUGFnaW5hdG9yPFY+IGV4dGVuZHMgUGFnaW5hdG9yPFYsIE1hbmdvUXVlcnk+IHtcbiAgcHJpdmF0ZSBib29rTWFyaz86IHN0cmluZztcblxuICBnZXQgdG90YWwoKTogbnVtYmVyIHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgVGhlIHRvdGFsIHBhZ2VzIGFwaSBpcyBub3QgYXZhaWxhYmxlIGZvciBjb3VjaGRiYCk7XG4gIH1cblxuICBnZXQgY291bnQoKTogbnVtYmVyIHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBUaGUgcmVjb3JkIGNvdW50IGFwaSBpcyBub3QgYXZhaWxhYmxlIGZvciBjb3VjaGRiYFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdGF0ZW1lbnQ6IFN0YXRlbWVudDxNYW5nb1F1ZXJ5PixcbiAgICBzaXplOiBudW1iZXIsXG4gICAgcmF3U3RhdGVtZW50OiBNYW5nb1F1ZXJ5XG4gICkge1xuICAgIHN1cGVyKHN0YXRlbWVudCwgc2l6ZSwgcmF3U3RhdGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmVwYXJlKHJhd1N0YXRlbWVudDogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgIGNvbnN0IHF1ZXJ5OiBNYW5nb1F1ZXJ5ID0gT2JqZWN0LmFzc2lnbih7fSwgcmF3U3RhdGVtZW50KTtcbiAgICBpZiAocXVlcnkubGltaXQpIHRoaXMubGltaXQgPSBxdWVyeS5saW1pdDtcblxuICAgIHF1ZXJ5LmxpbWl0ID0gdGhpcy5zaXplO1xuXG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgYXN5bmMgcGFnZShwYWdlOiBudW1iZXIgPSAxLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8VltdPiB7XG4gICAgY29uc3Qgc3RhdGVtZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5zdGF0ZW1lbnQpO1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuc3RhdC5nZXRUYXJnZXQoKTtcbiAgICAvLyBpZiAoIXRoaXMuX3JlY29yZENvdW50IHx8ICF0aGlzLl90b3RhbFBhZ2VzKSB7XG4gICAgLy8gICAvLyB0aGlzLl9yZWNvcmRDb3VudCA9IGF3YWl0IHRoaXMuYWRhcHRlclxuICAgIC8vICAgLy8gICAuUXVlcnkoKVxuICAgIC8vICAgLy8gICAuY291bnQoKVxuICAgIC8vICAgLy8gICAuZnJvbSh0YXJnZXQpXG4gICAgLy8gICAvLyAgIC5leGVjdXRlPG51bWJlcj4oKTtcbiAgICAvLyB9XG5cbiAgICBpZiAocGFnZSAhPT0gMSkge1xuICAgICAgaWYgKCF0aGlzLmJvb2tNYXJrKVxuICAgICAgICB0aHJvdyBuZXcgUGFnaW5nRXJyb3IoXCJObyBib29rbWFyay4gRGlkIHlvdSBzdGFydCBpbiB0aGUgZmlyc3QgcGFnZT9cIik7XG4gICAgICBzdGF0ZW1lbnRbXCJib29rbWFya1wiXSA9IHRoaXMuYm9va01hcms7XG4gICAgfVxuICAgIGNvbnN0IHJhd1Jlc3VsdDogTWFuZ29SZXNwb25zZTxhbnk+ID0gYXdhaXQgdGhpcy5hZGFwdGVyLnJhdyhcbiAgICAgIHN0YXRlbWVudCxcbiAgICAgIGZhbHNlLFxuICAgICAgLi4uYXJnc1xuICAgICk7XG5cbiAgICBjb25zdCB7IGRvY3MsIGJvb2ttYXJrLCB3YXJuaW5nIH0gPSByYXdSZXN1bHQ7XG4gICAgaWYgKHdhcm5pbmcpIGNvbnNvbGUud2Fybih3YXJuaW5nKTtcbiAgICBjb25zdCByZXN1bHRzID1cbiAgICAgIHN0YXRlbWVudC5maWVsZHMgJiYgc3RhdGVtZW50LmZpZWxkcy5sZW5ndGhcbiAgICAgICAgPyBkb2NzIC8vIGhhcyBmaWVsZHMgbWVhbnMgaXRzIG5vdCBmdWxsIG1vZGVsXG4gICAgICAgIDogZG9jcy5tYXAoKGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgLy9ubyBmaWVsZHMgbWVhbnMgd2UgbmVlZCB0byByZXZlcnQgdG8gc2F2aW5nIHByb2Nlc3NcbiAgICAgICAgICAgIGlmICghdGFyZ2V0KSB0aHJvdyBuZXcgUGFnaW5nRXJyb3IoXCJObyBzdGF0ZW1lbnQgdGFyZ2V0IGRlZmluZWRcIik7XG4gICAgICAgICAgICBjb25zdCBwa0RlZiA9IGZpbmRQcmltYXJ5S2V5KG5ldyB0YXJnZXQoKSkgYXMge1xuICAgICAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgICAgICBwcm9wczogU2VxdWVuY2VPcHRpb25zO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHBrID0gcGtEZWYuaWQ7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbElkID0gZC5faWQuc3BsaXQoRGVmYXVsdFNlcGFyYXRvcik7XG4gICAgICAgICAgICBvcmlnaW5hbElkLnNwbGljZSgwLCAxKTsgLy8gcmVtb3ZlIHRoZSB0YWJsZSBuYW1lXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnJldmVydChcbiAgICAgICAgICAgICAgZCxcbiAgICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgICBwayxcbiAgICAgICAgICAgICAgcGFyc2VTZXF1ZW5jZVZhbHVlKFxuICAgICAgICAgICAgICAgIHBrRGVmLnByb3BzLnR5cGUsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxJZC5qb2luKERlZmF1bHRTZXBhcmF0b3IpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgdGhpcy5ib29rTWFyayA9IGJvb2ttYXJrO1xuICAgIHRoaXMuX2N1cnJlbnRQYWdlID0gcGFnZTtcbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L1BhZ2luYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBa0U7QUFDbEUsMkRBQXdFO0FBSXhFLGtEQUEyQztBQUUzQyxNQUFhLGdCQUFxQyxTQUFRLGdCQUl6RDtJQUdDLElBQWEsS0FBSztRQUNoQixNQUFNLElBQUksNkJBQWEsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFhLEtBQUs7UUFDaEIsTUFBTSxJQUFJLDZCQUFhLENBQ3JCLG1EQUFtRCxDQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQ0UsT0FBc0MsRUFDdEMsS0FBaUIsRUFDakIsSUFBWSxFQUNaLEtBQXFCO1FBRXJCLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsT0FBTyxDQUFDLFlBQXdCO1FBQ3hDLE1BQU0sS0FBSyxHQUFlLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFELElBQUksS0FBSyxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFMUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXhCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBZSxDQUFDO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwRCxpREFBaUQ7UUFDakQsOENBQThDO1FBQzlDLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3QixJQUFJO1FBQ0osSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsTUFBTSxJQUFJLGtCQUFXLENBQUMsK0NBQStDLENBQUMsQ0FBQztZQUN6RSxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQXVCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQzFELFNBQVMsRUFDVCxLQUFLLENBQ04sQ0FBQztRQUVGLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUM5QyxJQUFJLE9BQU87WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLE1BQU0sSUFBSSxrQkFBVyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDdEUsTUFBTSxLQUFLLEdBQUcsSUFBQSw4QkFBYyxFQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQ0FBc0M7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDbEIscURBQXFEO2dCQUNyRCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx1QkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN0RCxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtnQkFDakQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDeEIsQ0FBQyxFQUNELElBQUksQ0FBQyxLQUFLLEVBQ1YsS0FBSyxDQUFDLEVBQUUsRUFDUixlQUFRLENBQUMsVUFBVSxDQUNqQixLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyx1QkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUN2QyxDQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQWxGRCw0Q0FrRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYWdpbmF0b3IsIFBhZ2luZ0Vycm9yLCBTZXF1ZW5jZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgZmluZFByaW1hcnlLZXksIEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnksIE1hbmdvUmVzcG9uc2UgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgY2xhc3MgQ291Y2hEQlBhZ2luYXRvcjxNIGV4dGVuZHMgTW9kZWwsIFI+IGV4dGVuZHMgUGFnaW5hdG9yPFxuICBNLFxuICBSLFxuICBNYW5nb1F1ZXJ5XG4+IHtcbiAgcHJpdmF0ZSBib29rTWFyaz86IHN0cmluZztcblxuICBvdmVycmlkZSBnZXQgdG90YWwoKTogbnVtYmVyIHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgVGhlIHRvdGFsIHBhZ2VzIGFwaSBpcyBub3QgYXZhaWxhYmxlIGZvciBjb3VjaGRiYCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgY291bnQoKTogbnVtYmVyIHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgIGBUaGUgcmVjb3JkIGNvdW50IGFwaSBpcyBub3QgYXZhaWxhYmxlIGZvciBjb3VjaGRiYFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZGFwdGVyOiBDb3VjaERCQWRhcHRlcjxhbnksIGFueSwgYW55PixcbiAgICBxdWVyeTogTWFuZ29RdWVyeSxcbiAgICBzaXplOiBudW1iZXIsXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+XG4gICkge1xuICAgIHN1cGVyKGFkYXB0ZXIsIHF1ZXJ5LCBzaXplLCBjbGF6eik7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcGFyZShyYXdTdGF0ZW1lbnQ6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICBjb25zdCBxdWVyeTogTWFuZ29RdWVyeSA9IE9iamVjdC5hc3NpZ24oe30sIHJhd1N0YXRlbWVudCk7XG4gICAgaWYgKHF1ZXJ5LmxpbWl0KSB0aGlzLmxpbWl0ID0gcXVlcnkubGltaXQ7XG5cbiAgICBxdWVyeS5saW1pdCA9IHRoaXMuc2l6ZTtcblxuICAgIHJldHVybiBxdWVyeTtcbiAgfVxuXG4gIGFzeW5jIHBhZ2UocGFnZTogbnVtYmVyID0gMSk6IFByb21pc2U8UltdPiB7XG4gICAgY29uc3Qgc3RhdGVtZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5zdGF0ZW1lbnQpO1xuXG4gICAgLy8gaWYgKCF0aGlzLl9yZWNvcmRDb3VudCB8fCAhdGhpcy5fdG90YWxQYWdlcykge1xuICAgIC8vICAgLy8gdGhpcy5fcmVjb3JkQ291bnQgPSBhd2FpdCB0aGlzLmFkYXB0ZXJcbiAgICAvLyAgIC8vICAgLlF1ZXJ5KClcbiAgICAvLyAgIC8vICAgLmNvdW50KClcbiAgICAvLyAgIC8vICAgLmZyb20odGFyZ2V0KVxuICAgIC8vICAgLy8gICAuZXhlY3V0ZTxudW1iZXI+KCk7XG4gICAgLy8gfVxuICAgIHRoaXMudmFsaWRhdGVQYWdlKHBhZ2UpO1xuXG4gICAgaWYgKHBhZ2UgIT09IDEpIHtcbiAgICAgIGlmICghdGhpcy5ib29rTWFyaylcbiAgICAgICAgdGhyb3cgbmV3IFBhZ2luZ0Vycm9yKFwiTm8gYm9va21hcmsuIERpZCB5b3Ugc3RhcnQgaW4gdGhlIGZpcnN0IHBhZ2U/XCIpO1xuICAgICAgc3RhdGVtZW50W1wiYm9va21hcmtcIl0gPSB0aGlzLmJvb2tNYXJrO1xuICAgIH1cbiAgICBjb25zdCByYXdSZXN1bHQ6IE1hbmdvUmVzcG9uc2U8YW55PiA9IGF3YWl0IHRoaXMuYWRhcHRlci5yYXcoXG4gICAgICBzdGF0ZW1lbnQsXG4gICAgICBmYWxzZVxuICAgICk7XG5cbiAgICBjb25zdCB7IGRvY3MsIGJvb2ttYXJrLCB3YXJuaW5nIH0gPSByYXdSZXN1bHQ7XG4gICAgaWYgKHdhcm5pbmcpIGNvbnNvbGUud2Fybih3YXJuaW5nKTtcbiAgICBpZiAoIXRoaXMuY2xhenopIHRocm93IG5ldyBQYWdpbmdFcnJvcihcIk5vIHN0YXRlbWVudCB0YXJnZXQgZGVmaW5lZFwiKTtcbiAgICBjb25zdCBwa0RlZiA9IGZpbmRQcmltYXJ5S2V5KG5ldyB0aGlzLmNsYXp6KCkpO1xuICAgIGNvbnN0IHJlc3VsdHMgPVxuICAgICAgc3RhdGVtZW50LmZpZWxkcyAmJiBzdGF0ZW1lbnQuZmllbGRzLmxlbmd0aFxuICAgICAgICA/IGRvY3MgLy8gaGFzIGZpZWxkcyBtZWFucyBpdHMgbm90IGZ1bGwgbW9kZWxcbiAgICAgICAgOiBkb2NzLm1hcCgoZDogYW55KSA9PiB7XG4gICAgICAgICAgICAvL25vIGZpZWxkcyBtZWFucyB3ZSBuZWVkIHRvIHJldmVydCB0byBzYXZpbmcgcHJvY2Vzc1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxJZCA9IGQuX2lkLnNwbGl0KENvdWNoREJLZXlzLlNFUEFSQVRPUik7XG4gICAgICAgICAgICBvcmlnaW5hbElkLnNwbGljZSgwLCAxKTsgLy8gcmVtb3ZlIHRoZSB0YWJsZSBuYW1lXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnJldmVydChcbiAgICAgICAgICAgICAgZCxcbiAgICAgICAgICAgICAgdGhpcy5jbGF6eixcbiAgICAgICAgICAgICAgcGtEZWYuaWQsXG4gICAgICAgICAgICAgIFNlcXVlbmNlLnBhcnNlVmFsdWUoXG4gICAgICAgICAgICAgICAgcGtEZWYucHJvcHMudHlwZSxcbiAgICAgICAgICAgICAgICBvcmlnaW5hbElkLmpvaW4oQ291Y2hEQktleXMuU0VQQVJBVE9SKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgIHRoaXMuYm9va01hcmsgPSBib29rbWFyaztcbiAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,12 @@
1
- import { Paginator, Statement } from "@decaf-ts/core";
1
+ import { Paginator } from "@decaf-ts/core";
2
2
  import { MangoQuery } from "../types";
3
- export declare class CouchDBPaginator<V> extends Paginator<V, MangoQuery> {
3
+ import { Constructor, Model } from "@decaf-ts/decorator-validation";
4
+ import { CouchDBAdapter } from "../adapter";
5
+ export declare class CouchDBPaginator<M extends Model, R> extends Paginator<M, R, MangoQuery> {
4
6
  private bookMark?;
5
7
  get total(): number;
6
8
  get count(): number;
7
- constructor(statement: Statement<MangoQuery>, size: number, rawStatement: MangoQuery);
9
+ constructor(adapter: CouchDBAdapter<any, any, any>, query: MangoQuery, size: number, clazz: Constructor<M>);
8
10
  protected prepare(rawStatement: MangoQuery): MangoQuery;
9
- page(page?: number, ...args: any[]): Promise<V[]>;
11
+ page(page?: number): Promise<R[]>;
10
12
  }
@@ -2,57 +2,143 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CouchDBStatement = void 0;
4
4
  const core_1 = require("@decaf-ts/core");
5
- const db_decorators_1 = require("@decaf-ts/db-decorators");
6
- const constants_1 = require("../constants.cjs");
7
- const utils_1 = require("../sequences/utils.cjs");
5
+ const translate_1 = require("./translate.cjs");
6
+ const constants_1 = require("./../constants.cjs");
7
+ const constants_2 = require("./constants.cjs");
8
8
  const Paginator_1 = require("./Paginator.cjs");
9
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
9
10
  class CouchDBStatement extends core_1.Statement {
10
11
  constructor(adapter) {
11
12
  super(adapter);
12
13
  }
13
- /**
14
- * @inheritDoc
15
- */
16
- async execute() {
17
- try {
18
- const query = this.build();
19
- if (!query.limit)
20
- query.limit = Number.MAX_SAFE_INTEGER;
21
- return this.raw(query);
14
+ build() {
15
+ const selectors = {};
16
+ selectors[constants_1.CouchDBKeys.TABLE] = {};
17
+ selectors[constants_1.CouchDBKeys.TABLE] = core_1.Repository.table(this.fromSelector);
18
+ const query = { selector: selectors };
19
+ if (this.selectSelector)
20
+ query.fields = this.selectSelector;
21
+ if (this.whereCondition) {
22
+ const condition = this.parseCondition(core_1.Condition.and(this.whereCondition, core_1.Condition.attribute(constants_1.CouchDBKeys.TABLE).eq(query.selector[constants_1.CouchDBKeys.TABLE]))).selector;
23
+ const selectorKeys = Object.keys(condition);
24
+ if (selectorKeys.length === 1 &&
25
+ Object.values(constants_2.CouchDBGroupOperator).indexOf(selectorKeys[0]) !== -1)
26
+ switch (selectorKeys[0]) {
27
+ case constants_2.CouchDBGroupOperator.AND:
28
+ condition[constants_2.CouchDBGroupOperator.AND] = [
29
+ ...Object.values(condition[constants_2.CouchDBGroupOperator.AND]).reduce((accum, val) => {
30
+ const keys = Object.keys(val);
31
+ if (keys.length !== 1)
32
+ throw new Error("Too many keys in query selector. should be one");
33
+ const k = keys[0];
34
+ if (k === constants_2.CouchDBGroupOperator.AND)
35
+ accum.push(...val[k]);
36
+ else
37
+ accum.push(val);
38
+ return accum;
39
+ }, []),
40
+ ];
41
+ query.selector = condition;
42
+ break;
43
+ case constants_2.CouchDBGroupOperator.OR: {
44
+ const s = {};
45
+ s[constants_2.CouchDBGroupOperator.AND] = [
46
+ condition,
47
+ ...Object.entries(query.selector).map(([key, val]) => {
48
+ const result = {};
49
+ result[key] = val;
50
+ return result;
51
+ }),
52
+ ];
53
+ query.selector = s;
54
+ break;
55
+ }
56
+ default:
57
+ throw new Error("This should be impossible");
58
+ }
59
+ else {
60
+ Object.entries(condition).forEach(([key, val]) => {
61
+ if (query.selector[key])
62
+ console.warn(`A ${key} query param is about to be overridden: ${query.selector[key]} by ${val}`);
63
+ query.selector[key] = val;
64
+ });
65
+ }
22
66
  }
23
- catch (e) {
24
- throw new db_decorators_1.InternalError(e);
67
+ if (this.orderBySelector) {
68
+ query.sort = query.sort || [];
69
+ query.selector = query.selector || {};
70
+ const [selector, value] = this.orderBySelector;
71
+ const rec = {};
72
+ rec[selector] = value;
73
+ query.sort.push(rec);
74
+ if (!query.selector[selector]) {
75
+ query.selector[selector] = {};
76
+ query.selector[selector][constants_2.CouchDBOperator.BIGGER] =
77
+ null;
78
+ }
79
+ }
80
+ if (this.limitSelector) {
81
+ query.limit = this.limitSelector;
25
82
  }
83
+ else {
84
+ console.warn(`No limit selector defined. Using default couchdb limit of ${constants_2.CouchDBQueryLimit}`);
85
+ query.limit = constants_2.CouchDBQueryLimit;
86
+ }
87
+ if (this.offsetSelector)
88
+ query.skip = this.offsetSelector;
89
+ return query;
26
90
  }
27
91
  async paginate(size) {
28
92
  try {
29
93
  const query = this.build();
30
- return new Paginator_1.CouchDBPaginator(this, size, query);
94
+ return new Paginator_1.CouchDBPaginator(this.adapter, query, size, this.fromSelector);
31
95
  }
32
96
  catch (e) {
33
97
  throw new db_decorators_1.InternalError(e);
34
98
  }
35
99
  }
36
100
  processRecord(r, pkAttr, sequenceType) {
37
- if (!r[constants_1.CouchDBKeys.ID])
38
- throw new db_decorators_1.InternalError(`No CouchDB Id definition found. Should not be possible`);
39
- const [, ...keyArgs] = r[constants_1.CouchDBKeys.ID].split("_");
40
- const id = keyArgs.join("_");
41
- return this.adapter.revert(r, this.target, pkAttr, (0, utils_1.parseSequenceValue)(sequenceType, id));
101
+ if (r[constants_1.CouchDBKeys.ID]) {
102
+ const [, ...keyArgs] = r[constants_1.CouchDBKeys.ID].split(constants_1.CouchDBKeys.SEPARATOR);
103
+ const id = keyArgs.join("_");
104
+ return this.adapter.revert(r, this.fromSelector, pkAttr, core_1.Sequence.parseValue(sequenceType, id));
105
+ }
106
+ return r;
42
107
  }
43
- async raw(rawInput, ...args) {
44
- const results = await this.adapter.raw(rawInput, true, ...args);
45
- if (!this.fullRecord)
46
- return results;
47
- if (!this.target)
48
- throw new db_decorators_1.InternalError("No target defined in statement. should never happen");
49
- const pkDef = (0, db_decorators_1.findPrimaryKey)(new this.target());
108
+ async raw(rawInput) {
109
+ const results = await this.adapter.raw(rawInput, true);
110
+ const pkDef = (0, db_decorators_1.findPrimaryKey)(new this.fromSelector());
50
111
  const pkAttr = pkDef.id;
51
112
  const type = pkDef.props.type;
52
- if (Array.isArray(results))
113
+ if (!this.selectSelector)
53
114
  return results.map((r) => this.processRecord(r, pkAttr, type));
54
- return this.processRecord(results, pkAttr, type);
115
+ return results;
116
+ }
117
+ parseCondition(condition) {
118
+ function merge(op, obj1, obj2) {
119
+ const result = { selector: {} };
120
+ result.selector[op] = [obj1, obj2];
121
+ return result;
122
+ }
123
+ const { attr1, operator, comparison } = condition;
124
+ let op = {};
125
+ if ([core_1.GroupOperator.AND, core_1.GroupOperator.OR, core_1.Operator.NOT].indexOf(operator) === -1) {
126
+ op[attr1] = {};
127
+ op[attr1][(0, translate_1.translateOperators)(operator)] =
128
+ comparison;
129
+ }
130
+ else if (operator === core_1.Operator.NOT) {
131
+ op = this.parseCondition(attr1).selector;
132
+ op[(0, translate_1.translateOperators)(core_1.Operator.NOT)] = {};
133
+ op[(0, translate_1.translateOperators)(core_1.Operator.NOT)][attr1.attr1] = comparison;
134
+ }
135
+ else {
136
+ const op1 = this.parseCondition(attr1).selector;
137
+ const op2 = this.parseCondition(comparison).selector;
138
+ op = merge((0, translate_1.translateOperators)(operator), op1, op2).selector;
139
+ }
140
+ return { selector: op };
55
141
  }
56
142
  }
57
143
  exports.CouchDBStatement = CouchDBStatement;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L1N0YXRlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBb0Q7QUFDcEQsMkRBQXdFO0FBRXhFLDRDQUEyQztBQUMzQyw4Q0FBd0Q7QUFFeEQsMkNBQStDO0FBRy9DLE1BQWEsZ0JBQW9CLFNBQVEsZ0JBQXFCO0lBQzVELFlBQVksT0FBK0I7UUFDekMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQWUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFBRSxLQUFLLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLDZCQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFJLElBQVk7UUFDNUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQWUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSw0QkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUNuQixDQUFNLEVBQ04sTUFBYyxFQUNkLFlBQTZDO1FBRTdDLElBQUksQ0FBQyxDQUFDLENBQUMsdUJBQVcsQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLDZCQUFhLENBQ3JCLHdEQUF3RCxDQUN6RCxDQUFDO1FBQ0osTUFBTSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsdUJBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLEVBQ0QsSUFBSSxDQUFDLE1BQTBCLEVBQy9CLE1BQU0sRUFDTixJQUFBLDBCQUFrQixFQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FDOUIsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFJLFFBQW9CLEVBQUUsR0FBRyxJQUFXO1FBQy9DLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUksUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNkLE1BQU0sSUFBSSw2QkFBYSxDQUNyQixxREFBcUQsQ0FDdEQsQ0FBQztRQUVKLE1BQU0sS0FBSyxHQUFHLElBQUEsOEJBQWMsRUFBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQVMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUN4QixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBTSxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBTSxDQUFDO0lBQ3hELENBQUM7Q0FDRjtBQTlERCw0Q0E4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGFwdGVyLCBTdGF0ZW1lbnQgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IGZpbmRQcmltYXJ5S2V5LCBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgcGFyc2VTZXF1ZW5jZVZhbHVlIH0gZnJvbSBcIi4uL3NlcXVlbmNlcy91dGlsc1wiO1xuaW1wb3J0IHsgUGFnaW5hdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb3VjaERCUGFnaW5hdG9yIH0gZnJvbSBcIi4vUGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBDb3VjaERCU3RhdGVtZW50PFk+IGV4dGVuZHMgU3RhdGVtZW50PE1hbmdvUXVlcnk+IHtcbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQWRhcHRlcjxZLCBNYW5nb1F1ZXJ5Pikge1xuICAgIHN1cGVyKGFkYXB0ZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBhc3luYyBleGVjdXRlPFk+KCk6IFByb21pc2U8WT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBxdWVyeTogTWFuZ29RdWVyeSA9IHRoaXMuYnVpbGQoKTtcbiAgICAgIGlmICghcXVlcnkubGltaXQpIHF1ZXJ5LmxpbWl0ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgICByZXR1cm4gdGhpcy5yYXcocXVlcnkpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGFnaW5hdGU8Uj4oc2l6ZTogbnVtYmVyKTogUHJvbWlzZTxQYWdpbmF0b3I8UiwgTWFuZ29RdWVyeT4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcXVlcnk6IE1hbmdvUXVlcnkgPSB0aGlzLmJ1aWxkKCk7XG4gICAgICByZXR1cm4gbmV3IENvdWNoREJQYWdpbmF0b3IodGhpcywgc2l6ZSwgcXVlcnkpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzUmVjb3JkKFxuICAgIHI6IGFueSxcbiAgICBwa0F0dHI6IHN0cmluZyxcbiAgICBzZXF1ZW5jZVR5cGU6IFwiTnVtYmVyXCIgfCBcIkJpZ0ludFwiIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIGlmICghcltDb3VjaERCS2V5cy5JRF0pXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYE5vIENvdWNoREIgSWQgZGVmaW5pdGlvbiBmb3VuZC4gU2hvdWxkIG5vdCBiZSBwb3NzaWJsZWBcbiAgICAgICk7XG4gICAgY29uc3QgWywgLi4ua2V5QXJnc10gPSByW0NvdWNoREJLZXlzLklEXS5zcGxpdChcIl9cIik7XG5cbiAgICBjb25zdCBpZCA9IGtleUFyZ3Muam9pbihcIl9cIik7XG4gICAgcmV0dXJuIHRoaXMuYWRhcHRlci5yZXZlcnQoXG4gICAgICByLFxuICAgICAgdGhpcy50YXJnZXQgYXMgQ29uc3RydWN0b3I8YW55PixcbiAgICAgIHBrQXR0cixcbiAgICAgIHBhcnNlU2VxdWVuY2VWYWx1ZShzZXF1ZW5jZVR5cGUsIGlkKVxuICAgICkgYXMgYW55O1xuICB9XG5cbiAgYXN5bmMgcmF3PFI+KHJhd0lucHV0OiBNYW5nb1F1ZXJ5LCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8Uj4ge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucmF3PFI+KHJhd0lucHV0LCB0cnVlLCAuLi5hcmdzKTtcbiAgICBpZiAoIXRoaXMuZnVsbFJlY29yZCkgcmV0dXJuIHJlc3VsdHM7XG4gICAgaWYgKCF0aGlzLnRhcmdldClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIk5vIHRhcmdldCBkZWZpbmVkIGluIHN0YXRlbWVudC4gc2hvdWxkIG5ldmVyIGhhcHBlblwiXG4gICAgICApO1xuXG4gICAgY29uc3QgcGtEZWYgPSBmaW5kUHJpbWFyeUtleShuZXcgdGhpcy50YXJnZXQoKSBhcyBhbnkpO1xuICAgIGNvbnN0IHBrQXR0ciA9IHBrRGVmLmlkO1xuICAgIGNvbnN0IHR5cGUgPSBwa0RlZi5wcm9wcy50eXBlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdHMpKVxuICAgICAgcmV0dXJuIHJlc3VsdHMubWFwKChyKSA9PiB0aGlzLnByb2Nlc3NSZWNvcmQociwgcGtBdHRyLCB0eXBlKSkgYXMgUjtcbiAgICByZXR1cm4gdGhpcy5wcm9jZXNzUmVjb3JkKHJlc3VsdHMsIHBrQXR0ciwgdHlwZSkgYXMgUjtcbiAgfVxufVxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L1N0YXRlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FTd0I7QUFJeEIsK0NBQWlEO0FBQ2pELGtEQUEyQztBQUMzQywrQ0FJcUI7QUFDckIsK0NBQStDO0FBQy9DLDJEQUF3RTtBQUV4RSxNQUFhLGdCQUFxQyxTQUFRLGdCQUl6RDtJQUNDLFlBQVksT0FBc0M7UUFDaEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxLQUFLO1FBQ2IsTUFBTSxTQUFTLEdBQWtCLEVBQUUsQ0FBQztRQUNwQyxTQUFTLENBQUMsdUJBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEMsU0FBUyxDQUFDLHVCQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsaUJBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFlLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxjQUEwQixDQUFDO1FBRXhFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sU0FBUyxHQUFrQixJQUFJLENBQUMsY0FBYyxDQUNsRCxnQkFBUyxDQUFDLEdBQUcsQ0FDWCxJQUFJLENBQUMsY0FBYyxFQUNuQixnQkFBUyxDQUFDLFNBQVMsQ0FBSSx1QkFBVyxDQUFDLEtBQWdCLENBQUMsQ0FBQyxFQUFFLENBQ3JELEtBQUssQ0FBQyxRQUFRLENBQUMsdUJBQVcsQ0FBQyxLQUFLLENBQUMsQ0FDbEMsQ0FDRixDQUNGLENBQUMsUUFBUSxDQUFDO1lBQ1gsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQW9CLENBQUM7WUFD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VSxDQUFDO1FBQ2pCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLEdBQVEsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFxQixDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3JFLE1BQU0sR0FBRyxHQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBMEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUMxRSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUEsOEJBQWtCLEVBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM5RCxDQUFDO1FBRUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFqTUQsNENBaU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uZGl0aW9uLFxuICBHcm91cE9wZXJhdG9yLFxuICBPcGVyYXRvcixcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIFBhZ2luYXRvcixcbiAgUmVwb3NpdG9yeSxcbiAgU2VxdWVuY2UsXG4gIFN0YXRlbWVudCxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNYW5nb09wZXJhdG9yLCBNYW5nb1F1ZXJ5LCBNYW5nb1NlbGVjdG9yIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IHRyYW5zbGF0ZU9wZXJhdG9ycyB9IGZyb20gXCIuL3RyYW5zbGF0ZVwiO1xuaW1wb3J0IHsgQ291Y2hEQktleXMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBDb3VjaERCR3JvdXBPcGVyYXRvcixcbiAgQ291Y2hEQk9wZXJhdG9yLFxuICBDb3VjaERCUXVlcnlMaW1pdCxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBDb3VjaERCUGFnaW5hdG9yIH0gZnJvbSBcIi4vUGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBmaW5kUHJpbWFyeUtleSwgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgY2xhc3MgQ291Y2hEQlN0YXRlbWVudDxNIGV4dGVuZHMgTW9kZWwsIFI+IGV4dGVuZHMgU3RhdGVtZW50PFxuICBNYW5nb1F1ZXJ5LFxuICBNLFxuICBSXG4+IHtcbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQ291Y2hEQkFkYXB0ZXI8YW55LCBhbnksIGFueT4pIHtcbiAgICBzdXBlcihhZGFwdGVyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZCgpOiBNYW5nb1F1ZXJ5IHtcbiAgICBjb25zdCBzZWxlY3RvcnM6IE1hbmdvU2VsZWN0b3IgPSB7fTtcbiAgICBzZWxlY3RvcnNbQ291Y2hEQktleXMuVEFCTEVdID0ge307XG4gICAgc2VsZWN0b3JzW0NvdWNoREJLZXlzLlRBQkxFXSA9IFJlcG9zaXRvcnkudGFibGUodGhpcy5mcm9tU2VsZWN0b3IpO1xuICAgIGNvbnN0IHF1ZXJ5OiBNYW5nb1F1ZXJ5ID0geyBzZWxlY3Rvcjogc2VsZWN0b3JzIH07XG4gICAgaWYgKHRoaXMuc2VsZWN0U2VsZWN0b3IpIHF1ZXJ5LmZpZWxkcyA9IHRoaXMuc2VsZWN0U2VsZWN0b3IgYXMgc3RyaW5nW107XG5cbiAgICBpZiAodGhpcy53aGVyZUNvbmRpdGlvbikge1xuICAgICAgY29uc3QgY29uZGl0aW9uOiBNYW5nb1NlbGVjdG9yID0gdGhpcy5wYXJzZUNvbmRpdGlvbihcbiAgICAgICAgQ29uZGl0aW9uLmFuZChcbiAgICAgICAgICB0aGlzLndoZXJlQ29uZGl0aW9uLFxuICAgICAgICAgIENvbmRpdGlvbi5hdHRyaWJ1dGU8TT4oQ291Y2hEQktleXMuVEFCTEUgYXMga2V5b2YgTSkuZXEoXG4gICAgICAgICAgICBxdWVyeS5zZWxlY3RvcltDb3VjaERCS2V5cy5UQUJMRV1cbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICkuc2VsZWN0b3I7XG4gICAgICBjb25zdCBzZWxlY3RvcktleXMgPSBPYmplY3Qua2V5cyhjb25kaXRpb24pIGFzIE1hbmdvT3BlcmF0b3JbXTtcbiAgICAgIGlmIChcbiAgICAgICAgc2VsZWN0b3JLZXlzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICBPYmplY3QudmFsdWVzKENvdWNoREJHcm91cE9wZXJhdG9yKS5pbmRleE9mKHNlbGVjdG9yS2V5c1swXSkgIT09IC0xXG4gICAgICApXG4gICAgICAgIHN3aXRjaCAoc2VsZWN0b3JLZXlzWzBdKSB7XG4gICAgICAgICAgY2FzZSBDb3VjaERCR3JvdXBPcGVyYXRvci5BTkQ6XG4gICAgICAgICAgICBjb25kaXRpb25bQ291Y2hEQkdyb3VwT3BlcmF0b3IuQU5EXSA9IFtcbiAgICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhcbiAgICAgICAgICAgICAgICBjb25kaXRpb25bQ291Y2hEQkdyb3VwT3BlcmF0b3IuQU5EXSBhcyBNYW5nb1NlbGVjdG9yXG4gICAgICAgICAgICAgICkucmVkdWNlKChhY2N1bTogTWFuZ29TZWxlY3RvcltdLCB2YWw6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh2YWwpO1xuICAgICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCAhPT0gMSlcbiAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgXCJUb28gbWFueSBrZXlzIGluIHF1ZXJ5IHNlbGVjdG9yLiBzaG91bGQgYmUgb25lXCJcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3QgayA9IGtleXNbMF07XG4gICAgICAgICAgICAgICAgaWYgKGsgPT09IENvdWNoREJHcm91cE9wZXJhdG9yLkFORClcbiAgICAgICAgICAgICAgICAgIGFjY3VtLnB1c2goLi4uKHZhbFtrXSBhcyBhbnlbXSkpO1xuICAgICAgICAgICAgICAgIGVsc2UgYWNjdW0ucHVzaCh2YWwpO1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgICAgICAgICAgfSwgW10pLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHF1ZXJ5LnNlbGVjdG9yID0gY29uZGl0aW9uO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBDb3VjaERCR3JvdXBPcGVyYXRvci5PUjoge1xuICAgICAgICAgICAgY29uc3QgczogUmVjb3JkPGFueSwgYW55PiA9IHt9O1xuICAgICAgICAgICAgc1tDb3VjaERCR3JvdXBPcGVyYXRvci5BTkRdID0gW1xuICAgICAgICAgICAgICBjb25kaXRpb24sXG4gICAgICAgICAgICAgIC4uLk9iamVjdC5lbnRyaWVzKHF1ZXJ5LnNlbGVjdG9yKS5tYXAoKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxhbnksIGFueT4gPSB7fTtcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHZhbDtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBxdWVyeS5zZWxlY3RvciA9IHM7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgc2hvdWxkIGJlIGltcG9zc2libGVcIik7XG4gICAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBPYmplY3QuZW50cmllcyhjb25kaXRpb24pLmZvckVhY2goKFtrZXksIHZhbF0pID0+IHtcbiAgICAgICAgICBpZiAocXVlcnkuc2VsZWN0b3Jba2V5XSlcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgYEEgJHtrZXl9IHF1ZXJ5IHBhcmFtIGlzIGFib3V0IHRvIGJlIG92ZXJyaWRkZW46ICR7cXVlcnkuc2VsZWN0b3Jba2V5XX0gYnkgJHt2YWx9YFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBxdWVyeS5zZWxlY3RvcltrZXldID0gdmFsO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcmRlckJ5U2VsZWN0b3IpIHtcbiAgICAgIHF1ZXJ5LnNvcnQgPSBxdWVyeS5zb3J0IHx8IFtdO1xuICAgICAgcXVlcnkuc2VsZWN0b3IgPSBxdWVyeS5zZWxlY3RvciB8fCAoe30gYXMgTWFuZ29TZWxlY3Rvcik7XG4gICAgICBjb25zdCBbc2VsZWN0b3IsIHZhbHVlXSA9IHRoaXMub3JkZXJCeVNlbGVjdG9yIGFzIFtcbiAgICAgICAgc3RyaW5nLFxuICAgICAgICBPcmRlckRpcmVjdGlvbixcbiAgICAgIF07XG4gICAgICBjb25zdCByZWM6IGFueSA9IHt9O1xuICAgICAgcmVjW3NlbGVjdG9yXSA9IHZhbHVlO1xuICAgICAgKHF1ZXJ5LnNvcnQgYXMgYW55W10pLnB1c2gocmVjIGFzIGFueSk7XG4gICAgICBpZiAoIXF1ZXJ5LnNlbGVjdG9yW3NlbGVjdG9yXSkge1xuICAgICAgICBxdWVyeS5zZWxlY3RvcltzZWxlY3Rvcl0gPSB7fSBhcyBNYW5nb1NlbGVjdG9yO1xuICAgICAgICAocXVlcnkuc2VsZWN0b3Jbc2VsZWN0b3JdIGFzIE1hbmdvU2VsZWN0b3IpW0NvdWNoREJPcGVyYXRvci5CSUdHRVJdID1cbiAgICAgICAgICBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmxpbWl0U2VsZWN0b3IpIHtcbiAgICAgIHF1ZXJ5LmxpbWl0ID0gdGhpcy5saW1pdFNlbGVjdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBObyBsaW1pdCBzZWxlY3RvciBkZWZpbmVkLiBVc2luZyBkZWZhdWx0IGNvdWNoZGIgbGltaXQgb2YgJHtDb3VjaERCUXVlcnlMaW1pdH1gXG4gICAgICApO1xuICAgICAgcXVlcnkubGltaXQgPSBDb3VjaERCUXVlcnlMaW1pdDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vZmZzZXRTZWxlY3RvcikgcXVlcnkuc2tpcCA9IHRoaXMub2Zmc2V0U2VsZWN0b3I7XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBhc3luYyBwYWdpbmF0ZTxSPihzaXplOiBudW1iZXIpOiBQcm9taXNlPFBhZ2luYXRvcjxNLCBSLCBNYW5nb1F1ZXJ5Pj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBxdWVyeTogTWFuZ29RdWVyeSA9IHRoaXMuYnVpbGQoKTtcbiAgICAgIHJldHVybiBuZXcgQ291Y2hEQlBhZ2luYXRvcihcbiAgICAgICAgdGhpcy5hZGFwdGVyIGFzIGFueSxcbiAgICAgICAgcXVlcnksXG4gICAgICAgIHNpemUsXG4gICAgICAgIHRoaXMuZnJvbVNlbGVjdG9yXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzUmVjb3JkKFxuICAgIHI6IGFueSxcbiAgICBwa0F0dHI6IGtleW9mIE0sXG4gICAgc2VxdWVuY2VUeXBlOiBcIk51bWJlclwiIHwgXCJCaWdJbnRcIiB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBpZiAocltDb3VjaERCS2V5cy5JRF0pIHtcbiAgICAgIGNvbnN0IFssIC4uLmtleUFyZ3NdID0gcltDb3VjaERCS2V5cy5JRF0uc3BsaXQoQ291Y2hEQktleXMuU0VQQVJBVE9SKTtcblxuICAgICAgY29uc3QgaWQgPSBrZXlBcmdzLmpvaW4oXCJfXCIpO1xuICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5yZXZlcnQoXG4gICAgICAgIHIsXG4gICAgICAgIHRoaXMuZnJvbVNlbGVjdG9yLFxuICAgICAgICBwa0F0dHIsXG4gICAgICAgIFNlcXVlbmNlLnBhcnNlVmFsdWUoc2VxdWVuY2VUeXBlLCBpZClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgcmF3PFI+KHJhd0lucHV0OiBNYW5nb1F1ZXJ5KTogUHJvbWlzZTxSPiB7XG4gICAgY29uc3QgcmVzdWx0czogYW55W10gPSBhd2FpdCB0aGlzLmFkYXB0ZXIucmF3KHJhd0lucHV0LCB0cnVlKTtcblxuICAgIGNvbnN0IHBrRGVmID0gZmluZFByaW1hcnlLZXkobmV3IHRoaXMuZnJvbVNlbGVjdG9yKCkpO1xuICAgIGNvbnN0IHBrQXR0ciA9IHBrRGVmLmlkO1xuICAgIGNvbnN0IHR5cGUgPSBwa0RlZi5wcm9wcy50eXBlO1xuXG4gICAgaWYgKCF0aGlzLnNlbGVjdFNlbGVjdG9yKVxuICAgICAgcmV0dXJuIHJlc3VsdHMubWFwKChyKSA9PiB0aGlzLnByb2Nlc3NSZWNvcmQociwgcGtBdHRyLCB0eXBlKSkgYXMgUjtcbiAgICByZXR1cm4gcmVzdWx0cyBhcyBSO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlQ29uZGl0aW9uKGNvbmRpdGlvbjogQ29uZGl0aW9uPE0+KTogTWFuZ29RdWVyeSB7XG4gICAgZnVuY3Rpb24gbWVyZ2UoXG4gICAgICBvcDogTWFuZ29PcGVyYXRvcixcbiAgICAgIG9iajE6IE1hbmdvU2VsZWN0b3IsXG4gICAgICBvYmoyOiBNYW5nb1NlbGVjdG9yXG4gICAgKTogTWFuZ29RdWVyeSB7XG4gICAgICBjb25zdCByZXN1bHQ6IE1hbmdvUXVlcnkgPSB7IHNlbGVjdG9yOiB7fSBhcyBNYW5nb1NlbGVjdG9yIH07XG4gICAgICByZXN1bHQuc2VsZWN0b3Jbb3BdID0gW29iajEsIG9iajJdO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBjb25zdCB7IGF0dHIxLCBvcGVyYXRvciwgY29tcGFyaXNvbiB9ID0gY29uZGl0aW9uIGFzIHVua25vd24gYXMge1xuICAgICAgYXR0cjE6IHN0cmluZyB8IENvbmRpdGlvbjxNPjtcbiAgICAgIG9wZXJhdG9yOiBPcGVyYXRvciB8IEdyb3VwT3BlcmF0b3I7XG4gICAgICBjb21wYXJpc29uOiBhbnk7XG4gICAgfTtcblxuICAgIGxldCBvcDogTWFuZ29TZWxlY3RvciA9IHt9IGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgaWYgKFxuICAgICAgW0dyb3VwT3BlcmF0b3IuQU5ELCBHcm91cE9wZXJhdG9yLk9SLCBPcGVyYXRvci5OT1RdLmluZGV4T2YoXG4gICAgICAgIG9wZXJhdG9yIGFzIEdyb3VwT3BlcmF0b3JcbiAgICAgICkgPT09IC0xXG4gICAgKSB7XG4gICAgICBvcFthdHRyMSBhcyBzdHJpbmddID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgIChvcFthdHRyMSBhcyBzdHJpbmddIGFzIE1hbmdvU2VsZWN0b3IpW3RyYW5zbGF0ZU9wZXJhdG9ycyhvcGVyYXRvcildID1cbiAgICAgICAgY29tcGFyaXNvbjtcbiAgICB9IGVsc2UgaWYgKG9wZXJhdG9yID09PSBPcGVyYXRvci5OT1QpIHtcbiAgICAgIG9wID0gdGhpcy5wYXJzZUNvbmRpdGlvbihhdHRyMSBhcyBDb25kaXRpb248TT4pLnNlbGVjdG9yIGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgICBvcFt0cmFuc2xhdGVPcGVyYXRvcnMoT3BlcmF0b3IuTk9UKV0gPSB7fSBhcyBNYW5nb1NlbGVjdG9yO1xuICAgICAgKG9wW3RyYW5zbGF0ZU9wZXJhdG9ycyhPcGVyYXRvci5OT1QpXSBhcyBNYW5nb1NlbGVjdG9yKVtcbiAgICAgICAgKGF0dHIxIGFzIHVua25vd24gYXMgeyBhdHRyMTogc3RyaW5nIH0pLmF0dHIxXG4gICAgICBdID0gY29tcGFyaXNvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3AxOiBhbnkgPSB0aGlzLnBhcnNlQ29uZGl0aW9uKGF0dHIxIGFzIENvbmRpdGlvbjxNPikuc2VsZWN0b3I7XG4gICAgICBjb25zdCBvcDI6IGFueSA9IHRoaXMucGFyc2VDb25kaXRpb24oY29tcGFyaXNvbiBhcyBDb25kaXRpb248TT4pLnNlbGVjdG9yO1xuICAgICAgb3AgPSBtZXJnZSh0cmFuc2xhdGVPcGVyYXRvcnMob3BlcmF0b3IpLCBvcDEsIG9wMikuc2VsZWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc2VsZWN0b3I6IG9wIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,12 @@
1
- import { Adapter, Statement } from "@decaf-ts/core";
2
- import { Paginator } from "@decaf-ts/core";
1
+ import { Condition, Paginator, Statement } from "@decaf-ts/core";
3
2
  import { MangoQuery } from "../types";
4
- export declare class CouchDBStatement<Y> extends Statement<MangoQuery> {
5
- constructor(adapter: Adapter<Y, MangoQuery>);
6
- /**
7
- * @inheritDoc
8
- */
9
- execute<Y>(): Promise<Y>;
10
- paginate<R>(size: number): Promise<Paginator<R, MangoQuery>>;
3
+ import { Model } from "@decaf-ts/decorator-validation";
4
+ import { CouchDBAdapter } from "../adapter";
5
+ export declare class CouchDBStatement<M extends Model, R> extends Statement<MangoQuery, M, R> {
6
+ constructor(adapter: CouchDBAdapter<any, any, any>);
7
+ protected build(): MangoQuery;
8
+ paginate<R>(size: number): Promise<Paginator<M, R, MangoQuery>>;
11
9
  private processRecord;
12
- raw<R>(rawInput: MangoQuery, ...args: any[]): Promise<R>;
10
+ raw<R>(rawInput: MangoQuery): Promise<R>;
11
+ protected parseCondition(condition: Condition<M>): MangoQuery;
13
12
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CouchDBConst = exports.CouchDBGroupOperator = exports.CouchDBOperator = void 0;
3
+ exports.CouchDBConst = exports.CouchDBGroupOperator = exports.CouchDBOperator = exports.CouchDBQueryLimit = void 0;
4
+ exports.CouchDBQueryLimit = 250;
4
5
  exports.CouchDBOperator = {
5
6
  EQUAL: "$eq",
6
7
  DIFFERENT: "$ne",
@@ -21,4 +22,4 @@ exports.CouchDBGroupOperator = {
21
22
  exports.CouchDBConst = {
22
23
  NULL: "null",
23
24
  };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLGVBQWUsR0FBa0M7SUFDNUQsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsS0FBSztJQUNoQixNQUFNLEVBQUUsS0FBSztJQUNiLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsVUFBVSxFQUFFLE1BQU07SUFDbEIsdUJBQXVCO0lBQ3ZCLEdBQUcsRUFBRSxNQUFNO0lBQ1gsRUFBRSxFQUFFLEtBQUs7SUFDVCxhQUFhO0lBQ2IsTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQWtDO0lBQ2pFLEdBQUcsRUFBRSxNQUFNO0lBQ1gsRUFBRSxFQUFFLEtBQUs7Q0FDVixDQUFDO0FBRVcsUUFBQSxZQUFZLEdBQTJCO0lBQ2xELElBQUksRUFBRSxNQUFNO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hbmdvT3BlcmF0b3IgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IENvdWNoREJPcGVyYXRvcjogUmVjb3JkPHN0cmluZywgTWFuZ29PcGVyYXRvcj4gPSB7XG4gIEVRVUFMOiBcIiRlcVwiLFxuICBESUZGRVJFTlQ6IFwiJG5lXCIsXG4gIEJJR0dFUjogXCIkZ3RcIixcbiAgQklHR0VSX0VROiBcIiRndGVcIixcbiAgU01BTExFUjogXCIkbHRcIixcbiAgU01BTExFUl9FUTogXCIkbHRlXCIsXG4gIC8vIEJFVFdFRU4gPSBcIkJFVFdFRU5cIixcbiAgTk9UOiBcIiRub3RcIixcbiAgSU46IFwiJGluXCIsXG4gIC8vIElTID0gXCJJU1wiLFxuICBSRUdFWFA6IFwiJHJlZ2V4XCIsXG59O1xuXG5leHBvcnQgY29uc3QgQ291Y2hEQkdyb3VwT3BlcmF0b3I6IFJlY29yZDxzdHJpbmcsIE1hbmdvT3BlcmF0b3I+ID0ge1xuICBBTkQ6IFwiJGFuZFwiLFxuICBPUjogXCIkb3JcIixcbn07XG5cbmV4cG9ydCBjb25zdCBDb3VjaERCQ29uc3Q6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIE5VTEw6IFwibnVsbFwiLFxufTtcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUV4QixRQUFBLGVBQWUsR0FBa0M7SUFDNUQsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsS0FBSztJQUNoQixNQUFNLEVBQUUsS0FBSztJQUNiLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsVUFBVSxFQUFFLE1BQU07SUFDbEIsdUJBQXVCO0lBQ3ZCLEdBQUcsRUFBRSxNQUFNO0lBQ1gsRUFBRSxFQUFFLEtBQUs7SUFDVCxhQUFhO0lBQ2IsTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQWtDO0lBQ2pFLEdBQUcsRUFBRSxNQUFNO0lBQ1gsRUFBRSxFQUFFLEtBQUs7Q0FDVixDQUFDO0FBRVcsUUFBQSxZQUFZLEdBQTJCO0lBQ2xELElBQUksRUFBRSxNQUFNO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hbmdvT3BlcmF0b3IgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IENvdWNoREJRdWVyeUxpbWl0ID0gMjUwO1xuXG5leHBvcnQgY29uc3QgQ291Y2hEQk9wZXJhdG9yOiBSZWNvcmQ8c3RyaW5nLCBNYW5nb09wZXJhdG9yPiA9IHtcbiAgRVFVQUw6IFwiJGVxXCIsXG4gIERJRkZFUkVOVDogXCIkbmVcIixcbiAgQklHR0VSOiBcIiRndFwiLFxuICBCSUdHRVJfRVE6IFwiJGd0ZVwiLFxuICBTTUFMTEVSOiBcIiRsdFwiLFxuICBTTUFMTEVSX0VROiBcIiRsdGVcIixcbiAgLy8gQkVUV0VFTiA9IFwiQkVUV0VFTlwiLFxuICBOT1Q6IFwiJG5vdFwiLFxuICBJTjogXCIkaW5cIixcbiAgLy8gSVMgPSBcIklTXCIsXG4gIFJFR0VYUDogXCIkcmVnZXhcIixcbn07XG5cbmV4cG9ydCBjb25zdCBDb3VjaERCR3JvdXBPcGVyYXRvcjogUmVjb3JkPHN0cmluZywgTWFuZ29PcGVyYXRvcj4gPSB7XG4gIEFORDogXCIkYW5kXCIsXG4gIE9SOiBcIiRvclwiLFxufTtcblxuZXhwb3J0IGNvbnN0IENvdWNoREJDb25zdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgTlVMTDogXCJudWxsXCIsXG59O1xuIl19
@@ -1,4 +1,5 @@
1
1
  import { MangoOperator } from "../types";
2
+ export declare const CouchDBQueryLimit = 250;
2
3
  export declare const CouchDBOperator: Record<string, MangoOperator>;
3
4
  export declare const CouchDBGroupOperator: Record<string, MangoOperator>;
4
5
  export declare const CouchDBConst: Record<string, string>;
@@ -14,5 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./factory.cjs"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVlcnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2ZhY3RvcnlcIjtcbiJdfQ==
17
+ __exportStar(require("./constants.cjs"), exports);
18
+ __exportStar(require("./Paginator.cjs"), exports);
19
+ __exportStar(require("./Statement.cjs"), exports);
20
+ __exportStar(require("./translate.cjs"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVlcnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUE0QjtBQUM1QixrREFBNEI7QUFDNUIsa0RBQTRCO0FBQzVCLGtEQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUGFnaW5hdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TdGF0ZW1lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyYW5zbGF0ZVwiO1xuIl19
@@ -1 +1,4 @@
1
- export * from "./factory";
1
+ export * from "./constants";
2
+ export * from "./Paginator";
3
+ export * from "./Statement";
4
+ export * from "./translate";
@@ -11,4 +11,4 @@ function translateOperators(operator) {
11
11
  }
12
12
  throw new core_1.QueryError(`Could not find adapter translation for operator ${operator}`);
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L3RyYW5zbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLGdEQVVDO0FBZEQsMkNBQW9FO0FBQ3BFLHlDQUE0QztBQUc1QyxTQUFnQixrQkFBa0IsQ0FDaEMsUUFBa0M7SUFFbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxDQUFDLDJCQUFlLEVBQUUsZ0NBQW9CLENBQUMsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDOUQsSUFBSSxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE1BQU0sSUFBSSxpQkFBVSxDQUNsQixtREFBbUQsUUFBUSxFQUFFLENBQzlELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JvdXBPcGVyYXRvciwgT3BlcmF0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJHcm91cE9wZXJhdG9yLCBDb3VjaERCT3BlcmF0b3IgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFF1ZXJ5RXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1hbmdvT3BlcmF0b3IgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZU9wZXJhdG9ycyhcbiAgb3BlcmF0b3I6IEdyb3VwT3BlcmF0b3IgfCBPcGVyYXRvclxuKTogTWFuZ29PcGVyYXRvciB7XG4gIGZvciAoY29uc3Qgb3BlcmF0b3JzIG9mIFtDb3VjaERCT3BlcmF0b3IsIENvdWNoREJHcm91cE9wZXJhdG9yXSkge1xuICAgIGNvbnN0IGVsID0gT2JqZWN0LmtleXMob3BlcmF0b3JzKS5maW5kKChrKSA9PiBrID09PSBvcGVyYXRvcik7XG4gICAgaWYgKGVsKSByZXR1cm4gb3BlcmF0b3JzW2VsXTtcbiAgfVxuICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICBgQ291bGQgbm90IGZpbmQgYWRhcHRlciB0cmFuc2xhdGlvbiBmb3Igb3BlcmF0b3IgJHtvcGVyYXRvcn1gXG4gICk7XG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJ5L3RyYW5zbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLGdEQVVDO0FBZEQsK0NBQW9FO0FBQ3BFLHlDQUE0QztBQUc1QyxTQUFnQixrQkFBa0IsQ0FDaEMsUUFBa0M7SUFFbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxDQUFDLDJCQUFlLEVBQUUsZ0NBQW9CLENBQUMsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDOUQsSUFBSSxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE1BQU0sSUFBSSxpQkFBVSxDQUNsQixtREFBbUQsUUFBUSxFQUFFLENBQzlELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JvdXBPcGVyYXRvciwgT3BlcmF0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJHcm91cE9wZXJhdG9yLCBDb3VjaERCT3BlcmF0b3IgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFF1ZXJ5RXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1hbmdvT3BlcmF0b3IgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZU9wZXJhdG9ycyhcbiAgb3BlcmF0b3I6IEdyb3VwT3BlcmF0b3IgfCBPcGVyYXRvclxuKTogTWFuZ29PcGVyYXRvciB7XG4gIGZvciAoY29uc3Qgb3BlcmF0b3JzIG9mIFtDb3VjaERCT3BlcmF0b3IsIENvdWNoREJHcm91cE9wZXJhdG9yXSkge1xuICAgIGNvbnN0IGVsID0gT2JqZWN0LmtleXMob3BlcmF0b3JzKS5maW5kKChrKSA9PiBrID09PSBvcGVyYXRvcik7XG4gICAgaWYgKGVsKSByZXR1cm4gb3BlcmF0b3JzW2VsXTtcbiAgfVxuICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICBgQ291bGQgbm90IGZpbmQgYWRhcHRlciB0cmFuc2xhdGlvbiBmb3Igb3BlcmF0b3IgJHtvcGVyYXRvcn1gXG4gICk7XG59XG4iXX0=
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CouchDBSequence = void 0;
4
- const decorator_validation_1 = require("@decaf-ts/decorator-validation");
5
- const CouchDBSequence_1 = require("../model/CouchDBSequence.cjs");
4
+ const CouchDBSequence_1 = require("./../model/CouchDBSequence.cjs");
6
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
7
6
  const core_1 = require("@decaf-ts/core");
8
7
  const core_2 = require("@decaf-ts/core");
9
- const utils_1 = require("./utils.cjs");
10
8
  /**
11
9
  * @summary Abstract implementation of a Sequence
12
10
  * @description provides the basic functionality for {@link Sequence}s
@@ -41,10 +39,10 @@ class CouchDBSequence extends core_2.Sequence {
41
39
  return this.parse(startWith);
42
40
  }
43
41
  catch (e) {
44
- throw new db_decorators_1.InternalError((0, decorator_validation_1.sf)("Failed to parse initial value for sequence {0}: {1}", startWith.toString(), e));
42
+ throw new db_decorators_1.InternalError(`Failed to parse initial value for sequence ${startWith}: ${e}`);
45
43
  }
46
44
  }
47
- throw new db_decorators_1.InternalError((0, decorator_validation_1.sf)("Failed to retrieve current value for sequence {0}: {1}", name, e));
45
+ throw new db_decorators_1.InternalError(`Failed to retrieve current value for sequence ${name}: ${e}`);
48
46
  }
49
47
  }
50
48
  /**
@@ -54,7 +52,7 @@ class CouchDBSequence extends core_2.Sequence {
54
52
  * @param value
55
53
  */
56
54
  parse(value) {
57
- return (0, utils_1.parseSequenceValue)(this.options.type, value);
55
+ return core_2.Sequence.parseValue(this.options.type, value);
58
56
  }
59
57
  /**
60
58
  * @summary increments the sequence
@@ -115,4 +113,4 @@ class CouchDBSequence extends core_2.Sequence {
115
113
  }
116
114
  }
117
115
  exports.CouchDBSequence = CouchDBSequence;
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VzL1NlcXVlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFvRDtBQUNwRCw4REFBMkQ7QUFDM0QsMkRBQXVFO0FBQ3ZFLHlDQUFzRTtBQUN0RSx5Q0FBMEM7QUFDMUMsbUNBQTZDO0FBSTdDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsZUFBUTtJQUczQyxZQUFZLE9BQXdCLEVBQUUsT0FBaUM7UUFDckUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBVSxDQUFDLFFBQVEsQ0FBQywwQkFBRyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQVEsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFjLENBQUMsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQTBCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSw2QkFBYSxFQUFFLENBQUM7Z0JBQy9CLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVztvQkFDbEMsTUFBTSxJQUFJLDZCQUFhLENBQ3JCLDJEQUEyRCxDQUM1RCxDQUFDO2dCQUNKLElBQUksQ0FBQztvQkFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQy9CLENBQUM7Z0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztvQkFDaEIsTUFBTSxJQUFJ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QUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBWSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSTtZQUNsQyxNQUFNLElBQUksNkJBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBekhELDBDQXlIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNmIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgU2VxdWVuY2UgYXMgU2VxIH0gZnJvbSBcIi4uL21vZGVsL0NvdWNoREJTZXF1ZW5jZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgTm90Rm91bmRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQWRhcHRlciwgUmVwb3NpdG9yeSwgU2VxdWVuY2VPcHRpb25zIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBTZXF1ZW5jZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgcGFyc2VTZXF1ZW5jZVZhbHVlIH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IENvdWNoREJSZXBvc2l0b3J5IH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBBYnN0cmFjdCBpbXBsZW1lbnRhdGlvbiBvZiBhIFNlcXVlbmNlXG4gKiBAZGVzY3JpcHRpb24gcHJvdmlkZXMgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdHkgZm9yIHtAbGluayBTZXF1ZW5jZX1zXG4gKlxuICogQHBhcmFtIHtTZXF1ZW5jZU9wdGlvbnN9IG9wdGlvbnNcbiAqXG4gKiBAY2xhc3MgQ291Y2hEQlNlcXVlbmNlXG4gKiBAaW1wbGVtZW50cyBTZXF1ZW5jZVxuICpcbiAqIEBjYXRlZ29yeSBTZXF1ZW5jZXNcbiAqL1xuZXhwb3J0IGNsYXNzIENvdWNoREJTZXF1ZW5jZSBleHRlbmRzIFNlcXVlbmNlIHtcbiAgcHJvdGVjdGVkIHJlcG86IENvdWNoREJSZXBvc2l0b3J5PFNlcSwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTZXF1ZW5jZU9wdGlvbnMsIGFkYXB0ZXI6IEFkYXB0ZXI8YW55LCBNYW5nb1F1ZXJ5Pikge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMucmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWwoU2VxLCBhZGFwdGVyLmZsYXZvdXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgY3VycmVudCB2YWx1ZSBmb3IgdGhlIHNlcXVlbmNlXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIGFzeW5jIGN1cnJlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCB7IG5hbWUsIHN0YXJ0V2l0aCB9ID0gdGhpcy5vcHRpb25zO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZXF1ZW5jZTogU2VxID0gYXdhaXQgdGhpcy5yZXBvLnJlYWQobmFtZSBhcyBzdHJpbmcpO1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2Uoc2VxdWVuY2UuY3VycmVudCBhcyBzdHJpbmcgfCBudW1iZXIpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOb3RGb3VuZEVycm9yKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc3RhcnRXaXRoID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgXCJTdGFydGluZyB2YWx1ZSBpcyBub3QgZGVmaW5lZCBmb3IgYSBub24gZXhpc3Rpbmcgc2VxdWVuY2VcIlxuICAgICAgICAgICk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2Uoc3RhcnRXaXRoKTtcbiAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICBzZihcbiAgICAgICAgICAgICAgXCJGYWlsZWQgdG8gcGFyc2UgaW5pdGlhbCB2YWx1ZSBmb3Igc2VxdWVuY2UgezB9OiB7MX1cIixcbiAgICAgICAgICAgICAgc3RhcnRXaXRoLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgIGVcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgc2YoXG4gICAgICAgICAgXCJGYWlsZWQgdG8gcmV0cmlldmUgY3VycmVudCB2YWx1ZSBmb3Igc2VxdWVuY2UgezB9OiB7MX1cIixcbiAgICAgICAgICBuYW1lIGFzIHN0cmluZyxcbiAgICAgICAgICBlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFBhcnNlcyB0aGUge0BsaW5rIFNlcXVlbmNlfSB2YWx1ZVxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50KTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50IHtcbiAgICByZXR1cm4gcGFyc2VTZXF1ZW5jZVZhbHVlKHRoaXMub3B0aW9ucy50eXBlLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgaW5jcmVtZW50cyB0aGUgc2VxdWVuY2VcbiAgICogQGRlc2NyaXB0aW9uIFNlcXVlbmNlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50fSBjdXJyZW50XG4gICAqIEBwYXJhbSBjb3VudFxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGluY3JlbWVudChcbiAgICBjdXJyZW50OiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQsXG4gICAgY291bnQ/OiBudW1iZXJcbiAgKTogUHJvbWlzZTxzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCB7IHR5cGUsIGluY3JlbWVudEJ5LCBuYW1lIH0gPSB0aGlzLm9wdGlvbnM7XG4gICAgbGV0IG5leHQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgICBjb25zdCB0b0luY3JlbWVudEJ5ID0gY291bnQgfHwgaW5jcmVtZW50Qnk7XG4gICAgaWYgKHRvSW5jcmVtZW50QnkgJSBpbmNyZW1lbnRCeSAhPT0gMClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgVmFsdWUgdG8gaW5jcmVtZW50IGRvZXMgbm90IGNvbnNpZGVyIHRoZSBpbmNyZW1lbnRCeSBzZXR0aW5nOiAke2luY3JlbWVudEJ5fWBcbiAgICAgICk7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiTnVtYmVyXCI6XG4gICAgICAgIG5leHQgPSAodGhpcy5wYXJzZShjdXJyZW50KSBhcyBudW1iZXIpICsgdG9JbmNyZW1lbnRCeTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiQmlnSW50XCI6XG4gICAgICAgIG5leHQgPSAodGhpcy5wYXJzZShjdXJyZW50KSBhcyBiaWdpbnQpICsgQmlnSW50KHRvSW5jcmVtZW50QnkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiU2hvdWxkIG5ldmVyIGhhcHBlblwiKTtcbiAgICB9XG4gICAgbGV0IHNlcTogU2VxO1xuICAgIHRyeSB7XG4gICAgICBzZXEgPSBhd2FpdCB0aGlzLnJlcG8udXBkYXRlKG5ldyBTZXEoeyBpZDogbmFtZSwgY3VycmVudDogbmV4dCB9KSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvcikpIHRocm93IGU7XG4gICAgICBzZXEgPSBhd2FpdCB0aGlzLnJlcG8uY3JlYXRlKG5ldyBTZXEoeyBpZDogbmFtZSwgY3VycmVudDogbmV4dCB9KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlcS5jdXJyZW50IGFzIHN0cmluZyB8IG51bWJlciB8IGJpZ2ludDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBHZW5lcmF0ZXMgdGhlIG5leHQgdmFsdWUgaW4gdGggc2VxdWVuY2VcbiAgICogQGRlc2NyaXB0aW9uIGNhbGxzIHtAbGluayBTZXF1ZW5jZSNwYXJzZX0gb24gdGhlIGN1cnJlbnQgdmFsdWVcbiAgICogZm9sbG93ZWQgYnkge0BsaW5rIFNlcXVlbmNlI2luY3JlbWVudH1cbiAgICpcbiAgICovXG4gIGFzeW5jIG5leHQoKTogUHJvbWlzZTxudW1iZXIgfCBzdHJpbmcgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgdGhpcy5jdXJyZW50KCk7XG4gICAgcmV0dXJuIHRoaXMuaW5jcmVtZW50KGN1cnJlbnQpO1xuICB9XG5cbiAgYXN5bmMgcmFuZ2UoY291bnQ6IG51bWJlcik6IFByb21pc2U8KG51bWJlciB8IHN0cmluZyB8IGJpZ2ludClbXT4ge1xuICAgIGNvbnN0IGN1cnJlbnQgPSAoYXdhaXQgdGhpcy5jdXJyZW50KCkpIGFzIG51bWJlcjtcbiAgICBjb25zdCBpbmNyZW1lbnRCeSA9IHRoaXMucGFyc2UodGhpcy5vcHRpb25zLmluY3JlbWVudEJ5KSBhcyBudW1iZXI7XG4gICAgY29uc3QgbmV4dDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50ID0gYXdhaXQgdGhpcy5pbmNyZW1lbnQoXG4gICAgICBjdXJyZW50LFxuICAgICAgKHRoaXMucGFyc2UoY291bnQpIGFzIG51bWJlcikgKiBpbmNyZW1lbnRCeVxuICAgICk7XG4gICAgY29uc3QgcmFuZ2U6IChudW1iZXIgfCBzdHJpbmcgfCBiaWdpbnQpW10gPSBbXTtcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAxOyBpIDw9IGNvdW50OyBpKyspIHtcbiAgICAgIHJhbmdlLnB1c2goY3VycmVudCArIGluY3JlbWVudEJ5ICogKHRoaXMucGFyc2UoaSkgYXMgbnVtYmVyKSk7XG4gICAgfVxuICAgIGlmIChyYW5nZVtyYW5nZS5sZW5ndGggLSAxXSAhPT0gbmV4dClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWlzY2FsY3VsYXRpb24gb2YgcmFuZ2VcIik7XG4gICAgcmV0dXJuIHJhbmdlO1xuICB9XG59XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VxdWVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VzL1NlcXVlbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9FQUEyRDtBQUMzRCwyREFBdUU7QUFDdkUseUNBQXNFO0FBQ3RFLHlDQUEwQztBQUkxQzs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLGVBQVE7SUFHM0MsWUFDRSxPQUF3QixFQUN4QixPQUEyQztRQUUzQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFVLENBQUMsUUFBUSxDQUFDLDBCQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN6QyxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBUSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQWMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBMEIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxZQUFZLDZCQUFhLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXO29CQUNsQyxNQUFNLElBQUksNkJBQWEsQ0FDckIsMkRBQTJELENBQzVELENBQUM7Z0JBQ0osSUFBSSxDQUFDO29CQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0IsQ0FBQztnQkFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO29CQUNwQixNQUFNLElBQUksNkJBQWEsQ0FDckIsOENBQThDLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FDaEUsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU0sSUFBSSw2QkFBYSxDQUNyQixpREFBaUQsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUM5RCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLEtBQUssQ0FBQyxLQUErQjtRQUMzQyxPQUFPLGVBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyxLQUFLLENBQUMsU0FBUyxDQUNyQixPQUFpQyxFQUNqQyxLQUFjO1FBRWQsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNqRCxJQUFJLElBQThCLENBQUM7UUFDbkMsTUFBTSxhQUFhLEdBQUcsS0FBSyxJQUFJLFdBQVcsQ0FBQztRQUMzQyxJQUFJLGFBQWEsR0FBRyxXQUFXLEtBQUssQ0FBQztZQUNuQyxNQUFNLElBQUksNkJBQWEsQ0FDckIsaUVBQWlFLFdBQVcsRUFBRSxDQUMvRSxDQUFDO1FBQ0osUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssUUFBUTtnQkFDWCxJQUFJLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQVksR0FBRyxhQUFhLENBQUM7Z0JBQ3ZELE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFZLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTSxJQUFJLDZCQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxHQUFRLENBQUM7UUFDYixJQUFJLENBQUM7WUFDSCxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLDBCQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLDZCQUFhLENBQUM7Z0JBQUUsTUFBTSxDQUFDLENBQUM7WUFDM0MsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSwwQkFBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxPQUFtQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQWE7UUFDdkIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBVyxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQVcsQ0FBQztRQUNuRSxNQUFNLElBQUksR0FBNkIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUN6RCxPQUFPLEVBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQVksR0FBRyxXQUFXLENBQzVDLENBQUM7UUFDRixNQUFNLEtBQUssR0FBaUMsRUFBRSxDQUFDO1FBQy9DLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEdBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVksQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUk7WUFDbEMsTUFBTSxJQUFJLDZCQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQXBIRCwwQ0FvSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXF1ZW5jZSBhcyBTZXEgfSBmcm9tIFwiLi4vbW9kZWwvQ291Y2hEQlNlcXVlbmNlXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBOb3RGb3VuZEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBBZGFwdGVyLCBSZXBvc2l0b3J5LCBTZXF1ZW5jZU9wdGlvbnMgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IFNlcXVlbmNlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBDb3VjaERCUmVwb3NpdG9yeSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgQWJzdHJhY3QgaW1wbGVtZW50YXRpb24gb2YgYSBTZXF1ZW5jZVxuICogQGRlc2NyaXB0aW9uIHByb3ZpZGVzIHRoZSBiYXNpYyBmdW5jdGlvbmFsaXR5IGZvciB7QGxpbmsgU2VxdWVuY2V9c1xuICpcbiAqIEBwYXJhbSB7U2VxdWVuY2VPcHRpb25zfSBvcHRpb25zXG4gKlxuICogQGNsYXNzIENvdWNoREJTZXF1ZW5jZVxuICogQGltcGxlbWVudHMgU2VxdWVuY2VcbiAqXG4gKiBAY2F0ZWdvcnkgU2VxdWVuY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBDb3VjaERCU2VxdWVuY2UgZXh0ZW5kcyBTZXF1ZW5jZSB7XG4gIHByb3RlY3RlZCByZXBvOiBDb3VjaERCUmVwb3NpdG9yeTxTZXEsIGFueSwgYW55LCBhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG9wdGlvbnM6IFNlcXVlbmNlT3B0aW9ucyxcbiAgICBhZGFwdGVyOiBBZGFwdGVyPGFueSwgTWFuZ29RdWVyeSwgYW55LCBhbnk+XG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMucmVwbyA9IFJlcG9zaXRvcnkuZm9yTW9kZWwoU2VxLCBhZGFwdGVyLmZsYXZvdXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyB0aGUgY3VycmVudCB2YWx1ZSBmb3IgdGhlIHNlcXVlbmNlXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIGFzeW5jIGN1cnJlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ+IHtcbiAgICBjb25zdCB7IG5hbWUsIHN0YXJ0V2l0aCB9ID0gdGhpcy5vcHRpb25zO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZXF1ZW5jZTogU2VxID0gYXdhaXQgdGhpcy5yZXBvLnJlYWQobmFtZSBhcyBzdHJpbmcpO1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2Uoc2VxdWVuY2UuY3VycmVudCBhcyBzdHJpbmcgfCBudW1iZXIpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOb3RGb3VuZEVycm9yKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc3RhcnRXaXRoID09PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgXCJTdGFydGluZyB2YWx1ZSBpcyBub3QgZGVmaW5lZCBmb3IgYSBub24gZXhpc3Rpbmcgc2VxdWVuY2VcIlxuICAgICAgICAgICk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2Uoc3RhcnRXaXRoKTtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgYEZhaWxlZCB0byBwYXJzZSBpbml0aWFsIHZhbHVlIGZvciBzZXF1ZW5jZSAke3N0YXJ0V2l0aH06ICR7ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gcmV0cmlldmUgY3VycmVudCB2YWx1ZSBmb3Igc2VxdWVuY2UgJHtuYW1lfTogJHtlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFBhcnNlcyB0aGUge0BsaW5rIFNlcXVlbmNlfSB2YWx1ZVxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50KTogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50IHtcbiAgICByZXR1cm4gU2VxdWVuY2UucGFyc2VWYWx1ZSh0aGlzLm9wdGlvbnMudHlwZSwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IGluY3JlbWVudHMgdGhlIHNlcXVlbmNlXG4gICAqIEBkZXNjcmlwdGlvbiBTZXF1ZW5jZSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bWJlciB8IGJpZ2ludH0gY3VycmVudFxuICAgKiBAcGFyYW0gY291bnRcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBpbmNyZW1lbnQoXG4gICAgY3VycmVudDogc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50LFxuICAgIGNvdW50PzogbnVtYmVyXG4gICk6IFByb21pc2U8c3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50PiB7XG4gICAgY29uc3QgeyB0eXBlLCBpbmNyZW1lbnRCeSwgbmFtZSB9ID0gdGhpcy5vcHRpb25zO1xuICAgIGxldCBuZXh0OiBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ7XG4gICAgY29uc3QgdG9JbmNyZW1lbnRCeSA9IGNvdW50IHx8IGluY3JlbWVudEJ5O1xuICAgIGlmICh0b0luY3JlbWVudEJ5ICUgaW5jcmVtZW50QnkgIT09IDApXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYFZhbHVlIHRvIGluY3JlbWVudCBkb2VzIG5vdCBjb25zaWRlciB0aGUgaW5jcmVtZW50Qnkgc2V0dGluZzogJHtpbmNyZW1lbnRCeX1gXG4gICAgICApO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcIk51bWJlclwiOlxuICAgICAgICBuZXh0ID0gKHRoaXMucGFyc2UoY3VycmVudCkgYXMgbnVtYmVyKSArIHRvSW5jcmVtZW50Qnk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIkJpZ0ludFwiOlxuICAgICAgICBuZXh0ID0gKHRoaXMucGFyc2UoY3VycmVudCkgYXMgYmlnaW50KSArIEJpZ0ludCh0b0luY3JlbWVudEJ5KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIlNob3VsZCBuZXZlciBoYXBwZW5cIik7XG4gICAgfVxuICAgIGxldCBzZXE6IFNlcTtcbiAgICB0cnkge1xuICAgICAgc2VxID0gYXdhaXQgdGhpcy5yZXBvLnVwZGF0ZShuZXcgU2VxKHsgaWQ6IG5hbWUsIGN1cnJlbnQ6IG5leHQgfSkpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIE5vdEZvdW5kRXJyb3IpKSB0aHJvdyBlO1xuICAgICAgc2VxID0gYXdhaXQgdGhpcy5yZXBvLmNyZWF0ZShuZXcgU2VxKHsgaWQ6IG5hbWUsIGN1cnJlbnQ6IG5leHQgfSkpO1xuICAgIH1cblxuICAgIHJldHVybiBzZXEuY3VycmVudCBhcyBzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQ7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgR2VuZXJhdGVzIHRoZSBuZXh0IHZhbHVlIGluIHRoIHNlcXVlbmNlXG4gICAqIEBkZXNjcmlwdGlvbiBjYWxscyB7QGxpbmsgU2VxdWVuY2UjcGFyc2V9IG9uIHRoZSBjdXJyZW50IHZhbHVlXG4gICAqIGZvbGxvd2VkIGJ5IHtAbGluayBTZXF1ZW5jZSNpbmNyZW1lbnR9XG4gICAqXG4gICAqL1xuICBhc3luYyBuZXh0KCk6IFByb21pc2U8bnVtYmVyIHwgc3RyaW5nIHwgYmlnaW50PiB7XG4gICAgY29uc3QgY3VycmVudCA9IGF3YWl0IHRoaXMuY3VycmVudCgpO1xuICAgIHJldHVybiB0aGlzLmluY3JlbWVudChjdXJyZW50KTtcbiAgfVxuXG4gIGFzeW5jIHJhbmdlKGNvdW50OiBudW1iZXIpOiBQcm9taXNlPChudW1iZXIgfCBzdHJpbmcgfCBiaWdpbnQpW10+IHtcbiAgICBjb25zdCBjdXJyZW50ID0gKGF3YWl0IHRoaXMuY3VycmVudCgpKSBhcyBudW1iZXI7XG4gICAgY29uc3QgaW5jcmVtZW50QnkgPSB0aGlzLnBhcnNlKHRoaXMub3B0aW9ucy5pbmNyZW1lbnRCeSkgYXMgbnVtYmVyO1xuICAgIGNvbnN0IG5leHQ6IHN0cmluZyB8IG51bWJlciB8IGJpZ2ludCA9IGF3YWl0IHRoaXMuaW5jcmVtZW50KFxuICAgICAgY3VycmVudCxcbiAgICAgICh0aGlzLnBhcnNlKGNvdW50KSBhcyBudW1iZXIpICogaW5jcmVtZW50QnlcbiAgICApO1xuICAgIGNvbnN0IHJhbmdlOiAobnVtYmVyIHwgc3RyaW5nIHwgYmlnaW50KVtdID0gW107XG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMTsgaSA8PSBjb3VudDsgaSsrKSB7XG4gICAgICByYW5nZS5wdXNoKGN1cnJlbnQgKyBpbmNyZW1lbnRCeSAqICh0aGlzLnBhcnNlKGkpIGFzIG51bWJlcikpO1xuICAgIH1cbiAgICBpZiAocmFuZ2VbcmFuZ2UubGVuZ3RoIC0gMV0gIT09IG5leHQpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1pc2NhbGN1bGF0aW9uIG9mIHJhbmdlXCIpO1xuICAgIHJldHVybiByYW5nZTtcbiAgfVxufVxuIl19
@@ -15,8 +15,8 @@ import { CouchDBRepository } from "../interfaces";
15
15
  * @category Sequences
16
16
  */
17
17
  export declare class CouchDBSequence extends Sequence {
18
- protected repo: CouchDBRepository<Seq, any>;
19
- constructor(options: SequenceOptions, adapter: Adapter<any, MangoQuery>);
18
+ protected repo: CouchDBRepository<Seq, any, any, any>;
19
+ constructor(options: SequenceOptions, adapter: Adapter<any, MangoQuery, any, any>);
20
20
  /**
21
21
  * @summary Retrieves the current value for the sequence
22
22
  * @protected
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Sequence.cjs"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9TZXF1ZW5jZVwiO1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9TZXF1ZW5jZVwiO1xuIl19