@payloadcms/graphql 3.0.0-alpha.8 → 3.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +39 -95
  4. package/dist/index.js.map +1 -0
  5. package/dist/resolvers/auth/access.d.ts +1 -1
  6. package/dist/resolvers/auth/access.d.ts.map +1 -1
  7. package/dist/resolvers/auth/access.js +8 -23
  8. package/dist/resolvers/auth/access.js.map +1 -0
  9. package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -1
  10. package/dist/resolvers/auth/forgotPassword.js +6 -16
  11. package/dist/resolvers/auth/forgotPassword.js.map +1 -0
  12. package/dist/resolvers/auth/init.d.ts +1 -1
  13. package/dist/resolvers/auth/init.d.ts.map +1 -1
  14. package/dist/resolvers/auth/init.js +6 -16
  15. package/dist/resolvers/auth/init.js.map +1 -0
  16. package/dist/resolvers/auth/login.d.ts +1 -4
  17. package/dist/resolvers/auth/login.d.ts.map +1 -1
  18. package/dist/resolvers/auth/login.js +10 -20
  19. package/dist/resolvers/auth/login.js.map +1 -0
  20. package/dist/resolvers/auth/logout.d.ts.map +1 -1
  21. package/dist/resolvers/auth/logout.js +8 -18
  22. package/dist/resolvers/auth/logout.js.map +1 -0
  23. package/dist/resolvers/auth/me.d.ts.map +1 -1
  24. package/dist/resolvers/auth/me.js +6 -16
  25. package/dist/resolvers/auth/me.js.map +1 -0
  26. package/dist/resolvers/auth/refresh.d.ts +1 -2
  27. package/dist/resolvers/auth/refresh.d.ts.map +1 -1
  28. package/dist/resolvers/auth/refresh.js +11 -21
  29. package/dist/resolvers/auth/refresh.js.map +1 -0
  30. package/dist/resolvers/auth/resetPassword.d.ts +1 -2
  31. package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
  32. package/dist/resolvers/auth/resetPassword.js +10 -20
  33. package/dist/resolvers/auth/resetPassword.js.map +1 -0
  34. package/dist/resolvers/auth/unlock.d.ts +1 -1
  35. package/dist/resolvers/auth/unlock.d.ts.map +1 -1
  36. package/dist/resolvers/auth/unlock.js +6 -16
  37. package/dist/resolvers/auth/unlock.js.map +1 -0
  38. package/dist/resolvers/auth/verifyEmail.d.ts +1 -1
  39. package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
  40. package/dist/resolvers/auth/verifyEmail.js +6 -16
  41. package/dist/resolvers/auth/verifyEmail.js.map +1 -0
  42. package/dist/resolvers/collections/create.d.ts +1 -1
  43. package/dist/resolvers/collections/create.d.ts.map +1 -1
  44. package/dist/resolvers/collections/create.js +6 -16
  45. package/dist/resolvers/collections/create.js.map +1 -0
  46. package/dist/resolvers/collections/delete.d.ts.map +1 -1
  47. package/dist/resolvers/collections/delete.js +8 -18
  48. package/dist/resolvers/collections/delete.js.map +1 -0
  49. package/dist/resolvers/collections/docAccess.d.ts +1 -1
  50. package/dist/resolvers/collections/docAccess.d.ts.map +1 -1
  51. package/dist/resolvers/collections/docAccess.js +7 -17
  52. package/dist/resolvers/collections/docAccess.js.map +1 -0
  53. package/dist/resolvers/collections/duplicate.d.ts +13 -0
  54. package/dist/resolvers/collections/duplicate.d.ts.map +1 -0
  55. package/dist/resolvers/collections/duplicate.js +22 -0
  56. package/dist/resolvers/collections/duplicate.js.map +1 -0
  57. package/dist/resolvers/collections/find.d.ts.map +1 -1
  58. package/dist/resolvers/collections/find.js +8 -18
  59. package/dist/resolvers/collections/find.js.map +1 -0
  60. package/dist/resolvers/collections/findByID.d.ts.map +1 -1
  61. package/dist/resolvers/collections/findByID.js +8 -18
  62. package/dist/resolvers/collections/findByID.js.map +1 -0
  63. package/dist/resolvers/collections/findVersionByID.d.ts +1 -1
  64. package/dist/resolvers/collections/findVersionByID.d.ts.map +1 -1
  65. package/dist/resolvers/collections/findVersionByID.js +8 -18
  66. package/dist/resolvers/collections/findVersionByID.js.map +1 -0
  67. package/dist/resolvers/collections/findVersions.d.ts +1 -1
  68. package/dist/resolvers/collections/findVersions.d.ts.map +1 -1
  69. package/dist/resolvers/collections/findVersions.js +8 -18
  70. package/dist/resolvers/collections/findVersions.js.map +1 -0
  71. package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -1
  72. package/dist/resolvers/collections/restoreVersion.js +6 -16
  73. package/dist/resolvers/collections/restoreVersion.js.map +1 -0
  74. package/dist/resolvers/collections/update.d.ts.map +1 -1
  75. package/dist/resolvers/collections/update.js +8 -18
  76. package/dist/resolvers/collections/update.js.map +1 -0
  77. package/dist/resolvers/globals/docAccess.d.ts +1 -1
  78. package/dist/resolvers/globals/docAccess.d.ts.map +1 -1
  79. package/dist/resolvers/globals/docAccess.js +6 -16
  80. package/dist/resolvers/globals/docAccess.js.map +1 -0
  81. package/dist/resolvers/globals/findOne.d.ts.map +1 -1
  82. package/dist/resolvers/globals/findOne.js +6 -16
  83. package/dist/resolvers/globals/findOne.js.map +1 -0
  84. package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -1
  85. package/dist/resolvers/globals/findVersionByID.js +6 -16
  86. package/dist/resolvers/globals/findVersionByID.js.map +1 -0
  87. package/dist/resolvers/globals/findVersions.d.ts.map +1 -1
  88. package/dist/resolvers/globals/findVersions.js +6 -16
  89. package/dist/resolvers/globals/findVersions.js.map +1 -0
  90. package/dist/resolvers/globals/index.d.ts +5 -5
  91. package/dist/resolvers/globals/index.d.ts.map +1 -1
  92. package/dist/resolvers/globals/index.js +7 -38
  93. package/dist/resolvers/globals/index.js.map +1 -0
  94. package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -1
  95. package/dist/resolvers/globals/restoreVersion.js +6 -16
  96. package/dist/resolvers/globals/restoreVersion.js.map +1 -0
  97. package/dist/resolvers/globals/update.d.ts +1 -1
  98. package/dist/resolvers/globals/update.d.ts.map +1 -1
  99. package/dist/resolvers/globals/update.js +6 -16
  100. package/dist/resolvers/globals/update.js.map +1 -0
  101. package/dist/resolvers/types.d.ts +2 -2
  102. package/dist/resolvers/types.d.ts.map +1 -1
  103. package/dist/resolvers/types.js +2 -5
  104. package/dist/resolvers/types.js.map +1 -0
  105. package/dist/schema/buildFallbackLocaleInputType.d.ts +1 -1
  106. package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -1
  107. package/dist/schema/buildFallbackLocaleInputType.js +6 -21
  108. package/dist/schema/buildFallbackLocaleInputType.js.map +1 -0
  109. package/dist/schema/buildLocaleInputType.d.ts +1 -1
  110. package/dist/schema/buildLocaleInputType.d.ts.map +1 -1
  111. package/dist/schema/buildLocaleInputType.js +6 -21
  112. package/dist/schema/buildLocaleInputType.js.map +1 -0
  113. package/dist/schema/buildMutationInputType.d.ts +6 -6
  114. package/dist/schema/buildMutationInputType.d.ts.map +1 -1
  115. package/dist/schema/buildMutationInputType.js +59 -81
  116. package/dist/schema/buildMutationInputType.js.map +1 -0
  117. package/dist/schema/buildObjectType.d.ts +5 -5
  118. package/dist/schema/buildObjectType.d.ts.map +1 -1
  119. package/dist/schema/buildObjectType.js +68 -83
  120. package/dist/schema/buildObjectType.js.map +1 -0
  121. package/dist/schema/buildPaginatedListType.js +15 -25
  122. package/dist/schema/buildPaginatedListType.js.map +1 -0
  123. package/dist/schema/buildPoliciesType.d.ts +1 -1
  124. package/dist/schema/buildPoliciesType.d.ts.map +1 -1
  125. package/dist/schema/buildPoliciesType.js +31 -57
  126. package/dist/schema/buildPoliciesType.js.map +1 -0
  127. package/dist/schema/buildWhereInputType.d.ts +1 -1
  128. package/dist/schema/buildWhereInputType.d.ts.map +1 -1
  129. package/dist/schema/buildWhereInputType.js +19 -34
  130. package/dist/schema/buildWhereInputType.js.map +1 -0
  131. package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
  132. package/dist/schema/fieldToWhereInputSchemaMap.js +34 -48
  133. package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -0
  134. package/dist/schema/initCollections.d.ts.map +1 -1
  135. package/dist/schema/initCollections.js +182 -185
  136. package/dist/schema/initCollections.js.map +1 -0
  137. package/dist/schema/initGlobals.d.ts.map +1 -1
  138. package/dist/schema/initGlobals.js +59 -73
  139. package/dist/schema/initGlobals.js.map +1 -0
  140. package/dist/schema/isFieldNullable.js +4 -14
  141. package/dist/schema/isFieldNullable.js.map +1 -0
  142. package/dist/schema/operators.js +2 -12
  143. package/dist/schema/operators.js.map +1 -0
  144. package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -1
  145. package/dist/schema/recursivelyBuildNestedPaths.js +11 -26
  146. package/dist/schema/recursivelyBuildNestedPaths.js.map +1 -0
  147. package/dist/schema/withNullableType.d.ts.map +1 -1
  148. package/dist/schema/withNullableType.js +4 -14
  149. package/dist/schema/withNullableType.js.map +1 -0
  150. package/dist/schema/withOperators.d.ts +1 -1
  151. package/dist/schema/withOperators.d.ts.map +1 -1
  152. package/dist/schema/withOperators.js +82 -86
  153. package/dist/schema/withOperators.js.map +1 -0
  154. package/dist/utilities/combineParentName.js +4 -19
  155. package/dist/utilities/combineParentName.js.map +1 -0
  156. package/dist/utilities/formatName.js +2 -12
  157. package/dist/utilities/formatName.js.map +1 -0
  158. package/dist/utilities/formatName.spec.js +3 -12
  159. package/dist/utilities/formatName.spec.js.map +1 -0
  160. package/dist/utilities/formatOptions.js +5 -20
  161. package/dist/utilities/formatOptions.js.map +1 -0
  162. package/dist/utilities/getCheckIfLocaleObject.js +2 -12
  163. package/dist/utilities/getCheckIfLocaleObject.js.map +1 -0
  164. package/dist/utilities/groupOrTabHasRequiredSubfield.js +4 -14
  165. package/dist/utilities/groupOrTabHasRequiredSubfield.js.map +1 -0
  166. package/dist/utilities/uppercase.js +2 -12
  167. package/dist/utilities/uppercase.js.map +1 -0
  168. package/dist/utilities/wrapCustomResolver.d.ts +2 -2
  169. package/dist/utilities/wrapCustomResolver.d.ts.map +1 -1
  170. package/dist/utilities/wrapCustomResolver.js +4 -14
  171. package/dist/utilities/wrapCustomResolver.js.map +1 -0
  172. package/package.json +11 -6
  173. package/src/index.ts +24 -24
  174. package/dist/utilities/isolateTransactionID.d.ts +0 -2
  175. package/dist/utilities/isolateTransactionID.d.ts.map +0 -1
  176. package/dist/utilities/isolateTransactionID.js +0 -3
@@ -1,101 +1,86 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "withOperators", {
6
- enumerable: true,
7
- get: function() {
8
- return withOperators;
9
- }
10
- });
11
- const _graphql = require("graphql");
12
- const _graphqlscalars = require("graphql-scalars");
13
- const _graphqltypejson = require("graphql-type-json");
14
- const _types = require("payload/types");
15
- const _combineParentName = /*#__PURE__*/ _interop_require_default(require("../utilities/combineParentName"));
16
- const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
17
- const _operators = /*#__PURE__*/ _interop_require_default(require("./operators"));
18
- function _interop_require_default(obj) {
19
- return obj && obj.__esModule ? obj : {
20
- default: obj
21
- };
22
- }
23
- const GeoJSONObject = new _graphql.GraphQLInputObjectType({
1
+ import { GraphQLBoolean, GraphQLEnumType, GraphQLFloat, GraphQLInputObjectType, GraphQLInt, GraphQLList, GraphQLString } from 'graphql';
2
+ import { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars';
3
+ import { GraphQLJSON } from 'graphql-type-json';
4
+ import { optionIsObject } from 'payload/types';
5
+ import combineParentName from '../utilities/combineParentName.js';
6
+ import formatName from '../utilities/formatName.js';
7
+ import operators from './operators.js';
8
+ const GeoJSONObject = new GraphQLInputObjectType({
24
9
  name: 'GeoJSONObject',
25
10
  fields: {
26
- coordinates: {
27
- type: _graphqltypejson.GraphQLJSON
28
- },
29
11
  type: {
30
- type: _graphql.GraphQLString
12
+ type: GraphQLString
13
+ },
14
+ coordinates: {
15
+ type: GraphQLJSON
31
16
  }
32
17
  }
33
18
  });
34
19
  const defaults = {
35
20
  checkbox: {
36
21
  operators: [
37
- ..._operators.default.equality.map((operator)=>({
22
+ ...operators.equality.map((operator)=>({
38
23
  name: operator,
39
- type: _graphql.GraphQLBoolean
24
+ type: GraphQLBoolean
40
25
  }))
41
26
  ]
42
27
  },
43
28
  code: {
44
29
  operators: [
45
30
  ...[
46
- ..._operators.default.equality,
47
- ..._operators.default.partial
31
+ ...operators.equality,
32
+ ...operators.partial
48
33
  ].map((operator)=>({
49
34
  name: operator,
50
- type: _graphql.GraphQLString
35
+ type: GraphQLString
51
36
  }))
52
37
  ]
53
38
  },
54
39
  date: {
55
40
  operators: [
56
41
  ...[
57
- ..._operators.default.equality,
58
- ..._operators.default.comparison,
42
+ ...operators.equality,
43
+ ...operators.comparison,
59
44
  'like'
60
45
  ].map((operator)=>({
61
46
  name: operator,
62
- type: _graphqlscalars.DateTimeResolver
47
+ type: DateTimeResolver
63
48
  }))
64
49
  ]
65
50
  },
66
51
  email: {
67
52
  operators: [
68
53
  ...[
69
- ..._operators.default.equality,
70
- ..._operators.default.partial,
71
- ..._operators.default.contains
54
+ ...operators.equality,
55
+ ...operators.partial,
56
+ ...operators.contains
72
57
  ].map((operator)=>({
73
58
  name: operator,
74
- type: _graphqlscalars.EmailAddressResolver
59
+ type: EmailAddressResolver
75
60
  }))
76
61
  ]
77
62
  },
78
63
  json: {
79
64
  operators: [
80
65
  ...[
81
- ..._operators.default.equality,
82
- ..._operators.default.partial,
83
- ..._operators.default.geojson
66
+ ...operators.equality,
67
+ ...operators.partial,
68
+ ...operators.geojson
84
69
  ].map((operator)=>({
85
70
  name: operator,
86
- type: _graphqltypejson.GraphQLJSON
71
+ type: GraphQLJSON
87
72
  }))
88
73
  ]
89
74
  },
90
75
  number: {
91
76
  operators: [
92
77
  ...[
93
- ..._operators.default.equality,
94
- ..._operators.default.comparison
78
+ ...operators.equality,
79
+ ...operators.comparison
95
80
  ].map((operator)=>({
96
81
  name: operator,
97
82
  type: (field)=>{
98
- return field?.name === 'id' ? _graphql.GraphQLInt : _graphql.GraphQLFloat;
83
+ return field?.name === 'id' ? GraphQLInt : GraphQLFloat;
99
84
  }
100
85
  }))
101
86
  ]
@@ -103,14 +88,14 @@ const defaults = {
103
88
  point: {
104
89
  operators: [
105
90
  ...[
106
- ..._operators.default.equality,
107
- ..._operators.default.comparison,
108
- ..._operators.default.geo
91
+ ...operators.equality,
92
+ ...operators.comparison,
93
+ ...operators.geo
109
94
  ].map((operator)=>({
110
95
  name: operator,
111
- type: new _graphql.GraphQLList(_graphql.GraphQLFloat)
96
+ type: new GraphQLList(GraphQLFloat)
112
97
  })),
113
- ..._operators.default.geojson.map((operator)=>({
98
+ ...operators.geojson.map((operator)=>({
114
99
  name: operator,
115
100
  /**
116
101
  * @example:
@@ -135,24 +120,24 @@ const defaults = {
135
120
  radio: {
136
121
  operators: [
137
122
  ...[
138
- ..._operators.default.equality,
139
- ..._operators.default.partial
123
+ ...operators.equality,
124
+ ...operators.partial
140
125
  ].map((operator)=>({
141
126
  name: operator,
142
- type: (field, parentName)=>new _graphql.GraphQLEnumType({
143
- name: `${(0, _combineParentName.default)(parentName, field.name)}_Input`,
127
+ type: (field, parentName)=>new GraphQLEnumType({
128
+ name: `${combineParentName(parentName, field.name)}_Input`,
144
129
  values: field.options.reduce((values, option)=>{
145
- if ((0, _types.optionIsObject)(option)) {
130
+ if (optionIsObject(option)) {
146
131
  return {
147
132
  ...values,
148
- [(0, _formatName.default)(option.value)]: {
133
+ [formatName(option.value)]: {
149
134
  value: option.value
150
135
  }
151
136
  };
152
137
  }
153
138
  return {
154
139
  ...values,
155
- [(0, _formatName.default)(option)]: {
140
+ [formatName(option)]: {
156
141
  value: option
157
142
  }
158
143
  };
@@ -164,46 +149,46 @@ const defaults = {
164
149
  relationship: {
165
150
  operators: [
166
151
  ...[
167
- ..._operators.default.equality,
168
- ..._operators.default.contains
152
+ ...operators.equality,
153
+ ...operators.contains
169
154
  ].map((operator)=>({
170
155
  name: operator,
171
- type: _graphqltypejson.GraphQLJSON
156
+ type: GraphQLJSON
172
157
  }))
173
158
  ]
174
159
  },
175
160
  richText: {
176
161
  operators: [
177
162
  ...[
178
- ..._operators.default.equality,
179
- ..._operators.default.partial
163
+ ...operators.equality,
164
+ ...operators.partial
180
165
  ].map((operator)=>({
181
166
  name: operator,
182
- type: _graphqltypejson.GraphQLJSON
167
+ type: GraphQLJSON
183
168
  }))
184
169
  ]
185
170
  },
186
171
  select: {
187
172
  operators: [
188
173
  ...[
189
- ..._operators.default.equality,
190
- ..._operators.default.contains
174
+ ...operators.equality,
175
+ ...operators.contains
191
176
  ].map((operator)=>({
192
177
  name: operator,
193
- type: (field, parentName)=>new _graphql.GraphQLEnumType({
194
- name: `${(0, _combineParentName.default)(parentName, field.name)}_Input`,
178
+ type: (field, parentName)=>new GraphQLEnumType({
179
+ name: `${combineParentName(parentName, field.name)}_Input`,
195
180
  values: field.options.reduce((values, option)=>{
196
- if ((0, _types.optionIsObject)(option)) {
181
+ if (optionIsObject(option)) {
197
182
  return {
198
183
  ...values,
199
- [(0, _formatName.default)(option.value)]: {
184
+ [formatName(option.value)]: {
200
185
  value: option.value
201
186
  }
202
187
  };
203
188
  }
204
189
  return {
205
190
  ...values,
206
- [(0, _formatName.default)(option)]: {
191
+ [formatName(option)]: {
207
192
  value: option
208
193
  }
209
194
  };
@@ -215,31 +200,31 @@ const defaults = {
215
200
  text: {
216
201
  operators: [
217
202
  ...[
218
- ..._operators.default.equality,
219
- ..._operators.default.partial,
220
- ..._operators.default.contains
203
+ ...operators.equality,
204
+ ...operators.partial,
205
+ ...operators.contains
221
206
  ].map((operator)=>({
222
207
  name: operator,
223
- type: _graphql.GraphQLString
208
+ type: GraphQLString
224
209
  }))
225
210
  ]
226
211
  },
227
212
  textarea: {
228
213
  operators: [
229
214
  ...[
230
- ..._operators.default.equality,
231
- ..._operators.default.partial
215
+ ...operators.equality,
216
+ ...operators.partial
232
217
  ].map((operator)=>({
233
218
  name: operator,
234
- type: _graphql.GraphQLString
219
+ type: GraphQLString
235
220
  }))
236
221
  ]
237
222
  },
238
223
  upload: {
239
224
  operators: [
240
- ..._operators.default.equality.map((operator)=>({
225
+ ...operators.equality.map((operator)=>({
241
226
  name: operator,
242
- type: _graphql.GraphQLString
227
+ type: GraphQLString
243
228
  }))
244
229
  ]
245
230
  }
@@ -250,9 +235,20 @@ const listOperators = [
250
235
  'all'
251
236
  ];
252
237
  const gqlTypeCache = {};
253
- const withOperators = (field, parentName)=>{
238
+ /**
239
+ * In GraphQL, you can use "where" as an argument to filter a collection. Example:
240
+ * { Posts(where: { title: { equals: "Hello" } }) { text } }
241
+ * This function defines the operators for a field's condition in the "where" argument of the collection (it thus gets called for every field).
242
+ * For example, in the example above, it would control that
243
+ * - "equals" is a valid operator for the "title" field
244
+ * - the accepted type of the "equals" argument has to be a string.
245
+ *
246
+ * @param field the field for which their valid operators inside a "where" argument is being defined
247
+ * @param parentName the name of the parent field (if any)
248
+ * @returns all the operators (including their types) which can be used as a condition for a given field inside a where
249
+ */ export const withOperators = (field, parentName)=>{
254
250
  if (!defaults?.[field.type]) throw new Error(`Error: ${field.type} has no defaults configured.`);
255
- const name = `${(0, _combineParentName.default)(parentName, field.name)}_operator`;
251
+ const name = `${combineParentName(parentName, field.name)}_operator`;
256
252
  // Get the default operators for the field type which are hard-coded above
257
253
  const fieldOperators = [
258
254
  ...defaults[field.type].operators
@@ -263,7 +259,7 @@ const withOperators = (field, parentName)=>{
263
259
  type: fieldOperators[0].type
264
260
  });
265
261
  }
266
- return new _graphql.GraphQLInputObjectType({
262
+ return new GraphQLInputObjectType({
267
263
  name,
268
264
  fields: fieldOperators.reduce((objectTypeFields, operator)=>{
269
265
  // Get the type of the operator. It can be either static, or dynamic (=> a function)
@@ -279,9 +275,9 @@ const withOperators = (field, parentName)=>{
279
275
  }
280
276
  }
281
277
  if (listOperators.includes(operator.name)) {
282
- gqlType = new _graphql.GraphQLList(gqlType);
278
+ gqlType = new GraphQLList(gqlType);
283
279
  } else if (operator.name === 'exists') {
284
- gqlType = _graphql.GraphQLBoolean;
280
+ gqlType = GraphQLBoolean;
285
281
  }
286
282
  return {
287
283
  ...objectTypeFields,
@@ -293,4 +289,4 @@ const withOperators = (field, parentName)=>{
293
289
  });
294
290
  };
295
291
 
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvd2l0aE9wZXJhdG9ycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoUUxUeXBlIH0gZnJvbSAnZ3JhcGhxbCdcblxuaW1wb3J0IHtcbiAgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxFbnVtVHlwZSxcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSW5wdXRPYmplY3RUeXBlLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCxcbiAgR3JhcGhRTFN0cmluZyxcbn0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCB7IERhdGVUaW1lUmVzb2x2ZXIsIEVtYWlsQWRkcmVzc1Jlc29sdmVyIH0gZnJvbSAnZ3JhcGhxbC1zY2FsYXJzJ1xuaW1wb3J0IHsgR3JhcGhRTEpTT04gfSBmcm9tICdncmFwaHFsLXR5cGUtanNvbidcblxuaW1wb3J0IHR5cGUgeyBGaWVsZEFmZmVjdGluZ0RhdGEsIE51bWJlckZpZWxkLCBSYWRpb0ZpZWxkLCBTZWxlY3RGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IG9wdGlvbklzT2JqZWN0IH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCBjb21iaW5lUGFyZW50TmFtZSBmcm9tICcuLi91dGlsaXRpZXMvY29tYmluZVBhcmVudE5hbWUnXG5pbXBvcnQgZm9ybWF0TmFtZSBmcm9tICcuLi91dGlsaXRpZXMvZm9ybWF0TmFtZSdcbmltcG9ydCBvcGVyYXRvcnMgZnJvbSAnLi9vcGVyYXRvcnMnXG5cbnR5cGUgc3RhdGljVHlwZXMgPVxuICB8ICdjaGVja2JveCdcbiAgfCAnY29kZSdcbiAgfCAnZGF0ZSdcbiAgfCAnZW1haWwnXG4gIHwgJ2pzb24nXG4gIHwgJ251bWJlcidcbiAgfCAncG9pbnQnXG4gIHwgJ3JlbGF0aW9uc2hpcCdcbiAgfCAncmljaFRleHQnXG4gIHwgJ3RleHQnXG4gIHwgJ3RleHRhcmVhJ1xuICB8ICd1cGxvYWQnXG5cbnR5cGUgZHluYW1pY1R5cGVzID0gJ3JhZGlvJyB8ICdzZWxlY3QnXG5cbmNvbnN0IEdlb0pTT05PYmplY3QgPSBuZXcgR3JhcGhRTElucHV0T2JqZWN0VHlwZSh7XG4gIG5hbWU6ICdHZW9KU09OT2JqZWN0JyxcbiAgZmllbGRzOiB7XG4gICAgY29vcmRpbmF0ZXM6IHtcbiAgICAgIHR5cGU6IEdyYXBoUUxKU09OLFxuICAgIH0sXG4gICAgdHlwZTogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gIH0sXG59KVxuXG50eXBlIERlZmF1bHRzVHlwZSA9IHtcbiAgW2tleSBpbiBzdGF0aWNUeXBlc106IHtcbiAgICBvcGVyYXRvcnM6IHtcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgdHlwZTogKChmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhLCBwYXJlbnROYW1lOiBzdHJpbmcpID0+IEdyYXBoUUxUeXBlKSB8IEdyYXBoUUxUeXBlXG4gICAgfVtdXG4gIH1cbn0gJiB7XG4gIFtrZXkgaW4gZHluYW1pY1R5cGVzXToge1xuICAgIG9wZXJhdG9yczoge1xuICAgICAgbmFtZTogc3RyaW5nXG4gICAgICB0eXBlOiAoZmllbGQ6IEZpZWxkQWZmZWN0aW5nRGF0YSwgcGFyZW50TmFtZTogc3RyaW5nKSA9PiBHcmFwaFFMVHlwZVxuICAgIH1bXVxuICB9XG59XG5cbmNvbnN0IGRlZmF1bHRzOiBEZWZhdWx0c1R5cGUgPSB7XG4gIGNoZWNrYm94OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5vcGVyYXRvcnMuZXF1YWxpdHkubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IEdyYXBoUUxCb29sZWFuLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGNvZGU6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICBkYXRlOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29tcGFyaXNvbiwgJ2xpa2UnXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogRGF0ZVRpbWVSZXNvbHZlcixcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICBlbWFpbDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWwsIC4uLm9wZXJhdG9ycy5jb250YWluc10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IEVtYWlsQWRkcmVzc1Jlc29sdmVyLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIGpzb246IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsLCAuLi5vcGVyYXRvcnMuZ2VvanNvbl0ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IEdyYXBoUUxKU09OLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIG51bWJlcjoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLmNvbXBhcmlzb25dLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiAoZmllbGQ6IE51bWJlckZpZWxkKTogR3JhcGhRTFR5cGUgPT4ge1xuICAgICAgICAgIHJldHVybiBmaWVsZD8ubmFtZSA9PT0gJ2lkJyA/IEdyYXBoUUxJbnQgOiBHcmFwaFFMRmxvYXRcbiAgICAgICAgfSxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICBwb2ludDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLmNvbXBhcmlzb24sIC4uLm9wZXJhdG9ycy5nZW9dLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTExpc3QoR3JhcGhRTEZsb2F0KSxcbiAgICAgIH0pKSxcbiAgICAgIC4uLm9wZXJhdG9ycy5nZW9qc29uLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICAvKipcbiAgICAgICAgICogQGV4YW1wbGU6XG4gICAgICAgICAqIHdpdGhpbjoge1xuICAgICAgICAgKiAgdHlwZTogXCJQb2x5Z29uXCIsXG4gICAgICAgICAqICBjb29yZGluYXRlczogW1tcbiAgICAgICAgICogICBbMC4wLCAwLjBdLFxuICAgICAgICAgKiAgIFsxLjAsIDEuMF0sXG4gICAgICAgICAqICAgWzEuMCwgMC4wXSxcbiAgICAgICAgICogICBbMC4wLCAwLjBdLFxuICAgICAgICAgKiAgXV0sXG4gICAgICAgICAqIH1cbiAgICAgICAgICogQGV4YW1wbGVcbiAgICAgICAgICogaW50ZXJzZWN0czoge1xuICAgICAgICAgKiAgdHlwZTogXCJQb2ludFwiLFxuICAgICAgICAgKiAgY29vcmRpbmF0ZXM6IFsgMC41LCAwLjUgXVxuICAgICAgICAgKiB9XG4gICAgICAgICAqL1xuICAgICAgICB0eXBlOiBHZW9KU09OT2JqZWN0LFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHJhZGlvOiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMucGFydGlhbF0ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IChmaWVsZDogUmFkaW9GaWVsZCwgcGFyZW50TmFtZSk6IEdyYXBoUUxUeXBlID0+XG4gICAgICAgICAgbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBgJHtjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCBmaWVsZC5uYW1lKX1fSW5wdXRgLFxuICAgICAgICAgICAgdmFsdWVzOiBmaWVsZC5vcHRpb25zLnJlZHVjZSgodmFsdWVzLCBvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uKV06IHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge30pLFxuICAgICAgICAgIH0pLFxuICAgICAgfSkpLFxuICAgIF0sXG4gIH0sXG4gIHJlbGF0aW9uc2hpcDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLmNvbnRhaW5zXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgcmljaFRleHQ6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTEpTT04sXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgc2VsZWN0OiB7XG4gICAgb3BlcmF0b3JzOiBbXG4gICAgICAuLi5bLi4ub3BlcmF0b3JzLmVxdWFsaXR5LCAuLi5vcGVyYXRvcnMuY29udGFpbnNdLm1hcCgob3BlcmF0b3IpID0+ICh7XG4gICAgICAgIG5hbWU6IG9wZXJhdG9yLFxuICAgICAgICB0eXBlOiAoZmllbGQ6IFNlbGVjdEZpZWxkLCBwYXJlbnROYW1lKTogR3JhcGhRTFR5cGUgPT5cbiAgICAgICAgICBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9JbnB1dGAsXG4gICAgICAgICAgICB2YWx1ZXM6IGZpZWxkLm9wdGlvbnMucmVkdWNlKCh2YWx1ZXMsIG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBpZiAob3B0aW9uSXNPYmplY3Qob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24udmFsdWUpXToge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgfSksXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgdGV4dDoge1xuICAgIG9wZXJhdG9yczogW1xuICAgICAgLi4uWy4uLm9wZXJhdG9ycy5lcXVhbGl0eSwgLi4ub3BlcmF0b3JzLnBhcnRpYWwsIC4uLm9wZXJhdG9ycy5jb250YWluc10ubWFwKChvcGVyYXRvcikgPT4gKHtcbiAgICAgICAgbmFtZTogb3BlcmF0b3IsXG4gICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICB9KSksXG4gICAgXSxcbiAgfSxcbiAgdGV4dGFyZWE6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLlsuLi5vcGVyYXRvcnMuZXF1YWxpdHksIC4uLm9wZXJhdG9ycy5wYXJ0aWFsXS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICB1cGxvYWQ6IHtcbiAgICBvcGVyYXRvcnM6IFtcbiAgICAgIC4uLm9wZXJhdG9ycy5lcXVhbGl0eS5tYXAoKG9wZXJhdG9yKSA9PiAoe1xuICAgICAgICBuYW1lOiBvcGVyYXRvcixcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgIH0pKSxcbiAgICBdLFxuICB9LFxuICAvLyBhcnJheTogbi9hXG4gIC8vIGdyb3VwOiBuL2FcbiAgLy8gcm93OiBuL2FcbiAgLy8gY29sbGFwc2libGU6IG4vYVxuICAvLyB0YWJzOiBuL2Fcbn1cblxuY29uc3QgbGlzdE9wZXJhdG9ycyA9IFsnaW4nLCAnbm90X2luJywgJ2FsbCddXG5cbmNvbnN0IGdxbFR5cGVDYWNoZTogUmVjb3JkPHN0cmluZywgR3JhcGhRTFR5cGU+ID0ge31cblxuLyoqXG4gKiBJbiBHcmFwaFFMLCB5b3UgY2FuIHVzZSBcIndoZXJlXCIgYXMgYW4gYXJndW1lbnQgdG8gZmlsdGVyIGEgY29sbGVjdGlvbi4gRXhhbXBsZTpcbiAqIHsgUG9zdHMod2hlcmU6IHsgdGl0bGU6IHsgZXF1YWxzOiBcIkhlbGxvXCIgfSB9KSB7IHRleHQgfSB9XG4gKiBUaGlzIGZ1bmN0aW9uIGRlZmluZXMgdGhlIG9wZXJhdG9ycyBmb3IgYSBmaWVsZCdzIGNvbmRpdGlvbiBpbiB0aGUgXCJ3aGVyZVwiIGFyZ3VtZW50IG9mIHRoZSBjb2xsZWN0aW9uIChpdCB0aHVzIGdldHMgY2FsbGVkIGZvciBldmVyeSBmaWVsZCkuXG4gKiBGb3IgZXhhbXBsZSwgaW4gdGhlIGV4YW1wbGUgYWJvdmUsIGl0IHdvdWxkIGNvbnRyb2wgdGhhdFxuICogLSBcImVxdWFsc1wiIGlzIGEgdmFsaWQgb3BlcmF0b3IgZm9yIHRoZSBcInRpdGxlXCIgZmllbGRcbiAqIC0gdGhlIGFjY2VwdGVkIHR5cGUgb2YgdGhlIFwiZXF1YWxzXCIgYXJndW1lbnQgaGFzIHRvIGJlIGEgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBmaWVsZCB0aGUgZmllbGQgZm9yIHdoaWNoIHRoZWlyIHZhbGlkIG9wZXJhdG9ycyBpbnNpZGUgYSBcIndoZXJlXCIgYXJndW1lbnQgaXMgYmVpbmcgZGVmaW5lZFxuICogQHBhcmFtIHBhcmVudE5hbWUgdGhlIG5hbWUgb2YgdGhlIHBhcmVudCBmaWVsZCAoaWYgYW55KVxuICogQHJldHVybnMgYWxsIHRoZSBvcGVyYXRvcnMgKGluY2x1ZGluZyB0aGVpciB0eXBlcykgd2hpY2ggY2FuIGJlIHVzZWQgYXMgYSBjb25kaXRpb24gZm9yIGEgZ2l2ZW4gZmllbGQgaW5zaWRlIGEgd2hlcmVcbiAqL1xuZXhwb3J0IGNvbnN0IHdpdGhPcGVyYXRvcnMgPSAoXG4gIGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsXG4gIHBhcmVudE5hbWU6IHN0cmluZyxcbik6IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUgPT4ge1xuICBpZiAoIWRlZmF1bHRzPy5bZmllbGQudHlwZV0pIHRocm93IG5ldyBFcnJvcihgRXJyb3I6ICR7ZmllbGQudHlwZX0gaGFzIG5vIGRlZmF1bHRzIGNvbmZpZ3VyZWQuYClcblxuICBjb25zdCBuYW1lID0gYCR7Y29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgZmllbGQubmFtZSl9X29wZXJhdG9yYFxuXG4gIC8vIEdldCB0aGUgZGVmYXVsdCBvcGVyYXRvcnMgZm9yIHRoZSBmaWVsZCB0eXBlIHdoaWNoIGFyZSBoYXJkLWNvZGVkIGFib3ZlXG4gIGNvbnN0IGZpZWxkT3BlcmF0b3JzID0gWy4uLmRlZmF1bHRzW2ZpZWxkLnR5cGVdLm9wZXJhdG9yc11cblxuICBpZiAoISgncmVxdWlyZWQnIGluIGZpZWxkKSB8fCAhZmllbGQucmVxdWlyZWQpIHtcbiAgICBmaWVsZE9wZXJhdG9ycy5wdXNoKHtcbiAgICAgIG5hbWU6ICdleGlzdHMnLFxuICAgICAgdHlwZTogZmllbGRPcGVyYXRvcnNbMF0udHlwZSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICBuYW1lLFxuICAgIGZpZWxkczogZmllbGRPcGVyYXRvcnMucmVkdWNlKChvYmplY3RUeXBlRmllbGRzLCBvcGVyYXRvcikgPT4ge1xuICAgICAgLy8gR2V0IHRoZSB0eXBlIG9mIHRoZSBvcGVyYXRvci4gSXQgY2FuIGJlIGVpdGhlciBzdGF0aWMsIG9yIGR5bmFtaWMgKD0+IGEgZnVuY3Rpb24pXG4gICAgICBsZXQgZ3FsVHlwZTogR3JhcGhRTFR5cGUgPVxuICAgICAgICB0eXBlb2Ygb3BlcmF0b3IudHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IG9wZXJhdG9yLnR5cGUoZmllbGQsIHBhcmVudE5hbWUpIDogb3BlcmF0b3IudHlwZVxuXG4gICAgICAvLyBHcmFwaFFMIGRvZXMgbm90IGFsbG93IHR5cGVzIHdpdGggZHVwbGljYXRlIG5hbWVzLCBzbyB3ZSB1c2UgdGhpcyBjYWNoZSB0byBhdm9pZCB0aGF0LlxuICAgICAgLy8gV2l0aG91dCB0aGlzLCBzZWxlY3QgYW5kIHJhZGlvIGZpZWxkcyB3b3VsZCBoYXZlIHRoZSBzYW1lIG5hbWUsIGFuZCBHcmFwaFFMIHdvdWxkIHRocm93IGFuIGVycm9yXG4gICAgICAvLyBUaGlzIHVzdWFsbHkgb25seSBoYXBwZW5zIGlmIGEgY3VzdG9tIHR5cGUgaXMgcmV0dXJuZWQgZnJvbSB0aGUgb3BlcmF0b3IudHlwZSBmdW5jdGlvblxuICAgICAgaWYgKHR5cGVvZiBvcGVyYXRvci50eXBlID09PSAnZnVuY3Rpb24nICYmICduYW1lJyBpbiBncWxUeXBlKSB7XG4gICAgICAgIGlmIChncWxUeXBlQ2FjaGVbZ3FsVHlwZS5uYW1lXSkge1xuICAgICAgICAgIGdxbFR5cGUgPSBncWxUeXBlQ2FjaGVbZ3FsVHlwZS5uYW1lXVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGdxbFR5cGVDYWNoZVtncWxUeXBlLm5hbWVdID0gZ3FsVHlwZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChsaXN0T3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yLm5hbWUpKSB7XG4gICAgICAgIGdxbFR5cGUgPSBuZXcgR3JhcGhRTExpc3QoZ3FsVHlwZSlcbiAgICAgIH0gZWxzZSBpZiAob3BlcmF0b3IubmFtZSA9PT0gJ2V4aXN0cycpIHtcbiAgICAgICAgZ3FsVHlwZSA9IEdyYXBoUUxCb29sZWFuXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9iamVjdFR5cGVGaWVsZHMsXG4gICAgICAgIFtvcGVyYXRvci5uYW1lXToge1xuICAgICAgICAgIHR5cGU6IGdxbFR5cGUsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfSwge30pLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbIndpdGhPcGVyYXRvcnMiLCJHZW9KU09OT2JqZWN0IiwiR3JhcGhRTElucHV0T2JqZWN0VHlwZSIsIm5hbWUiLCJmaWVsZHMiLCJjb29yZGluYXRlcyIsInR5cGUiLCJHcmFwaFFMSlNPTiIsIkdyYXBoUUxTdHJpbmciLCJkZWZhdWx0cyIsImNoZWNrYm94Iiwib3BlcmF0b3JzIiwiZXF1YWxpdHkiLCJtYXAiLCJvcGVyYXRvciIsIkdyYXBoUUxCb29sZWFuIiwiY29kZSIsInBhcnRpYWwiLCJkYXRlIiwiY29tcGFyaXNvbiIsIkRhdGVUaW1lUmVzb2x2ZXIiLCJlbWFpbCIsImNvbnRhaW5zIiwiRW1haWxBZGRyZXNzUmVzb2x2ZXIiLCJqc29uIiwiZ2VvanNvbiIsIm51bWJlciIsImZpZWxkIiwiR3JhcGhRTEludCIsIkdyYXBoUUxGbG9hdCIsInBvaW50IiwiZ2VvIiwiR3JhcGhRTExpc3QiLCJyYWRpbyIsInBhcmVudE5hbWUiLCJHcmFwaFFMRW51bVR5cGUiLCJjb21iaW5lUGFyZW50TmFtZSIsInZhbHVlcyIsIm9wdGlvbnMiLCJyZWR1Y2UiLCJvcHRpb24iLCJvcHRpb25Jc09iamVjdCIsImZvcm1hdE5hbWUiLCJ2YWx1ZSIsInJlbGF0aW9uc2hpcCIsInJpY2hUZXh0Iiwic2VsZWN0IiwidGV4dCIsInRleHRhcmVhIiwidXBsb2FkIiwibGlzdE9wZXJhdG9ycyIsImdxbFR5cGVDYWNoZSIsIkVycm9yIiwiZmllbGRPcGVyYXRvcnMiLCJyZXF1aXJlZCIsInB1c2giLCJvYmplY3RUeXBlRmllbGRzIiwiZ3FsVHlwZSIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiOzs7OytCQXNRYUE7OztlQUFBQTs7O3lCQTVQTjtnQ0FDZ0Q7aUNBQzNCO3VCQUlHOzBFQUNEO21FQUNQO2tFQUNEOzs7Ozs7QUFrQnRCLE1BQU1DLGdCQUFnQixJQUFJQywrQkFBc0IsQ0FBQztJQUMvQ0MsTUFBTTtJQUNOQyxRQUFRO1FBQ05DLGFBQWE7WUFDWEMsTUFBTUMsNEJBQVc7UUFDbkI7UUFDQUQsTUFBTTtZQUFFQSxNQUFNRSxzQkFB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
292
+ //# sourceMappingURL=withOperators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schema/withOperators.ts"],"sourcesContent":["import type { GraphQLType } from 'graphql'\nimport type { FieldAffectingData, NumberField, RadioField, SelectField } from 'payload/types'\n\nimport {\n GraphQLBoolean,\n GraphQLEnumType,\n GraphQLFloat,\n GraphQLInputObjectType,\n GraphQLInt,\n GraphQLList,\n GraphQLString,\n} from 'graphql'\nimport { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars'\nimport { GraphQLJSON } from 'graphql-type-json'\nimport { optionIsObject } from 'payload/types'\n\nimport combineParentName from '../utilities/combineParentName.js'\nimport formatName from '../utilities/formatName.js'\nimport operators from './operators.js'\n\ntype staticTypes =\n | 'checkbox'\n | 'code'\n | 'date'\n | 'email'\n | 'json'\n | 'number'\n | 'point'\n | 'relationship'\n | 'richText'\n | 'text'\n | 'textarea'\n | 'upload'\n\ntype dynamicTypes = 'radio' | 'select'\n\nconst GeoJSONObject = new GraphQLInputObjectType({\n name: 'GeoJSONObject',\n fields: {\n type: { type: GraphQLString },\n coordinates: {\n type: GraphQLJSON,\n },\n },\n})\n\ntype DefaultsType = {\n [key in staticTypes]: {\n operators: {\n name: string\n type: ((field: FieldAffectingData, parentName: string) => GraphQLType) | GraphQLType\n }[]\n }\n} & {\n [key in dynamicTypes]: {\n operators: {\n name: string\n type: (field: FieldAffectingData, parentName: string) => GraphQLType\n }[]\n }\n}\n\nconst defaults: DefaultsType = {\n checkbox: {\n operators: [\n ...operators.equality.map((operator) => ({\n name: operator,\n type: GraphQLBoolean,\n })),\n ],\n },\n code: {\n operators: [\n ...[...operators.equality, ...operators.partial].map((operator) => ({\n name: operator,\n type: GraphQLString,\n })),\n ],\n },\n date: {\n operators: [\n ...[...operators.equality, ...operators.comparison, 'like'].map((operator) => ({\n name: operator,\n type: DateTimeResolver,\n })),\n ],\n },\n email: {\n operators: [\n ...[...operators.equality, ...operators.partial, ...operators.contains].map((operator) => ({\n name: operator,\n type: EmailAddressResolver,\n })),\n ],\n },\n json: {\n operators: [\n ...[...operators.equality, ...operators.partial, ...operators.geojson].map((operator) => ({\n name: operator,\n type: GraphQLJSON,\n })),\n ],\n },\n number: {\n operators: [\n ...[...operators.equality, ...operators.comparison].map((operator) => ({\n name: operator,\n type: (field: NumberField): GraphQLType => {\n return field?.name === 'id' ? GraphQLInt : GraphQLFloat\n },\n })),\n ],\n },\n point: {\n operators: [\n ...[...operators.equality, ...operators.comparison, ...operators.geo].map((operator) => ({\n name: operator,\n type: new GraphQLList(GraphQLFloat),\n })),\n ...operators.geojson.map((operator) => ({\n name: operator,\n /**\n * @example:\n * within: {\n * type: \"Polygon\",\n * coordinates: [[\n * [0.0, 0.0],\n * [1.0, 1.0],\n * [1.0, 0.0],\n * [0.0, 0.0],\n * ]],\n * }\n * @example\n * intersects: {\n * type: \"Point\",\n * coordinates: [ 0.5, 0.5 ]\n * }\n */\n type: GeoJSONObject,\n })),\n ],\n },\n radio: {\n operators: [\n ...[...operators.equality, ...operators.partial].map((operator) => ({\n name: operator,\n type: (field: RadioField, parentName): GraphQLType =>\n new GraphQLEnumType({\n name: `${combineParentName(parentName, field.name)}_Input`,\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 ],\n },\n relationship: {\n operators: [\n ...[...operators.equality, ...operators.contains].map((operator) => ({\n name: operator,\n type: GraphQLJSON,\n })),\n ],\n },\n richText: {\n operators: [\n ...[...operators.equality, ...operators.partial].map((operator) => ({\n name: operator,\n type: GraphQLJSON,\n })),\n ],\n },\n select: {\n operators: [\n ...[...operators.equality, ...operators.contains].map((operator) => ({\n name: operator,\n type: (field: SelectField, parentName): GraphQLType =>\n new GraphQLEnumType({\n name: `${combineParentName(parentName, field.name)}_Input`,\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 ],\n },\n text: {\n operators: [\n ...[...operators.equality, ...operators.partial, ...operators.contains].map((operator) => ({\n name: operator,\n type: GraphQLString,\n })),\n ],\n },\n textarea: {\n operators: [\n ...[...operators.equality, ...operators.partial].map((operator) => ({\n name: operator,\n type: GraphQLString,\n })),\n ],\n },\n upload: {\n operators: [\n ...operators.equality.map((operator) => ({\n name: operator,\n type: GraphQLString,\n })),\n ],\n },\n // array: n/a\n // group: n/a\n // row: n/a\n // collapsible: n/a\n // tabs: n/a\n}\n\nconst listOperators = ['in', 'not_in', 'all']\n\nconst gqlTypeCache: Record<string, GraphQLType> = {}\n\n/**\n * In GraphQL, you can use \"where\" as an argument to filter a collection. Example:\n * { Posts(where: { title: { equals: \"Hello\" } }) { text } }\n * This function defines the operators for a field's condition in the \"where\" argument of the collection (it thus gets called for every field).\n * For example, in the example above, it would control that\n * - \"equals\" is a valid operator for the \"title\" field\n * - the accepted type of the \"equals\" argument has to be a string.\n *\n * @param field the field for which their valid operators inside a \"where\" argument is being defined\n * @param parentName the name of the parent field (if any)\n * @returns all the operators (including their types) which can be used as a condition for a given field inside a where\n */\nexport const withOperators = (\n field: FieldAffectingData,\n parentName: string,\n): GraphQLInputObjectType => {\n if (!defaults?.[field.type]) throw new Error(`Error: ${field.type} has no defaults configured.`)\n\n const name = `${combineParentName(parentName, field.name)}_operator`\n\n // Get the default operators for the field type which are hard-coded above\n const fieldOperators = [...defaults[field.type].operators]\n\n if (!('required' in field) || !field.required) {\n fieldOperators.push({\n name: 'exists',\n type: fieldOperators[0].type,\n })\n }\n\n return new GraphQLInputObjectType({\n name,\n fields: fieldOperators.reduce((objectTypeFields, operator) => {\n // Get the type of the operator. It can be either static, or dynamic (=> a function)\n let gqlType: GraphQLType =\n typeof operator.type === 'function' ? operator.type(field, parentName) : operator.type\n\n // GraphQL does not allow types with duplicate names, so we use this cache to avoid that.\n // Without this, select and radio fields would have the same name, and GraphQL would throw an error\n // This usually only happens if a custom type is returned from the operator.type function\n if (typeof operator.type === 'function' && 'name' in gqlType) {\n if (gqlTypeCache[gqlType.name]) {\n gqlType = gqlTypeCache[gqlType.name]\n } else {\n gqlTypeCache[gqlType.name] = gqlType\n }\n }\n\n if (listOperators.includes(operator.name)) {\n gqlType = new GraphQLList(gqlType)\n } else if (operator.name === 'exists') {\n gqlType = GraphQLBoolean\n }\n\n return {\n ...objectTypeFields,\n [operator.name]: {\n type: gqlType,\n },\n }\n }, {}),\n })\n}\n"],"names":["GraphQLBoolean","GraphQLEnumType","GraphQLFloat","GraphQLInputObjectType","GraphQLInt","GraphQLList","GraphQLString","DateTimeResolver","EmailAddressResolver","GraphQLJSON","optionIsObject","combineParentName","formatName","operators","GeoJSONObject","name","fields","type","coordinates","defaults","checkbox","equality","map","operator","code","partial","date","comparison","email","contains","json","geojson","number","field","point","geo","radio","parentName","values","options","reduce","option","value","relationship","richText","select","text","textarea","upload","listOperators","gqlTypeCache","withOperators","Error","fieldOperators","required","push","objectTypeFields","gqlType","includes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SACEA,cAAc,EACdC,eAAe,EACfC,YAAY,EACZC,sBAAsB,EACtBC,UAAU,EACVC,WAAW,EACXC,aAAa,QACR,UAAS;AAChB,SAASC,gBAAgB,EAAEC,oBAAoB,QAAQ,kBAAiB;AACxE,SAASC,WAAW,QAAQ,oBAAmB;AAC/C,SAASC,cAAc,QAAQ,gBAAe;AAE9C,OAAOC,uBAAuB,oCAAmC;AACjE,OAAOC,gBAAgB,6BAA4B;AACnD,OAAOC,eAAe,iBAAgB;AAkBtC,MAAMC,gBAAgB,IAAIX,uBAAuB;IAC/CY,MAAM;IACNC,QAAQ;QACNC,MAAM;YAAEA,MAAMX;QAAc;QAC5BY,aAAa;YACXD,MAAMR;QACR;IACF;AACF;AAkBA,MAAMU,WAAyB;IAC7BC,UAAU;QACRP,WAAW;eACNA,UAAUQ,QAAQ,CAACC,GAAG,CAAC,CAACC,WAAc,CAAA;oBACvCR,MAAMQ;oBACNN,MAAMjB;gBACR,CAAA;SACD;IACH;IACAwB,MAAM;QACJX,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUY,OAAO;aAAC,CAACH,GAAG,CAAC,CAACC,WAAc,CAAA;oBAClER,MAAMQ;oBACNN,MAAMX;gBACR,CAAA;SACD;IACH;IACAoB,MAAM;QACJb,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUc,UAAU;gBAAE;aAAO,CAACL,GAAG,CAAC,CAACC,WAAc,CAAA;oBAC7ER,MAAMQ;oBACNN,MAAMV;gBACR,CAAA;SACD;IACH;IACAqB,OAAO;QACLf,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUY,OAAO;mBAAKZ,UAAUgB,QAAQ;aAAC,CAACP,GAAG,CAAC,CAACC,WAAc,CAAA;oBACzFR,MAAMQ;oBACNN,MAAMT;gBACR,CAAA;SACD;IACH;IACAsB,MAAM;QACJjB,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUY,OAAO;mBAAKZ,UAAUkB,OAAO;aAAC,CAACT,GAAG,CAAC,CAACC,WAAc,CAAA;oBACxFR,MAAMQ;oBACNN,MAAMR;gBACR,CAAA;SACD;IACH;IACAuB,QAAQ;QACNnB,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUc,UAAU;aAAC,CAACL,GAAG,CAAC,CAACC,WAAc,CAAA;oBACrER,MAAMQ;oBACNN,MAAM,CAACgB;wBACL,OAAOA,OAAOlB,SAAS,OAAOX,aAAaF;oBAC7C;gBACF,CAAA;SACD;IACH;IACAgC,OAAO;QACLrB,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUc,UAAU;mBAAKd,UAAUsB,GAAG;aAAC,CAACb,GAAG,CAAC,CAACC,WAAc,CAAA;oBACvFR,MAAMQ;oBACNN,MAAM,IAAIZ,YAAYH;gBACxB,CAAA;eACGW,UAAUkB,OAAO,CAACT,GAAG,CAAC,CAACC,WAAc,CAAA;oBACtCR,MAAMQ;oBACN;;;;;;;;;;;;;;;;SAgBC,GACDN,MAAMH;gBACR,CAAA;SACD;IACH;IACAsB,OAAO;QACLvB,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUY,OAAO;aAAC,CAACH,GAAG,CAAC,CAACC,WAAc,CAAA;oBAClER,MAAMQ;oBACNN,MAAM,CAACgB,OAAmBI,aACxB,IAAIpC,gBAAgB;4BAClBc,MAAM,CAAC,EAAEJ,kBAAkB0B,YAAYJ,MAAMlB,IAAI,EAAE,MAAM,CAAC;4BAC1DuB,QAAQL,MAAMM,OAAO,CAACC,MAAM,CAAC,CAACF,QAAQG;gCACpC,IAAI/B,eAAe+B,SAAS;oCAC1B,OAAO;wCACL,GAAGH,MAAM;wCACT,CAAC1B,WAAW6B,OAAOC,KAAK,EAAE,EAAE;4CAC1BA,OAAOD,OAAOC,KAAK;wCACrB;oCACF;gCACF;gCAEA,OAAO;oCACL,GAAGJ,MAAM;oCACT,CAAC1B,WAAW6B,QAAQ,EAAE;wCACpBC,OAAOD;oCACT;gCACF;4BACF,GAAG,CAAC;wBACN;gBACJ,CAAA;SACD;IACH;IACAE,cAAc;QACZ9B,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUgB,QAAQ;aAAC,CAACP,GAAG,CAAC,CAACC,WAAc,CAAA;oBACnER,MAAMQ;oBACNN,MAAMR;gBACR,CAAA;SACD;IACH;IACAmC,UAAU;QACR/B,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUY,OAAO;aAAC,CAACH,GAAG,CAAC,CAACC,WAAc,CAAA;oBAClER,MAAMQ;oBACNN,MAAMR;gBACR,CAAA;SACD;IACH;IACAoC,QAAQ;QACNhC,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUgB,QAAQ;aAAC,CAACP,GAAG,CAAC,CAACC,WAAc,CAAA;oBACnER,MAAMQ;oBACNN,MAAM,CAACgB,OAAoBI,aACzB,IAAIpC,gBAAgB;4BAClBc,MAAM,CAAC,EAAEJ,kBAAkB0B,YAAYJ,MAAMlB,IAAI,EAAE,MAAM,CAAC;4BAC1DuB,QAAQL,MAAMM,OAAO,CAACC,MAAM,CAAC,CAACF,QAAQG;gCACpC,IAAI/B,eAAe+B,SAAS;oCAC1B,OAAO;wCACL,GAAGH,MAAM;wCACT,CAAC1B,WAAW6B,OAAOC,KAAK,EAAE,EAAE;4CAC1BA,OAAOD,OAAOC,KAAK;wCACrB;oCACF;gCACF;gCAEA,OAAO;oCACL,GAAGJ,MAAM;oCACT,CAAC1B,WAAW6B,QAAQ,EAAE;wCACpBC,OAAOD;oCACT;gCACF;4BACF,GAAG,CAAC;wBACN;gBACJ,CAAA;SACD;IACH;IACAK,MAAM;QACJjC,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUY,OAAO;mBAAKZ,UAAUgB,QAAQ;aAAC,CAACP,GAAG,CAAC,CAACC,WAAc,CAAA;oBACzFR,MAAMQ;oBACNN,MAAMX;gBACR,CAAA;SACD;IACH;IACAyC,UAAU;QACRlC,WAAW;eACN;mBAAIA,UAAUQ,QAAQ;mBAAKR,UAAUY,OAAO;aAAC,CAACH,GAAG,CAAC,CAACC,WAAc,CAAA;oBAClER,MAAMQ;oBACNN,MAAMX;gBACR,CAAA;SACD;IACH;IACA0C,QAAQ;QACNnC,WAAW;eACNA,UAAUQ,QAAQ,CAACC,GAAG,CAAC,CAACC,WAAc,CAAA;oBACvCR,MAAMQ;oBACNN,MAAMX;gBACR,CAAA;SACD;IACH;AAMF;AAEA,MAAM2C,gBAAgB;IAAC;IAAM;IAAU;CAAM;AAE7C,MAAMC,eAA4C,CAAC;AAEnD;;;;;;;;;;;CAWC,GACD,OAAO,MAAMC,gBAAgB,CAC3BlB,OACAI;IAEA,IAAI,CAAClB,UAAU,CAACc,MAAMhB,IAAI,CAAC,EAAE,MAAM,IAAImC,MAAM,CAAC,OAAO,EAAEnB,MAAMhB,IAAI,CAAC,4BAA4B,CAAC;IAE/F,MAAMF,OAAO,CAAC,EAAEJ,kBAAkB0B,YAAYJ,MAAMlB,IAAI,EAAE,SAAS,CAAC;IAEpE,0EAA0E;IAC1E,MAAMsC,iBAAiB;WAAIlC,QAAQ,CAACc,MAAMhB,IAAI,CAAC,CAACJ,SAAS;KAAC;IAE1D,IAAI,CAAE,CAAA,cAAcoB,KAAI,KAAM,CAACA,MAAMqB,QAAQ,EAAE;QAC7CD,eAAeE,IAAI,CAAC;YAClBxC,MAAM;YACNE,MAAMoC,cAAc,CAAC,EAAE,CAACpC,IAAI;QAC9B;IACF;IAEA,OAAO,IAAId,uBAAuB;QAChCY;QACAC,QAAQqC,eAAeb,MAAM,CAAC,CAACgB,kBAAkBjC;YAC/C,oFAAoF;YACpF,IAAIkC,UACF,OAAOlC,SAASN,IAAI,KAAK,aAAaM,SAASN,IAAI,CAACgB,OAAOI,cAAcd,SAASN,IAAI;YAExF,yFAAyF;YACzF,mGAAmG;YACnG,yFAAyF;YACzF,IAAI,OAAOM,SAASN,IAAI,KAAK,cAAc,UAAUwC,SAAS;gBAC5D,IAAIP,YAAY,CAACO,QAAQ1C,IAAI,CAAC,EAAE;oBAC9B0C,UAAUP,YAAY,CAACO,QAAQ1C,IAAI,CAAC;gBACtC,OAAO;oBACLmC,YAAY,CAACO,QAAQ1C,IAAI,CAAC,GAAG0C;gBAC/B;YACF;YAEA,IAAIR,cAAcS,QAAQ,CAACnC,SAASR,IAAI,GAAG;gBACzC0C,UAAU,IAAIpD,YAAYoD;YAC5B,OAAO,IAAIlC,SAASR,IAAI,KAAK,UAAU;gBACrC0C,UAAUzD;YACZ;YAEA,OAAO;gBACL,GAAGwD,gBAAgB;gBACnB,CAACjC,SAASR,IAAI,CAAC,EAAE;oBACfE,MAAMwC;gBACR;YACF;QACF,GAAG,CAAC;IACN;AACF,EAAC"}
@@ -1,20 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _formatName = /*#__PURE__*/ _interop_require_default(require("./formatName"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- const combineParentName = (parent, name)=>(0, _formatName.default)(`${parent ? `${parent}_` : ''}${name}`);
18
- const _default = combineParentName;
1
+ import formatName from './formatName.js';
2
+ const combineParentName = (parent, name)=>formatName(`${parent ? `${parent}_` : ''}${name}`);
3
+ export default combineParentName;
19
4
 
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29tYmluZVBhcmVudE5hbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi9mb3JtYXROYW1lJ1xuXG5jb25zdCBjb21iaW5lUGFyZW50TmFtZSA9IChwYXJlbnQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIGZvcm1hdE5hbWUoYCR7cGFyZW50ID8gYCR7cGFyZW50fV9gIDogJyd9JHtuYW1lfWApXG5cbmV4cG9ydCBkZWZhdWx0IGNvbWJpbmVQYXJlbnROYW1lXG4iXSwibmFtZXMiOlsiY29tYmluZVBhcmVudE5hbWUiLCJwYXJlbnQiLCJuYW1lIiwiZm9ybWF0TmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFLQTs7O2VBQUE7OzttRUFMdUI7Ozs7OztBQUV2QixNQUFNQSxvQkFBb0IsQ0FBQ0MsUUFBZ0JDLE9BQ3pDQyxJQUFBQSxtQkFBVSxFQUFDLENBQUMsRUFBRUYsU0FBUyxDQUFDLEVBQUVBLE9BQU8sQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFQyxLQUFLLENBQUM7TUFFbkQsV0FBZUYifQ==
5
+ //# sourceMappingURL=combineParentName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/combineParentName.ts"],"sourcesContent":["import formatName from './formatName.js'\n\nconst combineParentName = (parent: string, name: string): string =>\n formatName(`${parent ? `${parent}_` : ''}${name}`)\n\nexport default combineParentName\n"],"names":["formatName","combineParentName","parent","name"],"rangeMappings":";;","mappings":"AAAA,OAAOA,gBAAgB,kBAAiB;AAExC,MAAMC,oBAAoB,CAACC,QAAgBC,OACzCH,WAAW,CAAC,EAAEE,SAAS,CAAC,EAAEA,OAAO,CAAC,CAAC,GAAG,GAAG,EAAEC,KAAK,CAAC;AAEnD,eAAeF,kBAAiB"}
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
1
  const numbers = [
12
2
  '0',
13
3
  '1',
@@ -30,6 +20,6 @@ const formatName = (string)=>{
30
20
  .normalize('NFKD').replace(/[\u0300-\u036f]/g, '').replace(/\./g, '_').replace(/-|\//g, '_').replace(/\+/g, '_').replace(/,/g, '_').replace(/\(/g, '_').replace(/\)/g, '_').replace(/'/g, '_').replace(/ /g, '');
31
21
  return formatted || '_';
32
22
  };
33
- const _default = formatName;
23
+ export default formatName;
34
24
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZm9ybWF0TmFtZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBudW1iZXJzID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5J11cblxuY29uc3QgZm9ybWF0TmFtZSA9IChzdHJpbmc6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGxldCBzYW5pdGl6ZWRTdHJpbmcgPSBTdHJpbmcoc3RyaW5nKVxuXG4gIGNvbnN0IGZpcnN0TGV0dGVyID0gc2FuaXRpemVkU3RyaW5nLnN1YnN0cmluZygwLCAxKVxuXG4gIGlmIChudW1iZXJzLmluZGV4T2YoZmlyc3RMZXR0ZXIpID4gLTEpIHtcbiAgICBzYW5pdGl6ZWRTdHJpbmcgPSBgXyR7c2FuaXRpemVkU3RyaW5nfWBcbiAgfVxuXG4gIGNvbnN0IGZvcm1hdHRlZCA9IHNhbml0aXplZFN0cmluZ1xuICAgIC8vIENvbnZlcnQgYWNjZW50ZWQgY2hhcmFjdGVyc1xuICAgIC5ub3JtYWxpemUoJ05GS0QnKVxuICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJylcblxuICAgIC5yZXBsYWNlKC9cXC4vZywgJ18nKVxuICAgIC5yZXBsYWNlKC8tfFxcLy9nLCAnXycpXG4gICAgLnJlcGxhY2UoL1xcKy9nLCAnXycpXG4gICAgLnJlcGxhY2UoLywvZywgJ18nKVxuICAgIC5yZXBsYWNlKC9cXCgvZywgJ18nKVxuICAgIC5yZXBsYWNlKC9cXCkvZywgJ18nKVxuICAgIC5yZXBsYWNlKC8nL2csICdfJylcbiAgICAucmVwbGFjZSgvIC9nLCAnJylcblxuICByZXR1cm4gZm9ybWF0dGVkIHx8ICdfJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBmb3JtYXROYW1lXG4iXSwibmFtZXMiOlsibnVtYmVycyIsImZvcm1hdE5hbWUiLCJzdHJpbmciLCJzYW5pdGl6ZWRTdHJpbmciLCJTdHJpbmciLCJmaXJzdExldHRlciIsInN1YnN0cmluZyIsImluZGV4T2YiLCJmb3JtYXR0ZWQiLCJub3JtYWxpemUiLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoiOzs7OytCQTRCQTs7O2VBQUE7OztBQTVCQSxNQUFNQSxVQUFVO0lBQUM7SUFBSztJQUFLO0lBQUs7SUFBSztJQUFLO0lBQUs7SUFBSztJQUFLO0lBQUs7Q0FBSTtBQUVsRSxNQUFNQyxhQUFhLENBQUNDO0lBQ2xCLElBQUlDLGtCQUFrQkMsT0FBT0Y7SUFFN0IsTUFBTUcsY0FBY0YsZ0JBQWdCRyxTQUFTLENBQUMsR0FBRztJQUVqRCxJQUFJTixRQUFRTyxPQUFPLENBQUNGLGVBQWUsQ0FBQyxHQUFHO1FBQ3JDRixrQkFBa0IsQ0FBQyxDQUFDLEVBQUVBLGdCQUFnQixDQUFDO0lBQ3pDO0lBRUEsTUFBTUssWUFBWUwsZUFDaEIsOEJBQThCO0tBQzdCTSxTQUFTLENBQUMsUUFDVkMsT0FBTyxDQUFDLG9CQUFvQixJQUU1QkEsT0FBTyxDQUFDLE9BQU8sS0FDZkEsT0FBTyxDQUFDLFNBQVMsS0FDakJBLE9BQU8sQ0FBQyxPQUFPLEtBQ2ZBLE9BQU8sQ0FBQyxNQUFNLEtBQ2RBLE9BQU8sQ0FBQyxPQUFPLEtBQ2ZBLE9BQU8sQ0FBQyxPQUFPLEtBQ2ZBLE9BQU8sQ0FBQyxNQUFNLEtBQ2RBLE9BQU8sQ0FBQyxNQUFNO0lBRWpCLE9BQU9GLGFBQWE7QUFDdEI7TUFFQSxXQUFlUCJ9
25
+ //# sourceMappingURL=formatName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/formatName.ts"],"sourcesContent":["const numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']\n\nconst formatName = (string: string): string => {\n let sanitizedString = String(string)\n\n const firstLetter = sanitizedString.substring(0, 1)\n\n if (numbers.indexOf(firstLetter) > -1) {\n sanitizedString = `_${sanitizedString}`\n }\n\n const formatted = sanitizedString\n // Convert accented characters\n .normalize('NFKD')\n .replace(/[\\u0300-\\u036f]/g, '')\n\n .replace(/\\./g, '_')\n .replace(/-|\\//g, '_')\n .replace(/\\+/g, '_')\n .replace(/,/g, '_')\n .replace(/\\(/g, '_')\n .replace(/\\)/g, '_')\n .replace(/'/g, '_')\n .replace(/ /g, '')\n\n return formatted || '_'\n}\n\nexport default formatName\n"],"names":["numbers","formatName","string","sanitizedString","String","firstLetter","substring","indexOf","formatted","normalize","replace"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,MAAMA,UAAU;IAAC;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;CAAI;AAElE,MAAMC,aAAa,CAACC;IAClB,IAAIC,kBAAkBC,OAAOF;IAE7B,MAAMG,cAAcF,gBAAgBG,SAAS,CAAC,GAAG;IAEjD,IAAIN,QAAQO,OAAO,CAACF,eAAe,CAAC,GAAG;QACrCF,kBAAkB,CAAC,CAAC,EAAEA,gBAAgB,CAAC;IACzC;IAEA,MAAMK,YAAYL,eAChB,8BAA8B;KAC7BM,SAAS,CAAC,QACVC,OAAO,CAAC,oBAAoB,IAE5BA,OAAO,CAAC,OAAO,KACfA,OAAO,CAAC,SAAS,KACjBA,OAAO,CAAC,OAAO,KACfA,OAAO,CAAC,MAAM,KACdA,OAAO,CAAC,OAAO,KACfA,OAAO,CAAC,OAAO,KACfA,OAAO,CAAC,MAAM,KACdA,OAAO,CAAC,MAAM;IAEjB,OAAOF,aAAa;AACtB;AAEA,eAAeP,WAAU"}
@@ -1,13 +1,4 @@
1
- /* eslint-disable indent */ /* eslint-disable jest/prefer-strict-equal */ "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _formatName = /*#__PURE__*/ _interop_require_default(require("./formatName"));
6
- function _interop_require_default(obj) {
7
- return obj && obj.__esModule ? obj : {
8
- default: obj
9
- };
10
- }
1
+ /* eslint-disable indent */ /* eslint-disable jest/prefer-strict-equal */ import formatName from './formatName';
11
2
  describe('formatName', ()=>{
12
3
  it.each`
13
4
  char | expected
@@ -19,8 +10,8 @@ describe('formatName', ()=>{
19
10
  ${'ñ'} | ${'n'}
20
11
  ${'ü'} | ${'u'}
21
12
  `('should convert accented character: $char', ({ char, expected })=>{
22
- expect((0, _formatName.default)(char)).toEqual(expected);
13
+ expect(formatName(char)).toEqual(expected);
23
14
  });
24
15
  });
25
16
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZm9ybWF0TmFtZS5zcGVjLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGluZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgamVzdC9wcmVmZXItc3RyaWN0LWVxdWFsICovXG5pbXBvcnQgZm9ybWF0TmFtZSBmcm9tICcuL2Zvcm1hdE5hbWUnXG5cbmRlc2NyaWJlKCdmb3JtYXROYW1lJywgKCkgPT4ge1xuICBpdC5lYWNoYFxuICAgIGNoYXIgICB8IGV4cGVjdGVkXG4gICAgJHsnw6EnfSB8ICR7J2EnfVxuICAgICR7J8OoJ30gfCAkeydlJ31cbiAgICAkeyfDrSd9IHwgJHsnaSd9XG4gICAgJHsnw7MnfSB8ICR7J28nfVxuICAgICR7J8O6J30gfCAkeyd1J31cbiAgICAkeyfDsSd9IHwgJHsnbid9XG4gICAgJHsnw7wnfSB8ICR7J3UnfVxuICBgKCdzaG91bGQgY29udmVydCBhY2NlbnRlZCBjaGFyYWN0ZXI6ICRjaGFyJywgKHsgY2hhciwgZXhwZWN0ZWQgfSkgPT4ge1xuICAgIGV4cGVjdChmb3JtYXROYW1lKGNoYXIpKS50b0VxdWFsKGV4cGVjdGVkKVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJkZXNjcmliZSIsIml0IiwiZWFjaCIsImNoYXIiLCJleHBlY3RlZCIsImV4cGVjdCIsImZvcm1hdE5hbWUiLCJ0b0VxdWFsIl0sIm1hcHBpbmdzIjoiQUFBQSx5QkFBeUIsR0FDekIsMkNBQTJDOzs7O21FQUNwQjs7Ozs7O0FBRXZCQSxTQUFTLGNBQWM7SUFDckJDLEdBQUdDLElBQUksQ0FBQzs7SUFFTixFQUFFLElBQUksR0FBRyxFQUFFLElBQUk7SUFDZixFQUFFLElBQUksR0FBRyxFQUFFLElBQUk7SUFDZixFQUFFLElBQUksR0FBRyxFQUFFLElBQUk7SUFDZixFQUFFLElBQUksR0FBRyxFQUFFLElBQUk7SUFDZixFQUFFLElBQUksR0FBRyxFQUFFLElBQUk7SUFDZixFQUFFLElBQUksR0FBRyxFQUFFLElBQUk7SUFDZixFQUFFLElBQUksR0FBRyxFQUFFLElBQUk7RUFDakIsQ0FBQyxDQUFDLDRDQUE0QyxDQUFDLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFO1FBQy9EQyxPQUFPQyxJQUFBQSxtQkFBVSxFQUFDSCxPQUFPSSxPQUFPLENBQUNIO0lBQ25DO0FBQ0YifQ==
17
+ //# sourceMappingURL=formatName.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/formatName.spec.ts"],"sourcesContent":["/* eslint-disable indent */\n/* eslint-disable jest/prefer-strict-equal */\nimport formatName from './formatName'\n\ndescribe('formatName', () => {\n it.each`\n char | expected\n ${'á'} | ${'a'}\n ${'è'} | ${'e'}\n ${'í'} | ${'i'}\n ${'ó'} | ${'o'}\n ${'ú'} | ${'u'}\n ${'ñ'} | ${'n'}\n ${'ü'} | ${'u'}\n `('should convert accented character: $char', ({ char, expected }) => {\n expect(formatName(char)).toEqual(expected)\n })\n})\n"],"names":["formatName","describe","it","each","char","expected","expect","toEqual"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,yBAAyB,GACzB,2CAA2C,GAC3C,OAAOA,gBAAgB,eAAc;AAErCC,SAAS,cAAc;IACrBC,GAAGC,IAAI,CAAC;;IAEN,EAAE,IAAI,GAAG,EAAE,IAAI;IACf,EAAE,IAAI,GAAG,EAAE,IAAI;IACf,EAAE,IAAI,GAAG,EAAE,IAAI;IACf,EAAE,IAAI,GAAG,EAAE,IAAI;IACf,EAAE,IAAI,GAAG,EAAE,IAAI;IACf,EAAE,IAAI,GAAG,EAAE,IAAI;IACf,EAAE,IAAI,GAAG,EAAE,IAAI;EACjB,CAAC,CAAC,4CAA4C,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAE;QAC/DC,OAAON,WAAWI,OAAOG,OAAO,CAACF;IACnC;AACF"}
@@ -1,37 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _formatName = /*#__PURE__*/ _interop_require_default(require("./formatName"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
1
+ import formatName from './formatName.js';
17
2
  const formatOptions = (field)=>{
18
3
  return field.options.reduce((values, option)=>{
19
4
  if (typeof option === 'object') {
20
5
  return {
21
6
  ...values,
22
- [(0, _formatName.default)(option.value)]: {
7
+ [formatName(option.value)]: {
23
8
  value: option.value
24
9
  }
25
10
  };
26
11
  }
27
12
  return {
28
13
  ...values,
29
- [(0, _formatName.default)(option)]: {
14
+ [formatName(option)]: {
30
15
  value: option
31
16
  }
32
17
  };
33
18
  }, {});
34
19
  };
35
- const _default = formatOptions;
20
+ export default formatOptions;
36
21
 
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZm9ybWF0T3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJhZGlvRmllbGQsIFNlbGVjdEZpZWxkIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi9mb3JtYXROYW1lJ1xuXG5jb25zdCBmb3JtYXRPcHRpb25zID0gKGZpZWxkOiBSYWRpb0ZpZWxkIHwgU2VsZWN0RmllbGQpID0+IHtcbiAgcmV0dXJuIGZpZWxkLm9wdGlvbnMucmVkdWNlKCh2YWx1ZXMsIG9wdGlvbikgPT4ge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24udmFsdWUpXToge1xuICAgICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnZhbHVlcyxcbiAgICAgIFtmb3JtYXROYW1lKG9wdGlvbildOiB7XG4gICAgICAgIHZhbHVlOiBvcHRpb24sXG4gICAgICB9LFxuICAgIH1cbiAgfSwge30pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZvcm1hdE9wdGlvbnNcbiJdLCJuYW1lcyI6WyJmb3JtYXRPcHRpb25zIiwiZmllbGQiLCJvcHRpb25zIiwicmVkdWNlIiwidmFsdWVzIiwib3B0aW9uIiwiZm9ybWF0TmFtZSIsInZhbHVlIl0sIm1hcHBpbmdzIjoiOzs7OytCQXdCQTs7O2VBQUE7OzttRUF0QnVCOzs7Ozs7QUFFdkIsTUFBTUEsZ0JBQWdCLENBQUNDO0lBQ3JCLE9BQU9BLE1BQU1DLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDLENBQUNDLFFBQVFDO1FBQ25DLElBQUksT0FBT0EsV0FBVyxVQUFVO1lBQzlCLE9BQU87Z0JBQ0wsR0FBR0QsTUFBTTtnQkFDVCxDQUFDRSxJQUFBQSxtQkFBVSxFQUFDRCxPQUFPRSxLQUFLLEVBQUUsRUFBRTtvQkFDMUJBLE9BQU9GLE9BQU9FLEtBQUs7Z0JBQ3JCO1lBQ0Y7UUFDRjtRQUVBLE9BQU87WUFDTCxHQUFHSCxNQUFNO1lBQ1QsQ0FBQ0UsSUFBQUEsbUJBQVUsRUFBQ0QsUUFBUSxFQUFFO2dCQUNwQkUsT0FBT0Y7WUFDVDtRQUNGO0lBQ0YsR0FBRyxDQUFDO0FBQ047TUFFQSxXQUFlTCJ9
22
+ //# sourceMappingURL=formatOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/formatOptions.ts"],"sourcesContent":["import type { RadioField, SelectField } from 'payload/types'\n\nimport formatName from './formatName.js'\n\nconst formatOptions = (field: RadioField | SelectField) => {\n return field.options.reduce((values, option) => {\n if (typeof option === 'object') {\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\nexport default formatOptions\n"],"names":["formatName","formatOptions","field","options","reduce","values","option","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAOA,gBAAgB,kBAAiB;AAExC,MAAMC,gBAAgB,CAACC;IACrB,OAAOA,MAAMC,OAAO,CAACC,MAAM,CAAC,CAACC,QAAQC;QACnC,IAAI,OAAOA,WAAW,UAAU;YAC9B,OAAO;gBACL,GAAGD,MAAM;gBACT,CAACL,WAAWM,OAAOC,KAAK,EAAE,EAAE;oBAC1BA,OAAOD,OAAOC,KAAK;gBACrB;YACF;QACF;QAEA,OAAO;YACL,GAAGF,MAAM;YACT,CAACL,WAAWM,QAAQ,EAAE;gBACpBC,OAAOD;YACT;QACF;IACF,GAAG,CAAC;AACN;AAEA,eAAeL,cAAa"}
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _default = (localization)=>(value)=>typeof value === 'object' && Object.keys(value).some((key)=>localization.locales.indexOf(key) > -1);
1
+ export default ((localization)=>(value)=>typeof value === 'object' && Object.keys(value).some((key)=>localization.locales.indexOf(key) > -1));
12
2
 
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0Q2hlY2tJZkxvY2FsZU9iamVjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCAobG9jYWxpemF0aW9uOiB7IGxvY2FsZXM6IHN0cmluZ1tdIH0pID0+XG4gICh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4gPT5cbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgT2JqZWN0LmtleXModmFsdWUpLnNvbWUoKGtleSkgPT4gbG9jYWxpemF0aW9uLmxvY2FsZXMuaW5kZXhPZihrZXkpID4gLTEpXG4iXSwibmFtZXMiOlsibG9jYWxpemF0aW9uIiwidmFsdWUiLCJPYmplY3QiLCJrZXlzIiwic29tZSIsImtleSIsImxvY2FsZXMiLCJpbmRleE9mIl0sIm1hcHBpbmdzIjoiOzs7OytCQUFBOzs7ZUFBQTs7O01BQUEsV0FBZSxDQUFDQSxlQUNkLENBQUNDLFFBQ0MsT0FBT0EsVUFBVSxZQUNqQkMsT0FBT0MsSUFBSSxDQUFDRixPQUFPRyxJQUFJLENBQUMsQ0FBQ0MsTUFBUUwsYUFBYU0sT0FBTyxDQUFDQyxPQUFPLENBQUNGLE9BQU8sQ0FBQyJ9
3
+ //# sourceMappingURL=getCheckIfLocaleObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/getCheckIfLocaleObject.ts"],"sourcesContent":["export default (localization: { locales: string[] }) =>\n (value: unknown): boolean =>\n typeof value === 'object' &&\n Object.keys(value).some((key) => localization.locales.indexOf(key) > -1)\n"],"names":["localization","value","Object","keys","some","key","locales","indexOf"],"rangeMappings":"","mappings":"AAAA,eAAe,CAAA,CAACA,eACd,CAACC,QACC,OAAOA,UAAU,YACjBC,OAAOC,IAAI,CAACF,OAAOG,IAAI,CAAC,CAACC,MAAQL,aAAaM,OAAO,CAACC,OAAO,CAACF,OAAO,CAAC,EAAC,EAAC"}
@@ -1,18 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "groupOrTabHasRequiredSubfield", {
6
- enumerable: true,
7
- get: function() {
8
- return groupOrTabHasRequiredSubfield;
9
- }
10
- });
11
- const _types = require("payload/types");
12
- const groupOrTabHasRequiredSubfield = (entity)=>{
1
+ import { fieldAffectsData } from 'payload/types';
2
+ export const groupOrTabHasRequiredSubfield = (entity)=>{
13
3
  if ('type' in entity && entity.type === 'group') {
14
4
  return entity.fields.some((subField)=>{
15
- return (0, _types.fieldAffectsData)(subField) && 'required' in subField && subField.required || groupOrTabHasRequiredSubfield(subField);
5
+ return fieldAffectsData(subField) && 'required' in subField && subField.required || groupOrTabHasRequiredSubfield(subField);
16
6
  });
17
7
  }
18
8
  if ('fields' in entity && 'name' in entity) {
@@ -21,4 +11,4 @@ const groupOrTabHasRequiredSubfield = (entity)=>{
21
11
  return false;
22
12
  };
23
13
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZCwgVGFiIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZCA9IChlbnRpdHk6IEZpZWxkIHwgVGFiKTogYm9vbGVhbiA9PiB7XG4gIGlmICgndHlwZScgaW4gZW50aXR5ICYmIGVudGl0eS50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgcmV0dXJuIGVudGl0eS5maWVsZHMuc29tZSgoc3ViRmllbGQpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChmaWVsZEFmZmVjdHNEYXRhKHN1YkZpZWxkKSAmJiAncmVxdWlyZWQnIGluIHN1YkZpZWxkICYmIHN1YkZpZWxkLnJlcXVpcmVkKSB8fFxuICAgICAgICBncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZChzdWJGaWVsZClcbiAgICAgIClcbiAgICB9KVxuICB9XG5cbiAgaWYgKCdmaWVsZHMnIGluIGVudGl0eSAmJiAnbmFtZScgaW4gZW50aXR5KSB7XG4gICAgcmV0dXJuIChlbnRpdHkgYXMgVGFiKS5maWVsZHMuc29tZSgoc3ViRmllbGQpID0+IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkKHN1YkZpZWxkKSlcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuIl0sIm5hbWVzIjpbImdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIiwiZW50aXR5IiwidHlwZSIsImZpZWxkcyIsInNvbWUiLCJzdWJGaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJyZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFJYUE7OztlQUFBQTs7O3VCQUZvQjtBQUUxQixNQUFNQSxnQ0FBZ0MsQ0FBQ0M7SUFDNUMsSUFBSSxVQUFVQSxVQUFVQSxPQUFPQyxJQUFJLEtBQUssU0FBUztRQUMvQyxPQUFPRCxPQUFPRSxNQUFNLENBQUNDLElBQUksQ0FBQyxDQUFDQztZQUN6QixPQUNFLEFBQUNDLElBQUFBLHVCQUFnQixFQUFDRCxhQUFhLGNBQWNBLFlBQVlBLFNBQVNFLFFBQVEsSUFDMUVQLDhCQUE4Qks7UUFFbEM7SUFDRjtJQUVBLElBQUksWUFBWUosVUFBVSxVQUFVQSxRQUFRO1FBQzFDLE9BQU8sQUFBQ0EsT0FBZUUsTUFBTSxDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsV0FBYUwsOEJBQThCSztJQUNqRjtJQUVBLE9BQU87QUFDVCJ9
14
+ //# sourceMappingURL=groupOrTabHasRequiredSubfield.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/groupOrTabHasRequiredSubfield.ts"],"sourcesContent":["import type { Field, Tab } from 'payload/types'\n\nimport { fieldAffectsData } from 'payload/types'\n\nexport const groupOrTabHasRequiredSubfield = (entity: Field | Tab): boolean => {\n if ('type' in entity && entity.type === 'group') {\n return entity.fields.some((subField) => {\n return (\n (fieldAffectsData(subField) && 'required' in subField && subField.required) ||\n groupOrTabHasRequiredSubfield(subField)\n )\n })\n }\n\n if ('fields' in entity && 'name' in entity) {\n return (entity as Tab).fields.some((subField) => groupOrTabHasRequiredSubfield(subField))\n }\n\n return false\n}\n"],"names":["fieldAffectsData","groupOrTabHasRequiredSubfield","entity","type","fields","some","subField","required"],"rangeMappings":";;;;;;;;;;;","mappings":"AAEA,SAASA,gBAAgB,QAAQ,gBAAe;AAEhD,OAAO,MAAMC,gCAAgC,CAACC;IAC5C,IAAI,UAAUA,UAAUA,OAAOC,IAAI,KAAK,SAAS;QAC/C,OAAOD,OAAOE,MAAM,CAACC,IAAI,CAAC,CAACC;YACzB,OACE,AAACN,iBAAiBM,aAAa,cAAcA,YAAYA,SAASC,QAAQ,IAC1EN,8BAA8BK;QAElC;IACF;IAEA,IAAI,YAAYJ,UAAU,UAAUA,QAAQ;QAC1C,OAAO,AAACA,OAAeE,MAAM,CAACC,IAAI,CAAC,CAACC,WAAaL,8BAA8BK;IACjF;IAEA,OAAO;AACT,EAAC"}