payload 3.0.0-alpha.64 → 3.0.0-alpha.66

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 (545) hide show
  1. package/dist/admin/RichText.d.ts +16 -10
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/Tab.d.ts +3 -0
  5. package/dist/admin/elements/Tab.d.ts.map +1 -1
  6. package/dist/admin/elements/Tab.js.map +1 -1
  7. package/dist/admin/types.d.ts +1 -1
  8. package/dist/admin/types.d.ts.map +1 -1
  9. package/dist/admin/types.js.map +1 -1
  10. package/dist/admin/views/types.d.ts +2 -2
  11. package/dist/admin/views/types.d.ts.map +1 -1
  12. package/dist/admin/views/types.js.map +1 -1
  13. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  14. package/dist/auth/baseFields/apiKey.js +6 -4
  15. package/dist/auth/baseFields/apiKey.js.map +1 -1
  16. package/dist/auth/defaultAccess.d.ts +2 -2
  17. package/dist/auth/defaultAccess.d.ts.map +1 -1
  18. package/dist/auth/defaultAccess.js.map +1 -1
  19. package/dist/auth/executeAccess.d.ts +2 -2
  20. package/dist/auth/executeAccess.d.ts.map +1 -1
  21. package/dist/auth/executeAccess.js.map +1 -1
  22. package/dist/auth/getAccessResults.d.ts +2 -2
  23. package/dist/auth/getAccessResults.d.ts.map +1 -1
  24. package/dist/auth/getAccessResults.js +1 -1
  25. package/dist/auth/getAccessResults.js.map +1 -1
  26. package/dist/auth/getFieldsToSign.d.ts +2 -2
  27. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  28. package/dist/auth/getFieldsToSign.js.map +1 -1
  29. package/dist/auth/operations/access.d.ts +2 -2
  30. package/dist/auth/operations/access.d.ts.map +1 -1
  31. package/dist/auth/operations/access.js.map +1 -1
  32. package/dist/auth/operations/auth.d.ts +2 -2
  33. package/dist/auth/operations/auth.d.ts.map +1 -1
  34. package/dist/auth/operations/auth.js.map +1 -1
  35. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  36. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  37. package/dist/auth/operations/forgotPassword.js +3 -2
  38. package/dist/auth/operations/forgotPassword.js.map +1 -1
  39. package/dist/auth/operations/init.d.ts +2 -2
  40. package/dist/auth/operations/init.d.ts.map +1 -1
  41. package/dist/auth/operations/init.js.map +1 -1
  42. package/dist/auth/operations/local/auth.js.map +1 -1
  43. package/dist/auth/operations/local/forgotPassword.d.ts +2 -2
  44. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  45. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  46. package/dist/auth/operations/local/login.d.ts +2 -2
  47. package/dist/auth/operations/local/login.d.ts.map +1 -1
  48. package/dist/auth/operations/local/login.js.map +1 -1
  49. package/dist/auth/operations/local/resetPassword.d.ts +2 -2
  50. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  51. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  52. package/dist/auth/operations/local/unlock.d.ts +2 -2
  53. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  54. package/dist/auth/operations/local/unlock.js.map +1 -1
  55. package/dist/auth/operations/local/verifyEmail.d.ts +2 -2
  56. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  57. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  58. package/dist/auth/operations/login.d.ts +2 -2
  59. package/dist/auth/operations/login.d.ts.map +1 -1
  60. package/dist/auth/operations/login.js.map +1 -1
  61. package/dist/auth/operations/logout.d.ts +2 -2
  62. package/dist/auth/operations/logout.d.ts.map +1 -1
  63. package/dist/auth/operations/logout.js.map +1 -1
  64. package/dist/auth/operations/me.d.ts +2 -2
  65. package/dist/auth/operations/me.d.ts.map +1 -1
  66. package/dist/auth/operations/me.js.map +1 -1
  67. package/dist/auth/operations/refresh.d.ts +2 -2
  68. package/dist/auth/operations/refresh.d.ts.map +1 -1
  69. package/dist/auth/operations/refresh.js.map +1 -1
  70. package/dist/auth/operations/registerFirstUser.d.ts +2 -2
  71. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  72. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  73. package/dist/auth/operations/resetPassword.d.ts +2 -2
  74. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  75. package/dist/auth/operations/resetPassword.js.map +1 -1
  76. package/dist/auth/operations/unlock.d.ts +2 -2
  77. package/dist/auth/operations/unlock.d.ts.map +1 -1
  78. package/dist/auth/operations/unlock.js.map +1 -1
  79. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  80. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  81. package/dist/auth/operations/verifyEmail.js.map +1 -1
  82. package/dist/auth/sendVerificationEmail.d.ts +2 -2
  83. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  84. package/dist/auth/sendVerificationEmail.js +3 -2
  85. package/dist/auth/sendVerificationEmail.js.map +1 -1
  86. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  87. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  88. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  89. package/dist/auth/strategies/local/register.d.ts +2 -2
  90. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  91. package/dist/auth/strategies/local/register.js.map +1 -1
  92. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +2 -2
  93. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  94. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  95. package/dist/auth/types.d.ts +5 -5
  96. package/dist/auth/types.d.ts.map +1 -1
  97. package/dist/auth/types.js.map +1 -1
  98. package/dist/bin/loader/index.d.ts.map +1 -1
  99. package/dist/bin/loader/index.js +2 -1
  100. package/dist/bin/loader/index.js.map +1 -1
  101. package/dist/bin/loader/resolveOriginalPath.d.ts +10 -0
  102. package/dist/bin/loader/resolveOriginalPath.d.ts.map +1 -0
  103. package/dist/bin/loader/resolveOriginalPath.js +32 -0
  104. package/dist/bin/loader/resolveOriginalPath.js.map +1 -0
  105. package/dist/collections/config/client.d.ts +2 -1
  106. package/dist/collections/config/client.d.ts.map +1 -1
  107. package/dist/collections/config/defaults.d.ts +5 -5
  108. package/dist/collections/config/sanitize.d.ts +2 -3
  109. package/dist/collections/config/sanitize.d.ts.map +1 -1
  110. package/dist/collections/config/sanitize.js +7 -4
  111. package/dist/collections/config/sanitize.js.map +1 -1
  112. package/dist/collections/config/schema.d.ts.map +1 -1
  113. package/dist/collections/config/schema.js +1 -0
  114. package/dist/collections/config/schema.js.map +1 -1
  115. package/dist/collections/config/types.d.ts +21 -15
  116. package/dist/collections/config/types.d.ts.map +1 -1
  117. package/dist/collections/config/types.js.map +1 -1
  118. package/dist/collections/dataloader.d.ts.map +1 -1
  119. package/dist/collections/dataloader.js +1 -1
  120. package/dist/collections/dataloader.js.map +1 -1
  121. package/dist/collections/operations/count.d.ts +2 -2
  122. package/dist/collections/operations/count.d.ts.map +1 -1
  123. package/dist/collections/operations/count.js.map +1 -1
  124. package/dist/collections/operations/create.d.ts +2 -2
  125. package/dist/collections/operations/create.d.ts.map +1 -1
  126. package/dist/collections/operations/create.js.map +1 -1
  127. package/dist/collections/operations/delete.d.ts +2 -2
  128. package/dist/collections/operations/delete.d.ts.map +1 -1
  129. package/dist/collections/operations/delete.js.map +1 -1
  130. package/dist/collections/operations/deleteByID.d.ts +2 -2
  131. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  132. package/dist/collections/operations/deleteByID.js.map +1 -1
  133. package/dist/collections/operations/docAccess.d.ts +2 -2
  134. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  135. package/dist/collections/operations/docAccess.js.map +1 -1
  136. package/dist/collections/operations/duplicate.d.ts +2 -2
  137. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  138. package/dist/collections/operations/duplicate.js.map +1 -1
  139. package/dist/collections/operations/find.d.ts +2 -2
  140. package/dist/collections/operations/find.d.ts.map +1 -1
  141. package/dist/collections/operations/find.js.map +1 -1
  142. package/dist/collections/operations/findByID.d.ts +2 -2
  143. package/dist/collections/operations/findByID.d.ts.map +1 -1
  144. package/dist/collections/operations/findByID.js.map +1 -1
  145. package/dist/collections/operations/findVersionByID.d.ts +2 -2
  146. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  147. package/dist/collections/operations/findVersionByID.js.map +1 -1
  148. package/dist/collections/operations/findVersions.d.ts +2 -2
  149. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  150. package/dist/collections/operations/findVersions.js.map +1 -1
  151. package/dist/collections/operations/local/count.d.ts +2 -2
  152. package/dist/collections/operations/local/count.d.ts.map +1 -1
  153. package/dist/collections/operations/local/count.js.map +1 -1
  154. package/dist/collections/operations/local/create.d.ts +2 -2
  155. package/dist/collections/operations/local/create.d.ts.map +1 -1
  156. package/dist/collections/operations/local/create.js.map +1 -1
  157. package/dist/collections/operations/local/delete.d.ts +2 -2
  158. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  159. package/dist/collections/operations/local/delete.js.map +1 -1
  160. package/dist/collections/operations/local/duplicate.d.ts +2 -2
  161. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  162. package/dist/collections/operations/local/duplicate.js.map +1 -1
  163. package/dist/collections/operations/local/find.d.ts +2 -2
  164. package/dist/collections/operations/local/find.d.ts.map +1 -1
  165. package/dist/collections/operations/local/find.js.map +1 -1
  166. package/dist/collections/operations/local/findByID.d.ts +2 -2
  167. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  168. package/dist/collections/operations/local/findByID.js.map +1 -1
  169. package/dist/collections/operations/local/findVersionByID.d.ts +2 -2
  170. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  171. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  172. package/dist/collections/operations/local/findVersions.d.ts +2 -2
  173. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  174. package/dist/collections/operations/local/findVersions.js.map +1 -1
  175. package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
  176. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  177. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  178. package/dist/collections/operations/local/update.d.ts +2 -2
  179. package/dist/collections/operations/local/update.d.ts.map +1 -1
  180. package/dist/collections/operations/local/update.js.map +1 -1
  181. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  182. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  183. package/dist/collections/operations/restoreVersion.js.map +1 -1
  184. package/dist/collections/operations/update.d.ts +2 -2
  185. package/dist/collections/operations/update.d.ts.map +1 -1
  186. package/dist/collections/operations/update.js +1 -1
  187. package/dist/collections/operations/update.js.map +1 -1
  188. package/dist/collections/operations/updateByID.d.ts +2 -2
  189. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  190. package/dist/collections/operations/updateByID.js +1 -1
  191. package/dist/collections/operations/updateByID.js.map +1 -1
  192. package/dist/collections/operations/utils.d.ts +2 -2
  193. package/dist/collections/operations/utils.d.ts.map +1 -1
  194. package/dist/collections/operations/utils.js.map +1 -1
  195. package/dist/config/build.d.ts.map +1 -1
  196. package/dist/config/build.js +3 -4
  197. package/dist/config/build.js.map +1 -1
  198. package/dist/config/sanitize.d.ts +1 -1
  199. package/dist/config/sanitize.d.ts.map +1 -1
  200. package/dist/config/sanitize.js +28 -7
  201. package/dist/config/sanitize.js.map +1 -1
  202. package/dist/config/schema.js +1 -1
  203. package/dist/config/schema.js.map +1 -1
  204. package/dist/config/types.d.ts +14 -5
  205. package/dist/config/types.d.ts.map +1 -1
  206. package/dist/config/types.js.map +1 -1
  207. package/dist/database/migrations/migrate.js.map +1 -1
  208. package/dist/database/migrations/migrateDown.js.map +1 -1
  209. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  210. package/dist/database/migrations/migrateReset.js.map +1 -1
  211. package/dist/database/queryValidation/validateQueryPaths.d.ts +2 -2
  212. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  213. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  214. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  215. package/dist/database/queryValidation/validateSearchParams.d.ts +2 -2
  216. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  217. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  218. package/dist/database/types.d.ts +20 -20
  219. package/dist/database/types.d.ts.map +1 -1
  220. package/dist/database/types.js.map +1 -1
  221. package/dist/email/consoleEmailAdapter.d.ts.map +1 -1
  222. package/dist/email/consoleEmailAdapter.js +1 -0
  223. package/dist/email/consoleEmailAdapter.js.map +1 -1
  224. package/dist/email/types.d.ts +1 -0
  225. package/dist/email/types.d.ts.map +1 -1
  226. package/dist/email/types.js.map +1 -1
  227. package/dist/errors/APIError.d.ts +2 -2
  228. package/dist/errors/APIError.d.ts.map +1 -1
  229. package/dist/errors/APIError.js +1 -2
  230. package/dist/errors/APIError.js.map +1 -1
  231. package/dist/errors/AuthenticationError.d.ts +2 -3
  232. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  233. package/dist/errors/AuthenticationError.js +2 -3
  234. package/dist/errors/AuthenticationError.js.map +1 -1
  235. package/dist/errors/DuplicateCollection.d.ts +2 -3
  236. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  237. package/dist/errors/DuplicateCollection.js +2 -3
  238. package/dist/errors/DuplicateCollection.js.map +1 -1
  239. package/dist/errors/DuplicateFieldName.d.ts +2 -3
  240. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  241. package/dist/errors/DuplicateFieldName.js +2 -3
  242. package/dist/errors/DuplicateFieldName.js.map +1 -1
  243. package/dist/errors/DuplicateGlobal.d.ts +2 -3
  244. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  245. package/dist/errors/DuplicateGlobal.js +2 -3
  246. package/dist/errors/DuplicateGlobal.js.map +1 -1
  247. package/dist/errors/ErrorDeletingFile.d.ts +2 -3
  248. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  249. package/dist/errors/ErrorDeletingFile.js +2 -3
  250. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  251. package/dist/errors/FileRetrievalError.d.ts +6 -0
  252. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  253. package/dist/errors/FileRetrievalError.js +13 -0
  254. package/dist/errors/FileRetrievalError.js.map +1 -0
  255. package/dist/errors/FileUploadError.d.ts +2 -3
  256. package/dist/errors/FileUploadError.d.ts.map +1 -1
  257. package/dist/errors/FileUploadError.js +2 -3
  258. package/dist/errors/FileUploadError.js.map +1 -1
  259. package/dist/errors/Forbidden.d.ts +2 -3
  260. package/dist/errors/Forbidden.d.ts.map +1 -1
  261. package/dist/errors/Forbidden.js +2 -3
  262. package/dist/errors/Forbidden.js.map +1 -1
  263. package/dist/errors/InvalidConfiguration.d.ts +2 -3
  264. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  265. package/dist/errors/InvalidConfiguration.js +2 -3
  266. package/dist/errors/InvalidConfiguration.js.map +1 -1
  267. package/dist/errors/InvalidFieldName.d.ts +2 -3
  268. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  269. package/dist/errors/InvalidFieldName.js +2 -3
  270. package/dist/errors/InvalidFieldName.js.map +1 -1
  271. package/dist/errors/InvalidFieldRelationship.d.ts +2 -3
  272. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  273. package/dist/errors/InvalidFieldRelationship.js +2 -3
  274. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  275. package/dist/errors/InvalidSchema.d.ts +2 -3
  276. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  277. package/dist/errors/InvalidSchema.js +2 -3
  278. package/dist/errors/InvalidSchema.js.map +1 -1
  279. package/dist/errors/LockedAuth.d.ts +2 -3
  280. package/dist/errors/LockedAuth.d.ts.map +1 -1
  281. package/dist/errors/LockedAuth.js +2 -3
  282. package/dist/errors/LockedAuth.js.map +1 -1
  283. package/dist/errors/MissingCollectionLabel.d.ts +2 -3
  284. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  285. package/dist/errors/MissingCollectionLabel.js +2 -3
  286. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  287. package/dist/errors/MissingEditorProp.d.ts +2 -3
  288. package/dist/errors/MissingEditorProp.d.ts.map +1 -1
  289. package/dist/errors/MissingEditorProp.js +2 -3
  290. package/dist/errors/MissingEditorProp.js.map +1 -1
  291. package/dist/errors/MissingFieldInputOptions.d.ts +2 -3
  292. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  293. package/dist/errors/MissingFieldInputOptions.js +2 -3
  294. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  295. package/dist/errors/MissingFieldType.d.ts +2 -3
  296. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  297. package/dist/errors/MissingFieldType.js +2 -3
  298. package/dist/errors/MissingFieldType.js.map +1 -1
  299. package/dist/errors/MissingFile.d.ts +2 -3
  300. package/dist/errors/MissingFile.d.ts.map +1 -1
  301. package/dist/errors/MissingFile.js +2 -3
  302. package/dist/errors/MissingFile.js.map +1 -1
  303. package/dist/errors/NotFound.d.ts +2 -3
  304. package/dist/errors/NotFound.d.ts.map +1 -1
  305. package/dist/errors/NotFound.js +2 -3
  306. package/dist/errors/NotFound.js.map +1 -1
  307. package/dist/errors/QueryError.d.ts +2 -3
  308. package/dist/errors/QueryError.d.ts.map +1 -1
  309. package/dist/errors/QueryError.js +2 -3
  310. package/dist/errors/QueryError.js.map +1 -1
  311. package/dist/errors/TimestampsRequired.d.ts +2 -3
  312. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  313. package/dist/errors/TimestampsRequired.js +2 -3
  314. package/dist/errors/TimestampsRequired.js.map +1 -1
  315. package/dist/errors/UnathorizedError.d.ts +2 -3
  316. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  317. package/dist/errors/UnathorizedError.js +2 -3
  318. package/dist/errors/UnathorizedError.js.map +1 -1
  319. package/dist/errors/ValidationError.d.ts +2 -3
  320. package/dist/errors/ValidationError.d.ts.map +1 -1
  321. package/dist/errors/ValidationError.js +2 -3
  322. package/dist/errors/ValidationError.js.map +1 -1
  323. package/dist/errors/index.d.ts +20 -19
  324. package/dist/errors/index.d.ts.map +1 -1
  325. package/dist/errors/index.js +20 -19
  326. package/dist/errors/index.js.map +1 -1
  327. package/dist/exports/i18n.d.ts +2 -0
  328. package/dist/exports/i18n.d.ts.map +1 -0
  329. package/dist/exports/i18n.js +3 -0
  330. package/dist/exports/i18n.js.map +1 -0
  331. package/dist/exports/utilities.d.ts +3 -0
  332. package/dist/exports/utilities.d.ts.map +1 -1
  333. package/dist/exports/utilities.js +3 -0
  334. package/dist/exports/utilities.js.map +1 -1
  335. package/dist/fields/config/client.d.ts +1 -1
  336. package/dist/fields/config/sanitize.d.ts +7 -2
  337. package/dist/fields/config/sanitize.d.ts.map +1 -1
  338. package/dist/fields/config/sanitize.js +61 -33
  339. package/dist/fields/config/sanitize.js.map +1 -1
  340. package/dist/fields/config/sanitize.spec.js +76 -85
  341. package/dist/fields/config/sanitize.spec.js.map +1 -1
  342. package/dist/fields/config/types.d.ts +14 -10
  343. package/dist/fields/config/types.d.ts.map +1 -1
  344. package/dist/fields/config/types.js.map +1 -1
  345. package/dist/fields/getDefaultValue.d.ts +2 -2
  346. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  347. package/dist/fields/getDefaultValue.js.map +1 -1
  348. package/dist/fields/hooks/afterChange/index.d.ts +2 -2
  349. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  350. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  351. package/dist/fields/hooks/afterChange/promise.d.ts +2 -2
  352. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  353. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  354. package/dist/fields/hooks/afterChange/traverseFields.d.ts +2 -2
  355. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  356. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  357. package/dist/fields/hooks/afterRead/index.d.ts +2 -2
  358. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  359. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  360. package/dist/fields/hooks/afterRead/promise.d.ts +5 -2
  361. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  362. package/dist/fields/hooks/afterRead/promise.js +7 -16
  363. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  364. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  365. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  366. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  367. package/dist/fields/hooks/afterRead/traverseFields.d.ts +5 -2
  368. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  369. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  370. package/dist/fields/hooks/beforeChange/index.d.ts +2 -2
  371. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  372. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  373. package/dist/fields/hooks/beforeChange/promise.d.ts +2 -2
  374. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  375. package/dist/fields/hooks/beforeChange/promise.js +3 -1
  376. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  377. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +14 -2
  378. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  379. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  380. package/dist/fields/hooks/beforeValidate/index.d.ts +2 -2
  381. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  382. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  383. package/dist/fields/hooks/beforeValidate/promise.d.ts +8 -2
  384. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  385. package/dist/fields/hooks/beforeValidate/promise.js +2 -0
  386. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  387. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +8 -2
  388. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  389. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  390. package/dist/fields/validations.d.ts.map +1 -1
  391. package/dist/fields/validations.js +3 -0
  392. package/dist/fields/validations.js.map +1 -1
  393. package/dist/globals/config/sanitize.d.ts +2 -3
  394. package/dist/globals/config/sanitize.d.ts.map +1 -1
  395. package/dist/globals/config/sanitize.js +36 -35
  396. package/dist/globals/config/sanitize.js.map +1 -1
  397. package/dist/globals/config/types.d.ts +7 -7
  398. package/dist/globals/config/types.d.ts.map +1 -1
  399. package/dist/globals/config/types.js.map +1 -1
  400. package/dist/globals/operations/docAccess.d.ts +2 -2
  401. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  402. package/dist/globals/operations/docAccess.js.map +1 -1
  403. package/dist/globals/operations/findOne.d.ts +2 -2
  404. package/dist/globals/operations/findOne.d.ts.map +1 -1
  405. package/dist/globals/operations/findOne.js.map +1 -1
  406. package/dist/globals/operations/findVersionByID.d.ts +2 -2
  407. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  408. package/dist/globals/operations/findVersionByID.js.map +1 -1
  409. package/dist/globals/operations/findVersions.d.ts +2 -2
  410. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  411. package/dist/globals/operations/findVersions.js.map +1 -1
  412. package/dist/globals/operations/local/findOne.d.ts +2 -2
  413. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  414. package/dist/globals/operations/local/findOne.js.map +1 -1
  415. package/dist/globals/operations/local/findVersionByID.d.ts +2 -2
  416. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  417. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  418. package/dist/globals/operations/local/findVersions.d.ts +2 -2
  419. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  420. package/dist/globals/operations/local/findVersions.js.map +1 -1
  421. package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
  422. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  423. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  424. package/dist/globals/operations/local/update.d.ts +2 -2
  425. package/dist/globals/operations/local/update.d.ts.map +1 -1
  426. package/dist/globals/operations/local/update.js.map +1 -1
  427. package/dist/globals/operations/restoreVersion.d.ts +2 -2
  428. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  429. package/dist/globals/operations/restoreVersion.js.map +1 -1
  430. package/dist/globals/operations/update.d.ts +2 -2
  431. package/dist/globals/operations/update.d.ts.map +1 -1
  432. package/dist/globals/operations/update.js.map +1 -1
  433. package/dist/preferences/deleteUserPreferences.d.ts +2 -2
  434. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  435. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  436. package/dist/preferences/operations/delete.js +2 -2
  437. package/dist/preferences/operations/delete.js.map +1 -1
  438. package/dist/preferences/operations/update.js +1 -1
  439. package/dist/preferences/operations/update.js.map +1 -1
  440. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  441. package/dist/preferences/requestHandlers/delete.js +18 -5
  442. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  443. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  444. package/dist/preferences/requestHandlers/findOne.js +18 -5
  445. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  446. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  447. package/dist/preferences/requestHandlers/update.js +19 -7
  448. package/dist/preferences/requestHandlers/update.js.map +1 -1
  449. package/dist/preferences/types.d.ts +3 -3
  450. package/dist/preferences/types.d.ts.map +1 -1
  451. package/dist/preferences/types.js.map +1 -1
  452. package/dist/types/index.d.ts +18 -14
  453. package/dist/types/index.d.ts.map +1 -1
  454. package/dist/types/index.js.map +1 -1
  455. package/dist/uploads/deleteAssociatedFiles.d.ts +2 -2
  456. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  457. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  458. package/dist/uploads/docWithFilenameExists.d.ts +2 -2
  459. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  460. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  461. package/dist/uploads/generateFileData.d.ts +2 -2
  462. package/dist/uploads/generateFileData.d.ts.map +1 -1
  463. package/dist/uploads/generateFileData.js +2 -2
  464. package/dist/uploads/generateFileData.js.map +1 -1
  465. package/dist/uploads/getExternalFile.d.ts +2 -2
  466. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  467. package/dist/uploads/getExternalFile.js +5 -2
  468. package/dist/uploads/getExternalFile.js.map +1 -1
  469. package/dist/uploads/getFileByPath.d.ts +2 -2
  470. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  471. package/dist/uploads/getFileByPath.js.map +1 -1
  472. package/dist/uploads/getImageSize.d.ts +2 -2
  473. package/dist/uploads/getImageSize.d.ts.map +1 -1
  474. package/dist/uploads/getImageSize.js.map +1 -1
  475. package/dist/uploads/getSafeFilename.d.ts +2 -2
  476. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  477. package/dist/uploads/getSafeFilename.js.map +1 -1
  478. package/dist/uploads/imageResizer.d.ts +3 -3
  479. package/dist/uploads/imageResizer.d.ts.map +1 -1
  480. package/dist/uploads/imageResizer.js.map +1 -1
  481. package/dist/uploads/types.d.ts +6 -2
  482. package/dist/uploads/types.d.ts.map +1 -1
  483. package/dist/uploads/types.js.map +1 -1
  484. package/dist/uploads/unlinkTempFiles.d.ts +2 -2
  485. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  486. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  487. package/dist/uploads/uploadFiles.d.ts +2 -2
  488. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  489. package/dist/uploads/uploadFiles.js.map +1 -1
  490. package/dist/utilities/checkDuplicateCollections.js +1 -1
  491. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  492. package/dist/utilities/commitTransaction.d.ts +2 -2
  493. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  494. package/dist/utilities/commitTransaction.js.map +1 -1
  495. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  496. package/dist/utilities/configToJSONSchema.js +3 -0
  497. package/dist/utilities/configToJSONSchema.js.map +1 -1
  498. package/dist/utilities/configToJSONSchema.spec.js +2 -2
  499. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  500. package/dist/utilities/createLocalReq.d.ts +3 -3
  501. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  502. package/dist/utilities/createLocalReq.js +4 -2
  503. package/dist/utilities/createLocalReq.js.map +1 -1
  504. package/dist/utilities/getEntityPolicies.d.ts +2 -2
  505. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  506. package/dist/utilities/getEntityPolicies.js.map +1 -1
  507. package/dist/utilities/importWithoutClientFiles.js +1 -1
  508. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  509. package/dist/utilities/initTransaction.d.ts +2 -2
  510. package/dist/utilities/initTransaction.d.ts.map +1 -1
  511. package/dist/utilities/initTransaction.js.map +1 -1
  512. package/dist/utilities/isEntityHidden.d.ts +2 -2
  513. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  514. package/dist/utilities/isEntityHidden.js.map +1 -1
  515. package/dist/utilities/killTransaction.d.ts +2 -2
  516. package/dist/utilities/killTransaction.d.ts.map +1 -1
  517. package/dist/utilities/killTransaction.js.map +1 -1
  518. package/dist/utilities/parseCookies.js +1 -1
  519. package/dist/utilities/parseCookies.js.map +1 -1
  520. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  521. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  522. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  523. package/dist/utilities/telemetry/index.d.ts +7 -1
  524. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  525. package/dist/utilities/telemetry/index.js +41 -19
  526. package/dist/utilities/telemetry/index.js.map +1 -1
  527. package/dist/versions/deleteCollectionVersions.d.ts +2 -2
  528. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  529. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  530. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +2 -2
  531. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  532. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  533. package/dist/versions/enforceMaxVersions.d.ts +2 -2
  534. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  535. package/dist/versions/enforceMaxVersions.js.map +1 -1
  536. package/dist/versions/getLatestCollectionVersion.d.ts +2 -2
  537. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  538. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  539. package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
  540. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  541. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  542. package/dist/versions/saveVersion.d.ts +2 -2
  543. package/dist/versions/saveVersion.d.ts.map +1 -1
  544. package/dist/versions/saveVersion.js.map +1 -1
  545. package/package.json +67 -70
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/errors/index.ts"],"sourcesContent":["export { default as APIError } from './APIError.js'\nexport { default as AuthenticationError } from './AuthenticationError.js'\nexport { default as DuplicateCollection } from './DuplicateCollection.js'\nexport { default as DuplicateFieldName } from './DuplicateFieldName.js'\nexport { default as DuplicateGlobal } from './DuplicateGlobal.js'\nexport { default as ErrorDeletingFile } from './ErrorDeletingFile.js'\nexport { default as FileUploadError } from './FileUploadError.js'\nexport { default as Forbidden } from './Forbidden.js'\nexport { default as InvalidConfiguration } from './InvalidConfiguration.js'\nexport { default as InvalidFieldName } from './InvalidFieldName.js'\nexport { default as InvalidFieldRelationship } from './InvalidFieldRelationship.js'\nexport { default as LockedAuth } from './LockedAuth.js'\nexport { default as MissingCollectionLabel } from './MissingCollectionLabel.js'\nexport { default as MissingFieldInputOptions } from './MissingFieldInputOptions.js'\nexport { default as MissingFieldType } from './MissingFieldType.js'\nexport { default as MissingFile } from './MissingFile.js'\nexport { default as NotFound } from './NotFound.js'\nexport { default as QueryError } from './QueryError.js'\nexport { default as ValidationError } from './ValidationError.js'\n"],"names":["default","APIError","AuthenticationError","DuplicateCollection","DuplicateFieldName","DuplicateGlobal","ErrorDeletingFile","FileUploadError","Forbidden","InvalidConfiguration","InvalidFieldName","InvalidFieldRelationship","LockedAuth","MissingCollectionLabel","MissingFieldInputOptions","MissingFieldType","MissingFile","NotFound","QueryError","ValidationError"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,WAAWC,QAAQ,QAAQ,gBAAe;AACnD,SAASD,WAAWE,mBAAmB,QAAQ,2BAA0B;AACzE,SAASF,WAAWG,mBAAmB,QAAQ,2BAA0B;AACzE,SAASH,WAAWI,kBAAkB,QAAQ,0BAAyB;AACvE,SAASJ,WAAWK,eAAe,QAAQ,uBAAsB;AACjE,SAASL,WAAWM,iBAAiB,QAAQ,yBAAwB;AACrE,SAASN,WAAWO,eAAe,QAAQ,uBAAsB;AACjE,SAASP,WAAWQ,SAAS,QAAQ,iBAAgB;AACrD,SAASR,WAAWS,oBAAoB,QAAQ,4BAA2B;AAC3E,SAAST,WAAWU,gBAAgB,QAAQ,wBAAuB;AACnE,SAASV,WAAWW,wBAAwB,QAAQ,gCAA+B;AACnF,SAASX,WAAWY,UAAU,QAAQ,kBAAiB;AACvD,SAASZ,WAAWa,sBAAsB,QAAQ,8BAA6B;AAC/E,SAASb,WAAWc,wBAAwB,QAAQ,gCAA+B;AACnF,SAASd,WAAWe,gBAAgB,QAAQ,wBAAuB;AACnE,SAASf,WAAWgB,WAAW,QAAQ,mBAAkB;AACzD,SAAShB,WAAWiB,QAAQ,QAAQ,gBAAe;AACnD,SAASjB,WAAWkB,UAAU,QAAQ,kBAAiB;AACvD,SAASlB,WAAWmB,eAAe,QAAQ,uBAAsB"}
1
+ {"version":3,"sources":["../../src/errors/index.ts"],"sourcesContent":["export { APIError } from './APIError.js'\nexport { AuthenticationError } from './AuthenticationError.js'\nexport { DuplicateCollection } from './DuplicateCollection.js'\nexport { DuplicateFieldName } from './DuplicateFieldName.js'\nexport { DuplicateGlobal } from './DuplicateGlobal.js'\nexport { ErrorDeletingFile } from './ErrorDeletingFile.js'\nexport { FileRetrievalError } from './FileRetrievalError.js'\nexport { FileUploadError } from './FileUploadError.js'\nexport { Forbidden } from './Forbidden.js'\nexport { InvalidConfiguration } from './InvalidConfiguration.js'\nexport { InvalidFieldName } from './InvalidFieldName.js'\nexport { InvalidFieldRelationship } from './InvalidFieldRelationship.js'\nexport { LockedAuth } from './LockedAuth.js'\nexport { MissingCollectionLabel } from './MissingCollectionLabel.js'\nexport { MissingFieldInputOptions } from './MissingFieldInputOptions.js'\nexport { MissingFieldType } from './MissingFieldType.js'\nexport { MissingFile } from './MissingFile.js'\nexport { NotFound } from './NotFound.js'\nexport { QueryError } from './QueryError.js'\nexport { ValidationError } from './ValidationError.js'\n"],"names":["APIError","AuthenticationError","DuplicateCollection","DuplicateFieldName","DuplicateGlobal","ErrorDeletingFile","FileRetrievalError","FileUploadError","Forbidden","InvalidConfiguration","InvalidFieldName","InvalidFieldRelationship","LockedAuth","MissingCollectionLabel","MissingFieldInputOptions","MissingFieldType","MissingFile","NotFound","QueryError","ValidationError"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAe;AACxC,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,mBAAmB,QAAQ,2BAA0B;AAC9D,SAASC,kBAAkB,QAAQ,0BAAyB;AAC5D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,iBAAiB,QAAQ,yBAAwB;AAC1D,SAASC,kBAAkB,QAAQ,0BAAyB;AAC5D,SAASC,eAAe,QAAQ,uBAAsB;AACtD,SAASC,SAAS,QAAQ,iBAAgB;AAC1C,SAASC,oBAAoB,QAAQ,4BAA2B;AAChE,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,wBAAwB,QAAQ,gCAA+B;AACxE,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,SAASC,wBAAwB,QAAQ,gCAA+B;AACxE,SAASC,gBAAgB,QAAQ,wBAAuB;AACxD,SAASC,WAAW,QAAQ,mBAAkB;AAC9C,SAASC,QAAQ,QAAQ,gBAAe;AACxC,SAASC,UAAU,QAAQ,kBAAiB;AAC5C,SAASC,eAAe,QAAQ,uBAAsB"}
@@ -0,0 +1,2 @@
1
+ export { getLocalI18n } from '../translations/getLocalI18n.js';
2
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/exports/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { getLocalI18n } from '../translations/getLocalI18n.js';
2
+
3
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/i18n.ts"],"sourcesContent":["export { getLocalI18n } from '../translations/getLocalI18n.js'\n"],"names":["getLocalI18n"],"rangeMappings":"","mappings":"AAAA,SAASA,YAAY,QAAQ,kCAAiC"}
@@ -3,8 +3,11 @@
3
3
  */
4
4
  export { getDataLoader } from '../collections/dataloader.js';
5
5
  export { default as getDefaultValue } from '../fields/getDefaultValue.js';
6
+ export { traverseFields as afterChangeTraverseFields } from '../fields/hooks/afterChange/traverseFields.js';
6
7
  export { promise as afterReadPromise } from '../fields/hooks/afterRead/promise.js';
7
8
  export { traverseFields as afterReadTraverseFields } from '../fields/hooks/afterRead/traverseFields.js';
9
+ export { traverseFields as beforeChangeTraverseFields } from '../fields/hooks/beforeChange/traverseFields.js';
10
+ export { traverseFields as beforeValidateTraverseFields } from '../fields/hooks/beforeValidate/traverseFields.js';
8
11
  export { formatFilesize } from '../uploads/formatFilesize.js';
9
12
  export { default as isImage } from '../uploads/isImage.js';
10
13
  export { combineMerge } from '../utilities/combineMerge.js';
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/exports/utilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAEvG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAErE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAExF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAE3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qCAAqC,CAAA"}
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/exports/utilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,+CAA+C,CAAA;AAC3G,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAClF,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AACvG,OAAO,EAAE,cAAc,IAAI,0BAA0B,EAAE,MAAM,gDAAgD,CAAA;AAC7G,OAAO,EAAE,cAAc,IAAI,4BAA4B,EAAE,MAAM,kDAAkD,CAAA;AAEjH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAErE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAExF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAE3E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -2,8 +2,11 @@
2
2
  * WARNING: This file contains exports that can only be safely used on the front-end
3
3
  */ export { getDataLoader } from '../collections/dataloader.js';
4
4
  export { default as getDefaultValue } from '../fields/getDefaultValue.js';
5
+ export { traverseFields as afterChangeTraverseFields } from '../fields/hooks/afterChange/traverseFields.js';
5
6
  export { promise as afterReadPromise } from '../fields/hooks/afterRead/promise.js';
6
7
  export { traverseFields as afterReadTraverseFields } from '../fields/hooks/afterRead/traverseFields.js';
8
+ export { traverseFields as beforeChangeTraverseFields } from '../fields/hooks/beforeChange/traverseFields.js';
9
+ export { traverseFields as beforeValidateTraverseFields } from '../fields/hooks/beforeValidate/traverseFields.js';
7
10
  export { formatFilesize } from '../uploads/formatFilesize.js';
8
11
  export { default as isImage } from '../uploads/isImage.js';
9
12
  export { combineMerge } from '../utilities/combineMerge.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/exports/utilities.ts"],"sourcesContent":["/**\n * WARNING: This file contains exports that can only be safely used on the front-end\n */\n\nexport { getDataLoader } from '../collections/dataloader.js'\nexport { default as getDefaultValue } from '../fields/getDefaultValue.js'\nexport { promise as afterReadPromise } from '../fields/hooks/afterRead/promise.js'\nexport { traverseFields as afterReadTraverseFields } from '../fields/hooks/afterRead/traverseFields.js'\n\nexport { formatFilesize } from '../uploads/formatFilesize.js'\n\nexport { default as isImage } from '../uploads/isImage.js'\n\nexport { combineMerge } from '../utilities/combineMerge.js'\nexport {\n configToJSONSchema,\n entityToJSONSchema,\n fieldsToJSONSchema,\n withNullableJSONSchemaType,\n} from '../utilities/configToJSONSchema.js'\n\nexport { createArrayFromCommaDelineated } from '../utilities/createArrayFromCommaDelineated.js'\nexport { createLocalReq } from '../utilities/createLocalReq.js'\nexport { deepCopyObject } from '../utilities/deepCopyObject.js'\n\nexport { deepMerge } from '../utilities/deepMerge.js'\nexport { fieldSchemaToJSON } from '../utilities/fieldSchemaToJSON.js'\n\nexport { default as flattenTopLevelFields } from '../utilities/flattenTopLevelFields.js'\n\nexport { formatLabels, formatNames, toWords } from '../utilities/formatLabels.js'\nexport { getCollectionIDFieldTypes } from '../utilities/getCollectionIDFieldTypes.js'\nexport { getObjectDotNotation } from '../utilities/getObjectDotNotation.js'\n\nexport { default as getUniqueListBy } from '../utilities/getUniqueListBy.js'\n\nexport { isEntityHidden } from '../utilities/isEntityHidden.js'\nexport { isNumber } from '../utilities/isNumber.js'\n\nexport { isPlainObject } from '../utilities/isPlainObject.js'\nexport {\n isPlainFunction,\n isReactClientComponent,\n isReactComponent,\n isReactServerComponent,\n} from '../utilities/isReactComponent.js'\nexport { isValidID } from '../utilities/isValidID.js'\n\nexport { default as isolateObjectProperty } from '../utilities/isolateObjectProperty.js'\nexport { mapAsync } from '../utilities/mapAsync.js'\nexport { mergeListSearchAndWhere } from '../utilities/mergeListSearchAndWhere.js'\nexport { setsAreEqual } from '../utilities/setsAreEqual.js'\nexport { default as toKebabCase } from '../utilities/toKebabCase.js'\nexport { wait } from '../utilities/wait.js'\nexport { default as wordBoundariesRegex } from '../utilities/wordBoundariesRegex.js'\n"],"names":["getDataLoader","default","getDefaultValue","promise","afterReadPromise","traverseFields","afterReadTraverseFields","formatFilesize","isImage","combineMerge","configToJSONSchema","entityToJSONSchema","fieldsToJSONSchema","withNullableJSONSchemaType","createArrayFromCommaDelineated","createLocalReq","deepCopyObject","deepMerge","fieldSchemaToJSON","flattenTopLevelFields","formatLabels","formatNames","toWords","getCollectionIDFieldTypes","getObjectDotNotation","getUniqueListBy","isEntityHidden","isNumber","isPlainObject","isPlainFunction","isReactClientComponent","isReactComponent","isReactServerComponent","isValidID","isolateObjectProperty","mapAsync","mergeListSearchAndWhere","setsAreEqual","toKebabCase","wait","wordBoundariesRegex"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GAED,SAASA,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,WAAWC,eAAe,QAAQ,+BAA8B;AACzE,SAASC,WAAWC,gBAAgB,QAAQ,uCAAsC;AAClF,SAASC,kBAAkBC,uBAAuB,QAAQ,8CAA6C;AAEvG,SAASC,cAAc,QAAQ,+BAA8B;AAE7D,SAASN,WAAWO,OAAO,QAAQ,wBAAuB;AAE1D,SAASC,YAAY,QAAQ,+BAA8B;AAC3D,SACEC,kBAAkB,EAClBC,kBAAkB,EAClBC,kBAAkB,EAClBC,0BAA0B,QACrB,qCAAoC;AAE3C,SAASC,8BAA8B,QAAQ,iDAAgD;AAC/F,SAASC,cAAc,QAAQ,iCAAgC;AAC/D,SAASC,cAAc,QAAQ,iCAAgC;AAE/D,SAASC,SAAS,QAAQ,4BAA2B;AACrD,SAASC,iBAAiB,QAAQ,oCAAmC;AAErE,SAASjB,WAAWkB,qBAAqB,QAAQ,wCAAuC;AAExF,SAASC,YAAY,EAAEC,WAAW,EAAEC,OAAO,QAAQ,+BAA8B;AACjF,SAASC,yBAAyB,QAAQ,4CAA2C;AACrF,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,SAASvB,WAAWwB,eAAe,QAAQ,kCAAiC;AAE5E,SAASC,cAAc,QAAQ,iCAAgC;AAC/D,SAASC,QAAQ,QAAQ,2BAA0B;AAEnD,SAASC,aAAa,QAAQ,gCAA+B;AAC7D,SACEC,eAAe,EACfC,sBAAsB,EACtBC,gBAAgB,EAChBC,sBAAsB,QACjB,mCAAkC;AACzC,SAASC,SAAS,QAAQ,4BAA2B;AAErD,SAAShC,WAAWiC,qBAAqB,QAAQ,wCAAuC;AACxF,SAASC,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,YAAY,QAAQ,+BAA8B;AAC3D,SAASpC,WAAWqC,WAAW,QAAQ,8BAA6B;AACpE,SAASC,IAAI,QAAQ,uBAAsB;AAC3C,SAAStC,WAAWuC,mBAAmB,QAAQ,sCAAqC"}
1
+ {"version":3,"sources":["../../src/exports/utilities.ts"],"sourcesContent":["/**\n * WARNING: This file contains exports that can only be safely used on the front-end\n */\n\nexport { getDataLoader } from '../collections/dataloader.js'\nexport { default as getDefaultValue } from '../fields/getDefaultValue.js'\nexport { traverseFields as afterChangeTraverseFields } from '../fields/hooks/afterChange/traverseFields.js'\nexport { promise as afterReadPromise } from '../fields/hooks/afterRead/promise.js'\nexport { traverseFields as afterReadTraverseFields } from '../fields/hooks/afterRead/traverseFields.js'\nexport { traverseFields as beforeChangeTraverseFields } from '../fields/hooks/beforeChange/traverseFields.js'\nexport { traverseFields as beforeValidateTraverseFields } from '../fields/hooks/beforeValidate/traverseFields.js'\n\nexport { formatFilesize } from '../uploads/formatFilesize.js'\n\nexport { default as isImage } from '../uploads/isImage.js'\n\nexport { combineMerge } from '../utilities/combineMerge.js'\nexport {\n configToJSONSchema,\n entityToJSONSchema,\n fieldsToJSONSchema,\n withNullableJSONSchemaType,\n} from '../utilities/configToJSONSchema.js'\n\nexport { createArrayFromCommaDelineated } from '../utilities/createArrayFromCommaDelineated.js'\nexport { createLocalReq } from '../utilities/createLocalReq.js'\nexport { deepCopyObject } from '../utilities/deepCopyObject.js'\n\nexport { deepMerge } from '../utilities/deepMerge.js'\nexport { fieldSchemaToJSON } from '../utilities/fieldSchemaToJSON.js'\n\nexport { default as flattenTopLevelFields } from '../utilities/flattenTopLevelFields.js'\n\nexport { formatLabels, formatNames, toWords } from '../utilities/formatLabels.js'\nexport { getCollectionIDFieldTypes } from '../utilities/getCollectionIDFieldTypes.js'\nexport { getObjectDotNotation } from '../utilities/getObjectDotNotation.js'\n\nexport { default as getUniqueListBy } from '../utilities/getUniqueListBy.js'\n\nexport { isEntityHidden } from '../utilities/isEntityHidden.js'\nexport { isNumber } from '../utilities/isNumber.js'\n\nexport { isPlainObject } from '../utilities/isPlainObject.js'\nexport {\n isPlainFunction,\n isReactClientComponent,\n isReactComponent,\n isReactServerComponent,\n} from '../utilities/isReactComponent.js'\nexport { isValidID } from '../utilities/isValidID.js'\n\nexport { default as isolateObjectProperty } from '../utilities/isolateObjectProperty.js'\nexport { mapAsync } from '../utilities/mapAsync.js'\nexport { mergeListSearchAndWhere } from '../utilities/mergeListSearchAndWhere.js'\nexport { setsAreEqual } from '../utilities/setsAreEqual.js'\nexport { default as toKebabCase } from '../utilities/toKebabCase.js'\nexport { wait } from '../utilities/wait.js'\nexport { default as wordBoundariesRegex } from '../utilities/wordBoundariesRegex.js'\n"],"names":["getDataLoader","default","getDefaultValue","traverseFields","afterChangeTraverseFields","promise","afterReadPromise","afterReadTraverseFields","beforeChangeTraverseFields","beforeValidateTraverseFields","formatFilesize","isImage","combineMerge","configToJSONSchema","entityToJSONSchema","fieldsToJSONSchema","withNullableJSONSchemaType","createArrayFromCommaDelineated","createLocalReq","deepCopyObject","deepMerge","fieldSchemaToJSON","flattenTopLevelFields","formatLabels","formatNames","toWords","getCollectionIDFieldTypes","getObjectDotNotation","getUniqueListBy","isEntityHidden","isNumber","isPlainObject","isPlainFunction","isReactClientComponent","isReactComponent","isReactServerComponent","isValidID","isolateObjectProperty","mapAsync","mergeListSearchAndWhere","setsAreEqual","toKebabCase","wait","wordBoundariesRegex"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GAED,SAASA,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,WAAWC,eAAe,QAAQ,+BAA8B;AACzE,SAASC,kBAAkBC,yBAAyB,QAAQ,gDAA+C;AAC3G,SAASC,WAAWC,gBAAgB,QAAQ,uCAAsC;AAClF,SAASH,kBAAkBI,uBAAuB,QAAQ,8CAA6C;AACvG,SAASJ,kBAAkBK,0BAA0B,QAAQ,iDAAgD;AAC7G,SAASL,kBAAkBM,4BAA4B,QAAQ,mDAAkD;AAEjH,SAASC,cAAc,QAAQ,+BAA8B;AAE7D,SAAST,WAAWU,OAAO,QAAQ,wBAAuB;AAE1D,SAASC,YAAY,QAAQ,+BAA8B;AAC3D,SACEC,kBAAkB,EAClBC,kBAAkB,EAClBC,kBAAkB,EAClBC,0BAA0B,QACrB,qCAAoC;AAE3C,SAASC,8BAA8B,QAAQ,iDAAgD;AAC/F,SAASC,cAAc,QAAQ,iCAAgC;AAC/D,SAASC,cAAc,QAAQ,iCAAgC;AAE/D,SAASC,SAAS,QAAQ,4BAA2B;AACrD,SAASC,iBAAiB,QAAQ,oCAAmC;AAErE,SAASpB,WAAWqB,qBAAqB,QAAQ,wCAAuC;AAExF,SAASC,YAAY,EAAEC,WAAW,EAAEC,OAAO,QAAQ,+BAA8B;AACjF,SAASC,yBAAyB,QAAQ,4CAA2C;AACrF,SAASC,oBAAoB,QAAQ,uCAAsC;AAE3E,SAAS1B,WAAW2B,eAAe,QAAQ,kCAAiC;AAE5E,SAASC,cAAc,QAAQ,iCAAgC;AAC/D,SAASC,QAAQ,QAAQ,2BAA0B;AAEnD,SAASC,aAAa,QAAQ,gCAA+B;AAC7D,SACEC,eAAe,EACfC,sBAAsB,EACtBC,gBAAgB,EAChBC,sBAAsB,QACjB,mCAAkC;AACzC,SAASC,SAAS,QAAQ,4BAA2B;AAErD,SAASnC,WAAWoC,qBAAqB,QAAQ,wCAAuC;AACxF,SAASC,QAAQ,QAAQ,2BAA0B;AACnD,SAASC,uBAAuB,QAAQ,0CAAyC;AACjF,SAASC,YAAY,QAAQ,+BAA8B;AAC3D,SAASvC,WAAWwC,WAAW,QAAQ,8BAA6B;AACpE,SAASC,IAAI,QAAQ,uBAAsB;AAC3C,SAASzC,WAAW0C,mBAAmB,QAAQ,sCAAqC"}
@@ -962,7 +962,7 @@ export declare const createClientFieldConfig: ({ field: incomingField, t, }: {
962
962
  saveToJWT?: string | boolean;
963
963
  unique?: boolean;
964
964
  validate?: import("../../fields/config/types.js").Validate<any, any, any, object>;
965
- editor?: import("../../admin/RichText.js").RichTextAdapter<any, any, any>;
965
+ editor?: import("../../admin/RichText.js").RichTextAdapter<any, any, any> | import("../../admin/RichText.js").RichTextAdapterProvider<any, any, any>;
966
966
  type: "richText";
967
967
  } | {
968
968
  custom?: Record<string, any>;
@@ -1,4 +1,4 @@
1
- import type { Config } from '../../config/types.js';
1
+ import type { Config, SanitizedConfig } from '../../config/types.js';
2
2
  import type { Field } from './types.js';
3
3
  type Args = {
4
4
  config: Config;
@@ -10,12 +10,17 @@ type Args = {
10
10
  * @default false
11
11
  */
12
12
  requireFieldLevelRichTextEditor?: boolean;
13
+ /**
14
+ * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises
15
+ * so that you can sanitize them together, after the config has been sanitized.
16
+ */
17
+ richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>;
13
18
  /**
14
19
  * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.
15
20
  * This validation will be skipped if validRelationships is null.
16
21
  */
17
22
  validRelationships: null | string[];
18
23
  };
19
- export declare const sanitizeFields: ({ config, existingFieldNames, fields, requireFieldLevelRichTextEditor, validRelationships, }: Args) => Field[];
24
+ export declare const sanitizeFields: ({ config, existingFieldNames, fields, requireFieldLevelRichTextEditor, richTextSanitizationPromises, validRelationships, }: Args) => Promise<Field[]>;
20
25
  export {};
21
26
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/fields/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAgBvC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;OAGG;IACH,kBAAkB,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,iGAMxB,IAAI,KAAG,KAAK,EAkKd,CAAA"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/fields/config/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAgBvC,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAA;IACzC;;;OAGG;IACH,4BAA4B,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhF;;;OAGG;IACH,kBAAkB,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,+HAOxB,IAAI,KAAG,QAAQ,KAAK,EAAE,CAoMxB,CAAA"}
@@ -1,4 +1,4 @@
1
- import MissingEditorProp from '../../errors/MissingEditorProp.js';
1
+ import { MissingEditorProp } from '../../errors/MissingEditorProp.js';
2
2
  import { DuplicateFieldName, InvalidFieldName, InvalidFieldRelationship, MissingFieldType } from '../../errors/index.js';
3
3
  import { formatLabels, toWords } from '../../utilities/formatLabels.js';
4
4
  import { baseBlockFields } from '../baseFields/baseBlockFields.js';
@@ -6,25 +6,15 @@ import { baseIDField } from '../baseFields/baseIDField.js';
6
6
  import { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js';
7
7
  import validations from '../validations.js';
8
8
  import { fieldAffectsData, tabHasName } from './types.js';
9
- export const sanitizeFields = ({ config, existingFieldNames = new Set(), fields, requireFieldLevelRichTextEditor = false, validRelationships })=>{
9
+ export const sanitizeFields = async ({ config, existingFieldNames = new Set(), fields, requireFieldLevelRichTextEditor = false, richTextSanitizationPromises, validRelationships })=>{
10
10
  if (!fields) return [];
11
- return fields.map((unsanitizedField)=>{
12
- const field = {
13
- ...unsanitizedField
14
- };
11
+ for(let i = 0; i < fields.length; i++){
12
+ const field = fields[i];
15
13
  if (!field.type) throw new MissingFieldType(field);
16
14
  // assert that field names do not contain forbidden characters
17
15
  if (fieldAffectsData(field) && field.name.includes('.')) {
18
16
  throw new InvalidFieldName(field, field.name);
19
17
  }
20
- // Make sure that the richText field has an editor
21
- if (field.type === 'richText' && !field.editor) {
22
- if (config.editor && !requireFieldLevelRichTextEditor) {
23
- field.editor = config.editor;
24
- } else {
25
- throw new MissingEditorProp(field);
26
- }
27
- }
28
18
  // Auto-label
29
19
  if ('name' in field && field.name && typeof field.label !== 'object' && typeof field.label !== 'string' && field.label !== false) {
30
20
  field.label = toWords(field.name);
@@ -94,51 +84,89 @@ export const sanitizeFields = ({ config, existingFieldNames = new Set(), fields,
94
84
  if (!field.admin) {
95
85
  field.admin = {};
96
86
  }
87
+ // Make sure that the richText field has an editor
88
+ if (field.type === 'richText') {
89
+ const sanitizeRichText = async (_config)=>{
90
+ if (!field.editor) {
91
+ if (_config.editor && !requireFieldLevelRichTextEditor) {
92
+ // config.editor should be sanitized at this point
93
+ field.editor = _config.editor;
94
+ } else {
95
+ throw new MissingEditorProp(field);
96
+ }
97
+ }
98
+ if (typeof field.editor === 'function') {
99
+ field.editor = await field.editor({
100
+ config: _config
101
+ });
102
+ }
103
+ // Add editor adapter hooks to field hooks
104
+ if (!field.hooks) field.hooks = {};
105
+ const mergeHooks = (hookName)=>{
106
+ if (typeof field.editor === 'function') return;
107
+ if (field.editor?.hooks?.[hookName]?.length) {
108
+ field.hooks[hookName] = field.hooks[hookName] ? field.hooks[hookName].concat(field.editor.hooks[hookName]) : [
109
+ ...field.editor.hooks[hookName]
110
+ ];
111
+ }
112
+ };
113
+ mergeHooks('afterRead');
114
+ mergeHooks('afterChange');
115
+ mergeHooks('beforeChange');
116
+ mergeHooks('beforeValidate');
117
+ mergeHooks('beforeDuplicate');
118
+ };
119
+ if (richTextSanitizationPromises) {
120
+ richTextSanitizationPromises.push(sanitizeRichText);
121
+ } else {
122
+ await sanitizeRichText(config);
123
+ }
124
+ }
97
125
  if ('fields' in field && field.fields) {
98
- field.fields = sanitizeFields({
126
+ field.fields = await sanitizeFields({
99
127
  config,
100
128
  existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,
101
129
  fields: field.fields,
102
130
  requireFieldLevelRichTextEditor,
131
+ richTextSanitizationPromises,
103
132
  validRelationships
104
133
  });
105
134
  }
106
135
  if (field.type === 'tabs') {
107
- field.tabs = field.tabs.map((tab)=>{
108
- const unsanitizedTab = {
109
- ...tab
110
- };
136
+ for(let j = 0; j < field.tabs.length; j++){
137
+ const tab = field.tabs[j];
111
138
  if (tabHasName(tab) && typeof tab.label === 'undefined') {
112
- unsanitizedTab.label = toWords(tab.name);
139
+ tab.label = toWords(tab.name);
113
140
  }
114
- unsanitizedTab.fields = sanitizeFields({
141
+ tab.fields = await sanitizeFields({
115
142
  config,
116
143
  existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,
117
144
  fields: tab.fields,
118
145
  requireFieldLevelRichTextEditor,
146
+ richTextSanitizationPromises,
119
147
  validRelationships
120
148
  });
121
- return unsanitizedTab;
122
- });
149
+ field.tabs[j] = tab;
150
+ }
123
151
  }
124
152
  if ('blocks' in field && field.blocks) {
125
- field.blocks = field.blocks.map((block)=>{
126
- const unsanitizedBlock = {
127
- ...block
128
- };
129
- unsanitizedBlock.labels = !unsanitizedBlock.labels ? formatLabels(unsanitizedBlock.slug) : unsanitizedBlock.labels;
130
- unsanitizedBlock.fields = sanitizeFields({
153
+ for(let j = 0; j < field.blocks.length; j++){
154
+ const block = field.blocks[j];
155
+ block.labels = !block.labels ? formatLabels(block.slug) : block.labels;
156
+ block.fields = await sanitizeFields({
131
157
  config,
132
158
  existingFieldNames: new Set(),
133
159
  fields: block.fields,
134
160
  requireFieldLevelRichTextEditor,
161
+ richTextSanitizationPromises,
135
162
  validRelationships
136
163
  });
137
- return unsanitizedBlock;
138
- });
164
+ field.blocks[j] = block;
165
+ }
139
166
  }
140
- return field;
141
- });
167
+ fields[i] = field;
168
+ }
169
+ return fields;
142
170
  };
143
171
 
144
172
  //# sourceMappingURL=sanitize.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/sanitize.ts"],"sourcesContent":["import type { Config } from '../../config/types.js'\nimport type { Field } from './types.js'\n\nimport MissingEditorProp from '../../errors/MissingEditorProp.js'\nimport {\n DuplicateFieldName,\n InvalidFieldName,\n InvalidFieldRelationship,\n MissingFieldType,\n} from '../../errors/index.js'\nimport { formatLabels, toWords } from '../../utilities/formatLabels.js'\nimport { baseBlockFields } from '../baseFields/baseBlockFields.js'\nimport { baseIDField } from '../baseFields/baseIDField.js'\nimport { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js'\nimport validations from '../validations.js'\nimport { fieldAffectsData, tabHasName } from './types.js'\n\ntype Args = {\n config: Config\n existingFieldNames?: Set<string>\n fields: Field[]\n /**\n * If true, a richText field will require an editor property to be set, as the sanitizeFields function will not add it from the payload config if not present.\n *\n * @default false\n */\n requireFieldLevelRichTextEditor?: boolean\n /**\n * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.\n * This validation will be skipped if validRelationships is null.\n */\n validRelationships: null | string[]\n}\n\nexport const sanitizeFields = ({\n config,\n existingFieldNames = new Set(),\n fields,\n requireFieldLevelRichTextEditor = false,\n validRelationships,\n}: Args): Field[] => {\n if (!fields) return []\n\n return fields.map((unsanitizedField) => {\n const field: Field = { ...unsanitizedField }\n\n if (!field.type) throw new MissingFieldType(field)\n\n // assert that field names do not contain forbidden characters\n if (fieldAffectsData(field) && field.name.includes('.')) {\n throw new InvalidFieldName(field, field.name)\n }\n\n // Make sure that the richText field has an editor\n if (field.type === 'richText' && !field.editor) {\n if (config.editor && !requireFieldLevelRichTextEditor) {\n field.editor = config.editor\n } else {\n throw new MissingEditorProp(field)\n }\n }\n\n // Auto-label\n if (\n 'name' in field &&\n field.name &&\n typeof field.label !== 'object' &&\n typeof field.label !== 'string' &&\n field.label !== false\n ) {\n field.label = toWords(field.name)\n }\n\n if (\n field.type === 'checkbox' &&\n typeof field.defaultValue === 'undefined' &&\n field.required === true\n ) {\n field.defaultValue = false\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (validRelationships) {\n const relationships = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n relationships.forEach((relationship: string) => {\n if (!validRelationships.includes(relationship)) {\n throw new InvalidFieldRelationship(field, relationship)\n }\n })\n }\n\n if (field.type === 'relationship') {\n if (field.min && !field.minRows) {\n console.warn(\n `(payload): The \"min\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"minRows\" instead.`,\n )\n }\n if (field.max && !field.maxRows) {\n console.warn(\n `(payload): The \"max\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"maxRows\" instead.`,\n )\n }\n field.minRows = field.minRows || field.min\n field.maxRows = field.maxRows || field.max\n }\n }\n\n if (field.type === 'blocks' && field.blocks) {\n field.blocks = field.blocks.map((block) => ({\n ...block,\n fields: block.fields.concat(baseBlockFields),\n }))\n }\n\n if (field.type === 'array' && field.fields) {\n field.fields.push(baseIDField)\n }\n\n if ((field.type === 'blocks' || field.type === 'array') && field.label) {\n field.labels = field.labels || formatLabels(field.name)\n }\n\n if (fieldAffectsData(field)) {\n if (existingFieldNames.has(field.name)) {\n throw new DuplicateFieldName(field.name)\n } else if (!['blockName', 'id'].includes(field.name)) {\n existingFieldNames.add(field.name)\n }\n\n if (field.localized && !config.localization) delete field.localized\n\n if (typeof field.validate === 'undefined') {\n const defaultValidate = validations[field.type]\n if (defaultValidate) {\n field.validate = (val, options) => defaultValidate(val, { ...field, ...options })\n } else {\n field.validate = () => true\n }\n }\n\n if (!field.hooks) field.hooks = {}\n if (!field.access) field.access = {}\n\n setDefaultBeforeDuplicate(field)\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n if ('fields' in field && field.fields) {\n field.fields = sanitizeFields({\n config,\n existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,\n fields: field.fields,\n requireFieldLevelRichTextEditor,\n validRelationships,\n })\n }\n\n if (field.type === 'tabs') {\n field.tabs = field.tabs.map((tab) => {\n const unsanitizedTab = { ...tab }\n if (tabHasName(tab) && typeof tab.label === 'undefined') {\n unsanitizedTab.label = toWords(tab.name)\n }\n\n unsanitizedTab.fields = sanitizeFields({\n config,\n existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,\n fields: tab.fields,\n requireFieldLevelRichTextEditor,\n validRelationships,\n })\n\n return unsanitizedTab\n })\n }\n\n if ('blocks' in field && field.blocks) {\n field.blocks = field.blocks.map((block) => {\n const unsanitizedBlock = { ...block }\n unsanitizedBlock.labels = !unsanitizedBlock.labels\n ? formatLabels(unsanitizedBlock.slug)\n : unsanitizedBlock.labels\n\n unsanitizedBlock.fields = sanitizeFields({\n config,\n existingFieldNames: new Set(),\n fields: block.fields,\n requireFieldLevelRichTextEditor,\n validRelationships,\n })\n\n return unsanitizedBlock\n })\n }\n\n return field\n })\n}\n"],"names":["MissingEditorProp","DuplicateFieldName","InvalidFieldName","InvalidFieldRelationship","MissingFieldType","formatLabels","toWords","baseBlockFields","baseIDField","setDefaultBeforeDuplicate","validations","fieldAffectsData","tabHasName","sanitizeFields","config","existingFieldNames","Set","fields","requireFieldLevelRichTextEditor","validRelationships","map","unsanitizedField","field","type","name","includes","editor","label","defaultValue","required","relationships","Array","isArray","relationTo","forEach","relationship","min","minRows","console","warn","max","maxRows","blocks","block","concat","push","labels","has","add","localized","localization","validate","defaultValidate","val","options","hooks","access","admin","tabs","tab","unsanitizedTab","unsanitizedBlock","slug"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/config/sanitize.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from '../../config/types.js'\nimport type { Field } from './types.js'\n\nimport { MissingEditorProp } from '../../errors/MissingEditorProp.js'\nimport {\n DuplicateFieldName,\n InvalidFieldName,\n InvalidFieldRelationship,\n MissingFieldType,\n} from '../../errors/index.js'\nimport { formatLabels, toWords } from '../../utilities/formatLabels.js'\nimport { baseBlockFields } from '../baseFields/baseBlockFields.js'\nimport { baseIDField } from '../baseFields/baseIDField.js'\nimport { setDefaultBeforeDuplicate } from '../setDefaultBeforeDuplicate.js'\nimport validations from '../validations.js'\nimport { fieldAffectsData, tabHasName } from './types.js'\n\ntype Args = {\n config: Config\n existingFieldNames?: Set<string>\n fields: Field[]\n /**\n * If true, a richText field will require an editor property to be set, as the sanitizeFields function will not add it from the payload config if not present.\n *\n * @default false\n */\n requireFieldLevelRichTextEditor?: boolean\n /**\n * If this property is set, RichText fields won't be sanitized immediately. Instead, they will be added to this array as promises\n * so that you can sanitize them together, after the config has been sanitized.\n */\n richTextSanitizationPromises?: Array<(config: SanitizedConfig) => Promise<void>>\n\n /**\n * If not null, will validate that upload and relationship fields do not relate to a collection that is not in this array.\n * This validation will be skipped if validRelationships is null.\n */\n validRelationships: null | string[]\n}\n\nexport const sanitizeFields = async ({\n config,\n existingFieldNames = new Set(),\n fields,\n requireFieldLevelRichTextEditor = false,\n richTextSanitizationPromises,\n validRelationships,\n}: Args): Promise<Field[]> => {\n if (!fields) return []\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n if (!field.type) throw new MissingFieldType(field)\n\n // assert that field names do not contain forbidden characters\n if (fieldAffectsData(field) && field.name.includes('.')) {\n throw new InvalidFieldName(field, field.name)\n }\n\n // Auto-label\n if (\n 'name' in field &&\n field.name &&\n typeof field.label !== 'object' &&\n typeof field.label !== 'string' &&\n field.label !== false\n ) {\n field.label = toWords(field.name)\n }\n\n if (\n field.type === 'checkbox' &&\n typeof field.defaultValue === 'undefined' &&\n field.required === true\n ) {\n field.defaultValue = false\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n if (validRelationships) {\n const relationships = Array.isArray(field.relationTo)\n ? field.relationTo\n : [field.relationTo]\n relationships.forEach((relationship: string) => {\n if (!validRelationships.includes(relationship)) {\n throw new InvalidFieldRelationship(field, relationship)\n }\n })\n }\n\n if (field.type === 'relationship') {\n if (field.min && !field.minRows) {\n console.warn(\n `(payload): The \"min\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"minRows\" instead.`,\n )\n }\n if (field.max && !field.maxRows) {\n console.warn(\n `(payload): The \"max\" property is deprecated for the Relationship field \"${field.name}\" and will be removed in a future version. Please use \"maxRows\" instead.`,\n )\n }\n field.minRows = field.minRows || field.min\n field.maxRows = field.maxRows || field.max\n }\n }\n\n if (field.type === 'blocks' && field.blocks) {\n field.blocks = field.blocks.map((block) => ({\n ...block,\n fields: block.fields.concat(baseBlockFields),\n }))\n }\n\n if (field.type === 'array' && field.fields) {\n field.fields.push(baseIDField)\n }\n\n if ((field.type === 'blocks' || field.type === 'array') && field.label) {\n field.labels = field.labels || formatLabels(field.name)\n }\n\n if (fieldAffectsData(field)) {\n if (existingFieldNames.has(field.name)) {\n throw new DuplicateFieldName(field.name)\n } else if (!['blockName', 'id'].includes(field.name)) {\n existingFieldNames.add(field.name)\n }\n\n if (field.localized && !config.localization) delete field.localized\n\n if (typeof field.validate === 'undefined') {\n const defaultValidate = validations[field.type]\n if (defaultValidate) {\n field.validate = (val, options) => defaultValidate(val, { ...field, ...options })\n } else {\n field.validate = () => true\n }\n }\n\n if (!field.hooks) field.hooks = {}\n if (!field.access) field.access = {}\n\n setDefaultBeforeDuplicate(field)\n }\n\n if (!field.admin) {\n field.admin = {}\n }\n\n // Make sure that the richText field has an editor\n if (field.type === 'richText') {\n const sanitizeRichText = async (_config: SanitizedConfig) => {\n if (!field.editor) {\n if (_config.editor && !requireFieldLevelRichTextEditor) {\n // config.editor should be sanitized at this point\n field.editor = _config.editor\n } else {\n throw new MissingEditorProp(field)\n }\n }\n\n if (typeof field.editor === 'function') {\n field.editor = await field.editor({ config: _config })\n }\n\n // Add editor adapter hooks to field hooks\n if (!field.hooks) field.hooks = {}\n\n const mergeHooks = (hookName: keyof typeof field.editor.hooks) => {\n if (typeof field.editor === 'function') return\n\n if (field.editor?.hooks?.[hookName]?.length) {\n field.hooks[hookName] = field.hooks[hookName]\n ? field.hooks[hookName].concat(field.editor.hooks[hookName])\n : [...field.editor.hooks[hookName]]\n }\n }\n\n mergeHooks('afterRead')\n mergeHooks('afterChange')\n mergeHooks('beforeChange')\n mergeHooks('beforeValidate')\n mergeHooks('beforeDuplicate')\n }\n if (richTextSanitizationPromises) {\n richTextSanitizationPromises.push(sanitizeRichText)\n } else {\n await sanitizeRichText(config as unknown as SanitizedConfig)\n }\n }\n\n if ('fields' in field && field.fields) {\n field.fields = await sanitizeFields({\n config,\n existingFieldNames: fieldAffectsData(field) ? new Set() : existingFieldNames,\n fields: field.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n }\n\n if (field.type === 'tabs') {\n for (let j = 0; j < field.tabs.length; j++) {\n const tab = field.tabs[j]\n if (tabHasName(tab) && typeof tab.label === 'undefined') {\n tab.label = toWords(tab.name)\n }\n\n tab.fields = await sanitizeFields({\n config,\n existingFieldNames: tabHasName(tab) ? new Set() : existingFieldNames,\n fields: tab.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.tabs[j] = tab\n }\n }\n\n if ('blocks' in field && field.blocks) {\n for (let j = 0; j < field.blocks.length; j++) {\n const block = field.blocks[j]\n block.labels = !block.labels ? formatLabels(block.slug) : block.labels\n\n block.fields = await sanitizeFields({\n config,\n existingFieldNames: new Set(),\n fields: block.fields,\n requireFieldLevelRichTextEditor,\n richTextSanitizationPromises,\n validRelationships,\n })\n field.blocks[j] = block\n }\n }\n\n fields[i] = field\n }\n\n return fields\n}\n"],"names":["MissingEditorProp","DuplicateFieldName","InvalidFieldName","InvalidFieldRelationship","MissingFieldType","formatLabels","toWords","baseBlockFields","baseIDField","setDefaultBeforeDuplicate","validations","fieldAffectsData","tabHasName","sanitizeFields","config","existingFieldNames","Set","fields","requireFieldLevelRichTextEditor","richTextSanitizationPromises","validRelationships","i","length","field","type","name","includes","label","defaultValue","required","relationships","Array","isArray","relationTo","forEach","relationship","min","minRows","console","warn","max","maxRows","blocks","map","block","concat","push","labels","has","add","localized","localization","validate","defaultValidate","val","options","hooks","access","admin","sanitizeRichText","_config","editor","mergeHooks","hookName","j","tabs","tab","slug"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}