@infrab4a/connect 1.0.0-beta.9 → 1.0.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/infrab4a-connect.umd.js +1297 -321
- package/bundles/infrab4a-connect.umd.js.map +1 -1
- package/domain/catalog/models/category.d.ts +2 -2
- package/domain/catalog/models/index.d.ts +3 -2
- package/domain/catalog/models/kit-product.d.ts +12 -0
- package/domain/catalog/models/product.d.ts +6 -2
- package/domain/catalog/models/types/product-review.type.d.ts +10 -8
- package/domain/catalog/models/variant.d.ts +3 -1
- package/domain/catalog/repositories/product.repository.d.ts +9 -2
- package/domain/generic/model/base.model.d.ts +1 -1
- package/domain/generic/model/types/base-model-builder.type.d.ts +1 -1
- package/domain/generic/model/types/non-function-property-name.type.d.ts +1 -1
- package/domain/generic/repository/create.repository.d.ts +2 -2
- package/domain/generic/repository/delete.repository.d.ts +3 -1
- package/domain/generic/repository/find.repository.d.ts +2 -1
- package/domain/generic/repository/types/repository-find-filters.type.d.ts +4 -4
- package/domain/generic/repository/types/repository-update-params.type.d.ts +4 -4
- package/domain/users/errors/unauthorized.error.d.ts +2 -1
- package/domain/users/errors/user-already-registered.error.d.ts +2 -1
- package/domain/users/errors/weak-password.error.d.ts +2 -1
- package/domain/users/models/user.d.ts +2 -0
- package/errors/duplicated-results.error.d.ts +2 -1
- package/errors/invalid-argument.error.d.ts +2 -1
- package/errors/not-found.error.d.ts +2 -1
- package/errors/required-argument.error.d.ts +2 -1
- package/esm2015/domain/catalog/models/category.js +1 -1
- package/esm2015/domain/catalog/models/index.js +4 -3
- package/esm2015/domain/catalog/models/kit-product.js +18 -0
- package/esm2015/domain/catalog/models/product.js +8 -1
- package/esm2015/domain/catalog/models/types/product-review.type.js +1 -1
- package/esm2015/domain/catalog/models/variant.js +1 -1
- package/esm2015/domain/catalog/repositories/product.repository.js +1 -1
- package/esm2015/domain/generic/model/base.model.js +4 -4
- package/esm2015/domain/generic/model/types/base-model-builder.type.js +1 -1
- package/esm2015/domain/generic/model/types/non-function-property-name.type.js +1 -1
- package/esm2015/domain/generic/repository/create.repository.js +1 -1
- package/esm2015/domain/generic/repository/delete.repository.js +1 -1
- package/esm2015/domain/generic/repository/find.repository.js +1 -1
- package/esm2015/domain/generic/repository/types/repository-find-filters.type.js +1 -1
- package/esm2015/domain/generic/repository/types/repository-update-params.type.js +1 -1
- package/esm2015/domain/users/errors/unauthorized.error.js +3 -2
- package/esm2015/domain/users/errors/user-already-registered.error.js +3 -2
- package/esm2015/domain/users/errors/weak-password.error.js +3 -2
- package/esm2015/domain/users/models/user.js +1 -1
- package/esm2015/errors/duplicated-results.error.js +3 -2
- package/esm2015/errors/invalid-argument.error.js +3 -2
- package/esm2015/errors/not-found.error.js +3 -2
- package/esm2015/errors/required-argument.error.js +3 -2
- package/esm2015/infra/elasticsearch/adapters/axios.adapter.js +36 -1
- package/esm2015/infra/elasticsearch/adapters/elastic-search.adapter.js +1 -1
- package/esm2015/infra/elasticsearch/indexes/products-index.js +35 -1
- package/esm2015/infra/firebase/auth/authentication-firebase-auth.service.js +2 -2
- package/esm2015/infra/firebase/auth/register-firebase-auth.service.js +1 -1
- package/esm2015/infra/firebase/firestore/mixins/with-find-firestore.mixin.js +11 -5
- package/esm2015/infra/firebase/firestore/mixins/with-firestore.mixin.js +2 -3
- package/esm2015/infra/firebase/firestore/mixins/with-helpers.mixin.js +1 -1
- package/esm2015/infra/firebase/firestore/repositories/catalog/category-firestore.repository.js +4 -2
- package/esm2015/infra/firebase/firestore/repositories/catalog/product-firestore.repository.js +32 -5
- package/esm2015/infra/hasura-graphql/index.js +3 -2
- package/esm2015/infra/hasura-graphql/mixins/helpers/attribute-option.helper.js +18 -2
- package/esm2015/infra/hasura-graphql/mixins/helpers/filter-option.helper.js +20 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/graphql-field.helper.js +72 -0
- package/esm2015/infra/hasura-graphql/mixins/helpers/index.js +3 -1
- package/esm2015/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.js +21 -2
- package/esm2015/infra/hasura-graphql/mixins/with-delete-hasura-graphql.mixin.js +14 -6
- package/esm2015/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.js +24 -26
- package/esm2015/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.js +14 -10
- package/esm2015/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.js +10 -84
- package/esm2015/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.js +18 -7
- package/esm2015/infra/hasura-graphql/models/category-hasura-graphql.js +1 -1
- package/esm2015/infra/hasura-graphql/models/index.js +4 -1
- package/esm2015/infra/hasura-graphql/models/kit-product-hasura-graphql.js +15 -0
- package/esm2015/infra/hasura-graphql/models/product-hasura-graphql.js +11 -0
- package/esm2015/infra/hasura-graphql/models/variant-hasura-graphql.js +9 -0
- package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js +47 -15
- package/esm2015/infra/hasura-graphql/repositories/catalog/index.js +2 -1
- package/esm2015/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.js +362 -63
- package/esm2015/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.js +116 -0
- package/esm2015/infra/hasura-graphql/types/graphql.repository.type.js +1 -1
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-fields.type.js +1 -1
- package/esm2015/infra/hasura-graphql/types/hasura-graphql-headers.type.js +2 -0
- package/esm2015/infra/hasura-graphql/types/index.js +2 -1
- package/fesm2015/infrab4a-connect.js +870 -219
- package/fesm2015/infrab4a-connect.js.map +1 -1
- package/infra/elasticsearch/adapters/axios.adapter.d.ts +3 -0
- package/infra/elasticsearch/adapters/elastic-search.adapter.d.ts +3 -0
- package/infra/elasticsearch/indexes/products-index.d.ts +5 -1
- package/infra/firebase/auth/authentication-firebase-auth.service.d.ts +1 -1
- package/infra/firebase/auth/register-firebase-auth.service.d.ts +1 -1
- package/infra/firebase/firestore/mixins/with-find-firestore.mixin.d.ts +1 -1
- package/infra/firebase/firestore/mixins/with-firestore.mixin.d.ts +1 -1
- package/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +4 -2
- package/infra/hasura-graphql/index.d.ts +2 -1
- package/infra/hasura-graphql/mixins/helpers/attribute-option.helper.d.ts +9 -6
- package/infra/hasura-graphql/mixins/helpers/filter-option.helper.d.ts +6 -0
- package/infra/hasura-graphql/mixins/helpers/graphql-field.helper.d.ts +8 -0
- package/infra/hasura-graphql/mixins/helpers/index.d.ts +2 -0
- package/infra/hasura-graphql/mixins/with-create-hasura-graphql.mixin.d.ts +1 -1
- package/infra/hasura-graphql/mixins/with-find-hasura-graphql.mixin.d.ts +8 -7
- package/infra/hasura-graphql/mixins/with-get-hasura-graphql.mixin.d.ts +5 -5
- package/infra/hasura-graphql/mixins/with-hasura-graphql.mixin.d.ts +3 -3
- package/infra/hasura-graphql/mixins/with-update-hasura-graphql.mixin.d.ts +1 -1
- package/infra/hasura-graphql/models/category-hasura-graphql.d.ts +3 -1
- package/infra/hasura-graphql/models/index.d.ts +3 -0
- package/infra/hasura-graphql/models/kit-product-hasura-graphql.d.ts +6 -0
- package/infra/hasura-graphql/models/product-hasura-graphql.d.ts +10 -0
- package/infra/hasura-graphql/models/variant-hasura-graphql.d.ts +9 -0
- package/infra/hasura-graphql/repositories/catalog/index.d.ts +1 -0
- package/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +22 -5
- package/infra/hasura-graphql/repositories/catalog/variant-hasura-graphql.repository.d.ts +14 -0
- package/infra/hasura-graphql/types/graphql.repository.type.d.ts +5 -5
- package/infra/hasura-graphql/types/hasura-graphql-fields.type.d.ts +15 -19
- package/infra/hasura-graphql/types/hasura-graphql-headers.type.d.ts +7 -0
- package/infra/hasura-graphql/types/index.d.ts +1 -0
- package/package.json +4 -3
|
@@ -1,83 +1,9 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import {
|
|
2
|
+
import { mutation, query } from 'gql-query-builder';
|
|
3
3
|
import fetch from 'node-fetch';
|
|
4
|
-
import { isBoolean,
|
|
5
|
-
import {
|
|
4
|
+
import { isBoolean, isInteger, isNaN, isNil, isNumber, isString, isUUID, parseISO, } from '../../../utils';
|
|
5
|
+
import { GraphQLFieldHelper } from './helpers';
|
|
6
6
|
export const withHasuraGraphQL = (MixinBase) => {
|
|
7
|
-
const checkIsGraphQLParams = (params) => !isString(params) && Array.isArray(params) && params.length >= 0 && !!params[0].operation;
|
|
8
|
-
const checkIsColumnModelOption = (fieldValue) => !!fieldValue.columnName && !!fieldValue.fields;
|
|
9
|
-
const checkIsColumnOption = (fieldValue) => checkIsColumnModelOption(fieldValue) || !!fieldValue.columnName;
|
|
10
|
-
const convertModelFieldsToGraphQLFields = (fields) => {
|
|
11
|
-
return fields
|
|
12
|
-
.map((field) => {
|
|
13
|
-
if (isString(field))
|
|
14
|
-
return field.toString();
|
|
15
|
-
const fieldName = Object.keys(field).shift();
|
|
16
|
-
const fieldValue = field[fieldName];
|
|
17
|
-
if (Array.isArray(fieldValue))
|
|
18
|
-
return { [fieldName]: convertModelFieldsToGraphQLFields(fieldValue) };
|
|
19
|
-
if (checkIsColumnModelOption(fieldValue))
|
|
20
|
-
return { [fieldValue.columnName || fieldName]: convertModelFieldsToGraphQLFields(fieldValue.fields) };
|
|
21
|
-
if (checkIsColumnOption(fieldValue))
|
|
22
|
-
return fieldValue.columnName;
|
|
23
|
-
return;
|
|
24
|
-
})
|
|
25
|
-
.filter((field) => !!field);
|
|
26
|
-
};
|
|
27
|
-
const findColumnOptionFromList = (columnName, fields) => {
|
|
28
|
-
if (fields.includes(columnName))
|
|
29
|
-
return { columnName, attributeName: columnName };
|
|
30
|
-
const field = fields.find((columnOption) => {
|
|
31
|
-
var _a;
|
|
32
|
-
return isObject(columnOption) &&
|
|
33
|
-
((_a = Object.values(columnOption).find((option) => checkIsColumnOption(option) && option.columnName === columnName)) === null || _a === void 0 ? void 0 : _a.columnName) === columnName;
|
|
34
|
-
}) || {};
|
|
35
|
-
const attributeName = Object.keys(field).find((fieldOption) => checkIsColumnOption(field[fieldOption]) || Array.isArray(field[fieldOption]));
|
|
36
|
-
const fieldOption = field === null || field === void 0 ? void 0 : field[attributeName];
|
|
37
|
-
if (Array.isArray(fieldOption))
|
|
38
|
-
return { attributeName: attributeName, fields: fieldOption };
|
|
39
|
-
return Object.assign({ attributeName: attributeName || columnName, columnName }, fieldOption);
|
|
40
|
-
};
|
|
41
|
-
const convertFieldValueFrom = (data, fields) => Object.keys(data).reduce((result, columnName) => {
|
|
42
|
-
const { attributeName, fields: attributeFields, from } = findColumnOptionFromList(columnName, fields);
|
|
43
|
-
if (!!attributeFields && Array.isArray(attributeFields)) {
|
|
44
|
-
if (Array.isArray(data[columnName]))
|
|
45
|
-
return Object.assign(Object.assign({}, result), { [attributeName]: from
|
|
46
|
-
? from(data[columnName], data)
|
|
47
|
-
: data[columnName].map((value) => convertFieldValueFrom(value, attributeFields)) });
|
|
48
|
-
if (isObject(data[columnName]))
|
|
49
|
-
return Object.assign(Object.assign({}, result), { [attributeName]: convertFieldValueFrom(data[columnName], attributeFields) });
|
|
50
|
-
}
|
|
51
|
-
if (!!from)
|
|
52
|
-
return Object.assign(Object.assign({}, result), { [attributeName]: from(data[columnName], data) });
|
|
53
|
-
return Object.assign(Object.assign({}, result), { [attributeName]: parseDateTime(data[columnName]) });
|
|
54
|
-
}, {});
|
|
55
|
-
const convertFieldValueTo = (instance, fields, update = false) => {
|
|
56
|
-
var _a;
|
|
57
|
-
const data = ((_a = instance.toPlain) === null || _a === void 0 ? void 0 : _a.call(instance)) || instance;
|
|
58
|
-
return Object.keys(data)
|
|
59
|
-
.filter((key) => !isNil(data[key]))
|
|
60
|
-
.reduce((result, attributeName) => {
|
|
61
|
-
const { columnName, fields: attributeFields, foreignKeyColumn, to, } = AttributeOptionHelper.findByAttribute(attributeName, fields);
|
|
62
|
-
if (isNil(columnName))
|
|
63
|
-
return result;
|
|
64
|
-
if (!!foreignKeyColumn &&
|
|
65
|
-
!isEmpty(foreignKeyColumn) &&
|
|
66
|
-
!Object.keys(foreignKeyColumn).filter((key) => !data[attributeName][key]).length)
|
|
67
|
-
return Object.keys(foreignKeyColumn).reduce((object, current) => (Object.assign(Object.assign({}, object), { [foreignKeyColumn[current]]: data[attributeName][current] })), Object.assign({}, result));
|
|
68
|
-
if (update && isObject(data[attributeName]) && !isDate(data[attributeName]))
|
|
69
|
-
return result;
|
|
70
|
-
if (!!columnName && Array.isArray(attributeFields) && isObject(data[attributeName])) {
|
|
71
|
-
const converted = !isNil(columnName) ? to(instance[attributeName], instance) : data[attributeName];
|
|
72
|
-
return Object.assign(Object.assign({}, result), (converted !== undefined
|
|
73
|
-
? { [columnName]: { data: convertFieldValueTo(data[attributeName], attributeFields) } }
|
|
74
|
-
: {}));
|
|
75
|
-
}
|
|
76
|
-
if (!!to)
|
|
77
|
-
return Object.assign(Object.assign({}, result), { [columnName]: to(instance[attributeName], instance) });
|
|
78
|
-
return Object.assign(Object.assign({}, result), { [columnName]: data[attributeName] });
|
|
79
|
-
}, {});
|
|
80
|
-
};
|
|
81
7
|
return class HasuraGraphQLMixin extends MixinBase {
|
|
82
8
|
constructor(...params) {
|
|
83
9
|
const options = params[0];
|
|
@@ -98,23 +24,23 @@ export const withHasuraGraphQL = (MixinBase) => {
|
|
|
98
24
|
const resultQuery = mutation({
|
|
99
25
|
operation,
|
|
100
26
|
variables,
|
|
101
|
-
fields:
|
|
27
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
|
|
102
28
|
});
|
|
103
29
|
return this.fetch(resultQuery);
|
|
104
30
|
});
|
|
105
31
|
}
|
|
106
32
|
query(operation, fields, variables) {
|
|
107
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
const resultQuery =
|
|
34
|
+
const resultQuery = GraphQLFieldHelper.CheckIsGraphQLParams(operation)
|
|
109
35
|
? query(operation.map((option) => ({
|
|
110
36
|
operation: option.operation,
|
|
111
37
|
variables: option.variables,
|
|
112
|
-
fields:
|
|
38
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(option.fields),
|
|
113
39
|
})))
|
|
114
40
|
: query({
|
|
115
41
|
operation,
|
|
116
42
|
variables,
|
|
117
|
-
fields:
|
|
43
|
+
fields: GraphQLFieldHelper.ConvertModelFieldsToGraphQLFields(fields),
|
|
118
44
|
});
|
|
119
45
|
return this.fetch(resultQuery);
|
|
120
46
|
});
|
|
@@ -157,12 +83,12 @@ export const withHasuraGraphQL = (MixinBase) => {
|
|
|
157
83
|
return date;
|
|
158
84
|
}
|
|
159
85
|
convertDataFromHasura(data) {
|
|
160
|
-
const plain =
|
|
86
|
+
const plain = GraphQLFieldHelper.ConvertFieldValueFrom(data, this.fields);
|
|
161
87
|
return this.model.toInstance(plain);
|
|
162
88
|
}
|
|
163
89
|
convertDataToHasura(instance, update = false) {
|
|
164
|
-
return
|
|
90
|
+
return GraphQLFieldHelper.ConvertFieldValueTo(instance, this.fields, update);
|
|
165
91
|
}
|
|
166
92
|
};
|
|
167
93
|
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQVk5QixPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixPQUFPLEVBQ1AsU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLGFBQWEsRUFDYixRQUFRLEdBRVQsTUFBTSxnQkFBZ0IsQ0FBQTtBQVF2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFpQmpELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLFNBQVksRUFDcUcsRUFBRTtJQUNuSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBdUMsRUFBb0MsRUFBRSxDQUN6RyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQzNGLE1BQU0sd0JBQXdCLEdBQUcsQ0FDL0IsVUFBa0QsRUFDSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUE7SUFDekcsTUFBTSxtQkFBbUIsR0FBRyxDQUMxQixVQUE2QyxFQUNJLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxV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QW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDM0QsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBxdWVyeSwgbXV0YXRpb24gfSBmcm9tICdncWwtcXVlcnktYnVpbGRlcidcbmltcG9ydCBmZXRjaCBmcm9tICdub2RlLWZldGNoJ1xuXG5pbXBvcnQge1xuICBDb2x1bW5PcHRpb25zLFxuICBDb2x1bW5Nb2RlbE9wdGlvbnMsXG4gIEZpZWxkcyxcbiAgR3JhcGhRTFBhcmFtcyxcbiAgR3JhcGhRTFJlcG9zaXRvcnksXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgSGFzdXJhR3JhaHBoUUxGaWVsZHMsXG4gIFZhcmlhYmxlT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQge1xuICBpc0Jvb2xlYW4sXG4gIGlzRGF0ZSxcbiAgaXNFbXB0eSxcbiAgaXNJbnRlZ2VyLFxuICBpc05hTixcbiAgaXNOaWwsXG4gIGlzTnVtYmVyLFxuICBpc09iamVjdCxcbiAgaXNTdHJpbmcsXG4gIGlzVVVJRCxcbiAgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTWl4aW5DdG9yLFxuICBwYXJzZURhdGVUaW1lLFxuICBwYXJzZUlTTyxcbiAgUHJvcFR5cGUsXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgQmFzZU1vZGVsQnVpbGRlcixcbiAgTW9kZWxCYXNlU3RydWN0dXJlLFxuICBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzLFxuICBOb25GdW5jdGlvblByb3BlcnRpZXMsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG50eXBlIEhhc3VyYUdyYWhwaFFMSGVhZGVycyA9IHtcbiAgQXV0aG9yaXphdGlvbj86IHN0cmluZ1xuICAnQ29udGVudC1UeXBlJzogc3RyaW5nXG4gICdYLUhhc3VyYS1BZG1pbi1TZWNyZXQnPzogc3RyaW5nXG4gICdYLUhhc3VyYS1Sb2xlJz86IHN0cmluZ1xuICAnWC1IYXN1cmEtVXNlci1JZCc/OiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yUGFyYW1zPE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPiA9IHtcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8TW9kZWw+XG4gIGZpZWxkczogSGFzdXJhR3JhaHBoUUxGaWVsZHM8TW9kZWw+XG4gIGVuZHBvaW50OiBzdHJpbmdcbiAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aEhhc3VyYUdyYXBoUUwgPSA8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmUsIFQgZXh0ZW5kcyBNaXhpbkN0b3IgPSBNaXhpbkN0b3I+KFxuICBNaXhpbkJhc2U6IFQsXG4pOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+LCBNZXJnZUNvbnN0cnVjdG9yUGFyYW1zPENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiwgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFQ+Pj4gPT4ge1xuICBjb25zdCBjaGVja0lzR3JhcGhRTFBhcmFtcyA9IChwYXJhbXM6IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TUJhc2U+W10pOiBwYXJhbXMgaXMgR3JhcGhRTFBhcmFtczxNQmFzZT5bXSA9PlxuICAgICFpc1N0cmluZyhwYXJhbXMpICYmIEFycmF5LmlzQXJyYXkocGFyYW1zKSAmJiBwYXJhbXMubGVuZ3RoID49IDAgJiYgISFwYXJhbXNbMF0ub3BlcmF0aW9uXG4gIGNvbnN0IGNoZWNrSXNDb2x1bW5Nb2RlbE9wdGlvbiA9IDxNb2RlbCBleHRlbmRzIE1CYXNlLCBQYXJlbnRNb2RlbCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgZmllbGRWYWx1ZTogQ29sdW1uTW9kZWxPcHRpb25zPE1vZGVsLCBQYXJlbnRNb2RlbD4sXG4gICk6IGZpZWxkVmFsdWUgaXMgQ29sdW1uTW9kZWxPcHRpb25zPE1vZGVsLCBQYXJlbnRNb2RlbD4gPT4gISFmaWVsZFZhbHVlLmNvbHVtbk5hbWUgJiYgISFmaWVsZFZhbHVlLmZpZWxkc1xuICBjb25zdCBjaGVja0lzQ29sdW1uT3B0aW9uID0gPE1vZGVsIGV4dGVuZHMgTUJhc2UsIFBhcmVudE1vZGVsIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlPihcbiAgICBmaWVsZFZhbHVlOiBDb2x1bW5PcHRpb25zPE1vZGVsLCBQYXJlbnRNb2RlbD4sXG4gICk6IGZpZWxkVmFsdWUgaXMgQ29sdW1uT3B0aW9uczxNb2RlbCwgUGFyZW50TW9kZWw+ID0+IGNoZWNrSXNDb2x1bW5Nb2RlbE9wdGlvbihmaWVsZFZhbHVlKSB8fCAhIWZpZWxkVmFsdWUuY29sdW1uTmFtZVxuICBjb25zdCBjb252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMgPSAoZmllbGRzOiBIYXN1cmFHcmFocGhRTEZpZWxkczxNQmFzZT4pOiBGaWVsZHMgPT4ge1xuICAgIHJldHVybiBmaWVsZHNcbiAgICAgIC5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChpc1N0cmluZyhmaWVsZCkpIHJldHVybiBmaWVsZC50b1N0cmluZygpXG5cbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gT2JqZWN0LmtleXMoZmllbGQpLnNoaWZ0KClcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IGZpZWxkW2ZpZWxkTmFtZV1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZFZhbHVlKSkgcmV0dXJuIHsgW2ZpZWxkTmFtZV06IGNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhmaWVsZFZhbHVlKSB9XG4gICAgICAgIGlmIChjaGVja0lzQ29sdW1uTW9kZWxPcHRpb24oZmllbGRWYWx1ZSkpXG4gICAgICAgICAgcmV0dXJuIHsgW2ZpZWxkVmFsdWUuY29sdW1uTmFtZSB8fCBmaWVsZE5hbWVdOiBjb252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRWYWx1ZS5maWVsZHMpIH1cbiAgICAgICAgaWYgKGNoZWNrSXNDb2x1bW5PcHRpb24oZmllbGRWYWx1ZSkpIHJldHVybiBmaWVsZFZhbHVlLmNvbHVtbk5hbWVcblxuICAgICAgICByZXR1cm5cbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChmaWVsZCkgPT4gISFmaWVsZClcbiAgfVxuICBjb25zdCBmaW5kQ29sdW1uT3B0aW9uRnJvbUxpc3QgPSA8VCBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZT4oXG4gICAgY29sdW1uTmFtZTogc3RyaW5nLFxuICAgIGZpZWxkczogSGFzdXJhR3JhaHBoUUxGaWVsZHM8TUJhc2U+LFxuICApOiBDb2x1bW5Nb2RlbE9wdGlvbnM8VCwgTUJhc2U+ICYgeyBhdHRyaWJ1dGVOYW1lOiBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiB9ID0+IHtcbiAgICBpZiAoZmllbGRzLmluY2x1ZGVzKGNvbHVtbk5hbWUgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT4pKVxuICAgICAgcmV0dXJuIHsgY29sdW1uTmFtZSwgYXR0cmlidXRlTmFtZTogY29sdW1uTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPiB9XG5cbiAgICBjb25zdCBmaWVsZCA9XG4gICAgICBmaWVsZHMuZmluZChcbiAgICAgICAgKGNvbHVtbk9wdGlvbikgPT5cbiAgICAgICAgICBpc09iamVjdChjb2x1bW5PcHRpb24pICYmXG4gICAgICAgICAgT2JqZWN0LnZhbHVlcyhjb2x1bW5PcHRpb24pLmZpbmQoKG9wdGlvbikgPT4gY2hlY2tJc0NvbHVtbk9wdGlvbihvcHRpb24pICYmIG9wdGlvbi5jb2x1bW5OYW1lID09PSBjb2x1bW5OYW1lKVxuICAgICAgICAgICAgPy5jb2x1bW5OYW1lID09PSBjb2x1bW5OYW1lLFxuICAgICAgKSB8fCB7fVxuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBPYmplY3Qua2V5cyhmaWVsZCkuZmluZChcbiAgICAgIChmaWVsZE9wdGlvbikgPT4gY2hlY2tJc0NvbHVtbk9wdGlvbihmaWVsZFtmaWVsZE9wdGlvbl0pIHx8IEFycmF5LmlzQXJyYXkoZmllbGRbZmllbGRPcHRpb25dKSxcbiAgICApXG4gICAgY29uc3QgZmllbGRPcHRpb24gPSBmaWVsZD8uW2F0dHJpYnV0ZU5hbWVdXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZE9wdGlvbikpXG4gICAgICByZXR1cm4geyBhdHRyaWJ1dGVOYW1lOiBhdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LCBmaWVsZHM6IGZpZWxkT3B0aW9uIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhdHRyaWJ1dGVOYW1lOiAoYXR0cmlidXRlTmFtZSBhcyBOb25GdW5jdGlvbkFuZElkZW50aWZpZXJQcm9wZXJ0eU5hbWVzPE1CYXNlPikgfHwgY29sdW1uTmFtZSxcbiAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAuLi5maWVsZE9wdGlvbixcbiAgICB9XG4gIH1cblxuICBjb25zdCBjb252ZXJ0RmllbGRWYWx1ZUZyb20gPSA8RGF0YVR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGU+PihcbiAgICBkYXRhOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRhVHlwZSB8IERhdGUsXG4gICAgZmllbGRzOiBIYXN1cmFHcmFocGhRTEZpZWxkczxNQmFzZT4sXG4gICk6IFBhcnRpYWw8Tm9uRnVuY3Rpb25Qcm9wZXJ0aWVzPE1CYXNlPj4gPT5cbiAgICBPYmplY3Qua2V5cyhkYXRhKS5yZWR1Y2UoKHJlc3VsdCwgY29sdW1uTmFtZSkgPT4ge1xuICAgICAgY29uc3QgeyBhdHRyaWJ1dGVOYW1lLCBmaWVsZHM6IGF0dHJpYnV0ZUZpZWxkcywgZnJvbSB9ID0gZmluZENvbHVtbk9wdGlvbkZyb21MaXN0PE1CYXNlPihjb2x1bW5OYW1lLCBmaWVsZHMpXG5cbiAgICAgIGlmICghIWF0dHJpYnV0ZUZpZWxkcyAmJiBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YVtjb2x1bW5OYW1lXSkpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIFthdHRyaWJ1dGVOYW1lXTogZnJvbVxuICAgICAgICAgICAgICA/IGZyb20oZGF0YVtjb2x1bW5OYW1lXSwgZGF0YSlcbiAgICAgICAgICAgICAgOiBkYXRhW2NvbHVtbk5hbWVdLm1hcCgodmFsdWUpID0+IGNvbnZlcnRGaWVsZFZhbHVlRnJvbSh2YWx1ZSwgYXR0cmlidXRlRmllbGRzKSksXG4gICAgICAgICAgfVxuICAgICAgICBpZiAoaXNPYmplY3QoZGF0YVtjb2x1bW5OYW1lXSkpXG4gICAgICAgICAgcmV0dXJuIHsgLi4ucmVzdWx0LCBbYXR0cmlidXRlTmFtZV06IGNvbnZlcnRGaWVsZFZhbHVlRnJvbShkYXRhW2NvbHVtbk5hbWVdLCBhdHRyaWJ1dGVGaWVsZHMpIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCEhZnJvbSkgcmV0dXJuIHsgLi4ucmVzdWx0LCBbYXR0cmlidXRlTmFtZV06IGZyb20oZGF0YVtjb2x1bW5OYW1lXSwgZGF0YSkgfVxuXG4gICAgICByZXR1cm4geyAuLi5yZXN1bHQsIFthdHRyaWJ1dGVOYW1lXTogcGFyc2VEYXRlVGltZShkYXRhW2NvbHVtbk5hbWVdKSB9XG4gICAgfSwge30gYXMgUGFydGlhbDxOb25GdW5jdGlvblByb3BlcnRpZXM8TUJhc2U+PilcbiAgY29uc3QgY29udmVydEZpZWxkVmFsdWVUbyA9IDxEYXRhVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IERhdGFUeXBlIHwgRGF0ZT4+KFxuICAgIGluc3RhbmNlOiBNQmFzZSxcbiAgICBmaWVsZHM6IEhhc3VyYUdyYWhwaFFMRmllbGRzPE1CYXNlPixcbiAgICB1cGRhdGUgPSBmYWxzZSxcbiAgKTogRGF0YVR5cGUgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBpbnN0YW5jZS50b1BsYWluPy4oKSB8fCBpbnN0YW5jZVxuXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEpXG4gICAgICAuZmlsdGVyKChrZXkpID0+ICFpc05pbChkYXRhW2tleV0pKVxuICAgICAgLnJlZHVjZSgocmVzdWx0LCBhdHRyaWJ1dGVOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBjb2x1bW5OYW1lLFxuICAgICAgICAgIGZpZWxkczogYXR0cmlidXRlRmllbGRzLFxuICAgICAgICAgIGZvcmVpZ25LZXlDb2x1bW4sXG4gICAgICAgICAgdG8sXG4gICAgICAgIH0gPSBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuZmluZEJ5QXR0cmlidXRlPE1CYXNlPihcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lIGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnR5TmFtZXM8TUJhc2U+LFxuICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChpc05pbChjb2x1bW5OYW1lKSkgcmV0dXJuIHJlc3VsdFxuICAgICAgICBpZiAoXG4gICAgICAgICAgISFmb3JlaWduS2V5Q29sdW1uICYmXG4gICAgICAgICAgIWlzRW1wdHkoZm9yZWlnbktleUNvbHVtbikgJiZcbiAgICAgICAgICAhT2JqZWN0LmtleXMoZm9yZWlnbktleUNvbHVtbikuZmlsdGVyKChrZXkpID0+ICFkYXRhW2F0dHJpYnV0ZU5hbWVdW2tleV0pLmxlbmd0aFxuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcmVpZ25LZXlDb2x1bW4pLnJlZHVjZShcbiAgICAgICAgICAgIChvYmplY3QsIGN1cnJlbnQpID0+ICh7IC4uLm9iamVjdCwgW2ZvcmVpZ25LZXlDb2x1bW5bY3VycmVudF1dOiBkYXRhW2F0dHJpYnV0ZU5hbWVdW2N1cnJlbnRdIH0pLFxuICAgICAgICAgICAgeyAuLi5yZXN1bHQgfSxcbiAgICAgICAgICApXG5cbiAgICAgICAgaWYgKHVwZGF0ZSAmJiBpc09iamVjdChkYXRhW2F0dHJpYnV0ZU5hbWVdKSAmJiAhaXNEYXRlKGRhdGFbYXR0cmlidXRlTmFtZV0pKSByZXR1cm4gcmVzdWx0XG5cbiAgICAgICAgaWYgKCEhY29sdW1uTmFtZSAmJiBBcnJheS5pc0FycmF5KGF0dHJpYnV0ZUZpZWxkcykgJiYgaXNPYmplY3QoZGF0YVthdHRyaWJ1dGVOYW1lXSkpIHtcbiAgICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPSAhaXNOaWwoY29sdW1uTmFtZSkgPyB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lXSwgaW5zdGFuY2UpIDogZGF0YVthdHRyaWJ1dGVOYW1lXVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIC4uLihjb252ZXJ0ZWQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICA/IHsgW2NvbHVtbk5hbWVdOiB7IGRhdGE6IGNvbnZlcnRGaWVsZFZhbHVlVG8oZGF0YVthdHRyaWJ1dGVOYW1lXSwgYXR0cmlidXRlRmllbGRzKSB9IH1cbiAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdG8pIHJldHVybiB7IC4uLnJlc3VsdCwgW2NvbHVtbk5hbWVdOiB0byhpbnN0YW5jZVthdHRyaWJ1dGVOYW1lXSwgaW5zdGFuY2UpIH1cblxuICAgICAgICByZXR1cm4geyAuLi5yZXN1bHQsIFtjb2x1bW5OYW1lXTogZGF0YVthdHRyaWJ1dGVOYW1lXSB9XG4gICAgICB9LCB7fSBhcyBEYXRhVHlwZSlcbiAgfVxuXG4gIHJldHVybiBjbGFzcyBIYXN1cmFHcmFwaFFMTWl4aW4gZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4ge1xuICAgIHRhYmxlTmFtZTogc3RyaW5nXG4gICAgZW5kcG9pbnQ6IHN0cmluZ1xuICAgIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcbiAgICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNQmFzZT5cbiAgICBmaWVsZHM6IEhhc3VyYUdyYWhwaFFMRmllbGRzPE1CYXNlPlxuXG4gICAgZ2V0IGhlYWRlcnMoKTogSGFzdXJhR3JhaHBoUUxIZWFkZXJzIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0KSA/IHt9IDogeyAnWC1IYXN1cmEtQWRtaW4tU2VjcmV0JzogdGhpcy5hdXRoT3B0aW9ucy5hZG1pblNlY3JldCB9KSxcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDogeyAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSwgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlLnVzZXJJZCB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudGFibGVOYW1lID0gb3B0aW9ucy50YWJsZU5hbWVcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBvcHRpb25zLmVuZHBvaW50XG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xuICAgICAgdGhpcy5tb2RlbCA9IG9wdGlvbnMubW9kZWxcbiAgICAgIHRoaXMuZmllbGRzID0gb3B0aW9ucy5maWVsZHMgfHwgKHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMgYXMgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydHlOYW1lczxNQmFzZT5bXSlcbiAgICB9XG5cbiAgICBhc3luYyBtdXRhdGlvbjxSZXR1cm5GaWVsZHMgPSBhbnk+KFxuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcsXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFocGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gbXV0YXRpb24oe1xuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgZmllbGRzOiBjb252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMoZmllbGRzKSxcbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiB0aGlzLmZldGNoKHJlc3VsdFF1ZXJ5KVxuICAgIH1cblxuICAgIGFzeW5jIHF1ZXJ5PFJldHVybkZpZWxkcyA9IGFueT4oXG4gICAgICBvcGVyYXRpb246IHN0cmluZyB8IEdyYXBoUUxQYXJhbXM8TUJhc2U+W10sXG4gICAgICBmaWVsZHM/OiBIYXN1cmFHcmFocGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gY2hlY2tJc0dyYXBoUUxQYXJhbXMob3BlcmF0aW9uKVxuICAgICAgICA/IHF1ZXJ5KFxuICAgICAgICAgICAgb3BlcmF0aW9uLm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICBvcGVyYXRpb246IG9wdGlvbi5vcGVyYXRpb24sXG4gICAgICAgICAgICAgIHZhcmlhYmxlczogb3B0aW9uLnZhcmlhYmxlcyxcbiAgICAgICAgICAgICAgZmllbGRzOiBjb252ZXJ0TW9kZWxGaWVsZHNUb0dyYXBoUUxGaWVsZHMob3B0aW9uLmZpZWxkcyksXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgKVxuICAgICAgICA6IHF1ZXJ5KHtcbiAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgICAgIGZpZWxkczogY29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXG4gICAgICAgICAgfSlcblxuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gocmVzdWx0UXVlcnkpXG4gICAgfVxuXG4gICAgYXN5bmMgZmV0Y2g8UmV0dXJuRmllbGRzID0gYW55PihwYXJhbXM6IHsgdmFyaWFibGVzOiBhbnk7IHF1ZXJ5OiBzdHJpbmcgfSk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3RoaXMuZW5kcG9pbnR9YCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGFyYW1zKSxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICBpZiAoIWlzTmlsKHJlc3VsdC5lcnJvcnMpKSB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkocmVzdWx0LmVycm9ycykpXG5cbiAgICAgIHJldHVybiByZXN1bHQuZGF0YVxuICAgIH1cblxuICAgIGdldEF0dHJpYnV0ZUdyYXBoUUxUeXBlT2Y8RmllbGRUeXBlPih2YWx1ZTogRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICAgIGlmIChpc1VVSUQodmFsdWUgYXMgYW55KSkgcmV0dXJuICd1dWlkJ1xuXG4gICAgICBpZiAoaXNTdHJpbmcodmFsdWUpKSByZXR1cm4gJ1N0cmluZydcblxuICAgICAgaWYgKGlzQm9vbGVhbih2YWx1ZSkpIHJldHVybiAnQm9vbGVhbidcblxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuICd0aW1lc3RhbXB0eidcblxuICAgICAgaWYgKGlzSW50ZWdlcih2YWx1ZSkpIHJldHVybiAnSW50J1xuXG4gICAgICBpZiAoaXNOdW1iZXIodmFsdWUpKSByZXR1cm4gJ251bWVyaWMnXG5cbiAgICAgIHRocm93IG5ldyBFcnJvcignVHlwZSBub3QgaW1wbGVtZW50ZWQgeWV0JylcbiAgICB9XG5cbiAgICBjaGVja0lmSXNEYXRlVGltZUFuZFBhcnNlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIGlmICghL15cXGR7NH0tKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEyXVswLTldfDNbMDFdKSQvLnRlc3QodmFsdWUpKSByZXR1cm4gdmFsdWVcblxuICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlSVNPKHZhbHVlKVxuXG4gICAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gdmFsdWVcblxuICAgICAgcmV0dXJuIGRhdGVcbiAgICB9XG5cbiAgICBjb252ZXJ0RGF0YUZyb21IYXN1cmEoZGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPik6IE1CYXNlIHtcbiAgICAgIGNvbnN0IHBsYWluID0gY29udmVydEZpZWxkVmFsdWVGcm9tKGRhdGEsIHRoaXMuZmllbGRzKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b0luc3RhbmNlKHBsYWluKVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhVG9IYXN1cmEoaW5zdGFuY2U6IE1CYXNlLCB1cGRhdGUgPSBmYWxzZSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4ge1xuICAgICAgcmV0dXJuIGNvbnZlcnRGaWVsZFZhbHVlVG8oaW5zdGFuY2UsIHRoaXMuZmllbGRzLCB1cGRhdGUpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oYXN1cmEtZ3JhcGhxbC5taXhpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21peGlucy93aXRoLWhhc3VyYS1ncmFwaHFsLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUc5QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFBO0FBVXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQVU5QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixTQUFZLEVBQ3FHLEVBQUU7SUFDbkgsT0FBTyxNQUFNLGtCQUFtQixTQUFRLFNBQVM7UUFrQi9DLFlBQVksR0FBRyxNQUFNO1lBQ25CLE1BQU0sT0FBTyxHQUE2QixNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFFbkQsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUE7WUFFaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFBO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFnRCxDQUFBO1FBQzlGLENBQUM7UUFyQkQsSUFBSSxPQUFPO1lBQ1QsbURBQ0UsY0FBYyxFQUFFLGtCQUFrQixJQUMvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsR0FDeEYsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsR0FDdEcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxFQUFFO2dCQUNKLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFDL0c7UUFDSCxDQUFDO1FBY0ssUUFBUSxDQUNaLFNBQWlCLEVBQ2pCLE1BQW1DLEVBQ25DLFNBQTJCOztnQkFFM0IsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO29CQUMzQixTQUFTO29CQUNULFNBQVM7b0JBQ1QsTUFBTSxFQUFFLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQztpQkFDckUsQ0FBQyxDQUFBO2dCQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUNoQyxDQUFDO1NBQUE7UUFFSyxLQUFLLENBQ1QsU0FBMEMsRUFDMUMsTUFBbUMsRUFDbkMsU0FBMkI7O2dCQUUzQixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7b0JBQ3BFLENBQUMsQ0FBQyxLQUFLLENBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQzt3QkFDekIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO3dCQUMzQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7d0JBQzNCLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM1RSxDQUFDLENBQUMsQ0FDSjtvQkFDSCxDQUFDLENBQUMsS0FBSyxDQUFDO3dCQUNKLFNBQVM7d0JBQ1QsU0FBUzt3QkFDVCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsTUFBTSxDQUFDO3FCQUNyRSxDQUFDLENBQUE7Z0JBRU4sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ2hDLENBQUM7U0FBQTtRQUVLLEtBQUssQ0FBcUIsTUFBeUM7O2dCQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFBO2dCQUM1QixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDL0MsTUFBTSxFQUFFLE1BQU07b0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO29CQUM1QixPQUFPO2lCQUNSLENBQUMsQ0FBQTtnQkFDRixNQUFNLE1BQU0sR0FBUSxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFFekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO29CQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtnQkFFekUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFBO1lBQ3BCLENBQUM7U0FBQTtRQUVELHlCQUF5QixDQUFZLEtBQWdCO1lBQ25ELElBQUksTUFBTSxDQUFDLEtBQVksQ0FBQztnQkFBRSxPQUFPLE1BQU0sQ0FBQTtZQUN2QyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxRQUFRLENBQUE7WUFDcEMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sU0FBUyxDQUFBO1lBQ3RDLElBQUksS0FBSyxZQUFZLElBQUk7Z0JBQUUsT0FBTyxhQUFhLENBQUE7WUFDL0MsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBQ2xDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPLFNBQVMsQ0FBQTtZQUVyQyxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUVELHlCQUF5QixDQUFDLEtBQWE7WUFDckMsSUFBSSxDQUFDLGtEQUFrRCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxLQUFLLENBQUE7WUFFakYsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRTVCLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQTtZQUV2QyxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxxQkFBcUIsQ0FBQyxJQUFxQztZQUN6RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBRXpFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDckMsQ0FBQztRQUVELG1CQUFtQixDQUFDLFFBQWUsRUFBRSxNQUFNLEdBQUcsS0FBSztZQUNqRCxPQUFPLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzlFLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbXV0YXRpb24sIHF1ZXJ5IH0gZnJvbSAnZ3FsLXF1ZXJ5LWJ1aWxkZXInXG5pbXBvcnQgZmV0Y2ggZnJvbSAnbm9kZS1mZXRjaCdcblxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgTW9kZWxCYXNlU3RydWN0dXJlIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHtcbiAgaXNCb29sZWFuLFxuICBpc0ludGVnZXIsXG4gIGlzTmFOLFxuICBpc05pbCxcbiAgaXNOdW1iZXIsXG4gIGlzU3RyaW5nLFxuICBpc1VVSUQsXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1peGluQ3RvcixcbiAgcGFyc2VJU08sXG59IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgR3JhcGhRTFBhcmFtcyxcbiAgR3JhcGhRTFJlcG9zaXRvcnksXG4gIEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9ucyxcbiAgSGFzdXJhR3JhcGhRTEZpZWxkcyxcbiAgSGFzdXJhR3JhcGhRTEhlYWRlcnMsXG4gIFZhcmlhYmxlT3B0aW9ucyxcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IEdyYXBoUUxGaWVsZEhlbHBlciB9IGZyb20gJy4vaGVscGVycydcblxuZXhwb3J0IHR5cGUgQ29uc3RydWN0b3JQYXJhbXM8TW9kZWwgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0ge1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxNb2RlbD5cbiAgZmllbGRzOiBIYXN1cmFHcmFwaFFMRmllbGRzPE1vZGVsPlxuICBlbmRwb2ludDogc3RyaW5nXG4gIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnNcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhIYXN1cmFHcmFwaFFMID0gPE1CYXNlIGV4dGVuZHMgTW9kZWxCYXNlU3RydWN0dXJlLCBUIGV4dGVuZHMgTWl4aW5DdG9yID0gTWl4aW5DdG9yPihcbiAgTWl4aW5CYXNlOiBULFxuKTogTWl4aW5DdG9yPEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiwgTWVyZ2VDb25zdHJ1Y3RvclBhcmFtczxDb25zdHJ1Y3RvclBhcmFtczxNQmFzZT4sIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUPj4+ID0+IHtcbiAgcmV0dXJuIGNsYXNzIEhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiB7XG4gICAgdGFibGVOYW1lOiBzdHJpbmdcbiAgICBlbmRwb2ludDogc3RyaW5nXG4gICAgYXV0aE9wdGlvbnM6IEhhc3VyYUdyYXBoUUxBdXRoT3B0aW9uc1xuICAgIG1vZGVsOiBCYXNlTW9kZWxCdWlsZGVyPE1CYXNlPlxuICAgIGZpZWxkczogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT5cblxuICAgIGdldCBoZWFkZXJzKCk6IEhhc3VyYUdyYXBoUUxIZWFkZXJzIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmF1dGhUb2tlbikgPyB7fSA6IHsgQXV0aG9yaXphdGlvbjogdGhpcy5hdXRoT3B0aW9ucy5hdXRoVG9rZW4gfSksXG4gICAgICAgIC4uLihpc05pbCh0aGlzLmF1dGhPcHRpb25zLmFkbWluU2VjcmV0KSA/IHt9IDogeyAnWC1IYXN1cmEtQWRtaW4tU2VjcmV0JzogdGhpcy5hdXRoT3B0aW9ucy5hZG1pblNlY3JldCB9KSxcbiAgICAgICAgLi4uKGlzTmlsKHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUpXG4gICAgICAgICAgPyB7fVxuICAgICAgICAgIDogeyAnWC1IYXN1cmEtUm9sZSc6IHRoaXMuYXV0aE9wdGlvbnMuYXV0aFJvbGUucm9sZSwgJ1gtSGFzdXJhLVVzZXItSWQnOiB0aGlzLmF1dGhPcHRpb25zLmF1dGhSb2xlLnVzZXJJZCB9KSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IENvbnN0cnVjdG9yUGFyYW1zPE1CYXNlPiA9IHBhcmFtc1swXVxuXG4gICAgICBzdXBlciguLi5wYXJhbXMpXG5cbiAgICAgIHRoaXMudGFibGVOYW1lID0gb3B0aW9ucy50YWJsZU5hbWVcbiAgICAgIHRoaXMuZW5kcG9pbnQgPSBvcHRpb25zLmVuZHBvaW50XG4gICAgICB0aGlzLmF1dGhPcHRpb25zID0gb3B0aW9ucy5hdXRoT3B0aW9uc1xuICAgICAgdGhpcy5tb2RlbCA9IG9wdGlvbnMubW9kZWxcbiAgICAgIHRoaXMuZmllbGRzID0gb3B0aW9ucy5maWVsZHMgfHwgKHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMgYXMgSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4pXG4gICAgfVxuXG4gICAgYXN5bmMgbXV0YXRpb248UmV0dXJuRmllbGRzID0gYW55PihcbiAgICAgIG9wZXJhdGlvbjogc3RyaW5nLFxuICAgICAgZmllbGRzPzogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gbXV0YXRpb24oe1xuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHZhcmlhYmxlcyxcbiAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXG4gICAgICB9KVxuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaChyZXN1bHRRdWVyeSlcbiAgICB9XG5cbiAgICBhc3luYyBxdWVyeTxSZXR1cm5GaWVsZHMgPSBhbnk+KFxuICAgICAgb3BlcmF0aW9uOiBzdHJpbmcgfCBHcmFwaFFMUGFyYW1zPE1CYXNlPltdLFxuICAgICAgZmllbGRzPzogSGFzdXJhR3JhcGhRTEZpZWxkczxNQmFzZT4sXG4gICAgICB2YXJpYWJsZXM/OiBWYXJpYWJsZU9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxSZXR1cm5GaWVsZHM+IHtcbiAgICAgIGNvbnN0IHJlc3VsdFF1ZXJ5ID0gR3JhcGhRTEZpZWxkSGVscGVyLkNoZWNrSXNHcmFwaFFMUGFyYW1zKG9wZXJhdGlvbilcbiAgICAgICAgPyBxdWVyeShcbiAgICAgICAgICAgIG9wZXJhdGlvbi5tYXAoKG9wdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uOiBvcHRpb24ub3BlcmF0aW9uLFxuICAgICAgICAgICAgICB2YXJpYWJsZXM6IG9wdGlvbi52YXJpYWJsZXMsXG4gICAgICAgICAgICAgIGZpZWxkczogR3JhcGhRTEZpZWxkSGVscGVyLkNvbnZlcnRNb2RlbEZpZWxkc1RvR3JhcGhRTEZpZWxkcyhvcHRpb24uZmllbGRzKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICApXG4gICAgICAgIDogcXVlcnkoe1xuICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgdmFyaWFibGVzLFxuICAgICAgICAgICAgZmllbGRzOiBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydE1vZGVsRmllbGRzVG9HcmFwaFFMRmllbGRzKGZpZWxkcyksXG4gICAgICAgICAgfSlcblxuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gocmVzdWx0UXVlcnkpXG4gICAgfVxuXG4gICAgYXN5bmMgZmV0Y2g8UmV0dXJuRmllbGRzID0gYW55PihwYXJhbXM6IHsgdmFyaWFibGVzOiBhbnk7IHF1ZXJ5OiBzdHJpbmcgfSk6IFByb21pc2U8UmV0dXJuRmllbGRzPiB7XG4gICAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5oZWFkZXJzXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3RoaXMuZW5kcG9pbnR9YCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGFyYW1zKSxcbiAgICAgICAgaGVhZGVycyxcbiAgICAgIH0pXG4gICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICBpZiAoIWlzTmlsKHJlc3VsdC5lcnJvcnMpKSB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkocmVzdWx0LmVycm9ycykpXG5cbiAgICAgIHJldHVybiByZXN1bHQuZGF0YVxuICAgIH1cblxuICAgIGdldEF0dHJpYnV0ZUdyYXBoUUxUeXBlT2Y8RmllbGRUeXBlPih2YWx1ZTogRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICAgIGlmIChpc1VVSUQodmFsdWUgYXMgYW55KSkgcmV0dXJuICd1dWlkJ1xuICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSkgcmV0dXJuICdTdHJpbmcnXG4gICAgICBpZiAoaXNCb29sZWFuKHZhbHVlKSkgcmV0dXJuICdCb29sZWFuJ1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuICd0aW1lc3RhbXB0eidcbiAgICAgIGlmIChpc0ludGVnZXIodmFsdWUpKSByZXR1cm4gJ0ludCdcbiAgICAgIGlmIChpc051bWJlcih2YWx1ZSkpIHJldHVybiAnbnVtZXJpYydcblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeXBlIG5vdCBpbXBsZW1lbnRlZCB5ZXQnKVxuICAgIH1cblxuICAgIGNoZWNrSWZJc0RhdGVUaW1lQW5kUGFyc2UodmFsdWU6IHN0cmluZyk6IERhdGUgfCBzdHJpbmcge1xuICAgICAgaWYgKCEvXlxcZHs0fS0oMFsxLTldfDFbMC0yXSktKDBbMS05XXxbMTJdWzAtOV18M1swMV0pJC8udGVzdCh2YWx1ZSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2VJU08odmFsdWUpXG5cbiAgICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiB2YWx1ZVxuXG4gICAgICByZXR1cm4gZGF0ZVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhRnJvbUhhc3VyYShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+KTogTUJhc2Uge1xuICAgICAgY29uc3QgcGxhaW4gPSBHcmFwaFFMRmllbGRIZWxwZXIuQ29udmVydEZpZWxkVmFsdWVGcm9tKGRhdGEsIHRoaXMuZmllbGRzKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b0luc3RhbmNlKHBsYWluKVxuICAgIH1cblxuICAgIGNvbnZlcnREYXRhVG9IYXN1cmEoaW5zdGFuY2U6IE1CYXNlLCB1cGRhdGUgPSBmYWxzZSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4ge1xuICAgICAgcmV0dXJuIEdyYXBoUUxGaWVsZEhlbHBlci5Db252ZXJ0RmllbGRWYWx1ZVRvKGluc3RhbmNlLCB0aGlzLmZpZWxkcywgdXBkYXRlKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { UpdateOptionActions, } from '../../../domain';
|
|
2
|
+
import { BaseModel, UpdateOptionActions, } from '../../../domain';
|
|
3
3
|
import { isNil } from '../../../utils';
|
|
4
|
+
import { AttributeOptionHelper } from './helpers';
|
|
4
5
|
export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
5
6
|
const getValueByAction = (options) => {
|
|
6
|
-
if (
|
|
7
|
+
if (options instanceof BaseModel)
|
|
8
|
+
return options.toPlain();
|
|
9
|
+
if (isNil(options === null || options === void 0 ? void 0 : options.action))
|
|
7
10
|
return options;
|
|
8
|
-
if (
|
|
11
|
+
if ([UpdateOptionActions.REMOVE_FIELD.toString(), UpdateOptionActions.NULL.toString()].includes(options.action))
|
|
9
12
|
return null;
|
|
10
13
|
return options.value;
|
|
11
14
|
};
|
|
@@ -20,7 +23,7 @@ export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
|
20
23
|
update(data) {
|
|
21
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
25
|
const plainData = this.paramsToPlain(data);
|
|
23
|
-
yield this.mutation(this.updateGraphQLOperation, this.model.identifiersFields, {
|
|
26
|
+
yield this.mutation(this.updateGraphQLOperation, this.model.identifiersFields.map((field) => AttributeOptionHelper.FindByAttribute(field, this.fields).columnName), {
|
|
24
27
|
_set: {
|
|
25
28
|
type: this.updateGraphQLObjectType,
|
|
26
29
|
value: this.convertDataToHasura(this.model.toInstance(plainData), true),
|
|
@@ -35,11 +38,19 @@ export const withUpdateHasuraGraphQL = (MixinBase) => {
|
|
|
35
38
|
const model = this.model;
|
|
36
39
|
if (model.isModel(params))
|
|
37
40
|
return params.toPlain();
|
|
38
|
-
return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), { [currentKey]: getValueByAction(params[currentKey]) })), {});
|
|
41
|
+
return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), (params[currentKey] !== undefined && { [currentKey]: getValueByAction(params[currentKey]) }))), {});
|
|
39
42
|
}
|
|
40
43
|
getUpdateModelKeys(data) {
|
|
41
|
-
|
|
44
|
+
const instance = this.model.toInstance(data);
|
|
45
|
+
return this.model.identifiersFields.reduce((ids, identifier) => {
|
|
46
|
+
var _a;
|
|
47
|
+
if (isNil(instance[identifier]))
|
|
48
|
+
return ids;
|
|
49
|
+
const columnOption = AttributeOptionHelper.FindByAttribute(identifier, this.fields);
|
|
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];
|
|
51
|
+
return Object.assign(Object.assign({}, ids), { [columnOption.columnName]: value });
|
|
52
|
+
}, {});
|
|
42
53
|
}
|
|
43
54
|
};
|
|
44
55
|
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9taXhpbnMvd2l0aC11cGRhdGUtaGFzdXJhLWdyYXBocWwubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBSVQsbUJBQW1CLEdBR3BCLE1BQU0saUJBQWlCLENBQUE7QUFDeEIsT0FBTyxFQUFFLEtBQUssRUFBcUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUd6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFZakQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FJckMsU0FBMkQsRUFJM0QsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUE2QixFQUFXLEVBQUU7UUFDbEUsSUFBSSxPQUFPLFlBQVksU0FBUztZQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzFELElBQUksS0FBSyxDQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLENBQUM7WUFBRSxPQUFPLE9BQU8sQ0FBQTtRQUMxQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQzdHLE9BQU8sSUFBSSxDQUFBO1FBRWIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQ3RCLENBQUMsQ0FBQTtJQUVELE9BQU8sTUFBTSx3QkFBeUIsU0FBUSxTQUFTO1FBS3JELFlBQVksR0FBRyxNQUFNO1lBQ25CLE1BQU0sT0FBTyxHQUE0QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUcsQ0FB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QkFBWixZQUFZLENBQUUsRUFBRSwrQ0FBaEIsWUFBWSxFQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFBO2dCQUUzRyx1Q0FDSyxHQUFHLEtBQ04sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxJQUNqQztZQUNILENBQUMsRUFBRSxFQUErQyxDQUFDLENBQUE7UUFDckQsQ0FBQztLQUNLLENBQUE7QUFDVixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlTW9kZWwsXG4gIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllcyxcbiAgUmVwb3NpdG9yeVVwZGF0ZVBhcmFtcyxcbiAgVXBkYXRlT3B0aW9uQWN0aW9ucyxcbiAgVXBkYXRlT3B0aW9ucyxcbiAgVXBkYXRlUmVwb3NpdG9yeSxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgaXNOaWwsIE1lcmdlQ29uc3RydWN0b3JQYXJhbXMsIE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgR3JhcGhRTFJlcG9zaXRvcnksIEhhc3VyYUdyYXBoUUxGaWVsZHMgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgQXR0cmlidXRlT3B0aW9uSGVscGVyIH0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5leHBvcnQgdHlwZSBVcGRhdGVIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVR5cGU8TUJhc2UgZXh0ZW5kcyBNb2RlbEJhc2VTdHJ1Y3R1cmU+ID0gVXBkYXRlUmVwb3NpdG9yeTxNQmFzZT4gJiB7XG4gIHBhcmFtc1RvUGxhaW4ocGFyYW1zOiBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1CYXNlPik6IFBhcnRpYWw8TUJhc2U+XG59XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zID0ge1xuICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlPzogc3RyaW5nXG4gIHVwZGF0ZUdyYXBoUUxQS1R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhVcGRhdGVIYXN1cmFHcmFwaFFMID0gPFxuICBNQmFzZSBleHRlbmRzIE1vZGVsQmFzZVN0cnVjdHVyZSxcbiAgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3RvcjxHcmFwaFFMUmVwb3NpdG9yeTxNQmFzZT4+LFxuPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8R3JhcGhRTFJlcG9zaXRvcnk8TUJhc2U+PiAmIFRNaXhpbkJhc2UsXG4pOiBNaXhpbkN0b3I8XG4gIEdyYXBoUUxSZXBvc2l0b3J5PE1CYXNlPiAmIFVwZGF0ZUhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5VHlwZTxNQmFzZT4gJiBJbnN0YW5jZVR5cGU8VE1peGluQmFzZT4sXG4gIE1lcmdlQ29uc3RydWN0b3JQYXJhbXM8VXBkYXRlQ29uc3RydWN0b3JQYXJhbXMsIENvbnN0cnVjdG9yUGFyYW1ldGVyczxUTWl4aW5CYXNlPj5cbj4gPT4ge1xuICBjb25zdCBnZXRWYWx1ZUJ5QWN0aW9uID0gKG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8TUJhc2U+KTogdW5rbm93biA9PiB7XG4gICAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBCYXNlTW9kZWwpIHJldHVybiBvcHRpb25zLnRvUGxhaW4oKVxuICAgIGlmIChpc05pbChvcHRpb25zPy5hY3Rpb24pKSByZXR1cm4gb3B0aW9uc1xuICAgIGlmIChbVXBkYXRlT3B0aW9uQWN0aW9ucy5SRU1PVkVfRklFTEQudG9TdHJpbmcoKSwgVXBkYXRlT3B0aW9uQWN0aW9ucy5OVUxMLnRvU3RyaW5nKCldLmluY2x1ZGVzKG9wdGlvbnMuYWN0aW9uKSlcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gb3B0aW9ucy52YWx1ZVxuICB9XG5cbiAgcmV0dXJuIGNsYXNzIFVwZGF0ZUhhc3VyYUdyYXBoUUxNaXhpbiBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIFVwZGF0ZVJlcG9zaXRvcnk8TUJhc2U+IHtcbiAgICB1cGRhdGVHcmFwaFFMT3BlcmF0aW9uOiBzdHJpbmdcbiAgICB1cGRhdGVHcmFwaFFMT2JqZWN0VHlwZTogc3RyaW5nXG4gICAgdXBkYXRlR3JhcGhRTFBLVHlwZTogc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3RvciguLi5wYXJhbXMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnM6IFVwZGF0ZUNvbnN0cnVjdG9yUGFyYW1zID0gcGFyYW1zPy5bMF1cblxuICAgICAgc3VwZXIoLi4ucGFyYW1zKVxuXG4gICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxPcGVyYXRpb24gPSBvcHRpb25zPy51cGRhdGVHcmFwaFFMT3BlcmF0aW9uIHx8IGB1cGRhdGVfJHt0aGlzLnRhYmxlTmFtZX1fYnlfcGtgXG4gICAgICB0aGlzLnVwZGF0ZUdyYXBoUUxPYmplY3RUeXBlID0gb3B0aW9ucz8udXBkYXRlR3JhcGhRTE9iamVjdFR5cGUgfHwgYCR7dGhpcy50YWJsZU5hbWV9X3NldF9pbnB1dGBcbiAgICAgIHRoaXMudXBkYXRlR3JhcGhRTFBLVHlwZSA9IG9wdGlvbnM/LnVwZGF0ZUdyYXBoUUxQS1R5cGUgfHwgYCR7dGhpcy50YWJsZU5hbWV9X3BrX2NvbHVtbnNfaW5wdXRgXG4gICAgfVxuXG4gICAgYXN5bmMgdXBkYXRlKGRhdGE6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8TUJhc2U+KTogUHJvbWlzZTxNQmFzZT4ge1xuICAgICAgY29uc3QgcGxhaW5EYXRhID0gdGhpcy5wYXJhbXNUb1BsYWluKGRhdGEpXG5cbiAgICAgIGF3YWl0IHRoaXMubXV0YXRpb24oXG4gICAgICAgIHRoaXMudXBkYXRlR3JhcGhRTE9wZXJhdGlvbixcbiAgICAgICAgdGhpcy5tb2RlbC5pZGVudGlmaWVyc0ZpZWxkcy5tYXAoXG4gICAgICAgICAgKGZpZWxkKSA9PiBBdHRyaWJ1dGVPcHRpb25IZWxwZXIuRmluZEJ5QXR0cmlidXRlKGZpZWxkLCB0aGlzLmZpZWxkcykuY29sdW1uTmFtZSxcbiAgICAgICAgKSBhcyBIYXN1cmFHcmFwaFFMRmllbGRzPE1CYXNlPixcbiAgICAgICAge1xuICAgICAgICAgIF9zZXQ6IHtcbiAgICAgICAgICAgIHR5cGU6IHRoaXMudXBkYXRlR3JhcGhRTE9iamVjdFR5cGUsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5jb252ZXJ0RGF0YVRvSGFzdXJhKHRoaXMubW9kZWwudG9JbnN0YW5jZShwbGFpbkRhdGEpLCB0cnVlKSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGtfY29sdW1uczogeyB0eXBlOiB0aGlzLnVwZGF0ZUdyYXBoUUxQS1R5cGUsIHZhbHVlOiB0aGlzLmdldFVwZGF0ZU1vZGVsS2V5cyhwbGFpbkRhdGEpLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgKVxuXG4gICAgICByZXR1cm4gdGhpcy5tb2RlbC50b0luc3RhbmNlKHBsYWluRGF0YSlcbiAgICB9XG5cbiAgICBwYXJhbXNUb1BsYWluKHBhcmFtczogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxNQmFzZT4pOiBQYXJ0aWFsPE1CYXNlPiB7XG4gICAgICBjb25zdCBtb2RlbCA9IHRoaXMubW9kZWxcblxuICAgICAgaWYgKG1vZGVsLmlzTW9kZWwocGFyYW1zKSkgcmV0dXJuIHBhcmFtcy50b1BsYWluKClcblxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcmFtcykucmVkdWNlKFxuICAgICAgICAoZGF0YSwgY3VycmVudEtleSkgPT4gKHtcbiAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgIC4uLihwYXJhbXNbY3VycmVudEtleV0gIT09IHVuZGVmaW5lZCAmJiB7IFtjdXJyZW50S2V5XTogZ2V0VmFsdWVCeUFjdGlvbihwYXJhbXNbY3VycmVudEtleV0pIH0pLFxuICAgICAgICB9KSxcbiAgICAgICAge30sXG4gICAgICApXG4gICAgfVxuXG4gICAgZ2V0VXBkYXRlTW9kZWxLZXlzKGRhdGE6IFBhcnRpYWw8TUJhc2U+KTogTm9uRnVuY3Rpb25BbmRJZGVudGlmaWVyUHJvcGVydGllczxNQmFzZT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoZGF0YSlcblxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwuaWRlbnRpZmllcnNGaWVsZHMucmVkdWNlKChpZHMsIGlkZW50aWZpZXIpID0+IHtcbiAgICAgICAgaWYgKGlzTmlsKGluc3RhbmNlW2lkZW50aWZpZXJdKSkgcmV0dXJuIGlkc1xuXG4gICAgICAgIGNvbnN0IGNvbHVtbk9wdGlvbiA9IEF0dHJpYnV0ZU9wdGlvbkhlbHBlci5GaW5kQnlBdHRyaWJ1dGUoaWRlbnRpZmllciwgdGhpcy5maWVsZHMpXG4gICAgICAgIGNvbnN0IHZhbHVlID0gY29sdW1uT3B0aW9uPy50bz8uKGRhdGFbaWRlbnRpZmllci50b1N0cmluZygpXSwgaW5zdGFuY2UpIHx8IGRhdGFbY29sdW1uT3B0aW9uLmF0dHJpYnV0ZU5hbWVdXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5pZHMsXG4gICAgICAgICAgW2NvbHVtbk9wdGlvbi5jb2x1bW5OYW1lXTogdmFsdWUsXG4gICAgICAgIH1cbiAgICAgIH0sIHt9IGFzIE5vbkZ1bmN0aW9uQW5kSWRlbnRpZmllclByb3BlcnRpZXM8TUJhc2U+KVxuICAgIH1cbiAgfSBhcyBhbnlcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Category } from '../../../domain';
|
|
2
2
|
export class CategoryHasuraGraphQL extends Category {
|
|
3
3
|
}
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9tb2RlbHMvY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTFDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxRQUFRO0NBSWxEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeUhhc3VyYUdyYXBoUUwgZXh0ZW5kcyBDYXRlZ29yeSB7XG4gIGZpcmVzdG9yZUlkPzogc3RyaW5nXG4gIGJyYW5kQ29uZGl0aW9uPzogc3RyaW5nXG4gIHRhZ0NvbmRpdGlvbj86IHN0cmluZ1tdXG59XG4iXX0=
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
export * from './category-hasura-graphql';
|
|
2
|
-
|
|
2
|
+
export * from './kit-product-hasura-graphql';
|
|
3
|
+
export * from './product-hasura-graphql';
|
|
4
|
+
export * from './variant-hasura-graphql';
|
|
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==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
3
|
+
import { Product } from '../../../domain';
|
|
4
|
+
import { KitProductHasuraGraphQL } from './kit-product-hasura-graphql';
|
|
5
|
+
export class ProductHasuraGraphQL extends Product {
|
|
6
|
+
}
|
|
7
|
+
__decorate([
|
|
8
|
+
Type(() => KitProductHasuraGraphQL),
|
|
9
|
+
__metadata("design:type", Array)
|
|
10
|
+
], ProductHasuraGraphQL.prototype, "kitProducts", void 0);
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy9wcm9kdWN0LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXRFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUFPO0NBU2hEO0FBREM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7O3lEQUNHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJ1xuXG5pbXBvcnQgeyBLaXRQcm9kdWN0SGFzdXJhR3JhcGhRTCB9IGZyb20gJy4va2l0LXByb2R1Y3QtaGFzdXJhLWdyYXBocWwnXG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0SGFzdXJhR3JhcGhRTCBleHRlbmRzIFByb2R1Y3Qge1xuICBmaXJlc3RvcmVJZD86IHN0cmluZ1xuICBmdWxsUHJpY2U/OiBudW1iZXJcbiAgc3Vic2NyaWJlckRpc2NvdW50UGVyY2VudGFnZT86IG51bWJlclxuICBzdWJzY3JpYmVyUHJpY2U/OiBudW1iZXJcbiAgcHJvZHVjdElkPzogbnVtYmVyXG5cbiAgQFR5cGUoKCkgPT4gS2l0UHJvZHVjdEhhc3VyYUdyYXBoUUwpXG4gIGtpdFByb2R1Y3RzPzogS2l0UHJvZHVjdEhhc3VyYUdyYXBoUUxbXVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Variant } from '../../../domain';
|
|
2
|
+
export class VariantHasuraGraphQL extends Variant {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.name = '';
|
|
6
|
+
this.hasVariants = false;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFudC1oYXN1cmEtZ3JhcGhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL21vZGVscy92YXJpYW50LWhhc3VyYS1ncmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV6QyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsT0FBTztJQUFqRDs7UUFNRSxTQUFJLEdBQUssRUFBRSxDQUFBO1FBQ1gsZ0JBQVcsR0FBSyxLQUFLLENBQUE7SUFDdkIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFyaWFudCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcblxuZXhwb3J0IGNsYXNzIFZhcmlhbnRIYXN1cmFHcmFwaFFMIGV4dGVuZHMgVmFyaWFudCB7XG4gIGZpcmVzdG9yZUlkPzogc3RyaW5nXG4gIGZ1bGxQcmljZT86IG51bWJlclxuICBzdWJzY3JpYmVyRGlzY291bnRQZXJjZW50YWdlPzogbnVtYmVyXG4gIHN1YnNjcmliZXJQcmljZT86IG51bWJlclxuXG4gIG5hbWUgPyA9ICcnXG4gIGhhc1ZhcmlhbnRzID8gPSBmYWxzZVxufVxuIl19
|
package/esm2015/infra/hasura-graphql/repositories/catalog/category-hasura-graphql.repository.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Base } from '../../../../utils';
|
|
3
2
|
import { Category, Shops, Where } from '../../../../domain';
|
|
4
|
-
import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
|
|
5
3
|
import { DuplicatedResultsError, NotFoundError, RequiredArgumentError } from '../../../../errors';
|
|
4
|
+
import { Base } from '../../../../utils';
|
|
5
|
+
import { HasuraGraphQLColumnType } from '../../enums';
|
|
6
|
+
import { withCrudHasuraGraphQL, withHasuraGraphQL } from '../../mixins';
|
|
6
7
|
export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGraphQL(Base)) {
|
|
7
8
|
constructor(endpoint, authOptions, productRepository) {
|
|
8
9
|
super({
|
|
@@ -12,7 +13,7 @@ export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withH
|
|
|
12
13
|
authOptions,
|
|
13
14
|
fields: [
|
|
14
15
|
{ id: { columnName: 'id', to: (value) => +value, from: (value) => value.toString() } },
|
|
15
|
-
'firestore_id',
|
|
16
|
+
{ firestoreId: { columnName: 'firestore_id' } },
|
|
16
17
|
'name',
|
|
17
18
|
'description',
|
|
18
19
|
'image',
|
|
@@ -23,11 +24,22 @@ export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withH
|
|
|
23
24
|
{ brandCategoryBanner: { columnName: 'brand_banner' } },
|
|
24
25
|
{ brandCategoryBannerMobile: { columnName: 'brand_banner_mobile' } },
|
|
25
26
|
{ brandLogo: { columnName: 'brand_logo' } },
|
|
26
|
-
{
|
|
27
|
+
{ brandCondition: { columnName: 'brand_condition' } },
|
|
27
28
|
{
|
|
28
29
|
conditions: {
|
|
29
30
|
columnName: 'tag_condition',
|
|
30
|
-
|
|
31
|
+
type: HasuraGraphQLColumnType.Jsonb,
|
|
32
|
+
from: (tags, row) => ({ brand: row.brand_condition, tags: Array.isArray(tags) ? tags : [] }),
|
|
33
|
+
bindPersistData: (value) => {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
return {
|
|
36
|
+
brand_condition: value.brand,
|
|
37
|
+
tag_condition: `{"${((_b = (_a = value === null || value === void 0 ? void 0 : value.tags) === null || _a === void 0 ? void 0 : _a.join) === null || _b === void 0 ? void 0 : _b.call(_a, '","')) || ''}"}`,
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
bindFindFilter: (sentence) => {
|
|
41
|
+
return Object.assign(Object.assign({}, (sentence.brand ? { brand_condition: sentence.brand } : {})), (sentence.tags ? { tag_condition: sentence.tags } : {}));
|
|
42
|
+
},
|
|
31
43
|
},
|
|
32
44
|
},
|
|
33
45
|
'filters',
|
|
@@ -38,6 +50,9 @@ export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withH
|
|
|
38
50
|
columnName: 'products',
|
|
39
51
|
fields: ['product_id'],
|
|
40
52
|
from: (value) => value.map((product) => product.product_id.toString()),
|
|
53
|
+
to: (productIds) => productIds.map((productId) => ({
|
|
54
|
+
product_id: +productId,
|
|
55
|
+
})),
|
|
41
56
|
},
|
|
42
57
|
},
|
|
43
58
|
],
|
|
@@ -51,7 +66,7 @@ export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withH
|
|
|
51
66
|
var _a;
|
|
52
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
68
|
return Number.isNaN(+identifiers.id)
|
|
54
|
-
? (_a = (yield this.find({ filters: {
|
|
69
|
+
? (_a = (yield this.find({ filters: { firestoreId: identifiers.id } })).data) === null || _a === void 0 ? void 0 : _a[0]
|
|
55
70
|
: _super.get.call(this, identifiers);
|
|
56
71
|
});
|
|
57
72
|
}
|
|
@@ -70,7 +85,7 @@ export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withH
|
|
|
70
85
|
getCategoriesForHome(categoryIds, limit = 4) {
|
|
71
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
87
|
const { data: categories, count } = yield this.find({
|
|
73
|
-
filters: {
|
|
88
|
+
filters: { firestoreId: { operator: Where.IN, value: categoryIds.filter(Boolean) }, published: true },
|
|
74
89
|
});
|
|
75
90
|
if (!count)
|
|
76
91
|
throw new NotFoundError('Categories not found');
|
|
@@ -87,18 +102,35 @@ export class CategoryHasuraGraphQLRepository extends withCrudHasuraGraphQL(withH
|
|
|
87
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
103
|
if (!category.products)
|
|
89
104
|
throw new RequiredArgumentError(['Category products is empty']);
|
|
90
|
-
console.log(category);
|
|
91
|
-
console.log(category.products);
|
|
92
105
|
const products = [];
|
|
93
106
|
const publishedField = category.shop === Shops.GLAMSHOP ? 'publishedGlam' : 'published';
|
|
94
|
-
const { data: productsData } = yield this.productRepository.find(Object.assign({ filters: {
|
|
95
|
-
id
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
107
|
+
const { data: productsData } = yield this.productRepository.find(Object.assign({ filters: Object.assign({ id: { operator: Where.IN, value: category.products }, [publishedField]: true }, ((options === null || options === void 0 ? void 0 : options.hasStock) ? { stock: { quantity: { operator: Where.GT, value: 0 } } } : {})), fields: [
|
|
108
|
+
'id',
|
|
109
|
+
'name',
|
|
110
|
+
'slug',
|
|
111
|
+
'images',
|
|
112
|
+
'miniatures',
|
|
113
|
+
'price',
|
|
114
|
+
'fullPrice',
|
|
115
|
+
'subscriberDiscountPercentage',
|
|
116
|
+
'subscriberPrice',
|
|
117
|
+
'stock',
|
|
118
|
+
'published',
|
|
119
|
+
'publishedGlam',
|
|
120
|
+
'CEST',
|
|
121
|
+
'EAN',
|
|
122
|
+
'NCM',
|
|
123
|
+
'brand',
|
|
124
|
+
'costPrice',
|
|
125
|
+
'hasVariants',
|
|
126
|
+
'isKit',
|
|
127
|
+
'shopAvailability',
|
|
128
|
+
'sku',
|
|
129
|
+
'rate',
|
|
130
|
+
] }, ((options === null || options === void 0 ? void 0 : options.limit) ? { limits: { limit: options === null || options === void 0 ? void 0 : options.limit } } : {})));
|
|
99
131
|
products.push(...productsData);
|
|
100
132
|
return products;
|
|
101
133
|
});
|
|
102
134
|
}
|
|
103
135
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL3JlcG9zaXRvcmllcy9jYXRhbG9nL2NhdGVnb3J5LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFvRCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFHN0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUlqRyxNQUFNLE9BQU8sK0JBQ1gsU0FBUSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFHN0UsWUFDRSxRQUFnQixFQUNoQixXQUFxQyxFQUNwQixpQkFBaUQ7UUFFbEUsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFVBQVU7WUFDckIsS0FBSyxFQUFFLFFBQVE7WUFDZixRQUFRO1lBQ1IsV0FBVztZQUNYLE1BQU0sRUFBRTtnQkFDTixFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFO2dCQUN0RixjQUFjO2dCQUNkLE1BQU07Z0JBQ04sYUFBYTtnQkFDYixPQUFPO2dCQUNQLFdBQVc7Z0JBQ1gsTUFBTTtnQkFDTixN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LENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUNoRSxDQUFBO1lBRUYsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFBO1lBRTlCLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ2F0ZWdvcnksIENhdGVnb3J5UmVwb3NpdG9yeSwgR2V0UmVwb3NpdG9yeVBhcmFtcywgUHJvZHVjdCwgU2hvcHMsIFdoZXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwsIHdpdGhIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xuaW1wb3J0IHsgRHVwbGljYXRlZFJlc3VsdHNFcnJvciwgTm90Rm91bmRFcnJvciwgUmVxdWlyZWRBcmd1bWVudEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vZXJyb3JzJ1xuXG5pbXBvcnQgeyBQcm9kdWN0SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnkgfSBmcm9tICcuL3Byb2R1Y3QtaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeSdcblxuZXhwb3J0IGNsYXNzIENhdGVnb3J5SGFzdXJhR3JhcGhRTFJlcG9zaXRvcnlcbiAgZXh0ZW5kcyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwod2l0aEhhc3VyYUdyYXBoUUw8Q2F0ZWdvcnlIYXN1cmFHcmFwaFFMPihCYXNlKSlcbiAgaW1wbGVtZW50cyBDYXRlZ29yeVJlcG9zaXRvcnlcbntcbiAgY29uc3RydWN0b3IoXG4gICAgZW5kcG9pbnQ6IHN0cmluZyxcbiAgICBhdXRoT3B0aW9uczogSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFJlcG9zaXRvcnk6IFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSxcbiAgKSB7XG4gICAgc3VwZXIoe1xuICAgICAgdGFibGVOYW1lOiAnY2F0ZWdvcnknLFxuICAgICAgbW9kZWw6IENhdGVnb3J5LFxuICAgICAgZW5kcG9pbnQsXG4gICAgICBhdXRoT3B0aW9ucyxcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7IGlkOiB7IGNvbHVtbk5hbWU6ICdpZCcsIHRvOiAodmFsdWUpID0+ICt2YWx1ZSwgZnJvbTogKHZhbHVlKSA9PiB2YWx1ZS50b1N0cmluZygpIH0gfSxcbiAgICAgICAgJ2ZpcmVzdG9yZV9pZCcsXG4gICAgICAgICduYW1lJyxcbiAgICAgICAgJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgJ2ltYWdlJyxcbiAgICAgICAgJ3B1Ymxpc2hlZCcsXG4gICAgICAgICdzaG9wJyxcbiAgICAgICAgJ3NsdWcnLFxuICAgICAgICB7IGJyYW5kQ2F0ZWdvcnk6IHsgY29sdW1uTmFtZTogJ2JyYW5kX2NhdGVnb3J5JyB9IH0sXG4gICAgICAgIHsgYnJhbmRDYXRlZ29yeUJhbm5lcjogeyBjb2x1bW5OYW1lOiAnYnJhbmRfYmFubmVyJyB9IH0sXG4gICAgICAgIHsgYnJhbmRDYXRlZ29yeUJhbm5lck1vYmlsZTogeyBjb2x1bW5OYW1lOiAnYnJhbmRfYmFubmVyX21vYmlsZScgfSB9LFxuICAgICAgICB7IGJyYW5kTG9nbzogeyBjb2x1bW5OYW1lOiAnYnJhbmRfbG9nbycgfSB9LFxuICAgICAgICB7IGNvbmRpdGlvbnM6IHsgY29sdW1uTmFtZTogJ2JyYW5kX2NvbmRpdGlvbicgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3RhZ19jb25kaXRpb24nLFxuICAgICAgICAgICAgZnJvbTogKHRhZ3M6IHN0cmluZ1tdLCByb3cpID0+ICh7IGJyYW5kOiByb3cuYnJhbmRfY29uZGl0aW9uLCB0YWdzIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgICdmaWx0ZXJzJyxcbiAgICAgICAgeyBjcmVhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ2NyZWF0ZWRfYXQnIH0gfSxcbiAgICAgICAgeyB1cGRhdGVkQXQ6IHsgY29sdW1uTmFtZTogJ3VwZGF0ZWRfYXQnIH0gfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb2R1Y3RzOiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiAncHJvZHVjdHMnLFxuICAgICAgICAgICAgZmllbGRzOiBbJ3Byb2R1Y3RfaWQnXSxcbiAgICAgICAgICAgIGZyb206ICh2YWx1ZTogeyBwcm9kdWN0X2lkOiBudW1iZXIgfVtdKSA9PiB2YWx1ZS5tYXAoKHByb2R1Y3QpID0+IHByb2R1Y3QucHJvZHVjdF9pZC50b1N0cmluZygpKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0KGlkZW50aWZpZXJzOiBHZXRSZXBvc2l0b3J5UGFyYW1zPENhdGVnb3J5SGFzdXJhR3JhcGhRTD4pOiBQcm9taXNlPENhdGVnb3J5SGFzdXJhR3JhcGhRTD4ge1xuICAgIHJldHVybiBOdW1iZXIuaXNOYU4oK2lkZW50aWZpZXJzLmlkKVxuICAgICAgPyAoYXdhaXQgdGhpcy5maW5kKHsgZmlsdGVyczogeyBmaXJlc3RvcmVfaWQ6IGlkZW50aWZpZXJzLmlkIH0gfSkpLmRhdGE/LlswXVxuICAgICAgOiBzdXBlci5nZXQoaWRlbnRpZmllcnMpXG4gIH1cblxuICBhc3luYyBnZXRDYXRlZ29yeUJ5U2x1ZyhzbHVnOiBzdHJpbmcsIHNob3A6IFNob3BzKTogUHJvbWlzZTxDYXRlZ29yeT4ge1xuICAgIGlmICghc2x1ZykgcmV0dXJuXG5cbiAgICBjb25zdCB7IGRhdGEsIGNvdW50IH0gPSBhd2FpdCB0aGlzLmZpbmQoeyBmaWx0ZXJzOiB7IHNsdWcsIHNob3AsIHB1Ymxpc2hlZDogdHJ1ZSB9IH0pXG5cbiAgICBpZiAoY291bnQgPiAxKSB0aHJvdyBuZXcgRHVwbGljYXRlZFJlc3VsdHNFcnJvcignUXVlcnkgcmV0dXJuZWQgZHVwbGljYXRlZCB2YWx1ZXMnKVxuICAgIGlmICghY291bnQpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBDYXRlZ29yeSB3aXRoIHNsdWcgJHtzbHVnfSBub3QgZm91bmRgKVxuXG4gICAgcmV0dXJuIGRhdGEuc2hpZnQoKVxuICB9XG5cbiAgYXN5bmMgZ2V0Q2F0ZWdvcmllc0ZvckhvbWUoY2F0ZWdvcnlJZHM6IHN0cmluZ1tdLCBsaW1pdCA9IDQpOiBQcm9taXNlPHsgY2F0ZWdvcnk6IENhdGVnb3J5OyBwcm9kdWN0czogUHJvZHVjdFtdIH1bXT4ge1xuICAgIGNvbnN0IHsgZGF0YTogY2F0ZWdvcmllcywgY291bnQgfSA9IGF3YWl0IHRoaXMuZmluZCh7XG4gICAgICBmaWx0ZXJzOiB7IGZpcmVzdG9yZV9pZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBjYXRlZ29yeUlkcy5maWx0ZXIoQm9vbGVhbikgfSwgcHVibGlzaGVkOiB0cnVlIH0sXG4gICAgfSlcblxuICAgIGlmICghY291bnQpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKCdDYXRlZ29yaWVzIG5vdCBmb3VuZCcpXG5cbiAgICBjb25zdCBob21lU2VjdGlvbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGNhdGVnb3JpZXMubWFwKGFzeW5jIChjYXRlZ29yeSkgPT4gKHtcbiAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgIHByb2R1Y3RzOiBhd2FpdCB0aGlzLm1vdW50Q2F0ZWdvcnkoY2F0ZWdvcnksIHsgbGltaXQsIGhhc1N0b2NrOiB0cnVlIH0pLFxuICAgICAgfSkpLFxuICAgIClcblxuICAgIHJldHVybiBob21lU2VjdGlvbnNcbiAgfVxuXG4gIGFzeW5jIG1vdW50Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5LCBvcHRpb25zPzogeyBsaW1pdD86IG51bWJlcjsgaGFzU3RvY2s/OiBib29sZWFuIH0pOiBQcm9taXNlPFByb2R1Y3RbXT4ge1xuICAgIGlmICghY2F0ZWdvcnkucHJvZHVjdHMpIHRocm93IG5ldyBSZXF1aXJlZEFyZ3VtZW50RXJyb3IoWydDYXRlZ29yeSBwcm9kdWN0cyBpcyBlbXB0eSddKVxuXG4gICAgY29uc29sZS5sb2coY2F0ZWdvcnkpXG4gICAgY29uc29sZS5sb2coY2F0ZWdvcnkucHJvZHVjdHMpXG5cbiAgICBjb25zdCBwcm9kdWN0cyA9IFtdXG4gICAgY29uc3QgcHVibGlzaGVkRmllbGQgPSBjYXRlZ29yeS5zaG9wID09PSBTaG9wcy5HTEFNU0hPUCA/ICdwdWJsaXNoZWRHbGFtJyA6ICdwdWJsaXNoZWQnXG4gICAgY29uc3QgeyBkYXRhOiBwcm9kdWN0c0RhdGEgfSA9IGF3YWl0IHRoaXMucHJvZHVjdFJlcG9zaXRvcnkuZmluZCh7XG4gICAgICBmaWx0ZXJzOiB7XG4gICAgICAgIGlkOiB7IG9wZXJhdG9yOiBXaGVyZS5JTiwgdmFsdWU6IGNhdGVnb3J5LnByb2R1Y3RzIH0sXG4gICAgICAgIFtwdWJsaXNoZWRGaWVsZF06IHRydWUsXG4gICAgICAgIC8vLy4uLihvcHRpb25zPy5oYXNTdG9jayA/IHsgc3RvY2s6IHsgcXVhbnRpdHk6IHsgb3BlcmF0b3I6IFdoZXJlLkdULCB2YWx1ZTogMCB9IH0gfSA6IHt9KSxcbiAgICAgIH0sXG4gICAgICAuLi4ob3B0aW9ucz8ubGltaXQgPyB7IGxpbWl0czogeyBsaW1pdDogb3B0aW9ucz8ubGltaXQgfSB9IDoge30pLFxuICAgIH0pXG5cbiAgICBwcm9kdWN0cy5wdXNoKC4uLnByb2R1Y3RzRGF0YSlcblxuICAgIHJldHVybiBwcm9kdWN0c1xuICB9XG59XG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2luZnJhL2hhc3VyYS1ncmFwaHFsL3JlcG9zaXRvcmllcy9jYXRhbG9nL2NhdGVnb3J5LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQW9ELEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDakcsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFNdkUsTUFBTSxPQUFPLCtCQUNYLFNBQVEscUJBQXFCLENBQUMsaUJBQWlCLENBQXdCLElBQUksQ0FBQyxDQUFDO0lBRzdFLFlBQ0UsUUFBZ0IsRUFDaEIsV0FBcUMsRUFDcEIsaUJBQWlEO1FBRWxFLEtBQUssQ0FBQztZQUNKLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLEtBQUssRUFBRSxRQUFRO1lBQ2YsUUFBUTtZQUNSLFdBQVc7WUFDWCxNQUFNLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRTtnQkFDdEYsRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFV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LE1BQU07b0JBQ04sTUFBTTtvQkFDTixRQUFRO29CQUNSLFlBQVk7b0JBQ1osT0FBTztvQkFDUCxXQUFXO29CQUNYLDhCQUE4QjtvQkFDOUIsaUJBQWlCO29CQUNqQixPQUFPO29CQUNQLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixNQUFNO29CQUNOLEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxPQUFPO29CQUNQLFdBQVc7b0JBQ1gsYUFBYTtvQkFDYixPQUFPO29CQUNQLGtCQUFrQjtvQkFDbEIsS0FBSztvQkFDTCxNQUFNO2lCQUNQLElBQ0UsQ0FBQyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDaEUsQ0FBQTtZQUVGLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQTtZQUU5QixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO0tBQUE7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhdGVnb3J5LCBDYXRlZ29yeVJlcG9zaXRvcnksIEdldFJlcG9zaXRvcnlQYXJhbXMsIFByb2R1Y3QsIFNob3BzLCBXaGVyZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IER1cGxpY2F0ZWRSZXN1bHRzRXJyb3IsIE5vdEZvdW5kRXJyb3IsIFJlcXVpcmVkQXJndW1lbnRFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL2Vycm9ycydcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcbmltcG9ydCB7IEhhc3VyYUdyYXBoUUxDb2x1bW5UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnXG5pbXBvcnQgeyB3aXRoQ3J1ZEhhc3VyYUdyYXBoUUwsIHdpdGhIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbWl4aW5zJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vbW9kZWxzJ1xuaW1wb3J0IHsgSGFzdXJhR3JhcGhRTEF1dGhPcHRpb25zIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeSB9IGZyb20gJy4vcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5J1xuXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnlIYXN1cmFHcmFwaFFMUmVwb3NpdG9yeVxuICBleHRlbmRzIHdpdGhDcnVkSGFzdXJhR3JhcGhRTCh3aXRoSGFzdXJhR3JhcGhRTDxDYXRlZ29yeUhhc3VyYUdyYXBoUUw+KEJhc2UpKVxuICBpbXBsZW1lbnRzIENhdGVnb3J5UmVwb3NpdG9yeVxue1xuICBjb25zdHJ1Y3RvcihcbiAgICBlbmRwb2ludDogc3RyaW5nLFxuICAgIGF1dGhPcHRpb25zOiBIYXN1cmFHcmFwaFFMQXV0aE9wdGlvbnMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0UmVwb3NpdG9yeTogUHJvZHVjdEhhc3VyYUdyYXBoUUxSZXBvc2l0b3J5LFxuICApIHtcbiAgICBzdXBlcih7XG4gICAgICB0YWJsZU5hbWU6ICdjYXRlZ29yeScsXG4gICAgICBtb2RlbDogQ2F0ZWdvcnksXG4gICAgICBlbmRwb2ludCxcbiAgICAgIGF1dGhPcHRpb25zLFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHsgaWQ6IHsgY29sdW1uTmFtZTogJ2lkJywgdG86ICh2YWx1ZSkgPT4gK3ZhbHVlLCBmcm9tOiAodmFsdWUpID0+IHZhbHVlLnRvU3RyaW5nKCkgfSB9LFxuICAgICAgICB7IGZpcmVzdG9yZUlkOiB7IGNvbHVtbk5hbWU6ICdmaXJlc3RvcmVfaWQnIH0gfSxcbiAgICAgICAgJ25hbWUnLFxuICAgICAgICAnZGVzY3JpcHRpb24nLFxuICAgICAgICAnaW1hZ2UnLFxuICAgICAgICAncHVibGlzaGVkJyxcbiAgICAgICAgJ3Nob3AnLFxuICAgICAgICAnc2x1ZycsXG4gICAgICAgIHsgYnJhbmRDYXRlZ29yeTogeyBjb2x1bW5OYW1lOiAnYnJhbmRfY2F0ZWdvcnknIH0gfSxcbiAgICAgICAgeyBicmFuZENhdGVnb3J5QmFubmVyOiB7IGNvbHVtbk5hbWU6ICdicmFuZF9iYW5uZXInIH0gfSxcbiAgICAgICAgeyBicmFuZENhdGVnb3J5QmFubmVyTW9iaWxlOiB7IGNvbHVtbk5hbWU6ICdicmFuZF9iYW5uZXJfbW9iaWxlJyB9IH0sXG4gICAgICAgIHsgYnJhbmRMb2dvOiB7IGNvbHVtbk5hbWU6ICdicmFuZF9sb2dvJyB9IH0sXG4gICAgICAgIHsgYnJhbmRDb25kaXRpb246IHsgY29sdW1uTmFtZTogJ2JyYW5kX2NvbmRpdGlvbicgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3RhZ19jb25kaXRpb24nLFxuICAgICAgICAgICAgdHlwZTogSGFzdXJhR3JhcGhRTENvbHVtblR5cGUuSnNvbmIsXG4gICAgICAgICAgICBmcm9tOiAodGFnczogc3RyaW5nW10sIHJvdykgPT4gKHsgYnJhbmQ6IHJvdy5icmFuZF9jb25kaXRpb24sIHRhZ3M6IEFycmF5LmlzQXJyYXkodGFncykgPyB0YWdzIDogW10gfSksXG4gICAgICAgICAgICBiaW5kUGVyc2lzdERhdGE6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGJyYW5kX2NvbmRpdGlvbjogdmFsdWUuYnJhbmQsXG4gICAgICAgICAgICAgICAgdGFnX2NvbmRpdGlvbjogYHtcIiR7dmFsdWU/LnRhZ3M/LmpvaW4/LignXCIsXCInKSB8fCAnJ31cIn1gLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmluZEZpbmRGaWx0ZXI6IChzZW50ZW5jZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uKHNlbnRlbmNlLmJyYW5kID8geyBicmFuZF9jb25kaXRpb246IHNlbnRlbmNlLmJyYW5kIH0gOiB7fSksXG4gICAgICAgICAgICAgICAgLi4uKHNlbnRlbmNlLnRhZ3MgPyB7IHRhZ19jb25kaXRpb246IHNlbnRlbmNlLnRhZ3MgfSA6IHt9KSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAnZmlsdGVycycsXG4gICAgICAgIHsgY3JlYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICdjcmVhdGVkX2F0JyB9IH0sXG4gICAgICAgIHsgdXBkYXRlZEF0OiB7IGNvbHVtbk5hbWU6ICd1cGRhdGVkX2F0JyB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm9kdWN0czoge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogJ3Byb2R1Y3RzJyxcbiAgICAgICAgICAgIGZpZWxkczogWydwcm9kdWN0X2lkJ10sXG4gICAgICAgICAgICBmcm9tOiAodmFsdWU6IHsgcHJvZHVjdF9pZDogbnVtYmVyIH1bXSkgPT4gdmFsdWUubWFwKChwcm9kdWN0KSA9PiBwcm9kdWN0LnByb2R1Y3RfaWQudG9TdHJpbmcoKSksXG4gICAgICAgICAgICB0bzogKHByb2R1Y3RJZHMpID0+XG4gICAgICAgICAgICAgIHByb2R1Y3RJZHMubWFwKChwcm9kdWN0SWQpID0+ICh7XG4gICAgICAgICAgICAgICAgcHJvZHVjdF9pZDogK3Byb2R1Y3RJZCxcbiAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXQoaWRlbnRpZmllcnM6IEdldFJlcG9zaXRvcnlQYXJhbXM8Q2F0ZWdvcnlIYXN1cmFHcmFwaFFMPik6IFByb21pc2U8Q2F0ZWdvcnlIYXN1cmFHcmFwaFFMPiB7XG4gICAgcmV0dXJuIE51bWJlci5pc05hTigraWRlbnRpZmllcnMuaWQpXG4gICAgICA/IChhd2FpdCB0aGlzLmZpbmQoeyBmaWx0ZXJzOiB7IGZpcmVzdG9yZUlkOiBpZGVudGlmaWVycy5pZCB9IH0pKS5kYXRhPy5bMF1cbiAgICAgIDogc3VwZXIuZ2V0KGlkZW50aWZpZXJzKVxuICB9XG5cbiAgYXN5bmMgZ2V0Q2F0ZWdvcnlCeVNsdWcoc2x1Zzogc3RyaW5nLCBzaG9wOiBTaG9wcyk6IFByb21pc2U8Q2F0ZWdvcnk+IHtcbiAgICBpZiAoIXNsdWcpIHJldHVyblxuXG4gICAgY29uc3QgeyBkYXRhLCBjb3VudCB9ID0gYXdhaXQgdGhpcy5maW5kKHsgZmlsdGVyczogeyBzbHVnLCBzaG9wLCBwdWJsaXNoZWQ6IHRydWUgfSB9KVxuXG4gICAgaWYgKGNvdW50ID4gMSkgdGhyb3cgbmV3IER1cGxpY2F0ZWRSZXN1bHRzRXJyb3IoJ1F1ZXJ5IHJldHVybmVkIGR1cGxpY2F0ZWQgdmFsdWVzJylcbiAgICBpZiAoIWNvdW50KSB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihgQ2F0ZWdvcnkgd2l0aCBzbHVnICR7c2x1Z30gbm90IGZvdW5kYClcblxuICAgIHJldHVybiBkYXRhLnNoaWZ0KClcbiAgfVxuXG4gIGFzeW5jIGdldENhdGVnb3JpZXNGb3JIb21lKGNhdGVnb3J5SWRzOiBzdHJpbmdbXSwgbGltaXQgPSA0KTogUHJvbWlzZTx7IGNhdGVnb3J5OiBDYXRlZ29yeTsgcHJvZHVjdHM6IFByb2R1Y3RbXSB9W10+IHtcbiAgICBjb25zdCB7IGRhdGE6IGNhdGVnb3JpZXMsIGNvdW50IH0gPSBhd2FpdCB0aGlzLmZpbmQoe1xuICAgICAgZmlsdGVyczogeyBmaXJlc3RvcmVJZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBjYXRlZ29yeUlkcy5maWx0ZXIoQm9vbGVhbikgfSwgcHVibGlzaGVkOiB0cnVlIH0sXG4gICAgfSlcblxuICAgIGlmICghY291bnQpIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKCdDYXRlZ29yaWVzIG5vdCBmb3VuZCcpXG5cbiAgICBjb25zdCBob21lU2VjdGlvbnMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGNhdGVnb3JpZXMubWFwKGFzeW5jIChjYXRlZ29yeSkgPT4gKHtcbiAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgIHByb2R1Y3RzOiBhd2FpdCB0aGlzLm1vdW50Q2F0ZWdvcnkoY2F0ZWdvcnksIHsgbGltaXQsIGhhc1N0b2NrOiB0cnVlIH0pLFxuICAgICAgfSkpLFxuICAgIClcblxuICAgIHJldHVybiBob21lU2VjdGlvbnNcbiAgfVxuXG4gIGFzeW5jIG1vdW50Q2F0ZWdvcnkoY2F0ZWdvcnk6IENhdGVnb3J5LCBvcHRpb25zPzogeyBsaW1pdD86IG51bWJlcjsgaGFzU3RvY2s/OiBib29sZWFuIH0pOiBQcm9taXNlPFByb2R1Y3RbXT4ge1xuICAgIGlmICghY2F0ZWdvcnkucHJvZHVjdHMpIHRocm93IG5ldyBSZXF1aXJlZEFyZ3VtZW50RXJyb3IoWydDYXRlZ29yeSBwcm9kdWN0cyBpcyBlbXB0eSddKVxuXG4gICAgY29uc3QgcHJvZHVjdHMgPSBbXVxuICAgIGNvbnN0IHB1Ymxpc2hlZEZpZWxkID0gY2F0ZWdvcnkuc2hvcCA9PT0gU2hvcHMuR0xBTVNIT1AgPyAncHVibGlzaGVkR2xhbScgOiAncHVibGlzaGVkJ1xuICAgIGNvbnN0IHsgZGF0YTogcHJvZHVjdHNEYXRhIH0gPSBhd2FpdCB0aGlzLnByb2R1Y3RSZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgZmlsdGVyczoge1xuICAgICAgICBpZDogeyBvcGVyYXRvcjogV2hlcmUuSU4sIHZhbHVlOiBjYXRlZ29yeS5wcm9kdWN0cyB9LFxuICAgICAgICBbcHVibGlzaGVkRmllbGRdOiB0cnVlLFxuICAgICAgICAuLi4ob3B0aW9ucz8uaGFzU3RvY2sgPyB7IHN0b2NrOiB7IHF1YW50aXR5OiB7IG9wZXJhdG9yOiBXaGVyZS5HVCwgdmFsdWU6IDAgfSB9IH0gOiB7fSksXG4gICAgICB9LFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgICdpZCcsXG4gICAgICAgICduYW1lJyxcbiAgICAgICAgJ3NsdWcnLFxuICAgICAgICAnaW1hZ2VzJyxcbiAgICAgICAgJ21pbmlhdHVyZXMnLFxuICAgICAgICAncHJpY2UnLFxuICAgICAgICAnZnVsbFByaWNlJyxcbiAgICAgICAgJ3N1YnNjcmliZXJEaXNjb3VudFBlcmNlbnRhZ2UnLFxuICAgICAgICAnc3Vic2NyaWJlclByaWNlJyxcbiAgICAgICAgJ3N0b2NrJyxcbiAgICAgICAgJ3B1Ymxpc2hlZCcsXG4gICAgICAgICdwdWJsaXNoZWRHbGFtJyxcbiAgICAgICAgJ0NFU1QnLFxuICAgICAgICAnRUFOJyxcbiAgICAgICAgJ05DTScsXG4gICAgICAgICdicmFuZCcsXG4gICAgICAgICdjb3N0UHJpY2UnLFxuICAgICAgICAnaGFzVmFyaWFudHMnLFxuICAgICAgICAnaXNLaXQnLFxuICAgICAgICAnc2hvcEF2YWlsYWJpbGl0eScsXG4gICAgICAgICdza3UnLFxuICAgICAgICAncmF0ZScsXG4gICAgICBdLFxuICAgICAgLi4uKG9wdGlvbnM/LmxpbWl0ID8geyBsaW1pdHM6IHsgbGltaXQ6IG9wdGlvbnM/LmxpbWl0IH0gfSA6IHt9KSxcbiAgICB9KVxuXG4gICAgcHJvZHVjdHMucHVzaCguLi5wcm9kdWN0c0RhdGEpXG5cbiAgICByZXR1cm4gcHJvZHVjdHNcbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './category-hasura-graphql.repository';
|
|
2
2
|
export * from './product-hasura-graphql.repository';
|
|
3
|
-
|
|
3
|
+
export * from './variant-hasura-graphql.repository';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9oYXN1cmEtZ3JhcGhxbC9yZXBvc2l0b3JpZXMvY2F0YWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFBO0FBQ3BELGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2F0ZWdvcnktaGFzdXJhLWdyYXBocWwucmVwb3NpdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1oYXN1cmEtZ3JhcGhxbC5yZXBvc2l0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi92YXJpYW50LWhhc3VyYS1ncmFwaHFsLnJlcG9zaXRvcnknXG4iXX0=
|