@payloadcms/graphql 3.0.0-canary.95fcd13 → 3.0.0-canary.96477cf

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 (180) hide show
  1. package/bin.js +51 -2
  2. package/dist/bin/index.js +2 -2
  3. package/dist/bin/index.js.map +1 -1
  4. package/dist/index.js +8 -8
  5. package/dist/index.js.map +1 -1
  6. package/dist/packages/graphql-query-complexity/QueryComplexity.d.ts +2 -2
  7. package/dist/packages/graphql-query-complexity/QueryComplexity.d.ts.map +1 -1
  8. package/dist/packages/graphql-query-complexity/QueryComplexity.js +3 -3
  9. package/dist/packages/graphql-query-complexity/QueryComplexity.js.map +1 -1
  10. package/dist/packages/graphql-query-complexity/createComplexityRule.d.ts +1 -1
  11. package/dist/packages/graphql-query-complexity/createComplexityRule.d.ts.map +1 -1
  12. package/dist/packages/graphql-query-complexity/createComplexityRule.js +1 -1
  13. package/dist/packages/graphql-query-complexity/createComplexityRule.js.map +1 -1
  14. package/dist/resolvers/auth/access.d.ts +1 -2
  15. package/dist/resolvers/auth/access.d.ts.map +1 -1
  16. package/dist/resolvers/auth/access.js +2 -3
  17. package/dist/resolvers/auth/access.js.map +1 -1
  18. package/dist/resolvers/auth/forgotPassword.d.ts +1 -2
  19. package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -1
  20. package/dist/resolvers/auth/forgotPassword.js +1 -2
  21. package/dist/resolvers/auth/forgotPassword.js.map +1 -1
  22. package/dist/resolvers/auth/init.d.ts +1 -2
  23. package/dist/resolvers/auth/init.d.ts.map +1 -1
  24. package/dist/resolvers/auth/init.js +1 -2
  25. package/dist/resolvers/auth/init.js.map +1 -1
  26. package/dist/resolvers/auth/login.d.ts +1 -2
  27. package/dist/resolvers/auth/login.d.ts.map +1 -1
  28. package/dist/resolvers/auth/login.js +1 -2
  29. package/dist/resolvers/auth/login.js.map +1 -1
  30. package/dist/resolvers/auth/logout.d.ts +1 -2
  31. package/dist/resolvers/auth/logout.d.ts.map +1 -1
  32. package/dist/resolvers/auth/logout.js +1 -2
  33. package/dist/resolvers/auth/logout.js.map +1 -1
  34. package/dist/resolvers/auth/me.d.ts +1 -2
  35. package/dist/resolvers/auth/me.d.ts.map +1 -1
  36. package/dist/resolvers/auth/me.js +1 -2
  37. package/dist/resolvers/auth/me.js.map +1 -1
  38. package/dist/resolvers/auth/refresh.d.ts +1 -2
  39. package/dist/resolvers/auth/refresh.d.ts.map +1 -1
  40. package/dist/resolvers/auth/refresh.js +1 -2
  41. package/dist/resolvers/auth/refresh.js.map +1 -1
  42. package/dist/resolvers/auth/resetPassword.d.ts +1 -2
  43. package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
  44. package/dist/resolvers/auth/resetPassword.js +7 -4
  45. package/dist/resolvers/auth/resetPassword.js.map +1 -1
  46. package/dist/resolvers/auth/unlock.d.ts +1 -2
  47. package/dist/resolvers/auth/unlock.d.ts.map +1 -1
  48. package/dist/resolvers/auth/unlock.js +1 -2
  49. package/dist/resolvers/auth/unlock.js.map +1 -1
  50. package/dist/resolvers/auth/verifyEmail.d.ts +1 -2
  51. package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
  52. package/dist/resolvers/auth/verifyEmail.js +7 -4
  53. package/dist/resolvers/auth/verifyEmail.js.map +1 -1
  54. package/dist/resolvers/collections/create.d.ts +1 -1
  55. package/dist/resolvers/collections/create.d.ts.map +1 -1
  56. package/dist/resolvers/collections/create.js +1 -1
  57. package/dist/resolvers/collections/create.js.map +1 -1
  58. package/dist/resolvers/collections/delete.d.ts.map +1 -1
  59. package/dist/resolvers/collections/delete.js +6 -2
  60. package/dist/resolvers/collections/delete.js.map +1 -1
  61. package/dist/resolvers/collections/duplicate.d.ts +1 -1
  62. package/dist/resolvers/collections/duplicate.d.ts.map +1 -1
  63. package/dist/resolvers/collections/duplicate.js +1 -1
  64. package/dist/resolvers/collections/duplicate.js.map +1 -1
  65. package/dist/resolvers/collections/find.d.ts.map +1 -1
  66. package/dist/resolvers/collections/find.js +6 -2
  67. package/dist/resolvers/collections/find.js.map +1 -1
  68. package/dist/resolvers/collections/findByID.d.ts.map +1 -1
  69. package/dist/resolvers/collections/findByID.js +6 -2
  70. package/dist/resolvers/collections/findByID.js.map +1 -1
  71. package/dist/resolvers/collections/findVersions.d.ts.map +1 -1
  72. package/dist/resolvers/collections/findVersions.js +6 -2
  73. package/dist/resolvers/collections/findVersions.js.map +1 -1
  74. package/dist/resolvers/collections/restoreVersion.d.ts +1 -1
  75. package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -1
  76. package/dist/resolvers/collections/restoreVersion.js +1 -1
  77. package/dist/resolvers/collections/restoreVersion.js.map +1 -1
  78. package/dist/resolvers/collections/update.d.ts.map +1 -1
  79. package/dist/resolvers/collections/update.js +6 -2
  80. package/dist/resolvers/collections/update.js.map +1 -1
  81. package/dist/resolvers/globals/findOne.d.ts +1 -1
  82. package/dist/resolvers/globals/findOne.d.ts.map +1 -1
  83. package/dist/resolvers/globals/findOne.js +7 -3
  84. package/dist/resolvers/globals/findOne.js.map +1 -1
  85. package/dist/resolvers/globals/findVersionByID.d.ts +1 -1
  86. package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -1
  87. package/dist/resolvers/globals/findVersionByID.js +7 -3
  88. package/dist/resolvers/globals/findVersionByID.js.map +1 -1
  89. package/dist/resolvers/globals/findVersions.d.ts +1 -1
  90. package/dist/resolvers/globals/findVersions.d.ts.map +1 -1
  91. package/dist/resolvers/globals/findVersions.js +1 -1
  92. package/dist/resolvers/globals/findVersions.js.map +1 -1
  93. package/dist/resolvers/globals/index.d.ts +5 -5
  94. package/dist/resolvers/globals/index.d.ts.map +1 -1
  95. package/dist/resolvers/globals/index.js +5 -5
  96. package/dist/resolvers/globals/index.js.map +1 -1
  97. package/dist/resolvers/globals/restoreVersion.d.ts +1 -1
  98. package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -1
  99. package/dist/resolvers/globals/restoreVersion.js +1 -1
  100. package/dist/resolvers/globals/restoreVersion.js.map +1 -1
  101. package/dist/resolvers/globals/update.d.ts +1 -1
  102. package/dist/resolvers/globals/update.d.ts.map +1 -1
  103. package/dist/resolvers/globals/update.js +7 -3
  104. package/dist/resolvers/globals/update.js.map +1 -1
  105. package/dist/schema/buildFallbackLocaleInputType.d.ts +1 -2
  106. package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -1
  107. package/dist/schema/buildFallbackLocaleInputType.js +2 -3
  108. package/dist/schema/buildFallbackLocaleInputType.js.map +1 -1
  109. package/dist/schema/buildLocaleInputType.d.ts +1 -2
  110. package/dist/schema/buildLocaleInputType.d.ts.map +1 -1
  111. package/dist/schema/buildLocaleInputType.js +2 -3
  112. package/dist/schema/buildLocaleInputType.js.map +1 -1
  113. package/dist/schema/buildMutationInputType.d.ts.map +1 -1
  114. package/dist/schema/buildMutationInputType.js +58 -14
  115. package/dist/schema/buildMutationInputType.js.map +1 -1
  116. package/dist/schema/buildObjectType.d.ts.map +1 -1
  117. package/dist/schema/buildObjectType.js +261 -86
  118. package/dist/schema/buildObjectType.js.map +1 -1
  119. package/dist/schema/buildPoliciesType.d.ts +1 -1
  120. package/dist/schema/buildPoliciesType.d.ts.map +1 -1
  121. package/dist/schema/buildPoliciesType.js +5 -3
  122. package/dist/schema/buildPoliciesType.js.map +1 -1
  123. package/dist/schema/buildWhereInputType.d.ts +2 -2
  124. package/dist/schema/buildWhereInputType.d.ts.map +1 -1
  125. package/dist/schema/buildWhereInputType.js +3 -4
  126. package/dist/schema/buildWhereInputType.js.map +1 -1
  127. package/dist/schema/fieldToWhereInputSchemaMap.d.ts +2 -2
  128. package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
  129. package/dist/schema/fieldToWhereInputSchemaMap.js +31 -7
  130. package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -1
  131. package/dist/schema/initCollections.d.ts +2 -2
  132. package/dist/schema/initCollections.d.ts.map +1 -1
  133. package/dist/schema/initCollections.js +20 -19
  134. package/dist/schema/initCollections.js.map +1 -1
  135. package/dist/schema/initGlobals.d.ts +2 -2
  136. package/dist/schema/initGlobals.d.ts.map +1 -1
  137. package/dist/schema/initGlobals.js +17 -16
  138. package/dist/schema/initGlobals.js.map +1 -1
  139. package/dist/schema/isFieldNullable.d.ts +1 -2
  140. package/dist/schema/isFieldNullable.d.ts.map +1 -1
  141. package/dist/schema/isFieldNullable.js +1 -2
  142. package/dist/schema/isFieldNullable.js.map +1 -1
  143. package/dist/schema/operators.d.ts +1 -2
  144. package/dist/schema/operators.d.ts.map +1 -1
  145. package/dist/schema/operators.js +1 -2
  146. package/dist/schema/operators.js.map +1 -1
  147. package/dist/schema/recursivelyBuildNestedPaths.d.ts +2 -2
  148. package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -1
  149. package/dist/schema/recursivelyBuildNestedPaths.js +2 -3
  150. package/dist/schema/recursivelyBuildNestedPaths.js.map +1 -1
  151. package/dist/schema/withNullableType.d.ts +1 -2
  152. package/dist/schema/withNullableType.d.ts.map +1 -1
  153. package/dist/schema/withNullableType.js +1 -2
  154. package/dist/schema/withNullableType.js.map +1 -1
  155. package/dist/schema/withOperators.d.ts.map +1 -1
  156. package/dist/schema/withOperators.js +11 -6
  157. package/dist/schema/withOperators.js.map +1 -1
  158. package/dist/utilities/combineParentName.d.ts +1 -2
  159. package/dist/utilities/combineParentName.d.ts.map +1 -1
  160. package/dist/utilities/combineParentName.js +2 -3
  161. package/dist/utilities/combineParentName.js.map +1 -1
  162. package/dist/utilities/formatName.d.ts +1 -2
  163. package/dist/utilities/formatName.d.ts.map +1 -1
  164. package/dist/utilities/formatName.js +1 -2
  165. package/dist/utilities/formatName.js.map +1 -1
  166. package/dist/utilities/formatName.spec.js +1 -1
  167. package/dist/utilities/formatName.spec.js.map +1 -1
  168. package/dist/utilities/formatOptions.d.ts +1 -2
  169. package/dist/utilities/formatOptions.d.ts.map +1 -1
  170. package/dist/utilities/formatOptions.js +2 -3
  171. package/dist/utilities/formatOptions.js.map +1 -1
  172. package/package.json +9 -6
  173. package/dist/utilities/getCheckIfLocaleObject.d.ts +0 -5
  174. package/dist/utilities/getCheckIfLocaleObject.d.ts.map +0 -1
  175. package/dist/utilities/getCheckIfLocaleObject.js +0 -3
  176. package/dist/utilities/getCheckIfLocaleObject.js.map +0 -1
  177. package/dist/utilities/uppercase.d.ts +0 -3
  178. package/dist/utilities/uppercase.d.ts.map +0 -1
  179. package/dist/utilities/uppercase.js +0 -11
  180. package/dist/utilities/uppercase.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/withOperators.ts"],"sourcesContent":["import type { GraphQLType } from 'graphql'\nimport type { FieldAffectingData, NumberField, RadioField, SelectField } from 'payload'\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 { optionIsObject } from 'payload/shared'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\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 dynamicTypes]: {\n operators: {\n name: string\n type: (field: FieldAffectingData, parentName: string) => GraphQLType\n }[]\n }\n} & {\n [key in staticTypes]: {\n operators: {\n name: string\n type: ((field: FieldAffectingData, parentName: string) => GraphQLType) | 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","optionIsObject","GraphQLJSON","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"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/schema/withOperators.ts"],"sourcesContent":["import type { GraphQLType } from 'graphql'\nimport type { FieldAffectingData, NumberField, RadioField, SelectField } from 'payload'\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 { optionIsObject } from 'payload/shared'\n\nimport { GraphQLJSON } from '../packages/graphql-type-json/index.js'\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 dynamicTypes]: {\n operators: {\n name: string\n type: (field: FieldAffectingData, parentName: string) => GraphQLType\n }[]\n }\n} & {\n [key in staticTypes]: {\n operators: {\n name: string\n type: ((field: FieldAffectingData, parentName: string) => GraphQLType) | 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, ...operators.contains].map((operator) => ({\n name: operator,\n type: GraphQLJSON,\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]) {\n throw new Error(`Error: ${field.type} has no defaults configured.`)\n }\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","optionIsObject","GraphQLJSON","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"],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- declare const combineParentName: (parent: string, name: string) => string;
2
- export default combineParentName;
1
+ export declare const combineParentName: (parent: string, name: string) => string;
3
2
  //# sourceMappingURL=combineParentName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combineParentName.d.ts","sourceRoot":"","sources":["../../src/utilities/combineParentName.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,iBAAiB,WAAY,MAAM,QAAQ,MAAM,KAAG,MACN,CAAA;AAEpD,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"combineParentName.d.ts","sourceRoot":"","sources":["../../src/utilities/combineParentName.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,WAAY,MAAM,QAAQ,MAAM,KAAG,MACb,CAAA"}
@@ -1,5 +1,4 @@
1
- import formatName from './formatName.js';
2
- const combineParentName = (parent, name)=>formatName(`${parent ? `${parent}_` : ''}${name}`);
3
- export default combineParentName;
1
+ import { formatName } from './formatName.js';
2
+ export const combineParentName = (parent, name)=>formatName(`${parent ? `${parent}_` : ''}${name}`);
4
3
 
5
4
  //# sourceMappingURL=combineParentName.js.map
@@ -1 +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"],"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
+ {"version":3,"sources":["../../src/utilities/combineParentName.ts"],"sourcesContent":["import { formatName } from './formatName.js'\n\nexport const combineParentName = (parent: string, name: string): string =>\n formatName(`${parent ? `${parent}_` : ''}${name}`)\n"],"names":["formatName","combineParentName","parent","name"],"mappings":"AAAA,SAASA,UAAU,QAAQ,kBAAiB;AAE5C,OAAO,MAAMC,oBAAoB,CAACC,QAAgBC,OAChDH,WAAW,CAAC,EAAEE,SAAS,CAAC,EAAEA,OAAO,CAAC,CAAC,GAAG,GAAG,EAAEC,KAAK,CAAC,EAAC"}
@@ -1,3 +1,2 @@
1
- declare const formatName: (string: string) => string;
2
- export default formatName;
1
+ export declare const formatName: (string: string) => string;
3
2
  //# sourceMappingURL=formatName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatName.d.ts","sourceRoot":"","sources":["../../src/utilities/formatName.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,WAAY,MAAM,KAAG,MAwBpC,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"formatName.d.ts","sourceRoot":"","sources":["../../src/utilities/formatName.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,WAAY,MAAM,KAAG,MAwB3C,CAAA"}
@@ -10,7 +10,7 @@ const numbers = [
10
10
  '8',
11
11
  '9'
12
12
  ];
13
- const formatName = (string)=>{
13
+ export const formatName = (string)=>{
14
14
  let sanitizedString = String(string);
15
15
  const firstLetter = sanitizedString.substring(0, 1);
16
16
  if (numbers.indexOf(firstLetter) > -1) {
@@ -20,6 +20,5 @@ const formatName = (string)=>{
20
20
  .normalize('NFKD').replace(/[\u0300-\u036f]/g, '').replace(/\./g, '_').replace(/-|\//g, '_').replace(/\+/g, '_').replace(/,/g, '_').replace(/\(/g, '_').replace(/\)/g, '_').replace(/'/g, '_').replace(/ /g, '');
21
21
  return formatted || '_';
22
22
  };
23
- export default formatName;
24
23
 
25
24
  //# sourceMappingURL=formatName.js.map
@@ -1 +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"],"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
+ {"version":3,"sources":["../../src/utilities/formatName.ts"],"sourcesContent":["const numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']\n\nexport const 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"],"names":["numbers","formatName","string","sanitizedString","String","firstLetter","substring","indexOf","formatted","normalize","replace"],"mappings":"AAAA,MAAMA,UAAU;IAAC;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;IAAK;CAAI;AAElE,OAAO,MAAMC,aAAa,CAACC;IACzB,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,EAAC"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable jest/prefer-strict-equal */ import formatName from './formatName';
1
+ /* eslint-disable jest/prefer-strict-equal */ import { formatName } from './formatName';
2
2
  describe('formatName', ()=>{
3
3
  it.each`
4
4
  char | expected
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/formatName.spec.ts"],"sourcesContent":["/* 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"],"mappings":"AAAA,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
+ {"version":3,"sources":["../../src/utilities/formatName.spec.ts"],"sourcesContent":["/* 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"],"mappings":"AAAA,2CAA2C,GAC3C,SAASA,UAAU,QAAQ,eAAc;AAEzCC,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,4 +1,3 @@
1
1
  import type { RadioField, SelectField } from 'payload';
2
- declare const formatOptions: (field: RadioField | SelectField) => {};
3
- export default formatOptions;
2
+ export declare const formatOptions: (field: RadioField | SelectField) => {};
4
3
  //# sourceMappingURL=formatOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/formatOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAItD,QAAA,MAAM,aAAa,UAAW,UAAU,GAAG,WAAW,OAkBrD,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"formatOptions.d.ts","sourceRoot":"","sources":["../../src/utilities/formatOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAItD,eAAO,MAAM,aAAa,UAAW,UAAU,GAAG,WAAW,OAkB5D,CAAA"}
@@ -1,5 +1,5 @@
1
- import formatName from './formatName.js';
2
- const formatOptions = (field)=>{
1
+ import { formatName } from './formatName.js';
2
+ export const formatOptions = (field)=>{
3
3
  return field.options.reduce((values, option)=>{
4
4
  if (typeof option === 'object') {
5
5
  return {
@@ -17,6 +17,5 @@ const formatOptions = (field)=>{
17
17
  };
18
18
  }, {});
19
19
  };
20
- export default formatOptions;
21
20
 
22
21
  //# sourceMappingURL=formatOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/formatOptions.ts"],"sourcesContent":["import type { RadioField, SelectField } from 'payload'\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"],"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
+ {"version":3,"sources":["../../src/utilities/formatOptions.ts"],"sourcesContent":["import type { RadioField, SelectField } from 'payload'\n\nimport { formatName } from './formatName.js'\n\nexport const 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"],"names":["formatName","formatOptions","field","options","reduce","values","option","value"],"mappings":"AAEA,SAASA,UAAU,QAAQ,kBAAiB;AAE5C,OAAO,MAAMC,gBAAgB,CAACC;IAC5B,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,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/graphql",
3
- "version": "3.0.0-canary.95fcd13",
3
+ "version": "3.0.0-canary.96477cf",
4
4
  "homepage": "https://payloadcms.com",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,22 +36,25 @@
36
36
  "dependencies": {
37
37
  "graphql-scalars": "1.22.2",
38
38
  "pluralize": "8.0.0",
39
- "ts-essentials": "7.0.3"
39
+ "ts-essentials": "10.0.2",
40
+ "tsx": "4.19.1"
40
41
  },
41
42
  "devDependencies": {
42
43
  "@types/pluralize": "^0.0.33",
43
44
  "graphql-http": "^1.22.0",
44
- "@payloadcms/eslint-config": "3.0.0-beta.59",
45
- "payload": "3.0.0-canary.95fcd13"
45
+ "@payloadcms/eslint-config": "3.0.0-beta.97",
46
+ "payload": "3.0.0-canary.96477cf"
46
47
  },
47
48
  "peerDependencies": {
48
49
  "graphql": "^16.8.1",
49
- "payload": "3.0.0-canary.95fcd13"
50
+ "payload": "3.0.0-canary.96477cf"
50
51
  },
51
52
  "scripts": {
52
53
  "build": "pnpm build:types && pnpm build:swc",
53
54
  "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
54
55
  "build:types": "tsc --emitDeclarationOnly --outDir dist",
55
- "clean": "rimraf {dist,*.tsbuildinfo}"
56
+ "clean": "rimraf {dist,*.tsbuildinfo}",
57
+ "lint": "eslint .",
58
+ "lint:fix": "eslint . --fix"
56
59
  }
57
60
  }
@@ -1,5 +0,0 @@
1
- declare const _default: (localization: {
2
- locales: string[];
3
- }) => (value: unknown) => boolean;
4
- export default _default;
5
- //# sourceMappingURL=getCheckIfLocaleObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCheckIfLocaleObject.d.ts","sourceRoot":"","sources":["../../src/utilities/getCheckIfLocaleObject.ts"],"names":[],"mappings":"uCAA8B;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,aACzC,OAAO,KAAG,OAAO;AAD3B,wBAG4E"}
@@ -1,3 +0,0 @@
1
- export default ((localization)=>(value)=>typeof value === 'object' && Object.keys(value).some((key)=>localization.locales.indexOf(key) > -1));
2
-
3
- //# sourceMappingURL=getCheckIfLocaleObject.js.map
@@ -1 +0,0 @@
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"],"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,3 +0,0 @@
1
- declare function uppercase(str: string): string;
2
- export default uppercase;
3
- //# sourceMappingURL=uppercase.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uppercase.d.ts","sourceRoot":"","sources":["../../src/utilities/uppercase.ts"],"names":[],"mappings":"AAAA,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQtC;AAED,eAAe,SAAS,CAAA"}
@@ -1,11 +0,0 @@
1
- function uppercase(str) {
2
- const array1 = str.split(' ');
3
- const newarray1 = [];
4
- for(let x = 0; x < array1.length; x += 1){
5
- newarray1.push(array1[x].charAt(0).toUpperCase() + array1[x].slice(1));
6
- }
7
- return newarray1.join(' ');
8
- }
9
- export default uppercase;
10
-
11
- //# sourceMappingURL=uppercase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/uppercase.ts"],"sourcesContent":["function uppercase(str: string): string {\n const array1 = str.split(' ')\n const newarray1 = []\n\n for (let x = 0; x < array1.length; x += 1) {\n newarray1.push(array1[x].charAt(0).toUpperCase() + array1[x].slice(1))\n }\n return newarray1.join(' ')\n}\n\nexport default uppercase\n"],"names":["uppercase","str","array1","split","newarray1","x","length","push","charAt","toUpperCase","slice","join"],"mappings":"AAAA,SAASA,UAAUC,GAAW;IAC5B,MAAMC,SAASD,IAAIE,KAAK,CAAC;IACzB,MAAMC,YAAY,EAAE;IAEpB,IAAK,IAAIC,IAAI,GAAGA,IAAIH,OAAOI,MAAM,EAAED,KAAK,EAAG;QACzCD,UAAUG,IAAI,CAACL,MAAM,CAACG,EAAE,CAACG,MAAM,CAAC,GAAGC,WAAW,KAAKP,MAAM,CAACG,EAAE,CAACK,KAAK,CAAC;IACrE;IACA,OAAON,UAAUO,IAAI,CAAC;AACxB;AAEA,eAAeX,UAAS"}