@infrab4a/connect 3.5.0-beta.1 → 3.5.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/bundles/infrab4a-connect.umd.js +161 -78
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/generic/repository/find.repository.d.ts +3 -0
  4. package/domain/shopping/models/enums/order-status.enum.d.ts +2 -2
  5. package/esm2015/domain/generic/repository/find.repository.js +1 -1
  6. package/esm2015/domain/shopping/models/campaign-hashtag.js +1 -1
  7. package/esm2015/domain/shopping/models/enums/order-status.enum.js +3 -3
  8. package/esm2015/infra/firebase/firestore/enums/firestore-field-type.enum.js +10 -0
  9. package/esm2015/infra/firebase/firestore/enums/index.js +2 -0
  10. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +11 -5
  11. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +34 -7
  12. package/esm2015/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.js +2 -2
  13. package/esm2015/infra/firebase/firestore/repositories/shopping/order-firestore.repository.js +7 -2
  14. package/esm2015/infra/firebase/firestore/types/firestore.repository.type.js +1 -1
  15. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +17 -12
  16. package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +28 -17
  17. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +7 -4
  18. package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +2 -2
  19. package/fesm2015/infrab4a-connect.js +108 -43
  20. package/fesm2015/infrab4a-connect.js.map +1 -1
  21. package/infra/firebase/firestore/enums/firestore-field-type.enum.d.ts +8 -0
  22. package/infra/firebase/firestore/enums/index.d.ts +1 -0
  23. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +2 -2
  24. package/infra/firebase/firestore/repositories/shopping/campaign-dashboard-firestore.repository.d.ts +2 -2
  25. package/infra/firebase/firestore/types/firestore.repository.type.d.ts +3 -1
  26. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +4 -9
  27. package/package.json +2 -2
@@ -5,6 +5,9 @@ export declare type FindRepositoryParams<Model extends ModelBaseStructure> = {
5
5
  fields?: NonFunctionPropertyNames<Model>[];
6
6
  limits?: RepositoryLimitOptions<Model>;
7
7
  orderBy?: RepositoryOrderBy<Model>;
8
+ options?: {
9
+ enableCount?: boolean;
10
+ };
8
11
  };
9
12
  export interface FindRepository<Model extends ModelBaseStructure, Params = FindRepositoryParams<Model>> {
10
13
  find(options?: Params): Promise<RepositoryFindResult<Model>>;
@@ -3,8 +3,8 @@ export declare enum OrderStatus {
3
3
  EM_PREPARO = "Preparando pedido",
4
4
  NF_EMITIDA = "Nota Fiscal Emitida",
5
5
  AGUARDANDO_ENVIO = "Aguardando Transaportadora",
6
- ENVIADO = "Pedido Enviado",
7
- ENTREGUE = "Pedido entregue",
6
+ ENVIADO = "Enviado",
7
+ ENTREGUE = "Entregue",
8
8
  CANCELADO = "Cancelado",
9
9
  CREDIT_CARD = "credit_card"
10
10
  }
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvZG9tYWluL2dlbmVyaWMvcmVwb3NpdG9yeS9maW5kLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsQmFzZVN0cnVjdHVyZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vbW9kZWwvdHlwZXMnXHJcblxyXG5pbXBvcnQgeyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLCBSZXBvc2l0b3J5RmluZFJlc3VsdCwgUmVwb3NpdG9yeUxpbWl0T3B0aW9ucywgUmVwb3NpdG9yeU9yZGVyQnkgfSBmcm9tICcuL3R5cGVzJ1xyXG5cclxuZXhwb3J0IHR5cGUgRmluZFJlcG9zaXRvcnlQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xyXG4gIGZpbHRlcnM/OiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1vZGVsPlxyXG4gIGZpZWxkcz86IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNb2RlbD5bXVxyXG4gIGxpbWl0cz86IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8TW9kZWw+XHJcbiAgb3JkZXJCeT86IFJlcG9zaXRvcnlPcmRlckJ5PE1vZGVsPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRSZXBvc2l0b3J5PE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLCBQYXJhbXMgPSBGaW5kUmVwb3NpdG9yeVBhcmFtczxNb2RlbD4+IHtcclxuICBmaW5kKG9wdGlvbnM/OiBQYXJhbXMpOiBQcm9taXNlPFJlcG9zaXRvcnlGaW5kUmVzdWx0PE1vZGVsPj5cclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvZG9tYWluL2dlbmVyaWMvcmVwb3NpdG9yeS9maW5kLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsQmFzZVN0cnVjdHVyZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vbW9kZWwvdHlwZXMnXHJcblxyXG5pbXBvcnQgeyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLCBSZXBvc2l0b3J5RmluZFJlc3VsdCwgUmVwb3NpdG9yeUxpbWl0T3B0aW9ucywgUmVwb3NpdG9yeU9yZGVyQnkgfSBmcm9tICcuL3R5cGVzJ1xyXG5cclxuZXhwb3J0IHR5cGUgRmluZFJlcG9zaXRvcnlQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xyXG4gIGZpbHRlcnM/OiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPE1vZGVsPlxyXG4gIGZpZWxkcz86IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNb2RlbD5bXVxyXG4gIGxpbWl0cz86IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8TW9kZWw+XHJcbiAgb3JkZXJCeT86IFJlcG9zaXRvcnlPcmRlckJ5PE1vZGVsPlxyXG4gIG9wdGlvbnM/OiB7XHJcbiAgICBlbmFibGVDb3VudD86IGJvb2xlYW5cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmluZFJlcG9zaXRvcnk8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIFBhcmFtcyA9IEZpbmRSZXBvc2l0b3J5UGFyYW1zPE1vZGVsPj4ge1xyXG4gIGZpbmQob3B0aW9ucz86IFBhcmFtcyk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8TW9kZWw+PlxyXG59XHJcbiJdfQ==
@@ -4,4 +4,4 @@ export class CampaignHashtag extends BaseModel {
4
4
  return ['id'];
5
5
  }
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ24taGFzaHRhZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9zaG9wcGluZy9tb2RlbHMvY2FtcGFpZ24taGFzaHRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQTtBQUU1RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUEyQjtJQWlCOUQsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWwsIEdlbmVyaWNJZGVudGlmaWVyIH0gZnJvbSBcIi4uLy4uL2dlbmVyaWNcIlxyXG5cclxuZXhwb3J0IGNsYXNzIENhbXBhaWduSGFzaHRhZyBleHRlbmRzIEJhc2VNb2RlbCA8Q2FtcGFpZ25IYXNodGFnPiB7XHJcblxyXG4gIGlkOiBzdHJpbmdcclxuICBzdGF0dXM/OiBzdHJpbmdcclxuICB1cGRhdGVkQXQ/OiBzdHJpbmdcclxuICBlbnZpcm9ubWVudDogc3RyaW5nXHJcbiAgY2FtcGFpZ25OYW1lPzogc3RyaW5nXHJcbiAgY2FtcGFpZ25JbWFnZT86IHN0cmluZ1xyXG4gIGNhbXBhaWduTWluR2xhbXBvaW50cz86IG51bWJlclxyXG4gIGNhbXBhaWduTWF4R2xhbXBvaW50cz86IG51bWJlclxyXG4gIGNhbXBhaWduUmVmZXJDb2RlPzogc3RyaW5nXHJcbiAgY2FtcGFpZ25EZXNjcmlwdGlvbj86IHN0cmluZ1xyXG4gIHN0YXJ0RGF0ZT86IERhdGVcclxuICBlbmREYXRlPzogRGF0ZVxyXG4gIGNhbXBhaWduU3Vic2NyaWJlZDogYm9vbGVhblxyXG4gIHJ1bGVzPzogc3RyaW5nW11cclxuXHJcbiAgc3RhdGljIGdldCBpZGVudGlmaWVyc0ZpZWxkcygpOiBHZW5lcmljSWRlbnRpZmllcltdIHtcclxuICAgIHJldHVybiBbJ2lkJ11cclxuICB9XHJcblxyXG59Il19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ24taGFzaHRhZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2RvbWFpbi9zaG9wcGluZy9tb2RlbHMvY2FtcGFpZ24taGFzaHRhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQTtBQUU1RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUEyQjtJQWlCOUQsTUFBTSxLQUFLLGlCQUFpQjtRQUMxQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWwsIEdlbmVyaWNJZGVudGlmaWVyIH0gZnJvbSBcIi4uLy4uL2dlbmVyaWNcIlxyXG5cclxuZXhwb3J0IGNsYXNzIENhbXBhaWduSGFzaHRhZyBleHRlbmRzIEJhc2VNb2RlbCA8Q2FtcGFpZ25IYXNodGFnPiB7XHJcblxyXG4gIGlkOiBzdHJpbmdcclxuICBzdGF0dXM/OiBzdHJpbmdcclxuICB1cGRhdGVkQXQ/OiBzdHJpbmdcclxuICBlbnZpcm9ubWVudDogc3RyaW5nXHJcbiAgY2FtcGFpZ25OYW1lPzogc3RyaW5nXHJcbiAgY2FtcGFpZ25JbWFnZT86IHN0cmluZyAgXHJcbiAgY2FtcGFpZ25NaW5HbGFtcG9pbnRzPzogbnVtYmVyXHJcbiAgY2FtcGFpZ25NYXhHbGFtcG9pbnRzPzogbnVtYmVyXHJcbiAgY2FtcGFpZ25SZWZlckNvZGU/OiBzdHJpbmdcclxuICBjYW1wYWlnbkRlc2NyaXB0aW9uPzogc3RyaW5nXHJcbiAgc3RhcnREYXRlPzogRGF0ZVxyXG4gIGVuZERhdGU/OiBEYXRlXHJcbiAgY2FtcGFpZ25TdWJzY3JpYmVkOiBib29sZWFuXHJcbiAgcnVsZXM/OiBzdHJpbmdbXVxyXG4gXHJcbiAgc3RhdGljIGdldCBpZGVudGlmaWVyc0ZpZWxkcygpOiBHZW5lcmljSWRlbnRpZmllcltdIHtcclxuICAgIHJldHVybiBbJ2lkJ11cclxuICB9XHJcblxyXG59ICJdfQ==
@@ -4,9 +4,9 @@ export var OrderStatus;
4
4
  OrderStatus["EM_PREPARO"] = "Preparando pedido";
5
5
  OrderStatus["NF_EMITIDA"] = "Nota Fiscal Emitida";
6
6
  OrderStatus["AGUARDANDO_ENVIO"] = "Aguardando Transaportadora";
7
- OrderStatus["ENVIADO"] = "Pedido Enviado";
8
- OrderStatus["ENTREGUE"] = "Pedido entregue";
7
+ OrderStatus["ENVIADO"] = "Enviado";
8
+ OrderStatus["ENTREGUE"] = "Entregue";
9
9
  OrderStatus["CANCELADO"] = "Cancelado";
10
10
  OrderStatus["CREDIT_CARD"] = "credit_card";
11
11
  })(OrderStatus || (OrderStatus = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3RhdHVzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vc2hvcHBpbmcvbW9kZWxzL2VudW1zL29yZGVyLXN0YXR1cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDckIsNERBQTZDLENBQUE7SUFDN0MsK0NBQWdDLENBQUE7SUFDaEMsaURBQWtDLENBQUE7SUFDbEMsOERBQStDLENBQUE7SUFDL0MseUNBQTBCLENBQUE7SUFDMUIsMkNBQTRCLENBQUE7SUFDNUIsc0NBQXVCLENBQUE7SUFDdkIsMENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gT3JkZXJTdGF0dXMge1xyXG4gIEFHVUFSREFORE9fUEFHQU1FTlRPID0gJ0FndWFyZGFuZG8gcGFnYW1lbnRvJyxcclxuICBFTV9QUkVQQVJPID0gJ1ByZXBhcmFuZG8gcGVkaWRvJyxcclxuICBORl9FTUlUSURBID0gJ05vdGEgRmlzY2FsIEVtaXRpZGEnLFxyXG4gIEFHVUFSREFORE9fRU5WSU8gPSAnQWd1YXJkYW5kbyBUcmFuc2Fwb3J0YWRvcmEnLFxyXG4gIEVOVklBRE8gPSAnUGVkaWRvIEVudmlhZG8nLFxyXG4gIEVOVFJFR1VFID0gJ1BlZGlkbyBlbnRyZWd1ZScsXHJcbiAgQ0FOQ0VMQURPID0gJ0NhbmNlbGFkbycsXHJcbiAgQ1JFRElUX0NBUkQgPSAnY3JlZGl0X2NhcmQnLFxyXG59XHJcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItc3RhdHVzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9kb21haW4vc2hvcHBpbmcvbW9kZWxzL2VudW1zL29yZGVyLXN0YXR1cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBU1g7QUFURCxXQUFZLFdBQVc7SUFDckIsNERBQTZDLENBQUE7SUFDN0MsK0NBQWdDLENBQUE7SUFDaEMsaURBQWtDLENBQUE7SUFDbEMsOERBQStDLENBQUE7SUFDL0Msa0NBQW1CLENBQUE7SUFDbkIsb0NBQXFCLENBQUE7SUFDckIsc0NBQXVCLENBQUE7SUFDdkIsMENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gT3JkZXJTdGF0dXMge1xyXG4gIEFHVUFSREFORE9fUEFHQU1FTlRPID0gJ0FndWFyZGFuZG8gcGFnYW1lbnRvJyxcclxuICBFTV9QUkVQQVJPID0gJ1ByZXBhcmFuZG8gcGVkaWRvJyxcclxuICBORl9FTUlUSURBID0gJ05vdGEgRmlzY2FsIEVtaXRpZGEnLFxyXG4gIEFHVUFSREFORE9fRU5WSU8gPSAnQWd1YXJkYW5kbyBUcmFuc2Fwb3J0YWRvcmEnLFxyXG4gIEVOVklBRE8gPSAnRW52aWFkbycsXHJcbiAgRU5UUkVHVUUgPSAnRW50cmVndWUnLFxyXG4gIENBTkNFTEFETyA9ICdDYW5jZWxhZG8nLFxyXG4gIENSRURJVF9DQVJEID0gJ2NyZWRpdF9jYXJkJyxcclxufVxyXG4iXX0=
@@ -0,0 +1,10 @@
1
+ export var FirestoreFieldType;
2
+ (function (FirestoreFieldType) {
3
+ FirestoreFieldType["String"] = "string";
4
+ FirestoreFieldType["Number"] = "number";
5
+ FirestoreFieldType["Boolean"] = "boolean";
6
+ FirestoreFieldType["Timestamp"] = "timestamp";
7
+ FirestoreFieldType["Array"] = "array";
8
+ FirestoreFieldType["Map"] = "map";
9
+ })(FirestoreFieldType || (FirestoreFieldType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLWZpZWxkLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9lbnVtcy9maXJlc3RvcmUtZmllbGQtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGtCQU9YO0FBUEQsV0FBWSxrQkFBa0I7SUFDNUIsdUNBQWlCLENBQUE7SUFDakIsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsNkNBQXVCLENBQUE7SUFDdkIscUNBQWUsQ0FBQTtJQUNmLGlDQUFXLENBQUE7QUFDYixDQUFDLEVBUFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQU83QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpcmVzdG9yZUZpZWxkVHlwZSB7XHJcbiAgU3RyaW5nID0gJ3N0cmluZycsXHJcbiAgTnVtYmVyID0gJ251bWJlcicsXHJcbiAgQm9vbGVhbiA9ICdib29sZWFuJyxcclxuICBUaW1lc3RhbXAgPSAndGltZXN0YW1wJyxcclxuICBBcnJheSA9ICdhcnJheScsXHJcbiAgTWFwID0gJ21hcCcsXHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './firestore-field-type.enum';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlyZXN0b3JlLWZpZWxkLXR5cGUuZW51bSdcclxuIl19
@@ -1,6 +1,7 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Where, } from '../../../../domain';
3
3
  import { isDate, isNil, isNumber, isObject, isString, set } from '../../../../utils';
4
+ import { FirestoreFieldType } from '../enums';
4
5
  export const withFindFirestore = (MixinBase) => {
5
6
  const checkIfIsFilterOption = (filter) => !isNil(filter === null || filter === void 0 ? void 0 : filter.operator);
6
7
  const getValueFromFilter = (filter) => {
@@ -24,13 +25,16 @@ export const withFindFirestore = (MixinBase) => {
24
25
  ? fieldName.toString()
25
26
  : Object.keys(plainInstance).find((key) => plainInstance[key]);
26
27
  if ((options === null || options === void 0 ? void 0 : options.operator) === Where.LIKE) {
27
- if (Array.isArray(options === null || options === void 0 ? void 0 : options.value))
28
+ if (Array.isArray(options === null || options === void 0 ? void 0 : options.value) &&
29
+ (this.fields[firestoreFieldName] === FirestoreFieldType.Array || !this.fields[firestoreFieldName]))
28
30
  return queryReference.where(firestoreFieldName, 'array-contains-any', options.value);
29
31
  queryReference = queryReference.where(firestoreFieldName, '>=', options.value);
30
32
  queryReference = queryReference.where(firestoreFieldName, '<=', `${options.value}~`);
31
33
  return queryReference;
32
34
  }
33
- if ((options === null || options === void 0 ? void 0 : options.operator) === Where.IN && Array.isArray(options === null || options === void 0 ? void 0 : options.value))
35
+ if ((options === null || options === void 0 ? void 0 : options.operator) === Where.IN &&
36
+ Array.isArray(options === null || options === void 0 ? void 0 : options.value) &&
37
+ (this.fields[firestoreFieldName] === FirestoreFieldType.Array || !this.fields[firestoreFieldName]))
34
38
  return queryReference.where(firestoreFieldName, 'array-contains', options.value);
35
39
  if (isObject(options) && isNil(options === null || options === void 0 ? void 0 : options.operator) && isNil(options === null || options === void 0 ? void 0 : options.value)) {
36
40
  return Object.keys(options).reduce((queryReferenceWithWhere, key) => this.buildWhereSentence(queryReferenceWithWhere, `${fieldName.toString()}.${key}`, options[key]), queryReference);
@@ -38,9 +42,11 @@ export const withFindFirestore = (MixinBase) => {
38
42
  return queryReference.where(firestoreFieldName, (options === null || options === void 0 ? void 0 : options.operator) || '==', (options === null || options === void 0 ? void 0 : options.value) || options);
39
43
  };
40
44
  }
41
- find({ filters, limits, orderBy, } = {}) {
45
+ find({ filters, limits, orderBy, options } = {}) {
46
+ var _a;
42
47
  return __awaiter(this, void 0, void 0, function* () {
43
48
  const orderByKeys = Object.keys(orderBy || {});
49
+ const enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
44
50
  let query = this.collection(this.buildCollectionPathForFind(filters || {}));
45
51
  query = this.makeFirestoreWhere(query, filters || {});
46
52
  if (orderByKeys.length) {
@@ -54,7 +60,7 @@ export const withFindFirestore = (MixinBase) => {
54
60
  const data = docs.docs.map((doc) => doc.data());
55
61
  return {
56
62
  data,
57
- count: this.calculateCount(data, limits),
63
+ count: enableCount ? this.calculateCount(data, limits) : Infinity,
58
64
  };
59
65
  });
60
66
  }
@@ -89,4 +95,4 @@ export const withFindFirestore = (MixinBase) => {
89
95
  }
90
96
  };
91
97
  };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQVVMLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFxQyxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUd2SCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUkvQixTQUFnRixFQUloRixFQUFFO0lBQ0YsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQVcsRUFBdUQsRUFBRSxDQUNqRyxDQUFDLEtBQUssQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsUUFBUSxDQUFDLENBQUE7SUFDMUIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE1BQXVDLEVBQU8sRUFBRTtRQUMxRSxPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFDOUQsQ0FBQyxDQUFBO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ3ZDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV0QyxPQUFPLE1BQU0s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QU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxDQUFBO2dCQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtZQUVuRCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO0tBQ0ssQ0FBQTtBQUNWLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25SZWZlcmVuY2UsIFF1ZXJ5LCBXaGVyZUZpbHRlck9wIH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcclxuXHJcbmltcG9ydCB7XHJcbiAgRmluZFJlcG9zaXRvcnksXHJcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyxcclxuICBSZXBvc2l0b3J5RmluZEZpZWxkLFxyXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnMsXHJcbiAgUmVwb3NpdG9yeUZpbmRSZXN1bHQsXHJcbiAgUmVwb3NpdG9yeUxpbWl0T3B0aW9ucyxcclxuICBSZXBvc2l0b3J5T3JkZXJCeSxcclxuICBXaGVyZSxcclxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IGlzRGF0ZSwgaXNOaWwsIGlzTnVtYmVyLCBpc09iamVjdCwgaXNTdHJpbmcsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3Rvciwgc2V0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcclxuXHJcbmV4cG9ydCBjb25zdCB3aXRoRmluZEZpcmVzdG9yZSA9IDxcclxuICBUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+PixcclxuPihcclxuICBNaXhpbkJhc2U6IE1peGluQ3RvcjxGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiAmIEZpcmVzdG9yZUhlbHBlcnM+ICYgVE1peGluQmFzZSxcclxuKTogTWl4aW5DdG9yPFxyXG4gIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+ICYgRmluZFJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycyxcclxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPHt9LCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XHJcbj4gPT4ge1xyXG4gIGNvbnN0IGNoZWNrSWZJc0ZpbHRlck9wdGlvbiA9IChmaWx0ZXI6IGFueSk6IGZpbHRlciBpcyBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgYW55PiA9PlxyXG4gICAgIWlzTmlsKGZpbHRlcj8ub3BlcmF0b3IpXHJcbiAgY29uc3QgZ2V0VmFsdWVGcm9tRmlsdGVyID0gKGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsZDxUQmFzZSwgYW55Pik6IGFueSA9PiB7XHJcbiAgICByZXR1cm4gY2hlY2tJZklzRmlsdGVyT3B0aW9uKGZpbHRlcikgPyBmaWx0ZXIudmFsdWUgOiBmaWx0ZXJcclxuICB9XHJcbiAgY29uc3QgZ2V0RmluYWxWYWx1ZUZyb20gPSAodmFsdWU6IGFueSkgPT5cclxuICAgIGlzTnVtYmVyKHZhbHVlKSB8fCBpc1N0cmluZyh2YWx1ZSkgfHwgaXNEYXRlKHZhbHVlKSB8fCBBcnJheS5pc0FycmF5KHZhbHVlKVxyXG4gICAgICA/IHZhbHVlXHJcbiAgICAgIDogT2JqZWN0LnZhbHVlcyhnZXRGaW5hbFZhbHVlRnJvbSlcclxuXHJcbiAgcmV0dXJuIGNsYXNzIEZpbmRGaXJlc3RvcmUgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaW5kUmVwb3NpdG9yeTxUQmFzZT4ge1xyXG4gICAgYXN5bmMgZmluZCh7XHJcbiAgICAgIGZpbHRlcnMsXHJcbiAgICAgIGxpbWl0cyxcclxuICAgICAgb3JkZXJCeSxcclxuICAgIH06IHtcclxuICAgICAgZmlsdGVycz86IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+XHJcbiAgICAgIGxpbWl0cz86IFJlcG9zaXRvcnlMaW1pdE9wdGlvbnM8VEJhc2U+XHJcbiAgICAgIG9yZGVyQnk/OiBSZXBvc2l0b3J5T3JkZXJCeTxUQmFzZT5cclxuICAgIH0gPSB7fSk6IFByb21pc2U8UmVwb3NpdG9yeUZpbmRSZXN1bHQ8VEJhc2U+PiB7XHJcbiAgICAgIGNvbnN0IG9yZGVyQnlLZXlzID0gT2JqZWN0LmtleXMob3JkZXJCeSB8fCB7fSlcclxuICAgICAgbGV0IHF1ZXJ5OiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB8IFF1ZXJ5PFRCYXNlPiA9IHRoaXMuY29sbGVjdGlvbihcclxuICAgICAgICB0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnMgfHwge30pLFxyXG4gICAgICApXHJcblxyXG4gICAgICBxdWVyeSA9IHRoaXMubWFrZUZpcmVzdG9yZVdoZXJlKHF1ZXJ5LCBmaWx0ZXJzIHx8IHt9KVxyXG5cclxuICAgICAgaWYgKG9yZGVyQnlLZXlzLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZCA9IE9iamVjdC5rZXlzKGZpbHRlcnMgfHwge30pLmZpbHRlcihcclxuICAgICAgICAgIChmaWx0ZXJLZXkpID0+ICFvcmRlckJ5S2V5cy5pbmNsdWRlcyhmaWx0ZXJLZXkpLFxyXG4gICAgICAgIClcclxuXHJcbiAgICAgICAgaWYgKGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZC5sZW5ndGgpXHJcbiAgICAgICAgICBmaWx0ZXJzS2V5c1dpdGhVbm9yZGVyZWQuZm9yRWFjaChcclxuICAgICAgICAgICAgKGZpbHRlcktleSkgPT5cclxuICAgICAgICAgICAgICAob3JkZXJCeSA9IHtcclxuICAgICAgICAgICAgICAgIC4uLighW1doZXJlLkVRVUFMU10uaW5jbHVkZXMoZmlsdGVyc1tmaWx0ZXJLZXldLm9wZXJhdG9yKSA/IHsgW2ZpbHRlcktleV06ICdhc2MnIH0gOiB7fSksXHJcbiAgICAgICAgICAgICAgICAuLi5vcmRlckJ5LFxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKVxyXG5cclxuICAgICAgICBPYmplY3Qua2V5cyhvcmRlckJ5KS5mb3JFYWNoKChmaWVsZE5hbWUpID0+IChxdWVyeSA9IHF1ZXJ5Lm9yZGVyQnkoZmllbGROYW1lLCBvcmRlckJ5W2ZpZWxkTmFtZV0pKSlcclxuICAgICAgfVxyXG5cclxuICAgICAgcXVlcnkgPSBhd2FpdCB0aGlzLmRlZmluZUxpbWl0cyhxdWVyeSwgZmlsdGVycywgbGltaXRzKVxyXG5cclxuICAgICAgY29uc3QgZG9jcyA9IGF3YWl0IHF1ZXJ5LmdldCgpXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBkb2NzLmRvY3MubWFwKChkb2MpID0+IGRvYy5kYXRhKCkpXHJcblxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgY291bnQ6IHRoaXMuY2FsY3VsYXRlQ291bnQoZGF0YSwgbGltaXRzKSxcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnM6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+KTogc3RyaW5nIHtcclxuICAgICAgaWYgKCF0aGlzLmlzU3ViQ29sbGVjdGlvbjxUQmFzZT4odGhpcykpIHJldHVybiB0aGlzLmNvbGxlY3Rpb25OYW1lXHJcblxyXG4gICAgICBjb25zdCBwYXJlbnRJZEZpZWxkID0gdGhpcy5wYXJlbnRJZEZpZWxkXHJcbiAgICAgIGNvbnN0IHBhcmVudElkID0gZ2V0VmFsdWVGcm9tRmlsdGVyKGZpbHRlcnM/LltwYXJlbnRJZEZpZWxkXSlcclxuXHJcbiAgICAgIHJldHVybiBgJHt0aGlzLnBhcmVudFJlcG9zaXRvcnkuY29sbGVjdGlvbk5hbWV9LyR7cGFyZW50SWR9LyR7dGhpcy5jb2xsZWN0aW9uTmFtZX1gXHJcbiAgICB9XHJcblxyXG4gICAgbWFrZUZpcmVzdG9yZVdoZXJlID0gKFxyXG4gICAgICBxdWVyeVJlZmVyZW5jZTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4gfCBRdWVyeTxUQmFzZT4sXHJcbiAgICAgIGZpbHRlcjogUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxUQmFzZT4sXHJcbiAgICApOiBRdWVyeTxUQmFzZT4gPT5cclxuICAgICAgT2JqZWN0LmtleXMoZmlsdGVyKS5yZWR1Y2UoXHJcbiAgICAgICAgKHF1ZXJ5OiBRdWVyeTxUQmFzZT4sIGZpZWxkTmFtZTogc3RyaW5nKSA9PiB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShxdWVyeSwgZmllbGROYW1lLCBmaWx0ZXJbZmllbGROYW1lXSksXHJcbiAgICAgICAgcXVlcnlSZWZlcmVuY2UsXHJcbiAgICAgIClcclxuXHJcbiAgICBidWlsZFdoZXJlU2VudGVuY2UgPSAoXHJcbiAgICAgIHF1ZXJ5UmVmZXJlbmNlOiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB8IFF1ZXJ5PFRCYXNlPixcclxuICAgICAgZmllbGROYW1lOiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+IHwgc3RyaW5nLFxyXG4gICAgICBvcHRpb25zOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxUQmFzZSwgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPj4sXHJcbiAgICApOiBRdWVyeTxUQmFzZT4gPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc1N1YkNvbGxlY3Rpb248VEJhc2U+KHRoaXMpICYmIGZpZWxkTmFtZSA9PT0gdGhpcy5wYXJlbnRJZEZpZWxkKSByZXR1cm4gcXVlcnlSZWZlcmVuY2VcclxuXHJcbiAgICAgIGNvbnN0IHZhbHVlID0gb3B0aW9ucz8udmFsdWUgfHwgb3B0aW9uc1xyXG4gICAgICBjb25zdCBvYmplY3QgPSB7fVxyXG5cclxuICAgICAgc2V0KG9iamVjdCwgZmllbGROYW1lLCB2YWx1ZSlcclxuXHJcbiAgICAgIGNvbnN0IHBsYWluSW5zdGFuY2UgPSBuZXcgdGhpcy5tb2RlbChvYmplY3QpLnRvUGxhaW4oKVxyXG4gICAgICBjb25zdCBmaXJlc3RvcmVGaWVsZE5hbWUgPVxyXG4gICAgICAgIGZpZWxkTmFtZS50b1N0cmluZygpLmluZGV4T2YoJy4nKSA+IC0xXHJcbiAgICAgICAgICA/IGZpZWxkTmFtZS50b1N0cmluZygpXHJcbiAgICAgICAgICA6IE9iamVjdC5rZXlzKHBsYWluSW5zdGFuY2UpLmZpbmQoKGtleSkgPT4gcGxhaW5JbnN0YW5jZVtrZXldKVxyXG5cclxuICAgICAgaWYgKG9wdGlvbnM/Lm9wZXJhdG9yID09PSBXaGVyZS5MSUtFKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpKVxyXG4gICAgICAgICAgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlLndoZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJ2FycmF5LWNvbnRhaW5zLWFueScsIG9wdGlvbnMudmFsdWUpXHJcblxyXG4gICAgICAgIHF1ZXJ5UmVmZXJlbmNlID0gcXVlcnlSZWZlcmVuY2Uud2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnPj0nLCBvcHRpb25zLnZhbHVlKVxyXG4gICAgICAgIHF1ZXJ5UmVmZXJlbmNlID0gcXVlcnlSZWZlcmVuY2Uud2hlcmUoZmlyZXN0b3JlRmllbGROYW1lLCAnPD0nLCBgJHtvcHRpb25zLnZhbHVlfX5gKVxyXG5cclxuICAgICAgICByZXR1cm4gcXVlcnlSZWZlcmVuY2VcclxuICAgICAgfVxyXG4gICAgICBpZiAob3B0aW9ucz8ub3BlcmF0b3IgPT09IFdoZXJlLklOICYmIEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpKVxyXG4gICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucycsIG9wdGlvbnMudmFsdWUpXHJcbiAgICAgIGlmIChpc09iamVjdChvcHRpb25zKSAmJiBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiYgaXNOaWwob3B0aW9ucz8udmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZShcclxuICAgICAgICAgIChxdWVyeVJlZmVyZW5jZVdpdGhXaGVyZSwga2V5KSA9PlxyXG4gICAgICAgICAgICB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShxdWVyeVJlZmVyZW5jZVdpdGhXaGVyZSwgYCR7ZmllbGROYW1lLnRvU3RyaW5nKCl9LiR7a2V5fWAsIG9wdGlvbnNba2V5XSksXHJcbiAgICAgICAgICBxdWVyeVJlZmVyZW5jZSxcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShcclxuICAgICAgICBmaXJlc3RvcmVGaWVsZE5hbWUsXHJcbiAgICAgICAgKG9wdGlvbnM/Lm9wZXJhdG9yIGFzIFdoZXJlRmlsdGVyT3ApIHx8ICc9PScsXHJcbiAgICAgICAgb3B0aW9ucz8udmFsdWUgfHwgb3B0aW9ucyxcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlZmluZUxpbWl0cyhcclxuICAgICAgcXVlcnk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHwgUXVlcnk8VEJhc2U+LFxyXG4gICAgICBmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPixcclxuICAgICAgbGltaXRzOiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPixcclxuICAgICk6IFByb21pc2U8UXVlcnk8VEJhc2U+PiB7XHJcbiAgICAgIGlmIChsaW1pdHM/Lm9mZnNldCkge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmlzTW9kZWwobGltaXRzLm9mZnNldCkpXHJcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5LnN0YXJ0QWZ0ZXIoXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnMpKVxyXG4gICAgICAgICAgICAgIC5kb2MobGltaXRzLm9mZnNldFtsaW1pdHMub2Zmc2V0LmlkZW50aWZpZXJzRmllbGRzLnNoaWZ0KCkgYXMgc3RyaW5nXSlcclxuICAgICAgICAgICAgICAuZ2V0KCksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgZWxzZSBpZiAoaXNOdW1iZXIobGltaXRzLm9mZnNldCkgfHwgaXNTdHJpbmcobGltaXRzLm9mZnNldCkpIHF1ZXJ5ID0gcXVlcnkuc3RhcnRBdChsaW1pdHMub2Zmc2V0KVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChsaW1pdHM/LmxpbWl0KSBxdWVyeSA9IHF1ZXJ5LmxpbWl0KGxpbWl0cy5saW1pdClcclxuXHJcbiAgICAgIHJldHVybiBxdWVyeVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGN1bGF0ZUNvdW50KGRhdGE6IFRCYXNlW10sIGxpbWl0czogUmVwb3NpdG9yeUxpbWl0T3B0aW9uczxUQmFzZT4pOiBudW1iZXIge1xyXG4gICAgICBpZiAoZGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuIDBcclxuICAgICAgaWYgKGRhdGEubGVuZ3RoIDwgbGltaXRzPy5saW1pdCkgcmV0dXJuIGRhdGEubGVuZ3RoXHJcblxyXG4gICAgICByZXR1cm4gSW5maW5pdHlcclxuICAgIH1cclxuICB9IGFzIGFueVxyXG59XHJcbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC1maW5kLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQVVMLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFxQyxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFHN0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FJL0IsU0FBZ0YsRUFJaEYsRUFBRTtJQUNGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFXLEVBQXVELEVBQUUsQ0FDakcsQ0FBQyxLQUFLLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzFCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUF1QyxFQUFPLEVBQUU7UUFDMUUsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO0lBQzlELENBQUMsQ0FBQTtJQUNELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUN2QyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN6RSxDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxNQUFNLENBQUMs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TUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO3dCQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtpQkFDbEc7Z0JBQ0QsSUFBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSztvQkFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBRXBELE9BQU8sS0FBSyxDQUFBO1lBQ2QsQ0FBQztTQUFBO1FBRUQsY0FBYyxDQUFDLElBQWEsRUFBRSxNQUFxQztZQUNqRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztnQkFBRSxPQUFPLENBQUMsQ0FBQTtZQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUcsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLEtBQUssQ0FBQTtnQkFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7WUFFbkQsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBRdWVyeSwgV2hlcmVGaWx0ZXJPcCB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXHJcblxyXG5pbXBvcnQge1xyXG4gIEZpbmRSZXBvc2l0b3J5LFxyXG4gIEZpbmRSZXBvc2l0b3J5UGFyYW1zLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsZCxcclxuICBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzLFxyXG4gIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zLFxyXG4gIFJlcG9zaXRvcnlGaW5kUmVzdWx0LFxyXG4gIFJlcG9zaXRvcnlMaW1pdE9wdGlvbnMsXHJcbiAgV2hlcmUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBpc0RhdGUsIGlzTmlsLCBpc051bWJlciwgaXNPYmplY3QsIGlzU3RyaW5nLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IsIHNldCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBGaXJlc3RvcmVGaWVsZFR5cGUgfSBmcm9tICcuLi9lbnVtcydcclxuaW1wb3J0IHsgRmlyZXN0b3JlSGVscGVycywgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhGaW5kRmlyZXN0b3JlID0gPFxyXG4gIFRCYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxyXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4+LFxyXG4+KFxyXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxyXG4pOiBNaXhpbkN0b3I8XHJcbiAgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4gJiBGaW5kUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzLFxyXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8e30sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cclxuPiA9PiB7XHJcbiAgY29uc3QgY2hlY2tJZklzRmlsdGVyT3B0aW9uID0gKGZpbHRlcjogYW55KTogZmlsdGVyIGlzIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPFRCYXNlLCBhbnk+ID0+XHJcbiAgICAhaXNOaWwoZmlsdGVyPy5vcGVyYXRvcilcclxuICBjb25zdCBnZXRWYWx1ZUZyb21GaWx0ZXIgPSAoZmlsdGVyOiBSZXBvc2l0b3J5RmluZEZpZWxkPFRCYXNlLCBhbnk+KTogYW55ID0+IHtcclxuICAgIHJldHVybiBjaGVja0lmSXNGaWx0ZXJPcHRpb24oZmlsdGVyKSA/IGZpbHRlci52YWx1ZSA6IGZpbHRlclxyXG4gIH1cclxuICBjb25zdCBnZXRGaW5hbFZhbHVlRnJvbSA9ICh2YWx1ZTogYW55KSA9PlxyXG4gICAgaXNOdW1iZXIodmFsdWUpIHx8IGlzU3RyaW5nKHZhbHVlKSB8fCBpc0RhdGUodmFsdWUpIHx8IEFycmF5LmlzQXJyYXkodmFsdWUpXHJcbiAgICAgID8gdmFsdWVcclxuICAgICAgOiBPYmplY3QudmFsdWVzKGdldEZpbmFsVmFsdWVGcm9tKVxyXG5cclxuICByZXR1cm4gY2xhc3MgRmluZEZpcmVzdG9yZSBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpbmRSZXBvc2l0b3J5PFRCYXNlPiB7XHJcbiAgICBhc3luYyBmaW5kKHsgZmlsdGVycywgbGltaXRzLCBvcmRlckJ5LCBvcHRpb25zIH06IEZpbmRSZXBvc2l0b3J5UGFyYW1zPFRCYXNlPiA9IHt9KTogUHJvbWlzZTxcclxuICAgICAgUmVwb3NpdG9yeUZpbmRSZXN1bHQ8VEJhc2U+XHJcbiAgICA+IHtcclxuICAgICAgY29uc3Qgb3JkZXJCeUtleXMgPSBPYmplY3Qua2V5cyhvcmRlckJ5IHx8IHt9KVxyXG4gICAgICBjb25zdCBlbmFibGVDb3VudCA9IG9wdGlvbnM/LmVuYWJsZUNvdW50ID8/IHRydWVcclxuICAgICAgbGV0IHF1ZXJ5OiBDb2xsZWN0aW9uUmVmZXJlbmNlPFRCYXNlPiB8IFF1ZXJ5PFRCYXNlPiA9IHRoaXMuY29sbGVjdGlvbihcclxuICAgICAgICB0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnMgfHwge30pLFxyXG4gICAgICApXHJcblxyXG4gICAgICBxdWVyeSA9IHRoaXMubWFrZUZpcmVzdG9yZVdoZXJlKHF1ZXJ5LCBmaWx0ZXJzIHx8IHt9KVxyXG5cclxuICAgICAgaWYgKG9yZGVyQnlLZXlzLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZCA9IE9iamVjdC5rZXlzKGZpbHRlcnMgfHwge30pLmZpbHRlcihcclxuICAgICAgICAgIChmaWx0ZXJLZXkpID0+ICFvcmRlckJ5S2V5cy5pbmNsdWRlcyhmaWx0ZXJLZXkpLFxyXG4gICAgICAgIClcclxuXHJcbiAgICAgICAgaWYgKGZpbHRlcnNLZXlzV2l0aFVub3JkZXJlZC5sZW5ndGgpXHJcbiAgICAgICAgICBmaWx0ZXJzS2V5c1dpdGhVbm9yZGVyZWQuZm9yRWFjaChcclxuICAgICAgICAgICAgKGZpbHRlcktleSkgPT5cclxuICAgICAgICAgICAgICAob3JkZXJCeSA9IHtcclxuICAgICAgICAgICAgICAgIC4uLighW1doZXJlLkVRVUFMU10uaW5jbHVkZXMoZmlsdGVyc1tmaWx0ZXJLZXldLm9wZXJhdG9yKSA/IHsgW2ZpbHRlcktleV06ICdhc2MnIH0gOiB7fSksXHJcbiAgICAgICAgICAgICAgICAuLi5vcmRlckJ5LFxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKVxyXG5cclxuICAgICAgICBPYmplY3Qua2V5cyhvcmRlckJ5KS5mb3JFYWNoKChmaWVsZE5hbWUpID0+IChxdWVyeSA9IHF1ZXJ5Lm9yZGVyQnkoZmllbGROYW1lLCBvcmRlckJ5W2ZpZWxkTmFtZV0pKSlcclxuICAgICAgfVxyXG5cclxuICAgICAgcXVlcnkgPSBhd2FpdCB0aGlzLmRlZmluZUxpbWl0cyhxdWVyeSwgZmlsdGVycywgbGltaXRzKVxyXG5cclxuICAgICAgY29uc3QgZG9jcyA9IGF3YWl0IHF1ZXJ5LmdldCgpXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBkb2NzLmRvY3MubWFwKChkb2MpID0+IGRvYy5kYXRhKCkpXHJcblxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgY291bnQ6IGVuYWJsZUNvdW50ID8gdGhpcy5jYWxjdWxhdGVDb3VudChkYXRhLCBsaW1pdHMpIDogSW5maW5pdHksXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBidWlsZENvbGxlY3Rpb25QYXRoRm9yRmluZChmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPik6IHN0cmluZyB7XHJcbiAgICAgIGlmICghdGhpcy5pc1N1YkNvbGxlY3Rpb248VEJhc2U+KHRoaXMpKSByZXR1cm4gdGhpcy5jb2xsZWN0aW9uTmFtZVxyXG5cclxuICAgICAgY29uc3QgcGFyZW50SWRGaWVsZCA9IHRoaXMucGFyZW50SWRGaWVsZFxyXG4gICAgICBjb25zdCBwYXJlbnRJZCA9IGdldFZhbHVlRnJvbUZpbHRlcihmaWx0ZXJzPy5bcGFyZW50SWRGaWVsZF0pXHJcblxyXG4gICAgICByZXR1cm4gYCR7dGhpcy5wYXJlbnRSZXBvc2l0b3J5LmNvbGxlY3Rpb25OYW1lfS8ke3BhcmVudElkfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxyXG4gICAgfVxyXG5cclxuICAgIG1ha2VGaXJlc3RvcmVXaGVyZSA9IChcclxuICAgICAgcXVlcnlSZWZlcmVuY2U6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHwgUXVlcnk8VEJhc2U+LFxyXG4gICAgICBmaWx0ZXI6IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8VEJhc2U+LFxyXG4gICAgKTogUXVlcnk8VEJhc2U+ID0+XHJcbiAgICAgIE9iamVjdC5rZXlzKGZpbHRlcikucmVkdWNlKFxyXG4gICAgICAgIChxdWVyeTogUXVlcnk8VEJhc2U+LCBmaWVsZE5hbWU6IHN0cmluZykgPT4gdGhpcy5idWlsZFdoZXJlU2VudGVuY2UocXVlcnksIGZpZWxkTmFtZSwgZmlsdGVyW2ZpZWxkTmFtZV0pLFxyXG4gICAgICAgIHF1ZXJ5UmVmZXJlbmNlLFxyXG4gICAgICApXHJcblxyXG4gICAgYnVpbGRXaGVyZVNlbnRlbmNlID0gKFxyXG4gICAgICBxdWVyeVJlZmVyZW5jZTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4gfCBRdWVyeTxUQmFzZT4sXHJcbiAgICAgIGZpZWxkTmFtZTogTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPFRCYXNlPiB8IHN0cmluZyxcclxuICAgICAgb3B0aW9uczogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8VEJhc2UsIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUQmFzZT4+LFxyXG4gICAgKTogUXVlcnk8VEJhc2U+ID0+IHtcclxuICAgICAgaWYgKHRoaXMuaXNTdWJDb2xsZWN0aW9uPFRCYXNlPih0aGlzKSAmJiBmaWVsZE5hbWUgPT09IHRoaXMucGFyZW50SWRGaWVsZCkgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlXHJcblxyXG4gICAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbnM/LnZhbHVlIHx8IG9wdGlvbnNcclxuICAgICAgY29uc3Qgb2JqZWN0ID0ge31cclxuXHJcbiAgICAgIHNldChvYmplY3QsIGZpZWxkTmFtZSwgdmFsdWUpXHJcblxyXG4gICAgICBjb25zdCBwbGFpbkluc3RhbmNlID0gbmV3IHRoaXMubW9kZWwob2JqZWN0KS50b1BsYWluKClcclxuICAgICAgY29uc3QgZmlyZXN0b3JlRmllbGROYW1lID1cclxuICAgICAgICBmaWVsZE5hbWUudG9TdHJpbmcoKS5pbmRleE9mKCcuJykgPiAtMVxyXG4gICAgICAgICAgPyBmaWVsZE5hbWUudG9TdHJpbmcoKVxyXG4gICAgICAgICAgOiBPYmplY3Qua2V5cyhwbGFpbkluc3RhbmNlKS5maW5kKChrZXkpID0+IHBsYWluSW5zdGFuY2Vba2V5XSlcclxuXHJcbiAgICAgIGlmIChvcHRpb25zPy5vcGVyYXRvciA9PT0gV2hlcmUuTElLRSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpICYmXHJcbiAgICAgICAgICAodGhpcy5maWVsZHNbZmlyZXN0b3JlRmllbGROYW1lXSA9PT0gRmlyZXN0b3JlRmllbGRUeXBlLkFycmF5IHx8ICF0aGlzLmZpZWxkc1tmaXJlc3RvcmVGaWVsZE5hbWVdKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucy1hbnknLCBvcHRpb25zLnZhbHVlKVxyXG5cclxuICAgICAgICBxdWVyeVJlZmVyZW5jZSA9IHF1ZXJ5UmVmZXJlbmNlLndoZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJz49Jywgb3B0aW9ucy52YWx1ZSlcclxuICAgICAgICBxdWVyeVJlZmVyZW5jZSA9IHF1ZXJ5UmVmZXJlbmNlLndoZXJlKGZpcmVzdG9yZUZpZWxkTmFtZSwgJzw9JywgYCR7b3B0aW9ucy52YWx1ZX1+YClcclxuXHJcbiAgICAgICAgcmV0dXJuIHF1ZXJ5UmVmZXJlbmNlXHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIG9wdGlvbnM/Lm9wZXJhdG9yID09PSBXaGVyZS5JTiAmJlxyXG4gICAgICAgIEFycmF5LmlzQXJyYXkob3B0aW9ucz8udmFsdWUpICYmXHJcbiAgICAgICAgKHRoaXMuZmllbGRzW2ZpcmVzdG9yZUZpZWxkTmFtZV0gPT09IEZpcmVzdG9yZUZpZWxkVHlwZS5BcnJheSB8fCAhdGhpcy5maWVsZHNbZmlyZXN0b3JlRmllbGROYW1lXSlcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShmaXJlc3RvcmVGaWVsZE5hbWUsICdhcnJheS1jb250YWlucycsIG9wdGlvbnMudmFsdWUpXHJcbiAgICAgIGlmIChpc09iamVjdChvcHRpb25zKSAmJiBpc05pbChvcHRpb25zPy5vcGVyYXRvcikgJiYgaXNOaWwob3B0aW9ucz8udmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wdGlvbnMpLnJlZHVjZShcclxuICAgICAgICAgIChxdWVyeVJlZmVyZW5jZVdpdGhXaGVyZSwga2V5KSA9PlxyXG4gICAgICAgICAgICB0aGlzLmJ1aWxkV2hlcmVTZW50ZW5jZShxdWVyeVJlZmVyZW5jZVdpdGhXaGVyZSwgYCR7ZmllbGROYW1lLnRvU3RyaW5nKCl9LiR7a2V5fWAsIG9wdGlvbnNba2V5XSksXHJcbiAgICAgICAgICBxdWVyeVJlZmVyZW5jZSxcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBxdWVyeVJlZmVyZW5jZS53aGVyZShcclxuICAgICAgICBmaXJlc3RvcmVGaWVsZE5hbWUsXHJcbiAgICAgICAgKG9wdGlvbnM/Lm9wZXJhdG9yIGFzIFdoZXJlRmlsdGVyT3ApIHx8ICc9PScsXHJcbiAgICAgICAgb3B0aW9ucz8udmFsdWUgfHwgb3B0aW9ucyxcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlZmluZUxpbWl0cyhcclxuICAgICAgcXVlcnk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHwgUXVlcnk8VEJhc2U+LFxyXG4gICAgICBmaWx0ZXJzOiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzPFRCYXNlPixcclxuICAgICAgbGltaXRzOiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPFRCYXNlPixcclxuICAgICk6IFByb21pc2U8UXVlcnk8VEJhc2U+PiB7XHJcbiAgICAgIGlmIChsaW1pdHM/Lm9mZnNldCkge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmlzTW9kZWwobGltaXRzLm9mZnNldCkpXHJcbiAgICAgICAgICBxdWVyeSA9IHF1ZXJ5LnN0YXJ0QWZ0ZXIoXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY29sbGVjdGlvbih0aGlzLmJ1aWxkQ29sbGVjdGlvblBhdGhGb3JGaW5kKGZpbHRlcnMpKVxyXG4gICAgICAgICAgICAgIC5kb2MobGltaXRzLm9mZnNldFtsaW1pdHMub2Zmc2V0LmlkZW50aWZpZXJzRmllbGRzLnNoaWZ0KCkgYXMgc3RyaW5nXSlcclxuICAgICAgICAgICAgICAuZ2V0KCksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgZWxzZSBpZiAoaXNOdW1iZXIobGltaXRzLm9mZnNldCkgfHwgaXNTdHJpbmcobGltaXRzLm9mZnNldCkpIHF1ZXJ5ID0gcXVlcnkuc3RhcnRBdChsaW1pdHMub2Zmc2V0KVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChsaW1pdHM/LmxpbWl0KSBxdWVyeSA9IHF1ZXJ5LmxpbWl0KGxpbWl0cy5saW1pdClcclxuXHJcbiAgICAgIHJldHVybiBxdWVyeVxyXG4gICAgfVxyXG5cclxuICAgIGNhbGN1bGF0ZUNvdW50KGRhdGE6IFRCYXNlW10sIGxpbWl0czogUmVwb3NpdG9yeUxpbWl0T3B0aW9uczxUQmFzZT4pOiBudW1iZXIge1xyXG4gICAgICBpZiAoZGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuIDBcclxuICAgICAgaWYgKGRhdGEubGVuZ3RoIDwgbGltaXRzPy5saW1pdCkgcmV0dXJuIGRhdGEubGVuZ3RoXHJcblxyXG4gICAgICByZXR1cm4gSW5maW5pdHlcclxuICAgIH1cclxuICB9IGFzIGFueVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,25 @@
1
1
  export const withFirestore = (MixinBase) => {
2
+ const isObjectsAndNoDate = (data) => data &&
3
+ !Array.isArray(data) &&
4
+ typeof data === 'object' &&
5
+ (data === null || data === void 0 ? void 0 : data.constructor.name) !== 'Timestamp' &&
6
+ !('seconds' in data);
7
+ const bindDate = (data, keyName) => {
8
+ if ((data === null || data === void 0 ? void 0 : data.constructor.name) === 'Timestamp')
9
+ return data.toDate();
10
+ if (data && typeof data === 'object' && 'seconds' in data)
11
+ return new Date(data.seconds * 1000);
12
+ if (typeof data === 'number' && ['createdAt', 'updatedAt'].includes(keyName))
13
+ return new Date(data);
14
+ return data;
15
+ };
16
+ const bindAllDateFromObject = (data) => {
17
+ return Object.keys(data).reduce((object, key) => (Object.assign(Object.assign({}, object), { [key]: isObjectsAndNoDate(data[key])
18
+ ? bindAllDateFromObject(data[key])
19
+ : Array.isArray(data[key])
20
+ ? data[key].map((element) => (isObjectsAndNoDate(element) ? bindAllDateFromObject(element) : element))
21
+ : bindDate(data[key], key) })), {});
22
+ };
2
23
  return class extends MixinBase {
3
24
  collection(path) {
4
25
  return this.firestore.collection(path || this.collectionName).withConverter(this.buildModelInstance());
@@ -8,15 +29,21 @@ export const withFirestore = (MixinBase) => {
8
29
  toFirestore: (data) => ((data === null || data === void 0 ? void 0 : data.toPlain) ? data.toPlain() : data),
9
30
  fromFirestore: (snap) => {
10
31
  const data = snap.data();
11
- Object.keys(data).forEach((key) => {
12
- if (data[key] && typeof data[key] === 'object' && '_seconds' in data[key]) {
13
- data[key] = data[key].toDate();
14
- }
15
- });
16
- return this.model.toInstance(Object.assign(Object.assign({}, data), { id: snap.id }));
32
+ let bindedData;
33
+ try {
34
+ const ids = { id: snap.id };
35
+ bindedData = bindAllDateFromObject(data);
36
+ return this.model.toInstance(Object.assign(Object.assign({}, bindedData), ids));
37
+ }
38
+ catch (error) {
39
+ console.info('id', snap.id);
40
+ console.info('data', JSON.stringify(bindedData));
41
+ console.error(error);
42
+ throw error;
43
+ }
17
44
  },
18
45
  };
19
46
  }
20
47
  };
21
48
  };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maXJlc3RvcmUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvbWl4aW5zL3dpdGgtZmlyZXN0b3JlLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixTQUFZLEVBQ2tDLEVBQUU7SUFDaEQsT0FBTyxLQUFNLFNBQVEsU0FBUztRQUs1QixVQUFVLENBQUMsSUFBYTtZQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUE7UUFDeEcsQ0FBQztRQUVELGtCQUFrQjtZQUloQixPQUFPO2dCQUNMLFdBQVcsRUFBRSxDQUFDLElBQVcsRUFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkYsYUFBYSxFQUFFLENBQUMsSUFBa0MsRUFBUyxFQUFFO29CQUMzRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7b0JBRXhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7d0JBQ2hDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRCQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO3lCQUMvQjtvQkFDSCxDQUFDLENBQUMsQ0FBQTtvQkFFRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxpQ0FBTSxJQUFJLEtBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUcsQ0FBQTtnQkFDeEQsQ0FBQzthQUNGLENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25SZWZlcmVuY2UsIERvY3VtZW50RGF0YSwgRmlyZWJhc2VGaXJlc3RvcmUsIFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdCB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXHJcblxyXG5pbXBvcnQgeyBCYXNlTW9kZWxCdWlsZGVyLCBNb2RlbEJhc2VTdHJ1Y3R1cmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXHJcblxyXG5leHBvcnQgY29uc3Qgd2l0aEZpcmVzdG9yZSA9IDxUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgVCBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcj4oXHJcbiAgTWl4aW5CYXNlOiBULFxyXG4pOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4sIG5ldmVyPiA9PiB7XHJcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4ge1xyXG4gICAgcmVhZG9ubHkgZmlyZXN0b3JlPzogRmlyZWJhc2VGaXJlc3RvcmVcclxuICAgIGNvbGxlY3Rpb25OYW1lOiBzdHJpbmdcclxuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPFRCYXNlPlxyXG5cclxuICAgIGNvbGxlY3Rpb24ocGF0aD86IHN0cmluZyk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24ocGF0aCB8fCB0aGlzLmNvbGxlY3Rpb25OYW1lKS53aXRoQ29udmVydGVyKHRoaXMuYnVpbGRNb2RlbEluc3RhbmNlKCkpXHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRNb2RlbEluc3RhbmNlKCk6IHtcclxuICAgICAgdG9GaXJlc3RvcmU6IChkYXRhOiBUQmFzZSkgPT4gRG9jdW1lbnREYXRhXHJcbiAgICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8VEJhc2U+KSA9PiBUQmFzZVxyXG4gICAgfSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdG9GaXJlc3RvcmU6IChkYXRhOiBUQmFzZSk6IERvY3VtZW50RGF0YSA9PiAoZGF0YT8udG9QbGFpbiA/IGRhdGEudG9QbGFpbigpIDogZGF0YSksXHJcbiAgICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pOiBUQmFzZSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhID0gc25hcC5kYXRhKClcclxuXHJcbiAgICAgICAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgaWYgKGRhdGFba2V5XSAmJiB0eXBlb2YgZGF0YVtrZXldID09PSAnb2JqZWN0JyAmJiAnX3NlY29uZHMnIGluIGRhdGFba2V5XSkge1xyXG4gICAgICAgICAgICAgIGRhdGFba2V5XSA9IGRhdGFba2V5XS50b0RhdGUoKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG5cclxuICAgICAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoeyAuLi5kYXRhLCBpZDogc25hcC5pZCB9KVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maXJlc3RvcmUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvbWl4aW5zL3dpdGgtZmlyZXN0b3JlLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixTQUFZLEVBQ2tDLEVBQUU7SUFDaEQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQVMsRUFBVyxFQUFFLENBQ2hELElBQUk7UUFDSixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxLQUFLLFFBQVE7UUFDeEIsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVyxDQUFDLElBQUksTUFBSyxXQUFXO1FBQ3RDLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUE7SUFDdEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUF5QixFQUFFLE9BQWUsRUFBdUIsRUFBRTtRQUNuRixJQUFJLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFdBQVcsQ0FBQyxJQUFJLE1BQUssV0FBVztZQUFFLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQ2hFLElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxTQUFTLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUMvRixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUVuRyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsQ0FBQTtJQUNELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFRLEVBQTBELEVBQUU7UUFDakcsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxpQ0FDWixNQUFNLEtBQ1QsQ0FBQyxHQUFHLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDdEcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQzVCLEVBQ0YsRUFBNEQsQ0FDN0QsQ0FBQTtJQUNILENBQUMsQ0FBQTtJQUVELE9BQU8sS0FBTSxTQUFRLFNBQVM7UUFNNUIsVUFBVSxDQUFDLElBQWE7WUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO1FBQ3hHLENBQUM7UUFFRCxrQkFBa0I7WUFJaEIsT0FBTztnQkFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFXLEVBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25GLGFBQWEsRUFBRSxDQUFDLElBQWtDLEVBQVMsRUFBRTtvQkFDM0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO29CQUN4QixJQUFJLFVBQWtFLENBQUE7b0JBRXRFLElBQUk7d0JBQ0YsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFBO3dCQUUzQixVQUFVLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUE7d0JBRXhDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLGlDQUFNLFVBQVUsR0FBSyxHQUFHLEVBQUcsQ0FBQTtxQkFDeEQ7b0JBQUMsT0FBTyxLQUFLLEVBQUU7d0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO3dCQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7d0JBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBRXBCLE1BQU0sS0FBSyxDQUFBO3FCQUNaO2dCQUNILENBQUM7YUFDRixDQUFBO1FBQ0gsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBEb2N1bWVudERhdGEsIEZpcmViYXNlRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xyXG5cclxuaW1wb3J0IHtcclxuICBCYXNlTW9kZWxCdWlsZGVyLFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzV2l0aE5vUGFydGlhbCxcclxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxyXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXHJcbmltcG9ydCB7IEZpcmVzdG9yZUZpZWxkVHlwZSB9IGZyb20gJy4uL2VudW1zJ1xyXG5pbXBvcnQgeyBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXHJcblxyXG5leHBvcnQgY29uc3Qgd2l0aEZpcmVzdG9yZSA9IDxUQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSwgVCBleHRlbmRzIE1peGluQ3RvciA9IE1peGluQ3Rvcj4oXHJcbiAgTWl4aW5CYXNlOiBULFxyXG4pOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4sIG5ldmVyPiA9PiB7XHJcbiAgY29uc3QgaXNPYmplY3RzQW5kTm9EYXRlID0gKGRhdGE6IGFueSk6IGJvb2xlYW4gPT5cclxuICAgIGRhdGEgJiZcclxuICAgICFBcnJheS5pc0FycmF5KGRhdGEpICYmXHJcbiAgICB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcclxuICAgIGRhdGE/LmNvbnN0cnVjdG9yLm5hbWUgIT09ICdUaW1lc3RhbXAnICYmXHJcbiAgICAhKCdzZWNvbmRzJyBpbiBkYXRhKVxyXG4gIGNvbnN0IGJpbmREYXRlID0gKGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sIGtleU5hbWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIGFueT4gPT4ge1xyXG4gICAgaWYgKGRhdGE/LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdUaW1lc3RhbXAnKSByZXR1cm4gZGF0YS50b0RhdGUoKVxyXG4gICAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmICdzZWNvbmRzJyBpbiBkYXRhKSByZXR1cm4gbmV3IERhdGUoZGF0YS5zZWNvbmRzICogMTAwMClcclxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ251bWJlcicgJiYgWydjcmVhdGVkQXQnLCAndXBkYXRlZEF0J10uaW5jbHVkZXMoa2V5TmFtZSkpIHJldHVybiBuZXcgRGF0ZShkYXRhKVxyXG5cclxuICAgIHJldHVybiBkYXRhXHJcbiAgfVxyXG4gIGNvbnN0IGJpbmRBbGxEYXRlRnJvbU9iamVjdCA9IChkYXRhOiB7fSk6IE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXNXaXRoTm9QYXJ0aWFsPFRCYXNlPiA9PiB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZGF0YSkucmVkdWNlKFxyXG4gICAgICAob2JqZWN0LCBrZXkpID0+ICh7XHJcbiAgICAgICAgLi4ub2JqZWN0LFxyXG4gICAgICAgIFtrZXldOiBpc09iamVjdHNBbmROb0RhdGUoZGF0YVtrZXldKVxyXG4gICAgICAgICAgPyBiaW5kQWxsRGF0ZUZyb21PYmplY3QoZGF0YVtrZXldKVxyXG4gICAgICAgICAgOiBBcnJheS5pc0FycmF5KGRhdGFba2V5XSlcclxuICAgICAgICAgID8gZGF0YVtrZXldLm1hcCgoZWxlbWVudCkgPT4gKGlzT2JqZWN0c0FuZE5vRGF0ZShlbGVtZW50KSA/IGJpbmRBbGxEYXRlRnJvbU9iamVjdChlbGVtZW50KSA6IGVsZW1lbnQpKVxyXG4gICAgICAgICAgOiBiaW5kRGF0ZShkYXRhW2tleV0sIGtleSksXHJcbiAgICAgIH0pLFxyXG4gICAgICB7fSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzV2l0aE5vUGFydGlhbDxUQmFzZT4sXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiB7XHJcbiAgICByZWFkb25seSBmaXJlc3RvcmU/OiBGaXJlYmFzZUZpcmVzdG9yZVxyXG4gICAgY29sbGVjdGlvbk5hbWU6IHN0cmluZ1xyXG4gICAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8VEJhc2U+XHJcbiAgICBmaWVsZHM6IFJlY29yZDxOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPFRCYXNlPiwgRmlyZXN0b3JlRmllbGRUeXBlPlxyXG5cclxuICAgIGNvbGxlY3Rpb24ocGF0aD86IHN0cmluZyk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24ocGF0aCB8fCB0aGlzLmNvbGxlY3Rpb25OYW1lKS53aXRoQ29udmVydGVyKHRoaXMuYnVpbGRNb2RlbEluc3RhbmNlKCkpXHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRNb2RlbEluc3RhbmNlKCk6IHtcclxuICAgICAgdG9GaXJlc3RvcmU6IChkYXRhOiBUQmFzZSkgPT4gRG9jdW1lbnREYXRhXHJcbiAgICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8VEJhc2U+KSA9PiBUQmFzZVxyXG4gICAgfSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdG9GaXJlc3RvcmU6IChkYXRhOiBUQmFzZSk6IERvY3VtZW50RGF0YSA9PiAoZGF0YT8udG9QbGFpbiA/IGRhdGEudG9QbGFpbigpIDogZGF0YSksXHJcbiAgICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pOiBUQmFzZSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhID0gc25hcC5kYXRhKClcclxuICAgICAgICAgIGxldCBiaW5kZWREYXRhOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0aWVzV2l0aE5vUGFydGlhbDxUQmFzZT5cclxuXHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBpZHMgPSB7IGlkOiBzbmFwLmlkIH1cclxuXHJcbiAgICAgICAgICAgIGJpbmRlZERhdGEgPSBiaW5kQWxsRGF0ZUZyb21PYmplY3QoZGF0YSlcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoeyAuLi5iaW5kZWREYXRhLCAuLi5pZHMgfSlcclxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnaWQnLCBzbmFwLmlkKVxyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ2RhdGEnLCBKU09OLnN0cmluZ2lmeShiaW5kZWREYXRhKSlcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuXHJcbiAgICAgICAgICAgIHRocm93IGVycm9yXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
+ import { CampaignDashboard } from '../../../../../domain';
1
2
  import { Base } from '../../../../../utils';
2
- import { CampaignDashboard } from '../../../../../domain/shopping/models/campaign-dashboard';
3
3
  import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
4
4
  export class CampaignDashboardFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
5
5
  constructor(firestore) {
@@ -9,4 +9,4 @@ export class CampaignDashboardFirestoreRepository extends withCrudFirestore(with
9
9
  this.model = CampaignDashboard;
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ24tZGFzaGJvYXJkLWZpcmVzdG9yZS5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL3JlcG9zaXRvcmllcy9zaG9wcGluZy9jYW1wYWlnbi1kYXNoYm9hcmQtZmlyZXN0b3JlLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFBO0FBRTVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVFLE1BQU0sT0FBTyxvQ0FDWCxTQUFRLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFHOUUsWUFBcUIsU0FBNEI7UUFDL0MsS0FBSyxFQUFFLENBQUE7UUFEWSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUUvQyxJQUFJLENBQUMsY0FBYyxHQUFHLHdCQUF3QixDQUFBO1FBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUE7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VGaXJlc3RvcmUgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJ1xyXG5cclxuaW1wb3J0IHsgQ2FtcGFpZ25EYXNoYm9hcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4vc2hvcHBpbmcvbW9kZWxzL2NhbXBhaWduLWRhc2hib2FyZCdcclxuaW1wb3J0IHsgQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL3Nob3BwaW5nL3JlcG9zaXRvcmllcy9jYW1wYWlnbi1kYXNoYm9hcmQucmVwb3NpdG9yeSdcclxuaW1wb3J0IHsgd2l0aENydWRGaXJlc3RvcmUsIHdpdGhGaXJlc3RvcmUsIHdpdGhIZWxwZXJzIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xyXG5cclxuZXhwb3J0IGNsYXNzIENhbXBhaWduRGFzaGJvYXJkRmlyZXN0b3JlUmVwb3NpdG9yeVxyXG4gIGV4dGVuZHMgd2l0aENydWRGaXJlc3RvcmUod2l0aEhlbHBlcnMod2l0aEZpcmVzdG9yZTxDYW1wYWlnbkRhc2hib2FyZD4oQmFzZSkpKVxyXG4gIGltcGxlbWVudHMgQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5XHJcbntcclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaXJlc3RvcmU6IEZpcmViYXNlRmlyZXN0b3JlKSB7XHJcbiAgICBzdXBlcigpXHJcbiAgICB0aGlzLmNvbGxlY3Rpb25OYW1lID0gJ2Rhc2hib2FyZENhbXBhaWduc0F1dG8nXHJcbiAgICB0aGlzLm1vZGVsID0gQ2FtcGFpZ25EYXNoYm9hcmRcclxuICB9XHJcbn1cclxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtcGFpZ24tZGFzaGJvYXJkLWZpcmVzdG9yZS5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL3JlcG9zaXRvcmllcy9zaG9wcGluZy9jYW1wYWlnbi1kYXNoYm9hcmQtZmlyZXN0b3JlLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVFLE1BQU0sT0FBTyxvQ0FDWCxTQUFRLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQW9CLElBQUksQ0FBQyxDQUFDLENBQUM7SUFHOUUsWUFBcUIsU0FBNEI7UUFDL0MsS0FBSyxFQUFFLENBQUE7UUFEWSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUUvQyxJQUFJLENBQUMsY0FBYyxHQUFHLHdCQUF3QixDQUFBO1FBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUE7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlyZWJhc2VGaXJlc3RvcmUgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQ2FtcGFpZ25EYXNoYm9hcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IENhbXBhaWduRGFzaGJvYXJkUmVwb3NpdG9yeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9zaG9wcGluZy9yZXBvc2l0b3JpZXMvY2FtcGFpZ24tZGFzaGJvYXJkLnJlcG9zaXRvcnknXHJcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscydcclxuaW1wb3J0IHsgd2l0aENydWRGaXJlc3RvcmUsIHdpdGhGaXJlc3RvcmUsIHdpdGhIZWxwZXJzIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xyXG5cclxuZXhwb3J0IGNsYXNzIENhbXBhaWduRGFzaGJvYXJkRmlyZXN0b3JlUmVwb3NpdG9yeVxyXG4gIGV4dGVuZHMgd2l0aENydWRGaXJlc3RvcmUod2l0aEhlbHBlcnMod2l0aEZpcmVzdG9yZTxDYW1wYWlnbkRhc2hib2FyZD4oQmFzZSkpKVxyXG4gIGltcGxlbWVudHMgQ2FtcGFpZ25EYXNoYm9hcmRSZXBvc2l0b3J5XHJcbntcclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmaXJlc3RvcmU6IEZpcmViYXNlRmlyZXN0b3JlKSB7XHJcbiAgICBzdXBlcigpXHJcbiAgICB0aGlzLmNvbGxlY3Rpb25OYW1lID0gJ2Rhc2hib2FyZENhbXBhaWduc0F1dG8nXHJcbiAgICB0aGlzLm1vZGVsID0gQ2FtcGFpZ25EYXNoYm9hcmRcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Order } from '../../../../../domain';
2
2
  import { Base } from '../../../../../utils';
3
+ import { FirestoreFieldType } from '../../enums';
3
4
  import { withCrudFirestore, withFirestore, withHelpers } from '../../mixins';
4
5
  export class OrderFirestoreRepository extends withCrudFirestore(withHelpers(withFirestore(Base))) {
5
6
  constructor(firestore) {
@@ -9,7 +10,8 @@ export class OrderFirestoreRepository extends withCrudFirestore(withHelpers(with
9
10
  var _a;
10
11
  if (!!((_a = order === null || order === void 0 ? void 0 : order.lineItems) === null || _a === void 0 ? void 0 : _a.length)) {
11
12
  order.lineItems = order.lineItems.map((lineItem) => {
12
- if (!!lineItem.price[order.shop]) {
13
+ var _a;
14
+ if (!!((_a = lineItem.price) === null || _a === void 0 ? void 0 : _a[order.shop])) {
13
15
  const shopPrice = lineItem['price'][order.shop];
14
16
  lineItem['price'] = shopPrice;
15
17
  }
@@ -20,6 +22,9 @@ export class OrderFirestoreRepository extends withCrudFirestore(withHelpers(with
20
22
  };
21
23
  this.collectionName = 'orders';
22
24
  this.model = Order;
25
+ this.fields = {
26
+ status: FirestoreFieldType.String,
27
+ };
23
28
  }
24
29
  buildModelInstance() {
25
30
  const { fromFirestore, toFirestore } = super.buildModelInstance();
@@ -32,4 +37,4 @@ export class OrderFirestoreRepository extends withCrudFirestore(withHelpers(with
32
37
  };
33
38
  }
34
39
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZmlyZXN0b3JlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvcmVwb3NpdG9yaWVzL3Nob3BwaW5nL29yZGVyLWZpcmVzdG9yZS5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQW1CLE1BQU0sdUJBQXVCLENBQUE7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVFLE1BQU0sT0FBTyx3QkFDWCxTQUFRLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUdsRSxZQUFxQixTQUE0QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQTtRQURZLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBcUJ6Qyx1QkFBa0IsR0FBRyxDQUFDLEtBQVksRUFBUyxFQUFFOztZQUNuRCxJQUFJLENBQUMsQ0FBQyxDQUFBLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsMENBQUUsTUFBTSxDQUFBLEVBQUU7Z0JBQzlCLEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDakQsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ2hDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7d0JBRS9DLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUE7cUJBQzlCO29CQUVELE9BQU8sUUFBUSxDQUFBO2dCQUNqQixDQUFDLENBQUMsQ0FBQTthQUNIO1lBRUQsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUE7UUFqQ0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQztJQUVELGtCQUFrQjtRQUloQixNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQ2pFLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFXLEVBQWdCLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUM5RixhQUFhLEVBQUUsQ0FBQyxJQUFrQyxFQUFTLEVBQUU7Z0JBQzNELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFFcEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDMUMsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0NBaUJGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9jdW1lbnREYXRhLCBGaXJlYmFzZUZpcmVzdG9yZSwgUXVlcnlEb2N1bWVudFNuYXBzaG90IH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcclxuXHJcbmltcG9ydCB7IE9yZGVyLCBPcmRlclJlcG9zaXRvcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscydcclxuXHJcbmltcG9ydCB7IHdpdGhDcnVkRmlyZXN0b3JlLCB3aXRoRmlyZXN0b3JlLCB3aXRoSGVscGVycyB9IGZyb20gJy4uLy4uL21peGlucydcclxuXHJcbmV4cG9ydCBjbGFzcyBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnlcclxuICBleHRlbmRzIHdpdGhDcnVkRmlyZXN0b3JlKHdpdGhIZWxwZXJzKHdpdGhGaXJlc3RvcmU8T3JkZXI+KEJhc2UpKSlcclxuICBpbXBsZW1lbnRzIE9yZGVyUmVwb3NpdG9yeVxyXG57XHJcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZmlyZXN0b3JlOiBGaXJlYmFzZUZpcmVzdG9yZSkge1xyXG4gICAgc3VwZXIoKVxyXG4gICAgdGhpcy5jb2xsZWN0aW9uTmFtZSA9ICdvcmRlcnMnXHJcbiAgICB0aGlzLm1vZGVsID0gT3JkZXJcclxuICB9XHJcblxyXG4gIGJ1aWxkTW9kZWxJbnN0YW5jZSgpOiB7XHJcbiAgICB0b0ZpcmVzdG9yZTogKGRhdGE6IE9yZGVyKSA9PiBEb2N1bWVudERhdGFcclxuICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8T3JkZXI+KSA9PiBPcmRlclxyXG4gIH0ge1xyXG4gICAgY29uc3QgeyBmcm9tRmlyZXN0b3JlLCB0b0ZpcmVzdG9yZSB9ID0gc3VwZXIuYnVpbGRNb2RlbEluc3RhbmNlKClcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRvRmlyZXN0b3JlOiAoZGF0YTogT3JkZXIpOiBEb2N1bWVudERhdGEgPT4gdG9GaXJlc3RvcmUoZGF0YT8udG9QbGFpbiA/IGRhdGEudG9QbGFpbigpIDogZGF0YSksXHJcbiAgICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8T3JkZXI+KTogT3JkZXIgPT4ge1xyXG4gICAgICAgIGNvbnN0IGluc3RhbmNlID0gZnJvbUZpcmVzdG9yZShzbmFwKVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5vcmRlckZyb21GaXJlc3RvcmUoaW5zdGFuY2UpXHJcbiAgICAgIH0sXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9yZGVyRnJvbUZpcmVzdG9yZSA9IChvcmRlcjogT3JkZXIpOiBPcmRlciA9PiB7XHJcbiAgICBpZiAoISFvcmRlcj8ubGluZUl0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgb3JkZXIubGluZUl0ZW1zID0gb3JkZXIubGluZUl0ZW1zLm1hcCgobGluZUl0ZW0pID0+IHtcclxuICAgICAgICBpZiAoISFsaW5lSXRlbS5wcmljZVtvcmRlci5zaG9wXSkge1xyXG4gICAgICAgICAgY29uc3Qgc2hvcFByaWNlID0gbGluZUl0ZW1bJ3ByaWNlJ11bb3JkZXIuc2hvcF1cclxuXHJcbiAgICAgICAgICBsaW5lSXRlbVsncHJpY2UnXSA9IHNob3BQcmljZVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGxpbmVJdGVtXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9yZGVyXHJcbiAgfVxyXG59XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZmlyZXN0b3JlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9maXJlYmFzZS9maXJlc3RvcmUvcmVwb3NpdG9yaWVzL3Nob3BwaW5nL29yZGVyLWZpcmVzdG9yZS5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQW1CLE1BQU0sdUJBQXVCLENBQUE7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU1RSxNQUFNLE9BQU8sd0JBQ1gsU0FBUSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFRLElBQUksQ0FBQyxDQUFDLENBQUM7SUFHbEUsWUFBcUIsU0FBNEI7UUFDL0MsS0FBSyxFQUFFLENBQUE7UUFEWSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQXdCekMsdUJBQWtCLEdBQUcsQ0FBQyxLQUFZLEVBQVMsRUFBRTs7WUFDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO2dCQUM5QixLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7O29CQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFBLE1BQUEsUUFBUSxDQUFDLEtBQUssMENBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBLEVBQUU7d0JBQ2xDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7d0JBRS9DLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUE7cUJBQzlCO29CQUVELE9BQU8sUUFBUSxDQUFBO2dCQUNqQixDQUFDLENBQUMsQ0FBQTthQUNIO1lBRUQsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUE7UUFwQ0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1NBQ2xDLENBQUE7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBSWhCLE1BQU0sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUE7UUFDakUsT0FBTztZQUNMLFdBQVcsRUFBRSxDQUFDLElBQVcsRUFBZ0IsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzlGLGFBQWEsRUFBRSxDQUFDLElBQWtDLEVBQVMsRUFBRTtnQkFDM0QsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUVwQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUMxQyxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7Q0FpQkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb2N1bWVudERhdGEsIEZpcmViYXNlRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xyXG5cclxuaW1wb3J0IHsgT3JkZXIsIE9yZGVyUmVwb3NpdG9yeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBGaXJlc3RvcmVGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcydcclxuXHJcbmltcG9ydCB7IHdpdGhDcnVkRmlyZXN0b3JlLCB3aXRoRmlyZXN0b3JlLCB3aXRoSGVscGVycyB9IGZyb20gJy4uLy4uL21peGlucydcclxuXHJcbmV4cG9ydCBjbGFzcyBPcmRlckZpcmVzdG9yZVJlcG9zaXRvcnlcclxuICBleHRlbmRzIHdpdGhDcnVkRmlyZXN0b3JlKHdpdGhIZWxwZXJzKHdpdGhGaXJlc3RvcmU8T3JkZXI+KEJhc2UpKSlcclxuICBpbXBsZW1lbnRzIE9yZGVyUmVwb3NpdG9yeVxyXG57XHJcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZmlyZXN0b3JlOiBGaXJlYmFzZUZpcmVzdG9yZSkge1xyXG4gICAgc3VwZXIoKVxyXG4gICAgdGhpcy5jb2xsZWN0aW9uTmFtZSA9ICdvcmRlcnMnXHJcbiAgICB0aGlzLm1vZGVsID0gT3JkZXJcclxuICAgIHRoaXMuZmllbGRzID0ge1xyXG4gICAgICBzdGF0dXM6IEZpcmVzdG9yZUZpZWxkVHlwZS5TdHJpbmcsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidWlsZE1vZGVsSW5zdGFuY2UoKToge1xyXG4gICAgdG9GaXJlc3RvcmU6IChkYXRhOiBPcmRlcikgPT4gRG9jdW1lbnREYXRhXHJcbiAgICBmcm9tRmlyZXN0b3JlOiAoc25hcDogUXVlcnlEb2N1bWVudFNuYXBzaG90PE9yZGVyPikgPT4gT3JkZXJcclxuICB9IHtcclxuICAgIGNvbnN0IHsgZnJvbUZpcmVzdG9yZSwgdG9GaXJlc3RvcmUgfSA9IHN1cGVyLmJ1aWxkTW9kZWxJbnN0YW5jZSgpXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0b0ZpcmVzdG9yZTogKGRhdGE6IE9yZGVyKTogRG9jdW1lbnREYXRhID0+IHRvRmlyZXN0b3JlKGRhdGE/LnRvUGxhaW4gPyBkYXRhLnRvUGxhaW4oKSA6IGRhdGEpLFxyXG4gICAgICBmcm9tRmlyZXN0b3JlOiAoc25hcDogUXVlcnlEb2N1bWVudFNuYXBzaG90PE9yZGVyPik6IE9yZGVyID0+IHtcclxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGZyb21GaXJlc3RvcmUoc25hcClcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3JkZXJGcm9tRmlyZXN0b3JlKGluc3RhbmNlKVxyXG4gICAgICB9LFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvcmRlckZyb21GaXJlc3RvcmUgPSAob3JkZXI6IE9yZGVyKTogT3JkZXIgPT4ge1xyXG4gICAgaWYgKCEhb3JkZXI/LmxpbmVJdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgIG9yZGVyLmxpbmVJdGVtcyA9IG9yZGVyLmxpbmVJdGVtcy5tYXAoKGxpbmVJdGVtKSA9PiB7XHJcbiAgICAgICAgaWYgKCEhbGluZUl0ZW0ucHJpY2U/LltvcmRlci5zaG9wXSkge1xyXG4gICAgICAgICAgY29uc3Qgc2hvcFByaWNlID0gbGluZUl0ZW1bJ3ByaWNlJ11bb3JkZXIuc2hvcF1cclxuXHJcbiAgICAgICAgICBsaW5lSXRlbVsncHJpY2UnXSA9IHNob3BQcmljZVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGxpbmVJdGVtXHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9yZGVyXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLnJlcG9zaXRvcnkudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS90eXBlcy9maXJlc3RvcmUucmVwb3NpdG9yeS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBEb2N1bWVudERhdGEsIEZpcmViYXNlRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5cclxuZXhwb3J0IHR5cGUgRmlyZXN0b3JlUmVwb3NpdG9yeTxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4gPSB7XHJcbiAgcmVhZG9ubHkgZmlyZXN0b3JlPzogRmlyZWJhc2VGaXJlc3RvcmVcclxuICBjb2xsZWN0aW9uTmFtZTogc3RyaW5nXHJcbiAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8TW9kZWw+XHJcbiAgY29sbGVjdGlvbihwYXRoPzogc3RyaW5nKTogQ29sbGVjdGlvblJlZmVyZW5jZTxNb2RlbD5cclxuICBidWlsZE1vZGVsSW5zdGFuY2UoKToge1xyXG4gICAgdG9GaXJlc3RvcmU6IChkYXRhOiBNb2RlbCkgPT4gRG9jdW1lbnREYXRhXHJcbiAgICBmcm9tRmlyZXN0b3JlOiAoc25hcDogUXVlcnlEb2N1bWVudFNuYXBzaG90PE1vZGVsPikgPT4gTW9kZWxcclxuICB9XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0b3JlLnJlcG9zaXRvcnkudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS90eXBlcy9maXJlc3RvcmUucmVwb3NpdG9yeS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uUmVmZXJlbmNlLCBEb2N1bWVudERhdGEsIEZpcmViYXNlRmlyZXN0b3JlLCBRdWVyeURvY3VtZW50U25hcHNob3QgfSBmcm9tICdAZmlyZWJhc2UvZmlyZXN0b3JlLXR5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xyXG5pbXBvcnQgeyBGaXJlc3RvcmVGaWVsZFR5cGUgfSBmcm9tICcuLi9lbnVtcydcclxuXHJcbmV4cG9ydCB0eXBlIEZpcmVzdG9yZVJlcG9zaXRvcnk8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xyXG4gIHJlYWRvbmx5IGZpcmVzdG9yZT86IEZpcmViYXNlRmlyZXN0b3JlXHJcbiAgY29sbGVjdGlvbk5hbWU6IHN0cmluZ1xyXG4gIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1vZGVsPlxyXG4gIGNvbGxlY3Rpb24ocGF0aD86IHN0cmluZyk6IENvbGxlY3Rpb25SZWZlcmVuY2U8TW9kZWw+XHJcbiAgZmllbGRzPzogUGFydGlhbDxSZWNvcmQ8Tm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD4sIEZpcmVzdG9yZUZpZWxkVHlwZT4+XHJcbiAgYnVpbGRNb2RlbEluc3RhbmNlKCk6IHtcclxuICAgIHRvRmlyZXN0b3JlOiAoZGF0YTogTW9kZWwpID0+IERvY3VtZW50RGF0YVxyXG4gICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxNb2RlbD4pID0+IE1vZGVsXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -3,9 +3,11 @@ import { isNil } from '../../../utils';
3
3
  import { BindFilterQueryHelper } from './helpers';
4
4
  export const withFindHasuraGraphQL = (MixinBase) => {
5
5
  return class FindHasuraGraphQLMixin extends MixinBase {
6
- find(options) {
6
+ find(params) {
7
+ var _a;
7
8
  return __awaiter(this, void 0, void 0, function* () {
8
- const { filters, limits, orderBy } = options || {};
9
+ const { filters, limits, orderBy, options } = params || {};
10
+ const enableCount = (_a = options === null || options === void 0 ? void 0 : options.enableCount) !== null && _a !== void 0 ? _a : true;
9
11
  const variablesCount = Object.assign(Object.assign({}, (isNil(orderBy) ? {} : { order_by: { type: `${this.tableName}_order_by!`, list: true, value: orderBy } })), (isNil(filters)
10
12
  ? {}
11
13
  : {
@@ -19,8 +21,8 @@ export const withFindHasuraGraphQL = (MixinBase) => {
19
21
  const result = yield this.query([
20
22
  {
21
23
  operation: this.tableName,
22
- fields: options.fields
23
- ? options.fields
24
+ fields: params.fields
25
+ ? params.fields
24
26
  .map((fieldName) => {
25
27
  var _a;
26
28
  return (_a = this.fields.find((fieldOption) => fieldOption === fieldName)) !== null && _a !== void 0 ? _a : this.fields.find((fieldOption) => Object.keys(fieldOption).shift() === fieldName);
@@ -29,17 +31,20 @@ export const withFindHasuraGraphQL = (MixinBase) => {
29
31
  : this.fields,
30
32
  variables,
31
33
  },
32
- {
33
- operation: `${this.tableName}_aggregate`,
34
- fields: [{ aggregate: ['count'] }],
35
- variables: variablesCount,
36
- },
34
+ ...(enableCount
35
+ ? [
36
+ {
37
+ operation: `${this.tableName}_aggregate`,
38
+ fields: [{ aggregate: ['count'] }],
39
+ variables: variablesCount,
40
+ },
41
+ ]
42
+ : []),
37
43
  ]);
38
44
  const data = result[this.tableName].map((row) => this.convertDataFromHasura(row));
39
- const count = result[`${this.tableName}_aggregate`].aggregate.count;
40
- return { count, data };
45
+ return { data, count: enableCount ? result[`${this.tableName}_aggregate`].aggregate.count : Infinity };
41
46
  });
42
47
  }
43
48
  };
44
49
  };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBU0EsT0FBTyxFQUFFLEtBQUssRUFBYSxNQUFNLGdCQUFnQixDQUFBO0FBR2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUluQyxTQUEyRCxFQUMzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHNCQUF1QixTQUFRLFNBQVM7UUFDN0MsSUFBSSxDQUFDLE9BS1Y7O2dCQUNDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUE7Z0JBQ2xELE1BQU0sY0FBYyxtQ0FDZixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQ3pHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLEVBQUU7b0JBQ0osQ0FBQyxDQUFDO3dCQUNFLEtBQUssRUFBRTs0QkFDTCxLQUFLLEVBQUUscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7NEJBQ25FLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLFdBQVc7NEJBQ2xDLFFBQVEsRUFBRSxJQUFJO3lCQUNmO3FCQUNGLENBQUMsQ0FDUCxDQUFBO2dCQUNELE1BQU0sU0FBUyxtQ0FDVixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FDN0IsY0FBYyxDQUNsQixDQUFBO2dCQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDOUI7d0JBQ0UsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO3dCQUN6QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07NEJBQ3BCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTTtpQ0FDWCxHQUFHLENBQ0YsQ0FBQyxTQUFTLEVBQUUsRUFBRTs7Z0NBQ1osT0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLG1DQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQTs2QkFBQSxDQUNwRjtpQ0FDQSxNQUFNLENBQUMsT0FBTyxDQUFDOzRCQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07d0JBQ2YsU0FBUztxQkFDVjtvQkFDRDt3QkFDRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxZQUFZO3dCQUN4QyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7d0JBQ2xDLFNBQVMsRUFBRSxjQUFjO3FCQUMxQjtpQkFDRixDQUFDLENBQUE7Z0JBQ0YsTUFBTSxJQUFJLEdBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUMxRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFBO2dCQUVuRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFBO1lBQ3hCLENBQUM7U0FBQTtLQUNGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEZpbmRSZXBvc2l0b3J5LFxyXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXHJcbiAgUmVwb3NpdG9yeUZpbmRGaWVsdGVycyxcclxuICBSZXBvc2l0b3J5RmluZFJlc3VsdCxcclxuICBSZXBvc2l0b3J5TGltaXRPcHRpb25zLFxyXG4gIFJlcG9zaXRvcnlPcmRlckJ5LFxyXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgaXNOaWwsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQmluZEZpbHRlclF1ZXJ5SGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhGaW5kSGFzdXJhR3JhcGhRTCA9IDxcclxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbikgPT4ge1xyXG4gIHJldHVybiBjbGFzcyBGaW5kSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8TUJhc2U+IHtcclxuICAgIGFzeW5jIGZpbmQob3B0aW9ucz86IHtcclxuICAgICAgZmlsdGVycz86IFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8TUJhc2U+XHJcbiAgICAgIGZpZWxkcz86IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNQmFzZT5bXVxyXG4gICAgICBsaW1pdHM/OiBSZXBvc2l0b3J5TGltaXRPcHRpb25zPE1CYXNlPlxyXG4gICAgICBvcmRlckJ5PzogUmVwb3NpdG9yeU9yZGVyQnk8TUJhc2U+XHJcbiAgICB9KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxNQmFzZT4+IHtcclxuICAgICAgY29uc3QgeyBmaWx0ZXJzLCBsaW1pdHMsIG9yZGVyQnkgfSA9IG9wdGlvbnMgfHwge31cclxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XHJcbiAgICAgICAgLi4uKGlzTmlsKG9yZGVyQnkpID8ge30gOiB7IG9yZGVyX2J5OiB7IHR5cGU6IGAke3RoaXMudGFibGVOYW1lfV9vcmRlcl9ieSFgLCBsaXN0OiB0cnVlLCB2YWx1ZTogb3JkZXJCeSB9IH0pLFxyXG4gICAgICAgIC4uLihpc05pbChmaWx0ZXJzKVxyXG4gICAgICAgICAgPyB7fVxyXG4gICAgICAgICAgOiB7XHJcbiAgICAgICAgICAgICAgd2hlcmU6IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWx0ZXJzLCB0aGlzLmZpZWxkcyksXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fYm9vbF9leHBgLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgdmFyaWFibGVzID0ge1xyXG4gICAgICAgIC4uLihpc05pbChsaW1pdHMpID8ge30gOiBsaW1pdHMpLFxyXG4gICAgICAgIC4uLnZhcmlhYmxlc0NvdW50LFxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucXVlcnkoW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9wZXJhdGlvbjogdGhpcy50YWJsZU5hbWUsXHJcbiAgICAgICAgICBmaWVsZHM6IG9wdGlvbnMuZmllbGRzXHJcbiAgICAgICAgICAgID8gb3B0aW9ucy5maWVsZHNcclxuICAgICAgICAgICAgICAgIC5tYXAoXHJcbiAgICAgICAgICAgICAgICAgIChmaWVsZE5hbWUpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IGZpZWxkT3B0aW9uID09PSBmaWVsZE5hbWUpID8/XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZmluZCgoZmllbGRPcHRpb24pID0+IE9iamVjdC5rZXlzKGZpZWxkT3B0aW9uKS5zaGlmdCgpID09PSBmaWVsZE5hbWUpLFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxyXG4gICAgICAgICAgICA6IHRoaXMuZmllbGRzLFxyXG4gICAgICAgICAgdmFyaWFibGVzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgb3BlcmF0aW9uOiBgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYCxcclxuICAgICAgICAgIGZpZWxkczogW3sgYWdncmVnYXRlOiBbJ2NvdW50J10gfV0sXHJcbiAgICAgICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc0NvdW50LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0pXHJcbiAgICAgIGNvbnN0IGRhdGE6IE1CYXNlW10gPSByZXN1bHRbdGhpcy50YWJsZU5hbWVdLm1hcCgocm93KSA9PiB0aGlzLmNvbnZlcnREYXRhRnJvbUhhc3VyYShyb3cpKVxyXG4gICAgICBjb25zdCBjb3VudCA9IHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLmNvdW50XHJcblxyXG4gICAgICByZXR1cm4geyBjb3VudCwgZGF0YSB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maW5kLWhhc3VyYS1ncmFwaHFsLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvbWl4aW5zL3dpdGgtZmluZC1oYXN1cmEtZ3JhcGhxbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLEtBQUssRUFBYSxNQUFNLGdCQUFnQixDQUFBO0FBR2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUluQyxTQUEyRCxFQUMzRCxFQUFFO0lBQ0YsT0FBTyxNQUFNLHNCQUF1QixTQUFRLFNBQVM7UUFDN0MsSUFBSSxDQUFDLE1BQW9DOzs7Z0JBQzdDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFBO2dCQUMxRCxNQUFNLFdBQVcsR0FBRyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxXQUFXLG1DQUFJLElBQUksQ0FBQTtnQkFDaEQsTUFBTSxjQUFjLG1DQUNmLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FDekcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO29CQUNoQixDQUFDLENBQUMsRUFBRTtvQkFDSixDQUFDLENBQUM7d0JBQ0UsS0FBSyxFQUFFOzRCQUNMLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQzs0QkFDbkUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsV0FBVzs0QkFDbEMsUUFBUSxFQUFFLElBQUk7eUJBQ2Y7cUJBQ0YsQ0FBQyxDQUNQLENBQUE7Z0JBQ0QsTUFBTSxTQUFTLG1DQUNWLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUM3QixjQUFjLENBQ2xCLENBQUE7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDO29CQUM5Qjt3QkFDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7d0JBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTs0QkFDbkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNO2lDQUNWLEdBQUcsQ0FDRixDQUFDLFNBQVMsRUFBRSxFQUFFOztnQ0FDWixPQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsbUNBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFBOzZCQUFBLENBQ3BGO2lDQUNBLE1BQU0sQ0FBQyxPQUFPLENBQUM7NEJBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTt3QkFDZixTQUFTO3FCQUNWO29CQUNELEdBQUcsQ0FBQyxXQUFXO3dCQUNiLENBQUMsQ0FBQzs0QkFDRTtnQ0FDRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxZQUFZO2dDQUN4QyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0NBQ2xDLFNBQVMsRUFBRSxjQUFjOzZCQUNGO3lCQUMxQjt3QkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO2lCQUNSLENBQUMsQ0FBQTtnQkFDRixNQUFNLElBQUksR0FBWSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7Z0JBRTFGLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7O1NBQ3ZHO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbmRSZXBvc2l0b3J5LCBGaW5kUmVwb3NpdG9yeVBhcmFtcywgTW9kZWxCYXNlU3RydWN0dXJlLCBSZXBvc2l0b3J5RmluZFJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgaXNOaWwsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xyXG5pbXBvcnQgeyBHcmFwaFFMUGFyYW1zLCBHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuaW1wb3J0IHsgQmluZEZpbHRlclF1ZXJ5SGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhGaW5kSGFzdXJhR3JhcGhRTCA9IDxcclxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcclxuICBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4sXHJcbj4oXHJcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXHJcbikgPT4ge1xyXG4gIHJldHVybiBjbGFzcyBGaW5kSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgRmluZFJlcG9zaXRvcnk8TUJhc2U+IHtcclxuICAgIGFzeW5jIGZpbmQocGFyYW1zPzogRmluZFJlcG9zaXRvcnlQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxSZXBvc2l0b3J5RmluZFJlc3VsdDxNQmFzZT4+IHtcclxuICAgICAgY29uc3QgeyBmaWx0ZXJzLCBsaW1pdHMsIG9yZGVyQnksIG9wdGlvbnMgfSA9IHBhcmFtcyB8fCB7fVxyXG4gICAgICBjb25zdCBlbmFibGVDb3VudCA9IG9wdGlvbnM/LmVuYWJsZUNvdW50ID8/IHRydWVcclxuICAgICAgY29uc3QgdmFyaWFibGVzQ291bnQgPSB7XHJcbiAgICAgICAgLi4uKGlzTmlsKG9yZGVyQnkpID8ge30gOiB7IG9yZGVyX2J5OiB7IHR5cGU6IGAke3RoaXMudGFibGVOYW1lfV9vcmRlcl9ieSFgLCBsaXN0OiB0cnVlLCB2YWx1ZTogb3JkZXJCeSB9IH0pLFxyXG4gICAgICAgIC4uLihpc05pbChmaWx0ZXJzKVxyXG4gICAgICAgICAgPyB7fVxyXG4gICAgICAgICAgOiB7XHJcbiAgICAgICAgICAgICAgd2hlcmU6IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBCaW5kRmlsdGVyUXVlcnlIZWxwZXIuTWFrZUdyYXBoUUxXaGVyZShmaWx0ZXJzLCB0aGlzLmZpZWxkcyksXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBgJHt0aGlzLnRhYmxlTmFtZX1fYm9vbF9leHBgLFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgdmFyaWFibGVzID0ge1xyXG4gICAgICAgIC4uLihpc05pbChsaW1pdHMpID8ge30gOiBsaW1pdHMpLFxyXG4gICAgICAgIC4uLnZhcmlhYmxlc0NvdW50LFxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucXVlcnkoW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG9wZXJhdGlvbjogdGhpcy50YWJsZU5hbWUsXHJcbiAgICAgICAgICBmaWVsZHM6IHBhcmFtcy5maWVsZHNcclxuICAgICAgICAgICAgPyBwYXJhbXMuZmllbGRzXHJcbiAgICAgICAgICAgICAgICAubWFwKFxyXG4gICAgICAgICAgICAgICAgICAoZmllbGROYW1lKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBmaWVsZE9wdGlvbiA9PT0gZmllbGROYW1lKSA/P1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzLmZpbmQoKGZpZWxkT3B0aW9uKSA9PiBPYmplY3Qua2V5cyhmaWVsZE9wdGlvbikuc2hpZnQoKSA9PT0gZmllbGROYW1lKSxcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcclxuICAgICAgICAgICAgOiB0aGlzLmZpZWxkcyxcclxuICAgICAgICAgIHZhcmlhYmxlcyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLihlbmFibGVDb3VudFxyXG4gICAgICAgICAgPyBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uOiBgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYCxcclxuICAgICAgICAgICAgICAgIGZpZWxkczogW3sgYWdncmVnYXRlOiBbJ2NvdW50J10gfV0sXHJcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlc0NvdW50LFxyXG4gICAgICAgICAgICAgIH0gYXMgR3JhcGhRTFBhcmFtczxNQmFzZT4sXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICAgIDogW10pLFxyXG4gICAgICBdKVxyXG4gICAgICBjb25zdCBkYXRhOiBNQmFzZVtdID0gcmVzdWx0W3RoaXMudGFibGVOYW1lXS5tYXAoKHJvdykgPT4gdGhpcy5jb252ZXJ0RGF0YUZyb21IYXN1cmEocm93KSlcclxuXHJcbiAgICAgIHJldHVybiB7IGRhdGEsIGNvdW50OiBlbmFibGVDb3VudCA/IHJlc3VsdFtgJHt0aGlzLnRhYmxlTmFtZX1fYWdncmVnYXRlYF0uYWdncmVnYXRlLmNvdW50IDogSW5maW5pdHkgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=