@payloadcms/graphql 3.0.0-canary.a0b06af → 3.0.0-canary.a5aaf21

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 (193) hide show
  1. package/bin.js +51 -2
  2. package/dist/bin/generateSchema.d.ts.map +1 -1
  3. package/dist/bin/generateSchema.js +1 -1
  4. package/dist/bin/generateSchema.js.map +1 -1
  5. package/dist/bin/index.js +2 -2
  6. package/dist/bin/index.js.map +1 -1
  7. package/dist/exports/types.d.ts +1 -1
  8. package/dist/exports/types.d.ts.map +1 -1
  9. package/dist/exports/types.js +1 -1
  10. package/dist/exports/types.js.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +9 -9
  13. package/dist/index.js.map +1 -1
  14. package/dist/packages/graphql-query-complexity/QueryComplexity.d.ts +2 -2
  15. package/dist/packages/graphql-query-complexity/QueryComplexity.d.ts.map +1 -1
  16. package/dist/packages/graphql-query-complexity/QueryComplexity.js +4 -4
  17. package/dist/packages/graphql-query-complexity/QueryComplexity.js.map +1 -1
  18. package/dist/packages/graphql-query-complexity/createComplexityRule.d.ts +1 -1
  19. package/dist/packages/graphql-query-complexity/createComplexityRule.d.ts.map +1 -1
  20. package/dist/packages/graphql-query-complexity/createComplexityRule.js +1 -1
  21. package/dist/packages/graphql-query-complexity/createComplexityRule.js.map +1 -1
  22. package/dist/packages/graphql-type-json/index.d.ts.map +1 -1
  23. package/dist/packages/graphql-type-json/index.js +0 -1
  24. package/dist/packages/graphql-type-json/index.js.map +1 -1
  25. package/dist/resolvers/auth/access.d.ts +1 -2
  26. package/dist/resolvers/auth/access.d.ts.map +1 -1
  27. package/dist/resolvers/auth/access.js +2 -3
  28. package/dist/resolvers/auth/access.js.map +1 -1
  29. package/dist/resolvers/auth/forgotPassword.d.ts +1 -2
  30. package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -1
  31. package/dist/resolvers/auth/forgotPassword.js +1 -2
  32. package/dist/resolvers/auth/forgotPassword.js.map +1 -1
  33. package/dist/resolvers/auth/init.d.ts +1 -2
  34. package/dist/resolvers/auth/init.d.ts.map +1 -1
  35. package/dist/resolvers/auth/init.js +1 -2
  36. package/dist/resolvers/auth/init.js.map +1 -1
  37. package/dist/resolvers/auth/login.d.ts +1 -2
  38. package/dist/resolvers/auth/login.d.ts.map +1 -1
  39. package/dist/resolvers/auth/login.js +1 -2
  40. package/dist/resolvers/auth/login.js.map +1 -1
  41. package/dist/resolvers/auth/logout.d.ts +1 -2
  42. package/dist/resolvers/auth/logout.d.ts.map +1 -1
  43. package/dist/resolvers/auth/logout.js +1 -2
  44. package/dist/resolvers/auth/logout.js.map +1 -1
  45. package/dist/resolvers/auth/me.d.ts +1 -2
  46. package/dist/resolvers/auth/me.d.ts.map +1 -1
  47. package/dist/resolvers/auth/me.js +1 -2
  48. package/dist/resolvers/auth/me.js.map +1 -1
  49. package/dist/resolvers/auth/refresh.d.ts +1 -2
  50. package/dist/resolvers/auth/refresh.d.ts.map +1 -1
  51. package/dist/resolvers/auth/refresh.js +1 -2
  52. package/dist/resolvers/auth/refresh.js.map +1 -1
  53. package/dist/resolvers/auth/resetPassword.d.ts +1 -2
  54. package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
  55. package/dist/resolvers/auth/resetPassword.js +7 -4
  56. package/dist/resolvers/auth/resetPassword.js.map +1 -1
  57. package/dist/resolvers/auth/unlock.d.ts +1 -2
  58. package/dist/resolvers/auth/unlock.d.ts.map +1 -1
  59. package/dist/resolvers/auth/unlock.js +3 -3
  60. package/dist/resolvers/auth/unlock.js.map +1 -1
  61. package/dist/resolvers/auth/verifyEmail.d.ts +1 -2
  62. package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
  63. package/dist/resolvers/auth/verifyEmail.js +7 -4
  64. package/dist/resolvers/auth/verifyEmail.js.map +1 -1
  65. package/dist/resolvers/collections/count.d.ts.map +1 -1
  66. package/dist/resolvers/collections/count.js.map +1 -1
  67. package/dist/resolvers/collections/create.d.ts +1 -1
  68. package/dist/resolvers/collections/create.d.ts.map +1 -1
  69. package/dist/resolvers/collections/create.js +1 -1
  70. package/dist/resolvers/collections/create.js.map +1 -1
  71. package/dist/resolvers/collections/delete.d.ts.map +1 -1
  72. package/dist/resolvers/collections/delete.js +6 -2
  73. package/dist/resolvers/collections/delete.js.map +1 -1
  74. package/dist/resolvers/collections/duplicate.d.ts +1 -1
  75. package/dist/resolvers/collections/duplicate.d.ts.map +1 -1
  76. package/dist/resolvers/collections/duplicate.js +1 -1
  77. package/dist/resolvers/collections/duplicate.js.map +1 -1
  78. package/dist/resolvers/collections/find.d.ts.map +1 -1
  79. package/dist/resolvers/collections/find.js +6 -2
  80. package/dist/resolvers/collections/find.js.map +1 -1
  81. package/dist/resolvers/collections/findByID.d.ts.map +1 -1
  82. package/dist/resolvers/collections/findByID.js +6 -2
  83. package/dist/resolvers/collections/findByID.js.map +1 -1
  84. package/dist/resolvers/collections/findVersions.d.ts.map +1 -1
  85. package/dist/resolvers/collections/findVersions.js +6 -2
  86. package/dist/resolvers/collections/findVersions.js.map +1 -1
  87. package/dist/resolvers/collections/restoreVersion.d.ts +2 -1
  88. package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -1
  89. package/dist/resolvers/collections/restoreVersion.js +2 -1
  90. package/dist/resolvers/collections/restoreVersion.js.map +1 -1
  91. package/dist/resolvers/collections/update.d.ts.map +1 -1
  92. package/dist/resolvers/collections/update.js +6 -2
  93. package/dist/resolvers/collections/update.js.map +1 -1
  94. package/dist/resolvers/globals/findOne.d.ts +1 -1
  95. package/dist/resolvers/globals/findOne.d.ts.map +1 -1
  96. package/dist/resolvers/globals/findOne.js +7 -3
  97. package/dist/resolvers/globals/findOne.js.map +1 -1
  98. package/dist/resolvers/globals/findVersionByID.d.ts +1 -1
  99. package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -1
  100. package/dist/resolvers/globals/findVersionByID.js +7 -3
  101. package/dist/resolvers/globals/findVersionByID.js.map +1 -1
  102. package/dist/resolvers/globals/findVersions.d.ts +1 -1
  103. package/dist/resolvers/globals/findVersions.d.ts.map +1 -1
  104. package/dist/resolvers/globals/findVersions.js +1 -1
  105. package/dist/resolvers/globals/findVersions.js.map +1 -1
  106. package/dist/resolvers/globals/index.d.ts +5 -5
  107. package/dist/resolvers/globals/index.d.ts.map +1 -1
  108. package/dist/resolvers/globals/index.js +5 -5
  109. package/dist/resolvers/globals/index.js.map +1 -1
  110. package/dist/resolvers/globals/restoreVersion.d.ts +2 -1
  111. package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -1
  112. package/dist/resolvers/globals/restoreVersion.js +2 -1
  113. package/dist/resolvers/globals/restoreVersion.js.map +1 -1
  114. package/dist/resolvers/globals/update.d.ts +1 -1
  115. package/dist/resolvers/globals/update.d.ts.map +1 -1
  116. package/dist/resolvers/globals/update.js +7 -3
  117. package/dist/resolvers/globals/update.js.map +1 -1
  118. package/dist/schema/buildFallbackLocaleInputType.d.ts +1 -2
  119. package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -1
  120. package/dist/schema/buildFallbackLocaleInputType.js +2 -3
  121. package/dist/schema/buildFallbackLocaleInputType.js.map +1 -1
  122. package/dist/schema/buildLocaleInputType.d.ts +1 -2
  123. package/dist/schema/buildLocaleInputType.d.ts.map +1 -1
  124. package/dist/schema/buildLocaleInputType.js +2 -3
  125. package/dist/schema/buildLocaleInputType.js.map +1 -1
  126. package/dist/schema/buildMutationInputType.d.ts.map +1 -1
  127. package/dist/schema/buildMutationInputType.js +58 -14
  128. package/dist/schema/buildMutationInputType.js.map +1 -1
  129. package/dist/schema/buildObjectType.d.ts.map +1 -1
  130. package/dist/schema/buildObjectType.js +262 -87
  131. package/dist/schema/buildObjectType.js.map +1 -1
  132. package/dist/schema/buildPoliciesType.d.ts +1 -1
  133. package/dist/schema/buildPoliciesType.d.ts.map +1 -1
  134. package/dist/schema/buildPoliciesType.js +5 -3
  135. package/dist/schema/buildPoliciesType.js.map +1 -1
  136. package/dist/schema/buildWhereInputType.d.ts +2 -2
  137. package/dist/schema/buildWhereInputType.d.ts.map +1 -1
  138. package/dist/schema/buildWhereInputType.js +4 -5
  139. package/dist/schema/buildWhereInputType.js.map +1 -1
  140. package/dist/schema/fieldToWhereInputSchemaMap.d.ts +2 -2
  141. package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
  142. package/dist/schema/fieldToWhereInputSchemaMap.js +31 -7
  143. package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -1
  144. package/dist/schema/initCollections.d.ts +3 -4
  145. package/dist/schema/initCollections.d.ts.map +1 -1
  146. package/dist/schema/initCollections.js +42 -36
  147. package/dist/schema/initCollections.js.map +1 -1
  148. package/dist/schema/initGlobals.d.ts +2 -2
  149. package/dist/schema/initGlobals.d.ts.map +1 -1
  150. package/dist/schema/initGlobals.js +24 -17
  151. package/dist/schema/initGlobals.js.map +1 -1
  152. package/dist/schema/isFieldNullable.d.ts +1 -2
  153. package/dist/schema/isFieldNullable.d.ts.map +1 -1
  154. package/dist/schema/isFieldNullable.js +1 -2
  155. package/dist/schema/isFieldNullable.js.map +1 -1
  156. package/dist/schema/operators.d.ts +1 -2
  157. package/dist/schema/operators.d.ts.map +1 -1
  158. package/dist/schema/operators.js +1 -2
  159. package/dist/schema/operators.js.map +1 -1
  160. package/dist/schema/recursivelyBuildNestedPaths.d.ts +2 -2
  161. package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -1
  162. package/dist/schema/recursivelyBuildNestedPaths.js +2 -3
  163. package/dist/schema/recursivelyBuildNestedPaths.js.map +1 -1
  164. package/dist/schema/withNullableType.d.ts +1 -2
  165. package/dist/schema/withNullableType.d.ts.map +1 -1
  166. package/dist/schema/withNullableType.js +1 -2
  167. package/dist/schema/withNullableType.js.map +1 -1
  168. package/dist/schema/withOperators.d.ts.map +1 -1
  169. package/dist/schema/withOperators.js +11 -6
  170. package/dist/schema/withOperators.js.map +1 -1
  171. package/dist/utilities/combineParentName.d.ts +1 -2
  172. package/dist/utilities/combineParentName.d.ts.map +1 -1
  173. package/dist/utilities/combineParentName.js +2 -3
  174. package/dist/utilities/combineParentName.js.map +1 -1
  175. package/dist/utilities/formatName.d.ts +1 -2
  176. package/dist/utilities/formatName.d.ts.map +1 -1
  177. package/dist/utilities/formatName.js +1 -2
  178. package/dist/utilities/formatName.js.map +1 -1
  179. package/dist/utilities/formatName.spec.js +1 -1
  180. package/dist/utilities/formatName.spec.js.map +1 -1
  181. package/dist/utilities/formatOptions.d.ts +1 -2
  182. package/dist/utilities/formatOptions.d.ts.map +1 -1
  183. package/dist/utilities/formatOptions.js +2 -3
  184. package/dist/utilities/formatOptions.js.map +1 -1
  185. package/package.json +9 -6
  186. package/dist/utilities/getCheckIfLocaleObject.d.ts +0 -5
  187. package/dist/utilities/getCheckIfLocaleObject.d.ts.map +0 -1
  188. package/dist/utilities/getCheckIfLocaleObject.js +0 -3
  189. package/dist/utilities/getCheckIfLocaleObject.js.map +0 -1
  190. package/dist/utilities/uppercase.d.ts +0 -3
  191. package/dist/utilities/uppercase.d.ts.map +0 -1
  192. package/dist/utilities/uppercase.js +0 -11
  193. package/dist/utilities/uppercase.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/recursivelyBuildNestedPaths.ts"],"sourcesContent":["import type { FieldWithSubFields, TabsField } from 'payload'\n\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\n\nimport fieldToSchemaMap from './fieldToWhereInputSchemaMap.js'\n\ntype Args = {\n field: FieldWithSubFields | TabsField\n nestedFieldName2: string\n parentName: string\n}\n\nconst recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName }: Args) => {\n const fieldName = fieldAffectsData(field) ? field.name : undefined\n const nestedFieldName = fieldName || nestedFieldName2\n\n if (field.type === 'tabs') {\n // if the tab has a name, treat it as a group\n // otherwise, treat it as a row\n return field.tabs.reduce((tabSchema, tab: any) => {\n tabSchema.push(\n ...recursivelyBuildNestedPaths({\n field: {\n ...tab,\n type: 'name' in tab ? 'group' : 'row',\n },\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n )\n return tabSchema\n }, [])\n }\n\n const nestedPaths = field.fields.reduce((nestedFields, nestedField) => {\n if (!fieldIsPresentationalOnly(nestedField)) {\n if (!fieldAffectsData(nestedField)) {\n return [\n ...nestedFields,\n ...recursivelyBuildNestedPaths({\n field: nestedField,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n ]\n }\n\n const nestedPathName = fieldAffectsData(nestedField)\n ? `${nestedFieldName ? `${nestedFieldName}__` : ''}${nestedField.name}`\n : undefined\n const getFieldSchema = fieldToSchemaMap({\n nestedFieldName,\n parentName,\n })[nestedField.type]\n\n if (getFieldSchema) {\n const fieldSchema = getFieldSchema({\n ...nestedField,\n name: nestedPathName,\n })\n\n if (Array.isArray(fieldSchema)) {\n return [...nestedFields, ...fieldSchema]\n }\n\n return [\n ...nestedFields,\n {\n type: fieldSchema,\n key: nestedPathName,\n },\n ]\n }\n }\n\n return nestedFields\n }, [])\n\n return nestedPaths\n}\n\nexport default recursivelyBuildNestedPaths\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","fieldToSchemaMap","recursivelyBuildNestedPaths","field","nestedFieldName2","parentName","fieldName","name","undefined","nestedFieldName","type","tabs","reduce","tabSchema","tab","push","nestedPaths","fields","nestedFields","nestedField","nestedPathName","getFieldSchema","fieldSchema","Array","isArray","key"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,yBAAyB,QAAQ,iBAAgB;AAE5E,OAAOC,sBAAsB,kCAAiC;AAQ9D,MAAMC,8BAA8B,CAAC,EAAEC,KAAK,EAAEC,gBAAgB,EAAEC,UAAU,EAAQ;IAChF,MAAMC,YAAYP,iBAAiBI,SAASA,MAAMI,IAAI,GAAGC;IACzD,MAAMC,kBAAkBH,aAAaF;IAErC,IAAID,MAAMO,IAAI,KAAK,QAAQ;QACzB,6CAA6C;QAC7C,+BAA+B;QAC/B,OAAOP,MAAMQ,IAAI,CAACC,MAAM,CAAC,CAACC,WAAWC;YACnCD,UAAUE,IAAI,IACTb,4BAA4B;gBAC7BC,OAAO;oBACL,GAAGW,GAAG;oBACNJ,MAAM,UAAUI,MAAM,UAAU;gBAClC;gBACAV,kBAAkBK;gBAClBJ;YACF;YAEF,OAAOQ;QACT,GAAG,EAAE;IACP;IAEA,MAAMG,cAAcb,MAAMc,MAAM,CAACL,MAAM,CAAC,CAACM,cAAcC;QACrD,IAAI,CAACnB,0BAA0BmB,cAAc;YAC3C,IAAI,CAACpB,iBAAiBoB,cAAc;gBAClC,OAAO;uBACFD;uBACAhB,4BAA4B;wBAC7BC,OAAOgB;wBACPf,kBAAkBK;wBAClBJ;oBACF;iBACD;YACH;YAEA,MAAMe,iBAAiBrB,iBAAiBoB,eACpC,CAAC,EAAEV,kBAAkB,CAAC,EAAEA,gBAAgB,EAAE,CAAC,GAAG,GAAG,EAAEU,YAAYZ,IAAI,CAAC,CAAC,GACrEC;YACJ,MAAMa,iBAAiBpB,iBAAiB;gBACtCQ;gBACAJ;YACF,EAAE,CAACc,YAAYT,IAAI,CAAC;YAEpB,IAAIW,gBAAgB;gBAClB,MAAMC,cAAcD,eAAe;oBACjC,GAAGF,WAAW;oBACdZ,MAAMa;gBACR;gBAEA,IAAIG,MAAMC,OAAO,CAACF,cAAc;oBAC9B,OAAO;2BAAIJ;2BAAiBI;qBAAY;gBAC1C;gBAEA,OAAO;uBACFJ;oBACH;wBACER,MAAMY;wBACNG,KAAKL;oBACP;iBACD;YACH;QACF;QAEA,OAAOF;IACT,GAAG,EAAE;IAEL,OAAOF;AACT;AAEA,eAAed,4BAA2B"}
1
+ {"version":3,"sources":["../../src/schema/recursivelyBuildNestedPaths.ts"],"sourcesContent":["import type { FieldWithSubFields, TabsField } from 'payload'\n\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\n\nimport { fieldToSchemaMap } from './fieldToWhereInputSchemaMap.js'\n\ntype Args = {\n field: FieldWithSubFields | TabsField\n nestedFieldName2: string\n parentName: string\n}\n\nexport const recursivelyBuildNestedPaths = ({ field, nestedFieldName2, parentName }: Args) => {\n const fieldName = fieldAffectsData(field) ? field.name : undefined\n const nestedFieldName = fieldName || nestedFieldName2\n\n if (field.type === 'tabs') {\n // if the tab has a name, treat it as a group\n // otherwise, treat it as a row\n return field.tabs.reduce((tabSchema, tab: any) => {\n tabSchema.push(\n ...recursivelyBuildNestedPaths({\n field: {\n ...tab,\n type: 'name' in tab ? 'group' : 'row',\n },\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n )\n return tabSchema\n }, [])\n }\n\n const nestedPaths = field.fields.reduce((nestedFields, nestedField) => {\n if (!fieldIsPresentationalOnly(nestedField)) {\n if (!fieldAffectsData(nestedField)) {\n return [\n ...nestedFields,\n ...recursivelyBuildNestedPaths({\n field: nestedField,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n ]\n }\n\n const nestedPathName = fieldAffectsData(nestedField)\n ? `${nestedFieldName ? `${nestedFieldName}__` : ''}${nestedField.name}`\n : undefined\n const getFieldSchema = fieldToSchemaMap({\n nestedFieldName,\n parentName,\n })[nestedField.type]\n\n if (getFieldSchema) {\n const fieldSchema = getFieldSchema({\n ...nestedField,\n name: nestedPathName,\n })\n\n if (Array.isArray(fieldSchema)) {\n return [...nestedFields, ...fieldSchema]\n }\n\n return [\n ...nestedFields,\n {\n type: fieldSchema,\n key: nestedPathName,\n },\n ]\n }\n }\n\n return nestedFields\n }, [])\n\n return nestedPaths\n}\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","fieldToSchemaMap","recursivelyBuildNestedPaths","field","nestedFieldName2","parentName","fieldName","name","undefined","nestedFieldName","type","tabs","reduce","tabSchema","tab","push","nestedPaths","fields","nestedFields","nestedField","nestedPathName","getFieldSchema","fieldSchema","Array","isArray","key"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,yBAAyB,QAAQ,iBAAgB;AAE5E,SAASC,gBAAgB,QAAQ,kCAAiC;AAQlE,OAAO,MAAMC,8BAA8B,CAAC,EAAEC,KAAK,EAAEC,gBAAgB,EAAEC,UAAU,EAAQ;IACvF,MAAMC,YAAYP,iBAAiBI,SAASA,MAAMI,IAAI,GAAGC;IACzD,MAAMC,kBAAkBH,aAAaF;IAErC,IAAID,MAAMO,IAAI,KAAK,QAAQ;QACzB,6CAA6C;QAC7C,+BAA+B;QAC/B,OAAOP,MAAMQ,IAAI,CAACC,MAAM,CAAC,CAACC,WAAWC;YACnCD,UAAUE,IAAI,IACTb,4BAA4B;gBAC7BC,OAAO;oBACL,GAAGW,GAAG;oBACNJ,MAAM,UAAUI,MAAM,UAAU;gBAClC;gBACAV,kBAAkBK;gBAClBJ;YACF;YAEF,OAAOQ;QACT,GAAG,EAAE;IACP;IAEA,MAAMG,cAAcb,MAAMc,MAAM,CAACL,MAAM,CAAC,CAACM,cAAcC;QACrD,IAAI,CAACnB,0BAA0BmB,cAAc;YAC3C,IAAI,CAACpB,iBAAiBoB,cAAc;gBAClC,OAAO;uBACFD;uBACAhB,4BAA4B;wBAC7BC,OAAOgB;wBACPf,kBAAkBK;wBAClBJ;oBACF;iBACD;YACH;YAEA,MAAMe,iBAAiBrB,iBAAiBoB,eACpC,CAAC,EAAEV,kBAAkB,CAAC,EAAEA,gBAAgB,EAAE,CAAC,GAAG,GAAG,EAAEU,YAAYZ,IAAI,CAAC,CAAC,GACrEC;YACJ,MAAMa,iBAAiBpB,iBAAiB;gBACtCQ;gBACAJ;YACF,EAAE,CAACc,YAAYT,IAAI,CAAC;YAEpB,IAAIW,gBAAgB;gBAClB,MAAMC,cAAcD,eAAe;oBACjC,GAAGF,WAAW;oBACdZ,MAAMa;gBACR;gBAEA,IAAIG,MAAMC,OAAO,CAACF,cAAc;oBAC9B,OAAO;2BAAIJ;2BAAiBI;qBAAY;gBAC1C;gBAEA,OAAO;uBACFJ;oBACH;wBACER,MAAMY;wBACNG,KAAKL;oBACP;iBACD;YACH;QACF;QAEA,OAAOF;IACT,GAAG,EAAE;IAEL,OAAOF;AACT,EAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { GraphQLType } from 'graphql';
2
2
  import type { FieldAffectingData } from 'payload';
3
- declare const withNullableType: (field: FieldAffectingData, type: GraphQLType, forceNullable?: boolean) => GraphQLType;
4
- export default withNullableType;
3
+ export declare const withNullableType: (field: FieldAffectingData, type: GraphQLType, forceNullable?: boolean) => GraphQLType;
5
4
  //# sourceMappingURL=withNullableType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withNullableType.d.ts","sourceRoot":"","sources":["../../src/schema/withNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD,QAAA,MAAM,gBAAgB,UACb,kBAAkB,QACnB,WAAW,8BAEhB,WAkBF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"withNullableType.d.ts","sourceRoot":"","sources":["../../src/schema/withNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD,eAAO,MAAM,gBAAgB,UACpB,kBAAkB,QACnB,WAAW,8BAEhB,WAkBF,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { GraphQLNonNull } from 'graphql';
2
- const withNullableType = (field, type, forceNullable = false)=>{
2
+ export const withNullableType = (field, type, forceNullable = false)=>{
3
3
  const hasReadAccessControl = field.access && field.access.read;
4
4
  const condition = field.admin && field.admin.condition;
5
5
  const isTimestamp = field.name === 'createdAt' || field.name === 'updatedAt';
@@ -8,6 +8,5 @@ const withNullableType = (field, type, forceNullable = false)=>{
8
8
  }
9
9
  return type;
10
10
  };
11
- export default withNullableType;
12
11
 
13
12
  //# sourceMappingURL=withNullableType.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/withNullableType.ts"],"sourcesContent":["import type { GraphQLType } from 'graphql'\nimport type { FieldAffectingData } from 'payload'\n\nimport { GraphQLNonNull } from 'graphql'\n\nconst withNullableType = (\n field: FieldAffectingData,\n type: GraphQLType,\n forceNullable = false,\n): GraphQLType => {\n const hasReadAccessControl = field.access && field.access.read\n const condition = field.admin && field.admin.condition\n const isTimestamp = field.name === 'createdAt' || field.name === 'updatedAt'\n\n if (\n !forceNullable &&\n 'required' in field &&\n field.required &&\n !field.localized &&\n !condition &&\n !hasReadAccessControl &&\n !isTimestamp\n ) {\n return new GraphQLNonNull(type)\n }\n\n return type\n}\n\nexport default withNullableType\n"],"names":["GraphQLNonNull","withNullableType","field","type","forceNullable","hasReadAccessControl","access","read","condition","admin","isTimestamp","name","required","localized"],"mappings":"AAGA,SAASA,cAAc,QAAQ,UAAS;AAExC,MAAMC,mBAAmB,CACvBC,OACAC,MACAC,gBAAgB,KAAK;IAErB,MAAMC,uBAAuBH,MAAMI,MAAM,IAAIJ,MAAMI,MAAM,CAACC,IAAI;IAC9D,MAAMC,YAAYN,MAAMO,KAAK,IAAIP,MAAMO,KAAK,CAACD,SAAS;IACtD,MAAME,cAAcR,MAAMS,IAAI,KAAK,eAAeT,MAAMS,IAAI,KAAK;IAEjE,IACE,CAACP,iBACD,cAAcF,SACdA,MAAMU,QAAQ,IACd,CAACV,MAAMW,SAAS,IAChB,CAACL,aACD,CAACH,wBACD,CAACK,aACD;QACA,OAAO,IAAIV,eAAeG;IAC5B;IAEA,OAAOA;AACT;AAEA,eAAeF,iBAAgB"}
1
+ {"version":3,"sources":["../../src/schema/withNullableType.ts"],"sourcesContent":["import type { GraphQLType } from 'graphql'\nimport type { FieldAffectingData } from 'payload'\n\nimport { GraphQLNonNull } from 'graphql'\n\nexport const withNullableType = (\n field: FieldAffectingData,\n type: GraphQLType,\n forceNullable = false,\n): GraphQLType => {\n const hasReadAccessControl = field.access && field.access.read\n const condition = field.admin && field.admin.condition\n const isTimestamp = field.name === 'createdAt' || field.name === 'updatedAt'\n\n if (\n !forceNullable &&\n 'required' in field &&\n field.required &&\n !field.localized &&\n !condition &&\n !hasReadAccessControl &&\n !isTimestamp\n ) {\n return new GraphQLNonNull(type)\n }\n\n return type\n}\n"],"names":["GraphQLNonNull","withNullableType","field","type","forceNullable","hasReadAccessControl","access","read","condition","admin","isTimestamp","name","required","localized"],"mappings":"AAGA,SAASA,cAAc,QAAQ,UAAS;AAExC,OAAO,MAAMC,mBAAmB,CAC9BC,OACAC,MACAC,gBAAgB,KAAK;IAErB,MAAMC,uBAAuBH,MAAMI,MAAM,IAAIJ,MAAMI,MAAM,CAACC,IAAI;IAC9D,MAAMC,YAAYN,MAAMO,KAAK,IAAIP,MAAMO,KAAK,CAACD,SAAS;IACtD,MAAME,cAAcR,MAAMS,IAAI,KAAK,eAAeT,MAAMS,IAAI,KAAK;IAEjE,IACE,CAACP,iBACD,cAAcF,SACdA,MAAMU,QAAQ,IACd,CAACV,MAAMW,SAAS,IAChB,CAACL,aACD,CAACH,wBACD,CAACK,aACD;QACA,OAAO,IAAIV,eAAeG;IAC5B;IAEA,OAAOA;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../src/schema/withOperators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,SAAS,CAAA;AAEvF,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AA8OhB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,UACjB,kBAAkB,cACb,MAAM,KACjB,sBA+CF,CAAA"}
1
+ {"version":3,"file":"withOperators.d.ts","sourceRoot":"","sources":["../../src/schema/withOperators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAwC,MAAM,SAAS,CAAA;AAEvF,OAAO,EAIL,sBAAsB,EAIvB,MAAM,SAAS,CAAA;AA8OhB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,UACjB,kBAAkB,cACb,MAAM,KACjB,sBAiDF,CAAA"}
@@ -2,9 +2,9 @@ import { GraphQLBoolean, GraphQLEnumType, GraphQLFloat, GraphQLInputObjectType,
2
2
  import { DateTimeResolver, EmailAddressResolver } from 'graphql-scalars';
3
3
  import { optionIsObject } from 'payload/shared';
4
4
  import { GraphQLJSON } from '../packages/graphql-type-json/index.js';
5
- import combineParentName from '../utilities/combineParentName.js';
6
- import formatName from '../utilities/formatName.js';
7
- import operators from './operators.js';
5
+ import { combineParentName } from '../utilities/combineParentName.js';
6
+ import { formatName } from '../utilities/formatName.js';
7
+ import { operators } from './operators.js';
8
8
  const GeoJSONObject = new GraphQLInputObjectType({
9
9
  name: 'GeoJSONObject',
10
10
  fields: {
@@ -222,9 +222,12 @@ const defaults = {
222
222
  },
223
223
  upload: {
224
224
  operators: [
225
- ...operators.equality.map((operator)=>({
225
+ ...[
226
+ ...operators.equality,
227
+ ...operators.contains
228
+ ].map((operator)=>({
226
229
  name: operator,
227
- type: GraphQLString
230
+ type: GraphQLJSON
228
231
  }))
229
232
  ]
230
233
  }
@@ -247,7 +250,9 @@ const gqlTypeCache = {};
247
250
  * @param parentName the name of the parent field (if any)
248
251
  * @returns all the operators (including their types) which can be used as a condition for a given field inside a where
249
252
  */ export const withOperators = (field, parentName)=>{
250
- if (!defaults?.[field.type]) throw new Error(`Error: ${field.type} has no defaults configured.`);
253
+ if (!defaults?.[field.type]) {
254
+ throw new Error(`Error: ${field.type} has no defaults configured.`);
255
+ }
251
256
  const name = `${combineParentName(parentName, field.name)}_operator`;
252
257
  // Get the default operators for the field type which are hard-coded above
253
258
  const fieldOperators = [
@@ -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 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","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 indent */ /* 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 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"],"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
+ {"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.a0b06af",
3
+ "version": "3.0.0-canary.a5aaf21",
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.a0b06af"
45
+ "@payloadcms/eslint-config": "3.0.0-beta.97",
46
+ "payload": "3.0.0-canary.a5aaf21"
46
47
  },
47
48
  "peerDependencies": {
48
49
  "graphql": "^16.8.1",
49
- "payload": "3.0.0-canary.a0b06af"
50
+ "payload": "3.0.0-canary.a5aaf21"
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"}