@payloadcms/graphql 3.0.0-alpha.5 → 3.0.0-alpha.51
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.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -95
- package/dist/index.js.map +1 -0
- package/dist/resolvers/auth/access.d.ts +1 -1
- package/dist/resolvers/auth/access.d.ts.map +1 -1
- package/dist/resolvers/auth/access.js +8 -23
- package/dist/resolvers/auth/access.js.map +1 -0
- package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -1
- package/dist/resolvers/auth/forgotPassword.js +6 -16
- package/dist/resolvers/auth/forgotPassword.js.map +1 -0
- package/dist/resolvers/auth/init.d.ts +1 -1
- package/dist/resolvers/auth/init.d.ts.map +1 -1
- package/dist/resolvers/auth/init.js +6 -16
- package/dist/resolvers/auth/init.js.map +1 -0
- package/dist/resolvers/auth/login.d.ts +1 -4
- package/dist/resolvers/auth/login.d.ts.map +1 -1
- package/dist/resolvers/auth/login.js +10 -20
- package/dist/resolvers/auth/login.js.map +1 -0
- package/dist/resolvers/auth/logout.d.ts.map +1 -1
- package/dist/resolvers/auth/logout.js +8 -18
- package/dist/resolvers/auth/logout.js.map +1 -0
- package/dist/resolvers/auth/me.d.ts.map +1 -1
- package/dist/resolvers/auth/me.js +6 -16
- package/dist/resolvers/auth/me.js.map +1 -0
- package/dist/resolvers/auth/refresh.d.ts +1 -2
- package/dist/resolvers/auth/refresh.d.ts.map +1 -1
- package/dist/resolvers/auth/refresh.js +11 -21
- package/dist/resolvers/auth/refresh.js.map +1 -0
- package/dist/resolvers/auth/resetPassword.d.ts +1 -2
- package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
- package/dist/resolvers/auth/resetPassword.js +10 -20
- package/dist/resolvers/auth/resetPassword.js.map +1 -0
- package/dist/resolvers/auth/unlock.d.ts +1 -1
- package/dist/resolvers/auth/unlock.d.ts.map +1 -1
- package/dist/resolvers/auth/unlock.js +6 -16
- package/dist/resolvers/auth/unlock.js.map +1 -0
- package/dist/resolvers/auth/verifyEmail.d.ts +1 -1
- package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
- package/dist/resolvers/auth/verifyEmail.js +6 -16
- package/dist/resolvers/auth/verifyEmail.js.map +1 -0
- package/dist/resolvers/collections/create.d.ts +1 -1
- package/dist/resolvers/collections/create.d.ts.map +1 -1
- package/dist/resolvers/collections/create.js +6 -16
- package/dist/resolvers/collections/create.js.map +1 -0
- package/dist/resolvers/collections/delete.d.ts.map +1 -1
- package/dist/resolvers/collections/delete.js +8 -18
- package/dist/resolvers/collections/delete.js.map +1 -0
- package/dist/resolvers/collections/docAccess.d.ts +1 -1
- package/dist/resolvers/collections/docAccess.d.ts.map +1 -1
- package/dist/resolvers/collections/docAccess.js +7 -17
- package/dist/resolvers/collections/docAccess.js.map +1 -0
- package/dist/resolvers/collections/duplicate.d.ts +13 -0
- package/dist/resolvers/collections/duplicate.d.ts.map +1 -0
- package/dist/resolvers/collections/duplicate.js +22 -0
- package/dist/resolvers/collections/duplicate.js.map +1 -0
- package/dist/resolvers/collections/find.d.ts.map +1 -1
- package/dist/resolvers/collections/find.js +8 -18
- package/dist/resolvers/collections/find.js.map +1 -0
- package/dist/resolvers/collections/findByID.d.ts.map +1 -1
- package/dist/resolvers/collections/findByID.js +8 -18
- package/dist/resolvers/collections/findByID.js.map +1 -0
- package/dist/resolvers/collections/findVersionByID.d.ts +1 -1
- package/dist/resolvers/collections/findVersionByID.d.ts.map +1 -1
- package/dist/resolvers/collections/findVersionByID.js +8 -18
- package/dist/resolvers/collections/findVersionByID.js.map +1 -0
- package/dist/resolvers/collections/findVersions.d.ts +1 -1
- package/dist/resolvers/collections/findVersions.d.ts.map +1 -1
- package/dist/resolvers/collections/findVersions.js +8 -18
- package/dist/resolvers/collections/findVersions.js.map +1 -0
- package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -1
- package/dist/resolvers/collections/restoreVersion.js +6 -16
- package/dist/resolvers/collections/restoreVersion.js.map +1 -0
- package/dist/resolvers/collections/update.d.ts.map +1 -1
- package/dist/resolvers/collections/update.js +8 -18
- package/dist/resolvers/collections/update.js.map +1 -0
- package/dist/resolvers/globals/docAccess.d.ts +1 -1
- package/dist/resolvers/globals/docAccess.d.ts.map +1 -1
- package/dist/resolvers/globals/docAccess.js +6 -16
- package/dist/resolvers/globals/docAccess.js.map +1 -0
- package/dist/resolvers/globals/findOne.d.ts.map +1 -1
- package/dist/resolvers/globals/findOne.js +6 -16
- package/dist/resolvers/globals/findOne.js.map +1 -0
- package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -1
- package/dist/resolvers/globals/findVersionByID.js +6 -16
- package/dist/resolvers/globals/findVersionByID.js.map +1 -0
- package/dist/resolvers/globals/findVersions.d.ts.map +1 -1
- package/dist/resolvers/globals/findVersions.js +6 -16
- package/dist/resolvers/globals/findVersions.js.map +1 -0
- package/dist/resolvers/globals/index.d.ts +5 -5
- package/dist/resolvers/globals/index.d.ts.map +1 -1
- package/dist/resolvers/globals/index.js +7 -38
- package/dist/resolvers/globals/index.js.map +1 -0
- package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -1
- package/dist/resolvers/globals/restoreVersion.js +6 -16
- package/dist/resolvers/globals/restoreVersion.js.map +1 -0
- package/dist/resolvers/globals/update.d.ts +1 -1
- package/dist/resolvers/globals/update.d.ts.map +1 -1
- package/dist/resolvers/globals/update.js +6 -16
- package/dist/resolvers/globals/update.js.map +1 -0
- package/dist/resolvers/types.d.ts +2 -2
- package/dist/resolvers/types.d.ts.map +1 -1
- package/dist/resolvers/types.js +2 -5
- package/dist/resolvers/types.js.map +1 -0
- package/dist/schema/buildFallbackLocaleInputType.d.ts +1 -1
- package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -1
- package/dist/schema/buildFallbackLocaleInputType.js +6 -21
- package/dist/schema/buildFallbackLocaleInputType.js.map +1 -0
- package/dist/schema/buildLocaleInputType.d.ts +1 -1
- package/dist/schema/buildLocaleInputType.d.ts.map +1 -1
- package/dist/schema/buildLocaleInputType.js +6 -21
- package/dist/schema/buildLocaleInputType.js.map +1 -0
- package/dist/schema/buildMutationInputType.d.ts +6 -6
- package/dist/schema/buildMutationInputType.d.ts.map +1 -1
- package/dist/schema/buildMutationInputType.js +59 -81
- package/dist/schema/buildMutationInputType.js.map +1 -0
- package/dist/schema/buildObjectType.d.ts +5 -5
- package/dist/schema/buildObjectType.d.ts.map +1 -1
- package/dist/schema/buildObjectType.js +68 -83
- package/dist/schema/buildObjectType.js.map +1 -0
- package/dist/schema/buildPaginatedListType.js +15 -25
- package/dist/schema/buildPaginatedListType.js.map +1 -0
- package/dist/schema/buildPoliciesType.d.ts +1 -1
- package/dist/schema/buildPoliciesType.d.ts.map +1 -1
- package/dist/schema/buildPoliciesType.js +31 -57
- package/dist/schema/buildPoliciesType.js.map +1 -0
- package/dist/schema/buildWhereInputType.d.ts +1 -1
- package/dist/schema/buildWhereInputType.d.ts.map +1 -1
- package/dist/schema/buildWhereInputType.js +19 -34
- package/dist/schema/buildWhereInputType.js.map +1 -0
- package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
- package/dist/schema/fieldToWhereInputSchemaMap.js +34 -48
- package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -0
- package/dist/schema/initCollections.d.ts.map +1 -1
- package/dist/schema/initCollections.js +180 -185
- package/dist/schema/initCollections.js.map +1 -0
- package/dist/schema/initGlobals.d.ts.map +1 -1
- package/dist/schema/initGlobals.js +59 -73
- package/dist/schema/initGlobals.js.map +1 -0
- package/dist/schema/isFieldNullable.js +4 -14
- package/dist/schema/isFieldNullable.js.map +1 -0
- package/dist/schema/operators.js +2 -12
- package/dist/schema/operators.js.map +1 -0
- package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -1
- package/dist/schema/recursivelyBuildNestedPaths.js +11 -26
- package/dist/schema/recursivelyBuildNestedPaths.js.map +1 -0
- package/dist/schema/withNullableType.d.ts.map +1 -1
- package/dist/schema/withNullableType.js +4 -14
- package/dist/schema/withNullableType.js.map +1 -0
- package/dist/schema/withOperators.d.ts +1 -1
- package/dist/schema/withOperators.d.ts.map +1 -1
- package/dist/schema/withOperators.js +82 -86
- package/dist/schema/withOperators.js.map +1 -0
- package/dist/utilities/combineParentName.js +4 -19
- package/dist/utilities/combineParentName.js.map +1 -0
- package/dist/utilities/formatName.js +2 -12
- package/dist/utilities/formatName.js.map +1 -0
- package/dist/utilities/formatName.spec.js +3 -12
- package/dist/utilities/formatName.spec.js.map +1 -0
- package/dist/utilities/formatOptions.js +5 -20
- package/dist/utilities/formatOptions.js.map +1 -0
- package/dist/utilities/getCheckIfLocaleObject.js +2 -12
- package/dist/utilities/getCheckIfLocaleObject.js.map +1 -0
- package/dist/utilities/groupOrTabHasRequiredSubfield.js +4 -14
- package/dist/utilities/groupOrTabHasRequiredSubfield.js.map +1 -0
- package/dist/utilities/uppercase.js +2 -12
- package/dist/utilities/uppercase.js.map +1 -0
- package/dist/utilities/wrapCustomResolver.d.ts +2 -2
- package/dist/utilities/wrapCustomResolver.d.ts.map +1 -1
- package/dist/utilities/wrapCustomResolver.js +4 -14
- package/dist/utilities/wrapCustomResolver.js.map +1 -0
- package/package.json +12 -7
- package/src/index.ts +24 -24
- package/dist/utilities/isolateTransactionID.d.ts +0 -2
- package/dist/utilities/isolateTransactionID.d.ts.map +0 -1
- package/dist/utilities/isolateTransactionID.js +0 -3
|
@@ -1,58 +1,36 @@
|
|
|
1
|
-
/* eslint-disable no-use-before-define */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
buildMutationInputType: function() {
|
|
13
|
-
return buildMutationInputType;
|
|
14
|
-
},
|
|
15
|
-
getCollectionIDType: function() {
|
|
16
|
-
return getCollectionIDType;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const _graphql = require("graphql");
|
|
20
|
-
const _graphqltypejson = require("graphql-type-json");
|
|
21
|
-
const _types = require("payload/types");
|
|
22
|
-
const _utilities = require("payload/utilities");
|
|
23
|
-
const _groupOrTabHasRequiredSubfield = require("../utilities/groupOrTabHasRequiredSubfield");
|
|
24
|
-
const _combineParentName = /*#__PURE__*/ _interop_require_default(require("../utilities/combineParentName"));
|
|
25
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
26
|
-
const _withNullableType = /*#__PURE__*/ _interop_require_default(require("./withNullableType"));
|
|
27
|
-
function _interop_require_default(obj) {
|
|
28
|
-
return obj && obj.__esModule ? obj : {
|
|
29
|
-
default: obj
|
|
30
|
-
};
|
|
31
|
-
}
|
|
1
|
+
/* eslint-disable no-use-before-define */ import { GraphQLBoolean, GraphQLEnumType, GraphQLFloat, GraphQLInputObjectType, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLString } from 'graphql';
|
|
2
|
+
import { GraphQLJSON } from 'graphql-type-json';
|
|
3
|
+
import { fieldAffectsData, optionIsObject, tabHasName } from 'payload/types';
|
|
4
|
+
import { toWords } from 'payload/utilities';
|
|
5
|
+
import { flattenTopLevelFields } from 'payload/utilities';
|
|
6
|
+
import combineParentName from '../utilities/combineParentName.js';
|
|
7
|
+
import formatName from '../utilities/formatName.js';
|
|
8
|
+
import { groupOrTabHasRequiredSubfield } from '../utilities/groupOrTabHasRequiredSubfield.js';
|
|
9
|
+
import withNullableType from './withNullableType.js';
|
|
32
10
|
const idFieldTypes = {
|
|
33
|
-
number:
|
|
34
|
-
text:
|
|
11
|
+
number: GraphQLInt,
|
|
12
|
+
text: GraphQLString
|
|
35
13
|
};
|
|
36
|
-
const getCollectionIDType = (type, collection)=>{
|
|
37
|
-
const idField =
|
|
14
|
+
export const getCollectionIDType = (type, collection)=>{
|
|
15
|
+
const idField = flattenTopLevelFields(collection.fields).find((field)=>fieldAffectsData(field) && field.name === 'id');
|
|
38
16
|
if (!idField) {
|
|
39
17
|
return idFieldTypes[type];
|
|
40
18
|
}
|
|
41
19
|
return idFieldTypes[idField.type];
|
|
42
20
|
};
|
|
43
|
-
function buildMutationInputType({ name,
|
|
21
|
+
export function buildMutationInputType({ name, config, fields, forceNullable = false, graphqlResult, parentName }) {
|
|
44
22
|
const fieldToSchemaMap = {
|
|
45
23
|
array: (inputObjectTypeConfig, field)=>{
|
|
46
|
-
const fullName = (
|
|
24
|
+
const fullName = combineParentName(parentName, toWords(field.name, true));
|
|
47
25
|
let type = buildMutationInputType({
|
|
48
26
|
name: fullName,
|
|
27
|
+
config,
|
|
49
28
|
fields: field.fields,
|
|
50
|
-
parentName: fullName,
|
|
51
29
|
graphqlResult,
|
|
52
|
-
|
|
30
|
+
parentName: fullName
|
|
53
31
|
});
|
|
54
32
|
if (!type) return inputObjectTypeConfig;
|
|
55
|
-
type = new
|
|
33
|
+
type = new GraphQLList(withNullableType(field, type, forceNullable));
|
|
56
34
|
return {
|
|
57
35
|
...inputObjectTypeConfig,
|
|
58
36
|
[field.name]: {
|
|
@@ -63,19 +41,19 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
63
41
|
blocks: (inputObjectTypeConfig, field)=>({
|
|
64
42
|
...inputObjectTypeConfig,
|
|
65
43
|
[field.name]: {
|
|
66
|
-
type:
|
|
44
|
+
type: GraphQLJSON
|
|
67
45
|
}
|
|
68
46
|
}),
|
|
69
47
|
checkbox: (inputObjectTypeConfig, field)=>({
|
|
70
48
|
...inputObjectTypeConfig,
|
|
71
49
|
[field.name]: {
|
|
72
|
-
type:
|
|
50
|
+
type: GraphQLBoolean
|
|
73
51
|
}
|
|
74
52
|
}),
|
|
75
53
|
code: (inputObjectTypeConfig, field)=>({
|
|
76
54
|
...inputObjectTypeConfig,
|
|
77
55
|
[field.name]: {
|
|
78
|
-
type: (
|
|
56
|
+
type: withNullableType(field, GraphQLString, forceNullable)
|
|
79
57
|
}
|
|
80
58
|
}),
|
|
81
59
|
collapsible: (inputObjectTypeConfig, field)=>field.fields.reduce((acc, subField)=>{
|
|
@@ -86,27 +64,27 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
86
64
|
date: (inputObjectTypeConfig, field)=>({
|
|
87
65
|
...inputObjectTypeConfig,
|
|
88
66
|
[field.name]: {
|
|
89
|
-
type: (
|
|
67
|
+
type: withNullableType(field, GraphQLString, forceNullable)
|
|
90
68
|
}
|
|
91
69
|
}),
|
|
92
70
|
email: (inputObjectTypeConfig, field)=>({
|
|
93
71
|
...inputObjectTypeConfig,
|
|
94
72
|
[field.name]: {
|
|
95
|
-
type: (
|
|
73
|
+
type: withNullableType(field, GraphQLString, forceNullable)
|
|
96
74
|
}
|
|
97
75
|
}),
|
|
98
76
|
group: (inputObjectTypeConfig, field)=>{
|
|
99
|
-
const requiresAtLeastOneField =
|
|
100
|
-
const fullName = (
|
|
77
|
+
const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field);
|
|
78
|
+
const fullName = combineParentName(parentName, toWords(field.name, true));
|
|
101
79
|
let type = buildMutationInputType({
|
|
102
80
|
name: fullName,
|
|
81
|
+
config,
|
|
103
82
|
fields: field.fields,
|
|
104
|
-
parentName: fullName,
|
|
105
83
|
graphqlResult,
|
|
106
|
-
|
|
84
|
+
parentName: fullName
|
|
107
85
|
});
|
|
108
86
|
if (!type) return inputObjectTypeConfig;
|
|
109
|
-
if (requiresAtLeastOneField) type = new
|
|
87
|
+
if (requiresAtLeastOneField) type = new GraphQLNonNull(type);
|
|
110
88
|
return {
|
|
111
89
|
...inputObjectTypeConfig,
|
|
112
90
|
[field.name]: {
|
|
@@ -117,51 +95,51 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
117
95
|
json: (inputObjectTypeConfig, field)=>({
|
|
118
96
|
...inputObjectTypeConfig,
|
|
119
97
|
[field.name]: {
|
|
120
|
-
type: (
|
|
98
|
+
type: withNullableType(field, GraphQLJSON, forceNullable)
|
|
121
99
|
}
|
|
122
100
|
}),
|
|
123
101
|
number: (inputObjectTypeConfig, field)=>{
|
|
124
|
-
const type = field.name === 'id' ?
|
|
102
|
+
const type = field.name === 'id' ? GraphQLInt : GraphQLFloat;
|
|
125
103
|
return {
|
|
126
104
|
...inputObjectTypeConfig,
|
|
127
105
|
[field.name]: {
|
|
128
|
-
type: (
|
|
106
|
+
type: withNullableType(field, field.hasMany === true ? new GraphQLList(type) : type, forceNullable)
|
|
129
107
|
}
|
|
130
108
|
};
|
|
131
109
|
},
|
|
132
110
|
point: (inputObjectTypeConfig, field)=>({
|
|
133
111
|
...inputObjectTypeConfig,
|
|
134
112
|
[field.name]: {
|
|
135
|
-
type: (
|
|
113
|
+
type: withNullableType(field, new GraphQLList(GraphQLFloat), forceNullable)
|
|
136
114
|
}
|
|
137
115
|
}),
|
|
138
116
|
radio: (inputObjectTypeConfig, field)=>({
|
|
139
117
|
...inputObjectTypeConfig,
|
|
140
118
|
[field.name]: {
|
|
141
|
-
type: (
|
|
119
|
+
type: withNullableType(field, GraphQLString, forceNullable)
|
|
142
120
|
}
|
|
143
121
|
}),
|
|
144
122
|
relationship: (inputObjectTypeConfig, field)=>{
|
|
145
123
|
const { relationTo } = field;
|
|
146
124
|
let type;
|
|
147
125
|
if (Array.isArray(relationTo)) {
|
|
148
|
-
const fullName = `${(
|
|
149
|
-
type = new
|
|
126
|
+
const fullName = `${combineParentName(parentName, toWords(field.name, true))}RelationshipInput`;
|
|
127
|
+
type = new GraphQLInputObjectType({
|
|
150
128
|
name: fullName,
|
|
151
129
|
fields: {
|
|
152
130
|
relationTo: {
|
|
153
|
-
type: new
|
|
131
|
+
type: new GraphQLEnumType({
|
|
154
132
|
name: `${fullName}RelationTo`,
|
|
155
133
|
values: relationTo.reduce((values, option)=>({
|
|
156
134
|
...values,
|
|
157
|
-
[(
|
|
135
|
+
[formatName(option)]: {
|
|
158
136
|
value: option
|
|
159
137
|
}
|
|
160
138
|
}), {})
|
|
161
139
|
})
|
|
162
140
|
},
|
|
163
141
|
value: {
|
|
164
|
-
type:
|
|
142
|
+
type: GraphQLJSON
|
|
165
143
|
}
|
|
166
144
|
}
|
|
167
145
|
});
|
|
@@ -171,14 +149,14 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
171
149
|
return {
|
|
172
150
|
...inputObjectTypeConfig,
|
|
173
151
|
[field.name]: {
|
|
174
|
-
type: field.hasMany ? new
|
|
152
|
+
type: field.hasMany ? new GraphQLList(type) : type
|
|
175
153
|
}
|
|
176
154
|
};
|
|
177
155
|
},
|
|
178
156
|
richText: (inputObjectTypeConfig, field)=>({
|
|
179
157
|
...inputObjectTypeConfig,
|
|
180
158
|
[field.name]: {
|
|
181
|
-
type: (
|
|
159
|
+
type: withNullableType(field, GraphQLJSON, forceNullable)
|
|
182
160
|
}
|
|
183
161
|
}),
|
|
184
162
|
row: (inputObjectTypeConfig, field)=>field.fields.reduce((acc, subField)=>{
|
|
@@ -187,28 +165,28 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
187
165
|
return acc;
|
|
188
166
|
}, inputObjectTypeConfig),
|
|
189
167
|
select: (inputObjectTypeConfig, field)=>{
|
|
190
|
-
const formattedName = `${(
|
|
191
|
-
let type = new
|
|
168
|
+
const formattedName = `${combineParentName(parentName, field.name)}_MutationInput`;
|
|
169
|
+
let type = new GraphQLEnumType({
|
|
192
170
|
name: formattedName,
|
|
193
171
|
values: field.options.reduce((values, option)=>{
|
|
194
|
-
if (
|
|
172
|
+
if (optionIsObject(option)) {
|
|
195
173
|
return {
|
|
196
174
|
...values,
|
|
197
|
-
[(
|
|
175
|
+
[formatName(option.value)]: {
|
|
198
176
|
value: option.value
|
|
199
177
|
}
|
|
200
178
|
};
|
|
201
179
|
}
|
|
202
180
|
return {
|
|
203
181
|
...values,
|
|
204
|
-
[(
|
|
182
|
+
[formatName(option)]: {
|
|
205
183
|
value: option
|
|
206
184
|
}
|
|
207
185
|
};
|
|
208
186
|
}, {})
|
|
209
187
|
});
|
|
210
|
-
type = field.hasMany ? new
|
|
211
|
-
type = (
|
|
188
|
+
type = field.hasMany ? new GraphQLList(type) : type;
|
|
189
|
+
type = withNullableType(field, type, forceNullable);
|
|
212
190
|
return {
|
|
213
191
|
...inputObjectTypeConfig,
|
|
214
192
|
[field.name]: {
|
|
@@ -218,18 +196,18 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
218
196
|
},
|
|
219
197
|
tabs: (inputObjectTypeConfig, field)=>{
|
|
220
198
|
return field.tabs.reduce((acc, tab)=>{
|
|
221
|
-
if (
|
|
222
|
-
const fullName = (
|
|
223
|
-
const requiresAtLeastOneField =
|
|
199
|
+
if (tabHasName(tab)) {
|
|
200
|
+
const fullName = combineParentName(parentName, toWords(tab.name, true));
|
|
201
|
+
const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field);
|
|
224
202
|
let type = buildMutationInputType({
|
|
225
203
|
name: fullName,
|
|
204
|
+
config,
|
|
226
205
|
fields: tab.fields,
|
|
227
|
-
parentName: fullName,
|
|
228
206
|
graphqlResult,
|
|
229
|
-
|
|
207
|
+
parentName: fullName
|
|
230
208
|
});
|
|
231
209
|
if (!type) return acc;
|
|
232
|
-
if (requiresAtLeastOneField) type = new
|
|
210
|
+
if (requiresAtLeastOneField) type = new GraphQLNonNull(type);
|
|
233
211
|
return {
|
|
234
212
|
...acc,
|
|
235
213
|
[tab.name]: {
|
|
@@ -250,23 +228,23 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
250
228
|
text: (inputObjectTypeConfig, field)=>({
|
|
251
229
|
...inputObjectTypeConfig,
|
|
252
230
|
[field.name]: {
|
|
253
|
-
type: (
|
|
231
|
+
type: withNullableType(field, field.hasMany === true ? new GraphQLList(GraphQLString) : GraphQLString, forceNullable)
|
|
254
232
|
}
|
|
255
233
|
}),
|
|
256
234
|
textarea: (inputObjectTypeConfig, field)=>({
|
|
257
235
|
...inputObjectTypeConfig,
|
|
258
236
|
[field.name]: {
|
|
259
|
-
type: (
|
|
237
|
+
type: withNullableType(field, GraphQLString, forceNullable)
|
|
260
238
|
}
|
|
261
239
|
}),
|
|
262
240
|
upload: (inputObjectTypeConfig, field)=>({
|
|
263
241
|
...inputObjectTypeConfig,
|
|
264
242
|
[field.name]: {
|
|
265
|
-
type: (
|
|
243
|
+
type: withNullableType(field, GraphQLString, forceNullable)
|
|
266
244
|
}
|
|
267
245
|
})
|
|
268
246
|
};
|
|
269
|
-
const fieldName = (
|
|
247
|
+
const fieldName = formatName(name);
|
|
270
248
|
const fieldSchemas = fields.reduce((inputObjectTypeConfig, field)=>{
|
|
271
249
|
const fieldSchema = fieldToSchemaMap[field.type];
|
|
272
250
|
if (typeof fieldSchema !== 'function') {
|
|
@@ -284,10 +262,10 @@ function buildMutationInputType({ name, fields, parentName, forceNullable = fals
|
|
|
284
262
|
if (Object.keys(fieldSchemas).length === 0) {
|
|
285
263
|
return null;
|
|
286
264
|
}
|
|
287
|
-
return new
|
|
265
|
+
return new GraphQLInputObjectType({
|
|
288
266
|
name: `mutation${fieldName}Input`,
|
|
289
267
|
fields: fieldSchemas
|
|
290
268
|
});
|
|
291
269
|
}
|
|
292
270
|
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFMSW5wdXRGaWVsZENvbmZpZywgR3JhcGhRTFNjYWxhclR5cGUsIEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTE5vbk51bGwsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTiB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuXG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxJbmZvIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5pbXBvcnQgdHlwZSB7XG4gIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBDb2xsYXBzaWJsZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEZpZWxkLFxuICBHcm91cEZpZWxkLFxuICBKU09ORmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBQb2ludEZpZWxkLFxuICBSYWRpb0ZpZWxkLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgUm93RmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUYWJzRmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG59IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBvcHRpb25Jc09iamVjdCwgdGFiSGFzTmFtZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB7IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IHdpdGhOdWxsYWJsZVR5cGUgZnJvbSAnLi93aXRoTnVsbGFibGVUeXBlJ1xuaW1wb3J0IHsgZmxhdHRlblRvcExldmVsRmllbGRzIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmNvbnN0IGlkRmllbGRUeXBlcyA9IHtcbiAgbnVtYmVyOiBHcmFwaFFMSW50LFxuICB0ZXh0OiBHcmFwaFFMU3RyaW5nLFxufVxuXG5leHBvcnQgY29uc3QgZ2V0Q29sbGVjdGlvbklEVHlwZSA9IChcbiAgdHlwZToga2V5b2YgdHlwZW9mIGlkRmllbGRUeXBlcyxcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyxcbik6IEdyYXBoUUxTY2FsYXJUeXBlID0+IHtcbiAgY29uc3QgaWRGaWVsZCA9IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyhjb2xsZWN0aW9uLmZpZWxkcykuZmluZChcbiAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gIClcblxuICBpZiAoIWlkRmllbGQpIHtcbiAgICByZXR1cm4gaWRGaWVsZFR5cGVzW3R5cGVdXG4gIH1cblxuICByZXR1cm4gaWRGaWVsZFR5cGVzW2lkRmllbGQudHlwZV1cbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRPYmplY3RUeXBlQ29uZmlnID0ge1xuICBbcGF0aDogc3RyaW5nXTogR3JhcGhRTElucHV0RmllbGRDb25maWdcbn1cblxudHlwZSBCdWlsZE11dGF0aW9uSW5wdXRUeXBlQXJncyA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGZpZWxkczogRmllbGRbXVxuICBwYXJlbnROYW1lOiBzdHJpbmdcbiAgZm9yY2VOdWxsYWJsZT86IGJvb2xlYW5cbiAgZ3JhcGhxbFJlc3VsdDogR3JhcGhRTEluZm9cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICBuYW1lLFxuICBmaWVsZHMsXG4gIHBhcmVudE5hbWUsXG4gIGZvcmNlTnVsbGFibGUgPSBmYWxzZSxcbiAgZ3JhcGhxbFJlc3VsdCxcbiAgY29uZmlnLFxufTogQnVpbGRNdXRhdGlvbklucHV0VHlwZUFyZ3MpOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIHwgbnVsbCB7XG4gIGNvbnN0IGZpZWxkVG9TY2hlbWFNYXAgPSB7XG4gICAgYXJyYXk6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEFycmF5RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMTGlzdDxHcmFwaFFMVHlwZT4gfCBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgIHBhcmVudE5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICBncmFwaHFsUmVzdWx0LFxuICAgICAgICBjb25maWcsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXR5cGUpIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcblxuICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMTGlzdCh3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGJsb2NrczogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQmxvY2tGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiBHcmFwaFFMSlNPTiB9LFxuICAgIH0pLFxuICAgIGNoZWNrYm94OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDaGVja2JveEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgfSksXG4gICAgY29kZTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgY29sbGFwc2libGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChhY2MsIHN1YkZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChhY2MsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpLFxuICAgIGRhdGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGVtYWlsOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZ3JvdXA6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEdyb3VwRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkID0gZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQoZmllbGQpXG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG4gICAgICBsZXQgdHlwZTogR3JhcGhRTFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHtcbiAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICBwYXJlbnROYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgZ3JhcGhxbFJlc3VsdCxcbiAgICAgICAgY29uZmlnLFxuICAgICAgfSlcblxuICAgICAgaWYgKCF0eXBlKSByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG5cbiAgICAgIGlmIChyZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCkgdHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbCh0eXBlKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHsgdHlwZSB9LFxuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogSlNPTkZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxKU09OLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIG51bWJlcjogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogTnVtYmVyRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHR5cGUgPSBmaWVsZC5uYW1lID09PSAnaWQnID8gR3JhcGhRTEludCA6IEdyYXBoUUxGbG9hdFxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZSxcbiAgICAgICAgICAgIGZvcmNlTnVsbGFibGUsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHBvaW50OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBQb2ludEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMRmxvYXQpLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHJhZGlvOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSYWRpb0ZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgcmVsYXRpb25zaGlwOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBSZWxhdGlvbnNoaXBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgeyByZWxhdGlvblRvIH0gPSBmaWVsZFxuICAgICAgdHlwZSBQYXlsb2FkR3JhcGhRTFJlbGF0aW9uc2hpcFR5cGUgPVxuICAgICAgICB8IEdyYXBoUUxJbnB1dE9iamVjdFR5cGVcbiAgICAgICAgfCBHcmFwaFFMTGlzdDxHcmFwaFFMU2NhbGFyVHlwZT5cbiAgICAgICAgfCBHcmFwaFFMU2NhbGFyVHlwZVxuICAgICAgbGV0IHR5cGU6IFBheWxvYWRHcmFwaFFMUmVsYXRpb25zaGlwVHlwZVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSkge1xuICAgICAgICBjb25zdCBmdWxsTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKFxuICAgICAgICAgIHBhcmVudE5hbWUsXG4gICAgICAgICAgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSxcbiAgICAgICAgKX1SZWxhdGlvbnNoaXBJbnB1dGBcbiAgICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIHJlbGF0aW9uVG86IHtcbiAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICAgICAgbmFtZTogYCR7ZnVsbE5hbWV9UmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiByZWxhdGlvblRvLnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICh2YWx1ZXMsIG9wdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZhbHVlOiB7IHR5cGU6IEdyYXBoUUxKU09OIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGUgPSBnZXRDb2xsZWN0aW9uSURUeXBlKFxuICAgICAgICAgIGNvbmZpZy5kYi5kZWZhdWx0SURUeXBlLFxuICAgICAgICAgIGdyYXBocWxSZXN1bHQuY29sbGVjdGlvbnNbcmVsYXRpb25Ub10uY29uZmlnLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICByaWNoVGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUmljaFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMSlNPTiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByb3c6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgoYWNjLCBzdWJGaWVsZDogRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKGFjYywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIGlucHV0T2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBTZWxlY3RGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9NdXRhdGlvbklucHV0YFxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdHRlZE5hbWUsXG4gICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZVxuICAgICAgdHlwZSA9IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUsIGZvcmNlTnVsbGFibGUpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRhYnNGaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLnRhYnMucmVkdWNlKChhY2MsIHRhYikgPT4ge1xuICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcbiAgICAgICAgICBjb25zdCByZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCA9IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkKGZpZWxkKVxuICAgICAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZnVsbE5hbWUsXG4gICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICBwYXJlbnROYW1lOiBmdWxsTmFtZSxcbiAgICAgICAgICAgIGdyYXBocWxSZXN1bHQsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICghdHlwZSkgcmV0dXJuIGFjY1xuXG4gICAgICAgICAgaWYgKHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkKSB0eXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIFt0YWIubmFtZV06IHsgdHlwZSB9LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIC4uLnRhYi5maWVsZHMucmVkdWNlKChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICAgICAgaWYgKGFkZFN1YkZpZWxkKSByZXR1cm4gYWRkU3ViRmllbGQoc3ViRmllbGRTY2hlbWEsIHN1YkZpZWxkKVxuICAgICAgICAgICAgcmV0dXJuIHN1YkZpZWxkU2NoZW1hXG4gICAgICAgICAgfSwgYWNjKSxcbiAgICAgICAgfVxuICAgICAgfSwgaW5wdXRPYmplY3RUeXBlQ29uZmlnKVxuICAgIH0sXG4gICAgdGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7XG4gICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSA/IG5ldyBHcmFwaFFMTGlzdChHcmFwaFFMU3RyaW5nKSA6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgdGV4dGFyZWE6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRleHRhcmVhRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICB1cGxvYWQ6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFVwbG9hZEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gIH1cblxuICBjb25zdCBmaWVsZE5hbWUgPSBmb3JtYXROYW1lKG5hbWUpXG5cbiAgY29uc3QgZmllbGRTY2hlbWFzID0gZmllbGRzLnJlZHVjZSgoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gZmllbGRUb1NjaGVtYU1hcFtmaWVsZC50eXBlXVxuXG4gICAgaWYgKHR5cGVvZiBmaWVsZFNjaGVtYSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGlucHV0T2JqZWN0VHlwZUNvbmZpZ1xuICAgIH1cblxuICAgIGNvbnN0IHNjaGVtYSA9IGZpZWxkU2NoZW1hKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpXG4gICAgaWYgKE9iamVjdC5rZXlzKHNjaGVtYSkubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIC4uLmZpZWxkU2NoZW1hKGlucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQpLFxuICAgIH1cbiAgfSwge30pXG5cbiAgaWYgKE9iamVjdC5rZXlzKGZpZWxkU2NoZW1hcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gICAgbmFtZTogYG11dGF0aW9uJHtmaWVsZE5hbWV9SW5wdXRgLFxuICAgIGZpZWxkczogZmllbGRTY2hlbWFzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkTXV0YXRpb25JbnB1dFR5cGUiLCJnZXRDb2xsZWN0aW9uSURUeXBlIiwiaWRGaWVsZFR5cGVzIiwibnVtYmVyIiwiR3JhcGhRTEludCIsInRleHQiLCJHcmFwaFFMU3RyaW5nIiwidHlwZSIsImNvbGxlY3Rpb24iLCJpZEZpZWxkIiwiZmxhdHRlblRvcExldmVsRmllbGRzIiwiZmllbGRzIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJwYXJlbnROYW1lIiwiZm9yY2VOdWxsYWJsZSIsImdyYXBocWxSZXN1bHQiLCJjb25maWciLCJmaWVsZFRvU2NoZW1hTWFwIiwiYXJyYXkiLCJpbnB1dE9iamVjdFR5cGVDb25maWciLCJmdWxsTmFtZSIsImNvbWJpbmVQYXJlbnROYW1lIiwidG9Xb3JkcyIsIkdyYXBoUUxMaXN0Iiwid2l0aE51bGxhYmxlVHlwZSIsImJsb2NrcyIsIkdyYXBoUUxKU09OIiwiY2hlY2tib3giLCJHcmFwaFFMQm9vbGVhbiIsImNvZGUiLCJjb2xsYXBzaWJsZSIsInJlZHVjZSIsImFjYyIsInN1YkZpZWxkIiwiYWRkU3ViRmllbGQiLCJkYXRlIiwiZW1haWwiLCJncm91cCIsInJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkIiwiZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQiLCJHcmFwaFFMTm9uTnVsbCIsImpzb24iLCJHcmFwaFFMRmxvYXQiLCJoYXNNYW55IiwicG9pbnQiLCJyYWRpbyIsInJlbGF0aW9uc2hpcCIsInJlbGF0aW9uVG8iLCJBcnJheSIsImlzQXJyYXkiLCJHcmFwaFFMSW5wdXRPYmplY3RUeXBlIiwiR3JhcGhRTEVudW1UeXBlIiwidmFsdWVzIiwib3B0aW9uIiwiZm9ybWF0TmFtZSIsInZhbHVlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiY29sbGVjdGlvbnMiLCJyaWNoVGV4dCIsInJvdyIsInNlbGVjdCIsImZvcm1hdHRlZE5hbWUiLCJvcHRpb25zIiwib3B0aW9uSXNPYmplY3QiLCJ0YWJzIiwidGFiIiwidGFiSGFzTmFtZSIsInN1YkZpZWxkU2NoZW1hIiwidGV4dGFyZWEiLCJ1cGxvYWQiLCJmaWVsZE5hbWUiLCJmaWVsZFNjaGVtYXMiLCJmaWVsZFNjaGVtYSIsInNjaGVtYSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBLHVDQUF1Qzs7Ozs7Ozs7Ozs7SUFtRnZCQSxzQkFBc0I7ZUFBdEJBOztJQTVCSEMsbUJBQW1CO2VBQW5CQTs7O3lCQTNDTjtpQ0FDcUI7dUJBNEJpQzsyQkFDckM7K0NBRXNCOzBFQUNoQjttRUFDUDt5RUFDTTs7Ozs7O0FBRzdCLE1BQU1DLGVBQWU7SUFDbkJDLFFBQVFDLG1CQUFVO0lBQ2xCQyxNQUFNQyxzQkFBYTtBQUNyQjtBQUVPLE1BQU1MLHNCQUFzQixDQUNqQ00sTUFDQUM7SUFFQSxNQUFNQyxVQUFVQyxJQUFBQSxnQ0FBcUIsRUFBQ0YsV0FBV0csTUFBTSxFQUFFQyxJQUFJLENBQzNELENBQUNDLFFBQVVDLElBQUFBLHVCQUFnQixFQUFDRCxVQUFVQSxNQUFNRSxJQUFJLEtBQUs7SUFHdkQsSUFBSSxDQUFDTixTQUFTO1FBQ1osT0FBT1AsWUFBWSxDQUFDSyxLQUFLO0lBQzNCO0lBRUEsT0FBT0wsWUFBWSxDQUFDTyxRQUFRRixJQUFJLENBQUM7QUFDbkM7QUFlTyxTQUFTUCx1QkFBdUIsRUFDckNlLElBQUksRUFDSkosTUFBTSxFQUNOSyxVQUFVLEVBQ1ZDLGdCQUFnQixLQUFLLEVBQ3JCQyxhQUFhLEVBQ2JDLE1BQU0sRUFDcUI7SUFDM0IsTUFBTUMsbUJBQW1CO1FBQ3ZCQyxPQUFPLENBQUNDLHVCQUE4Q1Q7WUFDcEQsTUFBTVUsV0FBV0MsSUFBQUEsMEJBQWlCLEVBQUNSLFlBQVlTLElBQUFBLGtCQUFPLEVBQUNaLE1BQU1FLElBQUksRUFBRTtZQUNuRSxJQUFJUixPQUErQ1AsdUJBQXVCO2dCQUN4RWUsTUFBTVE7Z0JBQ05aLFFBQVFFLE1BQU1GLE1BQU07Z0JBQ3BCSyxZQUFZTztnQkFDWkw7Z0JBQ0FDO1lBQ0Y7WUFFQSxJQUFJLENBQUNaLE1BQU0sT0FBT2U7WUFFbEJmLE9BQU8sSUFBSW1CLG9CQUFXLENBQUNDLElBQUFBLHlCQUFnQixFQUFDZCxPQUFPTixNQUFNVTtZQUNyRCxPQUFPO2dCQUNMLEdBQUdLLHFCQUFxQjtnQkFDeEIsQ0FBQ1QsTUFBTUUsSUFBSSxDQUFDLEVBQUU7b0JBQUVSO2dCQUFLO1lBQ3ZCO1FBQ0Y7UUFDQXFCLFFBQVEsQ0FBQ04sdUJBQThDVCxRQUF1QixDQUFBO2dCQUM1RSxHQUFHUyxxQkFBcUI7Z0JBQ3hCLENBQUNULE1BQU1FLElBQUksQ0FBQyxFQUFFO29CQUFFUixNQUFNc0IsNEJBQVc7Z0JBQUM7WUFDcEMsQ0FBQTtRQUNBQyxVQUFVLENBQUNSLHVCQUE4Q1QsUUFBMEIsQ0FBQTtnQkFDakYsR0FBR1MscUJBQXFCO2dCQUN4QixDQUFDVCxNQUFNRSxJQUFJLENBQUMsRUFBRTtvQkFBRVIsTUFBTXdCLHVCQUFjO2dCQUFDO1lBQ3ZDLENBQUE7UUFDQUMsTUFBTSxDQUFDVix1QkFBOENULFFBQXNCLENBQUE7Z0JBQ3pFLEdBQUdTLHFCQUFxQjtnQkFDeEIsQ0FBQ1QsTUFBTUUsSUFBSSxDQUFDLEVBQUU7b0JBQUVSLE1BQU1vQixJQUFBQSx5QkFBZ0IsRUFBQ2QsT0FBT1Asc0JBQWEsRUFBRVc7Z0JBQWU7WUFDOUUsQ0FBQTtRQUNBZ0IsYUFBYSxDQUFDWCx1QkFBOENULFFBQzFEQSxNQUFNRixNQUFNLENBQUN1QixNQUFNLENBQUMsQ0FBQ0MsS0FBS0M7Z0JBQ3hCLE1BQU1DLGNBQWNqQixnQkFBZ0IsQ0FBQ2dCLFNBQVM3QixJQUFJLENBQUM7Z0JBQ25ELElBQUk4QixhQUFhLE9BQU9BLFlBQVlGLEtBQUtDO2dCQUN6QyxPQUFPRDtZQUNULEdBQUdiO1FBQ0xnQixNQUFNLENBQUNoQix1QkFBOENULFFBQXNCLENBQUE7Z0JBQ3pFLEdBQUdTLHFCQUFxQjtnQkFDeEIsQ0FBQ1QsTUFBTUUsSUFBSSxDQUFDLEVBQUU7b0JBQUVSLE1BQU1vQixJQUFBQSx5QkFBZ0IsRUFBQ2QsT0FBT1Asc0JBQWEsRUFBRVc7Z0JBQWU7WUFDOUUsQ0FBQTtRQUNBc0IsT0FBTyxDQUFDakIsdUJBQThDVCxRQUF1QixDQUFBO2dCQUMzRSxHQUFHUyxxQkFBcUI7Z0JBQ3hCLENBQUNULE1BQU1FLElBQUksQ0FBQyxFQUFFO29CQUFFUixNQUFNb0IsSUFBQUEseUJBQWdCLEVBQUNkLE9BQU9QLHNCQUFhLEVBQUVXO2dCQUFlO1lBQzlFLENBQUE7UUFDQXVCLE9BQU8sQ0FBQ2xCLHVCQUE4Q1Q7WUFDcEQsTUFBTTRCLDBCQUEwQkMsSUFBQUEsNERBQTZCLEVBQUM3QjtZQUM5RCxNQUFNVSxXQUFXQyxJQUFBQSwwQkFBaUIsRUFBQ1IsWUFBWVMsSUFBQUEsa0JBQU8sRUFBQ1osTUFBTUUsSUFBSSxFQUFFO1lBQ25FLElBQUlSLE9BQW9CUCx1QkFBdUI7Z0JBQzdDZSxNQUFNUTtnQkFDTlosUUFBUUUsTUFBTUYsTUFBTTtnQkFDcEJLLFlBQVlPO2dCQUNaTDtnQkFDQUM7WUFDRjtZQUVBLElBQUksQ0FBQ1osTUFBTSxPQUFPZTtZQUVsQixJQUFJbUIseUJBQXlCbEMsT0FBTyxJQUFJb0MsdUJBQWMsQ0FBQ3BDO1lBQ3ZELE9BQU87Z0JBQ0wsR0FBR2UscUJBQXFCO2dCQUN4QixDQUFDVCxNQUFNRSxJQUFJLENBQUMsRUFBRTtvQkFBRVI7Z0JBQUs7WUFDdkI7UUFDRjtRQUNBcUMsTUFBTSxDQUFDdEIsdUJBQThDVCxRQUFzQixDQUFBO2dCQUN6RSxHQUFHUyxxQkFBcUI7Z0JBQ3hCLENBQUNULE1BQU1FLElBQUksQ0FBQyxFQUFFO29CQUFFUixNQUFNb0IsSUFBQUEseUJBQWdCLEVBQUNkLE9BQU9nQiw0QkFBVyxFQUFFWjtnQkFBZTtZQUM1RSxDQUFBO1FBQ0FkLFFBQVEsQ0FBQ21CLHVCQUE4Q1Q7WUFDckQsTUFBTU4sT0FBT00sTUFBTUUsSUFBSSxLQUFLLE9BQU9YLG1CQUFVLEdBQUd5QyxxQkFBWTtZQUM1RCxPQUFPO2dCQUNMLEdBQUd2QixxQkFBcUI7Z0JBQ3hCLENBQUNULE1BQU1FLElBQUksQ0FBQyxFQUFFO29CQUNaUixNQUFNb0IsSUFBQUEseUJBQWdCLEVBQ3BCZCxPQUNBQSxNQUFNaUMsT0FBTyxLQUFLLE9BQU8sSUFBSXBCLG9CQUFXLENBQUNuQixRQUFRQSxNQUNqRFU7Z0JBRUo7WUFDRjtRQUNGO1FBQ0E4QixPQUFPLENBQUN6Qix1QkFBOENULFFBQXVCLENBQUE7Z0JBQzNFLEdBQUdTLHFCQUFxQjtnQkFDeEIsQ0FBQ1QsTUFBTUUsSUFBSSxDQUFDLEVBQUU7b0JBQUVSLE1BQU1vQixJQUFBQSx5QkFBZ0IsRUFBQ2QsT0FBTyxJQUFJYSxvQkFBVyxDQUFDbUIscUJBQVksR0FBRzVCO2dCQUFlO1lBQzlGLENBQUE7UUFDQStCLE9BQU8sQ0FBQzFCLHVCQUE4Q1QsUUFBdUIsQ0FBQTtnQkFDM0UsR0FBR1MscUJBQXFCO2dCQUN4QixDQUFDVCxNQUFNRSxJQUFJLENBQUMsRUFBRTtvQkFBRVIsTUFBTW9CLElBQUFBLHlCQUFnQixFQUFDZCxPQUFPUCxzQkFBYSxFQUFFVztnQkFBZTtZQUM5RSxDQUFBO1FBQ0FnQyxjQUFjLENBQUMzQix1QkFBOENUO1lBQzNELE1BQU0sRUFBRXFDLFVBQVUsRUFBRSxHQUFHckM7WUFLdkIsSUFBSU47WUFFSixJQUFJNEMsTUFBTUMsT0FBTyxDQUFDRixhQUFhO2dCQUM3QixNQUFNM0IsV0FBVyxDQUFDLEVBQUVDLElBQUFBLDBCQUFpQixFQUNuQ1IsWUFDQVMsSUFBQUEsa0JBQU8sRUFBQ1osTUFBTUUsSUFBSSxFQUFFLE9BQ3BCLGlCQUFpQixDQUFDO2dCQUNwQlIsT0FBTyxJQUFJOEMsK0JBQXNCLENBQUM7b0JBQ2hDdEMsTUFBTVE7b0JBQ05aLFFBQVE7d0JBQ051QyxZQUFZOzRCQUNWM0MsTUFBTSxJQUFJK0Msd0JBQWUsQ0FBQztnQ0FDeEJ2QyxNQUFNLENBQUMsRUFBRVEsU0FBUyxVQUFVLENBQUM7Z0NBQzdCZ0MsUUFBUUwsV0FBV2hCLE1BQU0sQ0FDdkIsQ0FBQ3FCLFFBQVFDLFNBQVksQ0FBQTt3Q0FDbkIsR0FBR0QsTUFBTTt3Q0FDVCxDQUFDRSxJQUFBQSxtQkFBVSxFQUFDRCxRQUFRLEVBQUU7NENBQ3BCRSxPQUFPRjt3Q0FDVDtvQ0FDRixDQUFBLEdBQ0EsQ0FBQzs0QkFFTDt3QkFDRjt3QkFDQUUsT0FBTzs0QkFBRW5ELE1BQU1zQiw0QkFBVzt3QkFBQztvQkFDN0I7Z0JBQ0Y7WUFDRixPQUFPO2dCQUNMdEIsT0FBT04sb0JBQ0xrQixPQUFPd0MsRUFBRSxDQUFDQyxhQUFhLEVBQ3ZCMUMsY0FBYzJDLFdBQVcsQ0FBQ1gsV0FBVyxDQUFDL0IsTUFBTTtZQUVoRDtZQUVBLE9BQU87Z0JBQ0wsR0FBR0cscUJBQXFCO2dCQUN4QixDQUFDVCxNQUFNRSxJQUFJLENBQUMsRUFBRTtvQkFBRVIsTUFBTU0sTUFBTWlDLE9BQU8sR0FBRyxJQUFJcEIsb0JBQVcsQ0FBQ25CLFFBQVFBO2dCQUFLO1lBQ3JFO1FBQ0Y7UUFDQXVELFVBQVUsQ0FBQ3hDLHVCQUE4Q1QsUUFBMEIsQ0FBQTtnQkFDakYsR0FBR1MscUJBQXFCO2dCQUN4QixDQUFDVCxNQUFNRSxJQUFJLENBQUMsRUFBRTtvQkFBRVIsTUFBTW9CLElBQUFBLHlCQUFnQixFQUFDZCxPQUFPZ0IsNEJBQVcsRUFBRVo7Z0JBQWU7WUFDNUUsQ0FBQTtRQUNBOEMsS0FBSyxDQUFDekMsdUJBQThDVCxRQUNsREEsTUFBTUYsTUFBTSxDQUFDdUIsTUFBTSxDQUFDLENBQUNDLEtBQUtDO2dCQUN4QixNQUFNQyxjQUFjakIsZ0JBQWdCLENBQUNnQixTQUFTN0IsSUFBSSxDQUFDO2dCQUNuRCxJQUFJOEIsYUFBYSxPQUFPQSxZQUFZRixLQUFLQztnQkFDekMsT0FBT0Q7WUFDVCxHQUFHYjtRQUNMMEMsUUFBUSxDQUFDMUMsdUJBQThDVDtZQUNyRCxNQUFNb0QsZ0JBQWdCLENBQUMsRUFBRXpDLElBQUFBLDBCQUFpQixFQUFDUixZQUFZSCxNQUFNRSxJQUFJLEVBQUUsY0FBYyxDQUFDO1lBQ2xGLElBQUlSLE9BQW9CLElBQUkrQyx3QkFBZSxDQUFDO2dCQUMxQ3ZDLE1BQU1rRDtnQkFDTlYsUUFBUTFDLE1BQU1xRCxPQUFPLENBQUNoQyxNQUFNLENBQUMsQ0FBQ3FCLFFBQVFDO29CQUNwQyxJQUFJVyxJQUFBQSxxQkFBYyxFQUFDWCxTQUFTO3dCQUMxQixPQUFPOzRCQUNMLEdBQUdELE1BQU07NEJBQ1QsQ0FBQ0UsSUFBQUEsbUJBQVUsRUFBQ0QsT0FBT0UsS0FBSyxFQUFFLEVBQUU7Z0NBQzFCQSxPQUFPRixPQUFPRSxLQUFLOzRCQUNyQjt3QkFDRjtvQkFDRjtvQkFFQSxPQUFPO3dCQUNMLEdBQUdILE1BQU07d0JBQ1QsQ0FBQ0UsSUFBQUEsbUJBQVUsRUFBQ0QsUUFBUSxFQUFFOzRCQUNwQkUsT0FBT0Y7d0JBQ1Q7b0JBQ0Y7Z0JBQ0YsR0FBRyxDQUFDO1lBQ047WUFFQWpELE9BQU9NLE1BQU1pQyxPQUFPLEdBQUcsSUFBSXBCLG9CQUFXLENBQUNuQixRQUFRQTtZQUMvQ0EsT0FBT29CLElBQUFBLHlCQUFnQixFQUFDZCxPQUFPTixNQUFNVTtZQUVyQyxPQUFPO2dCQUNMLEdBQUdLLHFCQUFxQjtnQkFDeEIsQ0FBQ1QsTUFBTUUsSUFBSSxDQUFDLEVBQUU7b0JBQUVSO2dCQUFLO1lBQ3ZCO1FBQ0Y7UUFDQTZELE1BQU0sQ0FBQzlDLHVCQUE4Q1Q7WUFDbkQsT0FBT0EsTUFBTXVELElBQUksQ0FBQ2xDLE1BQU0sQ0FBQyxDQUFDQyxLQUFLa0M7Z0JBQzdCLElBQUlDLElBQUFBLGlCQUFVLEVBQUNELE1BQU07b0JBQ25CLE1BQU05QyxXQUFXQyxJQUFBQSwwQkFBaUIsRUFBQ1IsWUFBWVMsSUFBQUEsa0JBQU8sRUFBQzRDLElBQUl0RCxJQUFJLEVBQUU7b0JBQ2pFLE1BQU0wQiwwQkFBMEJDLElBQUFBLDREQUE2QixFQUFDN0I7b0JBQzlELElBQUlOLE9BQW9CUCx1QkFBdUI7d0JBQzdDZSxNQUFNUTt3QkFDTlosUUFBUTBELElBQUkxRCxNQUFNO3dCQUNsQkssWUFBWU87d0JBQ1pMO3dCQUNBQztvQkFDRjtvQkFFQSxJQUFJLENBQUNaLE1BQU0sT0FBTzRCO29CQUVsQixJQUFJTSx5QkFBeUJsQyxPQUFPLElBQUlvQyx1QkFBYyxDQUFDcEM7b0JBQ3ZELE9BQU87d0JBQ0wsR0FBRzRCLEdBQUc7d0JBQ04sQ0FBQ2tDLElBQUl0RCxJQUFJLENBQUMsRUFBRTs0QkFBRVI7d0JBQUs7b0JBQ3JCO2dCQUNGO2dCQUVBLE9BQU87b0JBQ0wsR0FBRzRCLEdBQUc7b0JBQ04sR0FBR2tDLElBQUkxRCxNQUFNLENBQUN1QixNQUFNLENBQUMsQ0FBQ3FDLGdCQUFnQm5DO3dCQUNwQyxNQUFNQyxjQUFjakIsZ0JBQWdCLENBQUNnQixTQUFTN0IsSUFBSSxDQUFDO3dCQUNuRCxJQUFJOEIsYUFBYSxPQUFPQSxZQUFZa0MsZ0JBQWdCbkM7d0JBQ3BELE9BQU9tQztvQkFDVCxHQUFHcEMsSUFBSTtnQkFDVDtZQUNGLEdBQUdiO1FBQ0w7UUFDQWpCLE1BQU0sQ0FBQ2lCLHVCQUE4Q1QsUUFBc0IsQ0FBQTtnQkFDekUsR0FBR1MscUJBQXFCO2dCQUN4QixDQUFDVCxNQUFNRSxJQUFJLENBQUMsRUFBRTtvQkFDWlIsTUFBTW9CLElBQUFBLHlCQUFnQixFQUNwQmQsT0FDQUEsTUFBTWlDLE9BQU8sS0FBSyxPQUFPLElBQUlwQixvQkFBVyxDQUFDcEIsc0JBQWEsSUFBSUEsc0JBQWEsRUFDdkVXO2dCQUVKO1lBQ0YsQ0FBQTtRQUNBdUQsVUFBVSxDQUFDbEQsdUJBQThDVCxRQUEwQixDQUFBO2dCQUNqRixHQUFHUyxxQkFBcUI7Z0JBQ3hCLENBQUNULE1BQU1FLElBQUksQ0FBQyxFQUFFO29CQUFFUixNQUFNb0IsSUFBQUEseUJBQWdCLEVBQUNkLE9BQU9QLHNCQUFhLEVBQUVXO2dCQUFlO1lBQzlFLENBQUE7UUFDQXdELFFBQVEsQ0FBQ25ELHVCQUE4Q1QsUUFBd0IsQ0FBQTtnQkFDN0UsR0FBR1MscUJBQXFCO2dCQUN4QixDQUFDVCxNQUFNRSxJQUFJLENBQUMsRUFBRTtvQkFBRVIsTUFBTW9CLElBQUFBLHlCQUFnQixFQUFDZCxPQUFPUCxzQkFBYSxFQUFFVztnQkFBZTtZQUM5RSxDQUFBO0lBQ0Y7SUFFQSxNQUFNeUQsWUFBWWpCLElBQUFBLG1CQUFVLEVBQUMxQztJQUU3QixNQUFNNEQsZUFBZWhFLE9BQU91QixNQUFNLENBQUMsQ0FBQ1osdUJBQXVCVDtRQUN6RCxNQUFNK0QsY0FBY3hELGdCQUFnQixDQUFDUCxNQUFNTixJQUFJLENBQUM7UUFFaEQsSUFBSSxPQUFPcUUsZ0JBQWdCLFlBQVk7WUFDckMsT0FBT3REO1FBQ1Q7UUFFQSxNQUFNdUQsU0FBU0QsWUFBWXRELHVCQUF1QlQ7UUFDbEQsSUFBSWlFLE9BQU9DLElBQUksQ0FBQ0YsUUFBUUcsTUFBTSxLQUFLLEdBQUc7WUFDcEMsT0FBTzFEO1FBQ1Q7UUFFQSxPQUFPO1lBQ0wsR0FBR0EscUJBQXFCO1lBQ3hCLEdBQUdzRCxZQUFZdEQsdUJBQXVCVCxNQUFNO1FBQzlDO0lBQ0YsR0FBRyxDQUFDO0lBRUosSUFBSWlFLE9BQU9DLElBQUksQ0FBQ0osY0FBY0ssTUFBTSxLQUFLLEdBQUc7UUFDMUMsT0FBTztJQUNUO0lBRUEsT0FBTyxJQUFJM0IsK0JBQXNCLENBQUM7UUFDaEN0QyxNQUFNLENBQUMsUUFBUSxFQUFFMkQsVUFBVSxLQUFLLENBQUM7UUFDakMvRCxRQUFRZ0U7SUFDVjtBQUNGIn0=
|
|
271
|
+
//# sourceMappingURL=buildMutationInputType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/buildMutationInputType.ts"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport type { GraphQLInputFieldConfig, GraphQLScalarType, GraphQLType } from 'graphql'\nimport type { GraphQLInfo } from 'payload/config'\nimport type {\n ArrayField,\n BlockField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n Field,\n GroupField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextField,\n RowField,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SelectField,\n TabsField,\n TextField,\n TextareaField,\n UploadField,\n} from 'payload/types'\n\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLInputObjectType,\n GraphQLInt,\n GraphQLList,\n GraphQLNonNull,\n GraphQLString,\n} from 'graphql'\nimport { GraphQLJSON } from 'graphql-type-json'\nimport { fieldAffectsData, optionIsObject, tabHasName } from 'payload/types'\nimport { toWords } from 'payload/utilities'\nimport { flattenTopLevelFields } from 'payload/utilities'\n\nimport combineParentName from '../utilities/combineParentName.js'\nimport formatName from '../utilities/formatName.js'\nimport { groupOrTabHasRequiredSubfield } from '../utilities/groupOrTabHasRequiredSubfield.js'\nimport withNullableType from './withNullableType.js'\n\nconst idFieldTypes = {\n number: GraphQLInt,\n text: GraphQLString,\n}\n\nexport const getCollectionIDType = (\n type: keyof typeof idFieldTypes,\n collection: SanitizedCollectionConfig,\n): GraphQLScalarType => {\n const idField = flattenTopLevelFields(collection.fields).find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n if (!idField) {\n return idFieldTypes[type]\n }\n\n return idFieldTypes[idField.type]\n}\n\nexport type InputObjectTypeConfig = {\n [path: string]: GraphQLInputFieldConfig\n}\n\ntype BuildMutationInputTypeArgs = {\n config: SanitizedConfig\n fields: Field[]\n forceNullable?: boolean\n graphqlResult: GraphQLInfo\n name: string\n parentName: string\n}\n\nexport function buildMutationInputType({\n name,\n config,\n fields,\n forceNullable = false,\n graphqlResult,\n parentName,\n}: BuildMutationInputTypeArgs): GraphQLInputObjectType | null {\n const fieldToSchemaMap = {\n array: (inputObjectTypeConfig: InputObjectTypeConfig, field: ArrayField) => {\n const fullName = combineParentName(parentName, toWords(field.name, true))\n let type: GraphQLList<GraphQLType> | GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: field.fields,\n graphqlResult,\n parentName: fullName,\n })\n\n if (!type) return inputObjectTypeConfig\n\n type = new GraphQLList(withNullableType(field, type, forceNullable))\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type },\n }\n },\n blocks: (inputObjectTypeConfig: InputObjectTypeConfig, field: BlockField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: GraphQLJSON },\n }),\n checkbox: (inputObjectTypeConfig: InputObjectTypeConfig, field: CheckboxField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: GraphQLBoolean },\n }),\n code: (inputObjectTypeConfig: InputObjectTypeConfig, field: CodeField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n collapsible: (inputObjectTypeConfig: InputObjectTypeConfig, field: CollapsibleField) =>\n field.fields.reduce((acc, subField: CollapsibleField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(acc, subField)\n return acc\n }, inputObjectTypeConfig),\n date: (inputObjectTypeConfig: InputObjectTypeConfig, field: DateField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n email: (inputObjectTypeConfig: InputObjectTypeConfig, field: EmailField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n group: (inputObjectTypeConfig: InputObjectTypeConfig, field: GroupField) => {\n const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field)\n const fullName = combineParentName(parentName, toWords(field.name, true))\n let type: GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: field.fields,\n graphqlResult,\n parentName: fullName,\n })\n\n if (!type) return inputObjectTypeConfig\n\n if (requiresAtLeastOneField) type = new GraphQLNonNull(type)\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type },\n }\n },\n json: (inputObjectTypeConfig: InputObjectTypeConfig, field: JSONField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLJSON, forceNullable) },\n }),\n number: (inputObjectTypeConfig: InputObjectTypeConfig, field: NumberField) => {\n const type = field.name === 'id' ? GraphQLInt : GraphQLFloat\n return {\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n field.hasMany === true ? new GraphQLList(type) : type,\n forceNullable,\n ),\n },\n }\n },\n point: (inputObjectTypeConfig: InputObjectTypeConfig, field: PointField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, new GraphQLList(GraphQLFloat), forceNullable) },\n }),\n radio: (inputObjectTypeConfig: InputObjectTypeConfig, field: RadioField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n relationship: (inputObjectTypeConfig: InputObjectTypeConfig, field: RelationshipField) => {\n const { relationTo } = field\n type PayloadGraphQLRelationshipType =\n | GraphQLInputObjectType\n | GraphQLList<GraphQLScalarType>\n | GraphQLScalarType\n let type: PayloadGraphQLRelationshipType\n\n if (Array.isArray(relationTo)) {\n const fullName = `${combineParentName(\n parentName,\n toWords(field.name, true),\n )}RelationshipInput`\n type = new GraphQLInputObjectType({\n name: fullName,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${fullName}RelationTo`,\n values: relationTo.reduce(\n (values, option) => ({\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n })\n } else {\n type = getCollectionIDType(\n config.db.defaultIDType,\n graphqlResult.collections[relationTo].config,\n )\n }\n\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type: field.hasMany ? new GraphQLList(type) : type },\n }\n },\n richText: (inputObjectTypeConfig: InputObjectTypeConfig, field: RichTextField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLJSON, forceNullable) },\n }),\n row: (inputObjectTypeConfig: InputObjectTypeConfig, field: RowField) =>\n field.fields.reduce((acc, subField: Field) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(acc, subField)\n return acc\n }, inputObjectTypeConfig),\n select: (inputObjectTypeConfig: InputObjectTypeConfig, field: SelectField) => {\n const formattedName = `${combineParentName(parentName, field.name)}_MutationInput`\n let type: GraphQLType = new GraphQLEnumType({\n name: formattedName,\n values: field.options.reduce((values, option) => {\n if (optionIsObject(option)) {\n return {\n ...values,\n [formatName(option.value)]: {\n value: option.value,\n },\n }\n }\n\n return {\n ...values,\n [formatName(option)]: {\n value: option,\n },\n }\n }, {}),\n })\n\n type = field.hasMany ? new GraphQLList(type) : type\n type = withNullableType(field, type, forceNullable)\n\n return {\n ...inputObjectTypeConfig,\n [field.name]: { type },\n }\n },\n tabs: (inputObjectTypeConfig: InputObjectTypeConfig, field: TabsField) => {\n return field.tabs.reduce((acc, tab) => {\n if (tabHasName(tab)) {\n const fullName = combineParentName(parentName, toWords(tab.name, true))\n const requiresAtLeastOneField = groupOrTabHasRequiredSubfield(field)\n let type: GraphQLType = buildMutationInputType({\n name: fullName,\n config,\n fields: tab.fields,\n graphqlResult,\n parentName: fullName,\n })\n\n if (!type) return acc\n\n if (requiresAtLeastOneField) type = new GraphQLNonNull(type)\n return {\n ...acc,\n [tab.name]: { type },\n }\n }\n\n return {\n ...acc,\n ...tab.fields.reduce((subFieldSchema, subField) => {\n const addSubField = fieldToSchemaMap[subField.type]\n if (addSubField) return addSubField(subFieldSchema, subField)\n return subFieldSchema\n }, acc),\n }\n }, inputObjectTypeConfig)\n },\n text: (inputObjectTypeConfig: InputObjectTypeConfig, field: TextField) => ({\n ...inputObjectTypeConfig,\n [field.name]: {\n type: withNullableType(\n field,\n field.hasMany === true ? new GraphQLList(GraphQLString) : GraphQLString,\n forceNullable,\n ),\n },\n }),\n textarea: (inputObjectTypeConfig: InputObjectTypeConfig, field: TextareaField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n upload: (inputObjectTypeConfig: InputObjectTypeConfig, field: UploadField) => ({\n ...inputObjectTypeConfig,\n [field.name]: { type: withNullableType(field, GraphQLString, forceNullable) },\n }),\n }\n\n const fieldName = formatName(name)\n\n const fieldSchemas = fields.reduce((inputObjectTypeConfig, field) => {\n const fieldSchema = fieldToSchemaMap[field.type]\n\n if (typeof fieldSchema !== 'function') {\n return inputObjectTypeConfig\n }\n\n const schema = fieldSchema(inputObjectTypeConfig, field)\n if (Object.keys(schema).length === 0) {\n return inputObjectTypeConfig\n }\n\n return {\n ...inputObjectTypeConfig,\n ...fieldSchema(inputObjectTypeConfig, field),\n }\n }, {})\n\n if (Object.keys(fieldSchemas).length === 0) {\n return null\n }\n\n return new GraphQLInputObjectType({\n name: `mutation${fieldName}Input`,\n fields: fieldSchemas,\n })\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInputObjectType","GraphQLInt","GraphQLList","GraphQLNonNull","GraphQLString","GraphQLJSON","fieldAffectsData","optionIsObject","tabHasName","toWords","flattenTopLevelFields","combineParentName","formatName","groupOrTabHasRequiredSubfield","withNullableType","idFieldTypes","number","text","getCollectionIDType","type","collection","idField","fields","find","field","name","buildMutationInputType","config","forceNullable","graphqlResult","parentName","fieldToSchemaMap","array","inputObjectTypeConfig","fullName","blocks","checkbox","code","collapsible","reduce","acc","subField","addSubField","date","email","group","requiresAtLeastOneField","json","hasMany","point","radio","relationship","relationTo","Array","isArray","values","option","value","db","defaultIDType","collections","richText","row","select","formattedName","options","tabs","tab","subFieldSchema","textarea","upload","fieldName","fieldSchemas","fieldSchema","schema","Object","keys","length"],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { GraphQLFieldConfig } from 'graphql';
|
|
2
|
-
import { GraphQLObjectType } from 'graphql';
|
|
3
2
|
import type { GraphQLInfo } from 'payload/config';
|
|
4
|
-
import type {
|
|
3
|
+
import type { Field, SanitizedConfig } from 'payload/types';
|
|
4
|
+
import { GraphQLObjectType } from 'graphql';
|
|
5
5
|
export type ObjectTypeConfig = {
|
|
6
6
|
[path: string]: GraphQLFieldConfig<any, any>;
|
|
7
7
|
};
|
|
8
8
|
type Args = {
|
|
9
9
|
baseFields?: ObjectTypeConfig;
|
|
10
|
+
config: SanitizedConfig;
|
|
10
11
|
fields: Field[];
|
|
11
12
|
forceNullable?: boolean;
|
|
13
|
+
graphqlResult: GraphQLInfo;
|
|
12
14
|
name: string;
|
|
13
15
|
parentName: string;
|
|
14
|
-
graphqlResult: GraphQLInfo;
|
|
15
|
-
config: SanitizedConfig;
|
|
16
16
|
};
|
|
17
|
-
declare function buildObjectType({ name, baseFields, fields, forceNullable,
|
|
17
|
+
declare function buildObjectType({ name, baseFields, config, fields, forceNullable, graphqlResult, parentName, }: Args): GraphQLObjectType;
|
|
18
18
|
export default buildObjectType;
|
|
19
19
|
//# sourceMappingURL=buildObjectType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildObjectType.d.ts","sourceRoot":"","sources":["../../src/schema/buildObjectType.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"buildObjectType.d.ts","sourceRoot":"","sources":["../../src/schema/buildObjectType.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAQV,KAAK,EAUL,eAAe,EAMhB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAOL,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AA4BhB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAC7C,CAAA;AAED,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,iBAAS,eAAe,CAAC,EACvB,IAAI,EACJ,UAAe,EACf,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,UAAU,GACX,EAAE,IAAI,GAAG,iBAAiB,CA+jB1B;AAED,eAAe,eAAe,CAAA"}
|