payload 3.0.0-alpha.60 → 3.0.0-alpha.62

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 (706) hide show
  1. package/dist/admin/RichText.d.ts +5 -0
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/admin/elements/Cell.js.map +1 -1
  5. package/dist/admin/elements/DatePicker.js.map +1 -1
  6. package/dist/admin/elements/PreviewButton.d.ts +2 -1
  7. package/dist/admin/elements/PreviewButton.d.ts.map +1 -1
  8. package/dist/admin/elements/PreviewButton.js.map +1 -1
  9. package/dist/admin/elements/PublishButton.d.ts +2 -1
  10. package/dist/admin/elements/PublishButton.d.ts.map +1 -1
  11. package/dist/admin/elements/PublishButton.js.map +1 -1
  12. package/dist/admin/elements/SaveButton.d.ts +2 -1
  13. package/dist/admin/elements/SaveButton.d.ts.map +1 -1
  14. package/dist/admin/elements/SaveButton.js.map +1 -1
  15. package/dist/admin/elements/SaveDraftButton.d.ts +2 -1
  16. package/dist/admin/elements/SaveDraftButton.d.ts.map +1 -1
  17. package/dist/admin/elements/SaveDraftButton.js.map +1 -1
  18. package/dist/admin/elements/Tab.js.map +1 -1
  19. package/dist/admin/elements/WithServerSideProps.d.ts +5 -0
  20. package/dist/admin/elements/WithServerSideProps.d.ts.map +1 -0
  21. package/dist/admin/elements/WithServerSideProps.js +3 -0
  22. package/dist/admin/elements/WithServerSideProps.js.map +1 -0
  23. package/dist/admin/forms/Error.js.map +1 -1
  24. package/dist/admin/forms/FieldDescription.d.ts +5 -2
  25. package/dist/admin/forms/FieldDescription.d.ts.map +1 -1
  26. package/dist/admin/forms/FieldDescription.js.map +1 -1
  27. package/dist/admin/forms/FieldTypes.js.map +1 -1
  28. package/dist/admin/forms/Form.js.map +1 -1
  29. package/dist/admin/forms/Label.d.ts +2 -1
  30. package/dist/admin/forms/Label.d.ts.map +1 -1
  31. package/dist/admin/forms/Label.js.map +1 -1
  32. package/dist/admin/forms/RowLabel.d.ts +2 -1
  33. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  34. package/dist/admin/forms/RowLabel.js.map +1 -1
  35. package/dist/admin/types.d.ts +1 -0
  36. package/dist/admin/types.d.ts.map +1 -1
  37. package/dist/admin/types.js.map +1 -1
  38. package/dist/admin/views/types.d.ts +2 -2
  39. package/dist/admin/views/types.d.ts.map +1 -1
  40. package/dist/admin/views/types.js.map +1 -1
  41. package/dist/assets/assets.d.js.map +1 -1
  42. package/dist/auth/baseFields/accountLock.js.map +1 -1
  43. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  44. package/dist/auth/baseFields/apiKey.js +3 -7
  45. package/dist/auth/baseFields/apiKey.js.map +1 -1
  46. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  47. package/dist/auth/baseFields/auth.js +1 -5
  48. package/dist/auth/baseFields/auth.js.map +1 -1
  49. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  50. package/dist/auth/baseFields/verification.js +1 -5
  51. package/dist/auth/baseFields/verification.js.map +1 -1
  52. package/dist/auth/cookies.d.ts +16 -4
  53. package/dist/auth/cookies.d.ts.map +1 -1
  54. package/dist/auth/cookies.js +45 -14
  55. package/dist/auth/cookies.js.map +1 -1
  56. package/dist/auth/crypto.js.map +1 -1
  57. package/dist/auth/defaultAccess.js.map +1 -1
  58. package/dist/auth/defaultUser.d.ts.map +1 -1
  59. package/dist/auth/defaultUser.js +2 -7
  60. package/dist/auth/defaultUser.js.map +1 -1
  61. package/dist/auth/executeAccess.js.map +1 -1
  62. package/dist/auth/executeAuthStrategies.d.ts +3 -2
  63. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  64. package/dist/auth/executeAuthStrategies.js.map +1 -1
  65. package/dist/auth/extractJWT.js.map +1 -1
  66. package/dist/auth/getAccessResults.js.map +1 -1
  67. package/dist/auth/getFieldsToSign.d.ts +2 -2
  68. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  69. package/dist/auth/getFieldsToSign.js.map +1 -1
  70. package/dist/auth/index.js.map +1 -1
  71. package/dist/auth/isLocked.js.map +1 -1
  72. package/dist/auth/operations/access.js.map +1 -1
  73. package/dist/auth/operations/auth.d.ts +5 -4
  74. package/dist/auth/operations/auth.d.ts.map +1 -1
  75. package/dist/auth/operations/auth.js.map +1 -1
  76. package/dist/auth/operations/forgotPassword.js +3 -3
  77. package/dist/auth/operations/forgotPassword.js.map +1 -1
  78. package/dist/auth/operations/init.js.map +1 -1
  79. package/dist/auth/operations/local/auth.js +1 -1
  80. package/dist/auth/operations/local/auth.js.map +1 -1
  81. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  82. package/dist/auth/operations/local/index.js.map +1 -1
  83. package/dist/auth/operations/local/login.js.map +1 -1
  84. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  85. package/dist/auth/operations/local/unlock.js.map +1 -1
  86. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  87. package/dist/auth/operations/login.d.ts.map +1 -1
  88. package/dist/auth/operations/login.js +17 -1
  89. package/dist/auth/operations/login.js.map +1 -1
  90. package/dist/auth/operations/logout.js.map +1 -1
  91. package/dist/auth/operations/me.js.map +1 -1
  92. package/dist/auth/operations/refresh.js.map +1 -1
  93. package/dist/auth/operations/registerFirstUser.js.map +1 -1
  94. package/dist/auth/operations/resetPassword.js.map +1 -1
  95. package/dist/auth/operations/unlock.js.map +1 -1
  96. package/dist/auth/operations/verifyEmail.js.map +1 -1
  97. package/dist/auth/sendVerificationEmail.d.ts +5 -6
  98. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  99. package/dist/auth/sendVerificationEmail.js +4 -5
  100. package/dist/auth/sendVerificationEmail.js.map +1 -1
  101. package/dist/auth/strategies/apiKey.js.map +1 -1
  102. package/dist/auth/strategies/jwt.js.map +1 -1
  103. package/dist/auth/strategies/local/authenticate.js.map +1 -1
  104. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -1
  105. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  106. package/dist/auth/strategies/local/register.js.map +1 -1
  107. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -1
  108. package/dist/auth/types.js.map +1 -1
  109. package/dist/bin/generateTypes.js.map +1 -1
  110. package/dist/bin/index.js.map +1 -1
  111. package/dist/bin/loadEnv.js.map +1 -1
  112. package/dist/bin/loader/clientExtensions.js.map +1 -1
  113. package/dist/bin/loader/compile.js.map +1 -1
  114. package/dist/bin/loader/index.d.ts.map +1 -1
  115. package/dist/bin/loader/index.js +4 -1
  116. package/dist/bin/loader/index.js.map +1 -1
  117. package/dist/bin/loader/read-default-tsconfig.js.map +1 -1
  118. package/dist/bin/migrate.js.map +1 -1
  119. package/dist/collections/config/build.js.map +1 -1
  120. package/dist/collections/config/client.d.ts +26 -16
  121. package/dist/collections/config/client.d.ts.map +1 -1
  122. package/dist/collections/config/client.js +21 -4
  123. package/dist/collections/config/client.js.map +1 -1
  124. package/dist/collections/config/defaults.d.ts +1 -0
  125. package/dist/collections/config/defaults.d.ts.map +1 -1
  126. package/dist/collections/config/defaults.js +1 -0
  127. package/dist/collections/config/defaults.js.map +1 -1
  128. package/dist/collections/config/sanitize.d.ts.map +1 -1
  129. package/dist/collections/config/sanitize.js +2 -7
  130. package/dist/collections/config/sanitize.js.map +1 -1
  131. package/dist/collections/config/schema.d.ts.map +1 -1
  132. package/dist/collections/config/schema.js +4 -2
  133. package/dist/collections/config/schema.js.map +1 -1
  134. package/dist/collections/config/types.d.ts +14 -10
  135. package/dist/collections/config/types.d.ts.map +1 -1
  136. package/dist/collections/config/types.js.map +1 -1
  137. package/dist/collections/dataloader.d.ts.map +1 -1
  138. package/dist/collections/dataloader.js +3 -5
  139. package/dist/collections/dataloader.js.map +1 -1
  140. package/dist/collections/operations/count.d.ts +13 -0
  141. package/dist/collections/operations/count.d.ts.map +1 -0
  142. package/dist/collections/operations/count.js +75 -0
  143. package/dist/collections/operations/count.js.map +1 -0
  144. package/dist/collections/operations/create.d.ts.map +1 -1
  145. package/dist/collections/operations/create.js +4 -8
  146. package/dist/collections/operations/create.js.map +1 -1
  147. package/dist/collections/operations/delete.js.map +1 -1
  148. package/dist/collections/operations/deleteByID.js.map +1 -1
  149. package/dist/collections/operations/docAccess.js.map +1 -1
  150. package/dist/collections/operations/duplicate.js.map +1 -1
  151. package/dist/collections/operations/find.js.map +1 -1
  152. package/dist/collections/operations/findByID.js.map +1 -1
  153. package/dist/collections/operations/findVersionByID.js.map +1 -1
  154. package/dist/collections/operations/findVersions.js.map +1 -1
  155. package/dist/collections/operations/local/count.d.ts +20 -0
  156. package/dist/collections/operations/local/count.d.ts.map +1 -0
  157. package/dist/collections/operations/local/count.js +19 -0
  158. package/dist/collections/operations/local/count.js.map +1 -0
  159. package/dist/collections/operations/local/create.d.ts +2 -2
  160. package/dist/collections/operations/local/create.d.ts.map +1 -1
  161. package/dist/collections/operations/local/create.js +2 -1
  162. package/dist/collections/operations/local/create.js.map +1 -1
  163. package/dist/collections/operations/local/delete.d.ts +2 -2
  164. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  165. package/dist/collections/operations/local/delete.js.map +1 -1
  166. package/dist/collections/operations/local/duplicate.d.ts +2 -2
  167. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  168. package/dist/collections/operations/local/duplicate.js +1 -1
  169. package/dist/collections/operations/local/duplicate.js.map +1 -1
  170. package/dist/collections/operations/local/find.d.ts +2 -2
  171. package/dist/collections/operations/local/find.d.ts.map +1 -1
  172. package/dist/collections/operations/local/find.js.map +1 -1
  173. package/dist/collections/operations/local/findByID.d.ts +2 -2
  174. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  175. package/dist/collections/operations/local/findByID.js.map +1 -1
  176. package/dist/collections/operations/local/findVersionByID.d.ts +2 -2
  177. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  178. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  179. package/dist/collections/operations/local/findVersions.d.ts +2 -2
  180. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  181. package/dist/collections/operations/local/findVersions.js.map +1 -1
  182. package/dist/collections/operations/local/index.d.ts +2 -0
  183. package/dist/collections/operations/local/index.d.ts.map +1 -1
  184. package/dist/collections/operations/local/index.js +2 -0
  185. package/dist/collections/operations/local/index.js.map +1 -1
  186. package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
  187. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  188. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  189. package/dist/collections/operations/local/update.d.ts +2 -2
  190. package/dist/collections/operations/local/update.d.ts.map +1 -1
  191. package/dist/collections/operations/local/update.js.map +1 -1
  192. package/dist/collections/operations/restoreVersion.js.map +1 -1
  193. package/dist/collections/operations/update.d.ts.map +1 -1
  194. package/dist/collections/operations/update.js +2 -2
  195. package/dist/collections/operations/update.js.map +1 -1
  196. package/dist/collections/operations/updateByID.js +1 -1
  197. package/dist/collections/operations/updateByID.js.map +1 -1
  198. package/dist/collections/operations/utils.d.ts +6 -0
  199. package/dist/collections/operations/utils.d.ts.map +1 -1
  200. package/dist/collections/operations/utils.js.map +1 -1
  201. package/dist/config/build.js.map +1 -1
  202. package/dist/config/client.d.ts +7 -2
  203. package/dist/config/client.d.ts.map +1 -1
  204. package/dist/config/client.js +11 -5
  205. package/dist/config/client.js.map +1 -1
  206. package/dist/config/defaults.d.ts.map +1 -1
  207. package/dist/config/defaults.js +1 -0
  208. package/dist/config/defaults.js.map +1 -1
  209. package/dist/config/find.d.ts.map +1 -1
  210. package/dist/config/find.js +20 -9
  211. package/dist/config/find.js.map +1 -1
  212. package/dist/config/sanitize.d.ts.map +1 -1
  213. package/dist/config/sanitize.js +5 -3
  214. package/dist/config/sanitize.js.map +1 -1
  215. package/dist/config/schema.d.ts.map +1 -1
  216. package/dist/config/schema.js +1 -0
  217. package/dist/config/schema.js.map +1 -1
  218. package/dist/config/shared/adminViewSchema.js.map +1 -1
  219. package/dist/config/shared/componentSchema.js.map +1 -1
  220. package/dist/config/types.d.ts +33 -52
  221. package/dist/config/types.d.ts.map +1 -1
  222. package/dist/config/types.js +3 -12
  223. package/dist/config/types.js.map +1 -1
  224. package/dist/config/validate.js.map +1 -1
  225. package/dist/database/combineQueries.js.map +1 -1
  226. package/dist/database/createDatabaseAdapter.js.map +1 -1
  227. package/dist/database/flattenWhereToOperators.js.map +1 -1
  228. package/dist/database/getLocalizedPaths.js.map +1 -1
  229. package/dist/database/migrations/createMigration.js.map +1 -1
  230. package/dist/database/migrations/getMigrations.js.map +1 -1
  231. package/dist/database/migrations/migrate.js.map +1 -1
  232. package/dist/database/migrations/migrateDown.js.map +1 -1
  233. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  234. package/dist/database/migrations/migrateReset.js.map +1 -1
  235. package/dist/database/migrations/migrateStatus.js.map +1 -1
  236. package/dist/database/migrations/migrationTemplate.js.map +1 -1
  237. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  238. package/dist/database/migrations/readMigrationFiles.js.map +1 -1
  239. package/dist/database/queryValidation/types.js.map +1 -1
  240. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -1
  241. package/dist/database/queryValidation/validateSearchParams.js.map +1 -1
  242. package/dist/database/types.d.ts +10 -0
  243. package/dist/database/types.d.ts.map +1 -1
  244. package/dist/database/types.js.map +1 -1
  245. package/dist/email/consoleEmailAdapter.d.ts +3 -0
  246. package/dist/email/consoleEmailAdapter.d.ts.map +1 -0
  247. package/dist/email/consoleEmailAdapter.js +16 -0
  248. package/dist/email/consoleEmailAdapter.js.map +1 -0
  249. package/dist/email/defaults.d.ts +2 -2
  250. package/dist/email/defaults.d.ts.map +1 -1
  251. package/dist/email/defaults.js +3 -3
  252. package/dist/email/defaults.js.map +1 -1
  253. package/dist/email/getStringifiedToAddress.d.ts +3 -0
  254. package/dist/email/getStringifiedToAddress.d.ts.map +1 -0
  255. package/dist/email/getStringifiedToAddress.js +20 -0
  256. package/dist/email/getStringifiedToAddress.js.map +1 -0
  257. package/dist/email/sendEmail.d.ts +3 -2
  258. package/dist/email/sendEmail.d.ts.map +1 -1
  259. package/dist/email/sendEmail.js +8 -4
  260. package/dist/email/sendEmail.js.map +1 -1
  261. package/dist/email/types.d.ts +25 -18
  262. package/dist/email/types.d.ts.map +1 -1
  263. package/dist/email/types.js +5 -1
  264. package/dist/email/types.js.map +1 -1
  265. package/dist/errors/APIError.js.map +1 -1
  266. package/dist/errors/AuthenticationError.js +2 -2
  267. package/dist/errors/AuthenticationError.js.map +1 -1
  268. package/dist/errors/DuplicateCollection.js.map +1 -1
  269. package/dist/errors/DuplicateFieldName.js.map +1 -1
  270. package/dist/errors/DuplicateGlobal.js.map +1 -1
  271. package/dist/errors/ErrorDeletingFile.js +2 -2
  272. package/dist/errors/ErrorDeletingFile.js.map +1 -1
  273. package/dist/errors/FileUploadError.js +2 -2
  274. package/dist/errors/FileUploadError.js.map +1 -1
  275. package/dist/errors/Forbidden.js +2 -2
  276. package/dist/errors/Forbidden.js.map +1 -1
  277. package/dist/errors/InvalidConfiguration.js.map +1 -1
  278. package/dist/errors/InvalidFieldName.js.map +1 -1
  279. package/dist/errors/InvalidFieldRelationship.js.map +1 -1
  280. package/dist/errors/InvalidSchema.js.map +1 -1
  281. package/dist/errors/LockedAuth.js +2 -2
  282. package/dist/errors/LockedAuth.js.map +1 -1
  283. package/dist/errors/MissingCollectionLabel.js.map +1 -1
  284. package/dist/errors/MissingEditorProp.js.map +1 -1
  285. package/dist/errors/MissingFieldInputOptions.js.map +1 -1
  286. package/dist/errors/MissingFieldType.js.map +1 -1
  287. package/dist/errors/MissingFile.js +2 -2
  288. package/dist/errors/MissingFile.js.map +1 -1
  289. package/dist/errors/NotFound.js +2 -2
  290. package/dist/errors/NotFound.js.map +1 -1
  291. package/dist/errors/QueryError.js.map +1 -1
  292. package/dist/errors/TimestampsRequired.js.map +1 -1
  293. package/dist/errors/UnathorizedError.js +2 -2
  294. package/dist/errors/UnathorizedError.js.map +1 -1
  295. package/dist/errors/ValidationError.js +2 -2
  296. package/dist/errors/ValidationError.js.map +1 -1
  297. package/dist/errors/index.js.map +1 -1
  298. package/dist/errors/types.js.map +1 -1
  299. package/dist/exports/auth.d.ts +1 -0
  300. package/dist/exports/auth.d.ts.map +1 -1
  301. package/dist/exports/auth.js +1 -0
  302. package/dist/exports/auth.js.map +1 -1
  303. package/dist/exports/components/utilities.js.map +1 -1
  304. package/dist/exports/config.js.map +1 -1
  305. package/dist/exports/database.d.ts +1 -1
  306. package/dist/exports/database.d.ts.map +1 -1
  307. package/dist/exports/database.js.map +1 -1
  308. package/dist/exports/errors.js.map +1 -1
  309. package/dist/exports/fields/index.js.map +1 -1
  310. package/dist/exports/fields/validations.js.map +1 -1
  311. package/dist/exports/i18n/ar.d.ts +2 -0
  312. package/dist/exports/i18n/ar.d.ts.map +1 -0
  313. package/dist/exports/i18n/ar.js +3 -0
  314. package/dist/exports/i18n/ar.js.map +1 -0
  315. package/dist/exports/i18n/az.d.ts +2 -0
  316. package/dist/exports/i18n/az.d.ts.map +1 -0
  317. package/dist/exports/i18n/az.js +3 -0
  318. package/dist/exports/i18n/az.js.map +1 -0
  319. package/dist/exports/i18n/bg.d.ts +2 -0
  320. package/dist/exports/i18n/bg.d.ts.map +1 -0
  321. package/dist/exports/i18n/bg.js +3 -0
  322. package/dist/exports/i18n/bg.js.map +1 -0
  323. package/dist/exports/i18n/cs.d.ts +2 -0
  324. package/dist/exports/i18n/cs.d.ts.map +1 -0
  325. package/dist/exports/i18n/cs.js +3 -0
  326. package/dist/exports/i18n/cs.js.map +1 -0
  327. package/dist/exports/i18n/de.d.ts +2 -0
  328. package/dist/exports/i18n/de.d.ts.map +1 -0
  329. package/dist/exports/i18n/de.js +3 -0
  330. package/dist/exports/i18n/de.js.map +1 -0
  331. package/dist/exports/i18n/en.d.ts +2 -0
  332. package/dist/exports/i18n/en.d.ts.map +1 -0
  333. package/dist/exports/i18n/en.js +3 -0
  334. package/dist/exports/i18n/en.js.map +1 -0
  335. package/dist/exports/i18n/es.d.ts +2 -0
  336. package/dist/exports/i18n/es.d.ts.map +1 -0
  337. package/dist/exports/i18n/es.js +3 -0
  338. package/dist/exports/i18n/es.js.map +1 -0
  339. package/dist/exports/i18n/fa.d.ts +2 -0
  340. package/dist/exports/i18n/fa.d.ts.map +1 -0
  341. package/dist/exports/i18n/fa.js +3 -0
  342. package/dist/exports/i18n/fa.js.map +1 -0
  343. package/dist/exports/i18n/fr.d.ts +2 -0
  344. package/dist/exports/i18n/fr.d.ts.map +1 -0
  345. package/dist/exports/i18n/fr.js +3 -0
  346. package/dist/exports/i18n/fr.js.map +1 -0
  347. package/dist/exports/i18n/hr.d.ts +2 -0
  348. package/dist/exports/i18n/hr.d.ts.map +1 -0
  349. package/dist/exports/i18n/hr.js +3 -0
  350. package/dist/exports/i18n/hr.js.map +1 -0
  351. package/dist/exports/i18n/hu.d.ts +2 -0
  352. package/dist/exports/i18n/hu.d.ts.map +1 -0
  353. package/dist/exports/i18n/hu.js +3 -0
  354. package/dist/exports/i18n/hu.js.map +1 -0
  355. package/dist/exports/i18n/it.d.ts +2 -0
  356. package/dist/exports/i18n/it.d.ts.map +1 -0
  357. package/dist/exports/i18n/it.js +3 -0
  358. package/dist/exports/i18n/it.js.map +1 -0
  359. package/dist/exports/i18n/ja.d.ts +2 -0
  360. package/dist/exports/i18n/ja.d.ts.map +1 -0
  361. package/dist/exports/i18n/ja.js +3 -0
  362. package/dist/exports/i18n/ja.js.map +1 -0
  363. package/dist/exports/i18n/ko.d.ts +2 -0
  364. package/dist/exports/i18n/ko.d.ts.map +1 -0
  365. package/dist/exports/i18n/ko.js +3 -0
  366. package/dist/exports/i18n/ko.js.map +1 -0
  367. package/dist/exports/i18n/my.d.ts +2 -0
  368. package/dist/exports/i18n/my.d.ts.map +1 -0
  369. package/dist/exports/i18n/my.js +3 -0
  370. package/dist/exports/i18n/my.js.map +1 -0
  371. package/dist/exports/i18n/nb.d.ts +2 -0
  372. package/dist/exports/i18n/nb.d.ts.map +1 -0
  373. package/dist/exports/i18n/nb.js +3 -0
  374. package/dist/exports/i18n/nb.js.map +1 -0
  375. package/dist/exports/i18n/nl.d.ts +2 -0
  376. package/dist/exports/i18n/nl.d.ts.map +1 -0
  377. package/dist/exports/i18n/nl.js +3 -0
  378. package/dist/exports/i18n/nl.js.map +1 -0
  379. package/dist/exports/i18n/pl.d.ts +2 -0
  380. package/dist/exports/i18n/pl.d.ts.map +1 -0
  381. package/dist/exports/i18n/pl.js +3 -0
  382. package/dist/exports/i18n/pl.js.map +1 -0
  383. package/dist/exports/i18n/pt.d.ts +2 -0
  384. package/dist/exports/i18n/pt.d.ts.map +1 -0
  385. package/dist/exports/i18n/pt.js +3 -0
  386. package/dist/exports/i18n/pt.js.map +1 -0
  387. package/dist/exports/i18n/ro.d.ts +2 -0
  388. package/dist/exports/i18n/ro.d.ts.map +1 -0
  389. package/dist/exports/i18n/ro.js +3 -0
  390. package/dist/exports/i18n/ro.js.map +1 -0
  391. package/dist/exports/i18n/rs.d.ts +2 -0
  392. package/dist/exports/i18n/rs.d.ts.map +1 -0
  393. package/dist/exports/i18n/rs.js +3 -0
  394. package/dist/exports/i18n/rs.js.map +1 -0
  395. package/dist/exports/i18n/rsLatin.d.ts +2 -0
  396. package/dist/exports/i18n/rsLatin.d.ts.map +1 -0
  397. package/dist/exports/i18n/rsLatin.js +3 -0
  398. package/dist/exports/i18n/rsLatin.js.map +1 -0
  399. package/dist/exports/i18n/ru.d.ts +2 -0
  400. package/dist/exports/i18n/ru.d.ts.map +1 -0
  401. package/dist/exports/i18n/ru.js +3 -0
  402. package/dist/exports/i18n/ru.js.map +1 -0
  403. package/dist/exports/i18n/sv.d.ts +2 -0
  404. package/dist/exports/i18n/sv.d.ts.map +1 -0
  405. package/dist/exports/i18n/sv.js +3 -0
  406. package/dist/exports/i18n/sv.js.map +1 -0
  407. package/dist/exports/i18n/th.d.ts +2 -0
  408. package/dist/exports/i18n/th.d.ts.map +1 -0
  409. package/dist/exports/i18n/th.js +3 -0
  410. package/dist/exports/i18n/th.js.map +1 -0
  411. package/dist/exports/i18n/tr.d.ts +2 -0
  412. package/dist/exports/i18n/tr.d.ts.map +1 -0
  413. package/dist/exports/i18n/tr.js +3 -0
  414. package/dist/exports/i18n/tr.js.map +1 -0
  415. package/dist/exports/i18n/uk.d.ts +2 -0
  416. package/dist/exports/i18n/uk.d.ts.map +1 -0
  417. package/dist/exports/i18n/uk.js +3 -0
  418. package/dist/exports/i18n/uk.js.map +1 -0
  419. package/dist/exports/i18n/vi.d.ts +2 -0
  420. package/dist/exports/i18n/vi.d.ts.map +1 -0
  421. package/dist/exports/i18n/vi.js +3 -0
  422. package/dist/exports/i18n/vi.js.map +1 -0
  423. package/dist/exports/i18n/zh.d.ts +2 -0
  424. package/dist/exports/i18n/zh.d.ts.map +1 -0
  425. package/dist/exports/i18n/zh.js +3 -0
  426. package/dist/exports/i18n/zh.js.map +1 -0
  427. package/dist/exports/i18n/zhTw.d.ts +2 -0
  428. package/dist/exports/i18n/zhTw.d.ts.map +1 -0
  429. package/dist/exports/i18n/zhTw.js +3 -0
  430. package/dist/exports/i18n/zhTw.js.map +1 -0
  431. package/dist/exports/node.d.ts +4 -0
  432. package/dist/exports/node.d.ts.map +1 -1
  433. package/dist/exports/node.js +3 -0
  434. package/dist/exports/node.js.map +1 -1
  435. package/dist/exports/operations.d.ts +1 -0
  436. package/dist/exports/operations.d.ts.map +1 -1
  437. package/dist/exports/operations.js +1 -0
  438. package/dist/exports/operations.js.map +1 -1
  439. package/dist/exports/types.d.ts +1 -0
  440. package/dist/exports/types.d.ts.map +1 -1
  441. package/dist/exports/types.js.map +1 -1
  442. package/dist/exports/uploads.js.map +1 -1
  443. package/dist/exports/utilities.d.ts +4 -3
  444. package/dist/exports/utilities.d.ts.map +1 -1
  445. package/dist/exports/utilities.js +4 -4
  446. package/dist/exports/utilities.js.map +1 -1
  447. package/dist/exports/versions.js.map +1 -1
  448. package/dist/fields/baseFields/baseBlockFields.d.ts +2 -2
  449. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  450. package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
  451. package/dist/fields/baseFields/baseIDField.js.map +1 -1
  452. package/dist/fields/config/client.d.ts +160 -128
  453. package/dist/fields/config/client.d.ts.map +1 -1
  454. package/dist/fields/config/client.js +33 -7
  455. package/dist/fields/config/client.js.map +1 -1
  456. package/dist/fields/config/sanitize.js.map +1 -1
  457. package/dist/fields/config/sanitize.spec.js +4 -1
  458. package/dist/fields/config/sanitize.spec.js.map +1 -1
  459. package/dist/fields/config/schema.d.ts.map +1 -1
  460. package/dist/fields/config/schema.js +10 -4
  461. package/dist/fields/config/schema.js.map +1 -1
  462. package/dist/fields/config/types.d.ts +62 -53
  463. package/dist/fields/config/types.d.ts.map +1 -1
  464. package/dist/fields/config/types.js.map +1 -1
  465. package/dist/fields/getDefaultValue.d.ts +2 -2
  466. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  467. package/dist/fields/getDefaultValue.js.map +1 -1
  468. package/dist/fields/hooks/afterChange/index.js.map +1 -1
  469. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  470. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -1
  471. package/dist/fields/hooks/afterRead/index.js.map +1 -1
  472. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  473. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -1
  474. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -1
  475. package/dist/fields/hooks/beforeChange/beforeDuplicate.js.map +1 -1
  476. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js.map +1 -1
  477. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -1
  478. package/dist/fields/hooks/beforeChange/index.js.map +1 -1
  479. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  480. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -1
  481. package/dist/fields/hooks/beforeValidate/index.js.map +1 -1
  482. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  483. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -1
  484. package/dist/fields/mergeBaseFields.js.map +1 -1
  485. package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
  486. package/dist/fields/setDefaultBeforeDuplicate.js +2 -6
  487. package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
  488. package/dist/fields/sortableFieldTypes.js.map +1 -1
  489. package/dist/fields/validations.d.ts +6 -4
  490. package/dist/fields/validations.d.ts.map +1 -1
  491. package/dist/fields/validations.js +49 -10
  492. package/dist/fields/validations.js.map +1 -1
  493. package/dist/fields/validations.spec.js +6 -1
  494. package/dist/fields/validations.spec.js.map +1 -1
  495. package/dist/globals/config/client.d.ts +10 -3
  496. package/dist/globals/config/client.d.ts.map +1 -1
  497. package/dist/globals/config/client.js +11 -4
  498. package/dist/globals/config/client.js.map +1 -1
  499. package/dist/globals/config/sanitize.d.ts.map +1 -1
  500. package/dist/globals/config/sanitize.js +2 -7
  501. package/dist/globals/config/sanitize.js.map +1 -1
  502. package/dist/globals/config/schema.d.ts.map +1 -1
  503. package/dist/globals/config/schema.js +2 -1
  504. package/dist/globals/config/schema.js.map +1 -1
  505. package/dist/globals/config/types.d.ts +4 -3
  506. package/dist/globals/config/types.d.ts.map +1 -1
  507. package/dist/globals/config/types.js.map +1 -1
  508. package/dist/globals/operations/docAccess.js.map +1 -1
  509. package/dist/globals/operations/findOne.d.ts +0 -1
  510. package/dist/globals/operations/findOne.d.ts.map +1 -1
  511. package/dist/globals/operations/findOne.js.map +1 -1
  512. package/dist/globals/operations/findVersionByID.js.map +1 -1
  513. package/dist/globals/operations/findVersions.js.map +1 -1
  514. package/dist/globals/operations/local/findOne.d.ts +2 -2
  515. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  516. package/dist/globals/operations/local/findOne.js.map +1 -1
  517. package/dist/globals/operations/local/findVersionByID.d.ts +2 -2
  518. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  519. package/dist/globals/operations/local/findVersionByID.js +1 -0
  520. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  521. package/dist/globals/operations/local/findVersions.d.ts +2 -2
  522. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  523. package/dist/globals/operations/local/findVersions.js.map +1 -1
  524. package/dist/globals/operations/local/index.js.map +1 -1
  525. package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
  526. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  527. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  528. package/dist/globals/operations/local/update.d.ts +2 -2
  529. package/dist/globals/operations/local/update.d.ts.map +1 -1
  530. package/dist/globals/operations/local/update.js.map +1 -1
  531. package/dist/globals/operations/restoreVersion.js.map +1 -1
  532. package/dist/globals/operations/update.js.map +1 -1
  533. package/dist/index.d.ts +17 -6
  534. package/dist/index.d.ts.map +1 -1
  535. package/dist/index.js +32 -14
  536. package/dist/index.js.map +1 -1
  537. package/dist/preferences/deleteUserPreferences.js.map +1 -1
  538. package/dist/preferences/operations/delete.js.map +1 -1
  539. package/dist/preferences/operations/findOne.js.map +1 -1
  540. package/dist/preferences/operations/update.d.ts +1 -1
  541. package/dist/preferences/operations/update.js.map +1 -1
  542. package/dist/preferences/preferencesCollection.js.map +1 -1
  543. package/dist/preferences/requestHandlers/delete.js.map +1 -1
  544. package/dist/preferences/requestHandlers/findOne.js.map +1 -1
  545. package/dist/preferences/requestHandlers/update.js.map +1 -1
  546. package/dist/preferences/types.d.ts +1 -2
  547. package/dist/preferences/types.d.ts.map +1 -1
  548. package/dist/preferences/types.js.map +1 -1
  549. package/dist/translations/getLocalI18n.d.ts +3 -2
  550. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  551. package/dist/translations/getLocalI18n.js +2 -4
  552. package/dist/translations/getLocalI18n.js.map +1 -1
  553. package/dist/types/constants.js.map +1 -1
  554. package/dist/types/index.d.ts +5 -5
  555. package/dist/types/index.d.ts.map +1 -1
  556. package/dist/types/index.js.map +1 -1
  557. package/dist/uploads/canResizeImage.js.map +1 -1
  558. package/dist/uploads/cropImage.js.map +1 -1
  559. package/dist/uploads/deleteAssociatedFiles.js.map +1 -1
  560. package/dist/uploads/docWithFilenameExists.js.map +1 -1
  561. package/dist/uploads/fileExists.js.map +1 -1
  562. package/dist/uploads/formatFilesize.js.map +1 -1
  563. package/dist/uploads/generateFileData.d.ts.map +1 -1
  564. package/dist/uploads/generateFileData.js +3 -2
  565. package/dist/uploads/generateFileData.js.map +1 -1
  566. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  567. package/dist/uploads/getBaseFields.js +5 -13
  568. package/dist/uploads/getBaseFields.js.map +1 -1
  569. package/dist/uploads/getExternalFile.d.ts +3 -2
  570. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  571. package/dist/uploads/getExternalFile.js +5 -4
  572. package/dist/uploads/getExternalFile.js.map +1 -1
  573. package/dist/uploads/getFileByPath.js.map +1 -1
  574. package/dist/uploads/getImageSize.d.ts +1 -1
  575. package/dist/uploads/getImageSize.d.ts.map +1 -1
  576. package/dist/uploads/getImageSize.js +19 -5
  577. package/dist/uploads/getImageSize.js.map +1 -1
  578. package/dist/uploads/getSafeFilename.js.map +1 -1
  579. package/dist/uploads/imageResizer.js.map +1 -1
  580. package/dist/uploads/isImage.js.map +1 -1
  581. package/dist/uploads/mimeTypeValidator.js.map +1 -1
  582. package/dist/uploads/mimeTypeValidator.spec.js.map +1 -1
  583. package/dist/uploads/saveBufferToFile.js.map +1 -1
  584. package/dist/uploads/tempFile.d.ts +7 -0
  585. package/dist/uploads/tempFile.d.ts.map +1 -0
  586. package/dist/uploads/tempFile.js +39 -0
  587. package/dist/uploads/tempFile.js.map +1 -0
  588. package/dist/uploads/types.d.ts +6 -0
  589. package/dist/uploads/types.d.ts.map +1 -1
  590. package/dist/uploads/types.js.map +1 -1
  591. package/dist/uploads/unlinkTempFiles.js.map +1 -1
  592. package/dist/uploads/uploadFiles.js.map +1 -1
  593. package/dist/utilities/checkDuplicateCollections.js.map +1 -1
  594. package/dist/utilities/combineMerge.js.map +1 -1
  595. package/dist/utilities/commitTransaction.js.map +1 -1
  596. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  597. package/dist/utilities/configToJSONSchema.js +53 -1
  598. package/dist/utilities/configToJSONSchema.js.map +1 -1
  599. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  600. package/dist/utilities/convertData.js.map +1 -1
  601. package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -1
  602. package/dist/utilities/createLocalReq.d.ts +1 -1
  603. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  604. package/dist/utilities/createLocalReq.js +2 -2
  605. package/dist/utilities/createLocalReq.js.map +1 -1
  606. package/dist/utilities/deepCopyObject.js.map +1 -1
  607. package/dist/utilities/deepMerge.js.map +1 -1
  608. package/dist/utilities/fieldSchemaToJSON.js.map +1 -1
  609. package/dist/utilities/flattenTopLevelFields.js.map +1 -1
  610. package/dist/utilities/formatLabels.js.map +1 -1
  611. package/dist/utilities/formatLabels.spec.js.map +1 -1
  612. package/dist/utilities/getCSSVariable.js.map +1 -1
  613. package/dist/utilities/getCollectionIDFieldTypes.js.map +1 -1
  614. package/dist/utilities/getEntityPolicies.js.map +1 -1
  615. package/dist/utilities/getObjectDotNotation.js.map +1 -1
  616. package/dist/utilities/getUniqueListBy.js.map +1 -1
  617. package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -1
  618. package/dist/utilities/importWithoutClientFiles.js +8 -5
  619. package/dist/utilities/importWithoutClientFiles.js.map +1 -1
  620. package/dist/utilities/initTransaction.js.map +1 -1
  621. package/dist/utilities/isEntityHidden.d.ts +2 -2
  622. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  623. package/dist/utilities/isEntityHidden.js.map +1 -1
  624. package/dist/utilities/isNumber.js.map +1 -1
  625. package/dist/utilities/isPlainObject.js.map +1 -1
  626. package/dist/utilities/isReactComponent.d.ts +2 -0
  627. package/dist/utilities/isReactComponent.d.ts.map +1 -1
  628. package/dist/utilities/isReactComponent.js +8 -2
  629. package/dist/utilities/isReactComponent.js.map +1 -1
  630. package/dist/utilities/isValidID.js.map +1 -1
  631. package/dist/utilities/isolateObjectProperty.js.map +1 -1
  632. package/dist/utilities/killTransaction.js.map +1 -1
  633. package/dist/utilities/logger.js.map +1 -1
  634. package/dist/utilities/mapAsync.js.map +1 -1
  635. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -1
  636. package/dist/utilities/overwriteMerge.js.map +1 -1
  637. package/dist/utilities/parseCookies.js.map +1 -1
  638. package/dist/utilities/sanitizeInternalFields.js.map +1 -1
  639. package/dist/utilities/setsAreEqual.js.map +1 -1
  640. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  641. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  642. package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
  643. package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
  644. package/dist/utilities/telemetry/index.d.ts +3 -0
  645. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  646. package/dist/utilities/telemetry/index.js +32 -6
  647. package/dist/utilities/telemetry/index.js.map +1 -1
  648. package/dist/utilities/telemetry/oneWayHash.js.map +1 -1
  649. package/dist/utilities/timestamp.js.map +1 -1
  650. package/dist/utilities/toKebabCase.js.map +1 -1
  651. package/dist/utilities/wait.js.map +1 -1
  652. package/dist/utilities/wordBoundariesRegex.js.map +1 -1
  653. package/dist/versions/baseFields.d.ts +3 -1
  654. package/dist/versions/baseFields.d.ts.map +1 -1
  655. package/dist/versions/baseFields.js +3 -9
  656. package/dist/versions/baseFields.js.map +1 -1
  657. package/dist/versions/buildCollectionFields.js.map +1 -1
  658. package/dist/versions/buildGlobalFields.js.map +1 -1
  659. package/dist/versions/deleteCollectionVersions.js.map +1 -1
  660. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -1
  661. package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -1
  662. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -1
  663. package/dist/versions/enforceMaxVersions.js.map +1 -1
  664. package/dist/versions/getLatestCollectionVersion.js.map +1 -1
  665. package/dist/versions/getLatestGlobalVersion.js.map +1 -1
  666. package/dist/versions/saveVersion.js +1 -1
  667. package/dist/versions/saveVersion.js.map +1 -1
  668. package/dist/versions/types.js.map +1 -1
  669. package/package.json +15 -6
  670. package/src/index.ts +42 -18
  671. package/auth.d.ts +0 -6
  672. package/auth.js +0 -6
  673. package/config.d.ts +0 -14
  674. package/config.js +0 -14
  675. package/database.d.ts +0 -23
  676. package/database.js +0 -22
  677. package/dist/email/build.d.ts +0 -5
  678. package/dist/email/build.d.ts.map +0 -1
  679. package/dist/email/build.js +0 -63
  680. package/dist/email/build.js.map +0 -1
  681. package/dist/email/mockHandler.d.ts +0 -5
  682. package/dist/email/mockHandler.d.ts.map +0 -1
  683. package/dist/email/mockHandler.js +0 -24
  684. package/dist/email/mockHandler.js.map +0 -1
  685. package/dist/translations/extractTranslations.d.ts +0 -2
  686. package/dist/translations/extractTranslations.d.ts.map +0 -1
  687. package/dist/translations/extractTranslations.js +0 -20
  688. package/dist/translations/extractTranslations.js.map +0 -1
  689. package/dist/utilities/getIDType.d.ts +0 -4
  690. package/dist/utilities/getIDType.d.ts.map +0 -1
  691. package/dist/utilities/getIDType.js +0 -8
  692. package/dist/utilities/getIDType.js.map +0 -1
  693. package/errors.d.ts +0 -2
  694. package/errors.js +0 -3
  695. package/node.d.ts +0 -2
  696. package/node.js +0 -3
  697. package/operations.d.ts +0 -30
  698. package/operations.js +0 -31
  699. package/types.d.ts +0 -17
  700. package/types.js +0 -5
  701. package/uploads.d.ts +0 -2
  702. package/uploads.js +0 -3
  703. package/utilities.d.ts +0 -33
  704. package/utilities.js +0 -34
  705. package/versions.d.ts +0 -9
  706. package/versions.js +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"createLocalReq.d.ts","sourceRoot":"","sources":["../../src/utilities/createLocalReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAsDvD,KAAK,cAAc,GAAG,CACpB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,EACD,OAAO,EAAE,OAAO,KACb,cAAc,CAAA;AACnB,eAAO,MAAM,cAAc,EAAE,cAiC5B,CAAA"}
1
+ {"version":3,"file":"createLocalReq.d.ts","sourceRoot":"","sources":["../../src/utilities/createLocalReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAsDvD,KAAK,cAAc,GAAG,CACpB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,EACD,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,CAAA;AAC5B,eAAO,MAAM,cAAc,EAAE,cAiC5B,CAAA"}
@@ -45,8 +45,8 @@ const attachFakeURLProperties = (req)=>{
45
45
  // @ts-expect-error
46
46
  if (!req?.url) req.url = getURLObject().url;
47
47
  };
48
- export const createLocalReq = ({ context, fallbackLocale, locale: localeArg, req = {}, user }, payload)=>{
49
- const i18n = req?.i18n || getLocalI18n({
48
+ export const createLocalReq = async ({ context, fallbackLocale, locale: localeArg, req = {}, user }, payload)=>{
49
+ const i18n = req?.i18n || await getLocalI18n({
50
50
  config: payload.config
51
51
  });
52
52
  if (payload.config?.localization) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/createLocalReq.ts"],"sourcesContent":["import type { User } from '../auth/types.js'\nimport type { Payload, RequestContext } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { getDataLoader } from '../collections/dataloader.js'\nimport { getLocalI18n } from '../translations/getLocalI18n.js'\n\nfunction getRequestContext(\n req: PayloadRequest = { context: null } as PayloadRequest,\n context: RequestContext = {},\n): RequestContext {\n if (req.context) {\n if (Object.keys(req.context).length === 0 && req.context.constructor === Object) {\n // if req.context is `{}` avoid unnecessary spread\n return context\n } else {\n return { ...req.context, ...context }\n }\n } else {\n return context\n }\n}\n\nconst attachFakeURLProperties = (req: PayloadRequest) => {\n /**\n * *NOTE*\n * If no URL is provided, the local API was called directly outside\n * the context of a request. Therefore we create a fake URL object.\n * `ts-ignore` is used below for properties that are 'read-only'\n * since they do not exist yet we can safely ignore the error.\n */\n let urlObject\n\n function getURLObject() {\n if (urlObject) return urlObject\n const urlToUse = req?.url || req.payload.config?.serverURL || 'http://localhost'\n try {\n urlObject = new URL(urlToUse)\n } catch (error) {\n urlObject = new URL('http://localhost')\n }\n\n return urlObject\n }\n\n if (!req.host) req.host = getURLObject().host\n if (!req.protocol) req.protocol = getURLObject().protocol\n if (!req.pathname) req.pathname = getURLObject().pathname\n // @ts-expect-error\n if (!req.searchParams) req.searchParams = getURLObject().searchParams\n // @ts-expect-error\n if (!req.origin) req.origin = getURLObject().origin\n // @ts-expect-error\n if (!req?.url) req.url = getURLObject().url\n}\n\ntype CreateLocalReq = (\n options: {\n context?: RequestContext\n fallbackLocale?: string\n locale?: string\n req?: PayloadRequest\n user?: User\n },\n payload: Payload,\n) => PayloadRequest\nexport const createLocalReq: CreateLocalReq = (\n { context, fallbackLocale, locale: localeArg, req = {} as PayloadRequest, user },\n payload,\n) => {\n const i18n = req?.i18n || getLocalI18n({ config: payload.config })\n\n if (payload.config?.localization) {\n const locale = localeArg === '*' ? 'all' : localeArg\n const defaultLocale = payload.config.localization.defaultLocale\n req.locale = locale || req?.locale || defaultLocale\n const fallbackLocaleFromConfig = payload.config.localization.locales.find(\n ({ code }) => req.locale === code,\n )?.fallbackLocale\n if (typeof fallbackLocale !== 'undefined') {\n req.fallbackLocale = fallbackLocale\n } else if (typeof req?.fallbackLocale === 'undefined') {\n req.fallbackLocale = fallbackLocaleFromConfig || defaultLocale\n }\n }\n\n req.context = getRequestContext(req, context)\n req.payloadAPI = req?.payloadAPI || 'local'\n req.payload = payload\n req.i18n = i18n\n req.t = i18n.t\n req.user = user || req?.user || null\n req.payloadDataLoader = req?.payloadDataLoader || getDataLoader(req)\n req.routeParams = req?.routeParams || {}\n req.query = req?.query || {}\n\n attachFakeURLProperties(req)\n\n return req\n}\n"],"names":["getDataLoader","getLocalI18n","getRequestContext","req","context","Object","keys","length","constructor","attachFakeURLProperties","urlObject","getURLObject","urlToUse","url","payload","config","serverURL","URL","error","host","protocol","pathname","searchParams","origin","createLocalReq","fallbackLocale","locale","localeArg","user","i18n","localization","defaultLocale","fallbackLocaleFromConfig","locales","find","code","payloadAPI","t","payloadDataLoader","routeParams","query"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/createLocalReq.ts"],"sourcesContent":["import type { User } from '../auth/types.js'\nimport type { Payload, RequestContext } from '../index.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nimport { getDataLoader } from '../collections/dataloader.js'\nimport { getLocalI18n } from '../translations/getLocalI18n.js'\n\nfunction getRequestContext(\n req: PayloadRequest = { context: null } as PayloadRequest,\n context: RequestContext = {},\n): RequestContext {\n if (req.context) {\n if (Object.keys(req.context).length === 0 && req.context.constructor === Object) {\n // if req.context is `{}` avoid unnecessary spread\n return context\n } else {\n return { ...req.context, ...context }\n }\n } else {\n return context\n }\n}\n\nconst attachFakeURLProperties = (req: PayloadRequest) => {\n /**\n * *NOTE*\n * If no URL is provided, the local API was called directly outside\n * the context of a request. Therefore we create a fake URL object.\n * `ts-ignore` is used below for properties that are 'read-only'\n * since they do not exist yet we can safely ignore the error.\n */\n let urlObject\n\n function getURLObject() {\n if (urlObject) return urlObject\n const urlToUse = req?.url || req.payload.config?.serverURL || 'http://localhost'\n try {\n urlObject = new URL(urlToUse)\n } catch (error) {\n urlObject = new URL('http://localhost')\n }\n\n return urlObject\n }\n\n if (!req.host) req.host = getURLObject().host\n if (!req.protocol) req.protocol = getURLObject().protocol\n if (!req.pathname) req.pathname = getURLObject().pathname\n // @ts-expect-error\n if (!req.searchParams) req.searchParams = getURLObject().searchParams\n // @ts-expect-error\n if (!req.origin) req.origin = getURLObject().origin\n // @ts-expect-error\n if (!req?.url) req.url = getURLObject().url\n}\n\ntype CreateLocalReq = (\n options: {\n context?: RequestContext\n fallbackLocale?: string\n locale?: string\n req?: PayloadRequest\n user?: User\n },\n payload: Payload,\n) => Promise<PayloadRequest>\nexport const createLocalReq: CreateLocalReq = async (\n { context, fallbackLocale, locale: localeArg, req = {} as PayloadRequest, user },\n payload,\n) => {\n const i18n = req?.i18n || (await getLocalI18n({ config: payload.config }))\n\n if (payload.config?.localization) {\n const locale = localeArg === '*' ? 'all' : localeArg\n const defaultLocale = payload.config.localization.defaultLocale\n req.locale = locale || req?.locale || defaultLocale\n const fallbackLocaleFromConfig = payload.config.localization.locales.find(\n ({ code }) => req.locale === code,\n )?.fallbackLocale\n if (typeof fallbackLocale !== 'undefined') {\n req.fallbackLocale = fallbackLocale\n } else if (typeof req?.fallbackLocale === 'undefined') {\n req.fallbackLocale = fallbackLocaleFromConfig || defaultLocale\n }\n }\n\n req.context = getRequestContext(req, context)\n req.payloadAPI = req?.payloadAPI || 'local'\n req.payload = payload\n req.i18n = i18n\n req.t = i18n.t\n req.user = user || req?.user || null\n req.payloadDataLoader = req?.payloadDataLoader || getDataLoader(req)\n req.routeParams = req?.routeParams || {}\n req.query = req?.query || {}\n\n attachFakeURLProperties(req)\n\n return req\n}\n"],"names":["getDataLoader","getLocalI18n","getRequestContext","req","context","Object","keys","length","constructor","attachFakeURLProperties","urlObject","getURLObject","urlToUse","url","payload","config","serverURL","URL","error","host","protocol","pathname","searchParams","origin","createLocalReq","fallbackLocale","locale","localeArg","user","i18n","localization","defaultLocale","fallbackLocaleFromConfig","locales","find","code","payloadAPI","t","payloadDataLoader","routeParams","query"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,aAAa,QAAQ,+BAA8B;AAC5D,SAASC,YAAY,QAAQ,kCAAiC;AAE9D,SAASC,kBACPC,MAAsB;IAAEC,SAAS;AAAK,CAAmB,EACzDA,UAA0B,CAAC,CAAC;IAE5B,IAAID,IAAIC,OAAO,EAAE;QACf,IAAIC,OAAOC,IAAI,CAACH,IAAIC,OAAO,EAAEG,MAAM,KAAK,KAAKJ,IAAIC,OAAO,CAACI,WAAW,KAAKH,QAAQ;YAC/E,kDAAkD;YAClD,OAAOD;QACT,OAAO;YACL,OAAO;gBAAE,GAAGD,IAAIC,OAAO;gBAAE,GAAGA,OAAO;YAAC;QACtC;IACF,OAAO;QACL,OAAOA;IACT;AACF;AAEA,MAAMK,0BAA0B,CAACN;IAC/B;;;;;;GAMC,GACD,IAAIO;IAEJ,SAASC;QACP,IAAID,WAAW,OAAOA;QACtB,MAAME,WAAWT,KAAKU,OAAOV,IAAIW,OAAO,CAACC,MAAM,EAAEC,aAAa;QAC9D,IAAI;YACFN,YAAY,IAAIO,IAAIL;QACtB,EAAE,OAAOM,OAAO;YACdR,YAAY,IAAIO,IAAI;QACtB;QAEA,OAAOP;IACT;IAEA,IAAI,CAACP,IAAIgB,IAAI,EAAEhB,IAAIgB,IAAI,GAAGR,eAAeQ,IAAI;IAC7C,IAAI,CAAChB,IAAIiB,QAAQ,EAAEjB,IAAIiB,QAAQ,GAAGT,eAAeS,QAAQ;IACzD,IAAI,CAACjB,IAAIkB,QAAQ,EAAElB,IAAIkB,QAAQ,GAAGV,eAAeU,QAAQ;IACzD,mBAAmB;IACnB,IAAI,CAAClB,IAAImB,YAAY,EAAEnB,IAAImB,YAAY,GAAGX,eAAeW,YAAY;IACrE,mBAAmB;IACnB,IAAI,CAACnB,IAAIoB,MAAM,EAAEpB,IAAIoB,MAAM,GAAGZ,eAAeY,MAAM;IACnD,mBAAmB;IACnB,IAAI,CAACpB,KAAKU,KAAKV,IAAIU,GAAG,GAAGF,eAAeE,GAAG;AAC7C;AAYA,OAAO,MAAMW,iBAAiC,OAC5C,EAAEpB,OAAO,EAAEqB,cAAc,EAAEC,QAAQC,SAAS,EAAExB,MAAM,CAAC,CAAmB,EAAEyB,IAAI,EAAE,EAChFd;IAEA,MAAMe,OAAO1B,KAAK0B,QAAS,MAAM5B,aAAa;QAAEc,QAAQD,QAAQC,MAAM;IAAC;IAEvE,IAAID,QAAQC,MAAM,EAAEe,cAAc;QAChC,MAAMJ,SAASC,cAAc,MAAM,QAAQA;QAC3C,MAAMI,gBAAgBjB,QAAQC,MAAM,CAACe,YAAY,CAACC,aAAa;QAC/D5B,IAAIuB,MAAM,GAAGA,UAAUvB,KAAKuB,UAAUK;QACtC,MAAMC,2BAA2BlB,QAAQC,MAAM,CAACe,YAAY,CAACG,OAAO,CAACC,IAAI,CACvE,CAAC,EAAEC,IAAI,EAAE,GAAKhC,IAAIuB,MAAM,KAAKS,OAC5BV;QACH,IAAI,OAAOA,mBAAmB,aAAa;YACzCtB,IAAIsB,cAAc,GAAGA;QACvB,OAAO,IAAI,OAAOtB,KAAKsB,mBAAmB,aAAa;YACrDtB,IAAIsB,cAAc,GAAGO,4BAA4BD;QACnD;IACF;IAEA5B,IAAIC,OAAO,GAAGF,kBAAkBC,KAAKC;IACrCD,IAAIiC,UAAU,GAAGjC,KAAKiC,cAAc;IACpCjC,IAAIW,OAAO,GAAGA;IACdX,IAAI0B,IAAI,GAAGA;IACX1B,IAAIkC,CAAC,GAAGR,KAAKQ,CAAC;IACdlC,IAAIyB,IAAI,GAAGA,QAAQzB,KAAKyB,QAAQ;IAChCzB,IAAImC,iBAAiB,GAAGnC,KAAKmC,qBAAqBtC,cAAcG;IAChEA,IAAIoC,WAAW,GAAGpC,KAAKoC,eAAe,CAAC;IACvCpC,IAAIqC,KAAK,GAAGrC,KAAKqC,SAAS,CAAC;IAE3B/B,wBAAwBN;IAExB,OAAOA;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/deepCopyObject.ts"],"sourcesContent":["export const deepCopyObject = (inObject) => {\n if (inObject instanceof Date) return inObject\n\n if (inObject instanceof Set) return new Set(inObject)\n\n if (inObject instanceof Map) return new Map(inObject)\n\n if (typeof inObject !== 'object' || inObject === null) {\n return inObject // Return the value if inObject is not an object\n }\n\n // Create an array or object to hold the values\n const outObject = Array.isArray(inObject) ? [] : {}\n\n Object.keys(inObject).forEach((key) => {\n const value = inObject[key]\n\n // Recursively (deep) copy for nested objects, including arrays\n outObject[key] = typeof value === 'object' && value !== null ? deepCopyObject(value) : value\n })\n\n return outObject\n}\n"],"names":["deepCopyObject","inObject","Date","Set","Map","outObject","Array","isArray","Object","keys","forEach","key","value"],"mappings":"AAAA,OAAO,MAAMA,iBAAiB,CAACC;IAC7B,IAAIA,oBAAoBC,MAAM,OAAOD;IAErC,IAAIA,oBAAoBE,KAAK,OAAO,IAAIA,IAAIF;IAE5C,IAAIA,oBAAoBG,KAAK,OAAO,IAAIA,IAAIH;IAE5C,IAAI,OAAOA,aAAa,YAAYA,aAAa,MAAM;QACrD,OAAOA,SAAS,gDAAgD;;IAClE;IAEA,+CAA+C;IAC/C,MAAMI,YAAYC,MAAMC,OAAO,CAACN,YAAY,EAAE,GAAG,CAAC;IAElDO,OAAOC,IAAI,CAACR,UAAUS,OAAO,CAAC,CAACC;QAC7B,MAAMC,QAAQX,QAAQ,CAACU,IAAI;QAE3B,+DAA+D;QAC/DN,SAAS,CAACM,IAAI,GAAG,OAAOC,UAAU,YAAYA,UAAU,OAAOZ,eAAeY,SAASA;IACzF;IAEA,OAAOP;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/deepCopyObject.ts"],"sourcesContent":["export const deepCopyObject = (inObject) => {\n if (inObject instanceof Date) return inObject\n\n if (inObject instanceof Set) return new Set(inObject)\n\n if (inObject instanceof Map) return new Map(inObject)\n\n if (typeof inObject !== 'object' || inObject === null) {\n return inObject // Return the value if inObject is not an object\n }\n\n // Create an array or object to hold the values\n const outObject = Array.isArray(inObject) ? [] : {}\n\n Object.keys(inObject).forEach((key) => {\n const value = inObject[key]\n\n // Recursively (deep) copy for nested objects, including arrays\n outObject[key] = typeof value === 'object' && value !== null ? deepCopyObject(value) : value\n })\n\n return outObject\n}\n"],"names":["deepCopyObject","inObject","Date","Set","Map","outObject","Array","isArray","Object","keys","forEach","key","value"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAAA,OAAO,MAAMA,iBAAiB,CAACC;IAC7B,IAAIA,oBAAoBC,MAAM,OAAOD;IAErC,IAAIA,oBAAoBE,KAAK,OAAO,IAAIA,IAAIF;IAE5C,IAAIA,oBAAoBG,KAAK,OAAO,IAAIA,IAAIH;IAE5C,IAAI,OAAOA,aAAa,YAAYA,aAAa,MAAM;QACrD,OAAOA,SAAS,gDAAgD;;IAClE;IAEA,+CAA+C;IAC/C,MAAMI,YAAYC,MAAMC,OAAO,CAACN,YAAY,EAAE,GAAG,CAAC;IAElDO,OAAOC,IAAI,CAACR,UAAUS,OAAO,CAAC,CAACC;QAC7B,MAAMC,QAAQX,QAAQ,CAACU,IAAI;QAE3B,+DAA+D;QAC/DN,SAAS,CAACM,IAAI,GAAG,OAAOC,UAAU,YAAYA,UAAU,OAAOZ,eAAeY,SAASA;IACzF;IAEA,OAAOP;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/deepMerge.ts"],"sourcesContent":["export function deepMerge(obj1, obj2) {\n const output = { ...obj1 }\n\n for (const key in obj2) {\n if (Object.prototype.hasOwnProperty.call(obj2, key)) {\n if (typeof obj2[key] === 'object' && !Array.isArray(obj2[key]) && obj1[key]) {\n output[key] = deepMerge(obj1[key], obj2[key])\n } else {\n output[key] = obj2[key]\n }\n }\n }\n\n return output\n}\n"],"names":["deepMerge","obj1","obj2","output","key","Object","prototype","hasOwnProperty","call","Array","isArray"],"mappings":"AAAA,OAAO,SAASA,UAAUC,IAAI,EAAEC,IAAI;IAClC,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,IAAK,MAAMG,OAAOF,KAAM;QACtB,IAAIG,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,MAAME,MAAM;YACnD,IAAI,OAAOF,IAAI,CAACE,IAAI,KAAK,YAAY,CAACK,MAAMC,OAAO,CAACR,IAAI,CAACE,IAAI,KAAKH,IAAI,CAACG,IAAI,EAAE;gBAC3ED,MAAM,CAACC,IAAI,GAAGJ,UAAUC,IAAI,CAACG,IAAI,EAAEF,IAAI,CAACE,IAAI;YAC9C,OAAO;gBACLD,MAAM,CAACC,IAAI,GAAGF,IAAI,CAACE,IAAI;YACzB;QACF;IACF;IAEA,OAAOD;AACT"}
1
+ {"version":3,"sources":["../../src/utilities/deepMerge.ts"],"sourcesContent":["export function deepMerge(obj1, obj2) {\n const output = { ...obj1 }\n\n for (const key in obj2) {\n if (Object.prototype.hasOwnProperty.call(obj2, key)) {\n if (typeof obj2[key] === 'object' && !Array.isArray(obj2[key]) && obj1[key]) {\n output[key] = deepMerge(obj1[key], obj2[key])\n } else {\n output[key] = obj2[key]\n }\n }\n }\n\n return output\n}\n"],"names":["deepMerge","obj1","obj2","output","key","Object","prototype","hasOwnProperty","call","Array","isArray"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAAA,OAAO,SAASA,UAAUC,IAAI,EAAEC,IAAI;IAClC,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,IAAK,MAAMG,OAAOF,KAAM;QACtB,IAAIG,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,MAAME,MAAM;YACnD,IAAI,OAAOF,IAAI,CAACE,IAAI,KAAK,YAAY,CAACK,MAAMC,OAAO,CAACR,IAAI,CAACE,IAAI,KAAKH,IAAI,CAACG,IAAI,EAAE;gBAC3ED,MAAM,CAACC,IAAI,GAAGJ,UAAUC,IAAI,CAACG,IAAI,EAAEF,IAAI,CAACE,IAAI;YAC9C,OAAO;gBACLD,MAAM,CAACC,IAAI,GAAGF,IAAI,CAACE,IAAI;YACzB;QACF;IACF;IAEA,OAAOD;AACT"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/fieldSchemaToJSON.ts"],"sourcesContent":["import type { FieldTypes } from '../admin/forms/FieldTypes.js'\nimport type { ClientFieldConfig } from '../fields/config/client.js'\n\nexport type FieldSchemaJSON = {\n blocks?: FieldSchemaJSON // TODO: conditionally add based on `type`\n fields?: FieldSchemaJSON // TODO: conditionally add based on `type`\n hasMany?: boolean // TODO: conditionally add based on `type`\n name: string\n relationTo?: string // TODO: conditionally add based on `type`\n slug?: string // TODO: conditionally add based on `type`\n type: keyof FieldTypes\n}[]\n\nexport const fieldSchemaToJSON = (fields: ClientFieldConfig[]): FieldSchemaJSON => {\n return fields.reduce((acc, field) => {\n let result = acc\n\n switch (field.type) {\n case 'group':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n // @ts-expect-error\n fields: fieldSchemaToJSON(field.fields),\n })\n\n break\n\n case 'array':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n fields: fieldSchemaToJSON([\n // @ts-expect-error\n ...field.fields,\n {\n name: 'id',\n type: 'text',\n },\n ]),\n })\n\n break\n\n case 'blocks':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n // @ts-expect-error\n blocks: field.blocks.reduce((acc, block) => {\n acc[block.slug] = {\n fields: fieldSchemaToJSON([\n ...block.fields,\n {\n name: 'id',\n type: 'text',\n },\n ]),\n }\n\n return acc\n }, {}),\n })\n\n break\n\n case 'row':\n case 'collapsible':\n // @ts-expect-error\n result = result.concat(fieldSchemaToJSON(field.fields))\n break\n\n case 'tabs': {\n let tabFields = []\n\n // @ts-expect-error\n field.tabs.forEach((tab) => {\n if ('name' in tab) {\n tabFields.push({\n name: tab.name,\n type: field.type,\n fields: fieldSchemaToJSON(tab.fields),\n })\n return\n }\n\n tabFields = tabFields.concat(fieldSchemaToJSON(tab.fields))\n })\n\n result = result.concat(tabFields)\n\n break\n }\n\n case 'relationship':\n case 'upload':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n hasMany: 'hasMany' in field ? Boolean(field.hasMany) : false, // TODO: type this\n // @ts-expect-error\n relationTo: field.relationTo,\n })\n\n break\n\n default:\n if ('name' in field) {\n acc.push({\n name: field.name,\n type: field.type,\n })\n }\n }\n\n return result\n }, [])\n}\n"],"names":["fieldSchemaToJSON","fields","reduce","acc","field","result","type","push","name","blocks","block","slug","concat","tabFields","tabs","forEach","tab","hasMany","Boolean","relationTo"],"mappings":"AAaA,OAAO,MAAMA,oBAAoB,CAACC;IAChC,OAAOA,OAAOC,MAAM,CAAC,CAACC,KAAKC;QACzB,IAAIC,SAASF;QAEb,OAAQC,MAAME,IAAI;YAChB,KAAK;gBACHH,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChB,mBAAmB;oBACnBL,QAAQD,kBAAkBI,MAAMH,MAAM;gBACxC;gBAEA;YAEF,KAAK;gBACHE,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChBL,QAAQD,kBAAkB;wBACxB,mBAAmB;2BAChBI,MAAMH,MAAM;wBACf;4BACEO,MAAM;4BACNF,MAAM;wBACR;qBACD;gBACH;gBAEA;YAEF,KAAK;gBACHH,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChB,mBAAmB;oBACnBG,QAAQL,MAAMK,MAAM,CAACP,MAAM,CAAC,CAACC,KAAKO;wBAChCP,GAAG,CAACO,MAAMC,IAAI,CAAC,GAAG;4BAChBV,QAAQD,kBAAkB;mCACrBU,MAAMT,MAAM;gCACf;oCACEO,MAAM;oCACNF,MAAM;gCACR;6BACD;wBACH;wBAEA,OAAOH;oBACT,GAAG,CAAC;gBACN;gBAEA;YAEF,KAAK;YACL,KAAK;gBACH,mBAAmB;gBACnBE,SAASA,OAAOO,MAAM,CAACZ,kBAAkBI,MAAMH,MAAM;gBACrD;YAEF,KAAK;gBAAQ;oBACX,IAAIY,YAAY,EAAE;oBAElB,mBAAmB;oBACnBT,MAAMU,IAAI,CAACC,OAAO,CAAC,CAACC;wBAClB,IAAI,UAAUA,KAAK;4BACjBH,UAAUN,IAAI,CAAC;gCACbC,MAAMQ,IAAIR,IAAI;gCACdF,MAAMF,MAAME,IAAI;gCAChBL,QAAQD,kBAAkBgB,IAAIf,MAAM;4BACtC;4BACA;wBACF;wBAEAY,YAAYA,UAAUD,MAAM,CAACZ,kBAAkBgB,IAAIf,MAAM;oBAC3D;oBAEAI,SAASA,OAAOO,MAAM,CAACC;oBAEvB;gBACF;YAEA,KAAK;YACL,KAAK;gBACHV,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChBW,SAAS,aAAab,QAAQc,QAAQd,MAAMa,OAAO,IAAI;oBACvD,mBAAmB;oBACnBE,YAAYf,MAAMe,UAAU;gBAC9B;gBAEA;YAEF;gBACE,IAAI,UAAUf,OAAO;oBACnBD,IAAII,IAAI,CAAC;wBACPC,MAAMJ,MAAMI,IAAI;wBAChBF,MAAMF,MAAME,IAAI;oBAClB;gBACF;QACJ;QAEA,OAAOD;IACT,GAAG,EAAE;AACP,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/fieldSchemaToJSON.ts"],"sourcesContent":["import type { FieldTypes } from '../admin/forms/FieldTypes.js'\nimport type { ClientFieldConfig } from '../fields/config/client.js'\n\nexport type FieldSchemaJSON = {\n blocks?: FieldSchemaJSON // TODO: conditionally add based on `type`\n fields?: FieldSchemaJSON // TODO: conditionally add based on `type`\n hasMany?: boolean // TODO: conditionally add based on `type`\n name: string\n relationTo?: string // TODO: conditionally add based on `type`\n slug?: string // TODO: conditionally add based on `type`\n type: keyof FieldTypes\n}[]\n\nexport const fieldSchemaToJSON = (fields: ClientFieldConfig[]): FieldSchemaJSON => {\n return fields.reduce((acc, field) => {\n let result = acc\n\n switch (field.type) {\n case 'group':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n // @ts-expect-error\n fields: fieldSchemaToJSON(field.fields),\n })\n\n break\n\n case 'array':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n fields: fieldSchemaToJSON([\n // @ts-expect-error\n ...field.fields,\n {\n name: 'id',\n type: 'text',\n },\n ]),\n })\n\n break\n\n case 'blocks':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n // @ts-expect-error\n blocks: field.blocks.reduce((acc, block) => {\n acc[block.slug] = {\n fields: fieldSchemaToJSON([\n ...block.fields,\n {\n name: 'id',\n type: 'text',\n },\n ]),\n }\n\n return acc\n }, {}),\n })\n\n break\n\n case 'row':\n case 'collapsible':\n // @ts-expect-error\n result = result.concat(fieldSchemaToJSON(field.fields))\n break\n\n case 'tabs': {\n let tabFields = []\n\n // @ts-expect-error\n field.tabs.forEach((tab) => {\n if ('name' in tab) {\n tabFields.push({\n name: tab.name,\n type: field.type,\n fields: fieldSchemaToJSON(tab.fields),\n })\n return\n }\n\n tabFields = tabFields.concat(fieldSchemaToJSON(tab.fields))\n })\n\n result = result.concat(tabFields)\n\n break\n }\n\n case 'relationship':\n case 'upload':\n acc.push({\n // @ts-expect-error\n name: field.name,\n type: field.type,\n hasMany: 'hasMany' in field ? Boolean(field.hasMany) : false, // TODO: type this\n // @ts-expect-error\n relationTo: field.relationTo,\n })\n\n break\n\n default:\n if ('name' in field) {\n acc.push({\n name: field.name,\n type: field.type,\n })\n }\n }\n\n return result\n }, [])\n}\n"],"names":["fieldSchemaToJSON","fields","reduce","acc","field","result","type","push","name","blocks","block","slug","concat","tabFields","tabs","forEach","tab","hasMany","Boolean","relationTo"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAaA,OAAO,MAAMA,oBAAoB,CAACC;IAChC,OAAOA,OAAOC,MAAM,CAAC,CAACC,KAAKC;QACzB,IAAIC,SAASF;QAEb,OAAQC,MAAME,IAAI;YAChB,KAAK;gBACHH,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChB,mBAAmB;oBACnBL,QAAQD,kBAAkBI,MAAMH,MAAM;gBACxC;gBAEA;YAEF,KAAK;gBACHE,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChBL,QAAQD,kBAAkB;wBACxB,mBAAmB;2BAChBI,MAAMH,MAAM;wBACf;4BACEO,MAAM;4BACNF,MAAM;wBACR;qBACD;gBACH;gBAEA;YAEF,KAAK;gBACHH,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChB,mBAAmB;oBACnBG,QAAQL,MAAMK,MAAM,CAACP,MAAM,CAAC,CAACC,KAAKO;wBAChCP,GAAG,CAACO,MAAMC,IAAI,CAAC,GAAG;4BAChBV,QAAQD,kBAAkB;mCACrBU,MAAMT,MAAM;gCACf;oCACEO,MAAM;oCACNF,MAAM;gCACR;6BACD;wBACH;wBAEA,OAAOH;oBACT,GAAG,CAAC;gBACN;gBAEA;YAEF,KAAK;YACL,KAAK;gBACH,mBAAmB;gBACnBE,SAASA,OAAOO,MAAM,CAACZ,kBAAkBI,MAAMH,MAAM;gBACrD;YAEF,KAAK;gBAAQ;oBACX,IAAIY,YAAY,EAAE;oBAElB,mBAAmB;oBACnBT,MAAMU,IAAI,CAACC,OAAO,CAAC,CAACC;wBAClB,IAAI,UAAUA,KAAK;4BACjBH,UAAUN,IAAI,CAAC;gCACbC,MAAMQ,IAAIR,IAAI;gCACdF,MAAMF,MAAME,IAAI;gCAChBL,QAAQD,kBAAkBgB,IAAIf,MAAM;4BACtC;4BACA;wBACF;wBAEAY,YAAYA,UAAUD,MAAM,CAACZ,kBAAkBgB,IAAIf,MAAM;oBAC3D;oBAEAI,SAASA,OAAOO,MAAM,CAACC;oBAEvB;gBACF;YAEA,KAAK;YACL,KAAK;gBACHV,IAAII,IAAI,CAAC;oBACP,mBAAmB;oBACnBC,MAAMJ,MAAMI,IAAI;oBAChBF,MAAMF,MAAME,IAAI;oBAChBW,SAAS,aAAab,QAAQc,QAAQd,MAAMa,OAAO,IAAI;oBACvD,mBAAmB;oBACnBE,YAAYf,MAAMe,UAAU;gBAC9B;gBAEA;YAEF;gBACE,IAAI,UAAUf,OAAO;oBACnBD,IAAII,IAAI,CAAC;wBACPC,MAAMJ,MAAMI,IAAI;wBAChBF,MAAMF,MAAME,IAAI;oBAClB;gBACF;QACJ;QAEA,OAAOD;IACT,GAAG,EAAE;AACP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/flattenTopLevelFields.ts"],"sourcesContent":["import type { ClientFieldConfig } from '../fields/config/client.js'\nimport type { Field, FieldAffectingData, FieldPresentationalOnly } from '../fields/config/types.js'\n\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsPresentationalOnly,\n tabHasName,\n} from '../fields/config/types.js'\n\n/**\n * Flattens a collection's fields into a single array of fields, as long\n * as the fields do not affect data.\n *\n * @param fields\n * @param keepPresentationalFields if true, will skip flattening fields that are presentational only\n */\nconst flattenFields = (\n fields: (ClientFieldConfig | Field)[],\n keepPresentationalFields?: boolean,\n): (FieldAffectingData | FieldPresentationalOnly)[] => {\n return fields.reduce((fieldsToUse, field) => {\n if (fieldAffectsData(field) || (keepPresentationalFields && fieldIsPresentationalOnly(field))) {\n return [...fieldsToUse, field]\n }\n\n if (fieldHasSubFields(field)) {\n return [...fieldsToUse, ...flattenFields(field.fields, keepPresentationalFields)]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n return [\n ...tabFields,\n ...(tabHasName(tab)\n ? [{ ...tab, type: 'tab' }]\n : flattenFields(tab.fields, keepPresentationalFields)),\n ]\n }, []),\n ]\n }\n\n return fieldsToUse\n }, [])\n}\n\nexport default flattenFields\n"],"names":["fieldAffectsData","fieldHasSubFields","fieldIsPresentationalOnly","tabHasName","flattenFields","fields","keepPresentationalFields","reduce","fieldsToUse","field","type","tabs","tabFields","tab"],"mappings":"AAGA,SACEA,gBAAgB,EAChBC,iBAAiB,EACjBC,yBAAyB,EACzBC,UAAU,QACL,4BAA2B;AAElC;;;;;;CAMC,GACD,MAAMC,gBAAgB,CACpBC,QACAC;IAEA,OAAOD,OAAOE,MAAM,CAAC,CAACC,aAAaC;QACjC,IAAIT,iBAAiBS,UAAWH,4BAA4BJ,0BAA0BO,QAAS;YAC7F,OAAO;mBAAID;gBAAaC;aAAM;QAChC;QAEA,IAAIR,kBAAkBQ,QAAQ;YAC5B,OAAO;mBAAID;mBAAgBJ,cAAcK,MAAMJ,MAAM,EAAEC;aAA0B;QACnF;QAEA,IAAIG,MAAMC,IAAI,KAAK,UAAU,UAAUD,OAAO;YAC5C,OAAO;mBACFD;mBACAC,MAAME,IAAI,CAACJ,MAAM,CAAC,CAACK,WAAWC;oBAC/B,OAAO;2BACFD;2BACCT,WAAWU,OACX;4BAAC;gCAAE,GAAGA,GAAG;gCAAEH,MAAM;4BAAM;yBAAE,GACzBN,cAAcS,IAAIR,MAAM,EAAEC;qBAC/B;gBACH,GAAG,EAAE;aACN;QACH;QAEA,OAAOE;IACT,GAAG,EAAE;AACP;AAEA,eAAeJ,cAAa"}
1
+ {"version":3,"sources":["../../src/utilities/flattenTopLevelFields.ts"],"sourcesContent":["import type { ClientFieldConfig } from '../fields/config/client.js'\nimport type { Field, FieldAffectingData, FieldPresentationalOnly } from '../fields/config/types.js'\n\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldIsPresentationalOnly,\n tabHasName,\n} from '../fields/config/types.js'\n\n/**\n * Flattens a collection's fields into a single array of fields, as long\n * as the fields do not affect data.\n *\n * @param fields\n * @param keepPresentationalFields if true, will skip flattening fields that are presentational only\n */\nconst flattenFields = (\n fields: (ClientFieldConfig | Field)[],\n keepPresentationalFields?: boolean,\n): (FieldAffectingData | FieldPresentationalOnly)[] => {\n return fields.reduce((fieldsToUse, field) => {\n if (fieldAffectsData(field) || (keepPresentationalFields && fieldIsPresentationalOnly(field))) {\n return [...fieldsToUse, field]\n }\n\n if (fieldHasSubFields(field)) {\n return [...fieldsToUse, ...flattenFields(field.fields, keepPresentationalFields)]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n return [\n ...tabFields,\n ...(tabHasName(tab)\n ? [{ ...tab, type: 'tab' }]\n : flattenFields(tab.fields, keepPresentationalFields)),\n ]\n }, []),\n ]\n }\n\n return fieldsToUse\n }, [])\n}\n\nexport default flattenFields\n"],"names":["fieldAffectsData","fieldHasSubFields","fieldIsPresentationalOnly","tabHasName","flattenFields","fields","keepPresentationalFields","reduce","fieldsToUse","field","type","tabs","tabFields","tab"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SACEA,gBAAgB,EAChBC,iBAAiB,EACjBC,yBAAyB,EACzBC,UAAU,QACL,4BAA2B;AAElC;;;;;;CAMC,GACD,MAAMC,gBAAgB,CACpBC,QACAC;IAEA,OAAOD,OAAOE,MAAM,CAAC,CAACC,aAAaC;QACjC,IAAIT,iBAAiBS,UAAWH,4BAA4BJ,0BAA0BO,QAAS;YAC7F,OAAO;mBAAID;gBAAaC;aAAM;QAChC;QAEA,IAAIR,kBAAkBQ,QAAQ;YAC5B,OAAO;mBAAID;mBAAgBJ,cAAcK,MAAMJ,MAAM,EAAEC;aAA0B;QACnF;QAEA,IAAIG,MAAMC,IAAI,KAAK,UAAU,UAAUD,OAAO;YAC5C,OAAO;mBACFD;mBACAC,MAAME,IAAI,CAACJ,MAAM,CAAC,CAACK,WAAWC;oBAC/B,OAAO;2BACFD;2BACCT,WAAWU,OACX;4BAAC;gCAAE,GAAGA,GAAG;gCAAEH,MAAM;4BAAM;yBAAE,GACzBN,cAAcS,IAAIR,MAAM,EAAEC;qBAC/B;gBACH,GAAG,EAAE;aACN;QACH;QAEA,OAAOE;IACT,GAAG,EAAE;AACP;AAEA,eAAeJ,cAAa"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/formatLabels.ts"],"sourcesContent":["import pluralize from 'pluralize'\nconst { isPlural, singular } = pluralize\n\nconst capitalizeFirstLetter = (string: string): string =>\n string.charAt(0).toUpperCase() + string.slice(1)\n\nconst toWords = (inputString: string, joinWords = false): string => {\n const notNullString = inputString || ''\n const trimmedString = notNullString.trim()\n const arrayOfStrings = trimmedString.split(/[\\s-]/)\n\n const splitStringsArray = []\n arrayOfStrings.forEach((tempString) => {\n if (tempString !== '') {\n const splitWords = tempString.split(/(?=[A-Z])/).join(' ')\n splitStringsArray.push(capitalizeFirstLetter(splitWords))\n }\n })\n\n return joinWords ? splitStringsArray.join('').replace(/\\s/g, '') : splitStringsArray.join(' ')\n}\n\nconst formatLabels = (slug: string): { plural: string; singular: string } => {\n const words = toWords(slug)\n return isPlural(slug)\n ? {\n plural: words,\n singular: singular(words),\n }\n : {\n plural: pluralize(words),\n singular: words,\n }\n}\n\nconst formatNames = (slug: string): { plural: string; singular: string } => {\n const words = toWords(slug, true)\n return isPlural(slug)\n ? {\n plural: words,\n singular: singular(words),\n }\n : {\n plural: pluralize(words),\n singular: words,\n }\n}\n\nexport { formatLabels, formatNames, toWords }\n"],"names":["pluralize","isPlural","singular","capitalizeFirstLetter","string","charAt","toUpperCase","slice","toWords","inputString","joinWords","notNullString","trimmedString","trim","arrayOfStrings","split","splitStringsArray","forEach","tempString","splitWords","join","push","replace","formatLabels","slug","words","plural","formatNames"],"mappings":"AAAA,OAAOA,eAAe,YAAW;AACjC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,GAAGF;AAE/B,MAAMG,wBAAwB,CAACC,SAC7BA,OAAOC,MAAM,CAAC,GAAGC,WAAW,KAAKF,OAAOG,KAAK,CAAC;AAEhD,MAAMC,UAAU,CAACC,aAAqBC,YAAY,KAAK;IACrD,MAAMC,gBAAgBF,eAAe;IACrC,MAAMG,gBAAgBD,cAAcE,IAAI;IACxC,MAAMC,iBAAiBF,cAAcG,KAAK,CAAC;IAE3C,MAAMC,oBAAoB,EAAE;IAC5BF,eAAeG,OAAO,CAAC,CAACC;QACtB,IAAIA,eAAe,IAAI;YACrB,MAAMC,aAAaD,WAAWH,KAAK,CAAC,aAAaK,IAAI,CAAC;YACtDJ,kBAAkBK,IAAI,CAAClB,sBAAsBgB;QAC/C;IACF;IAEA,OAAOT,YAAYM,kBAAkBI,IAAI,CAAC,IAAIE,OAAO,CAAC,OAAO,MAAMN,kBAAkBI,IAAI,CAAC;AAC5F;AAEA,MAAMG,eAAe,CAACC;IACpB,MAAMC,QAAQjB,QAAQgB;IACtB,OAAOvB,SAASuB,QACZ;QACEE,QAAQD;QACRvB,UAAUA,SAASuB;IACrB,IACA;QACEC,QAAQ1B,UAAUyB;QAClBvB,UAAUuB;IACZ;AACN;AAEA,MAAME,cAAc,CAACH;IACnB,MAAMC,QAAQjB,QAAQgB,MAAM;IAC5B,OAAOvB,SAASuB,QACZ;QACEE,QAAQD;QACRvB,UAAUA,SAASuB;IACrB,IACA;QACEC,QAAQ1B,UAAUyB;QAClBvB,UAAUuB;IACZ;AACN;AAEA,SAASF,YAAY,EAAEI,WAAW,EAAEnB,OAAO,GAAE"}
1
+ {"version":3,"sources":["../../src/utilities/formatLabels.ts"],"sourcesContent":["import pluralize from 'pluralize'\nconst { isPlural, singular } = pluralize\n\nconst capitalizeFirstLetter = (string: string): string =>\n string.charAt(0).toUpperCase() + string.slice(1)\n\nconst toWords = (inputString: string, joinWords = false): string => {\n const notNullString = inputString || ''\n const trimmedString = notNullString.trim()\n const arrayOfStrings = trimmedString.split(/[\\s-]/)\n\n const splitStringsArray = []\n arrayOfStrings.forEach((tempString) => {\n if (tempString !== '') {\n const splitWords = tempString.split(/(?=[A-Z])/).join(' ')\n splitStringsArray.push(capitalizeFirstLetter(splitWords))\n }\n })\n\n return joinWords ? splitStringsArray.join('').replace(/\\s/g, '') : splitStringsArray.join(' ')\n}\n\nconst formatLabels = (slug: string): { plural: string; singular: string } => {\n const words = toWords(slug)\n return isPlural(slug)\n ? {\n plural: words,\n singular: singular(words),\n }\n : {\n plural: pluralize(words),\n singular: words,\n }\n}\n\nconst formatNames = (slug: string): { plural: string; singular: string } => {\n const words = toWords(slug, true)\n return isPlural(slug)\n ? {\n plural: words,\n singular: singular(words),\n }\n : {\n plural: pluralize(words),\n singular: words,\n }\n}\n\nexport { formatLabels, formatNames, toWords }\n"],"names":["pluralize","isPlural","singular","capitalizeFirstLetter","string","charAt","toUpperCase","slice","toWords","inputString","joinWords","notNullString","trimmedString","trim","arrayOfStrings","split","splitStringsArray","forEach","tempString","splitWords","join","push","replace","formatLabels","slug","words","plural","formatNames"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,eAAe,YAAW;AACjC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,GAAGF;AAE/B,MAAMG,wBAAwB,CAACC,SAC7BA,OAAOC,MAAM,CAAC,GAAGC,WAAW,KAAKF,OAAOG,KAAK,CAAC;AAEhD,MAAMC,UAAU,CAACC,aAAqBC,YAAY,KAAK;IACrD,MAAMC,gBAAgBF,eAAe;IACrC,MAAMG,gBAAgBD,cAAcE,IAAI;IACxC,MAAMC,iBAAiBF,cAAcG,KAAK,CAAC;IAE3C,MAAMC,oBAAoB,EAAE;IAC5BF,eAAeG,OAAO,CAAC,CAACC;QACtB,IAAIA,eAAe,IAAI;YACrB,MAAMC,aAAaD,WAAWH,KAAK,CAAC,aAAaK,IAAI,CAAC;YACtDJ,kBAAkBK,IAAI,CAAClB,sBAAsBgB;QAC/C;IACF;IAEA,OAAOT,YAAYM,kBAAkBI,IAAI,CAAC,IAAIE,OAAO,CAAC,OAAO,MAAMN,kBAAkBI,IAAI,CAAC;AAC5F;AAEA,MAAMG,eAAe,CAACC;IACpB,MAAMC,QAAQjB,QAAQgB;IACtB,OAAOvB,SAASuB,QACZ;QACEE,QAAQD;QACRvB,UAAUA,SAASuB;IACrB,IACA;QACEC,QAAQ1B,UAAUyB;QAClBvB,UAAUuB;IACZ;AACN;AAEA,MAAME,cAAc,CAACH;IACnB,MAAMC,QAAQjB,QAAQgB,MAAM;IAC5B,OAAOvB,SAASuB,QACZ;QACEE,QAAQD;QACRvB,UAAUA,SAASuB;IACrB,IACA;QACEC,QAAQ1B,UAAUyB;QAClBvB,UAAUuB;IACZ;AACN;AAEA,SAASF,YAAY,EAAEI,WAAW,EAAEnB,OAAO,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/formatLabels.spec.ts"],"sourcesContent":["import { formatLabels, toWords } from './formatLabels'\n\ndescribe('formatLabels', () => {\n it('should format singular slug', () => {\n expect(formatLabels('word')).toMatchObject({\n plural: 'Words',\n singular: 'Word',\n })\n })\n\n it('should format plural slug', () => {\n expect(formatLabels('words')).toMatchObject({\n plural: 'Words',\n singular: 'Word',\n })\n })\n\n it('should format kebab case', () => {\n expect(formatLabels('my-slugs')).toMatchObject({\n plural: 'My Slugs',\n singular: 'My Slug',\n })\n })\n\n it('should format camelCase', () => {\n expect(formatLabels('camelCaseItems')).toMatchObject({\n plural: 'Camel Case Items',\n singular: 'Camel Case Item',\n })\n })\n\n describe('toWords', () => {\n it('should convert camel to capitalized words', () => {\n expect(toWords('camelCaseItems')).toBe('Camel Case Items')\n })\n\n it('should allow no separator (used for building GraphQL label from name)', () => {\n expect(toWords('myGraphField', true)).toBe('MyGraphField')\n })\n })\n})\n"],"names":["formatLabels","toWords","describe","it","expect","toMatchObject","plural","singular","toBe"],"mappings":"AAAA,SAASA,YAAY,EAAEC,OAAO,QAAQ,iBAAgB;AAEtDC,SAAS,gBAAgB;IACvBC,GAAG,+BAA+B;QAChCC,OAAOJ,aAAa,SAASK,aAAa,CAAC;YACzCC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAJ,GAAG,6BAA6B;QAC9BC,OAAOJ,aAAa,UAAUK,aAAa,CAAC;YAC1CC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAJ,GAAG,4BAA4B;QAC7BC,OAAOJ,aAAa,aAAaK,aAAa,CAAC;YAC7CC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAJ,GAAG,2BAA2B;QAC5BC,OAAOJ,aAAa,mBAAmBK,aAAa,CAAC;YACnDC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAL,SAAS,WAAW;QAClBC,GAAG,6CAA6C;YAC9CC,OAAOH,QAAQ,mBAAmBO,IAAI,CAAC;QACzC;QAEAL,GAAG,yEAAyE;YAC1EC,OAAOH,QAAQ,gBAAgB,OAAOO,IAAI,CAAC;QAC7C;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/formatLabels.spec.ts"],"sourcesContent":["import { formatLabels, toWords } from './formatLabels'\n\ndescribe('formatLabels', () => {\n it('should format singular slug', () => {\n expect(formatLabels('word')).toMatchObject({\n plural: 'Words',\n singular: 'Word',\n })\n })\n\n it('should format plural slug', () => {\n expect(formatLabels('words')).toMatchObject({\n plural: 'Words',\n singular: 'Word',\n })\n })\n\n it('should format kebab case', () => {\n expect(formatLabels('my-slugs')).toMatchObject({\n plural: 'My Slugs',\n singular: 'My Slug',\n })\n })\n\n it('should format camelCase', () => {\n expect(formatLabels('camelCaseItems')).toMatchObject({\n plural: 'Camel Case Items',\n singular: 'Camel Case Item',\n })\n })\n\n describe('toWords', () => {\n it('should convert camel to capitalized words', () => {\n expect(toWords('camelCaseItems')).toBe('Camel Case Items')\n })\n\n it('should allow no separator (used for building GraphQL label from name)', () => {\n expect(toWords('myGraphField', true)).toBe('MyGraphField')\n })\n })\n})\n"],"names":["formatLabels","toWords","describe","it","expect","toMatchObject","plural","singular","toBe"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,YAAY,EAAEC,OAAO,QAAQ,iBAAgB;AAEtDC,SAAS,gBAAgB;IACvBC,GAAG,+BAA+B;QAChCC,OAAOJ,aAAa,SAASK,aAAa,CAAC;YACzCC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAJ,GAAG,6BAA6B;QAC9BC,OAAOJ,aAAa,UAAUK,aAAa,CAAC;YAC1CC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAJ,GAAG,4BAA4B;QAC7BC,OAAOJ,aAAa,aAAaK,aAAa,CAAC;YAC7CC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAJ,GAAG,2BAA2B;QAC5BC,OAAOJ,aAAa,mBAAmBK,aAAa,CAAC;YACnDC,QAAQ;YACRC,UAAU;QACZ;IACF;IAEAL,SAAS,WAAW;QAClBC,GAAG,6CAA6C;YAC9CC,OAAOH,QAAQ,mBAAmBO,IAAI,CAAC;QACzC;QAEAL,GAAG,yEAAyE;YAC1EC,OAAOH,QAAQ,gBAAgB,OAAOO,IAAI,CAAC;QAC7C;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getCSSVariable.ts"],"sourcesContent":["export default (variable) =>\n getComputedStyle(document.documentElement).getPropertyValue(`--${variable}`)\n"],"names":["variable","getComputedStyle","document","documentElement","getPropertyValue"],"mappings":"AAAA,eAAe,CAAA,CAACA,WACdC,iBAAiBC,SAASC,eAAe,EAAEC,gBAAgB,CAAC,CAAC,EAAE,EAAEJ,SAAS,CAAC,CAAA,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getCSSVariable.ts"],"sourcesContent":["export default (variable) =>\n getComputedStyle(document.documentElement).getPropertyValue(`--${variable}`)\n"],"names":["variable","getComputedStyle","document","documentElement","getPropertyValue"],"rangeMappings":"","mappings":"AAAA,eAAe,CAAA,CAACA,WACdC,iBAAiBC,SAASC,eAAe,EAAEC,gBAAgB,CAAC,CAAC,EAAE,EAAEJ,SAAS,CAAC,CAAA,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getCollectionIDFieldTypes.ts"],"sourcesContent":["import type { SanitizedConfig } from '../config/types.js'\n\n/**\n * While the default ID is determined by the db adapter, it can still differ for a collection if they\n * define a custom ID field. This builds a map of collection slugs to their ID field type.\n * @param defaultIDType as defined by the database adapter\n */\nexport function getCollectionIDFieldTypes({\n config,\n defaultIDType,\n}: {\n config: SanitizedConfig\n defaultIDType: 'number' | 'text'\n}): { [key: string]: 'number' | 'string' } {\n return config.collections.reduce((acc, collection) => {\n const customCollectionIdField = collection.fields.find(\n (field) => 'name' in field && field.name === 'id',\n )\n\n acc[collection.slug] = defaultIDType === 'text' ? 'string' : 'number'\n\n if (customCollectionIdField) {\n acc[collection.slug] = customCollectionIdField.type === 'number' ? 'number' : 'string'\n }\n\n return acc\n }, {})\n}\n"],"names":["getCollectionIDFieldTypes","config","defaultIDType","collections","reduce","acc","collection","customCollectionIdField","fields","find","field","name","slug","type"],"mappings":"AAEA;;;;CAIC,GACD,OAAO,SAASA,0BAA0B,EACxCC,MAAM,EACNC,aAAa,EAId;IACC,OAAOD,OAAOE,WAAW,CAACC,MAAM,CAAC,CAACC,KAAKC;QACrC,MAAMC,0BAA0BD,WAAWE,MAAM,CAACC,IAAI,CACpD,CAACC,QAAU,UAAUA,SAASA,MAAMC,IAAI,KAAK;QAG/CN,GAAG,CAACC,WAAWM,IAAI,CAAC,GAAGV,kBAAkB,SAAS,WAAW;QAE7D,IAAIK,yBAAyB;YAC3BF,GAAG,CAACC,WAAWM,IAAI,CAAC,GAAGL,wBAAwBM,IAAI,KAAK,WAAW,WAAW;QAChF;QAEA,OAAOR;IACT,GAAG,CAAC;AACN"}
1
+ {"version":3,"sources":["../../src/utilities/getCollectionIDFieldTypes.ts"],"sourcesContent":["import type { SanitizedConfig } from '../config/types.js'\n\n/**\n * While the default ID is determined by the db adapter, it can still differ for a collection if they\n * define a custom ID field. This builds a map of collection slugs to their ID field type.\n * @param defaultIDType as defined by the database adapter\n */\nexport function getCollectionIDFieldTypes({\n config,\n defaultIDType,\n}: {\n config: SanitizedConfig\n defaultIDType: 'number' | 'text'\n}): { [key: string]: 'number' | 'string' } {\n return config.collections.reduce((acc, collection) => {\n const customCollectionIdField = collection.fields.find(\n (field) => 'name' in field && field.name === 'id',\n )\n\n acc[collection.slug] = defaultIDType === 'text' ? 'string' : 'number'\n\n if (customCollectionIdField) {\n acc[collection.slug] = customCollectionIdField.type === 'number' ? 'number' : 'string'\n }\n\n return acc\n }, {})\n}\n"],"names":["getCollectionIDFieldTypes","config","defaultIDType","collections","reduce","acc","collection","customCollectionIdField","fields","find","field","name","slug","type"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAEA;;;;CAIC,GACD,OAAO,SAASA,0BAA0B,EACxCC,MAAM,EACNC,aAAa,EAId;IACC,OAAOD,OAAOE,WAAW,CAACC,MAAM,CAAC,CAACC,KAAKC;QACrC,MAAMC,0BAA0BD,WAAWE,MAAM,CAACC,IAAI,CACpD,CAACC,QAAU,UAAUA,SAASA,MAAMC,IAAI,KAAK;QAG/CN,GAAG,CAACC,WAAWM,IAAI,CAAC,GAAGV,kBAAkB,SAAS,WAAW;QAE7D,IAAIK,yBAAyB;YAC3BF,GAAG,CAACC,WAAWM,IAAI,CAAC,GAAGL,wBAAwBM,IAAI,KAAK,WAAW,WAAW;QAChF;QAEA,OAAOR;IACT,GAAG,CAAC;AACN"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getEntityPolicies.ts"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from '../auth/types.js'\nimport type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { Access } from '../config/types.js'\nimport type { FieldAccess } from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { AllOperations, Document, PayloadRequest, Where } from '../types/index.js'\n\nimport { tabHasName } from '../fields/config/types.js'\n\ntype Args = {\n entity: SanitizedCollectionConfig | SanitizedGlobalConfig\n id?: number | string\n operations: AllOperations[]\n req: PayloadRequest\n type: 'collection' | 'global'\n}\n\ntype ReturnType<T extends Args> = T['type'] extends 'global'\n ? GlobalPermission\n : CollectionPermission\n\ntype CreateAccessPromise = (args: {\n access: Access | FieldAccess\n accessLevel: 'entity' | 'field'\n disableWhere?: boolean\n operation: AllOperations\n policiesObj: {\n [key: string]: any\n }\n}) => Promise<void>\n\nexport async function getEntityPolicies<T extends Args>(args: T): Promise<ReturnType<T>> {\n const { id, type, entity, operations, req } = args\n const { data, payload, user } = req\n const isLoggedIn = !!user\n\n const policies = {\n fields: {},\n } as ReturnType<T>\n\n let docBeingAccessed\n\n async function getEntityDoc({ where }: { where?: Where } = {}): Promise<TypeWithID & Document> {\n if (entity.slug) {\n if (type === 'global') {\n return payload.findGlobal({\n slug: entity.slug,\n overrideAccess: true,\n req,\n })\n }\n\n if (type === 'collection' && id) {\n if (typeof where === 'object') {\n const paginatedRes = await payload.find({\n collection: entity.slug,\n depth: 0,\n limit: 1,\n overrideAccess: true,\n pagination: false,\n req,\n where: {\n ...where,\n and: [\n ...(where.and || []),\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n\n return paginatedRes?.docs?.[0] || undefined\n }\n\n return payload.findByID({\n id,\n collection: entity.slug,\n depth: 0,\n overrideAccess: true,\n req,\n })\n }\n }\n\n return undefined\n }\n\n const createAccessPromise: CreateAccessPromise = async ({\n access,\n accessLevel,\n disableWhere = false,\n operation,\n policiesObj,\n }) => {\n const mutablePolicies = policiesObj\n\n if (accessLevel === 'field' && docBeingAccessed === undefined) {\n // assign docBeingAccessed first as the promise to avoid multiple calls to getEntityDoc\n docBeingAccessed = getEntityDoc().then((doc) => {\n docBeingAccessed = doc\n })\n }\n // awaiting the promise to ensure docBeingAccessed is assigned before it is used\n await docBeingAccessed\n\n // https://payloadcms.slack.com/archives/C048Z9C2BEX/p1702054928343769\n const accessResult = await access({ id, data, doc: docBeingAccessed, req })\n\n if (typeof accessResult === 'object' && !disableWhere) {\n mutablePolicies[operation] = {\n permission:\n id || type === 'global' ? !!(await getEntityDoc({ where: accessResult })) : true,\n where: accessResult,\n }\n } else if (mutablePolicies[operation]?.permission !== false) {\n mutablePolicies[operation] = {\n permission: !!accessResult,\n }\n }\n }\n\n const executeFieldPolicies = async ({ entityPermission, fields, operation, policiesObj }) => {\n const mutablePolicies = policiesObj.fields\n\n await Promise.all(\n fields.map(async (field) => {\n if (field.name) {\n if (!mutablePolicies[field.name]) mutablePolicies[field.name] = {}\n\n if (field.access && typeof field.access[operation] === 'function') {\n await createAccessPromise({\n access: field.access[operation],\n accessLevel: 'field',\n disableWhere: true,\n operation,\n policiesObj: mutablePolicies[field.name],\n })\n } else {\n mutablePolicies[field.name][operation] = {\n permission: policiesObj[operation]?.permission,\n }\n }\n\n if (field.fields) {\n if (!mutablePolicies[field.name].fields) mutablePolicies[field.name].fields = {}\n\n await executeFieldPolicies({\n entityPermission,\n fields: field.fields,\n operation,\n policiesObj: mutablePolicies[field.name],\n })\n }\n\n if (field?.blocks) {\n if (!mutablePolicies[field.name]?.blocks) mutablePolicies[field.name].blocks = {}\n\n await Promise.all(\n field.blocks.map(async (block) => {\n if (!mutablePolicies[field.name].blocks?.[block.slug]) {\n mutablePolicies[field.name].blocks[block.slug] = {\n fields: {},\n [operation]: { permission: entityPermission },\n }\n } else if (!mutablePolicies[field.name].blocks[block.slug][operation]) {\n mutablePolicies[field.name].blocks[block.slug][operation] = {\n permission: entityPermission,\n }\n }\n\n await executeFieldPolicies({\n entityPermission,\n fields: block.fields,\n operation,\n policiesObj: mutablePolicies[field.name].blocks[block.slug],\n })\n }),\n )\n }\n } else if (field.fields) {\n await executeFieldPolicies({\n entityPermission,\n fields: field.fields,\n operation,\n policiesObj,\n })\n } else if (field.type === 'tabs') {\n await Promise.all(\n field.tabs.map(async (tab) => {\n if (tabHasName(tab)) {\n if (!mutablePolicies[tab.name]) {\n mutablePolicies[tab.name] = {\n fields: {},\n [operation]: { permission: entityPermission },\n }\n } else if (!mutablePolicies[tab.name][operation]) {\n mutablePolicies[tab.name][operation] = { permission: entityPermission }\n }\n await executeFieldPolicies({\n entityPermission,\n fields: tab.fields,\n operation,\n policiesObj: mutablePolicies[tab.name],\n })\n } else {\n await executeFieldPolicies({\n entityPermission,\n fields: tab.fields,\n operation,\n policiesObj,\n })\n }\n }),\n )\n }\n }),\n )\n }\n\n await operations.reduce(async (priorOperation, operation) => {\n await priorOperation\n\n let entityAccessPromise: Promise<void>\n\n if (typeof entity.access[operation] === 'function') {\n entityAccessPromise = createAccessPromise({\n access: entity.access[operation],\n accessLevel: 'entity',\n operation,\n policiesObj: policies,\n })\n } else {\n policies[operation] = {\n permission: isLoggedIn,\n }\n }\n\n await entityAccessPromise\n\n await executeFieldPolicies({\n entityPermission: policies[operation].permission,\n fields: entity.fields,\n operation,\n policiesObj: policies,\n })\n }, Promise.resolve())\n\n return policies\n}\n"],"names":["tabHasName","getEntityPolicies","args","id","type","entity","operations","req","data","payload","user","isLoggedIn","policies","fields","docBeingAccessed","getEntityDoc","where","slug","findGlobal","overrideAccess","paginatedRes","find","collection","depth","limit","pagination","and","equals","docs","undefined","findByID","createAccessPromise","access","accessLevel","disableWhere","operation","policiesObj","mutablePolicies","then","doc","accessResult","permission","executeFieldPolicies","entityPermission","Promise","all","map","field","name","blocks","block","tabs","tab","reduce","priorOperation","entityAccessPromise","resolve"],"mappings":"AAOA,SAASA,UAAU,QAAQ,4BAA2B;AAwBtD,OAAO,eAAeC,kBAAkCC,IAAO;IAC7D,MAAM,EAAEC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAEC,GAAG,EAAE,GAAGL;IAC9C,MAAM,EAAEM,IAAI,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAGH;IAChC,MAAMI,aAAa,CAAC,CAACD;IAErB,MAAME,WAAW;QACfC,QAAQ,CAAC;IACX;IAEA,IAAIC;IAEJ,eAAeC,aAAa,EAAEC,KAAK,EAAqB,GAAG,CAAC,CAAC;QAC3D,IAAIX,OAAOY,IAAI,EAAE;YACf,IAAIb,SAAS,UAAU;gBACrB,OAAOK,QAAQS,UAAU,CAAC;oBACxBD,MAAMZ,OAAOY,IAAI;oBACjBE,gBAAgB;oBAChBZ;gBACF;YACF;YAEA,IAAIH,SAAS,gBAAgBD,IAAI;gBAC/B,IAAI,OAAOa,UAAU,UAAU;oBAC7B,MAAMI,eAAe,MAAMX,QAAQY,IAAI,CAAC;wBACtCC,YAAYjB,OAAOY,IAAI;wBACvBM,OAAO;wBACPC,OAAO;wBACPL,gBAAgB;wBAChBM,YAAY;wBACZlB;wBACAS,OAAO;4BACL,GAAGA,KAAK;4BACRU,KAAK;mCACCV,MAAMU,GAAG,IAAI,EAAE;gCACnB;oCACEvB,IAAI;wCACFwB,QAAQxB;oCACV;gCACF;6BACD;wBACH;oBACF;oBAEA,OAAOiB,cAAcQ,MAAM,CAAC,EAAE,IAAIC;gBACpC;gBAEA,OAAOpB,QAAQqB,QAAQ,CAAC;oBACtB3B;oBACAmB,YAAYjB,OAAOY,IAAI;oBACvBM,OAAO;oBACPJ,gBAAgB;oBAChBZ;gBACF;YACF;QACF;QAEA,OAAOsB;IACT;IAEA,MAAME,sBAA2C,OAAO,EACtDC,MAAM,EACNC,WAAW,EACXC,eAAe,KAAK,EACpBC,SAAS,EACTC,WAAW,EACZ;QACC,MAAMC,kBAAkBD;QAExB,IAAIH,gBAAgB,WAAWnB,qBAAqBe,WAAW;YAC7D,uFAAuF;YACvFf,mBAAmBC,eAAeuB,IAAI,CAAC,CAACC;gBACtCzB,mBAAmByB;YACrB;QACF;QACA,gFAAgF;QAChF,MAAMzB;QAEN,sEAAsE;QACtE,MAAM0B,eAAe,MAAMR,OAAO;YAAE7B;YAAIK;YAAM+B,KAAKzB;YAAkBP;QAAI;QAEzE,IAAI,OAAOiC,iBAAiB,YAAY,CAACN,cAAc;YACrDG,eAAe,CAACF,UAAU,GAAG;gBAC3BM,YACEtC,MAAMC,SAAS,WAAW,CAAC,CAAE,MAAMW,aAAa;oBAAEC,OAAOwB;gBAAa,KAAM;gBAC9ExB,OAAOwB;YACT;QACF,OAAO,IAAIH,eAAe,CAACF,UAAU,EAAEM,eAAe,OAAO;YAC3DJ,eAAe,CAACF,UAAU,GAAG;gBAC3BM,YAAY,CAAC,CAACD;YAChB;QACF;IACF;IAEA,MAAME,uBAAuB,OAAO,EAAEC,gBAAgB,EAAE9B,MAAM,EAAEsB,SAAS,EAAEC,WAAW,EAAE;QACtF,MAAMC,kBAAkBD,YAAYvB,MAAM;QAE1C,MAAM+B,QAAQC,GAAG,CACfhC,OAAOiC,GAAG,CAAC,OAAOC;YAChB,IAAIA,MAAMC,IAAI,EAAE;gBACd,IAAI,CAACX,eAAe,CAACU,MAAMC,IAAI,CAAC,EAAEX,eAAe,CAACU,MAAMC,IAAI,CAAC,GAAG,CAAC;gBAEjE,IAAID,MAAMf,MAAM,IAAI,OAAOe,MAAMf,MAAM,CAACG,UAAU,KAAK,YAAY;oBACjE,MAAMJ,oBAAoB;wBACxBC,QAAQe,MAAMf,MAAM,CAACG,UAAU;wBAC/BF,aAAa;wBACbC,cAAc;wBACdC;wBACAC,aAAaC,eAAe,CAACU,MAAMC,IAAI,CAAC;oBAC1C;gBACF,OAAO;oBACLX,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACb,UAAU,GAAG;wBACvCM,YAAYL,WAAW,CAACD,UAAU,EAAEM;oBACtC;gBACF;gBAEA,IAAIM,MAAMlC,MAAM,EAAE;oBAChB,IAAI,CAACwB,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACnC,MAAM,EAAEwB,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACnC,MAAM,GAAG,CAAC;oBAE/E,MAAM6B,qBAAqB;wBACzBC;wBACA9B,QAAQkC,MAAMlC,MAAM;wBACpBsB;wBACAC,aAAaC,eAAe,CAACU,MAAMC,IAAI,CAAC;oBAC1C;gBACF;gBAEA,IAAID,OAAOE,QAAQ;oBACjB,IAAI,CAACZ,eAAe,CAACU,MAAMC,IAAI,CAAC,EAAEC,QAAQZ,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACC,MAAM,GAAG,CAAC;oBAEhF,MAAML,QAAQC,GAAG,CACfE,MAAME,MAAM,CAACH,GAAG,CAAC,OAAOI;wBACtB,IAAI,CAACb,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACC,MAAM,EAAE,CAACC,MAAMjC,IAAI,CAAC,EAAE;4BACrDoB,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACC,MAAM,CAACC,MAAMjC,IAAI,CAAC,GAAG;gCAC/CJ,QAAQ,CAAC;gCACT,CAACsB,UAAU,EAAE;oCAAEM,YAAYE;gCAAiB;4BAC9C;wBACF,OAAO,IAAI,CAACN,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACC,MAAM,CAACC,MAAMjC,IAAI,CAAC,CAACkB,UAAU,EAAE;4BACrEE,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACC,MAAM,CAACC,MAAMjC,IAAI,CAAC,CAACkB,UAAU,GAAG;gCAC1DM,YAAYE;4BACd;wBACF;wBAEA,MAAMD,qBAAqB;4BACzBC;4BACA9B,QAAQqC,MAAMrC,MAAM;4BACpBsB;4BACAC,aAAaC,eAAe,CAACU,MAAMC,IAAI,CAAC,CAACC,MAAM,CAACC,MAAMjC,IAAI,CAAC;wBAC7D;oBACF;gBAEJ;YACF,OAAO,IAAI8B,MAAMlC,MAAM,EAAE;gBACvB,MAAM6B,qBAAqB;oBACzBC;oBACA9B,QAAQkC,MAAMlC,MAAM;oBACpBsB;oBACAC;gBACF;YACF,OAAO,IAAIW,MAAM3C,IAAI,KAAK,QAAQ;gBAChC,MAAMwC,QAAQC,GAAG,CACfE,MAAMI,IAAI,CAACL,GAAG,CAAC,OAAOM;oBACpB,IAAIpD,WAAWoD,MAAM;wBACnB,IAAI,CAACf,eAAe,CAACe,IAAIJ,IAAI,CAAC,EAAE;4BAC9BX,eAAe,CAACe,IAAIJ,IAAI,CAAC,GAAG;gCAC1BnC,QAAQ,CAAC;gCACT,CAACsB,UAAU,EAAE;oCAAEM,YAAYE;gCAAiB;4BAC9C;wBACF,OAAO,IAAI,CAACN,eAAe,CAACe,IAAIJ,IAAI,CAAC,CAACb,UAAU,EAAE;4BAChDE,eAAe,CAACe,IAAIJ,IAAI,CAAC,CAACb,UAAU,GAAG;gCAAEM,YAAYE;4BAAiB;wBACxE;wBACA,MAAMD,qBAAqB;4BACzBC;4BACA9B,QAAQuC,IAAIvC,MAAM;4BAClBsB;4BACAC,aAAaC,eAAe,CAACe,IAAIJ,IAAI,CAAC;wBACxC;oBACF,OAAO;wBACL,MAAMN,qBAAqB;4BACzBC;4BACA9B,QAAQuC,IAAIvC,MAAM;4BAClBsB;4BACAC;wBACF;oBACF;gBACF;YAEJ;QACF;IAEJ;IAEA,MAAM9B,WAAW+C,MAAM,CAAC,OAAOC,gBAAgBnB;QAC7C,MAAMmB;QAEN,IAAIC;QAEJ,IAAI,OAAOlD,OAAO2B,MAAM,CAACG,UAAU,KAAK,YAAY;YAClDoB,sBAAsBxB,oBAAoB;gBACxCC,QAAQ3B,OAAO2B,MAAM,CAACG,UAAU;gBAChCF,aAAa;gBACbE;gBACAC,aAAaxB;YACf;QACF,OAAO;YACLA,QAAQ,CAACuB,UAAU,GAAG;gBACpBM,YAAY9B;YACd;QACF;QAEA,MAAM4C;QAEN,MAAMb,qBAAqB;YACzBC,kBAAkB/B,QAAQ,CAACuB,UAAU,CAACM,UAAU;YAChD5B,QAAQR,OAAOQ,MAAM;YACrBsB;YACAC,aAAaxB;QACf;IACF,GAAGgC,QAAQY,OAAO;IAElB,OAAO5C;AACT"}
1
+ {"version":3,"sources":["../../src/utilities/getEntityPolicies.ts"],"sourcesContent":["import type { CollectionPermission, GlobalPermission } from '../auth/types.js'\nimport type { SanitizedCollectionConfig, TypeWithID } from '../collections/config/types.js'\nimport type { Access } from '../config/types.js'\nimport type { FieldAccess } from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { AllOperations, Document, PayloadRequest, Where } from '../types/index.js'\n\nimport { tabHasName } from '../fields/config/types.js'\n\ntype Args = {\n entity: SanitizedCollectionConfig | SanitizedGlobalConfig\n id?: number | string\n operations: AllOperations[]\n req: PayloadRequest\n type: 'collection' | 'global'\n}\n\ntype ReturnType<T extends Args> = T['type'] extends 'global'\n ? GlobalPermission\n : CollectionPermission\n\ntype CreateAccessPromise = (args: {\n access: Access | FieldAccess\n accessLevel: 'entity' | 'field'\n disableWhere?: boolean\n operation: AllOperations\n policiesObj: {\n [key: string]: any\n }\n}) => Promise<void>\n\nexport async function getEntityPolicies<T extends Args>(args: T): Promise<ReturnType<T>> {\n const { id, type, entity, operations, req } = args\n const { data, payload, user } = req\n const isLoggedIn = !!user\n\n const policies = {\n fields: {},\n } as ReturnType<T>\n\n let docBeingAccessed\n\n async function getEntityDoc({ where }: { where?: Where } = {}): Promise<TypeWithID & Document> {\n if (entity.slug) {\n if (type === 'global') {\n return payload.findGlobal({\n slug: entity.slug,\n overrideAccess: true,\n req,\n })\n }\n\n if (type === 'collection' && id) {\n if (typeof where === 'object') {\n const paginatedRes = await payload.find({\n collection: entity.slug,\n depth: 0,\n limit: 1,\n overrideAccess: true,\n pagination: false,\n req,\n where: {\n ...where,\n and: [\n ...(where.and || []),\n {\n id: {\n equals: id,\n },\n },\n ],\n },\n })\n\n return paginatedRes?.docs?.[0] || undefined\n }\n\n return payload.findByID({\n id,\n collection: entity.slug,\n depth: 0,\n overrideAccess: true,\n req,\n })\n }\n }\n\n return undefined\n }\n\n const createAccessPromise: CreateAccessPromise = async ({\n access,\n accessLevel,\n disableWhere = false,\n operation,\n policiesObj,\n }) => {\n const mutablePolicies = policiesObj\n\n if (accessLevel === 'field' && docBeingAccessed === undefined) {\n // assign docBeingAccessed first as the promise to avoid multiple calls to getEntityDoc\n docBeingAccessed = getEntityDoc().then((doc) => {\n docBeingAccessed = doc\n })\n }\n // awaiting the promise to ensure docBeingAccessed is assigned before it is used\n await docBeingAccessed\n\n // https://payloadcms.slack.com/archives/C048Z9C2BEX/p1702054928343769\n const accessResult = await access({ id, data, doc: docBeingAccessed, req })\n\n if (typeof accessResult === 'object' && !disableWhere) {\n mutablePolicies[operation] = {\n permission:\n id || type === 'global' ? !!(await getEntityDoc({ where: accessResult })) : true,\n where: accessResult,\n }\n } else if (mutablePolicies[operation]?.permission !== false) {\n mutablePolicies[operation] = {\n permission: !!accessResult,\n }\n }\n }\n\n const executeFieldPolicies = async ({ entityPermission, fields, operation, policiesObj }) => {\n const mutablePolicies = policiesObj.fields\n\n await Promise.all(\n fields.map(async (field) => {\n if (field.name) {\n if (!mutablePolicies[field.name]) mutablePolicies[field.name] = {}\n\n if (field.access && typeof field.access[operation] === 'function') {\n await createAccessPromise({\n access: field.access[operation],\n accessLevel: 'field',\n disableWhere: true,\n operation,\n policiesObj: mutablePolicies[field.name],\n })\n } else {\n mutablePolicies[field.name][operation] = {\n permission: policiesObj[operation]?.permission,\n }\n }\n\n if (field.fields) {\n if (!mutablePolicies[field.name].fields) mutablePolicies[field.name].fields = {}\n\n await executeFieldPolicies({\n entityPermission,\n fields: field.fields,\n operation,\n policiesObj: mutablePolicies[field.name],\n })\n }\n\n if (field?.blocks) {\n if (!mutablePolicies[field.name]?.blocks) mutablePolicies[field.name].blocks = {}\n\n await Promise.all(\n field.blocks.map(async (block) => {\n if (!mutablePolicies[field.name].blocks?.[block.slug]) {\n mutablePolicies[field.name].blocks[block.slug] = {\n fields: {},\n [operation]: { permission: entityPermission },\n }\n } else if (!mutablePolicies[field.name].blocks[block.slug][operation]) {\n mutablePolicies[field.name].blocks[block.slug][operation] = {\n permission: entityPermission,\n }\n }\n\n await executeFieldPolicies({\n entityPermission,\n fields: block.fields,\n operation,\n policiesObj: mutablePolicies[field.name].blocks[block.slug],\n })\n }),\n )\n }\n } else if (field.fields) {\n await executeFieldPolicies({\n entityPermission,\n fields: field.fields,\n operation,\n policiesObj,\n })\n } else if (field.type === 'tabs') {\n await Promise.all(\n field.tabs.map(async (tab) => {\n if (tabHasName(tab)) {\n if (!mutablePolicies[tab.name]) {\n mutablePolicies[tab.name] = {\n fields: {},\n [operation]: { permission: entityPermission },\n }\n } else if (!mutablePolicies[tab.name][operation]) {\n mutablePolicies[tab.name][operation] = { permission: entityPermission }\n }\n await executeFieldPolicies({\n entityPermission,\n fields: tab.fields,\n operation,\n policiesObj: mutablePolicies[tab.name],\n })\n } else {\n await executeFieldPolicies({\n entityPermission,\n fields: tab.fields,\n operation,\n policiesObj,\n })\n }\n }),\n )\n }\n }),\n )\n }\n\n await operations.reduce(async (priorOperation, operation) => {\n await priorOperation\n\n let entityAccessPromise: Promise<void>\n\n if (typeof entity.access[operation] === 'function') {\n entityAccessPromise = createAccessPromise({\n access: entity.access[operation],\n accessLevel: 'entity',\n operation,\n policiesObj: policies,\n })\n } else {\n policies[operation] = {\n permission: isLoggedIn,\n }\n }\n\n await entityAccessPromise\n\n await executeFieldPolicies({\n entityPermission: policies[operation].permission,\n fields: entity.fields,\n operation,\n policiesObj: policies,\n })\n }, Promise.resolve())\n\n return policies\n}\n"],"names":["tabHasName","getEntityPolicies","args","id","type","entity","operations","req","data","payload","user","isLoggedIn","policies","fields","docBeingAccessed","getEntityDoc","where","slug","findGlobal","overrideAccess","paginatedRes","find","collection","depth","limit","pagination","and","equals","docs","undefined","findByID","createAccessPromise","access","accessLevel","disableWhere","operation","policiesObj","mutablePolicies","then","doc","accessResult","permission","executeFieldPolicies","entityPermission","Promise","all","map","field","name","blocks","block","tabs","tab","reduce","priorOperation","entityAccessPromise","resolve"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getObjectDotNotation.ts"],"sourcesContent":["export const getObjectDotNotation = <T>(\n obj: Record<string, unknown>,\n path: string,\n defaultValue?: T,\n): T => {\n if (!path || !obj) return defaultValue\n const result = path.split('.').reduce((o, i) => o?.[i], obj)\n return result === undefined ? defaultValue : (result as T)\n}\n"],"names":["getObjectDotNotation","obj","path","defaultValue","result","split","reduce","o","i","undefined"],"mappings":"AAAA,OAAO,MAAMA,uBAAuB,CAClCC,KACAC,MACAC;IAEA,IAAI,CAACD,QAAQ,CAACD,KAAK,OAAOE;IAC1B,MAAMC,SAASF,KAAKG,KAAK,CAAC,KAAKC,MAAM,CAAC,CAACC,GAAGC,IAAMD,GAAG,CAACC,EAAE,EAAEP;IACxD,OAAOG,WAAWK,YAAYN,eAAgBC;AAChD,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/getObjectDotNotation.ts"],"sourcesContent":["export const getObjectDotNotation = <T>(\n obj: Record<string, unknown>,\n path: string,\n defaultValue?: T,\n): T => {\n if (!path || !obj) return defaultValue\n const result = path.split('.').reduce((o, i) => o?.[i], obj)\n return result === undefined ? defaultValue : (result as T)\n}\n"],"names":["getObjectDotNotation","obj","path","defaultValue","result","split","reduce","o","i","undefined"],"rangeMappings":";;;;","mappings":"AAAA,OAAO,MAAMA,uBAAuB,CAClCC,KACAC,MACAC;IAEA,IAAI,CAACD,QAAQ,CAACD,KAAK,OAAOE;IAC1B,MAAMC,SAASF,KAAKG,KAAK,CAAC,KAAKC,MAAM,CAAC,CAACC,GAAGC,IAAMD,GAAG,CAACC,EAAE,EAAEP;IACxD,OAAOG,WAAWK,YAAYN,eAAgBC;AAChD,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/getUniqueListBy.ts"],"sourcesContent":["export default function getUniqueListBy<T>(arr: T[], key: string): T[] {\n return [...new Map(arr.map((item) => [item[key], item])).values()]\n}\n"],"names":["getUniqueListBy","arr","key","Map","map","item","values"],"mappings":"AAAA,eAAe,SAASA,gBAAmBC,GAAQ,EAAEC,GAAW;IAC9D,OAAO;WAAI,IAAIC,IAAIF,IAAIG,GAAG,CAAC,CAACC,OAAS;gBAACA,IAAI,CAACH,IAAI;gBAAEG;aAAK,GAAGC,MAAM;KAAG;AACpE"}
1
+ {"version":3,"sources":["../../src/utilities/getUniqueListBy.ts"],"sourcesContent":["export default function getUniqueListBy<T>(arr: T[], key: string): T[] {\n return [...new Map(arr.map((item) => [item[key], item])).values()]\n}\n"],"names":["getUniqueListBy","arr","key","Map","map","item","values"],"rangeMappings":";;;;;;;","mappings":"AAAA,eAAe,SAASA,gBAAmBC,GAAQ,EAAEC,GAAW;IAC9D,OAAO;WAAI,IAAIC,IAAIF,IAAIG,GAAG,CAAC,CAACC,OAAS;gBAACA,IAAI,CAACH,IAAI;gBAAEG;aAAK,GAAGC,MAAM;KAAG;AACpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"importWithoutClientFiles.d.ts","sourceRoot":"","sources":["../../src/utilities/importWithoutClientFiles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKzD,eAAO,MAAM,wBAAwB,0BAAiC,MAAM,eAM3E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,eAAsB,MAAM,6BAcpD,CAAA"}
1
+ {"version":3,"file":"importWithoutClientFiles.d.ts","sourceRoot":"","sources":["../../src/utilities/importWithoutClientFiles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAKzD,eAAO,MAAM,wBAAwB,0BAAiC,MAAM,eAO3E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,eAAsB,MAAM,6BAmBpD,CAAA"}
@@ -1,12 +1,13 @@
1
1
  import { register } from 'node:module';
2
- import { fileURLToPath, pathToFileURL } from 'node:url';
2
+ import { URL, fileURLToPath, pathToFileURL } from 'node:url';
3
3
  import path from 'path';
4
4
  const filename = fileURLToPath(import.meta.url);
5
5
  const dirname = path.dirname(filename);
6
6
  export const importWithoutClientFiles = async (filePath)=>{
7
- const url = pathToFileURL(filePath).toString();
8
- register(path.resolve(dirname, '../../dist/bin/loader/index.js'), url);
9
- const result = await import(filePath);
7
+ const { href: filePathUrl } = pathToFileURL(filePath);
8
+ const { href: loaderUrl } = pathToFileURL(path.resolve(dirname, '../../dist/bin/loader/index.js'));
9
+ register(loaderUrl, filePathUrl);
10
+ const result = await import(filePathUrl);
10
11
  return result;
11
12
  };
12
13
  /**
@@ -17,7 +18,9 @@ export const importWithoutClientFiles = async (filePath)=>{
17
18
  const config = await importWithoutClientFiles(configPath);
18
19
  return await config.default;
19
20
  }
20
- const callerDir = path.dirname(getCallerInfo()[1].getFileName()).replace('file://', '');
21
+ const callerFilename = getCallerInfo()[1].getFileName();
22
+ const url = new URL(callerFilename);
23
+ const callerDir = path.dirname(fileURLToPath(url));
21
24
  const fullConfigPath = path.resolve(callerDir, configPath);
22
25
  const config = await importWithoutClientFiles(fullConfigPath);
23
26
  return await config.default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/importWithoutClientFiles.ts"],"sourcesContent":["import { register } from 'node:module'\nimport { fileURLToPath, pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const importWithoutClientFiles = async <T = unknown>(filePath: string) => {\n const url = pathToFileURL(filePath).toString()\n\n register(path.resolve(dirname, '../../dist/bin/loader/index.js'), url)\n const result = await import(filePath)\n return result as T\n}\n\n/**\n * Resolve and load Payload config from either a relative or absolute path\n */\nexport const importConfig = async (configPath: string) => {\n const isAbsolutePath = path.isAbsolute(configPath)\n if (isAbsolutePath) {\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(configPath)\n return await config.default\n }\n\n const callerDir = path.dirname(getCallerInfo()[1].getFileName()).replace('file://', '')\n const fullConfigPath = path.resolve(callerDir, configPath)\n\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(\n fullConfigPath,\n )\n return await config.default\n}\n\nconst getCallerInfo = () => {\n const _prepareStackTrace = Error.prepareStackTrace\n try {\n let result = []\n Error.prepareStackTrace = (_, callSites) => {\n const callSitesWithoutCurrent = callSites.slice(1)\n result = callSitesWithoutCurrent\n return callSitesWithoutCurrent\n }\n\n new Error().stack\n return result\n } finally {\n Error.prepareStackTrace = _prepareStackTrace\n }\n}\n"],"names":["register","fileURLToPath","pathToFileURL","path","filename","url","dirname","importWithoutClientFiles","filePath","toString","resolve","result","importConfig","configPath","isAbsolutePath","isAbsolute","config","default","callerDir","getCallerInfo","getFileName","replace","fullConfigPath","_prepareStackTrace","Error","prepareStackTrace","_","callSites","callSitesWithoutCurrent","slice","stack"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAa;AACtC,SAASC,aAAa,EAAEC,aAAa,QAAQ,WAAU;AACvD,OAAOC,UAAU,OAAM;AAIvB,MAAMC,WAAWH,cAAc,YAAYI,GAAG;AAC9C,MAAMC,UAAUH,KAAKG,OAAO,CAACF;AAE7B,OAAO,MAAMG,2BAA2B,OAAoBC;IAC1D,MAAMH,MAAMH,cAAcM,UAAUC,QAAQ;IAE5CT,SAASG,KAAKO,OAAO,CAACJ,SAAS,mCAAmCD;IAClE,MAAMM,SAAS,MAAM,MAAM,CAACH;IAC5B,OAAOG;AACT,EAAC;AAED;;CAEC,GACD,OAAO,MAAMC,eAAe,OAAOC;IACjC,MAAMC,iBAAiBX,KAAKY,UAAU,CAACF;IACvC,IAAIC,gBAAgB;QAClB,MAAME,SAAS,MAAMT,yBAAgEM;QACrF,OAAO,MAAMG,OAAOC,OAAO;IAC7B;IAEA,MAAMC,YAAYf,KAAKG,OAAO,CAACa,eAAe,CAAC,EAAE,CAACC,WAAW,IAAIC,OAAO,CAAC,WAAW;IACpF,MAAMC,iBAAiBnB,KAAKO,OAAO,CAACQ,WAAWL;IAE/C,MAAMG,SAAS,MAAMT,yBACnBe;IAEF,OAAO,MAAMN,OAAOC,OAAO;AAC7B,EAAC;AAED,MAAME,gBAAgB;IACpB,MAAMI,qBAAqBC,MAAMC,iBAAiB;IAClD,IAAI;QACF,IAAId,SAAS,EAAE;QACfa,MAAMC,iBAAiB,GAAG,CAACC,GAAGC;YAC5B,MAAMC,0BAA0BD,UAAUE,KAAK,CAAC;YAChDlB,SAASiB;YACT,OAAOA;QACT;QAEA,IAAIJ,QAAQM,KAAK;QACjB,OAAOnB;IACT,SAAU;QACRa,MAAMC,iBAAiB,GAAGF;IAC5B;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/importWithoutClientFiles.ts"],"sourcesContent":["import { register } from 'node:module'\nimport { URL, fileURLToPath, pathToFileURL } from 'node:url'\nimport path from 'path'\n\nimport type { SanitizedConfig } from '../config/types.js'\n\nconst filename = fileURLToPath(import.meta.url)\nconst dirname = path.dirname(filename)\n\nexport const importWithoutClientFiles = async <T = unknown>(filePath: string) => {\n const { href: filePathUrl } = pathToFileURL(filePath)\n const { href: loaderUrl } = pathToFileURL(path.resolve(dirname, '../../dist/bin/loader/index.js'))\n\n register(loaderUrl, filePathUrl)\n const result = await import(filePathUrl)\n return result as T\n}\n\n/**\n * Resolve and load Payload config from either a relative or absolute path\n */\nexport const importConfig = async (configPath: string) => {\n const isAbsolutePath = path.isAbsolute(configPath)\n if (isAbsolutePath) {\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(configPath)\n return await config.default\n }\n\n const callerFilename = getCallerInfo()[1].getFileName()\n\n const url = new URL(callerFilename)\n\n const callerDir = path.dirname(fileURLToPath(url))\n\n const fullConfigPath = path.resolve(callerDir, configPath)\n\n const config = await importWithoutClientFiles<{ default: Promise<SanitizedConfig> }>(\n fullConfigPath,\n )\n return await config.default\n}\n\nconst getCallerInfo = () => {\n const _prepareStackTrace = Error.prepareStackTrace\n try {\n let result = []\n Error.prepareStackTrace = (_, callSites) => {\n const callSitesWithoutCurrent = callSites.slice(1)\n result = callSitesWithoutCurrent\n return callSitesWithoutCurrent\n }\n\n new Error().stack\n return result\n } finally {\n Error.prepareStackTrace = _prepareStackTrace\n }\n}\n"],"names":["register","URL","fileURLToPath","pathToFileURL","path","filename","url","dirname","importWithoutClientFiles","filePath","href","filePathUrl","loaderUrl","resolve","result","importConfig","configPath","isAbsolutePath","isAbsolute","config","default","callerFilename","getCallerInfo","getFileName","callerDir","fullConfigPath","_prepareStackTrace","Error","prepareStackTrace","_","callSites","callSitesWithoutCurrent","slice","stack"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAa;AACtC,SAASC,GAAG,EAAEC,aAAa,EAAEC,aAAa,QAAQ,WAAU;AAC5D,OAAOC,UAAU,OAAM;AAIvB,MAAMC,WAAWH,cAAc,YAAYI,GAAG;AAC9C,MAAMC,UAAUH,KAAKG,OAAO,CAACF;AAE7B,OAAO,MAAMG,2BAA2B,OAAoBC;IAC1D,MAAM,EAAEC,MAAMC,WAAW,EAAE,GAAGR,cAAcM;IAC5C,MAAM,EAAEC,MAAME,SAAS,EAAE,GAAGT,cAAcC,KAAKS,OAAO,CAACN,SAAS;IAEhEP,SAASY,WAAWD;IACpB,MAAMG,SAAS,MAAM,MAAM,CAACH;IAC5B,OAAOG;AACT,EAAC;AAED;;CAEC,GACD,OAAO,MAAMC,eAAe,OAAOC;IACjC,MAAMC,iBAAiBb,KAAKc,UAAU,CAACF;IACvC,IAAIC,gBAAgB;QAClB,MAAME,SAAS,MAAMX,yBAAgEQ;QACrF,OAAO,MAAMG,OAAOC,OAAO;IAC7B;IAEA,MAAMC,iBAAiBC,eAAe,CAAC,EAAE,CAACC,WAAW;IAErD,MAAMjB,MAAM,IAAIL,IAAIoB;IAEpB,MAAMG,YAAYpB,KAAKG,OAAO,CAACL,cAAcI;IAE7C,MAAMmB,iBAAiBrB,KAAKS,OAAO,CAACW,WAAWR;IAE/C,MAAMG,SAAS,MAAMX,yBACnBiB;IAEF,OAAO,MAAMN,OAAOC,OAAO;AAC7B,EAAC;AAED,MAAME,gBAAgB;IACpB,MAAMI,qBAAqBC,MAAMC,iBAAiB;IAClD,IAAI;QACF,IAAId,SAAS,EAAE;QACfa,MAAMC,iBAAiB,GAAG,CAACC,GAAGC;YAC5B,MAAMC,0BAA0BD,UAAUE,KAAK,CAAC;YAChDlB,SAASiB;YACT,OAAOA;QACT;QAEA,IAAIJ,QAAQM,KAAK;QACjB,OAAOnB;IACT,SAAU;QACRa,MAAMC,iBAAiB,GAAGF;IAC5B;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/initTransaction.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\n/**\n * Starts a new transaction using the db adapter with a random id and then assigns it to the req.transaction\n * @returns true if beginning a transaction and false when req already has a transaction to use\n */\nexport async function initTransaction(req: PayloadRequest): Promise<boolean> {\n const { payload, transactionID, transactionIDPromise } = req\n if (transactionID) {\n // we already have a transaction, we're not in charge of committing it\n return false\n }\n if (transactionIDPromise) {\n // wait for whoever else is already creating the transaction\n await transactionIDPromise\n return false\n }\n if (typeof payload.db.beginTransaction === 'function') {\n // create a new transaction\n req.transactionIDPromise = payload.db.beginTransaction().then((transactionID) => {\n if (transactionID) {\n req.transactionID = transactionID\n }\n delete req.transactionIDPromise\n })\n await req.transactionIDPromise\n return !!req.transactionID\n }\n return false\n}\n"],"names":["initTransaction","req","payload","transactionID","transactionIDPromise","db","beginTransaction","then"],"mappings":"AAEA;;;CAGC,GACD,OAAO,eAAeA,gBAAgBC,GAAmB;IACvD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAEC,oBAAoB,EAAE,GAAGH;IACzD,IAAIE,eAAe;QACjB,sEAAsE;QACtE,OAAO;IACT;IACA,IAAIC,sBAAsB;QACxB,4DAA4D;QAC5D,MAAMA;QACN,OAAO;IACT;IACA,IAAI,OAAOF,QAAQG,EAAE,CAACC,gBAAgB,KAAK,YAAY;QACrD,2BAA2B;QAC3BL,IAAIG,oBAAoB,GAAGF,QAAQG,EAAE,CAACC,gBAAgB,GAAGC,IAAI,CAAC,CAACJ;YAC7D,IAAIA,eAAe;gBACjBF,IAAIE,aAAa,GAAGA;YACtB;YACA,OAAOF,IAAIG,oBAAoB;QACjC;QACA,MAAMH,IAAIG,oBAAoB;QAC9B,OAAO,CAAC,CAACH,IAAIE,aAAa;IAC5B;IACA,OAAO;AACT"}
1
+ {"version":3,"sources":["../../src/utilities/initTransaction.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\n/**\n * Starts a new transaction using the db adapter with a random id and then assigns it to the req.transaction\n * @returns true if beginning a transaction and false when req already has a transaction to use\n */\nexport async function initTransaction(req: PayloadRequest): Promise<boolean> {\n const { payload, transactionID, transactionIDPromise } = req\n if (transactionID) {\n // we already have a transaction, we're not in charge of committing it\n return false\n }\n if (transactionIDPromise) {\n // wait for whoever else is already creating the transaction\n await transactionIDPromise\n return false\n }\n if (typeof payload.db.beginTransaction === 'function') {\n // create a new transaction\n req.transactionIDPromise = payload.db.beginTransaction().then((transactionID) => {\n if (transactionID) {\n req.transactionID = transactionID\n }\n delete req.transactionIDPromise\n })\n await req.transactionIDPromise\n return !!req.transactionID\n }\n return false\n}\n"],"names":["initTransaction","req","payload","transactionID","transactionIDPromise","db","beginTransaction","then"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA;;;CAGC,GACD,OAAO,eAAeA,gBAAgBC,GAAmB;IACvD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAEC,oBAAoB,EAAE,GAAGH;IACzD,IAAIE,eAAe;QACjB,sEAAsE;QACtE,OAAO;IACT;IACA,IAAIC,sBAAsB;QACxB,4DAA4D;QAC5D,MAAMA;QACN,OAAO;IACT;IACA,IAAI,OAAOF,QAAQG,EAAE,CAACC,gBAAgB,KAAK,YAAY;QACrD,2BAA2B;QAC3BL,IAAIG,oBAAoB,GAAGF,QAAQG,EAAE,CAACC,gBAAgB,GAAGC,IAAI,CAAC,CAACJ;YAC7D,IAAIA,eAAe;gBACjBF,IAAIE,aAAa,GAAGA;YACtB;YACA,OAAOF,IAAIG,oBAAoB;QACjC;QACA,MAAMH,IAAIG,oBAAoB;QAC9B,OAAO,CAAC,CAACH,IAAIE,aAAa;IAC5B;IACA,OAAO;AACT"}
@@ -1,8 +1,8 @@
1
- import type { User } from 'payload/auth';
2
1
  import type { SanitizedCollectionConfig } from '../collections/config/types.js';
3
2
  import type { SanitizedGlobalConfig } from '../globals/config/types.js';
3
+ import type { PayloadRequest } from '../types/index.js';
4
4
  export declare const isEntityHidden: ({ hidden, user, }: {
5
5
  hidden: SanitizedCollectionConfig['admin']['hidden'] | SanitizedGlobalConfig['admin']['hidden'];
6
- user: User;
6
+ user: PayloadRequest['user'];
7
7
  }) => boolean;
8
8
  //# sourceMappingURL=isEntityHidden.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isEntityHidden.d.ts","sourceRoot":"","sources":["../../src/utilities/isEntityHidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,eAAO,MAAM,cAAc,sBAGxB;IACD,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC/F,IAAI,EAAE,IAAI,CAAA;CACX,YAEA,CAAA"}
1
+ {"version":3,"file":"isEntityHidden.d.ts","sourceRoot":"","sources":["../../src/utilities/isEntityHidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,eAAO,MAAM,cAAc,sBAGxB;IACD,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC/F,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC7B,YAEA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/isEntityHidden.ts"],"sourcesContent":["import type { User } from 'payload/auth'\n\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\n\nexport const isEntityHidden = ({\n hidden,\n user,\n}: {\n hidden: SanitizedCollectionConfig['admin']['hidden'] | SanitizedGlobalConfig['admin']['hidden']\n user: User\n}) => {\n return typeof hidden === 'function' ? hidden({ user }) : hidden === true\n}\n"],"names":["isEntityHidden","hidden","user"],"mappings":"AAKA,OAAO,MAAMA,iBAAiB,CAAC,EAC7BC,MAAM,EACNC,IAAI,EAIL;IACC,OAAO,OAAOD,WAAW,aAAaA,OAAO;QAAEC;IAAK,KAAKD,WAAW;AACtE,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/isEntityHidden.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { PayloadRequest } from '../types/index.js'\n\nexport const isEntityHidden = ({\n hidden,\n user,\n}: {\n hidden: SanitizedCollectionConfig['admin']['hidden'] | SanitizedGlobalConfig['admin']['hidden']\n user: PayloadRequest['user']\n}) => {\n return typeof hidden === 'function' ? hidden({ user }) : hidden === true\n}\n"],"names":["isEntityHidden","hidden","user"],"rangeMappings":";;;;","mappings":"AAIA,OAAO,MAAMA,iBAAiB,CAAC,EAC7BC,MAAM,EACNC,IAAI,EAIL;IACC,OAAO,OAAOD,WAAW,aAAaA,OAAO;QAAEC;IAAK,KAAKD,WAAW;AACtE,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/isNumber.ts"],"sourcesContent":["export function isNumber(value: unknown): value is number {\n if (value === null || value === undefined || (typeof value === 'string' && value.trim() === '')) {\n return false\n }\n\n return !Number.isNaN(Number(value))\n}\n"],"names":["isNumber","value","undefined","trim","Number","isNaN"],"mappings":"AAAA,OAAO,SAASA,SAASC,KAAc;IACrC,IAAIA,UAAU,QAAQA,UAAUC,aAAc,OAAOD,UAAU,YAAYA,MAAME,IAAI,OAAO,IAAK;QAC/F,OAAO;IACT;IAEA,OAAO,CAACC,OAAOC,KAAK,CAACD,OAAOH;AAC9B"}
1
+ {"version":3,"sources":["../../src/utilities/isNumber.ts"],"sourcesContent":["export function isNumber(value: unknown): value is number {\n if (value === null || value === undefined || (typeof value === 'string' && value.trim() === '')) {\n return false\n }\n\n return !Number.isNaN(Number(value))\n}\n"],"names":["isNumber","value","undefined","trim","Number","isNaN"],"rangeMappings":";;;;;","mappings":"AAAA,OAAO,SAASA,SAASC,KAAc;IACrC,IAAIA,UAAU,QAAQA,UAAUC,aAAc,OAAOD,UAAU,YAAYA,MAAME,IAAI,OAAO,IAAK;QAC/F,OAAO;IACT;IAEA,OAAO,CAACC,OAAOC,KAAK,CAACD,OAAOH;AAC9B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/isPlainObject.ts"],"sourcesContent":["function isObject(o: unknown): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isPlainObject(o: unknown): boolean {\n // Is this a React component?\n if (typeof o === 'object' && '$$typeof' in o && typeof o.$$typeof === 'symbol') {\n return false\n }\n\n if (isObject(o) === false) return false\n\n // If has modified constructor\n const ctor = o.constructor\n if (ctor === undefined) return true\n\n // If has modified prototype\n const prot = ctor.prototype\n if (isObject(prot) === false) return false\n\n // If constructor does not have an Object-specific method\n // eslint-disable-next-line no-prototype-builtins\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n"],"names":["isObject","o","Object","prototype","toString","call","isPlainObject","$$typeof","ctor","constructor","undefined","prot","hasOwnProperty"],"mappings":"AAAA,SAASA,SAASC,CAAU;IAC1B,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,OAAO;AAC/C;AAEA,OAAO,SAASK,cAAcL,CAAU;IACtC,6BAA6B;IAC7B,IAAI,OAAOA,MAAM,YAAY,cAAcA,KAAK,OAAOA,EAAEM,QAAQ,KAAK,UAAU;QAC9E,OAAO;IACT;IAEA,IAAIP,SAASC,OAAO,OAAO,OAAO;IAElC,8BAA8B;IAC9B,MAAMO,OAAOP,EAAEQ,WAAW;IAC1B,IAAID,SAASE,WAAW,OAAO;IAE/B,4BAA4B;IAC5B,MAAMC,OAAOH,KAAKL,SAAS;IAC3B,IAAIH,SAASW,UAAU,OAAO,OAAO;IAErC,yDAAyD;IACzD,iDAAiD;IACjD,IAAIA,KAAKC,cAAc,CAAC,qBAAqB,OAAO;QAClD,OAAO;IACT;IAEA,6BAA6B;IAC7B,OAAO;AACT"}
1
+ {"version":3,"sources":["../../src/utilities/isPlainObject.ts"],"sourcesContent":["function isObject(o: unknown): boolean {\n return Object.prototype.toString.call(o) === '[object Object]'\n}\n\nexport function isPlainObject(o: unknown): boolean {\n // Is this a React component?\n if (typeof o === 'object' && '$$typeof' in o && typeof o.$$typeof === 'symbol') {\n return false\n }\n\n if (isObject(o) === false) return false\n\n // If has modified constructor\n const ctor = o.constructor\n if (ctor === undefined) return true\n\n // If has modified prototype\n const prot = ctor.prototype\n if (isObject(prot) === false) return false\n\n // If constructor does not have an Object-specific method\n // eslint-disable-next-line no-prototype-builtins\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false\n }\n\n // Most likely a plain Object\n return true\n}\n"],"names":["isObject","o","Object","prototype","toString","call","isPlainObject","$$typeof","ctor","constructor","undefined","prot","hasOwnProperty"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,SAASC,CAAU;IAC1B,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,OAAO;AAC/C;AAEA,OAAO,SAASK,cAAcL,CAAU;IACtC,6BAA6B;IAC7B,IAAI,OAAOA,MAAM,YAAY,cAAcA,KAAK,OAAOA,EAAEM,QAAQ,KAAK,UAAU;QAC9E,OAAO;IACT;IAEA,IAAIP,SAASC,OAAO,OAAO,OAAO;IAElC,8BAA8B;IAC9B,MAAMO,OAAOP,EAAEQ,WAAW;IAC1B,IAAID,SAASE,WAAW,OAAO;IAE/B,4BAA4B;IAC5B,MAAMC,OAAOH,KAAKL,SAAS;IAC3B,IAAIH,SAASW,UAAU,OAAO,OAAO;IAErC,yDAAyD;IACzD,iDAAiD;IACjD,IAAIA,KAAKC,cAAc,CAAC,qBAAqB,OAAO;QAClD,OAAO;IACT;IAEA,6BAA6B;IAC7B,OAAO;AACT"}
@@ -1,4 +1,6 @@
1
1
  import type React from 'react';
2
+ export declare function isReactServerComponent<T extends any>(component: React.ComponentType | any): component is T;
3
+ export declare function isReactClientComponent<T extends any>(component: React.ComponentType | any): component is T;
2
4
  export declare function isReactComponent<T extends any>(component: React.ComponentType | any): component is T;
3
5
  export declare function isPlainFunction<T extends Function>(fn: any): fn is T;
4
6
  //# sourceMappingURL=isReactComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isReactComponent.d.ts","sourceRoot":"","sources":["../../src/utilities/isReactComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAC5C,SAAS,EAAE,KAAK,CAAC,aAAa,GAAG,GAAG,GACnC,SAAS,IAAI,CAAC,CAMhB;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,CAEpE"}
1
+ {"version":3,"file":"isReactComponent.d.ts","sourceRoot":"","sources":["../../src/utilities/isReactComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,GAAG,EAClD,SAAS,EAAE,KAAK,CAAC,aAAa,GAAG,GAAG,GACnC,SAAS,IAAI,CAAC,CAEhB;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,GAAG,EAClD,SAAS,EAAE,KAAK,CAAC,aAAa,GAAG,GAAG,GACnC,SAAS,IAAI,CAAC,CAGhB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAC5C,SAAS,EAAE,KAAK,CAAC,aAAa,GAAG,GAAG,GACnC,SAAS,IAAI,CAAC,CAEhB;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,CAEpE"}
@@ -1,8 +1,14 @@
1
1
  import { isValidElement } from 'react';
2
2
  import { isPlainObject } from './isPlainObject.js';
3
+ export function isReactServerComponent(component) {
4
+ return typeof component === 'function' && isValidElement(component);
5
+ }
6
+ export function isReactClientComponent(component) {
7
+ // Do this to test for client components (`use client` directive) bc they import as empty objects
8
+ return typeof component === 'object' && !isPlainObject(component);
9
+ }
3
10
  export function isReactComponent(component) {
4
- return typeof component === 'function' && isValidElement(component) || // Do this to test for client components (`use client` directive) bc they import as empty objects
5
- typeof component === 'object' && !isPlainObject(component);
11
+ return isReactServerComponent(component) || isReactClientComponent(component);
6
12
  }
7
13
  export function isPlainFunction(fn) {
8
14
  return typeof fn === 'function' && !isReactComponent(fn);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/isReactComponent.ts"],"sourcesContent":["import type React from 'react'\n\nimport { isValidElement } from 'react'\n\nimport { isPlainObject } from './isPlainObject.js'\n\nexport function isReactComponent<T extends any>(\n component: React.ComponentType | any,\n): component is T {\n return (\n (typeof component === 'function' && isValidElement(component)) ||\n // Do this to test for client components (`use client` directive) bc they import as empty objects\n (typeof component === 'object' && !isPlainObject(component))\n )\n}\n\nexport function isPlainFunction<T extends Function>(fn: any): fn is T {\n return typeof fn === 'function' && !isReactComponent(fn)\n}\n"],"names":["isValidElement","isPlainObject","isReactComponent","component","isPlainFunction","fn"],"mappings":"AAEA,SAASA,cAAc,QAAQ,QAAO;AAEtC,SAASC,aAAa,QAAQ,qBAAoB;AAElD,OAAO,SAASC,iBACdC,SAAoC;IAEpC,OACE,AAAC,OAAOA,cAAc,cAAcH,eAAeG,cACnD,iGAAiG;IAChG,OAAOA,cAAc,YAAY,CAACF,cAAcE;AAErD;AAEA,OAAO,SAASC,gBAAoCC,EAAO;IACzD,OAAO,OAAOA,OAAO,cAAc,CAACH,iBAAiBG;AACvD"}
1
+ {"version":3,"sources":["../../src/utilities/isReactComponent.ts"],"sourcesContent":["import type React from 'react'\n\nimport { isValidElement } from 'react'\n\nimport { isPlainObject } from './isPlainObject.js'\n\nexport function isReactServerComponent<T extends any>(\n component: React.ComponentType | any,\n): component is T {\n return typeof component === 'function' && isValidElement(component)\n}\n\nexport function isReactClientComponent<T extends any>(\n component: React.ComponentType | any,\n): component is T {\n // Do this to test for client components (`use client` directive) bc they import as empty objects\n return typeof component === 'object' && !isPlainObject(component)\n}\n\nexport function isReactComponent<T extends any>(\n component: React.ComponentType | any,\n): component is T {\n return isReactServerComponent(component) || isReactClientComponent(component)\n}\n\nexport function isPlainFunction<T extends Function>(fn: any): fn is T {\n return typeof fn === 'function' && !isReactComponent(fn)\n}\n"],"names":["isValidElement","isPlainObject","isReactServerComponent","component","isReactClientComponent","isReactComponent","isPlainFunction","fn"],"rangeMappings":";;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,QAAO;AAEtC,SAASC,aAAa,QAAQ,qBAAoB;AAElD,OAAO,SAASC,uBACdC,SAAoC;IAEpC,OAAO,OAAOA,cAAc,cAAcH,eAAeG;AAC3D;AAEA,OAAO,SAASC,uBACdD,SAAoC;IAEpC,iGAAiG;IACjG,OAAO,OAAOA,cAAc,YAAY,CAACF,cAAcE;AACzD;AAEA,OAAO,SAASE,iBACdF,SAAoC;IAEpC,OAAOD,uBAAuBC,cAAcC,uBAAuBD;AACrE;AAEA,OAAO,SAASG,gBAAoCC,EAAO;IACzD,OAAO,OAAOA,OAAO,cAAc,CAACF,iBAAiBE;AACvD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/isValidID.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport const isValidID = (\n value: number | string,\n type: 'ObjectID' | 'number' | 'text',\n): boolean => {\n if (type === 'text' && value) {\n if (['object', 'string'].includes(typeof value)) {\n const isObjectID = ObjectId.isValid(value as string)\n return typeof value === 'string' || isObjectID\n }\n return false\n }\n\n if (typeof value === 'number' && !Number.isNaN(value)) return true\n\n if (type === 'ObjectID') {\n return ObjectId.isValid(String(value))\n }\n}\n"],"names":["ObjectIdImport","ObjectId","default","isValidID","value","type","includes","isObjectID","isValid","Number","isNaN","String"],"mappings":"AAAA,OAAOA,oBAAoB,gBAAe;AAE1C,MAAMC,WAAYD,eAAeE,OAAO,IACtCF;AAEF,OAAO,MAAMG,YAAY,CACvBC,OACAC;IAEA,IAAIA,SAAS,UAAUD,OAAO;QAC5B,IAAI;YAAC;YAAU;SAAS,CAACE,QAAQ,CAAC,OAAOF,QAAQ;YAC/C,MAAMG,aAAaN,SAASO,OAAO,CAACJ;YACpC,OAAO,OAAOA,UAAU,YAAYG;QACtC;QACA,OAAO;IACT;IAEA,IAAI,OAAOH,UAAU,YAAY,CAACK,OAAOC,KAAK,CAACN,QAAQ,OAAO;IAE9D,IAAIC,SAAS,YAAY;QACvB,OAAOJ,SAASO,OAAO,CAACG,OAAOP;IACjC;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/isValidID.ts"],"sourcesContent":["import ObjectIdImport from 'bson-objectid'\n\nconst ObjectId = (ObjectIdImport.default ||\n ObjectIdImport) as unknown as typeof ObjectIdImport.default\n\nexport const isValidID = (\n value: number | string,\n type: 'ObjectID' | 'number' | 'text',\n): boolean => {\n if (type === 'text' && value) {\n if (['object', 'string'].includes(typeof value)) {\n const isObjectID = ObjectId.isValid(value as string)\n return typeof value === 'string' || isObjectID\n }\n return false\n }\n\n if (typeof value === 'number' && !Number.isNaN(value)) return true\n\n if (type === 'ObjectID') {\n return ObjectId.isValid(String(value))\n }\n}\n"],"names":["ObjectIdImport","ObjectId","default","isValidID","value","type","includes","isObjectID","isValid","Number","isNaN","String"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,oBAAoB,gBAAe;AAE1C,MAAMC,WAAYD,eAAeE,OAAO,IACtCF;AAEF,OAAO,MAAMG,YAAY,CACvBC,OACAC;IAEA,IAAIA,SAAS,UAAUD,OAAO;QAC5B,IAAI;YAAC;YAAU;SAAS,CAACE,QAAQ,CAAC,OAAOF,QAAQ;YAC/C,MAAMG,aAAaN,SAASO,OAAO,CAACJ;YACpC,OAAO,OAAOA,UAAU,YAAYG;QACtC;QACA,OAAO;IACT;IAEA,IAAI,OAAOH,UAAU,YAAY,CAACK,OAAOC,KAAK,CAACN,QAAQ,OAAO;IAE9D,IAAIC,SAAS,YAAY;QACvB,OAAOJ,SAASO,OAAO,CAACG,OAAOP;IACjC;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/isolateObjectProperty.ts"],"sourcesContent":["/**\n * Creates a proxy for the given object that has its own property\n */\nexport default function isolateObjectProperty<T>(object: T, key): T {\n const delegate = {}\n const handler = {\n deleteProperty(target, p): boolean {\n return Reflect.deleteProperty(p === key ? delegate : target, p)\n },\n get(target, p, receiver) {\n return Reflect.get(p === key ? delegate : target, p, receiver)\n },\n has(target, p) {\n return Reflect.has(p === key ? delegate : target, p)\n },\n set(target, p, newValue, receiver) {\n if (p === key) {\n // in case of transactionID we must ignore any receiver, because\n // \"If provided and target does not have a setter for propertyKey, the property will be set on receiver instead.\"\n return Reflect.set(delegate, p, newValue)\n } else {\n return Reflect.set(target, p, newValue, receiver)\n }\n },\n }\n return new Proxy(object, handler)\n}\n"],"names":["isolateObjectProperty","object","key","delegate","handler","deleteProperty","target","p","Reflect","get","receiver","has","set","newValue","Proxy"],"mappings":"AAAA;;CAEC,GACD,eAAe,SAASA,sBAAyBC,MAAS,EAAEC,GAAG;IAC7D,MAAMC,WAAW,CAAC;IAClB,MAAMC,UAAU;QACdC,gBAAeC,MAAM,EAAEC,CAAC;YACtB,OAAOC,QAAQH,cAAc,CAACE,MAAML,MAAMC,WAAWG,QAAQC;QAC/D;QACAE,KAAIH,MAAM,EAAEC,CAAC,EAAEG,QAAQ;YACrB,OAAOF,QAAQC,GAAG,CAACF,MAAML,MAAMC,WAAWG,QAAQC,GAAGG;QACvD;QACAC,KAAIL,MAAM,EAAEC,CAAC;YACX,OAAOC,QAAQG,GAAG,CAACJ,MAAML,MAAMC,WAAWG,QAAQC;QACpD;QACAK,KAAIN,MAAM,EAAEC,CAAC,EAAEM,QAAQ,EAAEH,QAAQ;YAC/B,IAAIH,MAAML,KAAK;gBACb,gEAAgE;gBAChE,iHAAiH;gBACjH,OAAOM,QAAQI,GAAG,CAACT,UAAUI,GAAGM;YAClC,OAAO;gBACL,OAAOL,QAAQI,GAAG,CAACN,QAAQC,GAAGM,UAAUH;YAC1C;QACF;IACF;IACA,OAAO,IAAII,MAAMb,QAAQG;AAC3B"}
1
+ {"version":3,"sources":["../../src/utilities/isolateObjectProperty.ts"],"sourcesContent":["/**\n * Creates a proxy for the given object that has its own property\n */\nexport default function isolateObjectProperty<T>(object: T, key): T {\n const delegate = {}\n const handler = {\n deleteProperty(target, p): boolean {\n return Reflect.deleteProperty(p === key ? delegate : target, p)\n },\n get(target, p, receiver) {\n return Reflect.get(p === key ? delegate : target, p, receiver)\n },\n has(target, p) {\n return Reflect.has(p === key ? delegate : target, p)\n },\n set(target, p, newValue, receiver) {\n if (p === key) {\n // in case of transactionID we must ignore any receiver, because\n // \"If provided and target does not have a setter for propertyKey, the property will be set on receiver instead.\"\n return Reflect.set(delegate, p, newValue)\n } else {\n return Reflect.set(target, p, newValue, receiver)\n }\n },\n }\n return new Proxy(object, handler)\n}\n"],"names":["isolateObjectProperty","object","key","delegate","handler","deleteProperty","target","p","Reflect","get","receiver","has","set","newValue","Proxy"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GACD,eAAe,SAASA,sBAAyBC,MAAS,EAAEC,GAAG;IAC7D,MAAMC,WAAW,CAAC;IAClB,MAAMC,UAAU;QACdC,gBAAeC,MAAM,EAAEC,CAAC;YACtB,OAAOC,QAAQH,cAAc,CAACE,MAAML,MAAMC,WAAWG,QAAQC;QAC/D;QACAE,KAAIH,MAAM,EAAEC,CAAC,EAAEG,QAAQ;YACrB,OAAOF,QAAQC,GAAG,CAACF,MAAML,MAAMC,WAAWG,QAAQC,GAAGG;QACvD;QACAC,KAAIL,MAAM,EAAEC,CAAC;YACX,OAAOC,QAAQG,GAAG,CAACJ,MAAML,MAAMC,WAAWG,QAAQC;QACpD;QACAK,KAAIN,MAAM,EAAEC,CAAC,EAAEM,QAAQ,EAAEH,QAAQ;YAC/B,IAAIH,MAAML,KAAK;gBACb,gEAAgE;gBAChE,iHAAiH;gBACjH,OAAOM,QAAQI,GAAG,CAACT,UAAUI,GAAGM;YAClC,OAAO;gBACL,OAAOL,QAAQI,GAAG,CAACN,QAAQC,GAAGM,UAAUH;YAC1C;QACF;IACF;IACA,OAAO,IAAII,MAAMb,QAAQG;AAC3B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/killTransaction.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\n/**\n * Rollback the transaction from the req using the db adapter and removes it from the req\n */\nexport async function killTransaction(req: PayloadRequest): Promise<void> {\n const { payload, transactionID } = req\n if (transactionID) {\n await payload.db.rollbackTransaction(req.transactionID)\n delete req.transactionID\n }\n}\n"],"names":["killTransaction","req","payload","transactionID","db","rollbackTransaction"],"mappings":"AAEA;;CAEC,GACD,OAAO,eAAeA,gBAAgBC,GAAmB;IACvD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IACnC,IAAIE,eAAe;QACjB,MAAMD,QAAQE,EAAE,CAACC,mBAAmB,CAACJ,IAAIE,aAAa;QACtD,OAAOF,IAAIE,aAAa;IAC1B;AACF"}
1
+ {"version":3,"sources":["../../src/utilities/killTransaction.ts"],"sourcesContent":["import type { PayloadRequest } from '../types/index.js'\n\n/**\n * Rollback the transaction from the req using the db adapter and removes it from the req\n */\nexport async function killTransaction(req: PayloadRequest): Promise<void> {\n const { payload, transactionID } = req\n if (transactionID) {\n await payload.db.rollbackTransaction(req.transactionID)\n delete req.transactionID\n }\n}\n"],"names":["killTransaction","req","payload","transactionID","db","rollbackTransaction"],"rangeMappings":";;;;;;;;","mappings":"AAEA;;CAEC,GACD,OAAO,eAAeA,gBAAgBC,GAAmB;IACvD,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGF;IACnC,IAAIE,eAAe;QACjB,MAAMD,QAAQE,EAAE,CAACC,mBAAmB,CAACJ,IAAIE,aAAa;QACtD,OAAOF,IAAIE,aAAa;IAC1B;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/logger.ts"],"sourcesContent":["import pinoImport from 'pino'\nimport pinoPrettyImport from 'pino-pretty'\n\nconst pino = (pinoImport.default || pinoImport) as unknown as typeof pinoImport.default\nconst pinoPretty = (pinoPrettyImport.default ||\n pinoPrettyImport) as unknown as typeof pinoPrettyImport.default\n\nexport type PayloadLogger = pinoImport.default.Logger\n\nconst prettyOptions = {\n colorize: true,\n ignore: 'pid,hostname',\n translateTime: 'SYS:HH:MM:ss',\n}\n\nexport const defaultLoggerOptions: pinoImport.default.LoggerOptions = {\n transport: {\n options: prettyOptions,\n target: 'pino-pretty',\n },\n}\n\nexport const prettySyncLoggerDestination = pinoPretty({\n ...prettyOptions,\n destination: 1, // stdout\n sync: true,\n})\n\nconst getLogger = (\n name = 'payload',\n options?: pinoImport.default.LoggerOptions,\n destination?: pinoImport.default.DestinationStream,\n): PayloadLogger => {\n if (options) {\n return pino(\n {\n name: options?.name || name,\n enabled: process.env.DISABLE_LOGGING !== 'true',\n ...(options || defaultLoggerOptions),\n },\n destination,\n )\n }\n\n return pino(prettySyncLoggerDestination)\n}\n\nexport default getLogger\n"],"names":["pinoImport","pinoPrettyImport","pino","default","pinoPretty","prettyOptions","colorize","ignore","translateTime","defaultLoggerOptions","transport","options","target","prettySyncLoggerDestination","destination","sync","getLogger","name","enabled","process","env","DISABLE_LOGGING"],"mappings":"AAAA,OAAOA,gBAAgB,OAAM;AAC7B,OAAOC,sBAAsB,cAAa;AAE1C,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AACpC,MAAMI,aAAcH,iBAAiBE,OAAO,IAC1CF;AAIF,MAAMI,gBAAgB;IACpBC,UAAU;IACVC,QAAQ;IACRC,eAAe;AACjB;AAEA,OAAO,MAAMC,uBAAyD;IACpEC,WAAW;QACTC,SAASN;QACTO,QAAQ;IACV;AACF,EAAC;AAED,OAAO,MAAMC,8BAA8BT,WAAW;IACpD,GAAGC,aAAa;IAChBS,aAAa;IACbC,MAAM;AACR,GAAE;AAEF,MAAMC,YAAY,CAChBC,OAAO,SAAS,EAChBN,SACAG;IAEA,IAAIH,SAAS;QACX,OAAOT,KACL;YACEe,MAAMN,SAASM,QAAQA;YACvBC,SAASC,QAAQC,GAAG,CAACC,eAAe,KAAK;YACzC,GAAIV,WAAWF,oBAAoB;QACrC,GACAK;IAEJ;IAEA,OAAOZ,KAAKW;AACd;AAEA,eAAeG,UAAS"}
1
+ {"version":3,"sources":["../../src/utilities/logger.ts"],"sourcesContent":["import pinoImport from 'pino'\nimport pinoPrettyImport from 'pino-pretty'\n\nconst pino = (pinoImport.default || pinoImport) as unknown as typeof pinoImport.default\nconst pinoPretty = (pinoPrettyImport.default ||\n pinoPrettyImport) as unknown as typeof pinoPrettyImport.default\n\nexport type PayloadLogger = pinoImport.default.Logger\n\nconst prettyOptions = {\n colorize: true,\n ignore: 'pid,hostname',\n translateTime: 'SYS:HH:MM:ss',\n}\n\nexport const defaultLoggerOptions: pinoImport.default.LoggerOptions = {\n transport: {\n options: prettyOptions,\n target: 'pino-pretty',\n },\n}\n\nexport const prettySyncLoggerDestination = pinoPretty({\n ...prettyOptions,\n destination: 1, // stdout\n sync: true,\n})\n\nconst getLogger = (\n name = 'payload',\n options?: pinoImport.default.LoggerOptions,\n destination?: pinoImport.default.DestinationStream,\n): PayloadLogger => {\n if (options) {\n return pino(\n {\n name: options?.name || name,\n enabled: process.env.DISABLE_LOGGING !== 'true',\n ...(options || defaultLoggerOptions),\n },\n destination,\n )\n }\n\n return pino(prettySyncLoggerDestination)\n}\n\nexport default getLogger\n"],"names":["pinoImport","pinoPrettyImport","pino","default","pinoPretty","prettyOptions","colorize","ignore","translateTime","defaultLoggerOptions","transport","options","target","prettySyncLoggerDestination","destination","sync","getLogger","name","enabled","process","env","DISABLE_LOGGING"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,gBAAgB,OAAM;AAC7B,OAAOC,sBAAsB,cAAa;AAE1C,MAAMC,OAAQF,WAAWG,OAAO,IAAIH;AACpC,MAAMI,aAAcH,iBAAiBE,OAAO,IAC1CF;AAIF,MAAMI,gBAAgB;IACpBC,UAAU;IACVC,QAAQ;IACRC,eAAe;AACjB;AAEA,OAAO,MAAMC,uBAAyD;IACpEC,WAAW;QACTC,SAASN;QACTO,QAAQ;IACV;AACF,EAAC;AAED,OAAO,MAAMC,8BAA8BT,WAAW;IACpD,GAAGC,aAAa;IAChBS,aAAa;IACbC,MAAM;AACR,GAAE;AAEF,MAAMC,YAAY,CAChBC,OAAO,SAAS,EAChBN,SACAG;IAEA,IAAIH,SAAS;QACX,OAAOT,KACL;YACEe,MAAMN,SAASM,QAAQA;YACvBC,SAASC,QAAQC,GAAG,CAACC,eAAe,KAAK;YACzC,GAAIV,WAAWF,oBAAoB;QACrC,GACAK;IAEJ;IAEA,OAAOZ,KAAKW;AACd;AAEA,eAAeG,UAAS"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/mapAsync.ts"],"sourcesContent":["export async function mapAsync<T, U>(\n arr: T[],\n callbackfn: (item: T, index: number, array: T[]) => Promise<U>,\n): Promise<U[]> {\n return Promise.all(arr.map(callbackfn))\n}\n"],"names":["mapAsync","arr","callbackfn","Promise","all","map"],"mappings":"AAAA,OAAO,eAAeA,SACpBC,GAAQ,EACRC,UAA8D;IAE9D,OAAOC,QAAQC,GAAG,CAACH,IAAII,GAAG,CAACH;AAC7B"}
1
+ {"version":3,"sources":["../../src/utilities/mapAsync.ts"],"sourcesContent":["export async function mapAsync<T, U>(\n arr: T[],\n callbackfn: (item: T, index: number, array: T[]) => Promise<U>,\n): Promise<U[]> {\n return Promise.all(arr.map(callbackfn))\n}\n"],"names":["mapAsync","arr","callbackfn","Promise","all","map"],"rangeMappings":";;","mappings":"AAAA,OAAO,eAAeA,SACpBC,GAAQ,EACRC,UAA8D;IAE9D,OAAOC,QAAQC,GAAG,CAACH,IAAII,GAAG,CAACH;AAC7B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/mergeListSearchAndWhere.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { FieldAffectingData } from '../fields/config/types.js'\nimport type { Where } from '../types/index.js'\n\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport { default as flattenTopLevelFields } from './flattenTopLevelFields.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nconst getTitleField = (collection: SanitizedCollectionConfig): FieldAffectingData => {\n const {\n admin: { useAsTitle },\n fields,\n } = collection\n\n const topLevelFields = flattenTopLevelFields(fields)\n return topLevelFields.find(\n (field) => fieldAffectsData(field) && field.name === useAsTitle,\n ) as FieldAffectingData\n}\n\ntype Args = {\n collectionConfig: SanitizedCollectionConfig\n query: {\n search?: string\n where?: Where\n }\n}\n\nexport const mergeListSearchAndWhere = ({ collectionConfig, query }: Args): Where => {\n const search = query?.search || undefined\n let where = query?.where || undefined\n\n if (search) {\n let copyOfWhere = { ...(where || {}) }\n\n const searchAsConditions = (\n collectionConfig.admin.listSearchableFields || [getTitleField(collectionConfig)?.name || 'id']\n ).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const conditionalSearchFields = {\n or: [...searchAsConditions],\n }\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, conditionalSearchFields)\n }\n\n where = copyOfWhere\n }\n\n return where\n}\n"],"names":["fieldAffectsData","default","flattenTopLevelFields","hoistQueryParamsToAnd","where","queryParams","and","push","getTitleField","collection","admin","useAsTitle","fields","topLevelFields","find","field","name","mergeListSearchAndWhere","collectionConfig","query","search","undefined","copyOfWhere","searchAsConditions","listSearchableFields","map","fieldName","like","length","conditionalSearchFields","or"],"mappings":"AAIA,SAASA,gBAAgB,QAAQ,4BAA2B;AAC5D,SAASC,WAAWC,qBAAqB,QAAQ,6BAA4B;AAE7E,MAAMC,wBAAwB,CAACC,OAAcC;IAC3C,IAAI,SAASD,OAAO;QAClBA,MAAME,GAAG,CAACC,IAAI,CAACF;IACjB,OAAO,IAAI,QAAQD,OAAO;QACxBA,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF,OAAO;QACLD,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF;IAEA,OAAOD;AACT;AAEA,MAAMI,gBAAgB,CAACC;IACrB,MAAM,EACJC,OAAO,EAAEC,UAAU,EAAE,EACrBC,MAAM,EACP,GAAGH;IAEJ,MAAMI,iBAAiBX,sBAAsBU;IAC7C,OAAOC,eAAeC,IAAI,CACxB,CAACC,QAAUf,iBAAiBe,UAAUA,MAAMC,IAAI,KAAKL;AAEzD;AAUA,OAAO,MAAMM,0BAA0B,CAAC,EAAEC,gBAAgB,EAAEC,KAAK,EAAQ;IACvE,MAAMC,SAASD,OAAOC,UAAUC;IAChC,IAAIjB,QAAQe,OAAOf,SAASiB;IAE5B,IAAID,QAAQ;QACV,IAAIE,cAAc;YAAE,GAAIlB,SAAS,CAAC,CAAC;QAAE;QAErC,MAAMmB,qBAAqB,AACzBL,CAAAA,iBAAiBR,KAAK,CAACc,oBAAoB,IAAI;YAAChB,cAAcU,mBAAmBF,QAAQ;SAAK,AAAD,EAC7FS,GAAG,CAAC,CAACC;YACL,OAAO;gBACL,CAACA,UAAU,EAAE;oBACXC,MAAMP;gBACR;YACF;QACF,GAAG,EAAE;QAEL,IAAIG,mBAAmBK,MAAM,GAAG,GAAG;YACjC,MAAMC,0BAA0B;gBAC9BC,IAAI;uBAAIP;iBAAmB;YAC7B;YACAD,cAAcnB,sBAAsBmB,aAAaO;QACnD;QAEAzB,QAAQkB;IACV;IAEA,OAAOlB;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/mergeListSearchAndWhere.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { FieldAffectingData } from '../fields/config/types.js'\nimport type { Where } from '../types/index.js'\n\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport { default as flattenTopLevelFields } from './flattenTopLevelFields.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nconst getTitleField = (collection: SanitizedCollectionConfig): FieldAffectingData => {\n const {\n admin: { useAsTitle },\n fields,\n } = collection\n\n const topLevelFields = flattenTopLevelFields(fields)\n return topLevelFields.find(\n (field) => fieldAffectsData(field) && field.name === useAsTitle,\n ) as FieldAffectingData\n}\n\ntype Args = {\n collectionConfig: SanitizedCollectionConfig\n query: {\n search?: string\n where?: Where\n }\n}\n\nexport const mergeListSearchAndWhere = ({ collectionConfig, query }: Args): Where => {\n const search = query?.search || undefined\n let where = query?.where || undefined\n\n if (search) {\n let copyOfWhere = { ...(where || {}) }\n\n const searchAsConditions = (\n collectionConfig.admin.listSearchableFields || [getTitleField(collectionConfig)?.name || 'id']\n ).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const conditionalSearchFields = {\n or: [...searchAsConditions],\n }\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, conditionalSearchFields)\n }\n\n where = copyOfWhere\n }\n\n return where\n}\n"],"names":["fieldAffectsData","default","flattenTopLevelFields","hoistQueryParamsToAnd","where","queryParams","and","push","getTitleField","collection","admin","useAsTitle","fields","topLevelFields","find","field","name","mergeListSearchAndWhere","collectionConfig","query","search","undefined","copyOfWhere","searchAsConditions","listSearchableFields","map","fieldName","like","length","conditionalSearchFields","or"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,gBAAgB,QAAQ,4BAA2B;AAC5D,SAASC,WAAWC,qBAAqB,QAAQ,6BAA4B;AAE7E,MAAMC,wBAAwB,CAACC,OAAcC;IAC3C,IAAI,SAASD,OAAO;QAClBA,MAAME,GAAG,CAACC,IAAI,CAACF;IACjB,OAAO,IAAI,QAAQD,OAAO;QACxBA,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF,OAAO;QACLD,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF;IAEA,OAAOD;AACT;AAEA,MAAMI,gBAAgB,CAACC;IACrB,MAAM,EACJC,OAAO,EAAEC,UAAU,EAAE,EACrBC,MAAM,EACP,GAAGH;IAEJ,MAAMI,iBAAiBX,sBAAsBU;IAC7C,OAAOC,eAAeC,IAAI,CACxB,CAACC,QAAUf,iBAAiBe,UAAUA,MAAMC,IAAI,KAAKL;AAEzD;AAUA,OAAO,MAAMM,0BAA0B,CAAC,EAAEC,gBAAgB,EAAEC,KAAK,EAAQ;IACvE,MAAMC,SAASD,OAAOC,UAAUC;IAChC,IAAIjB,QAAQe,OAAOf,SAASiB;IAE5B,IAAID,QAAQ;QACV,IAAIE,cAAc;YAAE,GAAIlB,SAAS,CAAC,CAAC;QAAE;QAErC,MAAMmB,qBAAqB,AACzBL,CAAAA,iBAAiBR,KAAK,CAACc,oBAAoB,IAAI;YAAChB,cAAcU,mBAAmBF,QAAQ;SAAK,AAAD,EAC7FS,GAAG,CAAC,CAACC;YACL,OAAO;gBACL,CAACA,UAAU,EAAE;oBACXC,MAAMP;gBACR;YACF;QACF,GAAG,EAAE;QAEL,IAAIG,mBAAmBK,MAAM,GAAG,GAAG;YACjC,MAAMC,0BAA0B;gBAC9BC,IAAI;uBAAIP;iBAAmB;YAC7B;YACAD,cAAcnB,sBAAsBmB,aAAaO;QACnD;QAEAzB,QAAQkB;IACV;IAEA,OAAOlB;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/overwriteMerge.ts"],"sourcesContent":["const overwriteMerge = (_, sourceArray) => sourceArray\n\nexport default overwriteMerge\n"],"names":["overwriteMerge","_","sourceArray"],"mappings":"AAAA,MAAMA,iBAAiB,CAACC,GAAGC,cAAgBA;AAE3C,eAAeF,eAAc"}
1
+ {"version":3,"sources":["../../src/utilities/overwriteMerge.ts"],"sourcesContent":["const overwriteMerge = (_, sourceArray) => sourceArray\n\nexport default overwriteMerge\n"],"names":["overwriteMerge","_","sourceArray"],"rangeMappings":";","mappings":"AAAA,MAAMA,iBAAiB,CAACC,GAAGC,cAAgBA;AAE3C,eAAeF,eAAc"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/parseCookies.ts"],"sourcesContent":["import APIError from '../errors/APIError.js'\n\nexport const parseCookies = (headers: Request['headers']): Map<string, string> => {\n const list = new Map<string, string>()\n const rc = headers.get('Cookie')\n\n if (rc) {\n rc.split(';').forEach((cookie) => {\n const parts = cookie.split('=')\n const key = parts.shift().trim()\n const encodedValue = parts.join('=')\n\n try {\n const decodedValue = decodeURI(encodedValue)\n list.set(key, decodedValue)\n } catch (e) {\n throw new APIError(`Error decoding cookie value for key ${key}: ${e.message}`)\n }\n })\n }\n\n return list\n}\n"],"names":["APIError","parseCookies","headers","list","Map","rc","get","split","forEach","cookie","parts","key","shift","trim","encodedValue","join","decodedValue","decodeURI","set","e","message"],"mappings":"AAAA,OAAOA,cAAc,wBAAuB;AAE5C,OAAO,MAAMC,eAAe,CAACC;IAC3B,MAAMC,OAAO,IAAIC;IACjB,MAAMC,KAAKH,QAAQI,GAAG,CAAC;IAEvB,IAAID,IAAI;QACNA,GAAGE,KAAK,CAAC,KAAKC,OAAO,CAAC,CAACC;YACrB,MAAMC,QAAQD,OAAOF,KAAK,CAAC;YAC3B,MAAMI,MAAMD,MAAME,KAAK,GAAGC,IAAI;YAC9B,MAAMC,eAAeJ,MAAMK,IAAI,CAAC;YAEhC,IAAI;gBACF,MAAMC,eAAeC,UAAUH;gBAC/BX,KAAKe,GAAG,CAACP,KAAKK;YAChB,EAAE,OAAOG,GAAG;gBACV,MAAM,IAAInB,SAAS,CAAC,oCAAoC,EAAEW,IAAI,EAAE,EAAEQ,EAAEC,OAAO,CAAC,CAAC;YAC/E;QACF;IACF;IAEA,OAAOjB;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/parseCookies.ts"],"sourcesContent":["import APIError from '../errors/APIError.js'\n\nexport const parseCookies = (headers: Request['headers']): Map<string, string> => {\n const list = new Map<string, string>()\n const rc = headers.get('Cookie')\n\n if (rc) {\n rc.split(';').forEach((cookie) => {\n const parts = cookie.split('=')\n const key = parts.shift().trim()\n const encodedValue = parts.join('=')\n\n try {\n const decodedValue = decodeURI(encodedValue)\n list.set(key, decodedValue)\n } catch (e) {\n throw new APIError(`Error decoding cookie value for key ${key}: ${e.message}`)\n }\n })\n }\n\n return list\n}\n"],"names":["APIError","parseCookies","headers","list","Map","rc","get","split","forEach","cookie","parts","key","shift","trim","encodedValue","join","decodedValue","decodeURI","set","e","message"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA,OAAOA,cAAc,wBAAuB;AAE5C,OAAO,MAAMC,eAAe,CAACC;IAC3B,MAAMC,OAAO,IAAIC;IACjB,MAAMC,KAAKH,QAAQI,GAAG,CAAC;IAEvB,IAAID,IAAI;QACNA,GAAGE,KAAK,CAAC,KAAKC,OAAO,CAAC,CAACC;YACrB,MAAMC,QAAQD,OAAOF,KAAK,CAAC;YAC3B,MAAMI,MAAMD,MAAME,KAAK,GAAGC,IAAI;YAC9B,MAAMC,eAAeJ,MAAMK,IAAI,CAAC;YAEhC,IAAI;gBACF,MAAMC,eAAeC,UAAUH;gBAC/BX,KAAKe,GAAG,CAACP,KAAKK;YAChB,EAAE,OAAOG,GAAG;gBACV,MAAM,IAAInB,SAAS,CAAC,oCAAoC,EAAEW,IAAI,EAAE,EAAEQ,EAAEC,OAAO,CAAC,CAAC;YAC/E;QACF;IACF;IAEA,OAAOjB;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/sanitizeInternalFields.ts"],"sourcesContent":["const internalFields = ['__v']\n\nconst sanitizeInternalFields = <T extends Record<string, unknown>>(incomingDoc: T): T =>\n Object.entries(incomingDoc).reduce((newDoc, [key, val]): T => {\n if (key === '_id') {\n return {\n ...newDoc,\n id: val,\n }\n }\n\n if (internalFields.indexOf(key) > -1) {\n return newDoc\n }\n\n return {\n ...newDoc,\n [key]: val,\n }\n }, {} as T)\n\nexport default sanitizeInternalFields\n"],"names":["internalFields","sanitizeInternalFields","incomingDoc","Object","entries","reduce","newDoc","key","val","id","indexOf"],"mappings":"AAAA,MAAMA,iBAAiB;IAAC;CAAM;AAE9B,MAAMC,yBAAyB,CAAoCC,cACjEC,OAAOC,OAAO,CAACF,aAAaG,MAAM,CAAC,CAACC,QAAQ,CAACC,KAAKC,IAAI;QACpD,IAAID,QAAQ,OAAO;YACjB,OAAO;gBACL,GAAGD,MAAM;gBACTG,IAAID;YACN;QACF;QAEA,IAAIR,eAAeU,OAAO,CAACH,OAAO,CAAC,GAAG;YACpC,OAAOD;QACT;QAEA,OAAO;YACL,GAAGA,MAAM;YACT,CAACC,IAAI,EAAEC;QACT;IACF,GAAG,CAAC;AAEN,eAAeP,uBAAsB"}
1
+ {"version":3,"sources":["../../src/utilities/sanitizeInternalFields.ts"],"sourcesContent":["const internalFields = ['__v']\n\nconst sanitizeInternalFields = <T extends Record<string, unknown>>(incomingDoc: T): T =>\n Object.entries(incomingDoc).reduce((newDoc, [key, val]): T => {\n if (key === '_id') {\n return {\n ...newDoc,\n id: val,\n }\n }\n\n if (internalFields.indexOf(key) > -1) {\n return newDoc\n }\n\n return {\n ...newDoc,\n [key]: val,\n }\n }, {} as T)\n\nexport default sanitizeInternalFields\n"],"names":["internalFields","sanitizeInternalFields","incomingDoc","Object","entries","reduce","newDoc","key","val","id","indexOf"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAAA,MAAMA,iBAAiB;IAAC;CAAM;AAE9B,MAAMC,yBAAyB,CAAoCC,cACjEC,OAAOC,OAAO,CAACF,aAAaG,MAAM,CAAC,CAACC,QAAQ,CAACC,KAAKC,IAAI;QACpD,IAAID,QAAQ,OAAO;YACjB,OAAO;gBACL,GAAGD,MAAM;gBACTG,IAAID;YACN;QACF;QAEA,IAAIR,eAAeU,OAAO,CAACH,OAAO,CAAC,GAAG;YACpC,OAAOD;QACT;QAEA,OAAO;YACL,GAAGA,MAAM;YACT,CAACC,IAAI,EAAEC;QACT;IACF,GAAG,CAAC;AAEN,eAAeP,uBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/setsAreEqual.ts"],"sourcesContent":["export const setsAreEqual = (xs: Set<unknown>, ys: Set<unknown>) =>\n xs.size === ys.size && [...xs].every((x) => ys.has(x))\n"],"names":["setsAreEqual","xs","ys","size","every","x","has"],"mappings":"AAAA,OAAO,MAAMA,eAAe,CAACC,IAAkBC,KAC7CD,GAAGE,IAAI,KAAKD,GAAGC,IAAI,IAAI;WAAIF;KAAG,CAACG,KAAK,CAAC,CAACC,IAAMH,GAAGI,GAAG,CAACD,IAAG"}
1
+ {"version":3,"sources":["../../src/utilities/setsAreEqual.ts"],"sourcesContent":["export const setsAreEqual = (xs: Set<unknown>, ys: Set<unknown>) =>\n xs.size === ys.size && [...xs].every((x) => ys.has(x))\n"],"names":["setsAreEqual","xs","ys","size","every","x","has"],"rangeMappings":";;","mappings":"AAAA,OAAO,MAAMA,eAAe,CAACC,IAAkBC,KAC7CD,GAAGE,IAAI,KAAKD,GAAGC,IAAI,IAAI;WAAIF;KAAG,CAACG,KAAK,CAAC,CAACC,IAAMH,GAAGI,GAAG,CAACD,IAAG"}
@@ -1,5 +1,5 @@
1
- import type { User } from '../../../auth/types.js';
2
1
  import type { Payload } from '../../../index.js';
2
+ import type { PayloadRequest } from '../../../types/index.js';
3
3
  export type AdminInitEvent = {
4
4
  domainID?: string;
5
5
  type: 'admin-init';
@@ -8,7 +8,7 @@ export type AdminInitEvent = {
8
8
  type Args = {
9
9
  headers: Request['headers'];
10
10
  payload: Payload;
11
- user: User | null;
11
+ user: PayloadRequest['user'];
12
12
  };
13
13
  export declare const adminInit: ({ headers, payload, user }: Args) => void;
14
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"adminInit.d.ts","sourceRoot":"","sources":["../../../../src/utilities/telemetry/events/adminInit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAKhD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAClB,CAAA;AACD,eAAO,MAAM,SAAS,+BAAgC,IAAI,KAAG,IAuB5D,CAAA"}
1
+ {"version":3,"file":"adminInit.d.ts","sourceRoot":"","sources":["../../../../src/utilities/telemetry/events/adminInit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAK7D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;CAC7B,CAAA;AACD,eAAO,MAAM,SAAS,+BAAgC,IAAI,KAAG,IAuB5D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/telemetry/events/adminInit.ts"],"sourcesContent":["import type { User } from '../../../auth/types.js'\nimport type { Payload } from '../../../index.js'\n\nimport { sendEvent } from '../index.js'\nimport { oneWayHash } from '../oneWayHash.js'\n\nexport type AdminInitEvent = {\n domainID?: string\n type: 'admin-init'\n userID?: string\n}\n\ntype Args = {\n headers: Request['headers']\n payload: Payload\n user: User | null\n}\nexport const adminInit = ({ headers, payload, user }: Args): void => {\n const host = headers.get('host')\n\n let domainID: string\n let userID: string\n\n if (host) {\n domainID = oneWayHash(host, payload.secret)\n }\n\n if (user?.id) {\n userID = oneWayHash(String(user.id), payload.secret)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendEvent({\n event: {\n type: 'admin-init',\n domainID,\n userID,\n },\n payload,\n })\n}\n"],"names":["sendEvent","oneWayHash","adminInit","headers","payload","user","host","get","domainID","userID","secret","id","String","event","type"],"mappings":"AAGA,SAASA,SAAS,QAAQ,cAAa;AACvC,SAASC,UAAU,QAAQ,mBAAkB;AAa7C,OAAO,MAAMC,YAAY,CAAC,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAQ;IACxD,MAAMC,OAAOH,QAAQI,GAAG,CAAC;IAEzB,IAAIC;IACJ,IAAIC;IAEJ,IAAIH,MAAM;QACRE,WAAWP,WAAWK,MAAMF,QAAQM,MAAM;IAC5C;IAEA,IAAIL,MAAMM,IAAI;QACZF,SAASR,WAAWW,OAAOP,KAAKM,EAAE,GAAGP,QAAQM,MAAM;IACrD;IAEA,mEAAmE;IACnEV,UAAU;QACRa,OAAO;YACLC,MAAM;YACNN;YACAC;QACF;QACAL;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/telemetry/events/adminInit.ts"],"sourcesContent":["import type { User } from '../../../auth/types.js'\nimport type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\n\nimport { sendEvent } from '../index.js'\nimport { oneWayHash } from '../oneWayHash.js'\n\nexport type AdminInitEvent = {\n domainID?: string\n type: 'admin-init'\n userID?: string\n}\n\ntype Args = {\n headers: Request['headers']\n payload: Payload\n user: PayloadRequest['user']\n}\nexport const adminInit = ({ headers, payload, user }: Args): void => {\n const host = headers.get('host')\n\n let domainID: string\n let userID: string\n\n if (host) {\n domainID = oneWayHash(host, payload.secret)\n }\n\n if (user?.id) {\n userID = oneWayHash(String(user.id), payload.secret)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendEvent({\n event: {\n type: 'admin-init',\n domainID,\n userID,\n },\n payload,\n })\n}\n"],"names":["sendEvent","oneWayHash","adminInit","headers","payload","user","host","get","domainID","userID","secret","id","String","event","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAIA,SAASA,SAAS,QAAQ,cAAa;AACvC,SAASC,UAAU,QAAQ,mBAAkB;AAa7C,OAAO,MAAMC,YAAY,CAAC,EAAEC,OAAO,EAAEC,OAAO,EAAEC,IAAI,EAAQ;IACxD,MAAMC,OAAOH,QAAQI,GAAG,CAAC;IAEzB,IAAIC;IACJ,IAAIC;IAEJ,IAAIH,MAAM;QACRE,WAAWP,WAAWK,MAAMF,QAAQM,MAAM;IAC5C;IAEA,IAAIL,MAAMM,IAAI;QACZF,SAASR,WAAWW,OAAOP,KAAKM,EAAE,GAAGP,QAAQM,MAAM;IACrD;IAEA,mEAAmE;IACnEV,UAAU;QACRa,OAAO;YACLC,MAAM;YACNN;YACAC;QACF;QACAL;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utilities/telemetry/events/serverInit.ts"],"sourcesContent":["import type { Payload } from '../../../index.js'\n\nimport { sendEvent } from '../index.js'\n\nexport type ServerInitEvent = {\n type: 'server-init'\n}\n\nexport const serverInit = (payload: Payload): void => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendEvent({\n event: {\n type: 'server-init',\n },\n payload,\n })\n}\n"],"names":["sendEvent","serverInit","payload","event","type"],"mappings":"AAEA,SAASA,SAAS,QAAQ,cAAa;AAMvC,OAAO,MAAMC,aAAa,CAACC;IACzB,mEAAmE;IACnEF,UAAU;QACRG,OAAO;YACLC,MAAM;QACR;QACAF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../../src/utilities/telemetry/events/serverInit.ts"],"sourcesContent":["import type { Payload } from '../../../index.js'\n\nimport { sendEvent } from '../index.js'\n\nexport type ServerInitEvent = {\n type: 'server-init'\n}\n\nexport const serverInit = (payload: Payload): void => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n sendEvent({\n event: {\n type: 'server-init',\n },\n payload,\n })\n}\n"],"names":["sendEvent","serverInit","payload","event","type"],"rangeMappings":";;;;;;;;;","mappings":"AAEA,SAASA,SAAS,QAAQ,cAAa;AAMvC,OAAO,MAAMC,aAAa,CAACC;IACzB,mEAAmE;IACnEF,UAAU;QACRG,OAAO;YACLC,MAAM;QACR;QACAF;IACF;AACF,EAAC"}