@infrab4a/connect 1.0.0-beta.15 → 1.0.0-beta.17

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 (45) hide show
  1. package/bundles/infrab4a-connect.umd.js +307 -138
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/domain/catalog/models/index.d.ts +3 -2
  4. package/domain/catalog/models/kit-product.d.ts +12 -0
  5. package/domain/catalog/models/product.d.ts +3 -0
  6. package/domain/generic/repository/types/repository-find-filters.type.d.ts +3 -3
  7. package/esm2015/domain/catalog/models/index.js +4 -3
  8. package/esm2015/domain/catalog/models/kit-product.js +18 -0
  9. package/esm2015/domain/catalog/models/product.js +8 -1
  10. package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +1 -1
  11. package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +2 -2
  12. package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +2 -3
  13. package/esm2015/infra/hasura-graphql/index.js +3 -2
  14. package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +2 -3
  15. package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +8 -10
  16. package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +1 -1
  17. package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +3 -3
  18. package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +2 -2
  19. package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +6 -3
  20. package/esm2015/infra/hasura-graphql/models/index.js +2 -1
  21. package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -0
  22. package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +8 -1
  23. package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +109 -68
  24. package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
  25. package/esm2015/infra/index.js +2 -1
  26. package/esm2015/infra/millenium/index.js +2 -0
  27. package/esm2015/infra/millenium/millenium.js +42 -0
  28. package/fesm2015/infrab4a-connect.js +215 -104
  29. package/fesm2015/infrab4a-connect.js.map +1 -1
  30. package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +1 -1
  31. package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +1 -1
  32. package/infra/hasura-graphql/index.d.ts +2 -1
  33. package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +1 -5
  34. package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +1 -1
  35. package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +2 -2
  36. package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +2 -2
  37. package/infra/hasura-graphql/models/index.d.ts +1 -0
  38. package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -0
  39. package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +2 -0
  40. package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +1 -0
  41. package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +8 -14
  42. package/infra/index.d.ts +1 -0
  43. package/infra/millenium/index.d.ts +1 -0
  44. package/infra/millenium/millenium.d.ts +25 -0
  45. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { __awaiter } from "tslib";
2
- import { query, mutation } from 'gql-query-builder';
2
+ import { mutation, query } from 'gql-query-builder';
3
3
  import fetch from 'node-fetch';
4
4
  import { isBoolean, isInteger, isNaN, isNil, isNumber, isString, isUUID, parseISO, } from '../../../utils';
5
5
  import { GraphQLFieldHelper } from './helpers';
@@ -91,4 +91,4 @@ export const withHasuraGraphQL = (MixinBase) => {
91
91
  }
92
92
  };
93
93
  };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQVU5QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBR3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVU5QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixTQUFZLEVBQ3FHLEVBQUU7SUFDbkgsT0FBTyxNQUFNLGtCQUFtQixTQUFRLFNBQVM7UUFrQi9DLFlBQVksR0FBRyxNQUFNO1lBQ25CLE1BQU0sT0FBTyxHQUE2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFbkQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFBO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFvRSxDQUFBO1FBQ2xI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cXVlcnksIG11dGF0aW9uIH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXInXG5pbXBvcnQgZmV0Y2ggZnJvbSAnbm9kZS1mZXRjaCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTFBhcmFtcyxcbiAgR3JhcGhRTFJlcG9zaXRvcnksXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgSGFzdXJhR3JhcGhRTEhlYWRlcnMsXG4gIEhhc3VyYUdyYXBoUUxGaWVsZHMsXG4gIFZhcmlhYmxlT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQge1xuICBpc0Jvb2xlYW4sXG4gIGlzSW50ZWdlcixcbiAgaXNOYU4sXG4gIGlzTmlsLFxuICBpc051bWJlcixcbiAgaXNTdHJpbmcsXG4gIGlzVVVJRCxcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTWl4aW5DdG9yLFxuICBwYXJzZUlTTyxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBCYXNlTW9kZWxCdWlsZGVyLCBNb2RlbEJhc2VTdHJ1Y3R1cmUsIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXMgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmltcG9ydCB7IEdyYXBoUUxGaWVsZEhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3JQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cbiAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPlxuICBlbmRwb2ludDogc3RyaW5nXG4gIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhIYXN1cmFHcmFwaFFMID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLCBUIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yPihcbiAgTWl4aW5CYXNlOiBULFxuKTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDb25zdHJ1Y3RvclBhcmFtczxNQmFzZT4sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUPj4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdGFibGVOYW1lOiBzdHJpbmdcbiAgICBlbmRwb2ludDogc3RyaW5nXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cblxuICAgIGdldCBoZWFkZXJzKCk6IEhhc3VyYUdyYXBoUUxIZWFkZXJzIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0KSA/IHt9IDogeyAnWC1IYXN1cmEtQWRtaW4tU2VjcmV0JzogdGhpcy5hdXRoT3B0aW9ucy5hZG1pblNlY3JldCB9KSxcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDogeyAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSwgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlLnVzZXJJZCB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudGFibGVOYW1lID0gb3B0aW9ucy50YWJsZU5hbWVcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBvcHRpb25zLmVuZHBvaW50XG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xuICAgICAgdGhpcy5tb2RlbCA9IG9wdGlvbnMubW9kZWxcbiAgICAgIHRoaXMuZmllbGRzID0gb3B0aW9ucy5maWVsZHMgfHwgKHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5bXSlcbiAgICB9XG5cbiAgICBhc3luYyBtdXRhdGlvbjxSZXR1cm5GaWVsZHMgPSBhbnk+KFxuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcsXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xuICAgICAgY29uc3QgcmVzdWx0UXVlcnkgPSBtdXRhdGlvbih7XG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRzKSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB0aGlzLmZldGNoKHJlc3VsdFF1ZXJ5KVxuICAgIH1cblxuICAgIGFzeW5jIHF1ZXJ5PFJldHVybkZpZWxkcyA9IGFueT4oXG4gICAgICBvcGVyYXRpb246IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TUJhc2U+W10sXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgIHZhcmlhYmxlcz86IFZhcmlhYmxlT3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFJldHVybkZpZWxkcz4ge1xuICAgICAgY29uc3QgcmVzdWx0UXVlcnkgPSBHcmFwaFFMRmllbGRIZWxwZXIuQ2hlY2tJc0dyYXBoUUxQYXJhbXMob3BlcmF0aW9uKVxuICAgICAgICA/IHF1ZXJ5KFxuICAgICAgICAgICAgb3BlcmF0aW9uLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICBvcGVyYXRpb246IG9wdGlvbi5vcGVyYXRpb24sXG4gICAgICAgICAgICAgIHZhcmlhYmxlczogb3B0aW9uLnZhcmlhYmxlcyxcbiAgICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKG9wdGlvbi5maWVsZHMpLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIClcbiAgICAgICAgOiBxdWVyeSh7XG4gICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICB2YXJpYWJsZXMsXG4gICAgICAgICAgICBmaWVsZHM6IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRzKSxcbiAgICAgICAgICB9KVxuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcbiAgICB9XG5cbiAgICBhc3luYyBmZXRjaDxSZXR1cm5GaWVsZHMgPSBhbnk+KHBhcmFtczogeyB2YXJpYWJsZXM6IGFueTsgcXVlcnk6IHN0cmluZyB9KTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmhlYWRlcnNcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7dGhpcy5lbmRwb2ludH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShwYXJhbXMpLFxuICAgICAgICBoZWFkZXJzLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgICAgIGlmICghaXNOaWwocmVzdWx0LmVycm9ycykpIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShyZXN1bHQuZXJyb3JzKSlcblxuICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhXG4gICAgfVxuXG4gICAgZ2V0QXR0cmlidXRlR3JhcGhRTFR5cGVPZjxGaWVsZFR5cGU+KHZhbHVlOiBGaWVsZFR5cGUpOiBzdHJpbmcge1xuICAgICAgaWYgKGlzVVVJRCh2YWx1ZSBhcyBhbnkpKSByZXR1cm4gJ3V1aWQnXG4gICAgICBpZiAoaXNTdHJpbmcodmFsdWUpKSByZXR1cm4gJ1N0cmluZydcbiAgICAgIGlmIChpc0Jvb2xlYW4odmFsdWUpKSByZXR1cm4gJ0Jvb2xlYW4nXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gJ3RpbWVzdGFtcHR6J1xuICAgICAgaWYgKGlzSW50ZWdlcih2YWx1ZSkpIHJldHVybiAnSW50J1xuICAgICAgaWYgKGlzTnVtYmVyKHZhbHVlKSkgcmV0dXJuICdudW1lcmljJ1xuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R5cGUgbm90IGltcGxlbWVudGVkIHlldCcpXG4gICAgfVxuXG4gICAgY2hlY2tJZklzRGF0ZVRpbWVBbmRQYXJzZSh2YWx1ZTogc3RyaW5nKTogRGF0ZSB8IHN0cmluZyB7XG4gICAgICBpZiAoIS9eXFxkezR9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxMl1bMC05XXwzWzAxXSkkLy50ZXN0KHZhbHVlKSkgcmV0dXJuIHZhbHVlXG5cbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZUlTTyh2YWx1ZSlcblxuICAgICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkgcmV0dXJuIHZhbHVlXG5cbiAgICAgIHJldHVybiBkYXRlXG4gICAgfVxuXG4gICAgY29udmVydERhdGFGcm9tSGFzdXJhKGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4pOiBNQmFzZSB7XG4gICAgICBjb25zdCBwbGFpbiA9IEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZUZyb20oZGF0YSwgdGhpcy5maWVsZHMpXG5cbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW4pXG4gICAgfVxuXG4gICAgY29udmVydERhdGFUb0hhc3VyYShpbnN0YW5jZTogTUJhc2UsIHVwZGF0ZSA9IGZhbHNlKTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPiB7XG4gICAgICByZXR1cm4gR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRGaWVsZFZhbHVlVG8oaW5zdGFuY2UsIHRoaXMuZmllbGRzLCB1cGRhdGUpXG4gICAgfVxuICB9XG59XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUc5QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVU5QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixTQUFZLEVBQ3FHLEVBQUU7SUFDbkgsT0FBTyxNQUFNLGtCQUFtQixTQUFRLFNBQVM7UUFrQi9DLFlBQVksR0FBRyxNQUFNO1lBQ25CLE1BQU0sT0FBTyxHQUE2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFbkQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFBO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFnRCxDQUFBO1FBQzlGLENBQUM7UUFyQkQsSUFBSSxPQUFPO1lBQ1QsbURBQ0UsY0FBYyxFQUFFLGtCQUFrQixJQUMvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsR0FDeEYsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsR0FDdEcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxFQUFFO2dCQUNKLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFDL0c7UUFDSCxDQUFDO1FBY0ssUUFBUSxDQUNaLFNBQWlCLEVBQ2pCLE1BQW1DLEVBQ25DLFNBQTJCOztnQkFFM0IsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO29CQUMzQixTQUFTO29CQUNULFNBQVM7b0JBQ1QsTUFBTSxFQUFFLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQztpQkFDckUsQ0FBQyxDQUFBO2dCQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUNoQyxDQUFDO1NBQUE7UUFFSyxLQUFLLENBQ1QsU0FBMEMsRUFDMUMsTUFBbUMsRUFDbkMsU0FBMkI7O2dCQUUzQixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7b0JBQ3BFLENBQUMsQ0FBQyxLQUFLLENBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDekIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO3dCQUMzQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7d0JBQzNCLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM1RSxDQUFDLENBQUMsQ0FDSjtvQkFDSCxDQUFDLENBQUMsS0FBSyxDQUFDO3dCQUNKLFNBQVM7d0JBQ1QsU0FBUzt3QkFDVCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsTUFBTSxDQUFDO3FCQUNyRSxDQUFDLENBQUE7Z0JBRU4sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ2hDLENBQUM7U0FBQTtRQUVLLEtBQUssQ0FBcUIsTUFBeUM7O2dCQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFBO2dCQUM1QixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDL0MsTUFBTSxFQUFFLE1BQU07b0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO29CQUM1QixPQUFPO2lCQUNSLENBQUMsQ0FBQTtnQkFDRixNQUFNLE1BQU0sR0FBUSxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFFekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO29CQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtnQkFFekUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFBO1lBQ3BCLENBQUM7U0FBQTtRQUVELHlCQUF5QixDQUFZLEtBQWdCO1lBQ25ELElBQUksTUFBTSxDQUFDLEtBQVksQ0FBQztnQkFBRSxPQUFPLE1BQU0sQ0FBQTtZQUN2QyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxRQUFRLENBQUE7WUFDcEMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sU0FBUyxDQUFBO1lBQ3RDLElBQUksS0FBSyxZQUFZLElBQUk7Z0JBQUUsT0FBTyxhQUFhLENBQUE7WUFDL0MsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBQ2xDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPLFNBQVMsQ0FBQTtZQUVyQyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUVELHlCQUF5QixDQUFDLEtBQWE7WUFDckMsSUFBSSxDQUFDLGtEQUFrRCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxLQUFLLENBQUE7WUFFakYsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRTVCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQTtZQUV2QyxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxxQkFBcUIsQ0FBQyxJQUFxQztZQUN6RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBRXpFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckMsQ0FBQztRQUVELG1CQUFtQixDQUFDLFFBQWUsRUFBRSxNQUFNLEdBQUcsS0FBSztZQUNqRCxPQUFPLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzlFLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbXV0YXRpb24sIHF1ZXJ5IH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXInXG5pbXBvcnQgZmV0Y2ggZnJvbSAnbm9kZS1mZXRjaCdcblxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHtcbiAgaXNCb29sZWFuLFxuICBpc0ludGVnZXIsXG4gIGlzTmFOLFxuICBpc05pbCxcbiAgaXNOdW1iZXIsXG4gIGlzU3RyaW5nLFxuICBpc1VVSUQsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1peGluQ3RvcixcbiAgcGFyc2VJU08sXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgR3JhcGhRTFBhcmFtcyxcbiAgR3JhcGhRTFJlcG9zaXRvcnksXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgSGFzdXJhR3JhcGhRTEZpZWxkcyxcbiAgSGFzdXJhR3JhcGhRTEhlYWRlcnMsXG4gIFZhcmlhYmxlT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEdyYXBoUUxGaWVsZEhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3JQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cbiAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPlxuICBlbmRwb2ludDogc3RyaW5nXG4gIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhIYXN1cmFHcmFwaFFMID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLCBUIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yPihcbiAgTWl4aW5CYXNlOiBULFxuKTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDb25zdHJ1Y3RvclBhcmFtczxNQmFzZT4sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUPj4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdGFibGVOYW1lOiBzdHJpbmdcbiAgICBlbmRwb2ludDogc3RyaW5nXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cblxuICAgIGdldCBoZWFkZXJzKCk6IEhhc3VyYUdyYXBoUUxIZWFkZXJzIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0KSA/IHt9IDogeyAnWC1IYXN1cmEtQWRtaW4tU2VjcmV0JzogdGhpcy5hdXRoT3B0aW9ucy5hZG1pblNlY3JldCB9KSxcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDogeyAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSwgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlLnVzZXJJZCB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudGFibGVOYW1lID0gb3B0aW9ucy50YWJsZU5hbWVcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBvcHRpb25zLmVuZHBvaW50XG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xuICAgICAgdGhpcy5tb2RlbCA9IG9wdGlvbnMubW9kZWxcbiAgICAgIHRoaXMuZmllbGRzID0gb3B0aW9ucy5maWVsZHMgfHwgKHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4pXG4gICAgfVxuXG4gICAgYXN5bmMgbXV0YXRpb248UmV0dXJuRmllbGRzID0gYW55PihcbiAgICAgIG9wZXJhdGlvbjogc3RyaW5nLFxuICAgICAgZmllbGRzPzogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gbXV0YXRpb24oe1xuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcbiAgICB9XG5cbiAgICBhc3luYyBxdWVyeTxSZXR1cm5GaWVsZHMgPSBhbnk+KFxuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcgfCBHcmFwaFFMUGFyYW1zPE1CYXNlPltdLFxuICAgICAgZmllbGRzPzogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gR3JhcGhRTEZpZWxkSGVscGVyLkNoZWNrSXNHcmFwaFFMUGFyYW1zKG9wZXJhdGlvbilcbiAgICAgICAgPyBxdWVyeShcbiAgICAgICAgICAgIG9wZXJhdGlvbi5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiBvcHRpb24ub3BlcmF0aW9uLFxuICAgICAgICAgICAgICB2YXJpYWJsZXM6IG9wdGlvbi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhvcHRpb24uZmllbGRzKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICApXG4gICAgICAgIDogcXVlcnkoe1xuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXG4gICAgICAgICAgfSlcblxuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gocmVzdWx0UXVlcnkpXG4gICAgfVxuXG4gICAgYXN5bmMgZmV0Y2g8UmV0dXJuRmllbGRzID0gYW55PihwYXJhbXM6IHsgdmFyaWFibGVzOiBhbnk7IHF1ZXJ5OiBzdHJpbmcgfSk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3RoaXMuZW5kcG9pbnR9YCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGFyYW1zKSxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICBpZiAoIWlzTmlsKHJlc3VsdC5lcnJvcnMpKSB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkocmVzdWx0LmVycm9ycykpXG5cbiAgICAgIHJldHVybiByZXN1bHQuZGF0YVxuICAgIH1cblxuICAgIGdldEF0dHJpYnV0ZUdyYXBoUUxUeXBlT2Y8RmllbGRUeXBlPih2YWx1ZTogRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICAgIGlmIChpc1VVSUQodmFsdWUgYXMgYW55KSkgcmV0dXJuICd1dWlkJ1xuICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSkgcmV0dXJuICdTdHJpbmcnXG4gICAgICBpZiAoaXNCb29sZWFuKHZhbHVlKSkgcmV0dXJuICdCb29sZWFuJ1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuICd0aW1lc3RhbXB0eidcbiAgICAgIGlmIChpc0ludGVnZXIodmFsdWUpKSByZXR1cm4gJ0ludCdcbiAgICAgIGlmIChpc051bWJlcih2YWx1ZSkpIHJldHVybiAnbnVtZXJpYydcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeXBlIG5vdCBpbXBsZW1lbnRlZCB5ZXQnKVxuICAgIH1cblxuICAgIGNoZWNrSWZJc0RhdGVUaW1lQW5kUGFyc2UodmFsdWU6IHN0cmluZyk6IERhdGUgfCBzdHJpbmcge1xuICAgICAgaWYgKCEvXlxcZHs0fS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdWzAtOV18M1swMV0pJC8udGVzdCh2YWx1ZSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJU08odmFsdWUpXG5cbiAgICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICByZXR1cm4gZGF0ZVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhRnJvbUhhc3VyYShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KTogTUJhc2Uge1xuICAgICAgY29uc3QgcGxhaW4gPSBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKGRhdGEsIHRoaXMuZmllbGRzKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b0luc3RhbmNlKHBsYWluKVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhVG9IYXN1cmEoaW5zdGFuY2U6IE1CYXNlLCB1cGRhdGUgPSBmYWxzZSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4ge1xuICAgICAgcmV0dXJuIEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKGluc3RhbmNlLCB0aGlzLmZpZWxkcywgdXBkYXRlKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,9 +1,11 @@
1
1
  import { __awaiter } from "tslib";
2
- import { UpdateOptionActions, } from '../../../domain';
2
+ import { BaseModel, UpdateOptionActions, } from '../../../domain';
3
3
  import { isNil } from '../../../utils';
4
4
  import { AttributeOptionHelper } from './helpers';
5
5
  export const withUpdateHasuraGraphQL = (MixinBase) => {
6
6
  const getValueByAction = (options) => {
7
+ if (options instanceof BaseModel)
8
+ return options.toPlain();
7
9
  if (isNil(options.action))
8
10
  return options;
9
11
  if (options.action === UpdateOptionActions.REMOVE_FIELD)
@@ -41,13 +43,14 @@ export const withUpdateHasuraGraphQL = (MixinBase) => {
41
43
  getUpdateModelKeys(data) {
42
44
  const instance = this.model.toInstance(data);
43
45
  return this.model.identifiersFields.reduce((ids, identifier) => {
46
+ var _a;
44
47
  if (isNil(instance[identifier]))
45
48
  return ids;
46
49
  const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
47
- const value = columnOption.to(data[identifier.toString()], instance);
50
+ const value = ((_a = columnOption === null || columnOption === void 0 ? void 0 : columnOption.to) === null || _a === void 0 ? void 0 : _a.call(columnOption, data[identifier.toString()], instance)) || data[columnOption.attributeName];
48
51
  return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: value });
49
52
  }, {});
50
53
  }
51
54
  };
52
55
  };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFJTCxtQkFBbUIsR0FHcEIsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFxQyxNQUFNLGdCQUFnQixDQUFBO0FBR3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVlqRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUlyQyxTQUEyRCxFQUkzRCxFQUFFO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE9BQTZCLEVBQVcsRUFBRTtRQUNsRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQUUsT0FBTyxPQUFPLENBQUE7UUFDekMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLG1CQUFtQixDQUFDLFlBQVk7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVwRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUE7SUFDdEIsQ0FBQyxDQUFBO0lBRUQsT0FBTyxNQUFNLHdCQUF5QixTQUFRLFNBQVM7UUFLckQsWUFBWSxHQUFHLE1BQU07WUFDbkIsTUFBTSxPQUFPLEdBQTRCLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRyxDQUFDLENBQUMsQ0FBQTtZQUVwRCxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQTtZQUVoQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsc0JBQXNCLEtBQUksVUFBVSxJQUFJLENBQUMsU0FBUyxRQUFRLENBQUE7WUFDakcsSUFBSSxDQUFD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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXMsXG4gIFJlcG9zaXRvcnlVcGRhdGVQYXJhbXMsXG4gIFVwZGF0ZU9wdGlvbkFjdGlvbnMsXG4gIFVwZGF0ZU9wdGlvbnMsXG4gIFVwZGF0ZVJlcG9zaXRvcnksXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IGlzTmlsLCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zLCBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEdyYXBoUUxSZXBvc2l0b3J5LCBIYXN1cmFHcmFwaFFMRmllbGRzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEF0dHJpYnV0ZU9wdGlvbkhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgVXBkYXRlSGFzdXJhR3JhcGhRTFJlcG9zaXRvcnlUeXBlPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPiA9IFVwZGF0ZVJlcG9zaXRvcnk8TUJhc2U+ICYge1xuICBwYXJhbXNUb1BsYWluKHBhcmFtczogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQYXJ0aWFsPE1CYXNlPlxufVxuXG5leHBvcnQgdHlwZSBVcGRhdGVDb25zdHJ1Y3RvclBhcmFtcyA9IHtcbiAgdXBkYXRlR3JhcGhRTE9wZXJhdGlvbj86IHN0cmluZ1xuICB1cGRhdGVHcmFwaFFMT2JqZWN0VHlwZT86IHN0cmluZ1xuICB1cGRhdGVHcmFwaFFMUEtUeXBlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCB3aXRoVXBkYXRlSGFzdXJhR3JhcGhRTCA9IDxcbiAgTUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFRNaXhpbkJhc2UgZXh0ZW5kcyBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+Pixcbj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPj4gJiBUTWl4aW5CYXNlLFxuKTogTWl4aW5DdG9yPFxuICBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4gJiBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8TUJhc2U+ICYgSW5zdGFuY2VUeXBlPFRNaXhpbkJhc2U+LFxuICBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zLCBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8VE1peGluQmFzZT4+XG4+ID0+IHtcbiAgY29uc3QgZ2V0VmFsdWVCeUFjdGlvbiA9IChvcHRpb25zOiBVcGRhdGVPcHRpb25zPE1CYXNlPik6IHVua25vd24gPT4ge1xuICAgIGlmIChpc05pbChvcHRpb25zLmFjdGlvbikpIHJldHVybiBvcHRpb25zXG4gICAgaWYgKG9wdGlvbnMuYWN0aW9uID09PSBVcGRhdGVPcHRpb25BY3Rpb25zLlJFTU9WRV9GSUVMRCkgcmV0dXJuIG51bGxcblxuICAgIHJldHVybiBvcHRpb25zLnZhbHVlXG4gIH1cblxuICByZXR1cm4gY2xhc3MgVXBkYXRlSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgVXBkYXRlUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIHVwZGF0ZUdyYXBoUUxPcGVyYXRpb246IHN0cmluZ1xuICAgIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlOiBzdHJpbmdcbiAgICB1cGRhdGVHcmFwaFFMUEtUeXBlOiBzdHJpbmdcblxuICAgIGNvbnN0cnVjdG9yKC4uLnBhcmFtcykge1xuICAgICAgY29uc3Qgb3B0aW9uczogVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMgPSBwYXJhbXM/LlswXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudXBkYXRlR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24gfHwgYHVwZGF0ZV8ke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICAgIHRoaXMudXBkYXRlR3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy51cGRhdGVHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fc2V0X2lucHV0YFxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMUEtUeXBlID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTFBLVHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fcGtfY29sdW1uc19pbnB1dGBcbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGUoZGF0YTogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPE1CYXNlPiB7XG4gICAgICBjb25zdCBwbGFpbkRhdGEgPSB0aGlzLnBhcmFtc1RvUGxhaW4oZGF0YSlcblxuICAgICAgYXdhaXQgdGhpcy5tdXRhdGlvbihcbiAgICAgICAgdGhpcy51cGRhdGVHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLm1hcChcbiAgICAgICAgICAoZmllbGQpID0+IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIHRoaXMuZmllbGRzKS5jb2x1bW5OYW1lLFxuICAgICAgICApIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICAgICB7XG4gICAgICAgICAgX3NldDoge1xuICAgICAgICAgICAgdHlwZTogdGhpcy51cGRhdGVHcmFwaFFMT2JqZWN0VHlwZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbnZlcnREYXRhVG9IYXN1cmEodGhpcy5tb2RlbC50b0luc3RhbmNlKHBsYWluRGF0YSksIHRydWUpLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwa19jb2x1bW5zOiB7IHR5cGU6IHRoaXMudXBkYXRlR3JhcGhRTFBLVHlwZSwgdmFsdWU6IHRoaXMuZ2V0VXBkYXRlTW9kZWxLZXlzKHBsYWluRGF0YSksIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICApXG5cbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW5EYXRhKVxuICAgIH1cblxuICAgIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+IHtcbiAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5tb2RlbFxuXG4gICAgICBpZiAobW9kZWwuaXNNb2RlbChwYXJhbXMpKSByZXR1cm4gcGFyYW1zLnRvUGxhaW4oKVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoXG4gICAgICAgIChkYXRhLCBjdXJyZW50S2V5KSA9PiAoe1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgLi4uKHBhcmFtc1tjdXJyZW50S2V5XSAmJiB7IFtjdXJyZW50S2V5XTogZ2V0VmFsdWVCeUFjdGlvbihwYXJhbXNbY3VycmVudEtleV0pIH0pLFxuICAgICAgICB9KSxcbiAgICAgICAge30sXG4gICAgICApXG4gICAgfVxuXG4gICAgZ2V0VXBkYXRlTW9kZWxLZXlzKGRhdGE6IFBhcnRpYWw8TUJhc2U+KTogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllczxNQmFzZT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSlcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKChpZHMsIGlkZW50aWZpZXIpID0+IHtcbiAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlW2lkZW50aWZpZXJdKSkgcmV0dXJuIGlkc1xuXG4gICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgIGNvbnN0IHZhbHVlID0gY29sdW1uT3B0aW9uLnRvKGRhdGFbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXTogdmFsdWUsXG4gICAgICAgIH1cbiAgICAgIH0sIHt9IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXM8TUJhc2U+KVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBSVQsbUJBQW1CLEdBR3BCLE1BQU0saUJBQWlCLENBQUE7QUFDeEIsT0FBTyxFQUFFLEtBQUssRUFBcUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUd6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFZakQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FJckMsU0FBMkQsRUFJM0QsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUE2QixFQUFXLEVBQUU7UUFDbEUsSUFBSSxPQUFPLFlBQVksU0FBUztZQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLE9BQU8sQ0FBQTtRQUN6QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsWUFBWTtZQUFFLE9BQU8sSUFBSSxDQUFBO1FBRXBFLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQTtJQUN0QixDQUFDLENBQUE7SUFFRCxPQUFPLE1BQU0sd0JBQXlCLFNBQVEsU0FBUztRQUtyRCxZQUFZLEdBQUcsTUFBTTtZQUNuQixNQUFNLE9BQU8sR0FBNEIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFHLENBQUMsQ0FBQyxDQUFBO1lBRXBELEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFBO1lBRWhCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVC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QUFDLGFBQWEsQ0FBQyxDQUFBO2dCQUUzRyx1Q0FDSyxHQUFHLEtBQ04sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxJQUNqQztZQUNILENBQUMsRUFBRSxFQUErQyxDQUFDLENBQUE7UUFDckQsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlTW9kZWwsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllcyxcbiAgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtcyxcbiAgVXBkYXRlT3B0aW9uQWN0aW9ucyxcbiAgVXBkYXRlT3B0aW9ucyxcbiAgVXBkYXRlUmVwb3NpdG9yeSxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNOaWwsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0gVXBkYXRlUmVwb3NpdG9yeTxNQmFzZT4gJiB7XG4gIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xuICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxQS1R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhVcGRhdGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiAmIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4sXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8VXBkYXRlQ29uc3RydWN0b3JQYXJhbXMsIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICBjb25zdCBnZXRWYWx1ZUJ5QWN0aW9uID0gKG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8TUJhc2U+KTogdW5rbm93biA9PiB7XG4gICAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBCYXNlTW9kZWwpIHJldHVybiBvcHRpb25zLnRvUGxhaW4oKVxuICAgIGlmIChpc05pbChvcHRpb25zLmFjdGlvbikpIHJldHVybiBvcHRpb25zXG4gICAgaWYgKG9wdGlvbnMuYWN0aW9uID09PSBVcGRhdGVPcHRpb25BY3Rpb25zLlJFTU9WRV9GSUVMRCkgcmV0dXJuIG51bGxcblxuICAgIHJldHVybiBvcHRpb25zLnZhbHVlXG4gIH1cblxuICByZXR1cm4gY2xhc3MgVXBkYXRlSGFzdXJhR3JhcGhRTE1peGluIGV4dGVuZHMgTWl4aW5CYXNlIGltcGxlbWVudHMgVXBkYXRlUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIHVwZGF0ZUdyYXBoUUxPcGVyYXRpb246IHN0cmluZ1xuICAgIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlOiBzdHJpbmdcbiAgICB1cGRhdGVHcmFwaFFMUEtUeXBlOiBzdHJpbmdcblxuICAgIGNvbnN0cnVjdG9yKC4uLnBhcmFtcykge1xuICAgICAgY29uc3Qgb3B0aW9uczogVXBkYXRlQ29uc3RydWN0b3JQYXJhbXMgPSBwYXJhbXM/LlswXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudXBkYXRlR3JhcGhRTE9wZXJhdGlvbiA9IG9wdGlvbnM/LnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24gfHwgYHVwZGF0ZV8ke3RoaXMudGFibGVOYW1lfV9ieV9wa2BcbiAgICAgIHRoaXMudXBkYXRlR3JhcGhRTE9iamVjdFR5cGUgPSBvcHRpb25zPy51cGRhdGVHcmFwaFFMT2JqZWN0VHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fc2V0X2lucHV0YFxuICAgICAgdGhpcy51cGRhdGVHcmFwaFFMUEtUeXBlID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTFBLVHlwZSB8fCBgJHt0aGlzLnRhYmxlTmFtZX1fcGtfY29sdW1uc19pbnB1dGBcbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGUoZGF0YTogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQcm9taXNlPE1CYXNlPiB7XG4gICAgICBjb25zdCBwbGFpbkRhdGEgPSB0aGlzLnBhcmFtc1RvUGxhaW4oZGF0YSlcblxuICAgICAgYXdhaXQgdGhpcy5tdXRhdGlvbihcbiAgICAgICAgdGhpcy51cGRhdGVHcmFwaFFMT3BlcmF0aW9uLFxuICAgICAgICB0aGlzLm1vZGVsLmlkZW50aWZpZXJzRmllbGRzLm1hcChcbiAgICAgICAgICAoZmllbGQpID0+IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoZmllbGQsIHRoaXMuZmllbGRzKS5jb2x1bW5OYW1lLFxuICAgICAgICApIGFzIEhhc3VyYUdyYXBoUUxGaWVsZHM8TUJhc2U+LFxuICAgICAgICB7XG4gICAgICAgICAgX3NldDoge1xuICAgICAgICAgICAgdHlwZTogdGhpcy51cGRhdGVHcmFwaFFMT2JqZWN0VHlwZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbnZlcnREYXRhVG9IYXN1cmEodGhpcy5tb2RlbC50b0luc3RhbmNlKHBsYWluRGF0YSksIHRydWUpLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwa19jb2x1bW5zOiB7IHR5cGU6IHRoaXMudXBkYXRlR3JhcGhRTFBLVHlwZSwgdmFsdWU6IHRoaXMuZ2V0VXBkYXRlTW9kZWxLZXlzKHBsYWluRGF0YSksIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICApXG5cbiAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UocGxhaW5EYXRhKVxuICAgIH1cblxuICAgIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+IHtcbiAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5tb2RlbFxuXG4gICAgICBpZiAobW9kZWwuaXNNb2RlbChwYXJhbXMpKSByZXR1cm4gcGFyYW1zLnRvUGxhaW4oKVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoXG4gICAgICAgIChkYXRhLCBjdXJyZW50S2V5KSA9PiAoe1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgLi4uKHBhcmFtc1tjdXJyZW50S2V5XSAmJiB7IFtjdXJyZW50S2V5XTogZ2V0VmFsdWVCeUFjdGlvbihwYXJhbXNbY3VycmVudEtleV0pIH0pLFxuICAgICAgICB9KSxcbiAgICAgICAge30sXG4gICAgICApXG4gICAgfVxuXG4gICAgZ2V0VXBkYXRlTW9kZWxLZXlzKGRhdGE6IFBhcnRpYWw8TUJhc2U+KTogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllczxNQmFzZT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSlcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKChpZHMsIGlkZW50aWZpZXIpID0+IHtcbiAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlW2lkZW50aWZpZXJdKSkgcmV0dXJuIGlkc1xuXG4gICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgIGNvbnN0IHZhbHVlID0gY29sdW1uT3B0aW9uPy50bz8uKGRhdGFbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpIHx8IGRhdGFbY29sdW1uT3B0aW9uLmF0dHJpYnV0ZU5hbWVdXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXTogdmFsdWUsXG4gICAgICAgIH1cbiAgICAgIH0sIHt9IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXM8TUJhc2U+KVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from './category-hasura-graphql';
2
+ export * from './kit-product-hasura-graphql';
2
3
  export * from './product-hasura-graphql';
3
4
  export * from './variant-hasura-graphql';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhdGVnb3J5LWhhc3VyYS1ncmFwaHFsJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsJ1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYW50LWhhc3VyYS1ncmFwaHFsJ1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsMEJBQTBCLENBQUE7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwnXG5leHBvcnQgKiBmcm9tICcuL2tpdC1wcm9kdWN0LWhhc3VyYS1ncmFwaHFsJ1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsJ1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYW50LWhhc3VyYS1ncmFwaHFsJ1xuIl19
@@ -0,0 +1,15 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Type } from 'class-transformer';
3
+ import { KitProduct } from '../../../domain';
4
+ import { ProductHasuraGraphQL } from './product-hasura-graphql';
5
+ export class KitProductHasuraGraphQL extends KitProduct {
6
+ }
7
+ __decorate([
8
+ Type(() => ProductHasuraGraphQL),
9
+ __metadata("design:type", ProductHasuraGraphQL)
10
+ ], KitProductHasuraGraphQL.prototype, "kit", void 0);
11
+ __decorate([
12
+ Type(() => ProductHasuraGraphQL),
13
+ __metadata("design:type", ProductHasuraGraphQL)
14
+ ], KitProductHasuraGraphQL.prototype, "product", void 0);
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMva2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFL0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFVBQVU7Q0FNdEQ7QUFKQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs4QkFDNUIsb0JBQW9CO29EQUFBO0FBR3pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDOzhCQUN4QixvQkFBb0I7d0RBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInXG5cbmltcG9ydCB7IEtpdFByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsJ1xuXG5leHBvcnQgY2xhc3MgS2l0UHJvZHVjdEhhc3VyYUdyYXBoUUwgZXh0ZW5kcyBLaXRQcm9kdWN0IHtcbiAgQFR5cGUoKCkgPT4gUHJvZHVjdEhhc3VyYUdyYXBoUUwpXG4gIGtpdDogUHJvZHVjdEhhc3VyYUdyYXBoUUxcblxuICBAVHlwZSgoKSA9PiBQcm9kdWN0SGFzdXJhR3JhcGhRTClcbiAgcHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUxcbn1cbiJdfQ==
@@ -1,4 +1,11 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Type } from 'class-transformer';
1
3
  import { Product } from '../../../domain';
4
+ import { KitProductHasuraGraphQL } from './kit-product-hasura-graphql';
2
5
  export class ProductHasuraGraphQL extends Product {
3
6
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV6QyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsT0FBTztDQUtoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGFzdXJhR3JhcGhRTCBleHRlbmRzIFByb2R1Y3Qge1xuICBmaXJlc3RvcmVJZD86IHN0cmluZ1xuICBmdWxsUHJpY2U/OiBudW1iZXJcbiAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlclxuICBzdWJzY3JpYmVyUHJpY2U/OiBudW1iZXJcbn1cbiJdfQ==
7
+ __decorate([
8
+ Type(() => KitProductHasuraGraphQL),
9
+ __metadata("design:type", Array)
10
+ ], ProductHasuraGraphQL.prototype, "kitProducts", void 0);
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUFPO0NBUWhEO0FBREM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O3lEQUNHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuXG5pbXBvcnQgeyBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4va2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGFzdXJhR3JhcGhRTCBleHRlbmRzIFByb2R1Y3Qge1xuICBmaXJlc3RvcmVJZD86IHN0cmluZ1xuICBmdWxsUHJpY2U/OiBudW1iZXJcbiAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlclxuICBzdWJzY3JpYmVyUHJpY2U/OiBudW1iZXJcblxuICBAVHlwZSgoKSA9PiBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTClcbiAga2l0UHJvZHVjdHM/OiBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTFtdXG59XG4iXX0=
@@ -7,70 +7,85 @@ import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
7
7
  import { ProductHasuraGraphQL } from '../../models';
8
8
  export class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
9
9
  constructor(endpoint, authOptions) {
10
+ const commonFields = [
11
+ { id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
12
+ { firestoreId: { columnName: 'firestore_id' } },
13
+ { CEST: { columnName: 'cest' } },
14
+ { EAN: { columnName: 'ean' } },
15
+ { NCM: { columnName: 'ncm' } },
16
+ 'brand',
17
+ { costPrice: { columnName: 'cost_price' } },
18
+ {
19
+ description: {
20
+ columnName: 'description',
21
+ from: (description) => Object.values(Shops).reduce((shops, shop) => (Object.assign(Object.assign({}, shops), { [shop]: { description } })), {}),
22
+ to: (value) => Object.values(value).shift().description,
23
+ },
24
+ },
25
+ { hasVariants: { columnName: 'has_variants' } },
26
+ { images: { columnName: 'images', to: (value) => `{"${value.join(`","`)}"}` } },
27
+ { miniatures: { columnName: 'miniatures', to: (value) => `{"${value.join(`","`)}"}` } },
28
+ 'name',
29
+ {
30
+ price: {
31
+ columnName: 'price',
32
+ from: (price, data) => Object.values(Shops).reduce((prices, shop) => (Object.assign(Object.assign({}, prices), { [shop]: {
33
+ price,
34
+ fullPrice: data.full_price,
35
+ subscriberDiscountPercentage: data.subscriber_discount_percentage,
36
+ subscriberPrice: data.subscriber_price,
37
+ } })), {}),
38
+ bindFindFilter: (sentence) => {
39
+ const filters = Object.values(sentence).shift();
40
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, ((filters === null || filters === void 0 ? void 0 : filters.price) && { price: filters.price })), (filters.fullPrice && { full_price: filters.fullPrice })), (filters.subscriberDiscountPercentage && {
41
+ subscriber_discount_percentage: filters.subscriberDiscountPercentage,
42
+ })), (filters.subscriberPrice && { subscriber_price: filters.subscriberPrice }));
43
+ },
44
+ bindPersistData: (value) => {
45
+ const priceData = Object.values(value).shift();
46
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) && { price: priceData.price })), (priceData.fullPrice && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage && {
47
+ subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
48
+ })), (priceData.subscriberPrice && { subscriber_price: priceData.subscriberPrice }));
49
+ },
50
+ },
51
+ },
52
+ { fullPrice: { columnName: 'full_price' } },
53
+ { subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
54
+ { subscriberPrice: { columnName: 'subscriber_price' } },
55
+ 'published',
56
+ { publishedGlam: { columnName: 'published_glam' } },
57
+ 'sku',
58
+ {
59
+ stock: {
60
+ columnName: 'stock',
61
+ from: (quantity) => ({ quantity }),
62
+ to: (value) => (isNil(value === null || value === void 0 ? void 0 : value.quantity) ? value : value === null || value === void 0 ? void 0 : value.quantity),
63
+ },
64
+ },
65
+ 'slug',
66
+ 'type',
67
+ 'video',
68
+ 'weight',
69
+ {
70
+ shopAvailability: {
71
+ columnName: 'shop_availabilities',
72
+ fields: ['shop'],
73
+ from: (shop) => (Array.isArray(shop) ? shop.map((row) => row.shop) : []),
74
+ to: (shops) => shops.map((shop) => ({ shop })),
75
+ },
76
+ },
77
+ { tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
78
+ { isKit: { columnName: 'is_kit' } },
79
+ { createdAt: { columnName: 'created_at' } },
80
+ { updatedAt: { columnName: 'updated_at' } },
81
+ ];
10
82
  super({
11
83
  tableName: 'product',
12
84
  model: ProductHasuraGraphQL,
13
85
  endpoint,
14
86
  authOptions,
15
87
  fields: [
16
- { id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
17
- { firestoreId: { columnName: 'firestore_id' } },
18
- { CEST: { columnName: 'cest' } },
19
- { EAN: { columnName: 'ean' } },
20
- { NCM: { columnName: 'ncm' } },
21
- 'brand',
22
- { costPrice: { columnName: 'cost_price' } },
23
- {
24
- description: {
25
- columnName: 'description',
26
- from: (description) => Object.values(Shops).reduce((shops, shop) => (Object.assign(Object.assign({}, shops), { [shop]: { description } })), {}),
27
- to: (value) => Object.values(value).shift().description,
28
- },
29
- },
30
- { hasVariants: { columnName: 'has_variants' } },
31
- { images: { columnName: 'images', to: (value) => `{"${value.join(`","`)}"}` } },
32
- { miniatures: { columnName: 'miniatures', to: (value) => `{"${value.join(`","`)}"}` } },
33
- 'name',
34
- {
35
- price: {
36
- columnName: 'price',
37
- from: (price, data) => Object.values(Shops).reduce((prices, shop) => (Object.assign(Object.assign({}, prices), { [shop]: {
38
- price,
39
- fullPrice: data.full_price,
40
- subscriberDiscountPercentage: data.subscriber_discount_percentage,
41
- subscriberPrice: data.subscriber_price,
42
- } })), {}),
43
- bindFindFilter: (sentence) => {
44
- const filters = Object.values(sentence).shift();
45
- return Object.assign(Object.assign(Object.assign(Object.assign({}, ((filters === null || filters === void 0 ? void 0 : filters.price) && { price: filters.price })), (filters.fullPrice && { full_price: filters.fullPrice })), (filters.subscriberDiscountPercentage && {
46
- subscriber_discount_percentage: filters.subscriberDiscountPercentage,
47
- })), (filters.subscriberPrice && { subscriber_price: filters.subscriberPrice }));
48
- },
49
- bindPersistData: (value) => {
50
- const priceData = Object.values(value).shift();
51
- return Object.assign(Object.assign(Object.assign(Object.assign({}, ((priceData === null || priceData === void 0 ? void 0 : priceData.price) && { price: priceData.price })), (priceData.fullPrice && { full_price: priceData.fullPrice })), (priceData.subscriberDiscountPercentage && {
52
- subscriber_discount_percentage: priceData.subscriberDiscountPercentage,
53
- })), (priceData.subscriberPrice && { subscriber_price: priceData.subscriberPrice }));
54
- },
55
- },
56
- },
57
- { fullPrice: { columnName: 'full_price' } },
58
- { subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
59
- { subscriberPrice: { columnName: 'subscriber_price' } },
60
- 'published',
61
- { publishedGlam: { columnName: 'published_glam' } },
62
- 'sku',
63
- {
64
- stock: {
65
- columnName: 'stock',
66
- from: (quantity) => ({ quantity }),
67
- to: (value) => (isNil(value === null || value === void 0 ? void 0 : value.quantity) ? value : value === null || value === void 0 ? void 0 : value.quantity),
68
- },
69
- },
70
- 'slug',
71
- 'type',
72
- 'video',
73
- 'weight',
88
+ ...commonFields,
74
89
  {
75
90
  categories: {
76
91
  columnName: 'categories',
@@ -83,16 +98,17 @@ export class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHa
83
98
  },
84
99
  },
85
100
  {
86
- shopAvailability: {
87
- columnName: 'shop_availabilities',
88
- fields: ['shop'],
89
- from: (shop) => (Array.isArray(shop) ? shop.map((row) => row.shop) : []),
90
- to: (shops) => shops.map((shop) => ({ shop })),
101
+ kitProducts: {
102
+ columnName: 'kit_products',
103
+ foreignKeyColumn: { productId: 'id' },
104
+ fields: [
105
+ { productId: { columnName: 'product_id' } },
106
+ { kitProductId: { columnName: 'kit_product_id' } },
107
+ 'quantity',
108
+ { product: { columnName: 'product', foreignKeyColumn: { id: 'product_id' }, fields: commonFields } },
109
+ ],
91
110
  },
92
111
  },
93
- { tags: { columnName: 'tags', type: HasuraGraphQLColumnType.Jsonb } },
94
- { createdAt: { columnName: 'created_at' } },
95
- { updatedAt: { columnName: 'updated_at' } },
96
112
  ],
97
113
  });
98
114
  }
@@ -124,11 +140,12 @@ export class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHa
124
140
  update: { get: () => super.update }
125
141
  });
126
142
  return __awaiter(this, void 0, void 0, function* () {
127
- const { categories, id: checkId } = params, data = __rest(params, ["categories", "id"]);
143
+ const { categories, kitProducts, id: checkId } = params, data = __rest(params, ["categories", "kitProducts", "id"]);
128
144
  const plainData = this.paramsToPlain({ id: checkId });
129
145
  const id = yield this.getId(plainData.id);
130
146
  const product = yield _super.update.call(this, Object.assign({ id }, data));
131
147
  product.categories = categories && (yield this.updateCategories(+id, { categories }));
148
+ product.kitProducts = kitProducts && (yield this.updateKitProducts(+id, { kitProducts }));
132
149
  return product;
133
150
  });
134
151
  }
@@ -152,6 +169,30 @@ export class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHa
152
169
  return plainData.categories;
153
170
  });
154
171
  }
172
+ updateKitProducts(productId, { kitProducts }) {
173
+ return __awaiter(this, void 0, void 0, function* () {
174
+ const plainData = this.paramsToPlain({ kitProducts });
175
+ yield this.mutation('delete_product_kit', ['affected_rows'], {
176
+ where: {
177
+ type: 'product_kit_bool_exp',
178
+ required: true,
179
+ value: { product_id: { _eq: productId } },
180
+ },
181
+ });
182
+ yield this.mutation('insert_product_kit', ['affected_rows'], {
183
+ objects: {
184
+ type: '[product_kit_insert_input!]',
185
+ required: true,
186
+ value: plainData.kitProducts.map((kitProduct) => ({
187
+ kit_product_id: kitProduct.kitProductId,
188
+ product_id: productId,
189
+ quantity: kitProduct.quantity,
190
+ })),
191
+ },
192
+ });
193
+ return plainData.kitProducts;
194
+ });
195
+ }
155
196
  getId(id) {
156
197
  var _a, _b;
157
198
  return __awaiter(this, void 0, void 0, function* () {
@@ -164,4 +205,4 @@ export class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHa
164
205
  });
165
206
  }
166
207
  }
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvcmVwb3NpdG9yaWVzL2NhdGFsb2cvcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBR0wsS0FBSyxFQUdMLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBR25ELE1BQU0sT0FBTyw4QkFDWCxTQUFRLHFCQUFxQixDQUFDLGlCQUFpQixDQUF1QixJQUFJLENBQUMsQ0FBQztJQUc1RSxZQUFZLFFBQWdCLEVBQUUsV0FBcUM7UUFDakUsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixRQUFRO1lBQ1IsV0FBVztZQUNYLE1BQU0sRUFBRTtnQkFDTixFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFO2dCQUN0RixFQUFFLFdBQVcsRUFBRSxFQUFF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QUFNLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDaEUsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxrQ0FBa0M7b0JBQ3hDLFFBQVEsRUFBRSxJQUFJO29CQUNkLEtBQUssRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7aUJBQ3RHO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFBO1FBQzdCLENBQUM7S0FBQTtJQUVhLEtBQUssQ0FBQyxFQUFVOzs7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQUUsT0FBTyxFQUFFLENBQUE7WUFFakMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFFbEUsSUFBSSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRyxDQUFDLENBQUMsMENBQUUsRUFBRTtnQkFBRSxPQUFPLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFHLENBQUMsQ0FBQywwQ0FBRSxFQUFFLENBQUE7WUFFdkMsTUFBTSxJQUFJLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQTs7S0FDM0Q7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEdldFJlcG9zaXRvcnlQYXJhbXMsXG4gIFByb2R1Y3RSZXBvc2l0b3J5LFxuICBTaG9wcyxcbiAgU2hvcHNQcmljZSxcbiAgVXBkYXRlUmVwb3NpdG9yeVBhcmFtcyxcbiAgV2hlcmUsXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9lcnJvcnMnXG5pbXBvcnQgeyBCYXNlLCBpc05pbCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTENvbHVtblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcydcbmltcG9ydCB7IHdpdGhDcnVkSGFzdXJhR3JhcGhRTCwgd2l0aEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9taXhpbnMnXG5pbXBvcnQgeyBQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4uLy4uL21vZGVscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgY2xhc3MgUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XG4gIGV4dGVuZHMgd2l0aENydWRIYXN1cmFHcmFwaFFMKHdpdGhIYXN1cmFHcmFwaFFMPFByb2R1Y3RIYXN1cmFHcmFwaFFMPihCYXNlKSlcbiAgaW1wbGVtZW50cyBQcm9kdWN0UmVwb3NpdG9yeVxue1xuICBjb25zdHJ1Y3RvcihlbmRwb2ludDogc3RyaW5nLCBhdXRoT3B0aW9uczogSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdGFibGVOYW1lOiAncHJvZHVjdCcsXG4gICAgICBtb2RlbDogUHJvZHVjdEhhc3VyYUdyYXBoUUwsXG4gICAgICBlbmRwb2ludCxcbiAgICAgIGF1dGhPcHRpb25zLFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHsgaWQ6IHsgY29sdW1uTmFtZTogJ2lkJywgdG86ICh2YWx1ZSkgPT4gK3ZhbHVlLCBmcm9tOiAodmFsdWUpID0+IHZhbHVlLnRvU3RyaW5nKCkgfSB9LFxuICAgICAgICB7IGZpcmVzdG9yZUlkOiB7IGNvbHVtbk5hbWU6ICdmaXJlc3RvcmVfaWQnIH0gfSxcbiAgICAgICAgeyBDRVNUOiB7IGNvbHVtbk5hbWU6ICdjZXN0JyB9IH0sXG4gICAgICAgIHsgRUFOOiB7IGNvbHVtbk5hbWU6ICdlYW4nIH0gfSxcbiAgICAgICAgeyBOQ006IHsgY29sdW1uTmFtZTogJ25jbScgfSB9LFxuICAgICAgICAnYnJhbmQnLFxuICAgICAgICB7IGNvc3RQcmljZTogeyBjb2x1bW5OYW1lOiAnY29zdF9wcmljZScgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdkZXNjcmlwdGlvbicsXG4gICAgICAgICAgICBmcm9tOiAoZGVzY3JpcHRpb24pID0+XG4gICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoU2hvcHMpLnJlZHVjZSgoc2hvcHMsIHNob3ApID0+ICh7IC4uLnNob3BzLCBbc2hvcF06IHsgZGVzY3JpcHRpb24gfSB9KSwge30pLFxuICAgICAgICAgICAgdG86ICh2YWx1ZSkgPT4gT2JqZWN0LnZhbHVlcyh2YWx1ZSkuc2hpZnQoKS5kZXNjcmlwdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7IGhhc1ZhcmlhbnRzOiB7IGNvbHVtbk5hbWU6ICdoYXNfdmFyaWFudHMnIH0gfSxcbiAgICAgICAgeyBpbWFnZXM6IHsgY29sdW1uTmFtZTogJ2ltYWdlcycsIHRvOiAodmFsdWUpID0+IGB7XCIke3ZhbHVlLmpvaW4oYFwiLFwiYCl9XCJ9YCB9IH0sXG4gICAgICAgIHsgbWluaWF0dXJlczogeyBjb2x1bW5OYW1lOiAnbWluaWF0dXJlcycsIHRvOiAodmFsdWUpID0+IGB7XCIke3ZhbHVlLmpvaW4oYFwiLFwiYCl9XCJ9YCB9IH0sXG4gICAgICAgICduYW1lJyxcbiAgICAgICAge1xuICAgICAgICAgIHByaWNlOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAncHJpY2UnLFxuICAgICAgICAgICAgZnJvbTogKHByaWNlLCBkYXRhKTogU2hvcHNQcmljZSA9PlxuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKFNob3BzKS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgKHByaWNlczogU2hvcHNQcmljZSwgc2hvcCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIC4uLnByaWNlcyxcbiAgICAgICAgICAgICAgICAgIFtzaG9wXToge1xuICAgICAgICAgICAgICAgICAgICBwcmljZSxcbiAgICAgICAgICAgICAgICAgICAgZnVsbFByaWNlOiBkYXRhLmZ1bGxfcHJpY2UsXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6IGRhdGEuc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyUHJpY2U6IGRhdGEuc3Vic2NyaWJlcl9wcmljZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBiaW5kRmluZEZpbHRlcjogKHNlbnRlbmNlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbHRlcnMgPSBPYmplY3QudmFsdWVzKHNlbnRlbmNlKS5zaGlmdCgpXG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi4oZmlsdGVycz8ucHJpY2UgJiYgeyBwcmljZTogZmlsdGVycy5wcmljZSB9KSxcbiAgICAgICAgICAgICAgICAuLi4oZmlsdGVycy5mdWxsUHJpY2UgJiYgeyBmdWxsX3ByaWNlOiBmaWx0ZXJzLmZ1bGxQcmljZSB9KSxcbiAgICAgICAgICAgICAgICAuLi4oZmlsdGVycy5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlICYmIHtcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZTogZmlsdGVycy5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC4uLihmaWx0ZXJzLnN1YnNjcmliZXJQcmljZSAmJiB7IHN1YnNjcmliZXJfcHJpY2U6IGZpbHRlcnMuc3Vic2NyaWJlclByaWNlIH0pLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcHJpY2VEYXRhID0gT2JqZWN0LnZhbHVlcyh2YWx1ZSkuc2hpZnQoKVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uKHByaWNlRGF0YT8ucHJpY2UgJiYgeyBwcmljZTogcHJpY2VEYXRhLnByaWNlIH0pLFxuICAgICAgICAgICAgICAgIC4uLihwcmljZURhdGEuZnVsbFByaWNlICYmIHsgZnVsbF9wcmljZTogcHJpY2VEYXRhLmZ1bGxQcmljZSB9KSxcbiAgICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhLnN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2UgJiYge1xuICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlOiBwcmljZURhdGEuc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhLnN1YnNjcmliZXJQcmljZSAmJiB7IHN1YnNjcmliZXJfcHJpY2U6IHByaWNlRGF0YS5zdWJzY3JpYmVyUHJpY2UgfSksXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBmdWxsUHJpY2U6IHsgY29sdW1uTmFtZTogJ2Z1bGxfcHJpY2UnIH0gfSxcbiAgICAgICAgeyBzdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlOiB7IGNvbHVtbk5hbWU6ICdzdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2UnIH0gfSxcbiAgICAgICAgeyBzdWJzY3JpYmVyUHJpY2U6IHsgY29sdW1uTmFtZTogJ3N1YnNjcmliZXJfcHJpY2UnIH0gfSxcbiAgICAgICAgJ3B1Ymxpc2hlZCcsXG4gICAgICAgIHsgcHVibGlzaGVkR2xhbTogeyBjb2x1bW5OYW1lOiAncHVibGlzaGVkX2dsYW0nIH0gfSxcbiAgICAgICAgJ3NrdScsXG4gICAgICAgIHtcbiAgICAgICAgICBzdG9jazoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3N0b2NrJyxcbiAgICAgICAgICAgIGZyb206IChxdWFudGl0eTogbnVtYmVyKSA9PiAoeyBxdWFudGl0eSB9KSxcbiAgICAgICAgICAgIHRvOiAodmFsdWUpID0+IChpc05pbCh2YWx1ZT8ucXVhbnRpdHkpID8gdmFsdWUgOiB2YWx1ZT8ucXVhbnRpdHkpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdzbHVnJyxcbiAgICAgICAgJ3R5cGUnLFxuICAgICAgICAndmlkZW8nLFxuICAgICAgICAnd2VpZ2h0JyxcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdjYXRlZ29yaWVzJyxcbiAgICAgICAgICAgIGZpZWxkczogWydjYXRlZ29yeV9pZCddLFxuICAgICAgICAgICAgYmluZFBlcnNpc3REYXRhOiAodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgIGNhdGVnb3JpZXM6IHsgZGF0YTogdmFsdWUubWFwKChjYXRlZ29yeSkgPT4gKHsgY2F0ZWdvcnlfaWQ6ICtjYXRlZ29yeSB9KSkgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdG86IChjYXRlZ29yaWVzKSA9PiBjYXRlZ29yaWVzLm1hcCgoY2F0ZWdvcnlJZCkgPT4gK2NhdGVnb3J5SWQpLFxuICAgICAgICAgICAgZnJvbTogKGNhdGVnb3JpZXM6IHsgY2F0ZWdvcnlfaWQ6IG51bWJlciB9W10pID0+XG4gICAgICAgICAgICAgIGNhdGVnb3JpZXM/Lm1hcCgoY2F0ZWdvcnkpID0+IGNhdGVnb3J5Py5jYXRlZ29yeV9pZD8udG9TdHJpbmcoKSkgfHwgW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNob3BBdmFpbGFiaWxpdHk6IHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdzaG9wX2F2YWlsYWJpbGl0aWVzJyxcbiAgICAgICAgICAgIGZpZWxkczogWydzaG9wJ10sXG4gICAgICAgICAgICBmcm9tOiAoc2hvcCkgPT4gKEFycmF5LmlzQXJyYXkoc2hvcCkgPyBzaG9wLm1hcCgocm93OiB7IHNob3A6IFNob3BzIH0pID0+IHJvdy5zaG9wKSA6IFtdKSxcbiAgICAgICAgICAgIHRvOiAoc2hvcHMpID0+IHNob3BzLm1hcCgoc2hvcDogU2hvcHMpID0+ICh7IHNob3AgfSkpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHsgdGFnczogeyBjb2x1bW5OYW1lOiAndGFncycsIHR5cGU6IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlLkpzb25iIH0gfSxcbiAgICAgICAgeyBjcmVhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ2NyZWF0ZWRfYXQnIH0gfSxcbiAgICAgICAgeyB1cGRhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ3VwZGF0ZWRfYXQnIH0gfSxcbiAgICAgIF0sXG4gICAgfSlcbiAgfVxuXG4gIGFzeW5jIGdldChpZGVudGlmaWVyczogR2V0UmVwb3NpdG9yeVBhcmFtczxQcm9kdWN0SGFzdXJhR3JhcGhRTD4pOiBQcm9taXNlPFByb2R1Y3RIYXN1cmFHcmFwaFFMPiB7XG4gICAgcmV0dXJuIE51bWJlci5pc05hTigraWRlbnRpZmllcnMuaWQpXG4gICAgICA/IChhd2FpdCB0aGlzLmZpbmQoeyBmaWx0ZXJzOiB7IGZpcmVzdG9yZUlkOiBpZGVudGlmaWVycy5pZCB9IH0pKS5kYXRhPy5bMF1cbiAgICAgIDogc3VwZXIuZ2V0KGlkZW50aWZpZXJzKVxuICB9XG5cbiAgYXN5bmMgZ2V0QnlTbHVnKHNsdWc6IHN0cmluZywgc2hvcDogU2hvcHMpOiBQcm9taXNlPFByb2R1Y3RIYXN1cmFHcmFwaFFMPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5maW5kKHtcbiAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgc2x1ZzogeyBvcGVyYXRvcjogV2hlcmUuRVFVQUxTLCB2YWx1ZTogc2x1ZyB9LFxuICAgICAgICBzaG9wQXZhaWxhYmlsaXR5OiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IFtzaG9wXSB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdD8uZGF0YT8uc2hpZnQoKVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlKHBhcmFtczogVXBkYXRlUmVwb3NpdG9yeVBhcmFtczxQcm9kdWN0SGFzdXJhR3JhcGhRTD4pOiBQcm9taXNlPFByb2R1Y3RIYXN1cmFHcmFwaFFMPiB7XG4gICAgY29uc3QgeyBjYXRlZ29yaWVzLCBpZDogY2hlY2tJZCwgLi4uZGF0YSB9ID0gcGFyYW1zXG4gICAgY29uc3QgcGxhaW5EYXRhID0gdGhpcy5wYXJhbXNUb1BsYWluKHsgaWQ6IGNoZWNrSWQgfSlcbiAgICBjb25zdCBpZCA9IGF3YWl0IHRoaXMuZ2V0SWQocGxhaW5EYXRhLmlkKVxuICAgIGNvbnN0IHByb2R1Y3QgPSBhd2FpdCBzdXBlci51cGRhdGUoeyBpZCwgLi4uZGF0YSB9KVxuXG4gICAgcHJvZHVjdC5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcyAmJiAoYXdhaXQgdGhpcy51cGRhdGVDYXRlZ29yaWVzKCtpZCwgeyBjYXRlZ29yaWVzIH0pKVxuXG4gICAgcmV0dXJuIHByb2R1Y3RcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQ2F0ZWdvcmllcyhcbiAgICBwcm9kdWN0SWQ6IG51bWJlcixcbiAgICB7IGNhdGVnb3JpZXMgfTogUGljazxVcGRhdGVSZXBvc2l0b3J5UGFyYW1zPFByb2R1Y3RIYXN1cmFHcmFwaFFMPiwgJ2NhdGVnb3JpZXMnPixcbiAgKTogUHJvbWlzZTxQcm9kdWN0SGFzdXJhR3JhcGhRTFsnY2F0ZWdvcmllcyddPiB7XG4gICAgY29uc3QgcGxhaW5EYXRhID0gdGhpcy5wYXJhbXNUb1BsYWluKHsgY2F0ZWdvcmllcyB9KVxuXG4gICAgYXdhaXQgdGhpcy5tdXRhdGlvbignZGVsZXRlX2NhdGVnb3J5X3Byb2R1Y3QnLCBbJ2FmZmVjdGVkX3Jvd3MnXSwge1xuICAgICAgd2hlcmU6IHtcbiAgICAgICAgdHlwZTogJ2NhdGVnb3J5X3Byb2R1Y3RfYm9vbF9leHAnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IHsgcHJvZHVjdF9pZDogeyBfZXE6IHByb2R1Y3RJZCB9IH0sXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBhd2FpdCB0aGlzLm11dGF0aW9uKCdpbnNlcnRfY2F0ZWdvcnlfcHJvZHVjdCcsIFsnYWZmZWN0ZWRfcm93cyddLCB7XG4gICAgICBvYmplY3RzOiB7XG4gICAgICAgIHR5cGU6ICdbY2F0ZWdvcnlfcHJvZHVjdF9pbnNlcnRfaW5wdXQhXScsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB2YWx1ZTogcGxhaW5EYXRhLmNhdGVnb3JpZXMubWFwKChjYXRlZ29yeUlkKSA9PiAoeyBjYXRlZ29yeV9pZDogY2F0ZWdvcnlJZCwgcHJvZHVjdF9pZDogcHJvZHVjdElkIH0pKSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIHJldHVybiBwbGFpbkRhdGEuY2F0ZWdvcmllc1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRJZChpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoIU51bWJlci5pc05hTigraWQpKSByZXR1cm4gaWRcblxuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5maW5kKHsgZmlsdGVyczogeyBmaXJlc3RvcmVJZDogaWQgfSB9KVxuXG4gICAgaWYgKGRhdGE/LlswXT8uaWQpIHJldHVybiBkYXRhPy5bMF0/LmlkXG5cbiAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgUHJvZHVjdCB3aXRoIGlkICR7aWR9IG5vdCBmb3VuZGApXG4gIH1cbn1cbiJdfQ==
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvaGFzdXJhLWdyYXBocWwvcmVwb3NpdG9yaWVzL2NhdGFsb2cvcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBR0wsS0FBSyxFQUdMLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFBO0FBQzNCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBR25ELE1BQU0sT0FBTyw4QkFDWCxTQUFRLHFCQUFxQixDQUFDLGlCQUFpQixDQUF1QixJQUFJLENBQUMsQ0FBQztJQUc1RSxZQUFZLFFBQWdCLEVBQUUsV0FBcUM7UUFDakUsTUFBTSxZQUFZLEdBQThDO1lBQzlELEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDdEYsRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEVBQUU7WUFDL0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVB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QUcsQ0FBQyxDQUFDLDBDQUFFLEVBQUU7Z0JBQUUsT0FBTyxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRyxDQUFDLENBQUMsMENBQUUsRUFBRSxDQUFBO1lBRXZDLE1BQU0sSUFBSSxhQUFhLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLENBQUE7O0tBQzNEO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBHZXRSZXBvc2l0b3J5UGFyYW1zLFxuICBQcm9kdWN0UmVwb3NpdG9yeSxcbiAgU2hvcHMsXG4gIFNob3BzUHJpY2UsXG4gIFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXMsXG4gIFdoZXJlLFxufSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJyb3JzJ1xuaW1wb3J0IHsgQmFzZSwgaXNOaWwgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnXG5pbXBvcnQgeyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwsIHdpdGhIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xuaW1wb3J0IHsgUHJvZHVjdEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9tb2RlbHMnXG5pbXBvcnQgeyBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMsIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IGNsYXNzIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCh3aXRoSGFzdXJhR3JhcGhRTDxQcm9kdWN0SGFzdXJhR3JhcGhRTD4oQmFzZSkpXG4gIGltcGxlbWVudHMgUHJvZHVjdFJlcG9zaXRvcnlcbntcbiAgY29uc3RydWN0b3IoZW5kcG9pbnQ6IHN0cmluZywgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucykge1xuICAgIGNvbnN0IGNvbW1vbkZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxQcm9kdWN0SGFzdXJhR3JhcGhRTD4gPSBbXG4gICAgICB7IGlkOiB7IGNvbHVtbk5hbWU6ICdpZCcsIHRvOiAodmFsdWUpID0+ICt2YWx1ZSwgZnJvbTogKHZhbHVlKSA9PiB2YWx1ZS50b1N0cmluZygpIH0gfSxcbiAgICAgIHsgZmlyZXN0b3JlSWQ6IHsgY29sdW1uTmFtZTogJ2ZpcmVzdG9yZV9pZCcgfSB9LFxuICAgICAgeyBDRVNUOiB7IGNvbHVtbk5hbWU6ICdjZXN0JyB9IH0sXG4gICAgICB7IEVBTjogeyBjb2x1bW5OYW1lOiAnZWFuJyB9IH0sXG4gICAgICB7IE5DTTogeyBjb2x1bW5OYW1lOiAnbmNtJyB9IH0sXG4gICAgICAnYnJhbmQnLFxuICAgICAgeyBjb3N0UHJpY2U6IHsgY29sdW1uTmFtZTogJ2Nvc3RfcHJpY2UnIH0gfSxcbiAgICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICBjb2x1bW5OYW1lOiAnZGVzY3JpcHRpb24nLFxuICAgICAgICAgIGZyb206IChkZXNjcmlwdGlvbikgPT5cbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoU2hvcHMpLnJlZHVjZSgoc2hvcHMsIHNob3ApID0+ICh7IC4uLnNob3BzLCBbc2hvcF06IHsgZGVzY3JpcHRpb24gfSB9KSwge30pLFxuICAgICAgICAgIHRvOiAodmFsdWUpID0+IE9iamVjdC52YWx1ZXModmFsdWUpLnNoaWZ0KCkuZGVzY3JpcHRpb24sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBoYXNWYXJpYW50czogeyBjb2x1bW5OYW1lOiAnaGFzX3ZhcmlhbnRzJyB9IH0sXG4gICAgICB7IGltYWdlczogeyBjb2x1bW5OYW1lOiAnaW1hZ2VzJywgdG86ICh2YWx1ZSkgPT4gYHtcIiR7dmFsdWUuam9pbihgXCIsXCJgKX1cIn1gIH0gfSxcbiAgICAgIHsgbWluaWF0dXJlczogeyBjb2x1bW5OYW1lOiAnbWluaWF0dXJlcycsIHRvOiAodmFsdWUpID0+IGB7XCIke3ZhbHVlLmpvaW4oYFwiLFwiYCl9XCJ9YCB9IH0sXG4gICAgICAnbmFtZScsXG4gICAgICB7XG4gICAgICAgIHByaWNlOiB7XG4gICAgICAgICAgY29sdW1uTmFtZTogJ3ByaWNlJyxcbiAgICAgICAgICBmcm9tOiAocHJpY2UsIGRhdGEpOiBTaG9wc1ByaWNlID0+XG4gICAgICAgICAgICBPYmplY3QudmFsdWVzKFNob3BzKS5yZWR1Y2UoXG4gICAgICAgICAgICAgIChwcmljZXM6IFNob3BzUHJpY2UsIHNob3ApID0+ICh7XG4gICAgICAgICAgICAgICAgLi4ucHJpY2VzLFxuICAgICAgICAgICAgICAgIFtzaG9wXToge1xuICAgICAgICAgICAgICAgICAgcHJpY2UsXG4gICAgICAgICAgICAgICAgICBmdWxsUHJpY2U6IGRhdGEuZnVsbF9wcmljZSxcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2U6IGRhdGEuc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlclByaWNlOiBkYXRhLnN1YnNjcmliZXJfcHJpY2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBiaW5kRmluZEZpbHRlcjogKHNlbnRlbmNlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJzID0gT2JqZWN0LnZhbHVlcyhzZW50ZW5jZSkuc2hpZnQoKVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi4oZmlsdGVycz8ucHJpY2UgJiYgeyBwcmljZTogZmlsdGVycy5wcmljZSB9KSxcbiAgICAgICAgICAgICAgLi4uKGZpbHRlcnMuZnVsbFByaWNlICYmIHsgZnVsbF9wcmljZTogZmlsdGVycy5mdWxsUHJpY2UgfSksXG4gICAgICAgICAgICAgIC4uLihmaWx0ZXJzLnN1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2UgJiYge1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZXJfZGlzY291bnRfcGVyY2VudGFnZTogZmlsdGVycy5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgLi4uKGZpbHRlcnMuc3Vic2NyaWJlclByaWNlICYmIHsgc3Vic2NyaWJlcl9wcmljZTogZmlsdGVycy5zdWJzY3JpYmVyUHJpY2UgfSksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBiaW5kUGVyc2lzdERhdGE6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJpY2VEYXRhID0gT2JqZWN0LnZhbHVlcyh2YWx1ZSkuc2hpZnQoKVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi4ocHJpY2VEYXRhPy5wcmljZSAmJiB7IHByaWNlOiBwcmljZURhdGEucHJpY2UgfSksXG4gICAgICAgICAgICAgIC4uLihwcmljZURhdGEuZnVsbFByaWNlICYmIHsgZnVsbF9wcmljZTogcHJpY2VEYXRhLmZ1bGxQcmljZSB9KSxcbiAgICAgICAgICAgICAgLi4uKHByaWNlRGF0YS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlICYmIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyX2Rpc2NvdW50X3BlcmNlbnRhZ2U6IHByaWNlRGF0YS5zdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgLi4uKHByaWNlRGF0YS5zdWJzY3JpYmVyUHJpY2UgJiYgeyBzdWJzY3JpYmVyX3ByaWNlOiBwcmljZURhdGEuc3Vic2NyaWJlclByaWNlIH0pLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBmdWxsUHJpY2U6IHsgY29sdW1uTmFtZTogJ2Z1bGxfcHJpY2UnIH0gfSxcbiAgICAgIHsgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZTogeyBjb2x1bW5OYW1lOiAnc3Vic2NyaWJlcl9kaXNjb3VudF9wZXJjZW50YWdlJyB9IH0sXG4gICAgICB7IHN1YnNjcmliZXJQcmljZTogeyBjb2x1bW5OYW1lOiAnc3Vic2NyaWJlcl9wcmljZScgfSB9LFxuICAgICAgJ3B1Ymxpc2hlZCcsXG4gICAgICB7IHB1Ymxpc2hlZEdsYW06IHsgY29sdW1uTmFtZTogJ3B1Ymxpc2hlZF9nbGFtJyB9IH0sXG4gICAgICAnc2t1JyxcbiAgICAgIHtcbiAgICAgICAgc3RvY2s6IHtcbiAgICAgICAgICBjb2x1bW5OYW1lOiAnc3RvY2snLFxuICAgICAgICAgIGZyb206IChxdWFudGl0eTogbnVtYmVyKSA9PiAoeyBxdWFudGl0eSB9KSxcbiAgICAgICAgICB0bzogKHZhbHVlKSA9PiAoaXNOaWwodmFsdWU/LnF1YW50aXR5KSA/IHZhbHVlIDogdmFsdWU/LnF1YW50aXR5KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnc2x1ZycsXG4gICAgICAndHlwZScsXG4gICAgICAndmlkZW8nLFxuICAgICAgJ3dlaWdodCcsXG4gICAgICB7XG4gICAgICAgIHNob3BBdmFpbGFiaWxpdHk6IHtcbiAgICAgICAgICBjb2x1bW5OYW1lOiAnc2hvcF9hdmFpbGFiaWxpdGllcycsXG4gICAgICAgICAgZmllbGRzOiBbJ3Nob3AnXSxcbiAgICAgICAgICBmcm9tOiAoc2hvcCkgPT4gKEFycmF5LmlzQXJyYXkoc2hvcCkgPyBzaG9wLm1hcCgocm93OiB7IHNob3A6IFNob3BzIH0pID0+IHJvdy5zaG9wKSA6IFtdKSxcbiAgICAgICAgICB0bzogKHNob3BzKSA9PiBzaG9wcy5tYXAoKHNob3A6IFNob3BzKSA9PiAoeyBzaG9wIH0pKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7IHRhZ3M6IHsgY29sdW1uTmFtZTogJ3RhZ3MnLCB0eXBlOiBIYXN1cmFHcmFwaFFMQ29sdW1uVHlwZS5Kc29uYiB9IH0sXG4gICAgICB7IGlzS2l0OiB7IGNvbHVtbk5hbWU6ICdpc19raXQnIH0gfSxcbiAgICAgIHsgY3JlYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICdjcmVhdGVkX2F0JyB9IH0sXG4gICAgICB7IHVwZGF0ZWRBdDogeyBjb2x1bW5OYW1lOiAndXBkYXRlZF9hdCcgfSB9LFxuICAgIF1cblxuICAgIHN1cGVyKHtcbiAgICAgIHRhYmxlTmFtZTogJ3Byb2R1Y3QnLFxuICAgICAgbW9kZWw6IFByb2R1Y3RIYXN1cmFHcmFwaFFMLFxuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICAuLi5jb21tb25GaWVsZHMsXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yaWVzOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAnY2F0ZWdvcmllcycsXG4gICAgICAgICAgICBmaWVsZHM6IFsnY2F0ZWdvcnlfaWQnXSxcbiAgICAgICAgICAgIGJpbmRQZXJzaXN0RGF0YTogKHZhbHVlKSA9PiAoe1xuICAgICAgICAgICAgICBjYXRlZ29yaWVzOiB7IGRhdGE6IHZhbHVlLm1hcCgoY2F0ZWdvcnkpID0+ICh7IGNhdGVnb3J5X2lkOiArY2F0ZWdvcnkgfSkpIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRvOiAoY2F0ZWdvcmllcykgPT4gY2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5SWQpID0+ICtjYXRlZ29yeUlkKSxcbiAgICAgICAgICAgIGZyb206IChjYXRlZ29yaWVzOiB7IGNhdGVnb3J5X2lkOiBudW1iZXIgfVtdKSA9PlxuICAgICAgICAgICAgICBjYXRlZ29yaWVzPy5tYXAoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeT8uY2F0ZWdvcnlfaWQ/LnRvU3RyaW5nKCkpIHx8IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBraXRQcm9kdWN0czoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ2tpdF9wcm9kdWN0cycsXG4gICAgICAgICAgICBmb3JlaWduS2V5Q29sdW1uOiB7IHByb2R1Y3RJZDogJ2lkJyB9LFxuICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgIHsgcHJvZHVjdElkOiB7IGNvbHVtbk5hbWU6ICdwcm9kdWN0X2lkJyB9IH0sXG4gICAgICAgICAgICAgIHsga2l0UHJvZHVjdElkOiB7IGNvbHVtbk5hbWU6ICdraXRfcHJvZHVjdF9pZCcgfSB9LFxuICAgICAgICAgICAgICAncXVhbnRpdHknLFxuICAgICAgICAgICAgICB7IHByb2R1Y3Q6IHsgY29sdW1uTmFtZTogJ3Byb2R1Y3QnLCBmb3JlaWduS2V5Q29sdW1uOiB7IGlkOiAncHJvZHVjdF9pZCcgfSwgZmllbGRzOiBjb21tb25GaWVsZHMgfSB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0KGlkZW50aWZpZXJzOiBHZXRSZXBvc2l0b3J5UGFyYW1zPFByb2R1Y3RIYXN1cmFHcmFwaFFMPik6IFByb21pc2U8UHJvZHVjdEhhc3VyYUdyYXBoUUw+IHtcbiAgICByZXR1cm4gTnVtYmVyLmlzTmFOKCtpZGVudGlmaWVycy5pZClcbiAgICAgID8gKGF3YWl0IHRoaXMuZmluZCh7IGZpbHRlcnM6IHsgZmlyZXN0b3JlSWQ6IGlkZW50aWZpZXJzLmlkIH0gfSkpLmRhdGE/LlswXVxuICAgICAgOiBzdXBlci5nZXQoaWRlbnRpZmllcnMpXG4gIH1cblxuICBhc3luYyBnZXRCeVNsdWcoc2x1Zzogc3RyaW5nLCBzaG9wOiBTaG9wcyk6IFByb21pc2U8UHJvZHVjdEhhc3VyYUdyYXBoUUw+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmZpbmQoe1xuICAgICAgZmlsdGVyczoge1xuICAgICAgICBzbHVnOiB7IG9wZXJhdG9yOiBXaGVyZS5FUVVBTFMsIHZhbHVlOiBzbHVnIH0sXG4gICAgICAgIHNob3BBdmFpbGFiaWxpdHk6IHsgb3BlcmF0b3I6IFdoZXJlLklOLCB2YWx1ZTogW3Nob3BdIH0sXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0Py5kYXRhPy5zaGlmdCgpXG4gIH1cblxuICBhc3luYyB1cGRhdGUocGFyYW1zOiBVcGRhdGVSZXBvc2l0b3J5UGFyYW1zPFByb2R1Y3RIYXN1cmFHcmFwaFFMPik6IFByb21pc2U8UHJvZHVjdEhhc3VyYUdyYXBoUUw+IHtcbiAgICBjb25zdCB7IGNhdGVnb3JpZXMsIGtpdFByb2R1Y3RzLCBpZDogY2hlY2tJZCwgLi4uZGF0YSB9ID0gcGFyYW1zXG4gICAgY29uc3QgcGxhaW5EYXRhID0gdGhpcy5wYXJhbXNUb1BsYWluKHsgaWQ6IGNoZWNrSWQgfSlcbiAgICBjb25zdCBpZCA9IGF3YWl0IHRoaXMuZ2V0SWQocGxhaW5EYXRhLmlkKVxuICAgIGNvbnN0IHByb2R1Y3QgPSBhd2FpdCBzdXBlci51cGRhdGUoeyBpZCwgLi4uZGF0YSB9KVxuXG4gICAgcHJvZHVjdC5jYXRlZ29yaWVzID0gY2F0ZWdvcmllcyAmJiAoYXdhaXQgdGhpcy51cGRhdGVDYXRlZ29yaWVzKCtpZCwgeyBjYXRlZ29yaWVzIH0pKVxuICAgIHByb2R1Y3Qua2l0UHJvZHVjdHMgPSBraXRQcm9kdWN0cyAmJiAoYXdhaXQgdGhpcy51cGRhdGVLaXRQcm9kdWN0cygraWQsIHsga2l0UHJvZHVjdHMgfSkpXG5cbiAgICByZXR1cm4gcHJvZHVjdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVDYXRlZ29yaWVzKFxuICAgIHByb2R1Y3RJZDogbnVtYmVyLFxuICAgIHsgY2F0ZWdvcmllcyB9OiBQaWNrPFVwZGF0ZVJlcG9zaXRvcnlQYXJhbXM8UHJvZHVjdEhhc3VyYUdyYXBoUUw+LCAnY2F0ZWdvcmllcyc+LFxuICApOiBQcm9taXNlPFByb2R1Y3RIYXN1cmFHcmFwaFFMWydjYXRlZ29yaWVzJ10+IHtcbiAgICBjb25zdCBwbGFpbkRhdGEgPSB0aGlzLnBhcmFtc1RvUGxhaW4oeyBjYXRlZ29yaWVzIH0pXG5cbiAgICBhd2FpdCB0aGlzLm11dGF0aW9uKCdkZWxldGVfY2F0ZWdvcnlfcHJvZHVjdCcsIFsnYWZmZWN0ZWRfcm93cyddLCB7XG4gICAgICB3aGVyZToge1xuICAgICAgICB0eXBlOiAnY2F0ZWdvcnlfcHJvZHVjdF9ib29sX2V4cCcsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB2YWx1ZTogeyBwcm9kdWN0X2lkOiB7IF9lcTogcHJvZHVjdElkIH0gfSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGF3YWl0IHRoaXMubXV0YXRpb24oJ2luc2VydF9jYXRlZ29yeV9wcm9kdWN0JywgWydhZmZlY3RlZF9yb3dzJ10sIHtcbiAgICAgIG9iamVjdHM6IHtcbiAgICAgICAgdHlwZTogJ1tjYXRlZ29yeV9wcm9kdWN0X2luc2VydF9pbnB1dCFdJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHZhbHVlOiBwbGFpbkRhdGEuY2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5SWQpID0+ICh7IGNhdGVnb3J5X2lkOiBjYXRlZ29yeUlkLCBwcm9kdWN0X2lkOiBwcm9kdWN0SWQgfSkpLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHBsYWluRGF0YS5jYXRlZ29yaWVzXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUtpdFByb2R1Y3RzKFxuICAgIHByb2R1Y3RJZDogbnVtYmVyLFxuICAgIHsga2l0UHJvZHVjdHMgfTogUGljazxVcGRhdGVSZXBvc2l0b3J5UGFyYW1zPFByb2R1Y3RIYXN1cmFHcmFwaFFMPiwgJ2tpdFByb2R1Y3RzJz4sXG4gICk6IFByb21pc2U8UHJvZHVjdEhhc3VyYUdyYXBoUUxbJ2tpdFByb2R1Y3RzJ10+IHtcbiAgICBjb25zdCBwbGFpbkRhdGEgPSB0aGlzLnBhcmFtc1RvUGxhaW4oeyBraXRQcm9kdWN0cyB9KVxuXG4gICAgYXdhaXQgdGhpcy5tdXRhdGlvbignZGVsZXRlX3Byb2R1Y3Rfa2l0JywgWydhZmZlY3RlZF9yb3dzJ10sIHtcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIHR5cGU6ICdwcm9kdWN0X2tpdF9ib29sX2V4cCcsXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB2YWx1ZTogeyBwcm9kdWN0X2lkOiB7IF9lcTogcHJvZHVjdElkIH0gfSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIGF3YWl0IHRoaXMubXV0YXRpb24oJ2luc2VydF9wcm9kdWN0X2tpdCcsIFsnYWZmZWN0ZWRfcm93cyddLCB7XG4gICAgICBvYmplY3RzOiB7XG4gICAgICAgIHR5cGU6ICdbcHJvZHVjdF9raXRfaW5zZXJ0X2lucHV0IV0nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IHBsYWluRGF0YS5raXRQcm9kdWN0cy5tYXAoKGtpdFByb2R1Y3QpID0+ICh7XG4gICAgICAgICAga2l0X3Byb2R1Y3RfaWQ6IGtpdFByb2R1Y3Qua2l0UHJvZHVjdElkLFxuICAgICAgICAgIHByb2R1Y3RfaWQ6IHByb2R1Y3RJZCxcbiAgICAgICAgICBxdWFudGl0eToga2l0UHJvZHVjdC5xdWFudGl0eSxcbiAgICAgICAgfSkpLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHBsYWluRGF0YS5raXRQcm9kdWN0c1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRJZChpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAoIU51bWJlci5pc05hTigraWQpKSByZXR1cm4gaWRcblxuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5maW5kKHsgZmlsdGVyczogeyBmaXJlc3RvcmVJZDogaWQgfSB9KVxuXG4gICAgaWYgKGRhdGE/LlswXT8uaWQpIHJldHVybiBkYXRhPy5bMF0/LmlkXG5cbiAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgUHJvZHVjdCB3aXRoIGlkICR7aWR9IG5vdCBmb3VuZGApXG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtZmllbGRzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC90eXBlcy9oYXN1cmEtZ3JhcGhxbC1maWVsZHMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLCBSZXBvc2l0b3J5RmluZEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgUHJvcFR5cGUgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlIH0gZnJvbSAnLi4vZW51bXMnXG5cbmV4cG9ydCB0eXBlIENvbHVtbk9wdGlvbnM8XG4gIEZpZWxkVHlwZSxcbiAgTW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsXG4gIFZhbHVlRnJvbSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuPiA9IHtcbiAgdHlwZT86IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlXG4gIGNvbHVtbk5hbWU/OiBzdHJpbmdcbiAgZmllbGRzPzogYW55W11cbiAgZm9yZWlnbktleUNvbHVtbj86IGFueVxuICBmcm9tPzogKHZhbHVlOiBWYWx1ZUZyb20gfCBWYWx1ZUZyb21bXSwgZGF0YT86IGFueSkgPT4gRmllbGRUeXBlXG4gIHRvPzogKHZhbHVlOiBGaWVsZFR5cGUsIGluc3RhbmNlPzogTW9kZWwpID0+IFZhbHVlRnJvbVxuICBiaW5kRmluZEZpbHRlcj86IChcbiAgICBzZW50ZW5jZTogUmVwb3NpdG9yeUZpbmRGaWVsZDxNb2RlbCwga2V5b2YgTW9kZWw+LFxuICApID0+IFJlY29yZDxzdHJpbmcsIFJlcG9zaXRvcnlGaW5kRmllbGQ8YW55LCBhbnk+IHwgVmFsdWVGcm9tPiB8IFJlcG9zaXRvcnlGaW5kRmllbGQ8YW55LCBhbnk+IHwgVmFsdWVGcm9tXG4gIGJpbmRQZXJzaXN0RGF0YT86ICh2YWx1ZTogRmllbGRUeXBlLCBpbnN0YW5jZT86IE1vZGVsKSA9PiBSZWNvcmQ8c3RyaW5nLCBWYWx1ZUZyb20+XG59XG5leHBvcnQgdHlwZSBDb2x1bW5Nb2RlbE9wdGlvbnM8XG4gIE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBQYXJlbnRNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbj4gPSBDb2x1bW5PcHRpb25zPE1vZGVsLCBQYXJlbnRNb2RlbD4gJiB7XG4gIGZpZWxkcz86IEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+XG4gIGZvcmVpZ25LZXlDb2x1bW4/OiB7XG4gICAgW2tleSBpbiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPl0/OiBzdHJpbmdcbiAgfVxufVxuZXhwb3J0IHR5cGUgQWdncmVnYXRlT3B0aW9uTmFtZXMgPVxuICB8ICdhdmcnXG4gIHwgJ2NvdW50J1xuICB8ICdtYXgnXG4gIHwgJ21pbidcbiAgfCAnc3RkZGV2J1xuICB8ICdzdGRkZXZfcG9wJ1xuICB8ICdzdGRkZXZfc2FtcCdcbiAgfCAnc3VtJ1xuICB8ICd2YXJfcG9wJ1xuICB8ICd2YXJfc2FtcCdcbiAgfCAndmFyaWFuY2UnXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGVPcHRpb25GaWVsZHM8XG4gIE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBUeXBlLFxuICBQcm9wZXJ0aWVzIGV4dGVuZHMga2V5b2YgTW9kZWwgPSBrZXlvZiBNb2RlbCxcbj4gPSB7XG4gIFtLIGluIFByb3BlcnRpZXNdOiBQcm9wVHlwZTxNb2RlbCwgSz4gZXh0ZW5kcyBUeXBlID8gSyA6IG5ldmVyXG59W1Byb3BlcnRpZXNdXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGVPcHRpb25zPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPiA9IHtcbiAgYXZnPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxuICBtYXg/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlciB8IERhdGU+PlxuICBtaW4/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlciB8IERhdGU+PlxuICBzdGRkZXY/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlcj4+XG4gIHN0ZGRldl9wb3A/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlcj4+XG4gIHN0ZGRldl9zYW1wPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxuICBzdW0/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlcj4+XG4gIHZhcl9wb3A/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlcj4+XG4gIHZhcl9zYW1wPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxuICB2YXJpYW5jZT86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cbn1cblxuZXhwb3J0IHR5cGUgSGFzdXJhR3JhcGhRTEZpZWxkczxNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4gPSAoXG4gIHwgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD5cbiAgfCB7XG4gICAgICBba2V5IGluIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TW9kZWw+XT86IFByb3BUeXBlPE1vZGVsLCBrZXk+IGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlXG4gICAgICAgID8gSGFzdXJhR3JhcGhRTEZpZWxkczxQcm9wVHlwZTxNb2RlbCwga2V5Pj5cbiAgICAgICAgOiBuZXZlclxuICAgIH1cbiAgfCB7XG4gICAgICBba2V5IGluIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TW9kZWw+XT86IGtleSBleHRlbmRzICdhZ2dyZWdhdGUnXG4gICAgICAgID8gbmV2ZXJcbiAgICAgICAgOiBQcm9wVHlwZTxNb2RlbCwga2V5PiBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZVxuICAgICAgICA/IENvbHVtbk1vZGVsT3B0aW9uczxQcm9wVHlwZTxNb2RlbCwga2V5PiwgTW9kZWw+XG4gICAgICAgIDogQ29sdW1uT3B0aW9uczxQcm9wVHlwZTxNb2RlbCwga2V5PiwgTW9kZWw+XG4gICAgfVxuICB8IHsgYWdncmVnYXRlOiBBcnJheTxBZ2dyZWdhdGVPcHRpb25zPE1vZGVsPiB8ICdjb3VudCc+IH1cbiAgfCAnYWZmZWN0ZWRfcm93cydcbilbXVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzdXJhLWdyYXBocWwtZmllbGRzLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC90eXBlcy9oYXN1cmEtZ3JhcGhxbC1maWVsZHMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxCYXNlU3RydWN0dXJlLCBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLCBSZXBvc2l0b3J5RmluZEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgUHJvcFR5cGUgfSBmcm9tICcuLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlIH0gZnJvbSAnLi4vZW51bXMnXG5cbmV4cG9ydCB0eXBlIENvbHVtbk9wdGlvbnM8RmllbGRUeXBlLCBNb2RlbCwgVmFsdWVGcm9tID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IFJlY29yZDxzdHJpbmcsIGFueT4+ID0ge1xuICB0eXBlPzogSGFzdXJhR3JhcGhRTENvbHVtblR5cGVcbiAgY29sdW1uTmFtZT86IHN0cmluZ1xuICBmaWVsZHM/OiBIYXN1cmFHcmFwaFFMRmllbGRzPEZpZWxkVHlwZSBleHRlbmRzIGFueVtdID8gRmllbGRUeXBlW251bWJlcl0gOiBGaWVsZFR5cGU+XG4gIGZvcmVpZ25LZXlDb2x1bW4/OiBQYXJ0aWFsPFxuICAgIFJlY29yZDxcbiAgICAgIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8RmllbGRUeXBlIGV4dGVuZHMgYW55W10gPyBGaWVsZFR5cGVbbnVtYmVyXSA6IEZpZWxkVHlwZT4sXG4gICAgICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPiB8IHN0cmluZ1xuICAgID5cbiAgPlxuICBmcm9tPzogKHZhbHVlOiBWYWx1ZUZyb20gfCBWYWx1ZUZyb21bXSwgZGF0YT86IGFueSkgPT4gRmllbGRUeXBlXG4gIHRvPzogKHZhbHVlOiBGaWVsZFR5cGUsIGluc3RhbmNlPzogTW9kZWwpID0+IFZhbHVlRnJvbVxuICBiaW5kRmluZEZpbHRlcj86IChcbiAgICBzZW50ZW5jZTogUmVwb3NpdG9yeUZpbmRGaWVsZDxNb2RlbCwga2V5b2YgTW9kZWw+LFxuICApID0+IFJlY29yZDxzdHJpbmcsIFJlcG9zaXRvcnlGaW5kRmllbGQ8YW55LCBhbnk+IHwgVmFsdWVGcm9tPiB8IFJlcG9zaXRvcnlGaW5kRmllbGQ8YW55LCBhbnk+IHwgVmFsdWVGcm9tXG4gIGJpbmRQZXJzaXN0RGF0YT86ICh2YWx1ZTogRmllbGRUeXBlLCBpbnN0YW5jZT86IE1vZGVsKSA9PiBSZWNvcmQ8c3RyaW5nLCBWYWx1ZUZyb20+XG59XG5leHBvcnQgdHlwZSBBZ2dyZWdhdGVPcHRpb25OYW1lcyA9XG4gIHwgJ2F2ZydcbiAgfCAnY291bnQnXG4gIHwgJ21heCdcbiAgfCAnbWluJ1xuICB8ICdzdGRkZXYnXG4gIHwgJ3N0ZGRldl9wb3AnXG4gIHwgJ3N0ZGRldl9zYW1wJ1xuICB8ICdzdW0nXG4gIHwgJ3Zhcl9wb3AnXG4gIHwgJ3Zhcl9zYW1wJ1xuICB8ICd2YXJpYW5jZSdcbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgVHlwZSwgUHJvcGVydGllcyBleHRlbmRzIGtleW9mIE1vZGVsID0ga2V5b2YgTW9kZWw+ID0ge1xuICBbSyBpbiBQcm9wZXJ0aWVzXTogUHJvcFR5cGU8TW9kZWwsIEs+IGV4dGVuZHMgVHlwZSA/IEsgOiBuZXZlclxufVtQcm9wZXJ0aWVzXVxuZXhwb3J0IHR5cGUgQWdncmVnYXRlT3B0aW9uczxNb2RlbD4gPSB7XG4gIGF2Zz86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cbiAgbWF4PzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXIgfCBEYXRlPj5cbiAgbWluPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXIgfCBEYXRlPj5cbiAgc3RkZGV2PzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxuICBzdGRkZXZfcG9wPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxuICBzdGRkZXZfc2FtcD86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cbiAgc3VtPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxuICB2YXJfcG9wPzogQXJyYXk8QWdncmVnYXRlT3B0aW9uRmllbGRzPE1vZGVsLCBudW1iZXI+PlxuICB2YXJfc2FtcD86IEFycmF5PEFnZ3JlZ2F0ZU9wdGlvbkZpZWxkczxNb2RlbCwgbnVtYmVyPj5cbiAgdmFyaWFuY2U/OiBBcnJheTxBZ2dyZWdhdGVPcHRpb25GaWVsZHM8TW9kZWwsIG51bWJlcj4+XG59XG5cbmV4cG9ydCB0eXBlIEhhc3VyYUdyYXBoUUxGaWVsZHM8TW9kZWw+ID0gKFxuICB8IChNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZVxuICAgICAgP1xuICAgICAgICAgIHwgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD5cbiAgICAgICAgICB8IHtcbiAgICAgICAgICAgICAgW2tleSBpbiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1vZGVsPl0/OiBQcm9wVHlwZTxNb2RlbCwga2V5PiBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZVxuICAgICAgICAgICAgICAgID8gSGFzdXJhR3JhcGhRTEZpZWxkczxQcm9wVHlwZTxNb2RlbCwga2V5Pj5cbiAgICAgICAgICAgICAgICA6IG5ldmVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfCB7XG4gICAgICAgICAgICAgIFtrZXkgaW4gTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNb2RlbD5dPzoga2V5IGV4dGVuZHMgJ2FnZ3JlZ2F0ZSdcbiAgICAgICAgICAgICAgICA/IG5ldmVyXG4gICAgICAgICAgICAgICAgOiBQcm9wVHlwZTxNb2RlbCwga2V5PiBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZVxuICAgICAgICAgICAgICAgID8gQ29sdW1uT3B0aW9uczxQcm9wVHlwZTxNb2RlbCwga2V5PiwgTW9kZWw+XG4gICAgICAgICAgICAgICAgOiBDb2x1bW5PcHRpb25zPFByb3BUeXBlPE1vZGVsLCBrZXk+LCBNb2RlbD5cbiAgICAgICAgICAgIH1cbiAgICAgIDogc3RyaW5nKVxuICB8IHsgYWdncmVnYXRlOiBBcnJheTxBZ2dyZWdhdGVPcHRpb25zPE1vZGVsPiB8ICdjb3VudCc+IH1cbiAgfCAnYWZmZWN0ZWRfcm93cydcbilbXVxuIl19
@@ -1,4 +1,5 @@
1
1
  export * from './elasticsearch';
2
2
  export * from './firebase';
3
3
  export * from './hasura-graphql';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsa0JBQWtCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsYXN0aWNzZWFyY2gnXG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlJ1xuZXhwb3J0ICogZnJvbSAnLi9oYXN1cmEtZ3JhcGhxbCdcbiJdfQ==
4
+ export * from './millenium';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsYXN0aWNzZWFyY2gnXG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlJ1xuZXhwb3J0ICogZnJvbSAnLi9oYXN1cmEtZ3JhcGhxbCdcbmV4cG9ydCAqIGZyb20gJy4vbWlsbGVuaXVtJ1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './millenium';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9taWxsZW5pdW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21pbGxlbml1bSdcbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Type } from 'class-transformer';
3
+ import { BaseModel, Product } from '../../domain';
4
+ import { Base } from '../../utils';
5
+ import { ProductHasuraGraphQL, withCrudHasuraGraphQL, withHasuraGraphQL, } from '../hasura-graphql';
6
+ export class MilleniumProduct extends BaseModel {
7
+ static get identifiersFields() {
8
+ return ['id'];
9
+ }
10
+ }
11
+ __decorate([
12
+ Type(() => Product),
13
+ __metadata("design:type", Product)
14
+ ], MilleniumProduct.prototype, "product", void 0);
15
+ export class MilleniumProductHasuraGraphQL extends MilleniumProduct {
16
+ }
17
+ __decorate([
18
+ Type(() => ProductHasuraGraphQL),
19
+ __metadata("design:type", ProductHasuraGraphQL)
20
+ ], MilleniumProductHasuraGraphQL.prototype, "product", void 0);
21
+ export class MilleniumProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
22
+ constructor(endpoint, authOptions, productRepository) {
23
+ super({
24
+ endpoint,
25
+ authOptions,
26
+ model: MilleniumProduct,
27
+ tableName: 'product_milleniun',
28
+ fields: [
29
+ 'id',
30
+ { productId: { columnName: 'product_id' } },
31
+ { codProduct: { columnName: 'cod_product' } },
32
+ { internalId: { columnName: 'internal_id' } },
33
+ { createdAt: { columnName: 'created_at' } },
34
+ { updatedAt: { columnName: 'updated_at' } },
35
+ {
36
+ product: { columnName: 'product', foreignKeyColumn: { id: 'product_id' }, fields: productRepository.fields },
37
+ },
38
+ ],
39
+ });
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlsbGVuaXVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvbWlsbGVuaXVtL21pbGxlbml1bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXhDLE9BQU8sRUFBRSxTQUFTLEVBQWtCLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sRUFFTCxvQkFBb0IsRUFFcEIscUJBQXFCLEVBQ3JCLGlCQUFpQixHQUNsQixNQUFNLG1CQUFtQixDQUFBO0FBSTFCLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUEyQjtJQVcvRCxNQUFNLEtBQUssaUJBQWlCO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNmLENBQUM7Q0FDRjtBQUxDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQzs4QkFDWCxPQUFPO2lEQUFBO0FBT2xCLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxnQkFBZ0I7Q0FHbEU7QUFEQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs4QkFDeEIsb0JBQW9COzhEQUFBO0FBRy9CLE1BQU0sT0FBTyx1Q0FDWCxTQUFRLHFCQUFxQixDQUFDLGlCQUFpQixDQUFnQyxJQUFJLENBQUMsQ0FBQztJQUdyRixZQUNFLFFBQWdCLEVBQ2hCLFdBQXFDLEVBQ3JDLGlCQUFpRDtRQUVqRCxLQUFLLENBQUM7WUFDSixRQUFRO1lBQ1IsV0FBVztZQUNYLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsU0FBUyxFQUFFLG1CQUFtQjtZQUM5QixNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTtnQkFDM0MsRUFBRSxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLEVBQUU7Z0JBQzdDLEVBQUUsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxFQUFFO2dCQUM3QyxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsRUFBRTtnQkFDM0MsRUFBRSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUU7Z0JBQzNDO29CQUNFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtpQkFDN0c7YUFDRjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcidcblxuaW1wb3J0IHsgQmFzZU1vZGVsLCBDcnVkUmVwb3NpdG9yeSwgUHJvZHVjdCB9IGZyb20gJy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB7XG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgUHJvZHVjdEhhc3VyYUdyYXBoUUwsXG4gIFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgd2l0aENydWRIYXN1cmFHcmFwaFFMLFxuICB3aXRoSGFzdXJhR3JhcGhRTCxcbn0gZnJvbSAnLi4vaGFzdXJhLWdyYXBocWwnXG5cbnR5cGUgTWlsbGVuaXVtUHJvZHVjdElkZW50aWZpZXIgPSAnaWQnIHwgJ3Byb2R1Y3RJZCdcblxuZXhwb3J0IGNsYXNzIE1pbGxlbml1bVByb2R1Y3QgZXh0ZW5kcyBCYXNlTW9kZWw8TWlsbGVuaXVtUHJvZHVjdD4ge1xuICBpZDogbnVtYmVyXG4gIHByb2R1Y3RJZDogc3RyaW5nXG4gIGludGVybmFsSWQ6IHN0cmluZ1xuICBjb2RQcm9kdWN0OiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBEYXRlXG4gIHVwZGF0ZWRBdD86IERhdGVcblxuICBAVHlwZSgoKSA9PiBQcm9kdWN0KVxuICBwcm9kdWN0OiBQcm9kdWN0XG5cbiAgc3RhdGljIGdldCBpZGVudGlmaWVyc0ZpZWxkcygpOiBNaWxsZW5pdW1Qcm9kdWN0SWRlbnRpZmllcltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1pbGxlbml1bVByb2R1Y3RIYXN1cmFHcmFwaFFMIGV4dGVuZHMgTWlsbGVuaXVtUHJvZHVjdCB7XG4gIEBUeXBlKCgpID0+IFByb2R1Y3RIYXN1cmFHcmFwaFFMKVxuICBwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTFxufVxuXG5leHBvcnQgY2xhc3MgTWlsbGVuaXVtUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5XG4gIGV4dGVuZHMgd2l0aENydWRIYXN1cmFHcmFwaFFMKHdpdGhIYXN1cmFHcmFwaFFMPE1pbGxlbml1bVByb2R1Y3RIYXN1cmFHcmFwaFFMPihCYXNlKSlcbiAgaW1wbGVtZW50cyBNaWxsZW5pdW1Qcm9kdWN0UmVwb3NpdG9yeVxue1xuICBjb25zdHJ1Y3RvcihcbiAgICBlbmRwb2ludDogc3RyaW5nLFxuICAgIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMsXG4gICAgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIG1vZGVsOiBNaWxsZW5pdW1Qcm9kdWN0LFxuICAgICAgdGFibGVOYW1lOiAncHJvZHVjdF9taWxsZW5pdW4nLFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgICdpZCcsXG4gICAgICAgIHsgcHJvZHVjdElkOiB7IGNvbHVtbk5hbWU6ICdwcm9kdWN0X2lkJyB9IH0sXG4gICAgICAgIHsgY29kUHJvZHVjdDogeyBjb2x1bW5OYW1lOiAnY29kX3Byb2R1Y3QnIH0gfSxcbiAgICAgICAgeyBpbnRlcm5hbElkOiB7IGNvbHVtbk5hbWU6ICdpbnRlcm5hbF9pZCcgfSB9LFxuICAgICAgICB7IGNyZWF0ZWRBdDogeyBjb2x1bW5OYW1lOiAnY3JlYXRlZF9hdCcgfSB9LFxuICAgICAgICB7IHVwZGF0ZWRBdDogeyBjb2x1bW5OYW1lOiAndXBkYXRlZF9hdCcgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvZHVjdDogeyBjb2x1bW5OYW1lOiAncHJvZHVjdCcsIGZvcmVpZ25LZXlDb2x1bW46IHsgaWQ6ICdwcm9kdWN0X2lkJyB9LCBmaWVsZHM6IHByb2R1Y3RSZXBvc2l0b3J5LmZpZWxkcyB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWlsbGVuaXVtUHJvZHVjdFJlcG9zaXRvcnkgZXh0ZW5kcyBDcnVkUmVwb3NpdG9yeTxNaWxsZW5pdW1Qcm9kdWN0PiB7fVxuIl19