@decaf-ts/for-couchdb 0.0.2 → 0.1.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 (88) hide show
  1. package/dist/esm/for-couchdb.bundle.min.esm.js +1 -1
  2. package/dist/esm/for-couchdb.bundle.min.esm.js.LICENSE.txt +0 -11
  3. package/dist/for-couchdb.bundle.min.js +1 -1
  4. package/dist/for-couchdb.bundle.min.js.LICENSE.txt +0 -11
  5. package/docker/.dockerignore +5 -0
  6. package/docker/.env +7 -0
  7. package/docker/Dockerfile-booter +19 -0
  8. package/docker/Dockerfile-couchdb +4 -0
  9. package/docker/couchdb.ini +886 -0
  10. package/docker/docker-compose.yml +109 -0
  11. package/docker/init-cluster.sh +66 -0
  12. package/lib/adapter.cjs +80 -88
  13. package/lib/adapter.d.ts +11 -12
  14. package/lib/constants.cjs +2 -1
  15. package/lib/constants.d.ts +1 -0
  16. package/lib/esm/adapter.d.ts +11 -12
  17. package/lib/esm/adapter.js +80 -88
  18. package/lib/esm/constants.d.ts +1 -0
  19. package/lib/esm/constants.js +2 -1
  20. package/lib/esm/index.d.ts +4 -1
  21. package/lib/esm/index.js +5 -2
  22. package/lib/esm/indexes/generator.d.ts +1 -1
  23. package/lib/esm/indexes/generator.js +1 -1
  24. package/lib/esm/indexes/index.d.ts +0 -1
  25. package/lib/esm/indexes/index.js +1 -2
  26. package/lib/esm/interfaces/CouchDBRepository.d.ts +1 -1
  27. package/lib/esm/interfaces/CouchDBRepository.js +1 -1
  28. package/lib/esm/query/FromClause.d.ts +1 -1
  29. package/lib/esm/query/FromClause.js +1 -1
  30. package/lib/esm/query/InsertClause.d.ts +1 -1
  31. package/lib/esm/query/InsertClause.js +1 -1
  32. package/lib/esm/query/Paginator.d.ts +1 -1
  33. package/lib/esm/query/Paginator.js +1 -1
  34. package/lib/esm/query/SelectClause.d.ts +1 -1
  35. package/lib/esm/query/SelectClause.js +1 -1
  36. package/lib/esm/query/Statement.d.ts +3 -3
  37. package/lib/esm/query/Statement.js +1 -1
  38. package/lib/esm/query/ValuesClause.d.ts +1 -1
  39. package/lib/esm/query/ValuesClause.js +1 -1
  40. package/lib/esm/query/WhereClause.d.ts +1 -1
  41. package/lib/esm/query/WhereClause.js +1 -1
  42. package/lib/esm/query/constants.d.ts +1 -1
  43. package/lib/esm/query/constants.js +1 -1
  44. package/lib/esm/query/factory.d.ts +1 -1
  45. package/lib/esm/query/factory.js +1 -1
  46. package/lib/esm/query/translate.d.ts +1 -1
  47. package/lib/esm/query/translate.js +1 -1
  48. package/lib/esm/types.d.ts +406 -0
  49. package/lib/esm/types.js +3 -0
  50. package/lib/esm/utils.d.ts +3 -3
  51. package/lib/esm/utils.js +1 -1
  52. package/lib/index.cjs +5 -2
  53. package/lib/index.d.ts +4 -1
  54. package/lib/indexes/generator.cjs +1 -1
  55. package/lib/indexes/generator.d.ts +1 -1
  56. package/lib/indexes/index.cjs +1 -2
  57. package/lib/indexes/index.d.ts +0 -1
  58. package/lib/interfaces/CouchDBRepository.cjs +1 -1
  59. package/lib/interfaces/CouchDBRepository.d.ts +1 -1
  60. package/lib/query/FromClause.cjs +1 -1
  61. package/lib/query/FromClause.d.ts +1 -1
  62. package/lib/query/InsertClause.cjs +1 -1
  63. package/lib/query/InsertClause.d.ts +1 -1
  64. package/lib/query/Paginator.cjs +1 -1
  65. package/lib/query/Paginator.d.ts +1 -1
  66. package/lib/query/SelectClause.cjs +1 -1
  67. package/lib/query/SelectClause.d.ts +1 -1
  68. package/lib/query/Statement.cjs +1 -1
  69. package/lib/query/Statement.d.ts +3 -3
  70. package/lib/query/ValuesClause.cjs +1 -1
  71. package/lib/query/ValuesClause.d.ts +1 -1
  72. package/lib/query/WhereClause.cjs +1 -1
  73. package/lib/query/WhereClause.d.ts +1 -1
  74. package/lib/query/constants.cjs +1 -1
  75. package/lib/query/constants.d.ts +1 -1
  76. package/lib/query/factory.cjs +1 -1
  77. package/lib/query/factory.d.ts +1 -1
  78. package/lib/query/translate.cjs +1 -1
  79. package/lib/query/translate.d.ts +1 -1
  80. package/lib/types.cjs +4 -0
  81. package/lib/types.d.ts +406 -0
  82. package/lib/utils.cjs +1 -1
  83. package/lib/utils.d.ts +3 -3
  84. package/package.json +10 -16
  85. package/lib/esm/indexes/types.d.ts +0 -11
  86. package/lib/esm/indexes/types.js +0 -3
  87. package/lib/indexes/types.cjs +0 -4
  88. package/lib/indexes/types.d.ts +0 -11
@@ -1,5 +1,4 @@
1
1
  import { Adapter, PersistenceKeys, Operator, GroupOperator, ConnectionError, Repository, } from "@decaf-ts/core";
2
- import * as Nano from "nano";
3
2
  import { CouchDBKeys, reservedAttributes } from "./constants";
4
3
  import { BaseError, ConflictError, InternalError, NotFoundError, } from "@decaf-ts/db-decorators";
5
4
  import "reflect-metadata";
@@ -65,15 +64,6 @@ export class CouchDBAdapter extends Adapter {
65
64
  throw new ConflictError(`Index for table ${name} with id ${id}`);
66
65
  }
67
66
  }
68
- async user() {
69
- try {
70
- const user = await this.native[CouchDBKeys.NATIVE].session();
71
- return user.userCtx.name;
72
- }
73
- catch (e) {
74
- throw this.parseError(e);
75
- }
76
- }
77
67
  async raw(rawInput, process = true) {
78
68
  try {
79
69
  const response = await this.native.find(rawInput);
@@ -154,6 +144,23 @@ export class CouchDBAdapter extends Adapter {
154
144
  });
155
145
  return record;
156
146
  }
147
+ async readAll(tableName, ids) {
148
+ const results = await this.native.fetch({ keys: ids.map((id) => this.generateId(tableName, id)) }, {});
149
+ return results.rows.map((r) => {
150
+ if (r.error)
151
+ throw new InternalError(r.error);
152
+ if (r.doc) {
153
+ const res = Object.assign({}, r.doc);
154
+ Object.defineProperty(res, PersistenceKeys.METADATA, {
155
+ enumerable: false,
156
+ writable: false,
157
+ value: r.doc[CouchDBKeys.REV],
158
+ });
159
+ return res;
160
+ }
161
+ throw new InternalError("Should be impossible");
162
+ });
163
+ }
157
164
  async update(tableName, id, model) {
158
165
  const record = {};
159
166
  record[CouchDBKeys.TABLE] = tableName;
@@ -180,6 +187,41 @@ export class CouchDBAdapter extends Adapter {
180
187
  });
181
188
  return model;
182
189
  }
190
+ async updateAll(tableName, ids, models) {
191
+ if (ids.length !== models.length)
192
+ throw new InternalError("Ids and models must have the same length");
193
+ const records = ids.map((id, count) => {
194
+ const record = {};
195
+ record[CouchDBKeys.TABLE] = tableName;
196
+ record[CouchDBKeys.ID] = this.generateId(tableName, id);
197
+ const rev = models[count][PersistenceKeys.METADATA];
198
+ if (!rev)
199
+ throw new InternalError(`No revision number found for record with id ${id}`);
200
+ Object.assign(record, models[count]);
201
+ record[CouchDBKeys.REV] = rev;
202
+ return record;
203
+ });
204
+ let response;
205
+ try {
206
+ response = await this.native.bulk({ docs: records });
207
+ }
208
+ catch (e) {
209
+ throw this.parseError(e);
210
+ }
211
+ if (!response.every((r) => !r.error)) {
212
+ const errors = response.reduce((accum, el, i) => {
213
+ if (el.error)
214
+ accum.push(`el ${i}: ${el.error}${el.reason ? ` - ${el.reason}` : ""}`);
215
+ return accum;
216
+ }, []);
217
+ throw new InternalError(errors.join("\n"));
218
+ }
219
+ models.forEach((m, i) => {
220
+ Repository.setMetadata(m, response[i].rev);
221
+ return m;
222
+ });
223
+ return models;
224
+ }
183
225
  async delete(tableName, id) {
184
226
  const _id = this.generateId(tableName, id);
185
227
  let record;
@@ -198,6 +240,33 @@ export class CouchDBAdapter extends Adapter {
198
240
  });
199
241
  return record;
200
242
  }
243
+ async deleteAll(tableName, ids) {
244
+ const results = await this.native.fetch({ keys: ids.map((id) => this.generateId(tableName, id)) }, {});
245
+ const deletion = await this.native.bulk({
246
+ docs: results.rows.map((r) => {
247
+ r[CouchDBKeys.DELETED] = true;
248
+ return r;
249
+ }),
250
+ });
251
+ deletion.forEach((d) => {
252
+ if (d.error)
253
+ console.error(d.error);
254
+ });
255
+ return results.rows.map((r) => {
256
+ if (r.error)
257
+ throw new InternalError(r.error);
258
+ if (r.doc) {
259
+ const res = Object.assign({}, r.doc);
260
+ Object.defineProperty(res, PersistenceKeys.METADATA, {
261
+ enumerable: false,
262
+ writable: false,
263
+ value: r.doc[CouchDBKeys.REV],
264
+ });
265
+ return res;
266
+ }
267
+ throw new InternalError("Should be impossible");
268
+ });
269
+ }
201
270
  generateId(tableName, id) {
202
271
  return [tableName, id].join(CouchDBKeys.SEPARATOR);
203
272
  }
@@ -246,83 +315,6 @@ export class CouchDBAdapter extends Adapter {
246
315
  return new InternalError(err);
247
316
  }
248
317
  }
249
- static connect(user, pass, host = "localhost:5984", protocol = "http") {
250
- return Nano(`${protocol}://${user}:${pass}@${host}`);
251
- }
252
- static async createDatabase(con, name) {
253
- let result;
254
- try {
255
- result = await con.db.create(name);
256
- }
257
- catch (e) {
258
- throw this.parseError(e);
259
- }
260
- const { ok, error, reason } = result;
261
- if (!ok)
262
- throw this.parseError(error, reason);
263
- }
264
- static async deleteDatabase(con, name) {
265
- let result;
266
- try {
267
- result = await con.db.destroy(name);
268
- }
269
- catch (e) {
270
- throw this.parseError(e);
271
- }
272
- const { ok } = result;
273
- if (!ok)
274
- throw new InternalError(`Failed to delete database with name ${name}`);
275
- }
276
- static async createUser(con, dbName, user, pass, roles = ["reader", "writer"]) {
277
- const users = await con.db.use("_users");
278
- const usr = {
279
- _id: "org.couchdb.user:" + user,
280
- name: user,
281
- password: pass,
282
- roles: roles,
283
- type: "user",
284
- };
285
- try {
286
- const created = await users.insert(usr);
287
- const { ok } = created;
288
- if (!ok)
289
- throw new InternalError(`Failed to create user ${user}`);
290
- const security = await con.request({
291
- db: dbName,
292
- method: "put",
293
- path: "_security",
294
- // headers: {
295
- //
296
- // },
297
- body: {
298
- admins: {
299
- names: [user],
300
- roles: [],
301
- },
302
- members: {
303
- names: [user],
304
- roles: roles,
305
- },
306
- },
307
- });
308
- if (!security.ok)
309
- throw new InternalError(`Failed to authorize user ${user} to db ${dbName}`);
310
- }
311
- catch (e) {
312
- throw this.parseError(e);
313
- }
314
- }
315
- static async deleteUser(con, dbName, user) {
316
- const users = await con.db.use("_users");
317
- const id = "org.couchdb.user:" + user;
318
- try {
319
- const usr = await users.get(id);
320
- await users.destroy(id, usr._rev);
321
- }
322
- catch (e) {
323
- throw this.parseError(e);
324
- }
325
- }
326
318
  }
327
319
 
328
- //# sourceMappingURL=data:application/json;charset=utf8;base64,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QVUsTUFBTSxFQUFFLENBQ25ELENBQUM7UUFDTixDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFZO1FBQ3BFLE1BQU0sS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsTUFBTSxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQztZQUNILE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoQyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7Q0FDRiIsImZpbGUiOiJhZGFwdGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRhcHRlcixcbiAgU2VxdWVuY2UsXG4gIFNlcXVlbmNlT3B0aW9ucyxcbiAgUGVyc2lzdGVuY2VLZXlzLFxuICBPcGVyYXRvcixcbiAgR3JvdXBPcGVyYXRvcixcbiAgU3RhdGVtZW50LFxuICBRdWVyeSxcbiAgQ2xhdXNlRmFjdG9yeSxcbiAgQ29uZGl0aW9uLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIFJlcG9zaXRvcnksXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgTWFuZ29RdWVyeSxcbiAgRG9jdW1lbnRTY29wZSxcbiAgRG9jdW1lbnRJbnNlcnRSZXNwb25zZSxcbiAgRG9jdW1lbnRHZXRSZXNwb25zZSxcbiAgU2VydmVyU2NvcGUsXG4gIERhdGFiYXNlQ3JlYXRlUmVzcG9uc2UsXG4gIE1heWJlRG9jdW1lbnQsXG4gIE1hbmdvUmVzcG9uc2UsXG4gIE1hbmdvU2VsZWN0b3IsXG4gIERvY3VtZW50QnVsa1Jlc3BvbnNlLFxuICBNYW5nb09wZXJhdG9yLFxuICBEYXRhYmFzZVNlc3Npb25SZXNwb25zZSxcbiAgQ3JlYXRlSW5kZXhSZXF1ZXN0LFxufSBmcm9tIFwibmFub1wiO1xuaW1wb3J0ICogYXMgTmFubyBmcm9tIFwibmFub1wiO1xuaW1wb3J0IHsgQ291Y2hEQktleXMsIHJlc2VydmVkQXR0cmlidXRlcyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQmFzZUVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7IENvdWNoREJTdGF0ZW1lbnQgfSBmcm9tIFwiLi9xdWVyeS9TdGF0ZW1lbnRcIjtcbmltcG9ydCB7IEZhY3RvcnkgfSBmcm9tIFwiLi9xdWVyeVwiO1xuaW1wb3J0IHsgdHJhbnNsYXRlT3BlcmF0b3JzIH0gZnJvbSBcIi4vcXVlcnkvdHJhbnNsYXRlXCI7XG5pbXBvcnQgeyBDb3VjaERCU2VxdWVuY2UgfSBmcm9tIFwiLi9zZXF1ZW5jZXMvU2VxdWVuY2VcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEluZGV4RXJyb3IgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IGdlbmVyYXRlSW5kZXhlcyB9IGZyb20gXCIuL2luZGV4ZXMvZ2VuZXJhdG9yXCI7XG5cbmV4cG9ydCBjbGFzcyBDb3VjaERCQWRhcHRlciBleHRlbmRzIEFkYXB0ZXI8RG9jdW1lbnRTY29wZTxhbnk+LCBNYW5nb1F1ZXJ5PiB7XG4gIHByaXZhdGUgZmFjdG9yeT86IEZhY3Rvcnk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IERvY3VtZW50U2NvcGU8YW55PiwgZmxhdm91cjogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGZsYXZvdXIpO1xuICB9XG5cbiAgZ2V0IENsYXVzZXMoKTogQ2xhdXNlRmFjdG9yeTxEb2N1bWVudFNjb3BlPGFueT4sIE1hbmdvUXVlcnk+IHtcbiAgICBpZiAoIXRoaXMuZmFjdG9yeSkgdGhpcy5mYWN0b3J5ID0gbmV3IEZhY3RvcnkodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMuZmFjdG9yeTtcbiAgfVxuXG4gIFF1ZXJ5PE0gZXh0ZW5kcyBNb2RlbD4oKTogUXVlcnk8TWFuZ29RdWVyeSwgTT4ge1xuICAgIHJldHVybiBzdXBlci5RdWVyeSgpO1xuICB9XG5cbiAgZ2V0IFN0YXRlbWVudCgpOiBTdGF0ZW1lbnQ8TWFuZ29RdWVyeT4ge1xuICAgIHJldHVybiBuZXcgQ291Y2hEQlN0YXRlbWVudCh0aGlzKTtcbiAgfVxuXG4gIHBhcnNlQ29uZGl0aW9uKGNvbmRpdGlvbjogQ29uZGl0aW9uKTogTWFuZ29RdWVyeSB7XG4gICAgZnVuY3Rpb24gbWVyZ2UoXG4gICAgICBvcDogTWFuZ29PcGVyYXRvcixcbiAgICAgIG9iajE6IE1hbmdvU2VsZWN0b3IsXG4gICAgICBvYmoyOiBNYW5nb1NlbGVjdG9yXG4gICAgKTogTWFuZ29RdWVyeSB7XG4gICAgICBjb25zdCByZXN1bHQ6IE1hbmdvUXVlcnkgPSB7IHNlbGVjdG9yOiB7fSBhcyBNYW5nb1NlbGVjdG9yIH07XG4gICAgICByZXN1bHQuc2VsZWN0b3Jbb3BdID0gW29iajEsIG9iajJdO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBjb25zdCB7IGF0dHIxLCBvcGVyYXRvciwgY29tcGFyaXNvbiB9ID0gY29uZGl0aW9uIGFzIHVua25vd24gYXMge1xuICAgICAgYXR0cjE6IHN0cmluZyB8IENvbmRpdGlvbjtcbiAgICAgIG9wZXJhdG9yOiBPcGVyYXRvciB8IEdyb3VwT3BlcmF0b3I7XG4gICAgICBjb21wYXJpc29uOiBhbnk7XG4gICAgfTtcblxuICAgIGxldCBvcDogTWFuZ29TZWxlY3RvciA9IHt9IGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgaWYgKFxuICAgICAgW0dyb3VwT3BlcmF0b3IuQU5ELCBHcm91cE9wZXJhdG9yLk9SLCBPcGVyYXRvci5OT1RdLmluZGV4T2YoXG4gICAgICAgIG9wZXJhdG9yIGFzIEdyb3VwT3BlcmF0b3JcbiAgICAgICkgPT09IC0xXG4gICAgKSB7XG4gICAgICBvcFthdHRyMSBhcyBzdHJpbmddID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgIChvcFthdHRyMSBhcyBzdHJpbmddIGFzIE1hbmdvU2VsZWN0b3IpW3RyYW5zbGF0ZU9wZXJhdG9ycyhvcGVyYXRvcildID1cbiAgICAgICAgY29tcGFyaXNvbjtcbiAgICB9IGVsc2UgaWYgKG9wZXJhdG9yID09PSBPcGVyYXRvci5OT1QpIHtcbiAgICAgIG9wID0gdGhpcy5wYXJzZUNvbmRpdGlvbihhdHRyMSBhcyBDb25kaXRpb24pLnNlbGVjdG9yIGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgICBvcFt0cmFuc2xhdGVPcGVyYXRvcnMoT3BlcmF0b3IuTk9UKV0gPSB7fSBhcyBNYW5nb1NlbGVjdG9yO1xuICAgICAgKG9wW3RyYW5zbGF0ZU9wZXJhdG9ycyhPcGVyYXRvci5OT1QpXSBhcyBNYW5nb1NlbGVjdG9yKVtcbiAgICAgICAgKGF0dHIxIGFzIHVua25vd24gYXMgeyBhdHRyMTogc3RyaW5nIH0pLmF0dHIxXG4gICAgICBdID0gY29tcGFyaXNvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3AxOiBhbnkgPSB0aGlzLnBhcnNlQ29uZGl0aW9uKGF0dHIxIGFzIENvbmRpdGlvbikuc2VsZWN0b3I7XG4gICAgICBjb25zdCBvcDI6IGFueSA9IHRoaXMucGFyc2VDb25kaXRpb24oY29tcGFyaXNvbiBhcyBDb25kaXRpb24pLnNlbGVjdG9yO1xuICAgICAgb3AgPSBtZXJnZSh0cmFuc2xhdGVPcGVyYXRvcnMob3BlcmF0b3IpLCBvcDEsIG9wMikuc2VsZWN0b3I7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc2VsZWN0b3I6IG9wIH07XG4gIH1cblxuICBhc3luYyBTZXF1ZW5jZShvcHRpb25zOiBTZXF1ZW5jZU9wdGlvbnMpOiBQcm9taXNlPFNlcXVlbmNlPiB7XG4gICAgcmV0dXJuIG5ldyBDb3VjaERCU2VxdWVuY2Uob3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1hbmFnZWRNb2RlbHMgPSBBZGFwdGVyLm1vZGVscyh0aGlzLmZsYXZvdXIpO1xuICAgIHJldHVybiB0aGlzLmluZGV4KC4uLm1hbmFnZWRNb2RlbHMpO1xuICB9XG5cbiAgYXN5bmMgaW5kZXg8TSBleHRlbmRzIE1vZGVsPiguLi5tb2RlbHM6IENvbnN0cnVjdG9yPE0+W10pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGluZGV4ZXM6IENyZWF0ZUluZGV4UmVxdWVzdFtdID0gZ2VuZXJhdGVJbmRleGVzKG1vZGVscyk7XG4gICAgZm9yIChjb25zdCBpbmRleCBvZiBpbmRleGVzKSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLm5hdGl2ZS5jcmVhdGVJbmRleChpbmRleCk7XG4gICAgICBjb25zdCB7IHJlc3VsdCwgaWQsIG5hbWUgfSA9IHJlcztcbiAgICAgIGlmIChyZXN1bHQgPT09IFwiZXhpc3RpbmdcIilcbiAgICAgICAgdGhyb3cgbmV3IENvbmZsaWN0RXJyb3IoYEluZGV4IGZvciB0YWJsZSAke25hbWV9IHdpdGggaWQgJHtpZH1gKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1c2VyKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1c2VyOiBEYXRhYmFzZVNlc3Npb25SZXNwb25zZSA9IGF3YWl0IChcbiAgICAgICAgKHRoaXMubmF0aXZlIGFzIGFueSlbQ291Y2hEQktleXMuTkFUSVZFXSBhcyBTZXJ2ZXJTY29wZVxuICAgICAgKS5zZXNzaW9uKCk7XG4gICAgICByZXR1cm4gdXNlci51c2VyQ3R4Lm5hbWU7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmF3PFY+KHJhd0lucHV0OiBNYW5nb1F1ZXJ5LCBwcm9jZXNzID0gdHJ1ZSk6IFByb21pc2U8Vj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZTogTWFuZ29SZXNwb25zZTxWPiA9IGF3YWl0IHRoaXMubmF0aXZlLmZpbmQocmF3SW5wdXQpO1xuICAgICAgaWYgKHByb2Nlc3MpIHJldHVybiByZXNwb25zZS5kb2NzIGFzIFY7XG4gICAgICByZXR1cm4gcmVzcG9uc2UgYXMgVjtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjcmVhdGUoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICByZWNvcmRbQ291Y2hEQktleXMuVEFCTEVdID0gdGFibGVOYW1lO1xuICAgIHJlY29yZFtDb3VjaERCS2V5cy5JRF0gPSB0aGlzLmdlbmVyYXRlSWQodGFibGVOYW1lLCBpZCk7XG4gICAgT2JqZWN0LmFzc2lnbihyZWNvcmQsIG1vZGVsKTtcbiAgICBsZXQgcmVzcG9uc2U6IERvY3VtZW50SW5zZXJ0UmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5uYXRpdmUuaW5zZXJ0KHJlY29yZCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuXG4gICAgaWYgKCFyZXNwb25zZS5vaylcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIGluc2VydCBkb2MgaWQ6ICR7aWR9IGluIHRhYmxlICR7dGFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZGVsLCBQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEEsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiByZXNwb25zZS5yZXYsXG4gICAgfSk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlQWxsKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkczogc3RyaW5nW10gfCBudW1iZXJbXSxcbiAgICBtb2RlbHM6IFJlY29yZDxzdHJpbmcsIGFueT5bXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT5bXT4ge1xuICAgIGlmIChpZHMubGVuZ3RoICE9PSBtb2RlbHMubGVuZ3RoKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJJZHMgYW5kIG1vZGVscyBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoXCIpO1xuXG4gICAgY29uc3QgcmVjb3JkcyA9IGlkcy5tYXAoKGlkLCBjb3VudCkgPT4ge1xuICAgICAgY29uc3QgcmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICByZWNvcmRbQ291Y2hEQktleXMuVEFCTEVdID0gdGFibGVOYW1lO1xuICAgICAgcmVjb3JkW0NvdWNoREJLZXlzLklEXSA9IHRoaXMuZ2VuZXJhdGVJZCh0YWJsZU5hbWUsIGlkKTtcbiAgICAgIE9iamVjdC5hc3NpZ24ocmVjb3JkLCBtb2RlbHNbY291bnRdKTtcbiAgICAgIHJldHVybiByZWNvcmQ7XG4gICAgfSk7XG4gICAgbGV0IHJlc3BvbnNlOiBEb2N1bWVudEJ1bGtSZXNwb25zZVtdO1xuICAgIHRyeSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMubmF0aXZlLmJ1bGsoeyBkb2NzOiByZWNvcmRzIH0pO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgICBpZiAoIXJlc3BvbnNlLmV2ZXJ5KChyKSA9PiAhci5lcnJvcikpIHtcbiAgICAgIGNvbnN0IGVycm9ycyA9IHJlc3BvbnNlLnJlZHVjZSgoYWNjdW06IHN0cmluZ1tdLCBlbCwgaSkgPT4ge1xuICAgICAgICBpZiAoZWwuZXJyb3IpXG4gICAgICAgICAgYWNjdW0ucHVzaChcbiAgICAgICAgICAgIGBlbCAke2l9OiAke2VsLmVycm9yfSR7ZWwucmVhc29uID8gYCAtICR7ZWwucmVhc29ufWAgOiBcIlwifWBcbiAgICAgICAgICApO1xuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LCBbXSk7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihlcnJvcnMuam9pbihcIlxcblwiKSk7XG4gICAgfVxuXG4gICAgbW9kZWxzLmZvckVhY2goKG0sIGkpID0+IHtcbiAgICAgIFJlcG9zaXRvcnkuc2V0TWV0YWRhdGEobSBhcyBhbnksIHJlc3BvbnNlW2ldLnJldik7XG4gICAgICByZXR1cm4gbTtcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWxzO1xuICB9XG5cbiAgYXN5bmMgcmVhZChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IF9pZCA9IHRoaXMuZ2VuZXJhdGVJZCh0YWJsZU5hbWUsIGlkKTtcbiAgICBsZXQgcmVjb3JkOiBEb2N1bWVudEdldFJlc3BvbnNlO1xuICAgIHRyeSB7XG4gICAgICByZWNvcmQgPSBhd2FpdCB0aGlzLm5hdGl2ZS5nZXQoX2lkKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlY29yZCwgUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiByZWNvcmQuX3JldixcbiAgICB9KTtcbiAgICByZXR1cm4gcmVjb3JkO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgcmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgcmVjb3JkW0NvdWNoREJLZXlzLlRBQkxFXSA9IHRhYmxlTmFtZTtcbiAgICByZWNvcmRbQ291Y2hEQktleXMuSURdID0gdGhpcy5nZW5lcmF0ZUlkKHRhYmxlTmFtZSwgaWQpO1xuICAgIGNvbnN0IHJldiA9IG1vZGVsW1BlcnNpc3RlbmNlS2V5cy5NRVRBREFUQV07XG4gICAgaWYgKCFyZXYpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYE5vIHJldmlzaW9uIG51bWJlciBmb3VuZCBmb3IgcmVjb3JkIHdpdGggaWQgJHtpZH1gXG4gICAgICApO1xuICAgIE9iamVjdC5hc3NpZ24ocmVjb3JkLCBtb2RlbCk7XG4gICAgcmVjb3JkW0NvdWNoREJLZXlzLlJFVl0gPSByZXY7XG4gICAgbGV0IHJlc3BvbnNlOiBEb2N1bWVudEluc2VydFJlc3BvbnNlO1xuICAgIHRyeSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMubmF0aXZlLmluc2VydChyZWNvcmQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cblxuICAgIGlmICghcmVzcG9uc2Uub2spXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYEZhaWxlZCB0byB1cGRhdGUgZG9jIGlkOiAke2lkfSBpbiB0YWJsZSAke3RhYmxlTmFtZX1gXG4gICAgICApO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2RlbCwgUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogcmVzcG9uc2UucmV2LFxuICAgIH0pO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IF9pZCA9IHRoaXMuZ2VuZXJhdGVJZCh0YWJsZU5hbWUsIGlkKTtcbiAgICBsZXQgcmVjb3JkOiBEb2N1bWVudEdldFJlc3BvbnNlO1xuICAgIHRyeSB7XG4gICAgICByZWNvcmQgPSBhd2FpdCB0aGlzLm5hdGl2ZS5nZXQoX2lkKTtcbiAgICAgIGF3YWl0IHRoaXMubmF0aXZlLmRlc3Ryb3koX2lkLCByZWNvcmQuX3Jldik7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZWNvcmQsIFBlcnNpc3RlbmNlS2V5cy5NRVRBREFUQSwge1xuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHJlY29yZC5fcmV2LFxuICAgIH0pO1xuICAgIHJldHVybiByZWNvcmQ7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSWQodGFibGVOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICByZXR1cm4gW3RhYmxlTmFtZSwgaWRdLmpvaW4oQ291Y2hEQktleXMuU0VQQVJBVE9SKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycjogRXJyb3IgfCBzdHJpbmcsIHJlYXNvbj86IHN0cmluZyk6IEJhc2VFcnJvciB7XG4gICAgcmV0dXJuIENvdWNoREJBZGFwdGVyLnBhcnNlRXJyb3IoZXJyLCByZWFzb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzUmVzZXJ2ZWQoYXR0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhYXR0ci5tYXRjaChyZXNlcnZlZEF0dHJpYnV0ZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXRpYyBwYXJzZUVycm9yKGVycjogRXJyb3IgfCBzdHJpbmcsIHJlYXNvbj86IHN0cmluZyk6IEJhc2VFcnJvciB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEJhc2VFcnJvcikgcmV0dXJuIGVyciBhcyBhbnk7XG4gICAgbGV0IGNvZGU6IHN0cmluZyA9IFwiXCI7XG4gICAgaWYgKHR5cGVvZiBlcnIgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGNvZGUgPSBlcnI7XG4gICAgICBpZiAoY29kZS5tYXRjaCgvYWxyZWFkeSBleGlzdHx1cGRhdGUgY29uZmxpY3QvZykpXG4gICAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihjb2RlKTtcbiAgICAgIGlmIChjb2RlLm1hdGNoKC9taXNzaW5nfGRlbGV0ZWQvZykpIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihjb2RlKTtcbiAgICB9IGVsc2UgaWYgKChlcnIgYXMgYW55KS5jb2RlKSB7XG4gICAgICBjb2RlID0gKGVyciBhcyBhbnkpLmNvZGU7XG4gICAgICByZWFzb24gPSByZWFzb24gfHwgZXJyLm1lc3NhZ2U7XG4gICAgfSBlbHNlIGlmICgoZXJyIGFzIGFueSkuc3RhdHVzQ29kZSkge1xuICAgICAgY29kZSA9IChlcnIgYXMgYW55KS5zdGF0dXNDb2RlO1xuICAgICAgcmVhc29uID0gcmVhc29uIHx8IGVyci5tZXNzYWdlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb2RlID0gZXJyLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgc3dpdGNoIChjb2RlLnRvU3RyaW5nKCkpIHtcbiAgICAgIGNhc2UgXCI0MDFcIjpcbiAgICAgIGNhc2UgXCI0MTJcIjpcbiAgICAgIGNhc2UgXCI0MDlcIjpcbiAgICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKHJlYXNvbiBhcyBzdHJpbmcpO1xuICAgICAgY2FzZSBcIjQwNFwiOlxuICAgICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IocmVhc29uIGFzIHN0cmluZyk7XG4gICAgICBjYXNlIFwiNDAwXCI6XG4gICAgICAgIGlmIChjb2RlLnRvU3RyaW5nKCkubWF0Y2goL05vXFxzaW5kZXhcXHNleGlzdHMvZykpXG4gICAgICAgICAgcmV0dXJuIG5ldyBJbmRleEVycm9yKGVycik7XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGNvZGUudG9TdHJpbmcoKS5tYXRjaCgvRUNPTk5SRUZVU0VEL2cpKVxuICAgICAgICAgIHJldHVybiBuZXcgQ29ubmVjdGlvbkVycm9yKGVycik7XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBjb25uZWN0KFxuICAgIHVzZXI6IHN0cmluZyxcbiAgICBwYXNzOiBzdHJpbmcsXG4gICAgaG9zdCA9IFwibG9jYWxob3N0OjU5ODRcIixcbiAgICBwcm90b2NvbDogXCJodHRwXCIgfCBcImh0dHBzXCIgPSBcImh0dHBcIlxuICApOiBTZXJ2ZXJTY29wZSB7XG4gICAgcmV0dXJuIE5hbm8oYCR7cHJvdG9jb2x9Oi8vJHt1c2VyfToke3Bhc3N9QCR7aG9zdH1gKTtcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBjcmVhdGVEYXRhYmFzZShjb246IFNlcnZlclNjb3BlLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzdWx0OiBEYXRhYmFzZUNyZWF0ZVJlc3BvbnNlO1xuICAgIHRyeSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCBjb24uZGIuY3JlYXRlKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgICBjb25zdCB7IG9rLCBlcnJvciwgcmVhc29uIH0gPSByZXN1bHQ7XG4gICAgaWYgKCFvaykgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIHN0cmluZywgcmVhc29uKTtcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBkZWxldGVEYXRhYmFzZShjb246IFNlcnZlclNjb3BlLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHRyeSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCBjb24uZGIuZGVzdHJveShuYW1lKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gICAgY29uc3QgeyBvayB9ID0gcmVzdWx0O1xuICAgIGlmICghb2spXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSBkYXRhYmFzZSB3aXRoIG5hbWUgJHtuYW1lfWApO1xuICB9XG5cbiAgc3RhdGljIGFzeW5jIGNyZWF0ZVVzZXIoXG4gICAgY29uOiBTZXJ2ZXJTY29wZSxcbiAgICBkYk5hbWU6IHN0cmluZyxcbiAgICB1c2VyOiBzdHJpbmcsXG4gICAgcGFzczogc3RyaW5nLFxuICAgIHJvbGVzOiBzdHJpbmdbXSA9IFtcInJlYWRlclwiLCBcIndyaXRlclwiXVxuICApIHtcbiAgICBjb25zdCB1c2VycyA9IGF3YWl0IGNvbi5kYi51c2UoXCJfdXNlcnNcIik7XG4gICAgY29uc3QgdXNyID0ge1xuICAgICAgX2lkOiBcIm9yZy5jb3VjaGRiLnVzZXI6XCIgKyB1c2VyLFxuICAgICAgbmFtZTogdXNlcixcbiAgICAgIHBhc3N3b3JkOiBwYXNzLFxuICAgICAgcm9sZXM6IHJvbGVzLFxuICAgICAgdHlwZTogXCJ1c2VyXCIsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3JlYXRlZDogRG9jdW1lbnRJbnNlcnRSZXNwb25zZSA9IGF3YWl0IHVzZXJzLmluc2VydChcbiAgICAgICAgdXNyIGFzIE1heWJlRG9jdW1lbnRcbiAgICAgICk7XG4gICAgICBjb25zdCB7IG9rIH0gPSBjcmVhdGVkO1xuICAgICAgaWYgKCFvaykgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYEZhaWxlZCB0byBjcmVhdGUgdXNlciAke3VzZXJ9YCk7XG4gICAgICBjb25zdCBzZWN1cml0eTogYW55ID0gYXdhaXQgY29uLnJlcXVlc3Qoe1xuICAgICAgICBkYjogZGJOYW1lLFxuICAgICAgICBtZXRob2Q6IFwicHV0XCIsXG4gICAgICAgIHBhdGg6IFwiX3NlY3VyaXR5XCIsXG4gICAgICAgIC8vIGhlYWRlcnM6IHtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gfSxcbiAgICAgICAgYm9keToge1xuICAgICAgICAgIGFkbWluczoge1xuICAgICAgICAgICAgbmFtZXM6IFt1c2VyXSxcbiAgICAgICAgICAgIHJvbGVzOiBbXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1lbWJlcnM6IHtcbiAgICAgICAgICAgIG5hbWVzOiBbdXNlcl0sXG4gICAgICAgICAgICByb2xlczogcm9sZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgaWYgKCFzZWN1cml0eS5vaylcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYEZhaWxlZCB0byBhdXRob3JpemUgdXNlciAke3VzZXJ9IHRvIGRiICR7ZGJOYW1lfWBcbiAgICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgZGVsZXRlVXNlcihjb246IFNlcnZlclNjb3BlLCBkYk5hbWU6IHN0cmluZywgdXNlcjogc3RyaW5nKSB7XG4gICAgY29uc3QgdXNlcnMgPSBhd2FpdCBjb24uZGIudXNlKFwiX3VzZXJzXCIpO1xuICAgIGNvbnN0IGlkID0gXCJvcmcuY291Y2hkYi51c2VyOlwiICsgdXNlcjtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXNyID0gYXdhaXQgdXNlcnMuZ2V0KGlkKTtcbiAgICAgIGF3YWl0IHVzZXJzLmRlc3Ryb3koaWQsIHVzci5fcmV2KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
320
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFLO2dCQUNSLE9BQU8sSUFBSSxhQUFhLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO1lBQzdDLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksYUFBYSxDQUFDLE1BQWdCLENBQUMsQ0FBQztZQUM3QyxLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO29CQUM3QyxPQUFPLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixPQUFPLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDO2dCQUNFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7b0JBQ3hDLE9BQU8sSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsImZpbGUiOiJhZGFwdGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWRhcHRlcixcbiAgU2VxdWVuY2UsXG4gIFNlcXVlbmNlT3B0aW9ucyxcbiAgUGVyc2lzdGVuY2VLZXlzLFxuICBPcGVyYXRvcixcbiAgR3JvdXBPcGVyYXRvcixcbiAgU3RhdGVtZW50LFxuICBRdWVyeSxcbiAgQ2xhdXNlRmFjdG9yeSxcbiAgQ29uZGl0aW9uLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIFJlcG9zaXRvcnksXG4gIFVzZXIsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQ291Y2hEQktleXMsIHJlc2VydmVkQXR0cmlidXRlcyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQmFzZUVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7IENvdWNoREJTdGF0ZW1lbnQgfSBmcm9tIFwiLi9xdWVyeS9TdGF0ZW1lbnRcIjtcbmltcG9ydCB7IEZhY3RvcnkgfSBmcm9tIFwiLi9xdWVyeVwiO1xuaW1wb3J0IHsgdHJhbnNsYXRlT3BlcmF0b3JzIH0gZnJvbSBcIi4vcXVlcnkvdHJhbnNsYXRlXCI7XG5pbXBvcnQgeyBDb3VjaERCU2VxdWVuY2UgfSBmcm9tIFwiLi9zZXF1ZW5jZXMvU2VxdWVuY2VcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEluZGV4RXJyb3IgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IGdlbmVyYXRlSW5kZXhlcyB9IGZyb20gXCIuL2luZGV4ZXMvZ2VuZXJhdG9yXCI7XG5pbXBvcnQge1xuICBDcmVhdGVJbmRleFJlcXVlc3QsXG4gIERvY3VtZW50QnVsa1Jlc3BvbnNlLFxuICBEb2N1bWVudEdldFJlc3BvbnNlLFxuICBEb2N1bWVudEluc2VydFJlc3BvbnNlLFxuICBEb2N1bWVudFNjb3BlLFxuICBNYW5nb09wZXJhdG9yLFxuICBNYW5nb1F1ZXJ5LFxuICBNYW5nb1Jlc3BvbnNlLFxuICBNYW5nb1NlbGVjdG9yLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ291Y2hEQkFkYXB0ZXIgZXh0ZW5kcyBBZGFwdGVyPFxuICBEb2N1bWVudFNjb3BlPGFueT4sXG4gIE1hbmdvUXVlcnlcbj4ge1xuICBwcm90ZWN0ZWQgZmFjdG9yeT86IEZhY3Rvcnk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHNjb3BlOiBEb2N1bWVudFNjb3BlPGFueT4sIGZsYXZvdXI6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBmbGF2b3VyKTtcbiAgfVxuXG4gIGdldCBDbGF1c2VzKCk6IENsYXVzZUZhY3Rvcnk8RG9jdW1lbnRTY29wZTxhbnk+LCBNYW5nb1F1ZXJ5PiB7XG4gICAgaWYgKCF0aGlzLmZhY3RvcnkpIHRoaXMuZmFjdG9yeSA9IG5ldyBGYWN0b3J5KHRoaXMpO1xuICAgIHJldHVybiB0aGlzLmZhY3Rvcnk7XG4gIH1cblxuICBRdWVyeTxNIGV4dGVuZHMgTW9kZWw+KCk6IFF1ZXJ5PE1hbmdvUXVlcnksIE0+IHtcbiAgICByZXR1cm4gc3VwZXIuUXVlcnkoKTtcbiAgfVxuXG4gIGdldCBTdGF0ZW1lbnQoKTogU3RhdGVtZW50PE1hbmdvUXVlcnk+IHtcbiAgICByZXR1cm4gbmV3IENvdWNoREJTdGF0ZW1lbnQodGhpcyk7XG4gIH1cblxuICBwYXJzZUNvbmRpdGlvbihjb25kaXRpb246IENvbmRpdGlvbik6IE1hbmdvUXVlcnkge1xuICAgIGZ1bmN0aW9uIG1lcmdlKFxuICAgICAgb3A6IE1hbmdvT3BlcmF0b3IsXG4gICAgICBvYmoxOiBNYW5nb1NlbGVjdG9yLFxuICAgICAgb2JqMjogTWFuZ29TZWxlY3RvclxuICAgICk6IE1hbmdvUXVlcnkge1xuICAgICAgY29uc3QgcmVzdWx0OiBNYW5nb1F1ZXJ5ID0geyBzZWxlY3Rvcjoge30gYXMgTWFuZ29TZWxlY3RvciB9O1xuICAgICAgcmVzdWx0LnNlbGVjdG9yW29wXSA9IFtvYmoxLCBvYmoyXTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgY29uc3QgeyBhdHRyMSwgb3BlcmF0b3IsIGNvbXBhcmlzb24gfSA9IGNvbmRpdGlvbiBhcyB1bmtub3duIGFzIHtcbiAgICAgIGF0dHIxOiBzdHJpbmcgfCBDb25kaXRpb247XG4gICAgICBvcGVyYXRvcjogT3BlcmF0b3IgfCBHcm91cE9wZXJhdG9yO1xuICAgICAgY29tcGFyaXNvbjogYW55O1xuICAgIH07XG5cbiAgICBsZXQgb3A6IE1hbmdvU2VsZWN0b3IgPSB7fSBhcyBNYW5nb1NlbGVjdG9yO1xuICAgIGlmIChcbiAgICAgIFtHcm91cE9wZXJhdG9yLkFORCwgR3JvdXBPcGVyYXRvci5PUiwgT3BlcmF0b3IuTk9UXS5pbmRleE9mKFxuICAgICAgICBvcGVyYXRvciBhcyBHcm91cE9wZXJhdG9yXG4gICAgICApID09PSAtMVxuICAgICkge1xuICAgICAgb3BbYXR0cjEgYXMgc3RyaW5nXSA9IHt9IGFzIE1hbmdvU2VsZWN0b3I7XG4gICAgICAob3BbYXR0cjEgYXMgc3RyaW5nXSBhcyBNYW5nb1NlbGVjdG9yKVt0cmFuc2xhdGVPcGVyYXRvcnMob3BlcmF0b3IpXSA9XG4gICAgICAgIGNvbXBhcmlzb247XG4gICAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gT3BlcmF0b3IuTk9UKSB7XG4gICAgICBvcCA9IHRoaXMucGFyc2VDb25kaXRpb24oYXR0cjEgYXMgQ29uZGl0aW9uKS5zZWxlY3RvciBhcyBNYW5nb1NlbGVjdG9yO1xuICAgICAgb3BbdHJhbnNsYXRlT3BlcmF0b3JzKE9wZXJhdG9yLk5PVCldID0ge30gYXMgTWFuZ29TZWxlY3RvcjtcbiAgICAgIChvcFt0cmFuc2xhdGVPcGVyYXRvcnMoT3BlcmF0b3IuTk9UKV0gYXMgTWFuZ29TZWxlY3RvcilbXG4gICAgICAgIChhdHRyMSBhcyB1bmtub3duIGFzIHsgYXR0cjE6IHN0cmluZyB9KS5hdHRyMVxuICAgICAgXSA9IGNvbXBhcmlzb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG9wMTogYW55ID0gdGhpcy5wYXJzZUNvbmRpdGlvbihhdHRyMSBhcyBDb25kaXRpb24pLnNlbGVjdG9yO1xuICAgICAgY29uc3Qgb3AyOiBhbnkgPSB0aGlzLnBhcnNlQ29uZGl0aW9uKGNvbXBhcmlzb24gYXMgQ29uZGl0aW9uKS5zZWxlY3RvcjtcbiAgICAgIG9wID0gbWVyZ2UodHJhbnNsYXRlT3BlcmF0b3JzKG9wZXJhdG9yKSwgb3AxLCBvcDIpLnNlbGVjdG9yO1xuICAgIH1cblxuICAgIHJldHVybiB7IHNlbGVjdG9yOiBvcCB9O1xuICB9XG5cbiAgYXN5bmMgU2VxdWVuY2Uob3B0aW9uczogU2VxdWVuY2VPcHRpb25zKTogUHJvbWlzZTxTZXF1ZW5jZT4ge1xuICAgIHJldHVybiBuZXcgQ291Y2hEQlNlcXVlbmNlKG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtYW5hZ2VkTW9kZWxzID0gQWRhcHRlci5tb2RlbHModGhpcy5mbGF2b3VyKTtcbiAgICByZXR1cm4gdGhpcy5pbmRleCguLi5tYW5hZ2VkTW9kZWxzKTtcbiAgfVxuXG4gIGFzeW5jIGluZGV4PE0gZXh0ZW5kcyBNb2RlbD4oLi4ubW9kZWxzOiBDb25zdHJ1Y3RvcjxNPltdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5kZXhlczogQ3JlYXRlSW5kZXhSZXF1ZXN0W10gPSBnZW5lcmF0ZUluZGV4ZXMobW9kZWxzKTtcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGluZGV4ZXMpIHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubmF0aXZlLmNyZWF0ZUluZGV4KGluZGV4KTtcbiAgICAgIGNvbnN0IHsgcmVzdWx0LCBpZCwgbmFtZSB9ID0gcmVzO1xuICAgICAgaWYgKHJlc3VsdCA9PT0gXCJleGlzdGluZ1wiKVxuICAgICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihgSW5kZXggZm9yIHRhYmxlICR7bmFtZX0gd2l0aCBpZCAke2lkfWApO1xuICAgIH1cbiAgfVxuXG4gIGFic3RyYWN0IHVzZXIoKTogUHJvbWlzZTxVc2VyPjtcblxuICBhc3luYyByYXc8Vj4ocmF3SW5wdXQ6IE1hbmdvUXVlcnksIHByb2Nlc3MgPSB0cnVlKTogUHJvbWlzZTxWPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBNYW5nb1Jlc3BvbnNlPFY+ID0gYXdhaXQgdGhpcy5uYXRpdmUuZmluZChyYXdJbnB1dCk7XG4gICAgICBpZiAocHJvY2VzcykgcmV0dXJuIHJlc3BvbnNlLmRvY3MgYXMgVjtcbiAgICAgIHJldHVybiByZXNwb25zZSBhcyBWO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZShcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIHJlY29yZFtDb3VjaERCS2V5cy5UQUJMRV0gPSB0YWJsZU5hbWU7XG4gICAgcmVjb3JkW0NvdWNoREJLZXlzLklEXSA9IHRoaXMuZ2VuZXJhdGVJZCh0YWJsZU5hbWUsIGlkKTtcbiAgICBPYmplY3QuYXNzaWduKHJlY29yZCwgbW9kZWwpO1xuICAgIGxldCByZXNwb25zZTogRG9jdW1lbnRJbnNlcnRSZXNwb25zZTtcbiAgICB0cnkge1xuICAgICAgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLm5hdGl2ZS5pbnNlcnQocmVjb3JkKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG5cbiAgICBpZiAoIXJlc3BvbnNlLm9rKVxuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gaW5zZXJ0IGRvYyBpZDogJHtpZH0gaW4gdGFibGUgJHt0YWJsZU5hbWV9YFxuICAgICAgKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kZWwsIFBlcnNpc3RlbmNlS2V5cy5NRVRBREFUQSwge1xuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHJlc3BvbnNlLnJldixcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBhc3luYyBjcmVhdGVBbGwoXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXG4gICAgaWRzOiBzdHJpbmdbXSB8IG51bWJlcltdLFxuICAgIG1vZGVsczogUmVjb3JkPHN0cmluZywgYW55PltdXG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55PltdPiB7XG4gICAgaWYgKGlkcy5sZW5ndGggIT09IG1vZGVscy5sZW5ndGgpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIklkcyBhbmQgbW9kZWxzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGhcIik7XG5cbiAgICBjb25zdCByZWNvcmRzID0gaWRzLm1hcCgoaWQsIGNvdW50KSA9PiB7XG4gICAgICBjb25zdCByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIHJlY29yZFtDb3VjaERCS2V5cy5UQUJMRV0gPSB0YWJsZU5hbWU7XG4gICAgICByZWNvcmRbQ291Y2hEQktleXMuSURdID0gdGhpcy5nZW5lcmF0ZUlkKHRhYmxlTmFtZSwgaWQpO1xuICAgICAgT2JqZWN0LmFzc2lnbihyZWNvcmQsIG1vZGVsc1tjb3VudF0pO1xuICAgICAgcmV0dXJuIHJlY29yZDtcbiAgICB9KTtcbiAgICBsZXQgcmVzcG9uc2U6IERvY3VtZW50QnVsa1Jlc3BvbnNlW107XG4gICAgdHJ5IHtcbiAgICAgIHJlc3BvbnNlID0gYXdhaXQgdGhpcy5uYXRpdmUuYnVsayh7IGRvY3M6IHJlY29yZHMgfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICAgIGlmICghcmVzcG9uc2UuZXZlcnkoKHIpID0+ICFyLmVycm9yKSkge1xuICAgICAgY29uc3QgZXJyb3JzID0gcmVzcG9uc2UucmVkdWNlKChhY2N1bTogc3RyaW5nW10sIGVsLCBpKSA9PiB7XG4gICAgICAgIGlmIChlbC5lcnJvcilcbiAgICAgICAgICBhY2N1bS5wdXNoKFxuICAgICAgICAgICAgYGVsICR7aX06ICR7ZWwuZXJyb3J9JHtlbC5yZWFzb24gPyBgIC0gJHtlbC5yZWFzb259YCA6IFwiXCJ9YFxuICAgICAgICAgICk7XG4gICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgIH0sIFtdKTtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGVycm9ycy5qb2luKFwiXFxuXCIpKTtcbiAgICB9XG5cbiAgICBtb2RlbHMuZm9yRWFjaCgobSwgaSkgPT4ge1xuICAgICAgUmVwb3NpdG9yeS5zZXRNZXRhZGF0YShtIGFzIGFueSwgcmVzcG9uc2VbaV0ucmV2KTtcbiAgICAgIHJldHVybiBtO1xuICAgIH0pO1xuICAgIHJldHVybiBtb2RlbHM7XG4gIH1cblxuICBhc3luYyByZWFkKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgX2lkID0gdGhpcy5nZW5lcmF0ZUlkKHRhYmxlTmFtZSwgaWQpO1xuICAgIGxldCByZWNvcmQ6IERvY3VtZW50R2V0UmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlY29yZCA9IGF3YWl0IHRoaXMubmF0aXZlLmdldChfaWQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVjb3JkLCBQZXJzaXN0ZW5jZUtleXMuTUVUQURBVEEsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHJlY29yZC5fcmV2LFxuICAgIH0pO1xuICAgIHJldHVybiByZWNvcmQ7XG4gIH1cblxuICBhc3luYyByZWFkQWxsKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkczogKHN0cmluZyB8IG51bWJlciB8IGJpZ2ludClbXVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT5bXT4ge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCB0aGlzLm5hdGl2ZS5mZXRjaChcbiAgICAgIHsga2V5czogaWRzLm1hcCgoaWQpID0+IHRoaXMuZ2VuZXJhdGVJZCh0YWJsZU5hbWUsIGlkIGFzIGFueSkpIH0sXG4gICAgICB7fVxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdHMucm93cy5tYXAoKHIpID0+IHtcbiAgICAgIGlmICgociBhcyBhbnkpLmVycm9yKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcigociBhcyBhbnkpLmVycm9yKTtcbiAgICAgIGlmICgociBhcyBhbnkpLmRvYykge1xuICAgICAgICBjb25zdCByZXMgPSBPYmplY3QuYXNzaWduKHt9LCAociBhcyBhbnkpLmRvYyk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXMsIFBlcnNpc3RlbmNlS2V5cy5NRVRBREFUQSwge1xuICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICB2YWx1ZTogKHIgYXMgYW55KS5kb2NbQ291Y2hEQktleXMuUkVWXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIlNob3VsZCBiZSBpbXBvc3NpYmxlXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbW9kZWw6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgcmVjb3JkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgcmVjb3JkW0NvdWNoREJLZXlzLlRBQkxFXSA9IHRhYmxlTmFtZTtcbiAgICByZWNvcmRbQ291Y2hEQktleXMuSURdID0gdGhpcy5nZW5lcmF0ZUlkKHRhYmxlTmFtZSwgaWQpO1xuICAgIGNvbnN0IHJldiA9IG1vZGVsW1BlcnNpc3RlbmNlS2V5cy5NRVRBREFUQV07XG4gICAgaWYgKCFyZXYpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYE5vIHJldmlzaW9uIG51bWJlciBmb3VuZCBmb3IgcmVjb3JkIHdpdGggaWQgJHtpZH1gXG4gICAgICApO1xuICAgIE9iamVjdC5hc3NpZ24ocmVjb3JkLCBtb2RlbCk7XG4gICAgcmVjb3JkW0NvdWNoREJLZXlzLlJFVl0gPSByZXY7XG4gICAgbGV0IHJlc3BvbnNlOiBEb2N1bWVudEluc2VydFJlc3BvbnNlO1xuICAgIHRyeSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMubmF0aXZlLmluc2VydChyZWNvcmQpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cblxuICAgIGlmICghcmVzcG9uc2Uub2spXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYEZhaWxlZCB0byB1cGRhdGUgZG9jIGlkOiAke2lkfSBpbiB0YWJsZSAke3RhYmxlTmFtZX1gXG4gICAgICApO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2RlbCwgUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogcmVzcG9uc2UucmV2LFxuICAgIH0pO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZUFsbChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZHM6IHN0cmluZ1tdIHwgbnVtYmVyW10sXG4gICAgbW9kZWxzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+W11cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+W10+IHtcbiAgICBpZiAoaWRzLmxlbmd0aCAhPT0gbW9kZWxzLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiSWRzIGFuZCBtb2RlbHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aFwiKTtcblxuICAgIGNvbnN0IHJlY29yZHMgPSBpZHMubWFwKChpZCwgY291bnQpID0+IHtcbiAgICAgIGNvbnN0IHJlY29yZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgcmVjb3JkW0NvdWNoREJLZXlzLlRBQkxFXSA9IHRhYmxlTmFtZTtcbiAgICAgIHJlY29yZFtDb3VjaERCS2V5cy5JRF0gPSB0aGlzLmdlbmVyYXRlSWQodGFibGVOYW1lLCBpZCk7XG4gICAgICBjb25zdCByZXYgPSBtb2RlbHNbY291bnRdW1BlcnNpc3RlbmNlS2V5cy5NRVRBREFUQV07XG4gICAgICBpZiAoIXJldilcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYE5vIHJldmlzaW9uIG51bWJlciBmb3VuZCBmb3IgcmVjb3JkIHdpdGggaWQgJHtpZH1gXG4gICAgICAgICk7XG4gICAgICBPYmplY3QuYXNzaWduKHJlY29yZCwgbW9kZWxzW2NvdW50XSk7XG4gICAgICByZWNvcmRbQ291Y2hEQktleXMuUkVWXSA9IHJldjtcbiAgICAgIHJldHVybiByZWNvcmQ7XG4gICAgfSk7XG4gICAgbGV0IHJlc3BvbnNlOiBEb2N1bWVudEJ1bGtSZXNwb25zZVtdO1xuICAgIHRyeSB7XG4gICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMubmF0aXZlLmJ1bGsoeyBkb2NzOiByZWNvcmRzIH0pO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgICBpZiAoIXJlc3BvbnNlLmV2ZXJ5KChyKSA9PiAhci5lcnJvcikpIHtcbiAgICAgIGNvbnN0IGVycm9ycyA9IHJlc3BvbnNlLnJlZHVjZSgoYWNjdW06IHN0cmluZ1tdLCBlbCwgaSkgPT4ge1xuICAgICAgICBpZiAoZWwuZXJyb3IpXG4gICAgICAgICAgYWNjdW0ucHVzaChcbiAgICAgICAgICAgIGBlbCAke2l9OiAke2VsLmVycm9yfSR7ZWwucmVhc29uID8gYCAtICR7ZWwucmVhc29ufWAgOiBcIlwifWBcbiAgICAgICAgICApO1xuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LCBbXSk7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihlcnJvcnMuam9pbihcIlxcblwiKSk7XG4gICAgfVxuXG4gICAgbW9kZWxzLmZvckVhY2goKG0sIGkpID0+IHtcbiAgICAgIFJlcG9zaXRvcnkuc2V0TWV0YWRhdGEobSBhcyBhbnksIHJlc3BvbnNlW2ldLnJldik7XG4gICAgICByZXR1cm4gbTtcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWxzO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgX2lkID0gdGhpcy5nZW5lcmF0ZUlkKHRhYmxlTmFtZSwgaWQpO1xuICAgIGxldCByZWNvcmQ6IERvY3VtZW50R2V0UmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlY29yZCA9IGF3YWl0IHRoaXMubmF0aXZlLmdldChfaWQpO1xuICAgICAgYXdhaXQgdGhpcy5uYXRpdmUuZGVzdHJveShfaWQsIHJlY29yZC5fcmV2KTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlY29yZCwgUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogcmVjb3JkLl9yZXYsXG4gICAgfSk7XG4gICAgcmV0dXJuIHJlY29yZDtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUFsbChcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcbiAgICBpZHM6IChzdHJpbmcgfCBudW1iZXIgfCBiaWdpbnQpW11cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+W10+IHtcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgdGhpcy5uYXRpdmUuZmV0Y2goXG4gICAgICB7IGtleXM6IGlkcy5tYXAoKGlkKSA9PiB0aGlzLmdlbmVyYXRlSWQodGFibGVOYW1lLCBpZCBhcyBhbnkpKSB9LFxuICAgICAge31cbiAgICApO1xuICAgIGNvbnN0IGRlbGV0aW9uOiBEb2N1bWVudEJ1bGtSZXNwb25zZVtdID0gYXdhaXQgdGhpcy5uYXRpdmUuYnVsayh7XG4gICAgICBkb2NzOiByZXN1bHRzLnJvd3MubWFwKChyKSA9PiB7XG4gICAgICAgIChyIGFzIGFueSlbQ291Y2hEQktleXMuREVMRVRFRF0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gcjtcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIGRlbGV0aW9uLmZvckVhY2goKGQ6IERvY3VtZW50QnVsa1Jlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAoZC5lcnJvcikgY29uc29sZS5lcnJvcihkLmVycm9yKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0cy5yb3dzLm1hcCgocikgPT4ge1xuICAgICAgaWYgKChyIGFzIGFueSkuZXJyb3IpIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKChyIGFzIGFueSkuZXJyb3IpO1xuICAgICAgaWYgKChyIGFzIGFueSkuZG9jKSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IE9iamVjdC5hc3NpZ24oe30sIChyIGFzIGFueSkuZG9jKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcywgUGVyc2lzdGVuY2VLZXlzLk1FVEFEQVRBLCB7XG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgIHZhbHVlOiAociBhcyBhbnkpLmRvY1tDb3VjaERCS2V5cy5SRVZdLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiU2hvdWxkIGJlIGltcG9zc2libGVcIik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSWQodGFibGVOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICByZXR1cm4gW3RhYmxlTmFtZSwgaWRdLmpvaW4oQ291Y2hEQktleXMuU0VQQVJBVE9SKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycjogRXJyb3IgfCBzdHJpbmcsIHJlYXNvbj86IHN0cmluZyk6IEJhc2VFcnJvciB7XG4gICAgcmV0dXJuIENvdWNoREJBZGFwdGVyLnBhcnNlRXJyb3IoZXJyLCByZWFzb24pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzUmVzZXJ2ZWQoYXR0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhYXR0ci5tYXRjaChyZXNlcnZlZEF0dHJpYnV0ZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0YXRpYyBwYXJzZUVycm9yKGVycjogRXJyb3IgfCBzdHJpbmcsIHJlYXNvbj86IHN0cmluZyk6IEJhc2VFcnJvciB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEJhc2VFcnJvcikgcmV0dXJuIGVyciBhcyBhbnk7XG4gICAgbGV0IGNvZGU6IHN0cmluZyA9IFwiXCI7XG4gICAgaWYgKHR5cGVvZiBlcnIgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGNvZGUgPSBlcnI7XG4gICAgICBpZiAoY29kZS5tYXRjaCgvYWxyZWFkeSBleGlzdHx1cGRhdGUgY29uZmxpY3QvZykpXG4gICAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihjb2RlKTtcbiAgICAgIGlmIChjb2RlLm1hdGNoKC9taXNzaW5nfGRlbGV0ZWQvZykpIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihjb2RlKTtcbiAgICB9IGVsc2UgaWYgKChlcnIgYXMgYW55KS5jb2RlKSB7XG4gICAgICBjb2RlID0gKGVyciBhcyBhbnkpLmNvZGU7XG4gICAgICByZWFzb24gPSByZWFzb24gfHwgZXJyLm1lc3NhZ2U7XG4gICAgfSBlbHNlIGlmICgoZXJyIGFzIGFueSkuc3RhdHVzQ29kZSkge1xuICAgICAgY29kZSA9IChlcnIgYXMgYW55KS5zdGF0dXNDb2RlO1xuICAgICAgcmVhc29uID0gcmVhc29uIHx8IGVyci5tZXNzYWdlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb2RlID0gZXJyLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgc3dpdGNoIChjb2RlLnRvU3RyaW5nKCkpIHtcbiAgICAgIGNhc2UgXCI0MDFcIjpcbiAgICAgIGNhc2UgXCI0MTJcIjpcbiAgICAgIGNhc2UgXCI0MDlcIjpcbiAgICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKHJlYXNvbiBhcyBzdHJpbmcpO1xuICAgICAgY2FzZSBcIjQwNFwiOlxuICAgICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IocmVhc29uIGFzIHN0cmluZyk7XG4gICAgICBjYXNlIFwiNDAwXCI6XG4gICAgICAgIGlmIChjb2RlLnRvU3RyaW5nKCkubWF0Y2goL05vXFxzaW5kZXhcXHNleGlzdHMvZykpXG4gICAgICAgICAgcmV0dXJuIG5ldyBJbmRleEVycm9yKGVycik7XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGNvZGUudG9TdHJpbmcoKS5tYXRjaCgvRUNPTk5SRUZVU0VEL2cpKVxuICAgICAgICAgIHJldHVybiBuZXcgQ29ubmVjdGlvbkVycm9yKGVycik7XG4gICAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -3,6 +3,7 @@ export declare const CouchDBKeys: {
3
3
  SEPARATOR: string;
4
4
  ID: string;
5
5
  REV: string;
6
+ DELETED: string;
6
7
  TABLE: string;
7
8
  DDOC: string;
8
9
  NATIVE: string;
@@ -3,10 +3,11 @@ export const CouchDBKeys = {
3
3
  SEPARATOR: "_",
4
4
  ID: "_id",
5
5
  REV: "_rev",
6
+ DELETED: "_deleted",
6
7
  TABLE: "??table",
7
8
  DDOC: "ddoc",
8
9
  NATIVE: "__native",
9
10
  INDEX: "index",
10
11
  };
11
12
 
12
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixTQUFTLEVBQUUsR0FBRztJQUNkLEVBQUUsRUFBRSxLQUFLO0lBQ1QsR0FBRyxFQUFFLE1BQU07SUFDWCxLQUFLLEVBQUUsU0FBUztJQUNoQixJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0NBQ2YsQ0FBQyIsImZpbGUiOiJjb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcmVzZXJ2ZWRBdHRyaWJ1dGVzID0gL15fLiokL2c7XG5cbmV4cG9ydCBjb25zdCBDb3VjaERCS2V5cyA9IHtcbiAgU0VQQVJBVE9SOiBcIl9cIixcbiAgSUQ6IFwiX2lkXCIsXG4gIFJFVjogXCJfcmV2XCIsXG4gIFRBQkxFOiBcIj8/dGFibGVcIixcbiAgRERPQzogXCJkZG9jXCIsXG4gIE5BVElWRTogXCJfX25hdGl2ZVwiLFxuICBJTkRFWDogXCJpbmRleFwiLFxufTtcbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixTQUFTLEVBQUUsR0FBRztJQUNkLEVBQUUsRUFBRSxLQUFLO0lBQ1QsR0FBRyxFQUFFLE1BQU07SUFDWCxPQUFPLEVBQUUsVUFBVTtJQUNuQixLQUFLLEVBQUUsU0FBUztJQUNoQixJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0NBQ2YsQ0FBQyIsImZpbGUiOiJjb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcmVzZXJ2ZWRBdHRyaWJ1dGVzID0gL15fLiokL2c7XG5cbmV4cG9ydCBjb25zdCBDb3VjaERCS2V5cyA9IHtcbiAgU0VQQVJBVE9SOiBcIl9cIixcbiAgSUQ6IFwiX2lkXCIsXG4gIFJFVjogXCJfcmV2XCIsXG4gIERFTEVURUQ6IFwiX2RlbGV0ZWRcIixcbiAgVEFCTEU6IFwiPz90YWJsZVwiLFxuICBERE9DOiBcImRkb2NcIixcbiAgTkFUSVZFOiBcIl9fbmF0aXZlXCIsXG4gIElOREVYOiBcImluZGV4XCIsXG59O1xuIl19
@@ -1,8 +1,11 @@
1
+ export * from "./indexes";
2
+ export * from "./interfaces";
1
3
  export * from "./model";
2
4
  export * from "./sequences";
3
5
  export * from "./adapter";
4
6
  export * from "./constants";
5
7
  export * from "./errors";
8
+ export * from "./types";
6
9
  export * from "./utils";
7
10
  /**
8
11
  * @summary Module summary
@@ -21,4 +24,4 @@ export * from "./utils";
21
24
  * @const VERSION
22
25
  * @memberOf module:ts-workspace
23
26
  */
24
- export declare const VERSION = "0.0.1";
27
+ export declare const VERSION = "0.1.0";
package/lib/esm/index.js CHANGED
@@ -1,8 +1,11 @@
1
+ export * from "./indexes";
2
+ export * from "./interfaces";
1
3
  export * from "./model";
2
4
  export * from "./sequences";
3
5
  export * from "./adapter";
4
6
  export * from "./constants";
5
7
  export * from "./errors";
8
+ export * from "./types";
6
9
  export * from "./utils";
7
10
  /**
8
11
  * @summary Module summary
@@ -21,6 +24,6 @@ export * from "./utils";
21
24
  * @const VERSION
22
25
  * @memberOf module:ts-workspace
23
26
  */
24
- export const VERSION = "0.0.1";
27
+ export const VERSION = "0.1.0";
25
28
 
26
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUV4Qjs7OztHQUlHO0FBRUg7Ozs7O0dBS0c7QUFFSDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VxdWVuY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBNb2R1bGUgc3VtbWFyeVxuICogQGRlc2NyaXB0aW9uIE1vZHVsZSBkZXNjcmlwdGlvblxuICogQG1vZHVsZSB0cy13b3Jrc3BhY2VcbiAqL1xuXG4vKipcbiAqIEBzdW1tYXJ5IE5hbWVzcGFjZSBzdW1tYXJ5XG4gKiBAZGVzY3JpcHRpb24gTmFtZXNwYWNlIGRlc2NyaXB0aW9uXG4gKiBAbmFtZXNwYWNlIE5hbWVzcGFjZVxuICogQG1lbWJlck9mIG1vZHVsZTp0cy13b3Jrc3BhY2VcbiAqL1xuXG4vKipcbiAqIEBzdW1tYXJ5IHN0b3JlcyB0aGUgY3VycmVudCBwYWNrYWdlIHZlcnNpb25cbiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIGhvdyB5b3Ugc2hvdWxkIGRvY3VtZW50IGEgY29uc3RhbnRcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnRzLXdvcmtzcGFjZVxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiMC4wLjFcIjtcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUV4Qjs7OztHQUlHO0FBRUg7Ozs7O0dBS0c7QUFFSDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9pbmRleGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRlcmZhY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VxdWVuY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgTW9kdWxlIHN1bW1hcnlcbiAqIEBkZXNjcmlwdGlvbiBNb2R1bGUgZGVzY3JpcHRpb25cbiAqIEBtb2R1bGUgdHMtd29ya3NwYWNlXG4gKi9cblxuLyoqXG4gKiBAc3VtbWFyeSBOYW1lc3BhY2Ugc3VtbWFyeVxuICogQGRlc2NyaXB0aW9uIE5hbWVzcGFjZSBkZXNjcmlwdGlvblxuICogQG5hbWVzcGFjZSBOYW1lc3BhY2VcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dHMtd29ya3NwYWNlXG4gKi9cblxuLyoqXG4gKiBAc3VtbWFyeSBzdG9yZXMgdGhlIGN1cnJlbnQgcGFja2FnZSB2ZXJzaW9uXG4gKiBAZGVzY3JpcHRpb24gdGhpcyBpcyBob3cgeW91IHNob3VsZCBkb2N1bWVudCBhIGNvbnN0YW50XG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTp0cy13b3Jrc3BhY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIjAuMS4wXCI7XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { Constructor, Model } from "@decaf-ts/decorator-validation";
2
- import { CreateIndexRequest } from "nano";
2
+ import { CreateIndexRequest } from "../types";
3
3
  export declare function generateIndexes<M extends Model>(models: Constructor<M>[]): CreateIndexRequest[];
@@ -69,4 +69,4 @@ export function generateIndexes(models) {
69
69
  return Object.values(indexes);
70
70
  }
71
71
 
72
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleGVzL2dlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZUFBZSxFQUNmLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELFNBQVMsaUJBQWlCLENBQ3hCLElBQWMsRUFDZCxTQUEwQixFQUMxQixZQUF1QixFQUN2QixTQUFTLEdBQUcsZ0JBQWdCO0lBRTVCLE9BQU87UUFDTCxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDdkIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pDLFdBQVcsQ0FBQyxLQUFLO0tBQ2xCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixNQUF3QjtJQUV4QixNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sT0FBTyxHQUF1QyxFQUFFLENBQUM7SUFDdkQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHO1FBQ25CLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDNUI7UUFDRCxJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLE1BQU07S0FDYixDQUFDO0lBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ25CLE1BQU0sR0FBRyxHQUFrQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUMzQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLHdDQUF3QztZQUN4QyxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxHQUFJLEtBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLFlBQVksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1lBRWxDLFNBQVMsUUFBUSxDQUFDLElBQXFCO2dCQUNyQyxNQUFNLElBQUksR0FBRztvQkFDWCxTQUFTO29CQUNULEdBQUc7b0JBQ0gsR0FBSSxZQUFtQjtvQkFDdkIsZUFBZSxDQUFDLEtBQUs7aUJBQ3RCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBRXpCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRztvQkFDZCxLQUFLLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUksWUFBbUIsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUM5RCxDQUFDLEtBQVksRUFBRSxFQUFFLEVBQUUsRUFBRTs0QkFDbkIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQ0FDVCxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7Z0NBQ3BCLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7Z0NBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEIsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ2pCLENBQUM7NEJBQ0QsT0FBTyxLQUFLLENBQUM7d0JBQ2YsQ0FBQyxFQUNELEVBQUUsQ0FDSDtxQkFDRjtvQkFDRCxJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDO2dCQUNGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDVixNQUFNLFdBQVcsR0FBd0IsRUFBRSxDQUFDO29CQUM1QyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDcEMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixHQUFHLFdBQVcsQ0FBQztnQkFDNUQsQ0FBQztZQUNILENBQUM7WUFFRCxRQUFRLEVBQUUsQ0FBQztZQUNYLElBQUksVUFBVTtnQkFDWCxVQUEwQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNoQyxDQUFDIiwiZmlsZSI6ImluZGV4ZXMvZ2VuZXJhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5kZXhNZXRhZGF0YSxcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIFBlcnNpc3RlbmNlS2V5cyxcbiAgUmVwb3NpdG9yeSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb3VjaERCS2V5cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IERlZmF1bHRTZXBhcmF0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuaW1wb3J0IHsgQ3JlYXRlSW5kZXhSZXF1ZXN0IH0gZnJvbSBcIm5hbm9cIjtcbmltcG9ydCB7IENvdWNoREJPcGVyYXRvciB9IGZyb20gXCIuLi9xdWVyeS9jb25zdGFudHNcIjtcblxuZnVuY3Rpb24gZ2VuZXJhdGVJbmRleE5hbWUoXG4gIG5hbWU6IHN0cmluZ1tdLFxuICBkaXJlY3Rpb24/OiBPcmRlckRpcmVjdGlvbixcbiAgY29tcG9zaXRpb25zPzogc3RyaW5nW10sXG4gIHNlcGFyYXRvciA9IERlZmF1bHRTZXBhcmF0b3Jcbikge1xuICByZXR1cm4gW1xuICAgIC4uLm5hbWUubWFwKChuKSA9PiAobiA9PT0gQ291Y2hEQktleXMuVEFCTEUgPyBcInRhYmxlXCIgOiBuKSksXG4gICAgLi4uKGNvbXBvc2l0aW9ucyB8fCBbXSksXG4gICAgLi4uKGRpcmVjdGlvbiA/IFtkaXJlY3Rpb25dIDogW10pLFxuICAgIENvdWNoREJLZXlzLklOREVYLFxuICBdLmpvaW4oc2VwYXJhdG9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSW5kZXhlczxNIGV4dGVuZHMgTW9kZWw+KFxuICBtb2RlbHM6IENvbnN0cnVjdG9yPE0+W11cbik6IENyZWF0ZUluZGV4UmVxdWVzdFtdIHtcbiAgY29uc3QgdGFibGVOYW1lID0gZ2VuZXJhdGVJbmRleE5hbWUoW0NvdWNoREJLZXlzLlRBQkxFXSk7XG4gIGNvbnN0IGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIENyZWF0ZUluZGV4UmVxdWVzdD4gPSB7fTtcbiAgaW5kZXhlc1t0YWJsZU5hbWVdID0ge1xuICAgIGluZGV4OiB7XG4gICAgICBmaWVsZHM6IFtDb3VjaERCS2V5cy5UQUJMRV0sXG4gICAgfSxcbiAgICBuYW1lOiB0YWJsZU5hbWUsXG4gICAgZGRvYzogdGFibGVOYW1lLFxuICAgIHR5cGU6IFwianNvblwiLFxuICB9O1xuXG4gIG1vZGVscy5mb3JFYWNoKChtKSA9PiB7XG4gICAgY29uc3QgaW5kOiBSZWNvcmQ8c3RyaW5nLCBJbmRleE1ldGFkYXRhPiA9IFJlcG9zaXRvcnkuaW5kZXhlcyhtKTtcbiAgICBPYmplY3QuZW50cmllcyhpbmQpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgayA9IE9iamVjdC5rZXlzKHZhbHVlKVswXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgICAgIGxldCB7IGRpcmVjdGlvbnMsIGNvbXBvc2l0aW9ucyB9ID0gKHZhbHVlIGFzIGFueSlba107XG4gICAgICBjb25zdCB0YWJsZU5hbWUgPSBSZXBvc2l0b3J5LnRhYmxlKG0pO1xuICAgICAgY29tcG9zaXRpb25zID0gY29tcG9zaXRpb25zIHx8IFtdO1xuXG4gICAgICBmdW5jdGlvbiBnZW5lcmF0ZShzb3J0PzogT3JkZXJEaXJlY3Rpb24pIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IFtcbiAgICAgICAgICB0YWJsZU5hbWUsXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIC4uLihjb21wb3NpdGlvbnMgYXMgW10pLFxuICAgICAgICAgIFBlcnNpc3RlbmNlS2V5cy5JTkRFWCxcbiAgICAgICAgXS5qb2luKERlZmF1bHRTZXBhcmF0b3IpO1xuXG4gICAgICAgIGluZGV4ZXNbbmFtZV0gPSB7XG4gICAgICAgICAgaW5kZXg6IHtcbiAgICAgICAgICAgIGZpZWxkczogW2tleSwgLi4uKGNvbXBvc2l0aW9ucyBhcyBbXSksIENvdWNoREJLZXlzLlRBQkxFXS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChhY2N1bTogYW55W10sIGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNvcnQpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlczogYW55ID0ge307XG4gICAgICAgICAgICAgICAgICByZXNbZWxdID0gc29ydDtcbiAgICAgICAgICAgICAgICAgIGFjY3VtLnB1c2gocmVzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgYWNjdW0ucHVzaChlbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhY2N1bTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgW11cbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgIGRkb2M6IG5hbWUsXG4gICAgICAgICAgdHlwZTogXCJqc29uXCIsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghc29ydCkge1xuICAgICAgICAgIGNvbnN0IHRhYmxlRmlsdGVyOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgICAgICAgdGFibGVGaWx0ZXJbQ291Y2hEQktleXMuVEFCTEVdID0ge307XG4gICAgICAgICAgdGFibGVGaWx0ZXJbQ291Y2hEQktleXMuVEFCTEVdW0NvdWNoREJPcGVyYXRvci5FUVVBTF0gPSB0YWJsZU5hbWU7XG4gICAgICAgICAgaW5kZXhlc1tuYW1lXS5pbmRleC5wYXJ0aWFsX2ZpbHRlcl9zZWxlY3RvciA9IHRhYmxlRmlsdGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGdlbmVyYXRlKCk7XG4gICAgICBpZiAoZGlyZWN0aW9ucylcbiAgICAgICAgKGRpcmVjdGlvbnMgYXMgdW5rbm93biBhcyBPcmRlckRpcmVjdGlvbltdKS5mb3JFYWNoKChkKSA9PiBnZW5lcmF0ZShkKSk7XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhpbmRleGVzKTtcbn1cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleGVzL2dlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZUFBZSxFQUNmLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3JELFNBQVMsaUJBQWlCLENBQ3hCLElBQWMsRUFDZCxTQUEwQixFQUMxQixZQUF1QixFQUN2QixTQUFTLEdBQUcsZ0JBQWdCO0lBRTVCLE9BQU87UUFDTCxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDdkIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pDLFdBQVcsQ0FBQyxLQUFLO0tBQ2xCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixNQUF3QjtJQUV4QixNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sT0FBTyxHQUF1QyxFQUFFLENBQUM7SUFDdkQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHO1FBQ25CLEtBQUssRUFBRTtZQUNMLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDNUI7UUFDRCxJQUFJLEVBQUUsU0FBUztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLE1BQU07S0FDYixDQUFDO0lBRUYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ25CLE1BQU0sR0FBRyxHQUFrQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUMzQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLHdDQUF3QztZQUN4QyxJQUFJLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxHQUFJLEtBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLFlBQVksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1lBRWxDLFNBQVMsUUFBUSxDQUFDLElBQXFCO2dCQUNyQyxNQUFNLElBQUksR0FBRztvQkFDWCxTQUFTO29CQUNULEdBQUc7b0JBQ0gsR0FBSSxZQUFtQjtvQkFDdkIsZUFBZSxDQUFDLEtBQUs7aUJBQ3RCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBRXpCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRztvQkFDZCxLQUFLLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUksWUFBbUIsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUM5RCxDQUFDLEtBQVksRUFBRSxFQUFFLEVBQUUsRUFBRTs0QkFDbkIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQ0FDVCxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7Z0NBQ3BCLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7Z0NBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEIsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ2pCLENBQUM7NEJBQ0QsT0FBTyxLQUFLLENBQUM7d0JBQ2YsQ0FBQyxFQUNELEVBQUUsQ0FDSDtxQkFDRjtvQkFDRCxJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDO2dCQUNGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDVixNQUFNLFdBQVcsR0FBd0IsRUFBRSxDQUFDO29CQUM1QyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDcEMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixHQUFHLFdBQVcsQ0FBQztnQkFDNUQsQ0FBQztZQUNILENBQUM7WUFFRCxRQUFRLEVBQUUsQ0FBQztZQUNYLElBQUksVUFBVTtnQkFDWCxVQUEwQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNoQyxDQUFDIiwiZmlsZSI6ImluZGV4ZXMvZ2VuZXJhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5kZXhNZXRhZGF0YSxcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIFBlcnNpc3RlbmNlS2V5cyxcbiAgUmVwb3NpdG9yeSxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb3VjaERCS2V5cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IERlZmF1bHRTZXBhcmF0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJPcGVyYXRvciB9IGZyb20gXCIuLi9xdWVyeS9jb25zdGFudHNcIjtcbmltcG9ydCB7IENyZWF0ZUluZGV4UmVxdWVzdCB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZUluZGV4TmFtZShcbiAgbmFtZTogc3RyaW5nW10sXG4gIGRpcmVjdGlvbj86IE9yZGVyRGlyZWN0aW9uLFxuICBjb21wb3NpdGlvbnM/OiBzdHJpbmdbXSxcbiAgc2VwYXJhdG9yID0gRGVmYXVsdFNlcGFyYXRvclxuKSB7XG4gIHJldHVybiBbXG4gICAgLi4ubmFtZS5tYXAoKG4pID0+IChuID09PSBDb3VjaERCS2V5cy5UQUJMRSA/IFwidGFibGVcIiA6IG4pKSxcbiAgICAuLi4oY29tcG9zaXRpb25zIHx8IFtdKSxcbiAgICAuLi4oZGlyZWN0aW9uID8gW2RpcmVjdGlvbl0gOiBbXSksXG4gICAgQ291Y2hEQktleXMuSU5ERVgsXG4gIF0uam9pbihzZXBhcmF0b3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJbmRleGVzPE0gZXh0ZW5kcyBNb2RlbD4oXG4gIG1vZGVsczogQ29uc3RydWN0b3I8TT5bXVxuKTogQ3JlYXRlSW5kZXhSZXF1ZXN0W10ge1xuICBjb25zdCB0YWJsZU5hbWUgPSBnZW5lcmF0ZUluZGV4TmFtZShbQ291Y2hEQktleXMuVEFCTEVdKTtcbiAgY29uc3QgaW5kZXhlczogUmVjb3JkPHN0cmluZywgQ3JlYXRlSW5kZXhSZXF1ZXN0PiA9IHt9O1xuICBpbmRleGVzW3RhYmxlTmFtZV0gPSB7XG4gICAgaW5kZXg6IHtcbiAgICAgIGZpZWxkczogW0NvdWNoREJLZXlzLlRBQkxFXSxcbiAgICB9LFxuICAgIG5hbWU6IHRhYmxlTmFtZSxcbiAgICBkZG9jOiB0YWJsZU5hbWUsXG4gICAgdHlwZTogXCJqc29uXCIsXG4gIH07XG5cbiAgbW9kZWxzLmZvckVhY2goKG0pID0+IHtcbiAgICBjb25zdCBpbmQ6IFJlY29yZDxzdHJpbmcsIEluZGV4TWV0YWRhdGE+ID0gUmVwb3NpdG9yeS5pbmRleGVzKG0pO1xuICAgIE9iamVjdC5lbnRyaWVzKGluZCkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBrID0gT2JqZWN0LmtleXModmFsdWUpWzBdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgICAgbGV0IHsgZGlyZWN0aW9ucywgY29tcG9zaXRpb25zIH0gPSAodmFsdWUgYXMgYW55KVtrXTtcbiAgICAgIGNvbnN0IHRhYmxlTmFtZSA9IFJlcG9zaXRvcnkudGFibGUobSk7XG4gICAgICBjb21wb3NpdGlvbnMgPSBjb21wb3NpdGlvbnMgfHwgW107XG5cbiAgICAgIGZ1bmN0aW9uIGdlbmVyYXRlKHNvcnQ/OiBPcmRlckRpcmVjdGlvbikge1xuICAgICAgICBjb25zdCBuYW1lID0gW1xuICAgICAgICAgIHRhYmxlTmFtZSxcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgLi4uKGNvbXBvc2l0aW9ucyBhcyBbXSksXG4gICAgICAgICAgUGVyc2lzdGVuY2VLZXlzLklOREVYLFxuICAgICAgICBdLmpvaW4oRGVmYXVsdFNlcGFyYXRvcik7XG5cbiAgICAgICAgaW5kZXhlc1tuYW1lXSA9IHtcbiAgICAgICAgICBpbmRleDoge1xuICAgICAgICAgICAgZmllbGRzOiBba2V5LCAuLi4oY29tcG9zaXRpb25zIGFzIFtdKSwgQ291Y2hEQktleXMuVEFCTEVdLnJlZHVjZShcbiAgICAgICAgICAgICAgKGFjY3VtOiBhbnlbXSwgZWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc29ydCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzOiBhbnkgPSB7fTtcbiAgICAgICAgICAgICAgICAgIHJlc1tlbF0gPSBzb3J0O1xuICAgICAgICAgICAgICAgICAgYWNjdW0ucHVzaChyZXMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBhY2N1bS5wdXNoKGVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBbXVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgZGRvYzogbmFtZSxcbiAgICAgICAgICB0eXBlOiBcImpzb25cIixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFzb3J0KSB7XG4gICAgICAgICAgY29uc3QgdGFibGVGaWx0ZXI6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgICAgICB0YWJsZUZpbHRlcltDb3VjaERCS2V5cy5UQUJMRV0gPSB7fTtcbiAgICAgICAgICB0YWJsZUZpbHRlcltDb3VjaERCS2V5cy5UQUJMRV1bQ291Y2hEQk9wZXJhdG9yLkVRVUFMXSA9IHRhYmxlTmFtZTtcbiAgICAgICAgICBpbmRleGVzW25hbWVdLmluZGV4LnBhcnRpYWxfZmlsdGVyX3NlbGVjdG9yID0gdGFibGVGaWx0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZ2VuZXJhdGUoKTtcbiAgICAgIGlmIChkaXJlY3Rpb25zKVxuICAgICAgICAoZGlyZWN0aW9ucyBhcyB1bmtub3duIGFzIE9yZGVyRGlyZWN0aW9uW10pLmZvckVhY2goKGQpID0+IGdlbmVyYXRlKGQpKTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKGluZGV4ZXMpO1xufVxuIl19
@@ -1,2 +1 @@
1
1
  export * from "./generator";
2
- export * from "./types";
@@ -1,4 +1,3 @@
1
1
  export * from "./generator";
2
- export * from "./types";
3
2
 
4
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsU0FBUyxDQUFDIiwiZmlsZSI6ImluZGV4ZXMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9nZW5lcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDIiwiZmlsZSI6ImluZGV4ZXMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9nZW5lcmF0b3JcIjtcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { Repository } from "@decaf-ts/core";
2
- import { MangoQuery } from "nano";
3
2
  import { CouchDBAdapter } from "../adapter";
4
3
  import { Model } from "@decaf-ts/decorator-validation";
4
+ import { MangoQuery } from "../types";
5
5
  export interface CouchDBRepository<M extends Model> extends Repository<M, MangoQuery> {
6
6
  adapter: CouchDBAdapter;
7
7
  }
@@ -1,3 +1,3 @@
1
1
  export {};
2
2
 
3
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL0NvdWNoREJSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJmaWxlIjoiaW50ZXJmYWNlcy9Db3VjaERCUmVwb3NpdG9yeS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwibmFub1wiO1xuaW1wb3J0IHsgQ291Y2hEQkFkYXB0ZXIgfSBmcm9tIFwiLi4vYWRhcHRlclwiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ291Y2hEQlJlcG9zaXRvcnk8TSBleHRlbmRzIE1vZGVsPlxuICBleHRlbmRzIFJlcG9zaXRvcnk8TSwgTWFuZ29RdWVyeT4ge1xuICBhZGFwdGVyOiBDb3VjaERCQWRhcHRlcjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL0NvdWNoREJSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJmaWxlIjoiaW50ZXJmYWNlcy9Db3VjaERCUmVwb3NpdG9yeS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgTWFuZ29RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvdWNoREJSZXBvc2l0b3J5PE0gZXh0ZW5kcyBNb2RlbD5cbiAgZXh0ZW5kcyBSZXBvc2l0b3J5PE0sIE1hbmdvUXVlcnk+IHtcbiAgYWRhcHRlcjogQ291Y2hEQkFkYXB0ZXI7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { FromClause } from "@decaf-ts/core";
2
- import { MangoQuery } from "nano";
3
2
  import { ModelArg, Model } from "@decaf-ts/decorator-validation";
3
+ import { MangoQuery } from "../types";
4
4
  export declare class CouchDBFromClause<M extends Model> extends FromClause<MangoQuery, M> {
5
5
  constructor(clause: ModelArg<FromClause<MangoQuery, M>>);
6
6
  build(previous: MangoQuery): MangoQuery;
@@ -18,4 +18,4 @@ export class CouchDBFromClause extends FromClause {
18
18
  }
19
19
  }
20
20
 
21
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9Gcm9tQ2xhdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QywyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLGlCQUFtQyxTQUFRLFVBR3ZEO0lBQ0MsWUFBWSxNQUEyQztRQUNyRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFvQjtRQUN4QixNQUFNLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFDMUIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7Z0JBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDZixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBMEIsQ0FBQyxDQUFDO1FBQ3hELFFBQVEsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsImZpbGUiOiJxdWVyeS9Gcm9tQ2xhdXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnJvbUNsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTWFuZ29RdWVyeSB9IGZyb20gXCJuYW5vXCI7XG5pbXBvcnQgeyBNb2RlbEFyZywgTW9kZWwsIENvbnN0cnVjdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ291Y2hEQktleXMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBSZXBvc2l0b3J5IH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5cbi8vIG5vaW5zcGVjdGlvbiBKU0Fubm90YXRvclxuZXhwb3J0IGNsYXNzIENvdWNoREJGcm9tQ2xhdXNlPE0gZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBGcm9tQ2xhdXNlPFxuICBNYW5nb1F1ZXJ5LFxuICBNXG4+IHtcbiAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxGcm9tQ2xhdXNlPE1hbmdvUXVlcnksIE0+Pikge1xuICAgIHN1cGVyKGNsYXVzZSk7XG4gIH1cblxuICBidWlsZChwcmV2aW91czogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgIGNvbnN0IHNlbGVjdG9yczogYW55ID0ge307XG4gICAgc2VsZWN0b3JzW0NvdWNoREJLZXlzLlRBQkxFXSA9IHt9O1xuICAgIHNlbGVjdG9yc1tDb3VjaERCS2V5cy5UQUJMRV0gPVxuICAgICAgdHlwZW9mIHRoaXMuc2VsZWN0b3IgPT09IFwic3RyaW5nXCJcbiAgICAgICAgPyB0aGlzLnNlbGVjdG9yXG4gICAgICAgIDogUmVwb3NpdG9yeS50YWJsZSh0aGlzLnNlbGVjdG9yIGFzIENvbnN0cnVjdG9yPE0+KTtcbiAgICBwcmV2aW91cy5zZWxlY3RvciA9IHNlbGVjdG9ycztcbiAgICByZXR1cm4gcHJldmlvdXM7XG4gIH1cbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9Gcm9tQ2xhdXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1QywyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLGlCQUFtQyxTQUFRLFVBR3ZEO0lBQ0MsWUFBWSxNQUEyQztRQUNyRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFvQjtRQUN4QixNQUFNLFNBQVMsR0FBUSxFQUFFLENBQUM7UUFDMUIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVE7Z0JBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDZixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBMEIsQ0FBQyxDQUFDO1FBQ3hELFFBQVEsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsImZpbGUiOiJxdWVyeS9Gcm9tQ2xhdXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRnJvbUNsYXVzZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTW9kZWxBcmcsIE1vZGVsLCBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgTWFuZ29RdWVyeSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG4vLyBub2luc3BlY3Rpb24gSlNBbm5vdGF0b3JcbmV4cG9ydCBjbGFzcyBDb3VjaERCRnJvbUNsYXVzZTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgRnJvbUNsYXVzZTxcbiAgTWFuZ29RdWVyeSxcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8RnJvbUNsYXVzZTxNYW5nb1F1ZXJ5LCBNPj4pIHtcbiAgICBzdXBlcihjbGF1c2UpO1xuICB9XG5cbiAgYnVpbGQocHJldmlvdXM6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICBjb25zdCBzZWxlY3RvcnM6IGFueSA9IHt9O1xuICAgIHNlbGVjdG9yc1tDb3VjaERCS2V5cy5UQUJMRV0gPSB7fTtcbiAgICBzZWxlY3RvcnNbQ291Y2hEQktleXMuVEFCTEVdID1cbiAgICAgIHR5cGVvZiB0aGlzLnNlbGVjdG9yID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gdGhpcy5zZWxlY3RvclxuICAgICAgICA6IFJlcG9zaXRvcnkudGFibGUodGhpcy5zZWxlY3RvciBhcyBDb25zdHJ1Y3RvcjxNPik7XG4gICAgcHJldmlvdXMuc2VsZWN0b3IgPSBzZWxlY3RvcnM7XG4gICAgcmV0dXJuIHByZXZpb3VzO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { InsertClause } from "@decaf-ts/core";
2
- import { MangoQuery } from "nano";
3
2
  import { ModelArg, Model } from "@decaf-ts/decorator-validation";
3
+ import { MangoQuery } from "../types";
4
4
  export declare class CouchDBInsertClause<M extends Model> extends InsertClause<MangoQuery, M> {
5
5
  constructor(clause: ModelArg<InsertClause<MangoQuery, M>>);
6
6
  build(query: MangoQuery): MangoQuery;
@@ -11,4 +11,4 @@ export class CouchDBInsertClause extends InsertClause {
11
11
  }
12
12
  }
13
13
 
14
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9JbnNlcnRDbGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCwyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLG1CQUFxQyxTQUFRLFlBR3pEO0lBQ0MsWUFBWSxNQUE2QztRQUN2RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxLQUFLLENBQUMsS0FBaUI7UUFDckIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJmaWxlIjoicXVlcnkvSW5zZXJ0Q2xhdXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zZXJ0Q2xhdXNlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIm5hbm9cIjtcbmltcG9ydCB7IE1vZGVsQXJnLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLy8gbm9pbnNwZWN0aW9uIEpTQW5ub3RhdG9yXG5leHBvcnQgY2xhc3MgQ291Y2hEQkluc2VydENsYXVzZTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgSW5zZXJ0Q2xhdXNlPFxuICBNYW5nb1F1ZXJ5LFxuICBNXG4+IHtcbiAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxJbnNlcnRDbGF1c2U8TWFuZ29RdWVyeSwgTT4+KSB7XG4gICAgc3VwZXIoY2xhdXNlKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgYnVpbGQocXVlcnk6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk5vdCBzdXBwb3J0ZWRcIik7XG4gIH1cbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9JbnNlcnRDbGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd4RCwyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLG1CQUFxQyxTQUFRLFlBR3pEO0lBQ0MsWUFBWSxNQUE2QztRQUN2RCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxLQUFLLENBQUMsS0FBaUI7UUFDckIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJmaWxlIjoicXVlcnkvSW5zZXJ0Q2xhdXNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5zZXJ0Q2xhdXNlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNb2RlbEFyZywgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5IH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8vIG5vaW5zcGVjdGlvbiBKU0Fubm90YXRvclxuZXhwb3J0IGNsYXNzIENvdWNoREJJbnNlcnRDbGF1c2U8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIEluc2VydENsYXVzZTxcbiAgTWFuZ29RdWVyeSxcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8SW5zZXJ0Q2xhdXNlPE1hbmdvUXVlcnksIE0+Pikge1xuICAgIHN1cGVyKGNsYXVzZSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGJ1aWxkKHF1ZXJ5OiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJOb3Qgc3VwcG9ydGVkXCIpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Paginator, Statement } from "@decaf-ts/core";
2
- import { MangoQuery } from "nano";
2
+ import { MangoQuery } from "../types";
3
3
  export declare class CouchDBPaginator<V> extends Paginator<V, MangoQuery> {
4
4
  private bookMark?;
5
5
  get total(): number;
@@ -55,4 +55,4 @@ export class CouchDBPaginator extends Paginator {
55
55
  }
56
56
  }
57
57
 
58
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9QYWdpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBR1osTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsU0FBd0I7SUFHL0QsSUFBSSxLQUFLO1FBQ1AsTUFBTSxJQUFJLGFBQWEsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLElBQUksYUFBYSxDQUNyQixtREFBbUQsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUNFLFNBQWdDLEVBQ2hDLElBQVksRUFDWixZQUF3QjtRQUV4QixLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMsT0FBTyxDQUFDLFlBQXdCO1FBQ3hDLE1BQU0sS0FBSyxHQUFlLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFELElBQUksS0FBSyxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFMUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXhCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBZSxDQUFDLEVBQUUsR0FBRyxJQUFXO1FBQ3pDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JDLGlEQUFpRDtRQUNqRCw4Q0FBOEM7UUFDOUMsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsNkJBQTZCO1FBQzdCLElBQUk7UUFFSixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsTUFBTSxJQUFJLFdBQVcsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1lBQ3pFLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBdUIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDMUQsU0FBUyxFQUNULEtBQUssRUFDTCxHQUFHLElBQUksQ0FDUixDQUFDO1FBRUYsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQzlDLElBQUksT0FBTztZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQ0FBc0M7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDYixxREFBcUQ7Z0JBQ3JELElBQUksQ0FBQyxNQUFNO29CQUFFLE1BQU0sSUFBSSxXQUFXLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksTUFBTSxFQUFFLENBR3hDLENBQUM7Z0JBQ0YsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDakQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3hCLENBQUMsRUFDRCxNQUFNLEVBQ04sRUFBRSxFQUNGLGtCQUFrQixDQUNoQixLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNsQyxDQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRiIsImZpbGUiOiJxdWVyeS9QYWdpbmF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQYWdpbmF0b3IsXG4gIFBhZ2luZ0Vycm9yLFxuICBTZXF1ZW5jZU9wdGlvbnMsXG4gIFN0YXRlbWVudCxcbn0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBNYW5nb1F1ZXJ5LCBNYW5nb1Jlc3BvbnNlIH0gZnJvbSBcIm5hbm9cIjtcbmltcG9ydCB7XG4gIERlZmF1bHRTZXBhcmF0b3IsXG4gIGZpbmRQcmltYXJ5S2V5LFxuICBJbnRlcm5hbEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IHBhcnNlU2VxdWVuY2VWYWx1ZSB9IGZyb20gXCIuLi9zZXF1ZW5jZXMvdXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIENvdWNoREJQYWdpbmF0b3I8Vj4gZXh0ZW5kcyBQYWdpbmF0b3I8ViwgTWFuZ29RdWVyeT4ge1xuICBwcml2YXRlIGJvb2tNYXJrPzogc3RyaW5nO1xuXG4gIGdldCB0b3RhbCgpOiBudW1iZXIge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBUaGUgdG90YWwgcGFnZXMgYXBpIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNvdWNoZGJgKTtcbiAgfVxuXG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgYFRoZSByZWNvcmQgY291bnQgYXBpIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNvdWNoZGJgXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0YXRlbWVudDogU3RhdGVtZW50PE1hbmdvUXVlcnk+LFxuICAgIHNpemU6IG51bWJlcixcbiAgICByYXdTdGF0ZW1lbnQ6IE1hbmdvUXVlcnlcbiAgKSB7XG4gICAgc3VwZXIoc3RhdGVtZW50LCBzaXplLCByYXdTdGF0ZW1lbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXBhcmUocmF3U3RhdGVtZW50OiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgY29uc3QgcXVlcnk6IE1hbmdvUXVlcnkgPSBPYmplY3QuYXNzaWduKHt9LCByYXdTdGF0ZW1lbnQpO1xuICAgIGlmIChxdWVyeS5saW1pdCkgdGhpcy5saW1pdCA9IHF1ZXJ5LmxpbWl0O1xuXG4gICAgcXVlcnkubGltaXQgPSB0aGlzLnNpemU7XG5cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBhc3luYyBwYWdlKHBhZ2U6IG51bWJlciA9IDEsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxWW10+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnN0YXRlbWVudCk7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5zdGF0LmdldFRhcmdldCgpO1xuICAgIC8vIGlmICghdGhpcy5fcmVjb3JkQ291bnQgfHwgIXRoaXMuX3RvdGFsUGFnZXMpIHtcbiAgICAvLyAgIC8vIHRoaXMuX3JlY29yZENvdW50ID0gYXdhaXQgdGhpcy5hZGFwdGVyXG4gICAgLy8gICAvLyAgIC5RdWVyeSgpXG4gICAgLy8gICAvLyAgIC5jb3VudCgpXG4gICAgLy8gICAvLyAgIC5mcm9tKHRhcmdldClcbiAgICAvLyAgIC8vICAgLmV4ZWN1dGU8bnVtYmVyPigpO1xuICAgIC8vIH1cblxuICAgIGlmIChwYWdlICE9PSAxKSB7XG4gICAgICBpZiAoIXRoaXMuYm9va01hcmspXG4gICAgICAgIHRocm93IG5ldyBQYWdpbmdFcnJvcihcIk5vIGJvb2ttYXJrLiBEaWQgeW91IHN0YXJ0IGluIHRoZSBmaXJzdCBwYWdlP1wiKTtcbiAgICAgIHN0YXRlbWVudFtcImJvb2ttYXJrXCJdID0gdGhpcy5ib29rTWFyaztcbiAgICB9XG4gICAgY29uc3QgcmF3UmVzdWx0OiBNYW5nb1Jlc3BvbnNlPGFueT4gPSBhd2FpdCB0aGlzLmFkYXB0ZXIucmF3KFxuICAgICAgc3RhdGVtZW50LFxuICAgICAgZmFsc2UsXG4gICAgICAuLi5hcmdzXG4gICAgKTtcblxuICAgIGNvbnN0IHsgZG9jcywgYm9va21hcmssIHdhcm5pbmcgfSA9IHJhd1Jlc3VsdDtcbiAgICBpZiAod2FybmluZykgY29uc29sZS53YXJuKHdhcm5pbmcpO1xuICAgIGNvbnN0IHJlc3VsdHMgPVxuICAgICAgc3RhdGVtZW50LmZpZWxkcyAmJiBzdGF0ZW1lbnQuZmllbGRzLmxlbmd0aFxuICAgICAgICA/IGRvY3MgLy8gaGFzIGZpZWxkcyBtZWFucyBpdHMgbm90IGZ1bGwgbW9kZWxcbiAgICAgICAgOiBkb2NzLm1hcCgoZCkgPT4ge1xuICAgICAgICAgICAgLy9ubyBmaWVsZHMgbWVhbnMgd2UgbmVlZCB0byByZXZlcnQgdG8gc2F2aW5nIHByb2Nlc3NcbiAgICAgICAgICAgIGlmICghdGFyZ2V0KSB0aHJvdyBuZXcgUGFnaW5nRXJyb3IoXCJObyBzdGF0ZW1lbnQgdGFyZ2V0IGRlZmluZWRcIik7XG4gICAgICAgICAgICBjb25zdCBwa0RlZiA9IGZpbmRQcmltYXJ5S2V5KG5ldyB0YXJnZXQoKSkgYXMge1xuICAgICAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgICAgICBwcm9wczogU2VxdWVuY2VPcHRpb25zO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHBrID0gcGtEZWYuaWQ7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbElkID0gZC5faWQuc3BsaXQoRGVmYXVsdFNlcGFyYXRvcik7XG4gICAgICAgICAgICBvcmlnaW5hbElkLnNwbGljZSgwLCAxKTsgLy8gcmVtb3ZlIHRoZSB0YWJsZSBuYW1lXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnJldmVydChcbiAgICAgICAgICAgICAgZCxcbiAgICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgICBwayxcbiAgICAgICAgICAgICAgcGFyc2VTZXF1ZW5jZVZhbHVlKFxuICAgICAgICAgICAgICAgIHBrRGVmLnByb3BzLnR5cGUsXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxJZC5qb2luKERlZmF1bHRTZXBhcmF0b3IpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgdGhpcy5ib29rTWFyayA9IGJvb2ttYXJrO1xuICAgIHRoaXMuX2N1cnJlbnRQYWdlID0gcGFnZTtcbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9QYWdpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEdBR1osTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd4RCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsU0FBd0I7SUFHL0QsSUFBSSxLQUFLO1FBQ1AsTUFBTSxJQUFJLGFBQWEsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxNQUFNLElBQUksYUFBYSxDQUNyQixtREFBbUQsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUNFLFNBQWdDLEVBQ2hDLElBQVksRUFDWixZQUF3QjtRQUV4QixLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMsT0FBTyxDQUFDLFlBQXdCO1FBQ3hDLE1BQU0sS0FBSyxHQUFlLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzFELElBQUksS0FBSyxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFFMUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXhCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBZSxDQUFDLEVBQUUsR0FBRyxJQUFXO1FBQ3pDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JDLGlEQUFpRDtRQUNqRCw4Q0FBOEM7UUFDOUMsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsNkJBQTZCO1FBQzdCLElBQUk7UUFFSixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsTUFBTSxJQUFJLFdBQVcsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1lBQ3pFLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBdUIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDMUQsU0FBUyxFQUNULEtBQUssRUFDTCxHQUFHLElBQUksQ0FDUixDQUFDO1FBRUYsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQzlDLElBQUksT0FBTztZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQ1gsU0FBUyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQ0FBc0M7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDbEIscURBQXFEO2dCQUNyRCxJQUFJLENBQUMsTUFBTTtvQkFBRSxNQUFNLElBQUksV0FBVyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQ2xFLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUd4QyxDQUFDO2dCQUNGLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ2pELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCO2dCQUNqRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLEVBQ0QsTUFBTSxFQUNOLEVBQUUsRUFDRixrQkFBa0IsQ0FDaEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FDbEMsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJmaWxlIjoicXVlcnkvUGFnaW5hdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUGFnaW5hdG9yLFxuICBQYWdpbmdFcnJvcixcbiAgU2VxdWVuY2VPcHRpb25zLFxuICBTdGF0ZW1lbnQsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdFNlcGFyYXRvcixcbiAgZmluZFByaW1hcnlLZXksXG4gIEludGVybmFsRXJyb3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgcGFyc2VTZXF1ZW5jZVZhbHVlIH0gZnJvbSBcIi4uL3NlcXVlbmNlcy91dGlsc1wiO1xuaW1wb3J0IHsgTWFuZ29RdWVyeSwgTWFuZ29SZXNwb25zZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgQ291Y2hEQlBhZ2luYXRvcjxWPiBleHRlbmRzIFBhZ2luYXRvcjxWLCBNYW5nb1F1ZXJ5PiB7XG4gIHByaXZhdGUgYm9va01hcms/OiBzdHJpbmc7XG5cbiAgZ2V0IHRvdGFsKCk6IG51bWJlciB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFRoZSB0b3RhbCBwYWdlcyBhcGkgaXMgbm90IGF2YWlsYWJsZSBmb3IgY291Y2hkYmApO1xuICB9XG5cbiAgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICBgVGhlIHJlY29yZCBjb3VudCBhcGkgaXMgbm90IGF2YWlsYWJsZSBmb3IgY291Y2hkYmBcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RhdGVtZW50OiBTdGF0ZW1lbnQ8TWFuZ29RdWVyeT4sXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIHJhd1N0YXRlbWVudDogTWFuZ29RdWVyeVxuICApIHtcbiAgICBzdXBlcihzdGF0ZW1lbnQsIHNpemUsIHJhd1N0YXRlbWVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlcGFyZShyYXdTdGF0ZW1lbnQ6IE1hbmdvUXVlcnkpOiBNYW5nb1F1ZXJ5IHtcbiAgICBjb25zdCBxdWVyeTogTWFuZ29RdWVyeSA9IE9iamVjdC5hc3NpZ24oe30sIHJhd1N0YXRlbWVudCk7XG4gICAgaWYgKHF1ZXJ5LmxpbWl0KSB0aGlzLmxpbWl0ID0gcXVlcnkubGltaXQ7XG5cbiAgICBxdWVyeS5saW1pdCA9IHRoaXMuc2l6ZTtcblxuICAgIHJldHVybiBxdWVyeTtcbiAgfVxuXG4gIGFzeW5jIHBhZ2UocGFnZTogbnVtYmVyID0gMSwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPFZbXT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudCA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuc3RhdGVtZW50KTtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnN0YXQuZ2V0VGFyZ2V0KCk7XG4gICAgLy8gaWYgKCF0aGlzLl9yZWNvcmRDb3VudCB8fCAhdGhpcy5fdG90YWxQYWdlcykge1xuICAgIC8vICAgLy8gdGhpcy5fcmVjb3JkQ291bnQgPSBhd2FpdCB0aGlzLmFkYXB0ZXJcbiAgICAvLyAgIC8vICAgLlF1ZXJ5KClcbiAgICAvLyAgIC8vICAgLmNvdW50KClcbiAgICAvLyAgIC8vICAgLmZyb20odGFyZ2V0KVxuICAgIC8vICAgLy8gICAuZXhlY3V0ZTxudW1iZXI+KCk7XG4gICAgLy8gfVxuXG4gICAgaWYgKHBhZ2UgIT09IDEpIHtcbiAgICAgIGlmICghdGhpcy5ib29rTWFyaylcbiAgICAgICAgdGhyb3cgbmV3IFBhZ2luZ0Vycm9yKFwiTm8gYm9va21hcmsuIERpZCB5b3Ugc3RhcnQgaW4gdGhlIGZpcnN0IHBhZ2U/XCIpO1xuICAgICAgc3RhdGVtZW50W1wiYm9va21hcmtcIl0gPSB0aGlzLmJvb2tNYXJrO1xuICAgIH1cbiAgICBjb25zdCByYXdSZXN1bHQ6IE1hbmdvUmVzcG9uc2U8YW55PiA9IGF3YWl0IHRoaXMuYWRhcHRlci5yYXcoXG4gICAgICBzdGF0ZW1lbnQsXG4gICAgICBmYWxzZSxcbiAgICAgIC4uLmFyZ3NcbiAgICApO1xuXG4gICAgY29uc3QgeyBkb2NzLCBib29rbWFyaywgd2FybmluZyB9ID0gcmF3UmVzdWx0O1xuICAgIGlmICh3YXJuaW5nKSBjb25zb2xlLndhcm4od2FybmluZyk7XG4gICAgY29uc3QgcmVzdWx0cyA9XG4gICAgICBzdGF0ZW1lbnQuZmllbGRzICYmIHN0YXRlbWVudC5maWVsZHMubGVuZ3RoXG4gICAgICAgID8gZG9jcyAvLyBoYXMgZmllbGRzIG1lYW5zIGl0cyBub3QgZnVsbCBtb2RlbFxuICAgICAgICA6IGRvY3MubWFwKChkOiBhbnkpID0+IHtcbiAgICAgICAgICAgIC8vbm8gZmllbGRzIG1lYW5zIHdlIG5lZWQgdG8gcmV2ZXJ0IHRvIHNhdmluZyBwcm9jZXNzXG4gICAgICAgICAgICBpZiAoIXRhcmdldCkgdGhyb3cgbmV3IFBhZ2luZ0Vycm9yKFwiTm8gc3RhdGVtZW50IHRhcmdldCBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgY29uc3QgcGtEZWYgPSBmaW5kUHJpbWFyeUtleShuZXcgdGFyZ2V0KCkpIGFzIHtcbiAgICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgICAgcHJvcHM6IFNlcXVlbmNlT3B0aW9ucztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBwayA9IHBrRGVmLmlkO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxJZCA9IGQuX2lkLnNwbGl0KERlZmF1bHRTZXBhcmF0b3IpO1xuICAgICAgICAgICAgb3JpZ2luYWxJZC5zcGxpY2UoMCwgMSk7IC8vIHJlbW92ZSB0aGUgdGFibGUgbmFtZVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci5yZXZlcnQoXG4gICAgICAgICAgICAgIGQsXG4gICAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgICAgcGssXG4gICAgICAgICAgICAgIHBhcnNlU2VxdWVuY2VWYWx1ZShcbiAgICAgICAgICAgICAgICBwa0RlZi5wcm9wcy50eXBlLFxuICAgICAgICAgICAgICAgIG9yaWdpbmFsSWQuam9pbihEZWZhdWx0U2VwYXJhdG9yKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgIHRoaXMuYm9va01hcmsgPSBib29rbWFyaztcbiAgICB0aGlzLl9jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { SelectClause } from "@decaf-ts/core";
2
- import { MangoQuery } from "nano";
3
2
  import { ModelArg, Model } from "@decaf-ts/decorator-validation";
3
+ import { MangoQuery } from "../types";
4
4
  export declare class CouchDBSelectClause<M extends Model> extends SelectClause<MangoQuery, M> {
5
5
  constructor(clause: ModelArg<SelectClause<MangoQuery, M>>);
6
6
  build(query: MangoQuery): MangoQuery;
@@ -14,4 +14,4 @@ export class CouchDBSelectClause extends SelectClause {
14
14
  }
15
15
  }
16
16
 
17
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9TZWxlY3RDbGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyRCxNQUFNLE9BQU8sbUJBQXFDLFNBQVEsWUFHekQ7SUFDQyxZQUFZLE1BQTZDO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4RSxLQUFLLENBQUMsTUFBTTtZQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRO2dCQUMvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBa0IsQ0FBQztnQkFDM0IsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUFxQixDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwiZmlsZSI6InF1ZXJ5L1NlbGVjdENsYXVzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0LCBTZWxlY3RDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwibmFub1wiO1xuaW1wb3J0IHsgTW9kZWxBcmcsIE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuXG5leHBvcnQgY2xhc3MgQ291Y2hEQlNlbGVjdENsYXVzZTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgU2VsZWN0Q2xhdXNlPFxuICBNYW5nb1F1ZXJ5LFxuICBNXG4+IHtcbiAgY29uc3RydWN0b3IoY2xhdXNlOiBNb2RlbEFyZzxTZWxlY3RDbGF1c2U8TWFuZ29RdWVyeSwgTT4+KSB7XG4gICAgc3VwZXIoY2xhdXNlKTtcbiAgfVxuXG4gIGJ1aWxkKHF1ZXJ5OiBNYW5nb1F1ZXJ5KTogTWFuZ29RdWVyeSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdG9yIHx8IHRoaXMuc2VsZWN0b3IgPT09IENvbnN0LkZVTExfUkVDT1JEKSByZXR1cm4gcXVlcnk7XG4gICAgcXVlcnkuZmllbGRzID1cbiAgICAgIHR5cGVvZiB0aGlzLnNlbGVjdG9yID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gW3RoaXMuc2VsZWN0b3IgYXMgc3RyaW5nXVxuICAgICAgICA6ICh0aGlzLnNlbGVjdG9yIGFzIHN0cmluZ1tdKTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9xdWVyeS9TZWxlY3RDbGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyRCxNQUFNLE9BQU8sbUJBQXFDLFNBQVEsWUFHekQ7SUFDQyxZQUFZLE1BQTZDO1FBQ3ZELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4RSxLQUFLLENBQUMsTUFBTTtZQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRO2dCQUMvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBa0IsQ0FBQztnQkFDM0IsQ0FBQyxDQUFFLElBQUksQ0FBQyxRQUFxQixDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwiZmlsZSI6InF1ZXJ5L1NlbGVjdENsYXVzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0LCBTZWxlY3RDbGF1c2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsQXJnLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIENvdWNoREJTZWxlY3RDbGF1c2U8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIFNlbGVjdENsYXVzZTxcbiAgTWFuZ29RdWVyeSxcbiAgTVxuPiB7XG4gIGNvbnN0cnVjdG9yKGNsYXVzZTogTW9kZWxBcmc8U2VsZWN0Q2xhdXNlPE1hbmdvUXVlcnksIE0+Pikge1xuICAgIHN1cGVyKGNsYXVzZSk7XG4gIH1cblxuICBidWlsZChxdWVyeTogTWFuZ29RdWVyeSk6IE1hbmdvUXVlcnkge1xuICAgIGlmICghdGhpcy5zZWxlY3RvciB8fCB0aGlzLnNlbGVjdG9yID09PSBDb25zdC5GVUxMX1JFQ09SRCkgcmV0dXJuIHF1ZXJ5O1xuICAgIHF1ZXJ5LmZpZWxkcyA9XG4gICAgICB0eXBlb2YgdGhpcy5zZWxlY3RvciA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IFt0aGlzLnNlbGVjdG9yIGFzIHN0cmluZ11cbiAgICAgICAgOiAodGhpcy5zZWxlY3RvciBhcyBzdHJpbmdbXSk7XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
- import { DocumentScope, MangoQuery } from "nano";
2
1
  import { Adapter, Statement } from "@decaf-ts/core";
3
2
  import { Paginator } from "@decaf-ts/core";
4
- export declare class CouchDBStatement extends Statement<MangoQuery> {
5
- constructor(adapter: Adapter<DocumentScope<any>, MangoQuery>);
3
+ import { MangoQuery } from "../types";
4
+ export declare class CouchDBStatement<Y> extends Statement<MangoQuery> {
5
+ constructor(adapter: Adapter<Y, MangoQuery>);
6
6
  /**
7
7
  * @inheritDoc
8
8
  */