@payloadcms/graphql 3.0.0-alpha.2 → 3.0.0-alpha.21
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/dist/index.js +27 -83
- package/dist/resolvers/auth/access.js +8 -23
- package/dist/resolvers/auth/forgotPassword.js +6 -16
- package/dist/resolvers/auth/init.js +6 -16
- package/dist/resolvers/auth/login.js +8 -18
- package/dist/resolvers/auth/logout.js +8 -18
- package/dist/resolvers/auth/me.js +6 -16
- package/dist/resolvers/auth/refresh.js +9 -19
- package/dist/resolvers/auth/resetPassword.js +8 -18
- package/dist/resolvers/auth/unlock.js +6 -16
- package/dist/resolvers/auth/verifyEmail.js +6 -16
- package/dist/resolvers/collections/create.js +6 -16
- package/dist/resolvers/collections/delete.js +8 -18
- package/dist/resolvers/collections/docAccess.js +6 -16
- package/dist/resolvers/collections/find.js +8 -18
- package/dist/resolvers/collections/findByID.js +8 -18
- package/dist/resolvers/collections/findVersionByID.js +8 -18
- package/dist/resolvers/collections/findVersions.js +8 -18
- package/dist/resolvers/collections/restoreVersion.js +6 -16
- package/dist/resolvers/collections/update.js +8 -18
- package/dist/resolvers/globals/docAccess.js +6 -16
- package/dist/resolvers/globals/findOne.js +6 -16
- package/dist/resolvers/globals/findVersionByID.js +6 -16
- package/dist/resolvers/globals/findVersions.js +6 -16
- package/dist/resolvers/globals/index.js +7 -38
- package/dist/resolvers/globals/restoreVersion.js +6 -16
- package/dist/resolvers/globals/update.js +6 -16
- package/dist/resolvers/types.js +2 -5
- package/dist/schema/buildFallbackLocaleInputType.js +6 -21
- package/dist/schema/buildLocaleInputType.js +6 -21
- package/dist/schema/buildMutationInputType.js +53 -75
- package/dist/schema/buildObjectType.js +55 -70
- package/dist/schema/buildPaginatedListType.js +15 -25
- package/dist/schema/buildPoliciesType.js +27 -53
- package/dist/schema/buildWhereInputType.js +19 -34
- package/dist/schema/fieldToWhereInputSchemaMap.js +33 -48
- package/dist/schema/initCollections.js +120 -135
- package/dist/schema/initGlobals.js +41 -56
- package/dist/schema/isFieldNullable.js +4 -14
- package/dist/schema/operators.js +2 -12
- package/dist/schema/recursivelyBuildNestedPaths.js +9 -24
- package/dist/schema/withNullableType.js +4 -14
- package/dist/schema/withOperators.js +80 -84
- package/dist/utilities/combineParentName.js +4 -19
- package/dist/utilities/formatName.js +2 -12
- package/dist/utilities/formatName.spec.js +3 -12
- package/dist/utilities/formatOptions.js +5 -20
- package/dist/utilities/getCheckIfLocaleObject.js +2 -12
- package/dist/utilities/groupOrTabHasRequiredSubfield.js +4 -14
- package/dist/utilities/isolateTransactionID.d.ts +0 -1
- package/dist/utilities/isolateTransactionID.js +0 -1
- package/dist/utilities/uppercase.js +2 -12
- package/dist/utilities/wrapCustomResolver.js +4 -14
- package/package.json +4 -3
|
@@ -1,38 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
buildEntityPolicy: function() {
|
|
13
|
-
return buildEntityPolicy;
|
|
14
|
-
},
|
|
15
|
-
buildPolicyType: function() {
|
|
16
|
-
return buildPolicyType;
|
|
17
|
-
},
|
|
18
|
-
default: function() {
|
|
19
|
-
return buildPoliciesType;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _graphql = require("graphql");
|
|
23
|
-
const _graphqltypejson = require("graphql-type-json");
|
|
24
|
-
const _utilities = require("payload/utilities");
|
|
25
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
26
|
-
function _interop_require_default(obj) {
|
|
27
|
-
return obj && obj.__esModule ? obj : {
|
|
28
|
-
default: obj
|
|
29
|
-
};
|
|
30
|
-
}
|
|
1
|
+
import { GraphQLBoolean, GraphQLNonNull, GraphQLObjectType } from 'graphql';
|
|
2
|
+
import { GraphQLJSONObject } from 'graphql-type-json';
|
|
3
|
+
import { toWords } from 'payload/utilities';
|
|
4
|
+
import formatName from '../utilities/formatName';
|
|
31
5
|
const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, field)=>{
|
|
32
6
|
const includeField = !field.hidden && field.type !== 'ui';
|
|
33
7
|
if (includeField) {
|
|
34
8
|
if (field.name) {
|
|
35
|
-
const fieldName = (
|
|
9
|
+
const fieldName = formatName(field.name);
|
|
36
10
|
const objectTypeFields = [
|
|
37
11
|
'create',
|
|
38
12
|
'read',
|
|
@@ -43,11 +17,11 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
43
17
|
return {
|
|
44
18
|
...operations,
|
|
45
19
|
[operation]: {
|
|
46
|
-
type: new
|
|
20
|
+
type: new GraphQLObjectType({
|
|
47
21
|
name: `${label}_${fieldName}_${capitalizedOperation}`,
|
|
48
22
|
fields: {
|
|
49
23
|
permission: {
|
|
50
|
-
type: new
|
|
24
|
+
type: new GraphQLNonNull(GraphQLBoolean)
|
|
51
25
|
}
|
|
52
26
|
}
|
|
53
27
|
})
|
|
@@ -56,7 +30,7 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
56
30
|
}, {});
|
|
57
31
|
if (field.fields) {
|
|
58
32
|
objectTypeFields.fields = {
|
|
59
|
-
type: new
|
|
33
|
+
type: new GraphQLObjectType({
|
|
60
34
|
name: `${label}_${fieldName}_Fields`,
|
|
61
35
|
fields: buildFields(`${label}_${fieldName}`, field.fields)
|
|
62
36
|
})
|
|
@@ -65,7 +39,7 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
65
39
|
return {
|
|
66
40
|
...builtFields,
|
|
67
41
|
[field.name]: {
|
|
68
|
-
type: new
|
|
42
|
+
type: new GraphQLObjectType({
|
|
69
43
|
name: `${label}_${fieldName}`,
|
|
70
44
|
fields: objectTypeFields
|
|
71
45
|
})
|
|
@@ -92,28 +66,28 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
92
66
|
}
|
|
93
67
|
return builtFields;
|
|
94
68
|
}, {});
|
|
95
|
-
const buildEntityPolicy = (args)=>{
|
|
69
|
+
export const buildEntityPolicy = (args)=>{
|
|
96
70
|
const { name, entityFields, operations, scope } = args;
|
|
97
|
-
const fieldsTypeName =
|
|
71
|
+
const fieldsTypeName = toWords(`${name}-${scope || ''}-Fields`, true);
|
|
98
72
|
const fields = {
|
|
99
73
|
fields: {
|
|
100
|
-
type: new
|
|
74
|
+
type: new GraphQLObjectType({
|
|
101
75
|
name: fieldsTypeName,
|
|
102
76
|
fields: buildFields(fieldsTypeName, entityFields)
|
|
103
77
|
})
|
|
104
78
|
}
|
|
105
79
|
};
|
|
106
80
|
operations.forEach((operation)=>{
|
|
107
|
-
const operationTypeName =
|
|
81
|
+
const operationTypeName = toWords(`${name}-${operation}-${scope || 'Access'}`, true);
|
|
108
82
|
fields[operation] = {
|
|
109
|
-
type: new
|
|
83
|
+
type: new GraphQLObjectType({
|
|
110
84
|
name: operationTypeName,
|
|
111
85
|
fields: {
|
|
112
86
|
permission: {
|
|
113
|
-
type: new
|
|
87
|
+
type: new GraphQLNonNull(GraphQLBoolean)
|
|
114
88
|
},
|
|
115
89
|
where: {
|
|
116
|
-
type:
|
|
90
|
+
type: GraphQLJSONObject
|
|
117
91
|
}
|
|
118
92
|
}
|
|
119
93
|
})
|
|
@@ -121,7 +95,7 @@ const buildEntityPolicy = (args)=>{
|
|
|
121
95
|
});
|
|
122
96
|
return fields;
|
|
123
97
|
};
|
|
124
|
-
function buildPolicyType(args) {
|
|
98
|
+
export function buildPolicyType(args) {
|
|
125
99
|
const { entity, scope, type, typeSuffix } = args;
|
|
126
100
|
const { fields, graphQL, slug, versions } = entity;
|
|
127
101
|
let operations = [];
|
|
@@ -139,8 +113,8 @@ function buildPolicyType(args) {
|
|
|
139
113
|
if (versions) {
|
|
140
114
|
operations.push('readVersions');
|
|
141
115
|
}
|
|
142
|
-
const collectionTypeName = (
|
|
143
|
-
return new
|
|
116
|
+
const collectionTypeName = formatName(`${slug}${typeSuffix || ''}`);
|
|
117
|
+
return new GraphQLObjectType({
|
|
144
118
|
name: collectionTypeName,
|
|
145
119
|
fields: buildEntityPolicy({
|
|
146
120
|
name: slug,
|
|
@@ -158,8 +132,8 @@ function buildPolicyType(args) {
|
|
|
158
132
|
if (entity.versions) {
|
|
159
133
|
operations.push('readVersions');
|
|
160
134
|
}
|
|
161
|
-
const globalTypeName = (
|
|
162
|
-
return new
|
|
135
|
+
const globalTypeName = formatName(`${global?.graphQL?.name || slug}${typeSuffix || ''}`);
|
|
136
|
+
return new GraphQLObjectType({
|
|
163
137
|
name: globalTypeName,
|
|
164
138
|
fields: buildEntityPolicy({
|
|
165
139
|
name: entity.graphQL ? entity?.graphQL?.name || slug : slug,
|
|
@@ -169,10 +143,10 @@ function buildPolicyType(args) {
|
|
|
169
143
|
})
|
|
170
144
|
});
|
|
171
145
|
}
|
|
172
|
-
function buildPoliciesType(config) {
|
|
146
|
+
export default function buildPoliciesType(config) {
|
|
173
147
|
const fields = {
|
|
174
148
|
canAccessAdmin: {
|
|
175
|
-
type: new
|
|
149
|
+
type: new GraphQLNonNull(GraphQLBoolean)
|
|
176
150
|
}
|
|
177
151
|
};
|
|
178
152
|
Object.values(config.collections).forEach((collection)=>{
|
|
@@ -184,7 +158,7 @@ function buildPoliciesType(config) {
|
|
|
184
158
|
type: 'collection',
|
|
185
159
|
typeSuffix: 'Access'
|
|
186
160
|
});
|
|
187
|
-
fields[(
|
|
161
|
+
fields[formatName(collection.slug)] = {
|
|
188
162
|
type: collectionPolicyType
|
|
189
163
|
};
|
|
190
164
|
});
|
|
@@ -197,14 +171,14 @@ function buildPoliciesType(config) {
|
|
|
197
171
|
type: 'global',
|
|
198
172
|
typeSuffix: 'Access'
|
|
199
173
|
});
|
|
200
|
-
fields[(
|
|
174
|
+
fields[formatName(global1.slug)] = {
|
|
201
175
|
type: globalPolicyType
|
|
202
176
|
};
|
|
203
177
|
});
|
|
204
|
-
return new
|
|
178
|
+
return new GraphQLObjectType({
|
|
205
179
|
name: 'Access',
|
|
206
180
|
fields
|
|
207
181
|
});
|
|
208
182
|
}
|
|
209
183
|
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRQb2xpY2llc1R5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTEJvb2xlYW4sIEdyYXBoUUxOb25OdWxsLCBHcmFwaFFMT2JqZWN0VHlwZSB9IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTk9iamVjdCB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuICBGaWVsZCxcbiAgR2xvYmFsQ29uZmlnLFxuICBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5cbnR5cGUgT3BlcmF0aW9uVHlwZSA9ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAncmVhZFZlcnNpb25zJyB8ICd1bmxvY2snIHwgJ3VwZGF0ZSdcblxudHlwZSBBY2Nlc3NTY29wZXMgPSAnZG9jQWNjZXNzJyB8IHVuZGVmaW5lZFxuXG50eXBlIE9iamVjdFR5cGVGaWVsZHMgPSB7XG4gIFtrZXkgaW4gJ2ZpZWxkcycgfCBPcGVyYXRpb25UeXBlXT86IHsgdHlwZTogR3JhcGhRTE9iamVjdFR5cGUgfVxufVxuXG5jb25zdCBidWlsZEZpZWxkcyA9IChsYWJlbCwgZmllbGRzVG9CdWlsZCkgPT5cbiAgZmllbGRzVG9CdWlsZC5yZWR1Y2UoKGJ1aWx0RmllbGRzLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGluY2x1ZGVGaWVsZCA9ICFmaWVsZC5oaWRkZW4gJiYgZmllbGQudHlwZSAhPT0gJ3VpJ1xuICAgIGlmIChpbmNsdWRlRmllbGQpIHtcbiAgICAgIGlmIChmaWVsZC5uYW1lKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUoZmllbGQubmFtZSlcblxuICAgICAgICBjb25zdCBvYmplY3RUeXBlRmllbGRzOiBPYmplY3RUeXBlRmllbGRzID0gWydjcmVhdGUnLCAncmVhZCcsICd1cGRhdGUnLCAnZGVsZXRlJ10ucmVkdWNlKFxuICAgICAgICAgIChvcGVyYXRpb25zLCBvcGVyYXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkT3BlcmF0aW9uID0gb3BlcmF0aW9uLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgb3BlcmF0aW9uLnNsaWNlKDEpXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdGlvbnMsXG4gICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1fJHtjYXBpdGFsaXplZE9wZXJhdGlvbn1gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9LFxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIG9iamVjdFR5cGVGaWVsZHMuZmllbGRzID0ge1xuICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYCR7bGFiZWx9XyR7ZmllbGROYW1lfV9GaWVsZHNgLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLCBmaWVsZC5maWVsZHMpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5idWlsdEZpZWxkcyxcbiAgICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IG9iamVjdFR5cGVGaWVsZHMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGQubmFtZSAmJiBmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRzID0gYnVpbGRGaWVsZHMobGFiZWwsIGZpZWxkLmZpZWxkcylcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmJ1aWx0RmllbGRzLFxuICAgICAgICAgIC4uLnN1YkZpZWxkcyxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC50YWJzLnJlZHVjZShcbiAgICAgICAgICAoZmllbGRzV2l0aFRhYkZpZWxkcywgdGFiKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5maWVsZHNXaXRoVGFiRmllbGRzLFxuICAgICAgICAgICAgICAuLi5idWlsZEZpZWxkcyhsYWJlbCwgdGFiLmZpZWxkcyksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLmJ1aWx0RmllbGRzIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1aWx0RmllbGRzXG4gIH0sIHt9KVxuXG50eXBlIEJ1aWxkRW50aXR5UG9saWN5ID0ge1xuICBlbnRpdHlGaWVsZHM6IEZpZWxkW11cbiAgbmFtZTogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IE9wZXJhdGlvblR5cGVbXVxuICBzY29wZTogQWNjZXNzU2NvcGVzXG59XG5leHBvcnQgY29uc3QgYnVpbGRFbnRpdHlQb2xpY3kgPSAoYXJnczogQnVpbGRFbnRpdHlQb2xpY3kpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBlbnRpdHlGaWVsZHMsIG9wZXJhdGlvbnMsIHNjb3BlIH0gPSBhcmdzXG5cbiAgY29uc3QgZmllbGRzVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7c2NvcGUgfHwgJyd9LUZpZWxkc2AsIHRydWUpXG4gIGNvbnN0IGZpZWxkcyA9IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZpZWxkc1R5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGZpZWxkc1R5cGVOYW1lLCBlbnRpdHlGaWVsZHMpLFxuICAgICAgfSksXG4gICAgfSxcbiAgfVxuXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uKSA9PiB7XG4gICAgY29uc3Qgb3BlcmF0aW9uVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7b3BlcmF0aW9ufS0ke3Njb3BlIHx8ICdBY2Nlc3MnfWAsIHRydWUpXG5cbiAgICBmaWVsZHNbb3BlcmF0aW9uXSA9IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IG9wZXJhdGlvblR5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBwZXJtaXNzaW9uOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbikgfSxcbiAgICAgICAgICB3aGVyZTogeyB0eXBlOiBHcmFwaFFMSlNPTk9iamVjdCB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBmaWVsZHNcbn1cblxudHlwZSBCdWlsZFBvbGljeVR5cGUgPSB7XG4gIHNjb3BlPzogQWNjZXNzU2NvcGVzXG4gIHR5cGVTdWZmaXg/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgICAgZW50aXR5OiBDb2xsZWN0aW9uQ29uZmlnXG4gICAgICB0eXBlOiAnY29sbGVjdGlvbidcbiAgICB9XG4gIHwge1xuICAgICAgZW50aXR5OiBHbG9iYWxDb25maWdcbiAgICAgIHR5cGU6ICdnbG9iYWwnXG4gICAgfVxuKVxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUG9saWN5VHlwZShhcmdzOiBCdWlsZFBvbGljeVR5cGUpOiBHcmFwaFFMT2JqZWN0VHlwZSB7XG4gIGNvbnN0IHsgZW50aXR5LCBzY29wZSwgdHlwZSwgdHlwZVN1ZmZpeCB9ID0gYXJnc1xuICBjb25zdCB7IGZpZWxkcywgZ3JhcGhRTCwgc2x1ZywgdmVyc2lvbnMgfSA9IGVudGl0eVxuXG4gIGxldCBvcGVyYXRpb25zID0gW11cblxuICBpZiAoZ3JhcGhRTCA9PT0gZmFsc2UpIHJldHVybiBudWxsXG5cbiAgaWYgKHR5cGUgPT09ICdjb2xsZWN0aW9uJykge1xuICAgIG9wZXJhdGlvbnMgPSBbJ2NyZWF0ZScsICdyZWFkJywgJ3VwZGF0ZScsICdkZWxldGUnXVxuXG4gICAgaWYgKFxuICAgICAgZW50aXR5LmF1dGggJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aCA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aC5tYXhMb2dpbkF0dGVtcHRzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgZW50aXR5LmF1dGgubWF4TG9naW5BdHRlbXB0cyAhPT0gMFxuICAgICkge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCd1bmxvY2snKVxuICAgIH1cblxuICAgIGlmICh2ZXJzaW9ucykge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCdyZWFkVmVyc2lvbnMnKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25UeXBlTmFtZSA9IGZvcm1hdE5hbWUoYCR7c2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICAgIHJldHVybiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogY29sbGVjdGlvblR5cGVOYW1lLFxuICAgICAgZmllbGRzOiBidWlsZEVudGl0eVBvbGljeSh7XG4gICAgICAgIG5hbWU6IHNsdWcsXG4gICAgICAgIGVudGl0eUZpZWxkczogZmllbGRzLFxuICAgICAgICBvcGVyYXRpb25zLFxuICAgICAgICBzY29wZSxcbiAgICAgIH0pLFxuICAgIH0pXG4gIH1cblxuICAvLyBlbHNlIGNyZWF0ZSBnbG9iYWwgdHlwZVxuICBvcGVyYXRpb25zID0gWydyZWFkJywgJ3VwZGF0ZSddXG5cbiAgaWYgKGVudGl0eS52ZXJzaW9ucykge1xuICAgIG9wZXJhdGlvbnMucHVzaCgncmVhZFZlcnNpb25zJylcbiAgfVxuXG4gIGNvbnN0IGdsb2JhbFR5cGVOYW1lID0gZm9ybWF0TmFtZShgJHtnbG9iYWw/LmdyYXBoUUw/Lm5hbWUgfHwgc2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICByZXR1cm4gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBnbG9iYWxUeXBlTmFtZSxcbiAgICBmaWVsZHM6IGJ1aWxkRW50aXR5UG9saWN5KHtcbiAgICAgIG5hbWU6IGVudGl0eS5ncmFwaFFMID8gZW50aXR5Py5ncmFwaFFMPy5uYW1lIHx8IHNsdWcgOiBzbHVnLFxuICAgICAgZW50aXR5RmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9ucyxcbiAgICAgIHNjb3BlLFxuICAgIH0pLFxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBidWlsZFBvbGljaWVzVHlwZShjb25maWc6IFNhbml0aXplZENvbmZpZyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRzID0ge1xuICAgIGNhbkFjY2Vzc0FkbWluOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgIH0sXG4gIH1cblxuICBPYmplY3QudmFsdWVzKGNvbmZpZy5jb2xsZWN0aW9ucykuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGlmIChjb2xsZWN0aW9uLmdyYXBoUUwgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY29sbGVjdGlvblBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBjb2xsZWN0aW9uLFxuICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgdHlwZVN1ZmZpeDogJ0FjY2VzcycsXG4gICAgfSlcblxuICAgIGZpZWxkc1tmb3JtYXROYW1lKGNvbGxlY3Rpb24uc2x1ZyldID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvblBvbGljeVR5cGUsXG4gICAgfVxuICB9KVxuXG4gIE9iamVjdC52YWx1ZXMoY29uZmlnLmdsb2JhbHMpLmZvckVhY2goKGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnKSA9PiB7XG4gICAgaWYgKGdsb2JhbC5ncmFwaFFMID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGdsb2JhbFBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBnbG9iYWwsXG4gICAgICB0eXBlOiAnZ2xvYmFsJyxcbiAgICAgIHR5cGVTdWZmaXg6ICdBY2Nlc3MnLFxuICAgIH0pXG5cbiAgICBmaWVsZHNbZm9ybWF0TmFtZShnbG9iYWwuc2x1ZyldID0ge1xuICAgICAgdHlwZTogZ2xvYmFsUG9saWN5VHlwZSxcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgbmFtZTogJ0FjY2VzcycsXG4gICAgZmllbGRzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkRW50aXR5UG9saWN5IiwiYnVpbGRQb2xpY3lUeXBlIiwiYnVpbGRQb2xpY2llc1R5cGUiLCJidWlsZEZpZWxkcyIsImxhYmVsIiwiZmllbGRzVG9CdWlsZCIsInJlZHVjZSIsImJ1aWx0RmllbGRzIiwiZmllbGQiLCJpbmNsdWRlRmllbGQiLCJoaWRkZW4iLCJ0eXBlIiwibmFtZSIsImZpZWxkTmFtZSIsImZvcm1hdE5hbWUiLCJvYmplY3RUeXBlRmllbGRzIiwib3BlcmF0aW9ucyIsIm9wZXJhdGlvbiIsImNhcGl0YWxpemVkT3BlcmF0aW9uIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsIkdyYXBoUUxPYmplY3RUeXBlIiwiZmllbGRzIiwicGVybWlzc2lvbiIsIkdyYXBoUUxOb25OdWxsIiwiR3JhcGhRTEJvb2xlYW4iLCJzdWJGaWVsZHMiLCJ0YWJzIiwiZmllbGRzV2l0aFRhYkZpZWxkcyIsInRhYiIsImFyZ3MiLCJlbnRpdHlGaWVsZHMiLCJzY29wZSIsImZpZWxkc1R5cGVOYW1lIiwidG9Xb3JkcyIsImZvckVhY2giLCJvcGVyYXRpb25UeXBlTmFtZSIsIndoZXJlIiwiR3JhcGhRTEpTT05PYmplY3QiLCJlbnRpdHkiLCJ0eXBlU3VmZml4IiwiZ3JhcGhRTCIsInNsdWciLCJ2ZXJzaW9ucyIsImF1dGgiLCJtYXhMb2dpbkF0dGVtcHRzIiwicHVzaCIsImNvbGxlY3Rpb25UeXBlTmFtZSIsImdsb2JhbFR5cGVOYW1lIiwiZ2xvYmFsIiwiY29uZmlnIiwiY2FuQWNjZXNzQWRtaW4iLCJPYmplY3QiLCJ2YWx1ZXMiLCJjb2xsZWN0aW9ucyIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uUG9saWN5VHlwZSIsImdsb2JhbHMiLCJnbG9iYWxQb2xpY3lUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQW9HYUEsaUJBQWlCO2VBQWpCQTs7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
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRQb2xpY2llc1R5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTEJvb2xlYW4sIEdyYXBoUUxOb25OdWxsLCBHcmFwaFFMT2JqZWN0VHlwZSB9IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTk9iamVjdCB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuICBGaWVsZCxcbiAgR2xvYmFsQ29uZmlnLFxuICBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5cbnR5cGUgT3BlcmF0aW9uVHlwZSA9ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAncmVhZFZlcnNpb25zJyB8ICd1bmxvY2snIHwgJ3VwZGF0ZSdcblxudHlwZSBBY2Nlc3NTY29wZXMgPSAnZG9jQWNjZXNzJyB8IHVuZGVmaW5lZFxuXG50eXBlIE9iamVjdFR5cGVGaWVsZHMgPSB7XG4gIFtrZXkgaW4gJ2ZpZWxkcycgfCBPcGVyYXRpb25UeXBlXT86IHsgdHlwZTogR3JhcGhRTE9iamVjdFR5cGUgfVxufVxuXG5jb25zdCBidWlsZEZpZWxkcyA9IChsYWJlbCwgZmllbGRzVG9CdWlsZCkgPT5cbiAgZmllbGRzVG9CdWlsZC5yZWR1Y2UoKGJ1aWx0RmllbGRzLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGluY2x1ZGVGaWVsZCA9ICFmaWVsZC5oaWRkZW4gJiYgZmllbGQudHlwZSAhPT0gJ3VpJ1xuICAgIGlmIChpbmNsdWRlRmllbGQpIHtcbiAgICAgIGlmIChmaWVsZC5uYW1lKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUoZmllbGQubmFtZSlcblxuICAgICAgICBjb25zdCBvYmplY3RUeXBlRmllbGRzOiBPYmplY3RUeXBlRmllbGRzID0gWydjcmVhdGUnLCAncmVhZCcsICd1cGRhdGUnLCAnZGVsZXRlJ10ucmVkdWNlKFxuICAgICAgICAgIChvcGVyYXRpb25zLCBvcGVyYXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkT3BlcmF0aW9uID0gb3BlcmF0aW9uLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgb3BlcmF0aW9uLnNsaWNlKDEpXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdGlvbnMsXG4gICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1fJHtjYXBpdGFsaXplZE9wZXJhdGlvbn1gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9LFxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIG9iamVjdFR5cGVGaWVsZHMuZmllbGRzID0ge1xuICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYCR7bGFiZWx9XyR7ZmllbGROYW1lfV9GaWVsZHNgLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLCBmaWVsZC5maWVsZHMpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5idWlsdEZpZWxkcyxcbiAgICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IG9iamVjdFR5cGVGaWVsZHMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGQubmFtZSAmJiBmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRzID0gYnVpbGRGaWVsZHMobGFiZWwsIGZpZWxkLmZpZWxkcylcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmJ1aWx0RmllbGRzLFxuICAgICAgICAgIC4uLnN1YkZpZWxkcyxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC50YWJzLnJlZHVjZShcbiAgICAgICAgICAoZmllbGRzV2l0aFRhYkZpZWxkcywgdGFiKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5maWVsZHNXaXRoVGFiRmllbGRzLFxuICAgICAgICAgICAgICAuLi5idWlsZEZpZWxkcyhsYWJlbCwgdGFiLmZpZWxkcyksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLmJ1aWx0RmllbGRzIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1aWx0RmllbGRzXG4gIH0sIHt9KVxuXG50eXBlIEJ1aWxkRW50aXR5UG9saWN5ID0ge1xuICBlbnRpdHlGaWVsZHM6IEZpZWxkW11cbiAgbmFtZTogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IE9wZXJhdGlvblR5cGVbXVxuICBzY29wZTogQWNjZXNzU2NvcGVzXG59XG5leHBvcnQgY29uc3QgYnVpbGRFbnRpdHlQb2xpY3kgPSAoYXJnczogQnVpbGRFbnRpdHlQb2xpY3kpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBlbnRpdHlGaWVsZHMsIG9wZXJhdGlvbnMsIHNjb3BlIH0gPSBhcmdzXG5cbiAgY29uc3QgZmllbGRzVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7c2NvcGUgfHwgJyd9LUZpZWxkc2AsIHRydWUpXG4gIGNvbnN0IGZpZWxkcyA9IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZpZWxkc1R5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGZpZWxkc1R5cGVOYW1lLCBlbnRpdHlGaWVsZHMpLFxuICAgICAgfSksXG4gICAgfSxcbiAgfVxuXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uKSA9PiB7XG4gICAgY29uc3Qgb3BlcmF0aW9uVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7b3BlcmF0aW9ufS0ke3Njb3BlIHx8ICdBY2Nlc3MnfWAsIHRydWUpXG5cbiAgICBmaWVsZHNbb3BlcmF0aW9uXSA9IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IG9wZXJhdGlvblR5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBwZXJtaXNzaW9uOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbikgfSxcbiAgICAgICAgICB3aGVyZTogeyB0eXBlOiBHcmFwaFFMSlNPTk9iamVjdCB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBmaWVsZHNcbn1cblxudHlwZSBCdWlsZFBvbGljeVR5cGUgPSB7XG4gIHNjb3BlPzogQWNjZXNzU2NvcGVzXG4gIHR5cGVTdWZmaXg/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgICAgZW50aXR5OiBDb2xsZWN0aW9uQ29uZmlnXG4gICAgICB0eXBlOiAnY29sbGVjdGlvbidcbiAgICB9XG4gIHwge1xuICAgICAgZW50aXR5OiBHbG9iYWxDb25maWdcbiAgICAgIHR5cGU6ICdnbG9iYWwnXG4gICAgfVxuKVxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUG9saWN5VHlwZShhcmdzOiBCdWlsZFBvbGljeVR5cGUpOiBHcmFwaFFMT2JqZWN0VHlwZSB7XG4gIGNvbnN0IHsgZW50aXR5LCBzY29wZSwgdHlwZSwgdHlwZVN1ZmZpeCB9ID0gYXJnc1xuICBjb25zdCB7IGZpZWxkcywgZ3JhcGhRTCwgc2x1ZywgdmVyc2lvbnMgfSA9IGVudGl0eVxuXG4gIGxldCBvcGVyYXRpb25zID0gW11cblxuICBpZiAoZ3JhcGhRTCA9PT0gZmFsc2UpIHJldHVybiBudWxsXG5cbiAgaWYgKHR5cGUgPT09ICdjb2xsZWN0aW9uJykge1xuICAgIG9wZXJhdGlvbnMgPSBbJ2NyZWF0ZScsICdyZWFkJywgJ3VwZGF0ZScsICdkZWxldGUnXVxuXG4gICAgaWYgKFxuICAgICAgZW50aXR5LmF1dGggJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aCA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aC5tYXhMb2dpbkF0dGVtcHRzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgZW50aXR5LmF1dGgubWF4TG9naW5BdHRlbXB0cyAhPT0gMFxuICAgICkge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCd1bmxvY2snKVxuICAgIH1cblxuICAgIGlmICh2ZXJzaW9ucykge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCdyZWFkVmVyc2lvbnMnKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25UeXBlTmFtZSA9IGZvcm1hdE5hbWUoYCR7c2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICAgIHJldHVybiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogY29sbGVjdGlvblR5cGVOYW1lLFxuICAgICAgZmllbGRzOiBidWlsZEVudGl0eVBvbGljeSh7XG4gICAgICAgIG5hbWU6IHNsdWcsXG4gICAgICAgIGVudGl0eUZpZWxkczogZmllbGRzLFxuICAgICAgICBvcGVyYXRpb25zLFxuICAgICAgICBzY29wZSxcbiAgICAgIH0pLFxuICAgIH0pXG4gIH1cblxuICAvLyBlbHNlIGNyZWF0ZSBnbG9iYWwgdHlwZVxuICBvcGVyYXRpb25zID0gWydyZWFkJywgJ3VwZGF0ZSddXG5cbiAgaWYgKGVudGl0eS52ZXJzaW9ucykge1xuICAgIG9wZXJhdGlvbnMucHVzaCgncmVhZFZlcnNpb25zJylcbiAgfVxuXG4gIGNvbnN0IGdsb2JhbFR5cGVOYW1lID0gZm9ybWF0TmFtZShgJHtnbG9iYWw/LmdyYXBoUUw/Lm5hbWUgfHwgc2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICByZXR1cm4gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBnbG9iYWxUeXBlTmFtZSxcbiAgICBmaWVsZHM6IGJ1aWxkRW50aXR5UG9saWN5KHtcbiAgICAgIG5hbWU6IGVudGl0eS5ncmFwaFFMID8gZW50aXR5Py5ncmFwaFFMPy5uYW1lIHx8IHNsdWcgOiBzbHVnLFxuICAgICAgZW50aXR5RmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9ucyxcbiAgICAgIHNjb3BlLFxuICAgIH0pLFxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBidWlsZFBvbGljaWVzVHlwZShjb25maWc6IFNhbml0aXplZENvbmZpZyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRzID0ge1xuICAgIGNhbkFjY2Vzc0FkbWluOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgIH0sXG4gIH1cblxuICBPYmplY3QudmFsdWVzKGNvbmZpZy5jb2xsZWN0aW9ucykuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGlmIChjb2xsZWN0aW9uLmdyYXBoUUwgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY29sbGVjdGlvblBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBjb2xsZWN0aW9uLFxuICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgdHlwZVN1ZmZpeDogJ0FjY2VzcycsXG4gICAgfSlcblxuICAgIGZpZWxkc1tmb3JtYXROYW1lKGNvbGxlY3Rpb24uc2x1ZyldID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvblBvbGljeVR5cGUsXG4gICAgfVxuICB9KVxuXG4gIE9iamVjdC52YWx1ZXMoY29uZmlnLmdsb2JhbHMpLmZvckVhY2goKGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnKSA9PiB7XG4gICAgaWYgKGdsb2JhbC5ncmFwaFFMID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGdsb2JhbFBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBnbG9iYWwsXG4gICAgICB0eXBlOiAnZ2xvYmFsJyxcbiAgICAgIHR5cGVTdWZmaXg6ICdBY2Nlc3MnLFxuICAgIH0pXG5cbiAgICBmaWVsZHNbZm9ybWF0TmFtZShnbG9iYWwuc2x1ZyldID0ge1xuICAgICAgdHlwZTogZ2xvYmFsUG9saWN5VHlwZSxcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgbmFtZTogJ0FjY2VzcycsXG4gICAgZmllbGRzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxCb29sZWFuIiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMT2JqZWN0VHlwZSIsIkdyYXBoUUxKU09OT2JqZWN0IiwidG9Xb3JkcyIsImZvcm1hdE5hbWUiLCJidWlsZEZpZWxkcyIsImxhYmVsIiwiZmllbGRzVG9CdWlsZCIsInJlZHVjZSIsImJ1aWx0RmllbGRzIiwiZmllbGQiLCJpbmNsdWRlRmllbGQiLCJoaWRkZW4iLCJ0eXBlIiwibmFtZSIsImZpZWxkTmFtZSIsIm9iamVjdFR5cGVGaWVsZHMiLCJvcGVyYXRpb25zIiwib3BlcmF0aW9uIiwiY2FwaXRhbGl6ZWRPcGVyYXRpb24iLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZmllbGRzIiwicGVybWlzc2lvbiIsInN1YkZpZWxkcyIsInRhYnMiLCJmaWVsZHNXaXRoVGFiRmllbGRzIiwidGFiIiwiYnVpbGRFbnRpdHlQb2xpY3kiLCJhcmdzIiwiZW50aXR5RmllbGRzIiwic2NvcGUiLCJmaWVsZHNUeXBlTmFtZSIsImZvckVhY2giLCJvcGVyYXRpb25UeXBlTmFtZSIsIndoZXJlIiwiYnVpbGRQb2xpY3lUeXBlIiwiZW50aXR5IiwidHlwZVN1ZmZpeCIsImdyYXBoUUwiLCJzbHVnIiwidmVyc2lvbnMiLCJhdXRoIiwibWF4TG9naW5BdHRlbXB0cyIsInB1c2giLCJjb2xsZWN0aW9uVHlwZU5hbWUiLCJnbG9iYWxUeXBlTmFtZSIsImdsb2JhbCIsImJ1aWxkUG9saWNpZXNUeXBlIiwiY29uZmlnIiwiY2FuQWNjZXNzQWRtaW4iLCJPYmplY3QiLCJ2YWx1ZXMiLCJjb2xsZWN0aW9ucyIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uUG9saWN5VHlwZSIsImdsb2JhbHMiLCJnbG9iYWxQb2xpY3lUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLEVBQUVDLGNBQWMsRUFBRUMsaUJBQWlCLFFBQVEsVUFBUztBQUMzRSxTQUFTQyxpQkFBaUIsUUFBUSxvQkFBbUI7QUFVckQsU0FBU0MsT0FBTyxRQUFRLG9CQUFtQjtBQUMzQyxPQUFPQyxnQkFBZ0IsMEJBQXlCO0FBVWhELE1BQU1DLGNBQWMsQ0FBQ0MsT0FBT0MsZ0JBQzFCQSxjQUFjQyxNQUFNLENBQUMsQ0FBQ0MsYUFBYUM7UUFDakMsTUFBTUMsZUFBZSxDQUFDRCxNQUFNRSxNQUFNLElBQUlGLE1BQU1HLElBQUksS0FBSztRQUNyRCxJQUFJRixjQUFjO1lBQ2hCLElBQUlELE1BQU1JLElBQUksRUFBRTtnQkFDZCxNQUFNQyxZQUFZWCxXQUFXTSxNQUFNSSxJQUFJO2dCQUV2QyxNQUFNRSxtQkFBcUM7b0JBQUM7b0JBQVU7b0JBQVE7b0JBQVU7aUJBQVMsQ0FBQ1IsTUFBTSxDQUN0RixDQUFDUyxZQUFZQztvQkFDWCxNQUFNQyx1QkFBdUJELFVBQVVFLE1BQU0sQ0FBQyxHQUFHQyxXQUFXLEtBQUtILFVBQVVJLEtBQUssQ0FBQztvQkFFakYsT0FBTzt3QkFDTCxHQUFHTCxVQUFVO3dCQUNiLENBQUNDLFVBQVUsRUFBRTs0QkFDWEwsTUFBTSxJQUFJWixrQkFBa0I7Z0NBQzFCYSxNQUFNLENBQUMsRUFBRVIsTUFBTSxDQUFDLEVBQUVTLFVBQVUsQ0FBQyxFQUFFSSxxQkFBcUIsQ0FBQztnQ0FDckRJLFFBQVE7b0NBQ05DLFlBQVk7d0NBQ1ZYLE1BQU0sSUFBSWIsZUFBZUQ7b0NBQzNCO2dDQUNGOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGLEdBQ0EsQ0FBQztnQkFHSCxJQUFJVyxNQUFNYSxNQUFNLEVBQUU7b0JBQ2hCUCxpQkFBaUJPLE1BQU0sR0FBRzt3QkFDeEJWLE1BQU0sSUFBSVosa0JBQWtCOzRCQUMxQmEsTUFBTSxDQUFDLEVBQUVSLE1BQU0sQ0FBQyxFQUFFUyxVQUFVLE9BQU8sQ0FBQzs0QkFDcENRLFFBQVFsQixZQUFZLENBQUMsRUFBRUMsTUFBTSxDQUFDLEVBQUVTLFVBQVUsQ0FBQyxFQUFFTCxNQUFNYSxNQUFNO3dCQUMzRDtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPO29CQUNMLEdBQUdkLFdBQVc7b0JBQ2QsQ0FBQ0MsTUFBTUksSUFBSSxDQUFDLEVBQUU7d0JBQ1pELE1BQU0sSUFBSVosa0JBQWtCOzRCQUMxQmEsTUFBTSxDQUFDLEVBQUVSLE1BQU0sQ0FBQyxFQUFFUyxVQUFVLENBQUM7NEJBQzdCUSxRQUFRUDt3QkFDVjtvQkFDRjtnQkFDRjtZQUNGO1lBRUEsSUFBSSxDQUFDTixNQUFNSSxJQUFJLElBQUlKLE1BQU1hLE1BQU0sRUFBRTtnQkFDL0IsTUFBTUUsWUFBWXBCLFlBQVlDLE9BQU9JLE1BQU1hLE1BQU07Z0JBRWpELE9BQU87b0JBQ0wsR0FBR2QsV0FBVztvQkFDZCxHQUFHZ0IsU0FBUztnQkFDZDtZQUNGO1lBRUEsSUFBSWYsTUFBTUcsSUFBSSxLQUFLLFFBQVE7Z0JBQ3pCLE9BQU9ILE1BQU1nQixJQUFJLENBQUNsQixNQUFNLENBQ3RCLENBQUNtQixxQkFBcUJDO29CQUNwQixPQUFPO3dCQUNMLEdBQUdELG1CQUFtQjt3QkFDdEIsR0FBR3RCLFlBQVlDLE9BQU9zQixJQUFJTCxNQUFNLENBQUM7b0JBQ25DO2dCQUNGLEdBQ0E7b0JBQUUsR0FBR2QsV0FBVztnQkFBQztZQUVyQjtRQUNGO1FBQ0EsT0FBT0E7SUFDVCxHQUFHLENBQUM7QUFRTixPQUFPLE1BQU1vQixvQkFBb0IsQ0FBQ0M7SUFDaEMsTUFBTSxFQUFFaEIsSUFBSSxFQUFFaUIsWUFBWSxFQUFFZCxVQUFVLEVBQUVlLEtBQUssRUFBRSxHQUFHRjtJQUVsRCxNQUFNRyxpQkFBaUI5QixRQUFRLENBQUMsRUFBRVcsS0FBSyxDQUFDLEVBQUVrQixTQUFTLEdBQUcsT0FBTyxDQUFDLEVBQUU7SUFDaEUsTUFBTVQsU0FBUztRQUNiQSxRQUFRO1lBQ05WLE1BQU0sSUFBSVosa0JBQWtCO2dCQUMxQmEsTUFBTW1CO2dCQUNOVixRQUFRbEIsWUFBWTRCLGdCQUFnQkY7WUFDdEM7UUFDRjtJQUNGO0lBRUFkLFdBQVdpQixPQUFPLENBQUMsQ0FBQ2hCO1FBQ2xCLE1BQU1pQixvQkFBb0JoQyxRQUFRLENBQUMsRUFBRVcsS0FBSyxDQUFDLEVBQUVJLFVBQVUsQ0FBQyxFQUFFYyxTQUFTLFNBQVMsQ0FBQyxFQUFFO1FBRS9FVCxNQUFNLENBQUNMLFVBQVUsR0FBRztZQUNsQkwsTUFBTSxJQUFJWixrQkFBa0I7Z0JBQzFCYSxNQUFNcUI7Z0JBQ05aLFFBQVE7b0JBQ05DLFlBQVk7d0JBQUVYLE1BQU0sSUFBSWIsZUFBZUQ7b0JBQWdCO29CQUN2RHFDLE9BQU87d0JBQUV2QixNQUFNWDtvQkFBa0I7Z0JBQ25DO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsT0FBT3FCO0FBQ1QsRUFBQztBQWVELE9BQU8sU0FBU2MsZ0JBQWdCUCxJQUFxQjtJQUNuRCxNQUFNLEVBQUVRLE1BQU0sRUFBRU4sS0FBSyxFQUFFbkIsSUFBSSxFQUFFMEIsVUFBVSxFQUFFLEdBQUdUO0lBQzVDLE1BQU0sRUFBRVAsTUFBTSxFQUFFaUIsT0FBTyxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRSxHQUFHSjtJQUU1QyxJQUFJckIsYUFBYSxFQUFFO0lBRW5CLElBQUl1QixZQUFZLE9BQU8sT0FBTztJQUU5QixJQUFJM0IsU0FBUyxjQUFjO1FBQ3pCSSxhQUFhO1lBQUM7WUFBVTtZQUFRO1lBQVU7U0FBUztRQUVuRCxJQUNFcUIsT0FBT0ssSUFBSSxJQUNYLE9BQU9MLE9BQU9LLElBQUksS0FBSyxZQUN2QixPQUFPTCxPQUFPSyxJQUFJLENBQUNDLGdCQUFnQixLQUFLLGVBQ3hDTixPQUFPSyxJQUFJLENBQUNDLGdCQUFnQixLQUFLLEdBQ2pDO1lBQ0EzQixXQUFXNEIsSUFBSSxDQUFDO1FBQ2xCO1FBRUEsSUFBSUgsVUFBVTtZQUNaekIsV0FBVzRCLElBQUksQ0FBQztRQUNsQjtRQUVBLE1BQU1DLHFCQUFxQjFDLFdBQVcsQ0FBQyxFQUFFcUMsS0FBSyxFQUFFRixjQUFjLEdBQUcsQ0FBQztRQUVsRSxPQUFPLElBQUl0QyxrQkFBa0I7WUFDM0JhLE1BQU1nQztZQUNOdkIsUUFBUU0sa0JBQWtCO2dCQUN4QmYsTUFBTTJCO2dCQUNOVixjQUFjUjtnQkFDZE47Z0JBQ0FlO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsMEJBQTBCO0lBQzFCZixhQUFhO1FBQUM7UUFBUTtLQUFTO0lBRS9CLElBQUlxQixPQUFPSSxRQUFRLEVBQUU7UUFDbkJ6QixXQUFXNEIsSUFBSSxDQUFDO0lBQ2xCO0lBRUEsTUFBTUUsaUJBQWlCM0MsV0FBVyxDQUFDLEVBQUU0QyxRQUFRUixTQUFTMUIsUUFBUTJCLEtBQUssRUFBRUYsY0FBYyxHQUFHLENBQUM7SUFFdkYsT0FBTyxJQUFJdEMsa0JBQWtCO1FBQzNCYSxNQUFNaUM7UUFDTnhCLFFBQVFNLGtCQUFrQjtZQUN4QmYsTUFBTXdCLE9BQU9FLE9BQU8sR0FBR0YsUUFBUUUsU0FBUzFCLFFBQVEyQixPQUFPQTtZQUN2RFYsY0FBY08sT0FBT2YsTUFBTTtZQUMzQk47WUFDQWU7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxlQUFlLFNBQVNpQixrQkFBa0JDLE1BQXVCO0lBQy9ELE1BQU0zQixTQUFTO1FBQ2I0QixnQkFBZ0I7WUFDZHRDLE1BQU0sSUFBSWIsZUFBZUQ7UUFDM0I7SUFDRjtJQUVBcUQsT0FBT0MsTUFBTSxDQUFDSCxPQUFPSSxXQUFXLEVBQUVwQixPQUFPLENBQUMsQ0FBQ3FCO1FBQ3pDLElBQUlBLFdBQVdmLE9BQU8sS0FBSyxPQUFPO1lBQ2hDO1FBQ0Y7UUFDQSxNQUFNZ0IsdUJBQXVCbkIsZ0JBQWdCO1lBQzNDQyxRQUFRaUI7WUFDUjFDLE1BQU07WUFDTjBCLFlBQVk7UUFDZDtRQUVBaEIsTUFBTSxDQUFDbkIsV0FBV21ELFdBQVdkLElBQUksRUFBRSxHQUFHO1lBQ3BDNUIsTUFBTTJDO1FBQ1I7SUFDRjtJQUVBSixPQUFPQyxNQUFNLENBQUNILE9BQU9PLE9BQU8sRUFBRXZCLE9BQU8sQ0FBQyxDQUFDYztRQUNyQyxJQUFJQSxRQUFPUixPQUFPLEtBQUssT0FBTztZQUM1QjtRQUNGO1FBQ0EsTUFBTWtCLG1CQUFtQnJCLGdCQUFnQjtZQUN2Q0MsUUFBUVU7WUFDUm5DLE1BQU07WUFDTjBCLFlBQVk7UUFDZDtRQUVBaEIsTUFBTSxDQUFDbkIsV0FBVzRDLFFBQU9QLElBQUksRUFBRSxHQUFHO1lBQ2hDNUIsTUFBTTZDO1FBQ1I7SUFDRjtJQUVBLE9BQU8sSUFBSXpELGtCQUFrQjtRQUMzQmEsTUFBTTtRQUNOUztJQUNGO0FBQ0YifQ==
|
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-use-before-define */ /* eslint-disable no-use-before-define */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _graphql = require("graphql");
|
|
12
|
-
const _types = require("payload/types");
|
|
13
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
14
|
-
const _fieldToWhereInputSchemaMap = /*#__PURE__*/ _interop_require_default(require("./fieldToWhereInputSchemaMap"));
|
|
15
|
-
const _withOperators = require("./withOperators");
|
|
16
|
-
const _utilities = require("payload/utilities");
|
|
17
|
-
function _interop_require_default(obj) {
|
|
18
|
-
return obj && obj.__esModule ? obj : {
|
|
19
|
-
default: obj
|
|
20
|
-
};
|
|
21
|
-
}
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-use-before-define */ /* eslint-disable no-use-before-define */ import { GraphQLInputObjectType, GraphQLList } from 'graphql';
|
|
2
|
+
import { fieldAffectsData, fieldHasSubFields, fieldIsPresentationalOnly } from 'payload/types';
|
|
3
|
+
import formatName from '../utilities/formatName';
|
|
4
|
+
import fieldToSchemaMap from './fieldToWhereInputSchemaMap';
|
|
5
|
+
import { withOperators } from './withOperators';
|
|
6
|
+
import { flattenTopLevelFields } from 'payload/utilities';
|
|
22
7
|
/** This does as the function name suggests. It builds a where GraphQL input type
|
|
23
8
|
* for all the fields which are passed to the function.
|
|
24
9
|
* Each field has different operators which may be valid for a where input type.
|
|
@@ -35,26 +20,26 @@ function _interop_require_default(obj) {
|
|
|
35
20
|
*/ const buildWhereInputType = ({ name, fields, parentName })=>{
|
|
36
21
|
// This is the function that builds nested paths for all
|
|
37
22
|
// field types with nested paths.
|
|
38
|
-
const idField =
|
|
23
|
+
const idField = flattenTopLevelFields(fields).find((field)=>fieldAffectsData(field) && field.name === 'id');
|
|
39
24
|
const fieldTypes = fields.reduce((schema, field)=>{
|
|
40
|
-
if (!
|
|
41
|
-
const getFieldSchema = (
|
|
25
|
+
if (!fieldIsPresentationalOnly(field) && !field.hidden) {
|
|
26
|
+
const getFieldSchema = fieldToSchemaMap({
|
|
42
27
|
parentName
|
|
43
28
|
})[field.type];
|
|
44
29
|
if (getFieldSchema) {
|
|
45
30
|
const fieldSchema = getFieldSchema(field);
|
|
46
|
-
if (
|
|
31
|
+
if (fieldHasSubFields(field) || field.type === 'tabs') {
|
|
47
32
|
return {
|
|
48
33
|
...schema,
|
|
49
34
|
...fieldSchema.reduce((subFields, subField)=>({
|
|
50
35
|
...subFields,
|
|
51
|
-
[(
|
|
36
|
+
[formatName(subField.key)]: subField.type
|
|
52
37
|
}), {})
|
|
53
38
|
};
|
|
54
39
|
}
|
|
55
40
|
return {
|
|
56
41
|
...schema,
|
|
57
|
-
[(
|
|
42
|
+
[formatName(field.name)]: fieldSchema
|
|
58
43
|
};
|
|
59
44
|
}
|
|
60
45
|
}
|
|
@@ -62,16 +47,16 @@ function _interop_require_default(obj) {
|
|
|
62
47
|
}, {});
|
|
63
48
|
if (!idField) {
|
|
64
49
|
fieldTypes.id = {
|
|
65
|
-
type:
|
|
50
|
+
type: withOperators({
|
|
66
51
|
name: 'id',
|
|
67
52
|
type: 'text'
|
|
68
53
|
}, parentName)
|
|
69
54
|
};
|
|
70
55
|
}
|
|
71
|
-
const fieldName = (
|
|
56
|
+
const fieldName = formatName(name);
|
|
72
57
|
const recursiveFields = {
|
|
73
58
|
AND: {
|
|
74
|
-
type: new
|
|
59
|
+
type: new GraphQLList(new GraphQLInputObjectType({
|
|
75
60
|
name: `${fieldName}_where_and`,
|
|
76
61
|
fields: ()=>({
|
|
77
62
|
...fieldTypes,
|
|
@@ -80,7 +65,7 @@ function _interop_require_default(obj) {
|
|
|
80
65
|
}))
|
|
81
66
|
},
|
|
82
67
|
OR: {
|
|
83
|
-
type: new
|
|
68
|
+
type: new GraphQLList(new GraphQLInputObjectType({
|
|
84
69
|
name: `${fieldName}_where_or`,
|
|
85
70
|
fields: ()=>({
|
|
86
71
|
...fieldTypes,
|
|
@@ -89,7 +74,7 @@ function _interop_require_default(obj) {
|
|
|
89
74
|
}))
|
|
90
75
|
}
|
|
91
76
|
};
|
|
92
|
-
return new
|
|
77
|
+
return new GraphQLInputObjectType({
|
|
93
78
|
name: `${fieldName}_where`,
|
|
94
79
|
fields: {
|
|
95
80
|
...fieldTypes,
|
|
@@ -97,6 +82,6 @@ function _interop_require_default(obj) {
|
|
|
97
82
|
}
|
|
98
83
|
});
|
|
99
84
|
};
|
|
100
|
-
|
|
85
|
+
export default buildWhereInputType;
|
|
101
86
|
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRXaGVyZUlucHV0VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgeyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLCBHcmFwaFFMTGlzdCB9IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQsIEZpZWxkQWZmZWN0aW5nRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIGZpZWxkSGFzU3ViRmllbGRzLCBmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IGZpZWxkVG9TY2hlbWFNYXAgZnJvbSAnLi9maWVsZFRvV2hlcmVJbnB1dFNjaGVtYU1hcCdcbmltcG9ydCB7IHdpdGhPcGVyYXRvcnMgfSBmcm9tICcuL3dpdGhPcGVyYXRvcnMnXG5pbXBvcnQgeyBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcblxudHlwZSBBcmdzID0ge1xuICBmaWVsZHM6IEZpZWxkW11cbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudE5hbWU6IHN0cmluZ1xufVxuXG4vKiogVGhpcyBkb2VzIGFzIHRoZSBmdW5jdGlvbiBuYW1lIHN1Z2dlc3RzLiBJdCBidWlsZHMgYSB3aGVyZSBHcmFwaFFMIGlucHV0IHR5cGVcbiAqIGZvciBhbGwgdGhlIGZpZWxkcyB3aGljaCBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEVhY2ggZmllbGQgaGFzIGRpZmZlcmVudCBvcGVyYXRvcnMgd2hpY2ggbWF5IGJlIHZhbGlkIGZvciBhIHdoZXJlIGlucHV0IHR5cGUuXG4gKiBGb3IgZXhhbXBsZSwgYSB0ZXh0IGZpZWxkIG1heSBoYXZlIGEgXCJjb250YWluc1wiIG9wZXJhdG9yLCBidXQgYSBudW1iZXIgZmllbGRcbiAqIG1heSBub3QuXG4gKlxuICogYnVpbGRXaGVyZUlucHV0VHlwZSBpcyBzaW1pbGFyIHRvIGJ1aWxkT2JqZWN0VHlwZSBhbmQgb3BlcmF0ZXNcbiAqIG9uIGEgZmllbGQgYmFzaXMgd2l0aCBhIGZldyBkaXN0aW5jdCBkaWZmZXJlbmNlcy5cbiAqXG4gKiAxLiBFdmVyeXRoaW5nIG5lZWRzIHRvIGJlIGEgR3JhcGhRTElucHV0T2JqZWN0VHlwZSBvciBzY2FsYXIgLyBlbnVtXG4gKiAyLiBSZWxhdGlvbnNoaXBzLCBncm91cHMsIHJlcGVhdGVycyBhbmQgZmxleCBjb250ZW50IGFyZSBub3RcbiAqICAgIGRpcmVjdGx5IHNlYXJjaGFibGUuIEluc3RlYWQsIHdlIG5lZWQgdG8gYnVpbGQgYSBjaGFpbmVkIHBhdGhuYW1lXG4gKiAgICB1c2luZyBkb3Qgbm90YXRpb24gc28gTW9uZ29EQiBjYW4gcHJvcGVybHkgc2VhcmNoIG5lc3RlZCBwYXRocy5cbiAqL1xuY29uc3QgYnVpbGRXaGVyZUlucHV0VHlwZSA9ICh7IG5hbWUsIGZpZWxkcywgcGFyZW50TmFtZSB9OiBBcmdzKTogR3JhcGhRTElucHV0T2JqZWN0VHlwZSA9PiB7XG4gIC8vIFRoaXMgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgYnVpbGRzIG5lc3RlZCBwYXRocyBmb3IgYWxsXG4gIC8vIGZpZWxkIHR5cGVzIHdpdGggbmVzdGVkIHBhdGhzLlxuXG4gIGNvbnN0IGlkRmllbGQgPSBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzKS5maW5kKFxuICAgIChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgKVxuXG4gIGNvbnN0IGZpZWxkVHlwZXMgPSBmaWVsZHMucmVkdWNlKChzY2hlbWEsIGZpZWxkKSA9PiB7XG4gICAgaWYgKCFmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5KGZpZWxkKSAmJiAhZmllbGQuaGlkZGVuKSB7XG4gICAgICBjb25zdCBnZXRGaWVsZFNjaGVtYSA9IGZpZWxkVG9TY2hlbWFNYXAoe1xuICAgICAgICBwYXJlbnROYW1lLFxuICAgICAgfSlbZmllbGQudHlwZV1cblxuICAgICAgaWYgKGdldEZpZWxkU2NoZW1hKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZ2V0RmllbGRTY2hlbWEoZmllbGQpXG5cbiAgICAgICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkKSB8fCBmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uc2NoZW1hLFxuICAgICAgICAgICAgLi4uZmllbGRTY2hlbWEucmVkdWNlKFxuICAgICAgICAgICAgICAoc3ViRmllbGRzLCBzdWJGaWVsZCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5zdWJGaWVsZHMsXG4gICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUoc3ViRmllbGQua2V5KV06IHN1YkZpZWxkLnR5cGUsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zY2hlbWEsXG4gICAgICAgICAgW2Zvcm1hdE5hbWUoZmllbGQubmFtZSldOiBmaWVsZFNjaGVtYSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzY2hlbWFcbiAgfSwge30pXG5cbiAgaWYgKCFpZEZpZWxkKSB7XG4gICAgZmllbGRUeXBlcy5pZCA9IHtcbiAgICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoeyBuYW1lOiAnaWQnLCB0eXBlOiAndGV4dCcgfSBhcyBGaWVsZEFmZmVjdGluZ0RhdGEsIHBhcmVudE5hbWUpLFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUobmFtZSlcblxuICBjb25zdCByZWN1cnNpdmVGaWVsZHMgPSB7XG4gICAgQU5EOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QoXG4gICAgICAgIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtmaWVsZE5hbWV9X3doZXJlX2FuZGAsXG4gICAgICAgICAgZmllbGRzOiAoKSA9PiAoe1xuICAgICAgICAgICAgLi4uZmllbGRUeXBlcyxcbiAgICAgICAgICAgIC4uLnJlY3Vyc2l2ZUZpZWxkcyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0sXG4gICAgT1I6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTGlzdChcbiAgICAgICAgbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGAke2ZpZWxkTmFtZX1fd2hlcmVfb3JgLFxuICAgICAgICAgIGZpZWxkczogKCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmZpZWxkVHlwZXMsXG4gICAgICAgICAgICAuLi5yZWN1cnNpdmVGaWVsZHMsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBgJHtmaWVsZE5hbWV9X3doZXJlYCxcbiAgICBmaWVsZHM6IHtcbiAgICAgIC4uLmZpZWxkVHlwZXMsXG4gICAgICAuLi5yZWN1cnNpdmVGaWVsZHMsXG4gICAgfSxcbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnVpbGRXaGVyZUlucHV0VHlwZVxuIl0sIm5hbWVzIjpbIkdyYXBoUUxJbnB1dE9iamVjdFR5cGUiLCJHcmFwaFFMTGlzdCIsImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZEhhc1N1YkZpZWxkcyIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJmb3JtYXROYW1lIiwiZmllbGRUb1NjaGVtYU1hcCIsIndpdGhPcGVyYXRvcnMiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJidWlsZFdoZXJlSW5wdXRUeXBlIiwibmFtZSIsImZpZWxkcyIsInBhcmVudE5hbWUiLCJpZEZpZWxkIiwiZmluZCIsImZpZWxkIiwiZmllbGRUeXBlcyIsInJlZHVjZSIsInNjaGVtYSIsImhpZGRlbiIsImdldEZpZWxkU2NoZW1hIiwidHlwZSIsImZpZWxkU2NoZW1hIiwic3ViRmllbGRzIiwic3ViRmllbGQiLCJrZXkiLCJpZCIsImZpZWxkTmFtZSIsInJlY3Vyc2l2ZUZpZWxkcyIsIkFORCIsIk9SIl0sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQsR0FDMUQsdUNBQXVDLEdBQ3ZDLFNBQVNBLHNCQUFzQixFQUFFQyxXQUFXLFFBQVEsVUFBUztBQUk3RCxTQUFTQyxnQkFBZ0IsRUFBRUMsaUJBQWlCLEVBQUVDLHlCQUF5QixRQUFRLGdCQUFlO0FBQzlGLE9BQU9DLGdCQUFnQiwwQkFBeUI7QUFDaEQsT0FBT0Msc0JBQXNCLCtCQUE4QjtBQUMzRCxTQUFTQyxhQUFhLFFBQVEsa0JBQWlCO0FBQy9DLFNBQVNDLHFCQUFxQixRQUFRLG9CQUFtQjtBQVF6RDs7Ozs7Ozs7Ozs7OztDQWFDLEdBQ0QsTUFBTUMsc0JBQXNCLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBUTtJQUM3RCx3REFBd0Q7SUFDeEQsaUNBQWlDO0lBRWpDLE1BQU1DLFVBQVVMLHNCQUFzQkcsUUFBUUcsSUFBSSxDQUNoRCxDQUFDQyxRQUFVYixpQkFBaUJhLFVBQVVBLE1BQU1MLElBQUksS0FBSztJQUd2RCxNQUFNTSxhQUFhTCxPQUFPTSxNQUFNLENBQUMsQ0FBQ0MsUUFBUUg7UUFDeEMsSUFBSSxDQUFDWCwwQkFBMEJXLFVBQVUsQ0FBQ0EsTUFBTUksTUFBTSxFQUFFO1lBQ3RELE1BQU1DLGlCQUFpQmQsaUJBQWlCO2dCQUN0Q007WUFDRixFQUFFLENBQUNHLE1BQU1NLElBQUksQ0FBQztZQUVkLElBQUlELGdCQUFnQjtnQkFDbEIsTUFBTUUsY0FBY0YsZUFBZUw7Z0JBRW5DLElBQUlaLGtCQUFrQlksVUFBVUEsTUFBTU0sSUFBSSxLQUFLLFFBQVE7b0JBQ3JELE9BQU87d0JBQ0wsR0FBR0gsTUFBTTt3QkFDVCxHQUFHSSxZQUFZTCxNQUFNLENBQ25CLENBQUNNLFdBQVdDLFdBQWMsQ0FBQTtnQ0FDeEIsR0FBR0QsU0FBUztnQ0FDWixDQUFDbEIsV0FBV21CLFNBQVNDLEdBQUcsRUFBRSxFQUFFRCxTQUFTSCxJQUFJOzRCQUMzQyxDQUFBLEdBQ0EsQ0FBQyxFQUNGO29CQUNIO2dCQUNGO2dCQUVBLE9BQU87b0JBQ0wsR0FBR0gsTUFBTTtvQkFDVCxDQUFDYixXQUFXVSxNQUFNTCxJQUFJLEVBQUUsRUFBRVk7Z0JBQzVCO1lBQ0Y7UUFDRjtRQUVBLE9BQU9KO0lBQ1QsR0FBRyxDQUFDO0lBRUosSUFBSSxDQUFDTCxTQUFTO1FBQ1pHLFdBQVdVLEVBQUUsR0FBRztZQUNkTCxNQUFNZCxjQUFjO2dCQUFFRyxNQUFNO2dCQUFNVyxNQUFNO1lBQU8sR0FBeUJUO1FBQzFFO0lBQ0Y7SUFFQSxNQUFNZSxZQUFZdEIsV0FBV0s7SUFFN0IsTUFBTWtCLGtCQUFrQjtRQUN0QkMsS0FBSztZQUNIUixNQUFNLElBQUlwQixZQUNSLElBQUlELHVCQUF1QjtnQkFDekJVLE1BQU0sQ0FBQyxFQUFFaUIsVUFBVSxVQUFVLENBQUM7Z0JBQzlCaEIsUUFBUSxJQUFPLENBQUE7d0JBQ2IsR0FBR0ssVUFBVTt3QkFDYixHQUFHWSxlQUFlO29CQUNwQixDQUFBO1lBQ0Y7UUFFSjtRQUNBRSxJQUFJO1lBQ0ZULE1BQU0sSUFBSXBCLFlBQ1IsSUFBSUQsdUJBQXVCO2dCQUN6QlUsTUFBTSxDQUFDLEVBQUVpQixVQUFVLFNBQVMsQ0FBQztnQkFDN0JoQixRQUFRLElBQU8sQ0FBQTt3QkFDYixHQUFHSyxVQUFVO3dCQUNiLEdBQUdZLGVBQWU7b0JBQ3BCLENBQUE7WUFDRjtRQUVKO0lBQ0Y7SUFFQSxPQUFPLElBQUk1Qix1QkFBdUI7UUFDaENVLE1BQU0sQ0FBQyxFQUFFaUIsVUFBVSxNQUFNLENBQUM7UUFDMUJoQixRQUFRO1lBQ04sR0FBR0ssVUFBVTtZQUNiLEdBQUdZLGVBQWU7UUFDcEI7SUFDRjtBQUNGO0FBRUEsZUFBZW5CLG9CQUFtQiJ9
|
|
@@ -1,118 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _graphql = require("graphql");
|
|
12
|
-
const _graphqltypejson = /*#__PURE__*/ _interop_require_default(require("graphql-type-json"));
|
|
13
|
-
const _combineParentName = /*#__PURE__*/ _interop_require_default(require("../utilities/combineParentName"));
|
|
14
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
15
|
-
const _recursivelyBuildNestedPaths = /*#__PURE__*/ _interop_require_default(require("./recursivelyBuildNestedPaths"));
|
|
16
|
-
const _withOperators = require("./withOperators");
|
|
17
|
-
function _interop_require_default(obj) {
|
|
18
|
-
return obj && obj.__esModule ? obj : {
|
|
19
|
-
default: obj
|
|
20
|
-
};
|
|
21
|
-
}
|
|
1
|
+
import { GraphQLEnumType, GraphQLInputObjectType } from 'graphql';
|
|
2
|
+
import GraphQLJSON from 'graphql-type-json';
|
|
3
|
+
import combineParentName from '../utilities/combineParentName';
|
|
4
|
+
import formatName from '../utilities/formatName';
|
|
5
|
+
import recursivelyBuildNestedPaths from './recursivelyBuildNestedPaths';
|
|
6
|
+
import { withOperators } from './withOperators';
|
|
22
7
|
const fieldToSchemaMap = ({ nestedFieldName, parentName })=>({
|
|
23
|
-
array: (field)=>(
|
|
8
|
+
array: (field)=>recursivelyBuildNestedPaths({
|
|
24
9
|
field,
|
|
25
10
|
nestedFieldName2: nestedFieldName,
|
|
26
11
|
parentName
|
|
27
12
|
}),
|
|
28
13
|
checkbox: (field)=>({
|
|
29
|
-
type:
|
|
14
|
+
type: withOperators(field, parentName)
|
|
30
15
|
}),
|
|
31
16
|
code: (field)=>({
|
|
32
|
-
type:
|
|
17
|
+
type: withOperators(field, parentName)
|
|
33
18
|
}),
|
|
34
|
-
collapsible: (field)=>(
|
|
19
|
+
collapsible: (field)=>recursivelyBuildNestedPaths({
|
|
35
20
|
field,
|
|
36
21
|
nestedFieldName2: nestedFieldName,
|
|
37
22
|
parentName
|
|
38
23
|
}),
|
|
39
24
|
date: (field)=>({
|
|
40
|
-
type:
|
|
25
|
+
type: withOperators(field, parentName)
|
|
41
26
|
}),
|
|
42
27
|
email: (field)=>({
|
|
43
|
-
type:
|
|
28
|
+
type: withOperators(field, parentName)
|
|
44
29
|
}),
|
|
45
|
-
group: (field)=>(
|
|
30
|
+
group: (field)=>recursivelyBuildNestedPaths({
|
|
46
31
|
field,
|
|
47
32
|
nestedFieldName2: nestedFieldName,
|
|
48
33
|
parentName
|
|
49
34
|
}),
|
|
50
35
|
json: (field)=>({
|
|
51
|
-
type:
|
|
36
|
+
type: withOperators(field, parentName)
|
|
52
37
|
}),
|
|
53
38
|
number: (field)=>({
|
|
54
|
-
type:
|
|
39
|
+
type: withOperators(field, parentName)
|
|
55
40
|
}),
|
|
56
41
|
point: (field)=>({
|
|
57
|
-
type:
|
|
42
|
+
type: withOperators(field, parentName)
|
|
58
43
|
}),
|
|
59
44
|
radio: (field)=>({
|
|
60
|
-
type:
|
|
45
|
+
type: withOperators(field, parentName)
|
|
61
46
|
}),
|
|
62
47
|
relationship: (field)=>{
|
|
63
48
|
if (Array.isArray(field.relationTo)) {
|
|
64
49
|
return {
|
|
65
|
-
type: new
|
|
66
|
-
name: `${(
|
|
50
|
+
type: new GraphQLInputObjectType({
|
|
51
|
+
name: `${combineParentName(parentName, field.name)}_Relation`,
|
|
67
52
|
fields: {
|
|
68
53
|
relationTo: {
|
|
69
|
-
type: new
|
|
70
|
-
name: `${(
|
|
54
|
+
type: new GraphQLEnumType({
|
|
55
|
+
name: `${combineParentName(parentName, field.name)}_Relation_RelationTo`,
|
|
71
56
|
values: field.relationTo.reduce((values, relation)=>({
|
|
72
57
|
...values,
|
|
73
|
-
[(
|
|
58
|
+
[formatName(relation)]: {
|
|
74
59
|
value: relation
|
|
75
60
|
}
|
|
76
61
|
}), {})
|
|
77
62
|
})
|
|
78
63
|
},
|
|
79
64
|
value: {
|
|
80
|
-
type:
|
|
65
|
+
type: GraphQLJSON
|
|
81
66
|
}
|
|
82
67
|
}
|
|
83
68
|
})
|
|
84
69
|
};
|
|
85
70
|
}
|
|
86
71
|
return {
|
|
87
|
-
type:
|
|
72
|
+
type: withOperators(field, parentName)
|
|
88
73
|
};
|
|
89
74
|
},
|
|
90
75
|
richText: (field)=>({
|
|
91
|
-
type:
|
|
76
|
+
type: withOperators(field, parentName)
|
|
92
77
|
}),
|
|
93
|
-
row: (field)=>(
|
|
78
|
+
row: (field)=>recursivelyBuildNestedPaths({
|
|
94
79
|
field,
|
|
95
80
|
nestedFieldName2: nestedFieldName,
|
|
96
81
|
parentName
|
|
97
82
|
}),
|
|
98
83
|
select: (field)=>({
|
|
99
|
-
type:
|
|
84
|
+
type: withOperators(field, parentName)
|
|
100
85
|
}),
|
|
101
|
-
tabs: (field)=>(
|
|
86
|
+
tabs: (field)=>recursivelyBuildNestedPaths({
|
|
102
87
|
field,
|
|
103
88
|
nestedFieldName2: nestedFieldName,
|
|
104
89
|
parentName
|
|
105
90
|
}),
|
|
106
91
|
text: (field)=>({
|
|
107
|
-
type:
|
|
92
|
+
type: withOperators(field, parentName)
|
|
108
93
|
}),
|
|
109
94
|
textarea: (field)=>({
|
|
110
|
-
type:
|
|
95
|
+
type: withOperators(field, parentName)
|
|
111
96
|
}),
|
|
112
97
|
upload: (field)=>({
|
|
113
|
-
type:
|
|
98
|
+
type: withOperators(field, parentName)
|
|
114
99
|
})
|
|
115
100
|
});
|
|
116
|
-
|
|
101
|
+
export default fieldToSchemaMap;
|
|
117
102
|
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZmllbGRUb1doZXJlSW5wdXRTY2hlbWFNYXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTEVudW1UeXBlLCBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCBHcmFwaFFMSlNPTiBmcm9tICdncmFwaHFsLXR5cGUtanNvbidcblxuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIENvbGxhcHNpYmxlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgR3JvdXBGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJpY2hUZXh0RmllbGQsXG4gIFJvd0ZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGFic0ZpZWxkLFxuICBUZXh0RmllbGQsXG4gIFRleHRhcmVhRmllbGQsXG4gIFVwbG9hZEZpZWxkLFxufSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgY29tYmluZVBhcmVudE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2NvbWJpbmVQYXJlbnROYW1lJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgcmVjdXJzaXZlbHlCdWlsZE5lc3RlZFBhdGhzIGZyb20gJy4vcmVjdXJzaXZlbHlCdWlsZE5lc3RlZFBhdGhzJ1xuaW1wb3J0IHsgd2l0aE9wZXJhdG9ycyB9IGZyb20gJy4vd2l0aE9wZXJhdG9ycydcblxudHlwZSBBcmdzID0ge1xuICBuZXN0ZWRGaWVsZE5hbWU/OiBzdHJpbmdcbiAgcGFyZW50TmFtZTogc3RyaW5nXG59XG5cbmNvbnN0IGZpZWxkVG9TY2hlbWFNYXAgPSAoeyBuZXN0ZWRGaWVsZE5hbWUsIHBhcmVudE5hbWUgfTogQXJncyk6IGFueSA9PiAoe1xuICBhcnJheTogKGZpZWxkOiBBcnJheUZpZWxkKSA9PlxuICAgIHJlY3Vyc2l2ZWx5QnVpbGROZXN0ZWRQYXRocyh7XG4gICAgICBmaWVsZCxcbiAgICAgIG5lc3RlZEZpZWxkTmFtZTI6IG5lc3RlZEZpZWxkTmFtZSxcbiAgICAgIHBhcmVudE5hbWUsXG4gICAgfSksXG4gIGNoZWNrYm94OiAoZmllbGQ6IENoZWNrYm94RmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICBjb2RlOiAoZmllbGQ6IENvZGVGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIGNvbGxhcHNpYmxlOiAoZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgcmVjdXJzaXZlbHlCdWlsZE5lc3RlZFBhdGhzKHtcbiAgICAgIGZpZWxkLFxuICAgICAgbmVzdGVkRmllbGROYW1lMjogbmVzdGVkRmllbGROYW1lLFxuICAgICAgcGFyZW50TmFtZSxcbiAgICB9KSxcbiAgZGF0ZTogKGZpZWxkOiBEYXRlRmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICBlbWFpbDogKGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoZmllbGQsIHBhcmVudE5hbWUpLFxuICB9KSxcbiAgZ3JvdXA6IChmaWVsZDogR3JvdXBGaWVsZCkgPT5cbiAgICByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgZmllbGQsXG4gICAgICBuZXN0ZWRGaWVsZE5hbWUyOiBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICBwYXJlbnROYW1lLFxuICAgIH0pLFxuICBqc29uOiAoZmllbGQ6IEpTT05GaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIG51bWJlcjogKGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIHBvaW50OiAoZmllbGQ6IFBvaW50RmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICByYWRpbzogKGZpZWxkOiBSYWRpb0ZpZWxkKSA9PiAoe1xuICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoZmllbGQsIHBhcmVudE5hbWUpLFxuICB9KSxcbiAgcmVsYXRpb25zaGlwOiAoZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fUmVsYXRpb25gLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fUmVsYXRpb25fUmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBmaWVsZC5yZWxhdGlvblRvLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICh2YWx1ZXMsIHJlbGF0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKHJlbGF0aW9uKV06IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7IHR5cGU6IEdyYXBoUUxKU09OIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoZmllbGQsIHBhcmVudE5hbWUpLFxuICAgIH1cbiAgfSxcbiAgcmljaFRleHQ6IChmaWVsZDogUmljaFRleHRGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIHJvdzogKGZpZWxkOiBSb3dGaWVsZCkgPT5cbiAgICByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgZmllbGQsXG4gICAgICBuZXN0ZWRGaWVsZE5hbWUyOiBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICBwYXJlbnROYW1lLFxuICAgIH0pLFxuICBzZWxlY3Q6IChmaWVsZDogU2VsZWN0RmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICB0YWJzOiAoZmllbGQ6IFRhYnNGaWVsZCkgPT5cbiAgICByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgZmllbGQsXG4gICAgICBuZXN0ZWRGaWVsZE5hbWUyOiBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICBwYXJlbnROYW1lLFxuICAgIH0pLFxuICB0ZXh0OiAoZmllbGQ6IFRleHRGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIHRleHRhcmVhOiAoZmllbGQ6IFRleHRhcmVhRmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICB1cGxvYWQ6IChmaWVsZDogVXBsb2FkRmllbGQpID0+
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZmllbGRUb1doZXJlSW5wdXRTY2hlbWFNYXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTEVudW1UeXBlLCBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCBHcmFwaFFMSlNPTiBmcm9tICdncmFwaHFsLXR5cGUtanNvbidcblxuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIENvbGxhcHNpYmxlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgR3JvdXBGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJpY2hUZXh0RmllbGQsXG4gIFJvd0ZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGFic0ZpZWxkLFxuICBUZXh0RmllbGQsXG4gIFRleHRhcmVhRmllbGQsXG4gIFVwbG9hZEZpZWxkLFxufSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgY29tYmluZVBhcmVudE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2NvbWJpbmVQYXJlbnROYW1lJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgcmVjdXJzaXZlbHlCdWlsZE5lc3RlZFBhdGhzIGZyb20gJy4vcmVjdXJzaXZlbHlCdWlsZE5lc3RlZFBhdGhzJ1xuaW1wb3J0IHsgd2l0aE9wZXJhdG9ycyB9IGZyb20gJy4vd2l0aE9wZXJhdG9ycydcblxudHlwZSBBcmdzID0ge1xuICBuZXN0ZWRGaWVsZE5hbWU/OiBzdHJpbmdcbiAgcGFyZW50TmFtZTogc3RyaW5nXG59XG5cbmNvbnN0IGZpZWxkVG9TY2hlbWFNYXAgPSAoeyBuZXN0ZWRGaWVsZE5hbWUsIHBhcmVudE5hbWUgfTogQXJncyk6IGFueSA9PiAoe1xuICBhcnJheTogKGZpZWxkOiBBcnJheUZpZWxkKSA9PlxuICAgIHJlY3Vyc2l2ZWx5QnVpbGROZXN0ZWRQYXRocyh7XG4gICAgICBmaWVsZCxcbiAgICAgIG5lc3RlZEZpZWxkTmFtZTI6IG5lc3RlZEZpZWxkTmFtZSxcbiAgICAgIHBhcmVudE5hbWUsXG4gICAgfSksXG4gIGNoZWNrYm94OiAoZmllbGQ6IENoZWNrYm94RmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICBjb2RlOiAoZmllbGQ6IENvZGVGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIGNvbGxhcHNpYmxlOiAoZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgcmVjdXJzaXZlbHlCdWlsZE5lc3RlZFBhdGhzKHtcbiAgICAgIGZpZWxkLFxuICAgICAgbmVzdGVkRmllbGROYW1lMjogbmVzdGVkRmllbGROYW1lLFxuICAgICAgcGFyZW50TmFtZSxcbiAgICB9KSxcbiAgZGF0ZTogKGZpZWxkOiBEYXRlRmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICBlbWFpbDogKGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoZmllbGQsIHBhcmVudE5hbWUpLFxuICB9KSxcbiAgZ3JvdXA6IChmaWVsZDogR3JvdXBGaWVsZCkgPT5cbiAgICByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgZmllbGQsXG4gICAgICBuZXN0ZWRGaWVsZE5hbWUyOiBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICBwYXJlbnROYW1lLFxuICAgIH0pLFxuICBqc29uOiAoZmllbGQ6IEpTT05GaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIG51bWJlcjogKGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIHBvaW50OiAoZmllbGQ6IFBvaW50RmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICByYWRpbzogKGZpZWxkOiBSYWRpb0ZpZWxkKSA9PiAoe1xuICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoZmllbGQsIHBhcmVudE5hbWUpLFxuICB9KSxcbiAgcmVsYXRpb25zaGlwOiAoZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fUmVsYXRpb25gLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fUmVsYXRpb25fUmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBmaWVsZC5yZWxhdGlvblRvLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICh2YWx1ZXMsIHJlbGF0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKHJlbGF0aW9uKV06IHtcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7IHR5cGU6IEdyYXBoUUxKU09OIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IHdpdGhPcGVyYXRvcnMoZmllbGQsIHBhcmVudE5hbWUpLFxuICAgIH1cbiAgfSxcbiAgcmljaFRleHQ6IChmaWVsZDogUmljaFRleHRGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIHJvdzogKGZpZWxkOiBSb3dGaWVsZCkgPT5cbiAgICByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgZmllbGQsXG4gICAgICBuZXN0ZWRGaWVsZE5hbWUyOiBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICBwYXJlbnROYW1lLFxuICAgIH0pLFxuICBzZWxlY3Q6IChmaWVsZDogU2VsZWN0RmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICB0YWJzOiAoZmllbGQ6IFRhYnNGaWVsZCkgPT5cbiAgICByZWN1cnNpdmVseUJ1aWxkTmVzdGVkUGF0aHMoe1xuICAgICAgZmllbGQsXG4gICAgICBuZXN0ZWRGaWVsZE5hbWUyOiBuZXN0ZWRGaWVsZE5hbWUsXG4gICAgICBwYXJlbnROYW1lLFxuICAgIH0pLFxuICB0ZXh0OiAoZmllbGQ6IFRleHRGaWVsZCkgPT4gKHtcbiAgICB0eXBlOiB3aXRoT3BlcmF0b3JzKGZpZWxkLCBwYXJlbnROYW1lKSxcbiAgfSksXG4gIHRleHRhcmVhOiAoZmllbGQ6IFRleHRhcmVhRmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxuICB1cGxvYWQ6IChmaWVsZDogVXBsb2FkRmllbGQpID0+ICh7XG4gICAgdHlwZTogd2l0aE9wZXJhdG9ycyhmaWVsZCwgcGFyZW50TmFtZSksXG4gIH0pLFxufSlcblxuZXhwb3J0IGRlZmF1bHQgZmllbGRUb1NjaGVtYU1hcFxuIl0sIm5hbWVzIjpbIkdyYXBoUUxFbnVtVHlwZSIsIkdyYXBoUUxJbnB1dE9iamVjdFR5cGUiLCJHcmFwaFFMSlNPTiIsImNvbWJpbmVQYXJlbnROYW1lIiwiZm9ybWF0TmFtZSIsInJlY3Vyc2l2ZWx5QnVpbGROZXN0ZWRQYXRocyIsIndpdGhPcGVyYXRvcnMiLCJmaWVsZFRvU2NoZW1hTWFwIiwibmVzdGVkRmllbGROYW1lIiwicGFyZW50TmFtZSIsImFycmF5IiwiZmllbGQiLCJuZXN0ZWRGaWVsZE5hbWUyIiwiY2hlY2tib3giLCJ0eXBlIiwiY29kZSIsImNvbGxhcHNpYmxlIiwiZGF0ZSIsImVtYWlsIiwiZ3JvdXAiLCJqc29uIiwibnVtYmVyIiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJuYW1lIiwiZmllbGRzIiwidmFsdWVzIiwicmVkdWNlIiwicmVsYXRpb24iLCJ2YWx1ZSIsInJpY2hUZXh0Iiwicm93Iiwic2VsZWN0IiwidGFicyIsInRleHQiLCJ0ZXh0YXJlYSIsInVwbG9hZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsZUFBZSxFQUFFQyxzQkFBc0IsUUFBUSxVQUFTO0FBQ2pFLE9BQU9DLGlCQUFpQixvQkFBbUI7QUF3QjNDLE9BQU9DLHVCQUF1QixpQ0FBZ0M7QUFDOUQsT0FBT0MsZ0JBQWdCLDBCQUF5QjtBQUNoRCxPQUFPQyxpQ0FBaUMsZ0NBQStCO0FBQ3ZFLFNBQVNDLGFBQWEsUUFBUSxrQkFBaUI7QUFPL0MsTUFBTUMsbUJBQW1C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
|