payload 4.0.0-internal.d28e9fb → 4.0.0-internal.fa345ef

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 (751) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +11 -0
  3. package/dist/admin/RichText.d.ts +4 -17
  4. package/dist/admin/RichText.d.ts.map +1 -1
  5. package/dist/admin/RichText.js.map +1 -1
  6. package/dist/admin/adapters/cookies.d.ts +21 -0
  7. package/dist/admin/adapters/cookies.d.ts.map +1 -0
  8. package/dist/admin/adapters/cookies.js +3 -0
  9. package/dist/admin/adapters/cookies.js.map +1 -0
  10. package/dist/admin/adapters/devReload.d.ts +9 -0
  11. package/dist/admin/adapters/devReload.d.ts.map +1 -0
  12. package/dist/admin/adapters/devReload.js +6 -0
  13. package/dist/admin/adapters/devReload.js.map +1 -0
  14. package/dist/admin/adapters/index.d.ts +7 -0
  15. package/dist/admin/adapters/index.d.ts.map +1 -0
  16. package/dist/admin/adapters/index.js +3 -0
  17. package/dist/admin/adapters/index.js.map +1 -0
  18. package/dist/admin/adapters/render.d.ts +16 -0
  19. package/dist/admin/adapters/render.d.ts.map +1 -0
  20. package/dist/admin/adapters/render.js +7 -0
  21. package/dist/admin/adapters/render.js.map +1 -0
  22. package/dist/admin/adapters/router.d.ts +56 -0
  23. package/dist/admin/adapters/router.d.ts.map +1 -0
  24. package/dist/admin/adapters/router.js +3 -0
  25. package/dist/admin/adapters/router.js.map +1 -0
  26. package/dist/admin/adapters/server.d.ts +23 -0
  27. package/dist/admin/adapters/server.d.ts.map +1 -0
  28. package/dist/admin/adapters/server.js +6 -0
  29. package/dist/admin/adapters/server.js.map +1 -0
  30. package/dist/admin/adapters/views.d.ts +36 -0
  31. package/dist/admin/adapters/views.d.ts.map +1 -0
  32. package/dist/admin/adapters/views.js +7 -0
  33. package/dist/admin/adapters/views.js.map +1 -0
  34. package/dist/admin/elements/Table.d.ts +1 -0
  35. package/dist/admin/elements/Table.d.ts.map +1 -1
  36. package/dist/admin/elements/Table.js.map +1 -1
  37. package/dist/admin/fields/Row.d.ts +2 -2
  38. package/dist/admin/fields/Row.d.ts.map +1 -1
  39. package/dist/admin/fields/Row.js.map +1 -1
  40. package/dist/admin/forms/Description.d.ts +2 -2
  41. package/dist/admin/forms/Description.d.ts.map +1 -1
  42. package/dist/admin/forms/Description.js.map +1 -1
  43. package/dist/admin/forms/Field.d.ts +10 -5
  44. package/dist/admin/forms/Field.d.ts.map +1 -1
  45. package/dist/admin/forms/Field.js.map +1 -1
  46. package/dist/admin/functions/index.d.ts +9 -0
  47. package/dist/admin/functions/index.d.ts.map +1 -1
  48. package/dist/admin/functions/index.js.map +1 -1
  49. package/dist/admin/types.d.ts +3 -2
  50. package/dist/admin/types.d.ts.map +1 -1
  51. package/dist/admin/types.js.map +1 -1
  52. package/dist/admin/views/dashboard.d.ts +7 -0
  53. package/dist/admin/views/dashboard.d.ts.map +1 -1
  54. package/dist/admin/views/dashboard.js.map +1 -1
  55. package/dist/admin/views/document.d.ts +5 -3
  56. package/dist/admin/views/document.d.ts.map +1 -1
  57. package/dist/admin/views/document.js.map +1 -1
  58. package/dist/admin/views/hierarchyList.d.ts +1 -0
  59. package/dist/admin/views/hierarchyList.d.ts.map +1 -1
  60. package/dist/admin/views/hierarchyList.js.map +1 -1
  61. package/dist/admin/views/list.d.ts +10 -1
  62. package/dist/admin/views/list.d.ts.map +1 -1
  63. package/dist/admin/views/list.js.map +1 -1
  64. package/dist/auth/baseFields/apiKey.d.ts +10 -2
  65. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  66. package/dist/auth/baseFields/apiKey.js +35 -24
  67. package/dist/auth/baseFields/apiKey.js.map +1 -1
  68. package/dist/auth/cookies.d.ts.map +1 -1
  69. package/dist/auth/defaultAccess.d.ts +1 -1
  70. package/dist/auth/defaultAccess.d.ts.map +1 -1
  71. package/dist/auth/defaultAccess.js +1 -1
  72. package/dist/auth/defaultAccess.js.map +1 -1
  73. package/dist/auth/defaultUser.d.ts.map +1 -1
  74. package/dist/auth/defaultUser.js +2 -1
  75. package/dist/auth/defaultUser.js.map +1 -1
  76. package/dist/auth/ensureUsernameOrEmail.d.ts.map +1 -1
  77. package/dist/auth/executeAccess.d.ts.map +1 -1
  78. package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
  79. package/dist/auth/extractAccessFromPermission.d.ts.map +1 -1
  80. package/dist/auth/extractJWT.d.ts.map +1 -1
  81. package/dist/auth/getAuthFields.d.ts.map +1 -1
  82. package/dist/auth/getAuthFields.js +2 -2
  83. package/dist/auth/getAuthFields.js.map +1 -1
  84. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  85. package/dist/auth/getLoginOptions.d.ts.map +1 -1
  86. package/dist/auth/isUserLocked.d.ts.map +1 -1
  87. package/dist/auth/jwt.d.ts.map +1 -1
  88. package/dist/auth/operations/access.d.ts.map +1 -1
  89. package/dist/auth/operations/auth.d.ts +2 -2
  90. package/dist/auth/operations/auth.d.ts.map +1 -1
  91. package/dist/auth/operations/auth.js.map +1 -1
  92. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  93. package/dist/auth/operations/init.d.ts.map +1 -1
  94. package/dist/auth/operations/local/auth.d.ts.map +1 -1
  95. package/dist/auth/operations/login.d.ts +2 -1
  96. package/dist/auth/operations/login.d.ts.map +1 -1
  97. package/dist/auth/operations/login.js.map +1 -1
  98. package/dist/auth/operations/logout.d.ts.map +1 -1
  99. package/dist/auth/operations/me.d.ts.map +1 -1
  100. package/dist/auth/operations/me.js.map +1 -1
  101. package/dist/auth/operations/refresh.d.ts.map +1 -1
  102. package/dist/auth/operations/refresh.js +9 -3
  103. package/dist/auth/operations/refresh.js.map +1 -1
  104. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  105. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  106. package/dist/auth/operations/resetPassword.js.map +1 -1
  107. package/dist/auth/operations/unlock.d.ts.map +1 -1
  108. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  109. package/dist/auth/sendVerificationEmail.d.ts +2 -2
  110. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  111. package/dist/auth/sendVerificationEmail.js +1 -1
  112. package/dist/auth/sendVerificationEmail.js.map +1 -1
  113. package/dist/auth/sessions.d.ts +4 -5
  114. package/dist/auth/sessions.d.ts.map +1 -1
  115. package/dist/auth/sessions.js +5 -3
  116. package/dist/auth/sessions.js.map +1 -1
  117. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  118. package/dist/auth/strategies/apiKey.js +6 -17
  119. package/dist/auth/strategies/apiKey.js.map +1 -1
  120. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  121. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  122. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
  123. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  124. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  125. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
  126. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  127. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  128. package/dist/auth/types.d.ts +28 -21
  129. package/dist/auth/types.d.ts.map +1 -1
  130. package/dist/auth/types.js.map +1 -1
  131. package/dist/bin/build.d.ts +25 -0
  132. package/dist/bin/build.d.ts.map +1 -0
  133. package/dist/bin/build.js +80 -0
  134. package/dist/bin/build.js.map +1 -0
  135. package/dist/bin/build.spec.js +170 -0
  136. package/dist/bin/build.spec.js.map +1 -0
  137. package/dist/bin/generateImportMap/index.d.ts.map +1 -1
  138. package/dist/bin/generateImportMap/index.js +8 -5
  139. package/dist/bin/generateImportMap/index.js.map +1 -1
  140. package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
  141. package/dist/bin/generateImportMap/iterateCollections.js +11 -0
  142. package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
  143. package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
  144. package/dist/bin/generateImportMap/iterateConfig.js +12 -0
  145. package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
  146. package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
  147. package/dist/bin/generateImportMap/iterateFields.js +4 -1
  148. package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
  149. package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -1
  150. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts +5 -1
  151. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -1
  152. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js +32 -18
  153. package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -1
  154. package/dist/bin/generateTypes.d.ts +3 -2
  155. package/dist/bin/generateTypes.d.ts.map +1 -1
  156. package/dist/bin/generateTypes.js +11 -1
  157. package/dist/bin/generateTypes.js.map +1 -1
  158. package/dist/bin/index.d.ts.map +1 -1
  159. package/dist/bin/index.js +9 -0
  160. package/dist/bin/index.js.map +1 -1
  161. package/dist/bin/loadEnv.d.ts +3 -1
  162. package/dist/bin/loadEnv.d.ts.map +1 -1
  163. package/dist/bin/loadEnv.js +40 -10
  164. package/dist/bin/loadEnv.js.map +1 -1
  165. package/dist/bin/migrate.d.ts.map +1 -1
  166. package/dist/collections/config/client.d.ts +1 -1
  167. package/dist/collections/config/client.d.ts.map +1 -1
  168. package/dist/collections/config/client.js +1 -0
  169. package/dist/collections/config/client.js.map +1 -1
  170. package/dist/collections/config/defaults.d.ts +0 -4
  171. package/dist/collections/config/defaults.d.ts.map +1 -1
  172. package/dist/collections/config/defaults.js +2 -17
  173. package/dist/collections/config/defaults.js.map +1 -1
  174. package/dist/collections/config/defaults.spec.js +47 -0
  175. package/dist/collections/config/defaults.spec.js.map +1 -0
  176. package/dist/collections/config/sanitize.d.ts +10 -1
  177. package/dist/collections/config/sanitize.d.ts.map +1 -1
  178. package/dist/collections/config/sanitize.js +214 -230
  179. package/dist/collections/config/sanitize.js.map +1 -1
  180. package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
  181. package/dist/collections/config/types.d.ts +11 -7
  182. package/dist/collections/config/types.d.ts.map +1 -1
  183. package/dist/collections/config/types.js.map +1 -1
  184. package/dist/collections/config/useAsTitle.d.ts.map +1 -1
  185. package/dist/collections/dataloader.d.ts.map +1 -1
  186. package/dist/collections/endpoints/create.d.ts.map +1 -1
  187. package/dist/collections/endpoints/create.js +0 -2
  188. package/dist/collections/endpoints/create.js.map +1 -1
  189. package/dist/collections/endpoints/updateByID.d.ts.map +1 -1
  190. package/dist/collections/endpoints/updateByID.js +1 -2
  191. package/dist/collections/endpoints/updateByID.js.map +1 -1
  192. package/dist/collections/operations/count.d.ts.map +1 -1
  193. package/dist/collections/operations/count.js +1 -0
  194. package/dist/collections/operations/count.js.map +1 -1
  195. package/dist/collections/operations/countVersions.d.ts.map +1 -1
  196. package/dist/collections/operations/create.d.ts +0 -1
  197. package/dist/collections/operations/create.d.ts.map +1 -1
  198. package/dist/collections/operations/create.js +15 -6
  199. package/dist/collections/operations/create.js.map +1 -1
  200. package/dist/collections/operations/delete.d.ts.map +1 -1
  201. package/dist/collections/operations/delete.js +3 -0
  202. package/dist/collections/operations/delete.js.map +1 -1
  203. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  204. package/dist/collections/operations/duplicate.d.ts.map +1 -1
  205. package/dist/collections/operations/find.d.ts.map +1 -1
  206. package/dist/collections/operations/findByID.d.ts.map +1 -1
  207. package/dist/collections/operations/findDistinct.d.ts.map +1 -1
  208. package/dist/collections/operations/findDistinct.js +1 -0
  209. package/dist/collections/operations/findDistinct.js.map +1 -1
  210. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  211. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  212. package/dist/collections/operations/local/count.d.ts +3 -3
  213. package/dist/collections/operations/local/count.d.ts.map +1 -1
  214. package/dist/collections/operations/local/count.js.map +1 -1
  215. package/dist/collections/operations/local/countVersions.d.ts +3 -3
  216. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  217. package/dist/collections/operations/local/countVersions.js.map +1 -1
  218. package/dist/collections/operations/local/create.d.ts +3 -3
  219. package/dist/collections/operations/local/create.d.ts.map +1 -1
  220. package/dist/collections/operations/local/create.js.map +1 -1
  221. package/dist/collections/operations/local/delete.d.ts +3 -3
  222. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  223. package/dist/collections/operations/local/delete.js.map +1 -1
  224. package/dist/collections/operations/local/duplicate.d.ts +3 -3
  225. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  226. package/dist/collections/operations/local/duplicate.js.map +1 -1
  227. package/dist/collections/operations/local/find.d.ts +3 -3
  228. package/dist/collections/operations/local/find.d.ts.map +1 -1
  229. package/dist/collections/operations/local/find.js.map +1 -1
  230. package/dist/collections/operations/local/findByID.d.ts +3 -3
  231. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  232. package/dist/collections/operations/local/findByID.js.map +1 -1
  233. package/dist/collections/operations/local/findDistinct.d.ts +2 -2
  234. package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
  235. package/dist/collections/operations/local/findDistinct.js.map +1 -1
  236. package/dist/collections/operations/local/findVersionByID.d.ts +3 -3
  237. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  238. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  239. package/dist/collections/operations/local/findVersions.d.ts +3 -3
  240. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  241. package/dist/collections/operations/local/findVersions.js.map +1 -1
  242. package/dist/collections/operations/local/restoreVersion.d.ts +3 -3
  243. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  244. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  245. package/dist/collections/operations/local/update.d.ts +7 -11
  246. package/dist/collections/operations/local/update.d.ts.map +1 -1
  247. package/dist/collections/operations/local/update.js +1 -2
  248. package/dist/collections/operations/local/update.js.map +1 -1
  249. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  250. package/dist/collections/operations/update.d.ts +0 -1
  251. package/dist/collections/operations/update.d.ts.map +1 -1
  252. package/dist/collections/operations/update.js +8 -4
  253. package/dist/collections/operations/update.js.map +1 -1
  254. package/dist/collections/operations/updateByID.d.ts +0 -1
  255. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  256. package/dist/collections/operations/updateByID.js +1 -5
  257. package/dist/collections/operations/updateByID.js.map +1 -1
  258. package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
  259. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts +9 -0
  260. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -0
  261. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js +170 -0
  262. package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js.map +1 -0
  263. package/dist/collections/operations/utilities/sanitizeSortQuery.d.ts.map +1 -1
  264. package/dist/collections/operations/utilities/types.d.ts +0 -9
  265. package/dist/collections/operations/utilities/types.d.ts.map +1 -1
  266. package/dist/collections/operations/utilities/types.js.map +1 -1
  267. package/dist/collections/operations/utilities/update.d.ts +1 -2
  268. package/dist/collections/operations/utilities/update.d.ts.map +1 -1
  269. package/dist/collections/operations/utilities/update.js +64 -65
  270. package/dist/collections/operations/utilities/update.js.map +1 -1
  271. package/dist/config/build.d.ts.map +1 -1
  272. package/dist/config/build.js +8 -0
  273. package/dist/config/build.js.map +1 -1
  274. package/dist/config/client.d.ts +3 -3
  275. package/dist/config/client.d.ts.map +1 -1
  276. package/dist/config/client.js +2 -1
  277. package/dist/config/client.js.map +1 -1
  278. package/dist/config/defaults.d.ts +0 -4
  279. package/dist/config/defaults.d.ts.map +1 -1
  280. package/dist/config/defaults.js +0 -78
  281. package/dist/config/defaults.js.map +1 -1
  282. package/dist/config/definePlugin.d.ts +10 -10
  283. package/dist/config/definePlugin.d.ts.map +1 -1
  284. package/dist/config/definePlugin.js +7 -11
  285. package/dist/config/definePlugin.js.map +1 -1
  286. package/dist/config/orderable/index.d.ts.map +1 -1
  287. package/dist/config/orderable/index.js +23 -0
  288. package/dist/config/orderable/index.js.map +1 -1
  289. package/dist/config/sanitize.d.ts.map +1 -1
  290. package/dist/config/sanitize.js +362 -271
  291. package/dist/config/sanitize.js.map +1 -1
  292. package/dist/config/types.d.ts +125 -38
  293. package/dist/config/types.d.ts.map +1 -1
  294. package/dist/config/types.js +2 -0
  295. package/dist/config/types.js.map +1 -1
  296. package/dist/database/combineQueries.d.ts.map +1 -1
  297. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  298. package/dist/database/getLocalizedPaths.js +1 -1
  299. package/dist/database/getLocalizedPaths.js.map +1 -1
  300. package/dist/database/migrations/findMigrationDir.d.ts.map +1 -1
  301. package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
  302. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  303. package/dist/database/migrations/migrationsCollection.js +2 -1
  304. package/dist/database/migrations/migrationsCollection.js.map +1 -1
  305. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  306. package/dist/database/migrations/writeMigrationIndex.d.ts.map +1 -1
  307. package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
  308. package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
  309. package/dist/duplicateDocument/index.d.ts.map +1 -1
  310. package/dist/email/getStringifiedToAddress.d.ts.map +1 -1
  311. package/dist/errors/ValidationError.d.ts +1 -0
  312. package/dist/errors/ValidationError.d.ts.map +1 -1
  313. package/dist/errors/ValidationError.js.map +1 -1
  314. package/dist/exports/internal.d.ts +0 -1
  315. package/dist/exports/internal.d.ts.map +1 -1
  316. package/dist/exports/internal.js +0 -1
  317. package/dist/exports/internal.js.map +1 -1
  318. package/dist/exports/migrations.d.ts +5 -13
  319. package/dist/exports/migrations.d.ts.map +1 -1
  320. package/dist/exports/migrations.js +5 -13
  321. package/dist/exports/migrations.js.map +1 -1
  322. package/dist/exports/shared.d.ts +23 -1
  323. package/dist/exports/shared.d.ts.map +1 -1
  324. package/dist/exports/shared.js +23 -1
  325. package/dist/exports/shared.js.map +1 -1
  326. package/dist/fields/baseFields/slug/countVersions.d.ts.map +1 -1
  327. package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
  328. package/dist/fields/baseFields/slug/index.js +1 -1
  329. package/dist/fields/baseFields/slug/index.js.map +1 -1
  330. package/dist/fields/config/client.d.ts +3 -3
  331. package/dist/fields/config/client.d.ts.map +1 -1
  332. package/dist/fields/config/client.js +12 -13
  333. package/dist/fields/config/client.js.map +1 -1
  334. package/dist/fields/config/sanitize.d.ts.map +1 -1
  335. package/dist/fields/config/sanitize.js +315 -338
  336. package/dist/fields/config/sanitize.js.map +1 -1
  337. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  338. package/dist/fields/config/types.d.ts +45 -66
  339. package/dist/fields/config/types.d.ts.map +1 -1
  340. package/dist/fields/config/types.js +1 -1
  341. package/dist/fields/config/types.js.map +1 -1
  342. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  343. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  344. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  345. package/dist/fields/hooks/afterChange/promise.js +1 -1
  346. package/dist/fields/hooks/afterChange/promise.js.map +1 -1
  347. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  348. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  349. package/dist/fields/hooks/afterRead/promise.js +12 -3
  350. package/dist/fields/hooks/afterRead/promise.js.map +1 -1
  351. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  352. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  353. package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
  354. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
  355. package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
  356. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  357. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  358. package/dist/fields/hooks/beforeChange/promise.js +3 -3
  359. package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
  360. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  361. package/dist/fields/hooks/beforeDuplicate/index.d.ts.map +1 -1
  362. package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
  363. package/dist/fields/hooks/beforeDuplicate/promise.js +2 -2
  364. package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
  365. package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
  366. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  367. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  368. package/dist/fields/hooks/beforeValidate/promise.js +11 -2
  369. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  370. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  371. package/dist/fields/isFieldDisabled.d.ts.map +1 -1
  372. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  373. package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
  374. package/dist/fields/validations.d.ts.map +1 -1
  375. package/dist/fields/validations.js +5 -4
  376. package/dist/fields/validations.js.map +1 -1
  377. package/dist/globals/config/client.d.ts.map +1 -1
  378. package/dist/globals/config/sanitize.d.ts +6 -1
  379. package/dist/globals/config/sanitize.d.ts.map +1 -1
  380. package/dist/globals/config/sanitize.js +122 -132
  381. package/dist/globals/config/sanitize.js.map +1 -1
  382. package/dist/globals/config/sanitize.spec.js +43 -0
  383. package/dist/globals/config/sanitize.spec.js.map +1 -0
  384. package/dist/globals/endpoints/update.d.ts.map +1 -1
  385. package/dist/globals/endpoints/update.js +0 -2
  386. package/dist/globals/endpoints/update.js.map +1 -1
  387. package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
  388. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  389. package/dist/globals/operations/findOne.d.ts.map +1 -1
  390. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  391. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  392. package/dist/globals/operations/local/countVersions.d.ts +3 -3
  393. package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
  394. package/dist/globals/operations/local/countVersions.js.map +1 -1
  395. package/dist/globals/operations/local/findOne.d.ts +3 -3
  396. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  397. package/dist/globals/operations/local/findOne.js.map +1 -1
  398. package/dist/globals/operations/local/findVersionByID.d.ts +3 -3
  399. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  400. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  401. package/dist/globals/operations/local/findVersions.d.ts +3 -3
  402. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  403. package/dist/globals/operations/local/findVersions.js.map +1 -1
  404. package/dist/globals/operations/local/restoreVersion.d.ts +3 -3
  405. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  406. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  407. package/dist/globals/operations/local/update.d.ts +7 -9
  408. package/dist/globals/operations/local/update.d.ts.map +1 -1
  409. package/dist/globals/operations/local/update.js +1 -2
  410. package/dist/globals/operations/local/update.js.map +1 -1
  411. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  412. package/dist/globals/operations/update.d.ts +0 -1
  413. package/dist/globals/operations/update.d.ts.map +1 -1
  414. package/dist/globals/operations/update.js +52 -58
  415. package/dist/globals/operations/update.js.map +1 -1
  416. package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
  417. package/dist/hierarchy/buildParentField.d.ts.map +1 -1
  418. package/dist/hierarchy/constants.d.ts.map +1 -1
  419. package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
  420. package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -1
  421. package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -1
  422. package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -1
  423. package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -1
  424. package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -1
  425. package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -1
  426. package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -1
  427. package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -1
  428. package/dist/hierarchy/resolveHierarchyCollections.js +1 -1
  429. package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
  430. package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -1
  431. package/dist/hierarchy/sanitizeHierarchyCollection.js +3 -1
  432. package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -1
  433. package/dist/hierarchy/types.d.ts +8 -1
  434. package/dist/hierarchy/types.d.ts.map +1 -1
  435. package/dist/hierarchy/types.js.map +1 -1
  436. package/dist/index.bundled.d.ts +808 -366
  437. package/dist/index.d.ts +72 -24
  438. package/dist/index.d.ts.map +1 -1
  439. package/dist/index.js +55 -55
  440. package/dist/index.js.map +1 -1
  441. package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
  442. package/dist/kv/adapters/DatabaseKVAdapter.js +1 -0
  443. package/dist/kv/adapters/DatabaseKVAdapter.js.map +1 -1
  444. package/dist/locked-documents/config.d.ts.map +1 -1
  445. package/dist/locked-documents/config.js +2 -1
  446. package/dist/locked-documents/config.js.map +1 -1
  447. package/dist/preferences/config.d.ts.map +1 -1
  448. package/dist/preferences/config.js +2 -1
  449. package/dist/preferences/config.js.map +1 -1
  450. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  451. package/dist/preferences/keys.d.ts +4 -0
  452. package/dist/preferences/keys.d.ts.map +1 -1
  453. package/dist/preferences/keys.js +4 -1
  454. package/dist/preferences/keys.js.map +1 -1
  455. package/dist/preferences/types.d.ts +15 -0
  456. package/dist/preferences/types.d.ts.map +1 -1
  457. package/dist/preferences/types.js +3 -1
  458. package/dist/preferences/types.js.map +1 -1
  459. package/dist/query-presets/access.d.ts.map +1 -1
  460. package/dist/query-presets/config.d.ts.map +1 -1
  461. package/dist/query-presets/config.js +77 -37
  462. package/dist/query-presets/config.js.map +1 -1
  463. package/dist/query-presets/constraints.d.ts.map +1 -1
  464. package/dist/query-presets/constraints.js +3 -2
  465. package/dist/query-presets/constraints.js.map +1 -1
  466. package/dist/queues/config/collection.d.ts.map +1 -1
  467. package/dist/queues/config/collection.js +2 -1
  468. package/dist/queues/config/collection.js.map +1 -1
  469. package/dist/queues/config/generateJobsJSONSchemas.d.ts +1 -1
  470. package/dist/queues/config/generateJobsJSONSchemas.d.ts.map +1 -1
  471. package/dist/queues/config/generateJobsJSONSchemas.js +33 -12
  472. package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
  473. package/dist/queues/config/global.d.ts.map +1 -1
  474. package/dist/queues/config/global.js +2 -1
  475. package/dist/queues/config/global.js.map +1 -1
  476. package/dist/queues/endpoints/run.d.ts.map +1 -1
  477. package/dist/queues/localAPI.d.ts.map +1 -1
  478. package/dist/queues/operations/handleSchedules/getQueuesWithSchedules.d.ts.map +1 -1
  479. package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
  480. package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
  481. package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
  482. package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
  483. package/dist/queues/utilities/getJobTaskStatus.d.ts.map +1 -1
  484. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  485. package/dist/types/index.d.ts +18 -8
  486. package/dist/types/index.d.ts.map +1 -1
  487. package/dist/types/index.js.map +1 -1
  488. package/dist/uploads/checkFileAccess.d.ts.map +1 -1
  489. package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
  490. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  491. package/dist/uploads/endpoints/getFileFromURL.d.ts.map +1 -1
  492. package/dist/uploads/endpoints/getFileFromURL.js +9 -5
  493. package/dist/uploads/endpoints/getFileFromURL.js.map +1 -1
  494. package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
  495. package/dist/uploads/fetchAPI-multipart/processNested.d.ts.map +1 -1
  496. package/dist/uploads/fetchAPI-multipart/utilities.d.ts.map +1 -1
  497. package/dist/uploads/fileExists.d.ts.map +1 -1
  498. package/dist/uploads/generateFileData.d.ts +2 -1
  499. package/dist/uploads/generateFileData.d.ts.map +1 -1
  500. package/dist/uploads/generateFileData.js +5 -2
  501. package/dist/uploads/generateFileData.js.map +1 -1
  502. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  503. package/dist/uploads/getBaseFields.js +7 -19
  504. package/dist/uploads/getBaseFields.js.map +1 -1
  505. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  506. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  507. package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
  508. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  509. package/dist/uploads/image-resizing/createImageSize.d.ts.map +1 -1
  510. package/dist/uploads/image-resizing/generateImageSizeFilename.d.ts.map +1 -1
  511. package/dist/uploads/image-resizing/getImageResizeAction.d.ts.map +1 -1
  512. package/dist/uploads/image-resizing/parseFilename.d.ts.map +1 -1
  513. package/dist/uploads/image-resizing/sanitizeResizeConfig.d.ts.map +1 -1
  514. package/dist/uploads/matchMimeType.d.ts +8 -0
  515. package/dist/uploads/matchMimeType.d.ts.map +1 -0
  516. package/dist/uploads/matchMimeType.js +19 -0
  517. package/dist/uploads/matchMimeType.js.map +1 -0
  518. package/dist/uploads/matchMimeType.spec.js +66 -0
  519. package/dist/uploads/matchMimeType.spec.js.map +1 -0
  520. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  521. package/dist/uploads/safeFetch.d.ts +1 -1
  522. package/dist/uploads/safeFetch.d.ts.map +1 -1
  523. package/dist/uploads/safeFetch.js +11 -5
  524. package/dist/uploads/safeFetch.js.map +1 -1
  525. package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
  526. package/dist/uploads/tempFile.d.ts.map +1 -1
  527. package/dist/uploads/types.d.ts +33 -29
  528. package/dist/uploads/types.d.ts.map +1 -1
  529. package/dist/uploads/types.js.map +1 -1
  530. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  531. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
  532. package/dist/utilities/addDataAndFileToRequest.js +6 -0
  533. package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
  534. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
  535. package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
  536. package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -1
  537. package/dist/utilities/appendDateTimezoneSelectFields.js +2 -2
  538. package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
  539. package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
  540. package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
  541. package/dist/utilities/canAccessAdmin.d.ts.map +1 -1
  542. package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
  543. package/dist/utilities/configToJSONSchema.d.ts +68 -16
  544. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  545. package/dist/utilities/configToJSONSchema.js +311 -117
  546. package/dist/utilities/configToJSONSchema.js.map +1 -1
  547. package/dist/utilities/configToJSONSchema.spec.js +619 -85
  548. package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
  549. package/dist/utilities/createLocalReq.d.ts +2 -2
  550. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  551. package/dist/utilities/createLocalReq.js.map +1 -1
  552. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  553. package/dist/utilities/createPayloadRequest.js +1 -0
  554. package/dist/utilities/createPayloadRequest.js.map +1 -1
  555. package/dist/utilities/deepCopyObject.d.ts.map +1 -1
  556. package/dist/utilities/deepCopyObject.js +8 -0
  557. package/dist/utilities/deepCopyObject.js.map +1 -1
  558. package/dist/utilities/dependencies/dependencyChecker.js +1 -1
  559. package/dist/utilities/dependencies/dependencyChecker.js.map +1 -1
  560. package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -1
  561. package/dist/utilities/dependencies/getDependencies.js +5 -5
  562. package/dist/utilities/dependencies/getDependencies.js.map +1 -1
  563. package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -1
  564. package/dist/utilities/dynamicImport.js +1 -1
  565. package/dist/utilities/dynamicImport.js.map +1 -1
  566. package/dist/utilities/escapeRegExp.d.ts.map +1 -1
  567. package/dist/utilities/extractID.d.ts.map +1 -1
  568. package/dist/utilities/filterDataToSelectedLocales.d.ts.map +1 -1
  569. package/dist/utilities/filterDataToSelectedLocales.js +5 -12
  570. package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
  571. package/dist/utilities/filterDataToSelectedLocales.spec.js +1 -2
  572. package/dist/utilities/filterDataToSelectedLocales.spec.js.map +1 -1
  573. package/dist/utilities/flattenAllFields.d.ts.map +1 -1
  574. package/dist/utilities/flattenAllFields.js +78 -102
  575. package/dist/utilities/flattenAllFields.js.map +1 -1
  576. package/dist/utilities/formatAdminURL.d.ts.map +1 -1
  577. package/dist/utilities/formatErrors.d.ts.map +1 -1
  578. package/dist/utilities/formatErrors.js +3 -1
  579. package/dist/utilities/formatErrors.js.map +1 -1
  580. package/dist/utilities/formatLabels.d.ts.map +1 -1
  581. package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -1
  582. package/dist/utilities/getBlockSelect.d.ts.map +1 -1
  583. package/dist/utilities/getDataByPath.d.ts.map +1 -1
  584. package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
  585. package/dist/utilities/getEntityPermissions/getEntityPermissions.js +2 -0
  586. package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
  587. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts +7 -1
  588. package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
  589. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js +24 -7
  590. package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
  591. package/dist/utilities/getFieldByPath.d.ts.map +1 -1
  592. package/dist/utilities/getFieldByPath.js +1 -1
  593. package/dist/utilities/getFieldByPath.js.map +1 -1
  594. package/dist/utilities/getFieldPermissions.d.ts.map +1 -1
  595. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  596. package/dist/utilities/getRequestEntity.d.ts.map +1 -1
  597. package/dist/utilities/getRequestLanguage.d.ts +2 -2
  598. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  599. package/dist/utilities/getRequestLanguage.js.map +1 -1
  600. package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
  601. package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
  602. package/dist/utilities/getSelectMode.d.ts.map +1 -1
  603. package/dist/utilities/getSiblingData.d.ts.map +1 -1
  604. package/dist/utilities/getTranslatedLabel.d.ts.map +1 -1
  605. package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
  606. package/dist/utilities/getVersionsConfig.js.map +1 -1
  607. package/dist/utilities/handleEndpoints.d.ts.map +1 -1
  608. package/dist/utilities/handleEndpoints.js +7 -4
  609. package/dist/utilities/handleEndpoints.js.map +1 -1
  610. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  611. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  612. package/dist/utilities/isURLAllowed.d.ts.map +1 -1
  613. package/dist/utilities/isValidID.d.ts.map +1 -1
  614. package/dist/utilities/logError.d.ts.map +1 -1
  615. package/dist/utilities/logger.d.ts.map +1 -1
  616. package/dist/utilities/mergeHeaders.d.ts.map +1 -1
  617. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -1
  618. package/dist/utilities/mergeLocalizedData.d.ts +14 -4
  619. package/dist/utilities/mergeLocalizedData.d.ts.map +1 -1
  620. package/dist/utilities/mergeLocalizedData.js +54 -46
  621. package/dist/utilities/mergeLocalizedData.js.map +1 -1
  622. package/dist/utilities/mergeLocalizedData.spec.js +23 -23
  623. package/dist/utilities/mergeLocalizedData.spec.js.map +1 -1
  624. package/dist/utilities/optionsAreEqual.d.ts.map +1 -1
  625. package/dist/utilities/parseBooleanString.d.ts.map +1 -1
  626. package/dist/utilities/parseCookies.d.ts.map +1 -1
  627. package/dist/utilities/parseParams/index.d.ts +2 -5
  628. package/dist/utilities/parseParams/index.d.ts.map +1 -1
  629. package/dist/utilities/parseParams/index.js.map +1 -1
  630. package/dist/utilities/parseParams/index.spec.js +0 -9
  631. package/dist/utilities/parseParams/index.spec.js.map +1 -1
  632. package/dist/utilities/profiling.d.ts.map +1 -1
  633. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  634. package/dist/utilities/resolveSelect.d.ts.map +1 -1
  635. package/dist/utilities/routeError.d.ts.map +1 -1
  636. package/dist/utilities/sanitizeFallbackLocale.d.ts.map +1 -1
  637. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  638. package/dist/utilities/sanitizeJoinParams.d.ts.map +1 -1
  639. package/dist/utilities/sanitizePopulateParam.d.ts.map +1 -1
  640. package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
  641. package/dist/utilities/sanitizeSelectParam.d.ts.map +1 -1
  642. package/dist/utilities/sanitizeSortParams.d.ts.map +1 -1
  643. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  644. package/dist/utilities/slugify.d.ts.map +1 -1
  645. package/dist/utilities/stripUnselectedFields.d.ts.map +1 -1
  646. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  647. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  648. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  649. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  650. package/dist/utilities/timestamp.d.ts.map +1 -1
  651. package/dist/utilities/toKebabCase.d.ts.map +1 -1
  652. package/dist/utilities/transformColumnPreferences.d.ts.map +1 -1
  653. package/dist/utilities/transformColumnPreferences.js +4 -2
  654. package/dist/utilities/transformColumnPreferences.js.map +1 -1
  655. package/dist/utilities/transformWhereQuery.d.ts.map +1 -1
  656. package/dist/utilities/traverseFields.d.ts.map +1 -1
  657. package/dist/utilities/traverseFields.js +2 -4
  658. package/dist/utilities/traverseFields.js.map +1 -1
  659. package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
  660. package/dist/utilities/traverseForLocalizedFields.js +3 -0
  661. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  662. package/dist/utilities/unflatten.d.ts.map +1 -1
  663. package/dist/utilities/validateMimeType.d.ts.map +1 -1
  664. package/dist/utilities/validateTimezones.d.ts.map +1 -1
  665. package/dist/utilities/validateWhereQuery.d.ts.map +1 -1
  666. package/dist/utilities/wordBoundariesRegex.d.ts.map +1 -1
  667. package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
  668. package/dist/versions/baseFields.d.ts +1 -2
  669. package/dist/versions/baseFields.d.ts.map +1 -1
  670. package/dist/versions/baseFields.js +0 -13
  671. package/dist/versions/baseFields.js.map +1 -1
  672. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  673. package/dist/versions/buildCollectionFields.js +0 -2
  674. package/dist/versions/buildCollectionFields.js.map +1 -1
  675. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  676. package/dist/versions/buildGlobalFields.js +0 -2
  677. package/dist/versions/buildGlobalFields.js.map +1 -1
  678. package/dist/versions/buildSingleLocalePublishData.d.ts +32 -0
  679. package/dist/versions/buildSingleLocalePublishData.d.ts.map +1 -0
  680. package/dist/versions/buildSingleLocalePublishData.js +37 -0
  681. package/dist/versions/buildSingleLocalePublishData.js.map +1 -0
  682. package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
  683. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  684. package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
  685. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  686. package/dist/versions/drafts/getQueryDraftsSelect.d.ts.map +1 -1
  687. package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
  688. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  689. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  690. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  691. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  692. package/dist/versions/migrations/localizeStatus/shared.d.ts.map +1 -1
  693. package/dist/versions/saveVersion.d.ts +0 -2
  694. package/dist/versions/saveVersion.d.ts.map +1 -1
  695. package/dist/versions/saveVersion.js +12 -17
  696. package/dist/versions/saveVersion.js.map +1 -1
  697. package/dist/versions/schedule/job.d.ts.map +1 -1
  698. package/dist/versions/schedule/job.js +2 -9
  699. package/dist/versions/schedule/job.js.map +1 -1
  700. package/dist/versions/types.d.ts +2 -15
  701. package/dist/versions/types.d.ts.map +1 -1
  702. package/dist/versions/types.js.map +1 -1
  703. package/package.json +23 -20
  704. package/dist/database/migrations/templates/localizeStatus.d.ts +0 -10
  705. package/dist/database/migrations/templates/localizeStatus.d.ts.map +0 -1
  706. package/dist/database/migrations/templates/localizeStatus.js +0 -54
  707. package/dist/database/migrations/templates/localizeStatus.js.map +0 -1
  708. package/dist/utilities/sanitizeProfiler.d.ts +0 -38
  709. package/dist/utilities/sanitizeProfiler.d.ts.map +0 -1
  710. package/dist/utilities/sanitizeProfiler.js +0 -101
  711. package/dist/utilities/sanitizeProfiler.js.map +0 -1
  712. package/dist/versions/migrations/localizeStatus/index.d.ts +0 -12
  713. package/dist/versions/migrations/localizeStatus/index.d.ts.map +0 -1
  714. package/dist/versions/migrations/localizeStatus/index.js +0 -33
  715. package/dist/versions/migrations/localizeStatus/index.js.map +0 -1
  716. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts +0 -9
  717. package/dist/versions/migrations/localizeStatus/mongo/down.d.ts.map +0 -1
  718. package/dist/versions/migrations/localizeStatus/mongo/down.js +0 -112
  719. package/dist/versions/migrations/localizeStatus/mongo/down.js.map +0 -1
  720. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts +0 -8
  721. package/dist/versions/migrations/localizeStatus/mongo/index.d.ts.map +0 -1
  722. package/dist/versions/migrations/localizeStatus/mongo/index.js +0 -8
  723. package/dist/versions/migrations/localizeStatus/mongo/index.js.map +0 -1
  724. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts +0 -9
  725. package/dist/versions/migrations/localizeStatus/mongo/up.d.ts.map +0 -1
  726. package/dist/versions/migrations/localizeStatus/mongo/up.js +0 -220
  727. package/dist/versions/migrations/localizeStatus/mongo/up.js.map +0 -1
  728. package/dist/versions/migrations/localizeStatus/sql/down.d.ts +0 -11
  729. package/dist/versions/migrations/localizeStatus/sql/down.d.ts.map +0 -1
  730. package/dist/versions/migrations/localizeStatus/sql/down.js +0 -213
  731. package/dist/versions/migrations/localizeStatus/sql/down.js.map +0 -1
  732. package/dist/versions/migrations/localizeStatus/sql/index.d.ts +0 -8
  733. package/dist/versions/migrations/localizeStatus/sql/index.d.ts.map +0 -1
  734. package/dist/versions/migrations/localizeStatus/sql/index.js +0 -8
  735. package/dist/versions/migrations/localizeStatus/sql/index.js.map +0 -1
  736. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts +0 -13
  737. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts.map +0 -1
  738. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js +0 -51
  739. package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js.map +0 -1
  740. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts +0 -13
  741. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts.map +0 -1
  742. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js +0 -54
  743. package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js.map +0 -1
  744. package/dist/versions/migrations/localizeStatus/sql/up.d.ts +0 -11
  745. package/dist/versions/migrations/localizeStatus/sql/up.d.ts.map +0 -1
  746. package/dist/versions/migrations/localizeStatus/sql/up.js +0 -277
  747. package/dist/versions/migrations/localizeStatus/sql/up.js.map +0 -1
  748. package/dist/versions/saveSnapshot.d.ts +0 -18
  749. package/dist/versions/saveSnapshot.d.ts.map +0 -1
  750. package/dist/versions/saveSnapshot.js +0 -38
  751. package/dist/versions/saveSnapshot.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/utilities/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,KAAK,EAAkC,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAsGlG,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE;IAC1C;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC7C;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;CACxC,KAAK,OAAO,GAAG,IAAI,CAAA;AAEpB,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,aAAa,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAA;IAC5D,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;IACjC,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;CACxC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,oJAYxB,kBAAkB,KAAG,IA0WvB,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/utilities/traverseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,KAAK,EAAkC,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAiGlG,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE;IAC1C;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC7C;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;CACxC,KAAK,OAAO,GAAG,IAAI,CAAA;AAEpB,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,aAAa,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAA;IAC5D,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;IACjC,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;CACxC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GAAI,iJAY5B,kBAAkB,KAAG,IA0WvB,CAAA"}
@@ -15,8 +15,7 @@ const traverseArrayOrBlocksField = ({ callback, callbackStack, config, data, fie
15
15
  });
16
16
  }
17
17
  if (field.type === 'blocks') {
18
- for (const _block of field.blockReferences ?? field.blocks){
19
- // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks
18
+ for (const _block of field.blocks){
20
19
  const block = typeof _block === 'string' ? config?.blocks?.find((b)=>b.slug === _block) : _block;
21
20
  if (block) {
22
21
  traverseFields({
@@ -38,8 +37,7 @@ const traverseArrayOrBlocksField = ({ callback, callbackStack, config, data, fie
38
37
  for (const ref of data){
39
38
  let fields;
40
39
  if (field.type === 'blocks' && typeof ref?.blockType === 'string') {
41
- // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks
42
- const block = field.blockReferences ? config?.blocks?.find((b)=>b.slug === ref.blockType) ?? field.blockReferences.find((b)=>typeof b !== 'string' && b.slug === ref.blockType) : field.blocks.find((b)=>b.slug === ref.blockType);
40
+ const block = config?.blocks?.find((b)=>b.slug === ref.blockType) ?? field.blocks.find((b)=>typeof b !== 'string' && b.slug === ref.blockType);
43
41
  fields = block?.fields;
44
42
  } else if (field.type === 'array') {
45
43
  fields = field.fields;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/traverseFields.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from '../config/types.js'\nimport type { ArrayField, Block, BlocksField, Field, TabAsField } from '../fields/config/types.js'\n\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldShouldBeLocalized,\n tabHasName,\n} from '../fields/config/types.js'\n\nconst traverseArrayOrBlocksField = ({\n callback,\n callbackStack,\n config,\n data,\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized,\n parentPath,\n parentRef,\n}: {\n callback: TraverseFieldsCallback\n callbackStack: (() => ReturnType<TraverseFieldsCallback>)[]\n config?: Config | SanitizedConfig\n data: Record<string, unknown>[]\n field: ArrayField | BlocksField\n fillEmpty: boolean\n leavesFirst: boolean\n parentIsLocalized: boolean\n parentPath: string\n parentRef?: unknown\n}) => {\n if (fillEmpty) {\n if (field.type === 'array') {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: `${parentPath}${field.name}.`,\n parentRef,\n })\n }\n if (field.type === 'blocks') {\n for (const _block of field.blockReferences ?? field.blocks) {\n // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks\n const block =\n typeof _block === 'string' ? config?.blocks?.find((b) => b.slug === _block) : _block\n if (block) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: block.fields,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: `${parentPath}${field.name}.`,\n parentRef,\n })\n }\n }\n }\n return\n }\n for (const ref of data) {\n let fields!: Field[]\n if (field.type === 'blocks' && typeof ref?.blockType === 'string') {\n // TODO: iterate over blocks mapped to block slug in v4, or pass through payload.blocks\n const block = field.blockReferences\n ? ((config?.blocks?.find((b) => b.slug === ref.blockType) ??\n field.blockReferences.find(\n (b) => typeof b !== 'string' && b.slug === ref.blockType,\n )) as Block)\n : field.blocks.find((b) => b.slug === ref.blockType)\n\n fields = block?.fields as Field[]\n } else if (field.type === 'array') {\n fields = field.fields\n }\n\n if (fields) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: `${parentPath}${field.name}.`,\n parentRef,\n ref,\n })\n }\n }\n}\n\nexport type TraverseFieldsCallback = (args: {\n /**\n * The current field\n */\n field: Field | TabAsField\n /**\n * Function that when called will skip the current field and continue to the next\n */\n next?: () => void\n parentIsLocalized: boolean\n parentPath: string\n /**\n * The parent reference object\n */\n parentRef?: Record<string, unknown> | unknown\n /**\n * The current reference object\n */\n ref?: Record<string, unknown> | unknown\n}) => boolean | void\n\ntype TraverseFieldsArgs = {\n callback: TraverseFieldsCallback\n callbackStack?: (() => ReturnType<TraverseFieldsCallback>)[]\n config?: Config | SanitizedConfig\n fields: (Field | TabAsField)[]\n fillEmpty?: boolean\n isTopLevel?: boolean\n /**\n * @default false\n *\n * if this is `true`, the callback functions of the leaf fields will be called before the parent fields.\n * The return value of the callback function will be ignored.\n */\n leavesFirst?: boolean\n parentIsLocalized?: boolean\n parentPath?: string\n parentRef?: Record<string, unknown> | unknown\n ref?: Record<string, unknown> | unknown\n}\n\n/**\n * Iterate a recurse an array of fields, calling a callback for each field\n *\n * @param fields\n * @param callback callback called for each field, discontinue looping if callback returns truthy\n * @param fillEmpty fill empty properties to use this without data\n * @param ref the data or any artifacts assigned in the callback during field recursion\n * @param parentRef the data or any artifacts assigned in the callback during field recursion one level up\n */\nexport const traverseFields = ({\n callback,\n callbackStack: _callbackStack = [],\n config,\n fields,\n fillEmpty = true,\n isTopLevel = true,\n leavesFirst = false,\n parentIsLocalized,\n parentPath = '',\n parentRef = {},\n ref = {},\n}: TraverseFieldsArgs): void => {\n const fieldsMatched = fields.some((field) => {\n let callbackStack: (() => ReturnType<TraverseFieldsCallback>)[] = []\n if (!isTopLevel) {\n callbackStack = _callbackStack\n }\n let skip = false\n const next = () => {\n skip = true\n }\n\n if (!ref || typeof ref !== 'object') {\n return\n }\n\n if (\n !leavesFirst &&\n callback &&\n callback({ field, next, parentIsLocalized: parentIsLocalized!, parentPath, parentRef, ref })\n ) {\n return true\n } else if (leavesFirst) {\n callbackStack.push(() =>\n callback({\n field,\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef,\n ref,\n }),\n )\n }\n\n if (skip) {\n return false\n }\n\n // avoid mutation of ref for all fields\n let currentRef = ref\n let currentParentRef = parentRef\n\n if (field.type === 'tabs' && 'tabs' in field) {\n for (const tab of field.tabs) {\n let tabRef = ref\n\n if (skip) {\n return false\n }\n\n if ('name' in tab && tab.name) {\n if (\n !ref[tab.name as keyof typeof ref] ||\n typeof ref[tab.name as keyof typeof ref] !== 'object'\n ) {\n if (fillEmpty) {\n if (tab.localized) {\n ;(ref as Record<string, any>)[tab.name] = { en: {} }\n } else {\n ;(ref as Record<string, any>)[tab.name] = {}\n }\n } else {\n continue\n }\n }\n\n if (\n callback &&\n !leavesFirst &&\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n })\n ) {\n return true\n } else if (leavesFirst) {\n callbackStack.push(() =>\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n }),\n )\n }\n\n tabRef = tabRef[tab.name as keyof typeof tabRef]\n\n if (tab.localized) {\n for (const key in tabRef as Record<string, unknown>) {\n if (\n tabRef[key as keyof typeof tabRef] &&\n typeof tabRef[key as keyof typeof tabRef] === 'object'\n ) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: tab.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: true,\n parentPath: `${parentPath}${tab.name}.`,\n parentRef: currentParentRef,\n ref: tabRef[key as keyof typeof tabRef],\n })\n }\n }\n }\n } else {\n if (\n callback &&\n !leavesFirst &&\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n })\n ) {\n return true\n } else if (leavesFirst) {\n callbackStack.push(() =>\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n }),\n )\n }\n }\n\n if (!tab.localized) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: tab.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: false,\n parentPath: tabHasName(tab) ? `${parentPath}${tab.name}.` : parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n })\n }\n\n if (skip) {\n return false\n }\n }\n\n return\n }\n\n if (field.type === 'tab' || fieldHasSubFields(field) || field.type === 'blocks') {\n if ('name' in field && field.name) {\n currentParentRef = currentRef\n if (!ref[field.name as keyof typeof ref]) {\n if (fillEmpty) {\n if (field.type === 'group' || field.type === 'tab') {\n if (fieldShouldBeLocalized({ field, parentIsLocalized: parentIsLocalized! })) {\n ;(ref as Record<string, any>)[field.name] = { en: {} }\n } else {\n ;(ref as Record<string, any>)[field.name] = {}\n }\n } else if (field.type === 'array' || field.type === 'blocks') {\n if (fieldShouldBeLocalized({ field, parentIsLocalized: parentIsLocalized! })) {\n ;(ref as Record<string, any>)[field.name] = { en: [] }\n } else {\n ;(ref as Record<string, any>)[field.name] = []\n }\n }\n } else {\n return\n }\n }\n currentRef = ref[field.name as keyof typeof ref]\n }\n\n if (\n (field.type === 'tab' || field.type === 'group') &&\n fieldShouldBeLocalized({ field, parentIsLocalized: parentIsLocalized! }) &&\n currentRef &&\n typeof currentRef === 'object'\n ) {\n if (fieldAffectsData(field)) {\n for (const key in currentRef as Record<string, unknown>) {\n if (currentRef[key as keyof typeof currentRef]) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: true,\n parentPath: field.name ? `${parentPath}${field.name}.` : parentPath,\n parentRef: currentParentRef,\n ref: currentRef[key as keyof typeof currentRef],\n })\n }\n }\n } else {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized,\n parentRef: currentParentRef,\n ref: currentRef,\n })\n }\n\n return\n }\n\n if (\n (field.type === 'blocks' || field.type === 'array') &&\n currentRef &&\n typeof currentRef === 'object'\n ) {\n // TODO: `?? field.localized ?? false` shouldn't be necessary, but right now it\n // is so that all fields are correctly traversed in copyToLocale and\n // therefore pass the localization integration tests.\n // I tried replacing the `!parentIsLocalized` condition with `parentIsLocalized === false`\n // in `fieldShouldBeLocalized`, but several tests failed. We must be calling it with incorrect\n // parameters somewhere.\n if (\n fieldShouldBeLocalized({\n field,\n parentIsLocalized: parentIsLocalized ?? false,\n })\n ) {\n if (Array.isArray(currentRef)) {\n traverseArrayOrBlocksField({\n callback,\n callbackStack,\n config,\n data: currentRef,\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized: true,\n parentPath,\n parentRef: currentParentRef,\n })\n } else {\n for (const key in currentRef as Record<string, unknown>) {\n const localeData = currentRef[key as keyof typeof currentRef]\n if (!Array.isArray(localeData)) {\n continue\n }\n\n traverseArrayOrBlocksField({\n callback,\n callbackStack,\n config,\n data: localeData,\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized: true,\n parentPath,\n parentRef: currentParentRef,\n })\n }\n }\n } else if (Array.isArray(currentRef)) {\n traverseArrayOrBlocksField({\n callback,\n callbackStack,\n config,\n data: currentRef as Record<string, unknown>[],\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n })\n }\n } else if (currentRef && typeof currentRef === 'object' && 'fields' in field) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized,\n parentPath: 'name' in field && field.name ? `${parentPath}${field.name}.` : parentPath,\n parentRef: currentParentRef,\n ref: currentRef,\n })\n }\n }\n\n if (isTopLevel) {\n callbackStack.reverse().forEach((cb) => {\n cb()\n })\n }\n })\n\n // Fallback: Handle dot-notation paths when no fields matched\n if (!fieldsMatched && ref && typeof ref === 'object') {\n Object.keys(ref).forEach((key) => {\n if (key.includes('.')) {\n // Split on first dot only\n const firstDotIndex = key.indexOf('.')\n const fieldName = key.substring(0, firstDotIndex)\n const remainingPath = key.substring(firstDotIndex + 1)\n\n // Create nested structure for this field\n if (!ref[fieldName as keyof typeof ref]) {\n ;(ref as Record<string, unknown>)[fieldName] = {}\n }\n\n const nestedRef = ref[fieldName as keyof typeof ref] as Record<string, unknown>\n\n // Move the value to the nested structure\n nestedRef[remainingPath] = (ref as Record<string, unknown>)[key]\n delete (ref as Record<string, unknown>)[key]\n\n // Recursively process the newly created nested structure\n // The field traversal will naturally handle it if the field exists in the schema\n traverseFields({\n callback,\n callbackStack: _callbackStack,\n config,\n fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized,\n parentPath,\n parentRef,\n ref,\n })\n }\n })\n }\n}\n"],"names":["fieldAffectsData","fieldHasSubFields","fieldShouldBeLocalized","tabHasName","traverseArrayOrBlocksField","callback","callbackStack","config","data","field","fillEmpty","leavesFirst","parentIsLocalized","parentPath","parentRef","type","traverseFields","fields","isTopLevel","localized","name","_block","blockReferences","blocks","block","find","b","slug","ref","blockType","_callbackStack","fieldsMatched","some","skip","next","push","currentRef","currentParentRef","tab","tabs","tabRef","en","key","Array","isArray","localeData","reverse","forEach","cb","Object","keys","includes","firstDotIndex","indexOf","fieldName","substring","remainingPath","nestedRef"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/traverseFields.ts"],"sourcesContent":["import type { Config, SanitizedConfig } from '../config/types.js'\nimport type { ArrayField, Block, BlocksField, Field, TabAsField } from '../fields/config/types.js'\n\nimport {\n fieldAffectsData,\n fieldHasSubFields,\n fieldShouldBeLocalized,\n tabHasName,\n} from '../fields/config/types.js'\n\nconst traverseArrayOrBlocksField = ({\n callback,\n callbackStack,\n config,\n data,\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized,\n parentPath,\n parentRef,\n}: {\n callback: TraverseFieldsCallback\n callbackStack: (() => ReturnType<TraverseFieldsCallback>)[]\n config?: Config | SanitizedConfig\n data: Record<string, unknown>[]\n field: ArrayField | BlocksField\n fillEmpty: boolean\n leavesFirst: boolean\n parentIsLocalized: boolean\n parentPath: string\n parentRef?: unknown\n}) => {\n if (fillEmpty) {\n if (field.type === 'array') {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: `${parentPath}${field.name}.`,\n parentRef,\n })\n }\n if (field.type === 'blocks') {\n for (const _block of field.blocks) {\n const block =\n typeof _block === 'string' ? config?.blocks?.find((b) => b.slug === _block) : _block\n if (block) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: block.fields,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: `${parentPath}${field.name}.`,\n parentRef,\n })\n }\n }\n }\n return\n }\n for (const ref of data) {\n let fields!: Field[]\n if (field.type === 'blocks' && typeof ref?.blockType === 'string') {\n const block =\n config?.blocks?.find((b) => b.slug === ref.blockType) ??\n field.blocks.find((b): b is Block => typeof b !== 'string' && b.slug === ref.blockType)\n\n fields = block?.fields as Field[]\n } else if (field.type === 'array') {\n fields = field.fields\n }\n\n if (fields) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: `${parentPath}${field.name}.`,\n parentRef,\n ref,\n })\n }\n }\n}\n\nexport type TraverseFieldsCallback = (args: {\n /**\n * The current field\n */\n field: Field | TabAsField\n /**\n * Function that when called will skip the current field and continue to the next\n */\n next?: () => void\n parentIsLocalized: boolean\n parentPath: string\n /**\n * The parent reference object\n */\n parentRef?: Record<string, unknown> | unknown\n /**\n * The current reference object\n */\n ref?: Record<string, unknown> | unknown\n}) => boolean | void\n\ntype TraverseFieldsArgs = {\n callback: TraverseFieldsCallback\n callbackStack?: (() => ReturnType<TraverseFieldsCallback>)[]\n config?: Config | SanitizedConfig\n fields: (Field | TabAsField)[]\n fillEmpty?: boolean\n isTopLevel?: boolean\n /**\n * @default false\n *\n * if this is `true`, the callback functions of the leaf fields will be called before the parent fields.\n * The return value of the callback function will be ignored.\n */\n leavesFirst?: boolean\n parentIsLocalized?: boolean\n parentPath?: string\n parentRef?: Record<string, unknown> | unknown\n ref?: Record<string, unknown> | unknown\n}\n\n/**\n * Iterate a recurse an array of fields, calling a callback for each field\n *\n * @param fields\n * @param callback callback called for each field, discontinue looping if callback returns truthy\n * @param fillEmpty fill empty properties to use this without data\n * @param ref the data or any artifacts assigned in the callback during field recursion\n * @param parentRef the data or any artifacts assigned in the callback during field recursion one level up\n */\nexport const traverseFields = ({\n callback,\n callbackStack: _callbackStack = [],\n config,\n fields,\n fillEmpty = true,\n isTopLevel = true,\n leavesFirst = false,\n parentIsLocalized,\n parentPath = '',\n parentRef = {},\n ref = {},\n}: TraverseFieldsArgs): void => {\n const fieldsMatched = fields.some((field) => {\n let callbackStack: (() => ReturnType<TraverseFieldsCallback>)[] = []\n if (!isTopLevel) {\n callbackStack = _callbackStack\n }\n let skip = false\n const next = () => {\n skip = true\n }\n\n if (!ref || typeof ref !== 'object') {\n return\n }\n\n if (\n !leavesFirst &&\n callback &&\n callback({ field, next, parentIsLocalized: parentIsLocalized!, parentPath, parentRef, ref })\n ) {\n return true\n } else if (leavesFirst) {\n callbackStack.push(() =>\n callback({\n field,\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef,\n ref,\n }),\n )\n }\n\n if (skip) {\n return false\n }\n\n // avoid mutation of ref for all fields\n let currentRef = ref\n let currentParentRef = parentRef\n\n if (field.type === 'tabs' && 'tabs' in field) {\n for (const tab of field.tabs) {\n let tabRef = ref\n\n if (skip) {\n return false\n }\n\n if ('name' in tab && tab.name) {\n if (\n !ref[tab.name as keyof typeof ref] ||\n typeof ref[tab.name as keyof typeof ref] !== 'object'\n ) {\n if (fillEmpty) {\n if (tab.localized) {\n ;(ref as Record<string, any>)[tab.name] = { en: {} }\n } else {\n ;(ref as Record<string, any>)[tab.name] = {}\n }\n } else {\n continue\n }\n }\n\n if (\n callback &&\n !leavesFirst &&\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n })\n ) {\n return true\n } else if (leavesFirst) {\n callbackStack.push(() =>\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n }),\n )\n }\n\n tabRef = tabRef[tab.name as keyof typeof tabRef]\n\n if (tab.localized) {\n for (const key in tabRef as Record<string, unknown>) {\n if (\n tabRef[key as keyof typeof tabRef] &&\n typeof tabRef[key as keyof typeof tabRef] === 'object'\n ) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: tab.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: true,\n parentPath: `${parentPath}${tab.name}.`,\n parentRef: currentParentRef,\n ref: tabRef[key as keyof typeof tabRef],\n })\n }\n }\n }\n } else {\n if (\n callback &&\n !leavesFirst &&\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n })\n ) {\n return true\n } else if (leavesFirst) {\n callbackStack.push(() =>\n callback({\n field: { ...tab, type: 'tab' },\n next,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n }),\n )\n }\n }\n\n if (!tab.localized) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: tab.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: false,\n parentPath: tabHasName(tab) ? `${parentPath}${tab.name}.` : parentPath,\n parentRef: currentParentRef,\n ref: tabRef,\n })\n }\n\n if (skip) {\n return false\n }\n }\n\n return\n }\n\n if (field.type === 'tab' || fieldHasSubFields(field) || field.type === 'blocks') {\n if ('name' in field && field.name) {\n currentParentRef = currentRef\n if (!ref[field.name as keyof typeof ref]) {\n if (fillEmpty) {\n if (field.type === 'group' || field.type === 'tab') {\n if (fieldShouldBeLocalized({ field, parentIsLocalized: parentIsLocalized! })) {\n ;(ref as Record<string, any>)[field.name] = { en: {} }\n } else {\n ;(ref as Record<string, any>)[field.name] = {}\n }\n } else if (field.type === 'array' || field.type === 'blocks') {\n if (fieldShouldBeLocalized({ field, parentIsLocalized: parentIsLocalized! })) {\n ;(ref as Record<string, any>)[field.name] = { en: [] }\n } else {\n ;(ref as Record<string, any>)[field.name] = []\n }\n }\n } else {\n return\n }\n }\n currentRef = ref[field.name as keyof typeof ref]\n }\n\n if (\n (field.type === 'tab' || field.type === 'group') &&\n fieldShouldBeLocalized({ field, parentIsLocalized: parentIsLocalized! }) &&\n currentRef &&\n typeof currentRef === 'object'\n ) {\n if (fieldAffectsData(field)) {\n for (const key in currentRef as Record<string, unknown>) {\n if (currentRef[key as keyof typeof currentRef]) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized: true,\n parentPath: field.name ? `${parentPath}${field.name}.` : parentPath,\n parentRef: currentParentRef,\n ref: currentRef[key as keyof typeof currentRef],\n })\n }\n }\n } else {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized,\n parentRef: currentParentRef,\n ref: currentRef,\n })\n }\n\n return\n }\n\n if (\n (field.type === 'blocks' || field.type === 'array') &&\n currentRef &&\n typeof currentRef === 'object'\n ) {\n // TODO: `?? field.localized ?? false` shouldn't be necessary, but right now it\n // is so that all fields are correctly traversed in copyToLocale and\n // therefore pass the localization integration tests.\n // I tried replacing the `!parentIsLocalized` condition with `parentIsLocalized === false`\n // in `fieldShouldBeLocalized`, but several tests failed. We must be calling it with incorrect\n // parameters somewhere.\n if (\n fieldShouldBeLocalized({\n field,\n parentIsLocalized: parentIsLocalized ?? false,\n })\n ) {\n if (Array.isArray(currentRef)) {\n traverseArrayOrBlocksField({\n callback,\n callbackStack,\n config,\n data: currentRef,\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized: true,\n parentPath,\n parentRef: currentParentRef,\n })\n } else {\n for (const key in currentRef as Record<string, unknown>) {\n const localeData = currentRef[key as keyof typeof currentRef]\n if (!Array.isArray(localeData)) {\n continue\n }\n\n traverseArrayOrBlocksField({\n callback,\n callbackStack,\n config,\n data: localeData,\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized: true,\n parentPath,\n parentRef: currentParentRef,\n })\n }\n }\n } else if (Array.isArray(currentRef)) {\n traverseArrayOrBlocksField({\n callback,\n callbackStack,\n config,\n data: currentRef as Record<string, unknown>[],\n field,\n fillEmpty,\n leavesFirst,\n parentIsLocalized: parentIsLocalized!,\n parentPath,\n parentRef: currentParentRef,\n })\n }\n } else if (currentRef && typeof currentRef === 'object' && 'fields' in field) {\n traverseFields({\n callback,\n callbackStack,\n config,\n fields: field.fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized,\n parentPath: 'name' in field && field.name ? `${parentPath}${field.name}.` : parentPath,\n parentRef: currentParentRef,\n ref: currentRef,\n })\n }\n }\n\n if (isTopLevel) {\n callbackStack.reverse().forEach((cb) => {\n cb()\n })\n }\n })\n\n // Fallback: Handle dot-notation paths when no fields matched\n if (!fieldsMatched && ref && typeof ref === 'object') {\n Object.keys(ref).forEach((key) => {\n if (key.includes('.')) {\n // Split on first dot only\n const firstDotIndex = key.indexOf('.')\n const fieldName = key.substring(0, firstDotIndex)\n const remainingPath = key.substring(firstDotIndex + 1)\n\n // Create nested structure for this field\n if (!ref[fieldName as keyof typeof ref]) {\n ;(ref as Record<string, unknown>)[fieldName] = {}\n }\n\n const nestedRef = ref[fieldName as keyof typeof ref] as Record<string, unknown>\n\n // Move the value to the nested structure\n nestedRef[remainingPath] = (ref as Record<string, unknown>)[key]\n delete (ref as Record<string, unknown>)[key]\n\n // Recursively process the newly created nested structure\n // The field traversal will naturally handle it if the field exists in the schema\n traverseFields({\n callback,\n callbackStack: _callbackStack,\n config,\n fields,\n fillEmpty,\n isTopLevel: false,\n leavesFirst,\n parentIsLocalized,\n parentPath,\n parentRef,\n ref,\n })\n }\n })\n }\n}\n"],"names":["fieldAffectsData","fieldHasSubFields","fieldShouldBeLocalized","tabHasName","traverseArrayOrBlocksField","callback","callbackStack","config","data","field","fillEmpty","leavesFirst","parentIsLocalized","parentPath","parentRef","type","traverseFields","fields","isTopLevel","localized","name","_block","blocks","block","find","b","slug","ref","blockType","_callbackStack","fieldsMatched","some","skip","next","push","currentRef","currentParentRef","tab","tabs","tabRef","en","key","Array","isArray","localeData","reverse","forEach","cb","Object","keys","includes","firstDotIndex","indexOf","fieldName","substring","remainingPath","nestedRef"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"traverseForLocalizedFields.d.ts","sourceRoot":"","sources":["../../src/utilities/traverseForLocalizedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEtD,eAAO,MAAM,0BAA0B,WAAY,KAAK,EAAE,KAAG,OA0C5D,CAAA"}
1
+ {"version":3,"file":"traverseForLocalizedFields.d.ts","sourceRoot":"","sources":["../../src/utilities/traverseForLocalizedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEtD,eAAO,MAAM,0BAA0B,GAAI,QAAQ,KAAK,EAAE,KAAG,OA6C5D,CAAA"}
@@ -15,6 +15,9 @@ export const traverseForLocalizedFields = (fields)=>{
15
15
  case 'blocks':
16
16
  if (field.blocks) {
17
17
  for (const block of field.blocks){
18
+ if (typeof block === 'string') {
19
+ continue;
20
+ }
18
21
  if (block.fields && traverseForLocalizedFields(block.fields)) {
19
22
  return true;
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/traverseForLocalizedFields.ts"],"sourcesContent":["import type { Field } from '../fields/config/types.js'\n\nexport const traverseForLocalizedFields = (fields: Field[]): boolean => {\n for (const field of fields) {\n if ('localized' in field && field.localized) {\n return true\n }\n\n switch (field.type) {\n case 'array':\n case 'collapsible':\n case 'group':\n case 'row':\n if (field.fields && traverseForLocalizedFields(field.fields)) {\n return true\n }\n break\n\n case 'blocks':\n if (field.blocks) {\n for (const block of field.blocks) {\n if (block.fields && traverseForLocalizedFields(block.fields)) {\n return true\n }\n }\n }\n break\n\n case 'tabs':\n if (field.tabs) {\n for (const tab of field.tabs) {\n if ('localized' in tab && tab.localized) {\n return true\n }\n if ('fields' in tab && tab.fields && traverseForLocalizedFields(tab.fields)) {\n return true\n }\n }\n }\n break\n }\n }\n\n return false\n}\n"],"names":["traverseForLocalizedFields","fields","field","localized","type","blocks","block","tabs","tab"],"mappings":"AAEA,OAAO,MAAMA,6BAA6B,CAACC;IACzC,KAAK,MAAMC,SAASD,OAAQ;QAC1B,IAAI,eAAeC,SAASA,MAAMC,SAAS,EAAE;YAC3C,OAAO;QACT;QAEA,OAAQD,MAAME,IAAI;YAChB,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;gBACH,IAAIF,MAAMD,MAAM,IAAID,2BAA2BE,MAAMD,MAAM,GAAG;oBAC5D,OAAO;gBACT;gBACA;YAEF,KAAK;gBACH,IAAIC,MAAMG,MAAM,EAAE;oBAChB,KAAK,MAAMC,SAASJ,MAAMG,MAAM,CAAE;wBAChC,IAAIC,MAAML,MAAM,IAAID,2BAA2BM,MAAML,MAAM,GAAG;4BAC5D,OAAO;wBACT;oBACF;gBACF;gBACA;YAEF,KAAK;gBACH,IAAIC,MAAMK,IAAI,EAAE;oBACd,KAAK,MAAMC,OAAON,MAAMK,IAAI,CAAE;wBAC5B,IAAI,eAAeC,OAAOA,IAAIL,SAAS,EAAE;4BACvC,OAAO;wBACT;wBACA,IAAI,YAAYK,OAAOA,IAAIP,MAAM,IAAID,2BAA2BQ,IAAIP,MAAM,GAAG;4BAC3E,OAAO;wBACT;oBACF;gBACF;gBACA;QACJ;IACF;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/traverseForLocalizedFields.ts"],"sourcesContent":["import type { Field } from '../fields/config/types.js'\n\nexport const traverseForLocalizedFields = (fields: Field[]): boolean => {\n for (const field of fields) {\n if ('localized' in field && field.localized) {\n return true\n }\n\n switch (field.type) {\n case 'array':\n case 'collapsible':\n case 'group':\n case 'row':\n if (field.fields && traverseForLocalizedFields(field.fields)) {\n return true\n }\n break\n\n case 'blocks':\n if (field.blocks) {\n for (const block of field.blocks) {\n if (typeof block === 'string') {\n continue\n }\n if (block.fields && traverseForLocalizedFields(block.fields)) {\n return true\n }\n }\n }\n break\n\n case 'tabs':\n if (field.tabs) {\n for (const tab of field.tabs) {\n if ('localized' in tab && tab.localized) {\n return true\n }\n if ('fields' in tab && tab.fields && traverseForLocalizedFields(tab.fields)) {\n return true\n }\n }\n }\n break\n }\n }\n\n return false\n}\n"],"names":["traverseForLocalizedFields","fields","field","localized","type","blocks","block","tabs","tab"],"mappings":"AAEA,OAAO,MAAMA,6BAA6B,CAACC;IACzC,KAAK,MAAMC,SAASD,OAAQ;QAC1B,IAAI,eAAeC,SAASA,MAAMC,SAAS,EAAE;YAC3C,OAAO;QACT;QAEA,OAAQD,MAAME,IAAI;YAChB,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;gBACH,IAAIF,MAAMD,MAAM,IAAID,2BAA2BE,MAAMD,MAAM,GAAG;oBAC5D,OAAO;gBACT;gBACA;YAEF,KAAK;gBACH,IAAIC,MAAMG,MAAM,EAAE;oBAChB,KAAK,MAAMC,SAASJ,MAAMG,MAAM,CAAE;wBAChC,IAAI,OAAOC,UAAU,UAAU;4BAC7B;wBACF;wBACA,IAAIA,MAAML,MAAM,IAAID,2BAA2BM,MAAML,MAAM,GAAG;4BAC5D,OAAO;wBACT;oBACF;gBACF;gBACA;YAEF,KAAK;gBACH,IAAIC,MAAMK,IAAI,EAAE;oBACd,KAAK,MAAMC,OAAON,MAAMK,IAAI,CAAE;wBAC5B,IAAI,eAAeC,OAAOA,IAAIL,SAAS,EAAE;4BACvC,OAAO;wBACT;wBACA,IAAI,YAAYK,OAAOA,IAAIP,MAAM,IAAID,2BAA2BQ,IAAIP,MAAM,GAAG;4BAC3E,OAAO;wBACT;oBACF;gBACF;gBACA;QACJ;IACF;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"unflatten.d.ts","sourceRoot":"","sources":["../../src/utilities/unflatten.ts"],"names":[],"mappings":"AA2BA,UAAU,IAAI;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,WAAY,GAAG,SAAS,IAAI,QA0DjD,CAAA"}
1
+ {"version":3,"file":"unflatten.d.ts","sourceRoot":"","sources":["../../src/utilities/unflatten.ts"],"names":[],"mappings":"AA2BA,UAAU,IAAI;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,GAAG,EAAE,OAAO,IAAI,QA0DjD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateMimeType.d.ts","sourceRoot":"","sources":["../../src/utilities/validateMimeType.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,aAAc,MAAM,oBAAoB,MAAM,EAAE,KAAG,OAQ/E,CAAA"}
1
+ {"version":3,"file":"validateMimeType.d.ts","sourceRoot":"","sources":["../../src/utilities/validateMimeType.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,EAAE,kBAAkB,MAAM,EAAE,KAAG,OAQ/E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateTimezones.d.ts","sourceRoot":"","sources":["../../src/utilities/validateTimezones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAQlD,KAAK,qBAAqB,GAAG;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAA;CAClC,CAAA;AAoED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,0BAA2B,qBAAqB,KAAG,IAiBhF,CAAA"}
1
+ {"version":3,"file":"validateTimezones.d.ts","sourceRoot":"","sources":["../../src/utilities/validateTimezones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAQlD,KAAK,qBAAqB,GAAG;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAA;CAClC,CAAA;AAoED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,uBAAuB,qBAAqB,KAAG,IAiBhF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateWhereQuery.d.ts","sourceRoot":"","sources":["../../src/utilities/validateWhereQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAIxD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,eAAgB,KAAK,KAAG,UAAU,IAAI,KA0CpE,CAAA"}
1
+ {"version":3,"file":"validateWhereQuery.d.ts","sourceRoot":"","sources":["../../src/utilities/validateWhereQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAIxD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,KAAK,KAAG,UAAU,IAAI,KA0CpE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"wordBoundariesRegex.d.ts","sourceRoot":"","sources":["../../src/utilities/wordBoundariesRegex.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,UAAW,MAAM,KAAG,MAanD,CAAA"}
1
+ {"version":3,"file":"wordBoundariesRegex.d.ts","sourceRoot":"","sources":["../../src/utilities/wordBoundariesRegex.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAanD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"wrapInternalEndpoints.d.ts","sourceRoot":"","sources":["../../src/utilities/wrapInternalEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKlD,eAAO,MAAM,qBAAqB,cAAe,QAAQ,EAAE,KAAG,QAAQ,EAcrE,CAAA"}
1
+ {"version":3,"file":"wrapInternalEndpoints.d.ts","sourceRoot":"","sources":["../../src/utilities/wrapInternalEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAKlD,eAAO,MAAM,qBAAqB,GAAI,WAAW,QAAQ,EAAE,KAAG,QAAQ,EAcrE,CAAA"}
@@ -1,7 +1,6 @@
1
- import type { CheckboxField, Field, Option } from '../fields/config/types.js';
1
+ import type { Field, Option } from '../fields/config/types.js';
2
2
  export declare const statuses: Option[];
3
3
  export declare const baseVersionFields: ({ localized }: {
4
4
  localized: boolean;
5
5
  }) => Field[];
6
- export declare const versionSnapshotField: CheckboxField;
7
6
  //# sourceMappingURL=baseFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseFields.d.ts","sourceRoot":"","sources":["../../src/versions/baseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAE7E,eAAO,MAAM,QAAQ,EAAE,MAAM,EAS5B,CAAA;AAED,eAAO,MAAM,iBAAiB,kBAAmB;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,KAAG,KAAK,EAgB9E,CAAA;AAOD,eAAO,MAAM,oBAAoB,EAAE,aAOlC,CAAA"}
1
+ {"version":3,"file":"baseFields.d.ts","sourceRoot":"","sources":["../../src/versions/baseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAE9D,eAAO,MAAM,QAAQ,EAAE,MAAM,EAS5B,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,eAAe;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,KAAG,KAAK,EAgB9E,CAAA"}
@@ -28,18 +28,5 @@ export const baseVersionFields = ({ localized })=>[
28
28
  options: statuses
29
29
  }
30
30
  ];
31
- // When publishing a specific locale,
32
- // we need to create a new draft which acts as a
33
- // "snapshot" to retain all existing draft data.
34
- // This field will be used to exclude any snapshot versions
35
- // from the admin Versions list
36
- export const versionSnapshotField = {
37
- name: 'snapshot',
38
- type: 'checkbox',
39
- admin: {
40
- disabled: true
41
- },
42
- index: true
43
- };
44
31
 
45
32
  //# sourceMappingURL=baseFields.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/baseFields.ts"],"sourcesContent":["// @ts-strict-ignore\nimport type { CheckboxField, Field, Option } from '../fields/config/types.js'\n\nexport const statuses: Option[] = [\n {\n label: ({ t }) => t('version:draft'),\n value: 'draft',\n },\n {\n label: ({ t }) => t('version:published'),\n value: 'published',\n },\n]\n\nexport const baseVersionFields = ({ localized }: { localized: boolean }): Field[] => [\n {\n name: '_status',\n type: 'select',\n admin: {\n components: {\n Field: false,\n },\n disabled: { bulkEdit: true },\n },\n defaultValue: 'draft',\n index: true,\n label: ({ t }) => t('version:status'),\n localized: Boolean(localized),\n options: statuses,\n },\n]\n\n// When publishing a specific locale,\n// we need to create a new draft which acts as a\n// \"snapshot\" to retain all existing draft data.\n// This field will be used to exclude any snapshot versions\n// from the admin Versions list\nexport const versionSnapshotField: CheckboxField = {\n name: 'snapshot',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n}\n"],"names":["statuses","label","t","value","baseVersionFields","localized","name","type","admin","components","Field","disabled","bulkEdit","defaultValue","index","Boolean","options","versionSnapshotField"],"mappings":"AAAA,oBAAoB;AAGpB,OAAO,MAAMA,WAAqB;IAChC;QACEC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACEF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;CACD,CAAA;AAED,OAAO,MAAMC,oBAAoB,CAAC,EAAEC,SAAS,EAA0B,GAAc;QACnF;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,YAAY;oBACVC,OAAO;gBACT;gBACAC,UAAU;oBAAEC,UAAU;gBAAK;YAC7B;YACAC,cAAc;YACdC,OAAO;YACPb,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;YACpBG,WAAWU,QAAQV;YACnBW,SAAShB;QACX;KACD,CAAA;AAED,qCAAqC;AACrC,gDAAgD;AAChD,gDAAgD;AAChD,2DAA2D;AAC3D,+BAA+B;AAC/B,OAAO,MAAMiB,uBAAsC;IACjDX,MAAM;IACNC,MAAM;IACNC,OAAO;QACLG,UAAU;IACZ;IACAG,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/baseFields.ts"],"sourcesContent":["// @ts-strict-ignore\nimport type { Field, Option } from '../fields/config/types.js'\n\nexport const statuses: Option[] = [\n {\n label: ({ t }) => t('version:draft'),\n value: 'draft',\n },\n {\n label: ({ t }) => t('version:published'),\n value: 'published',\n },\n]\n\nexport const baseVersionFields = ({ localized }: { localized: boolean }): Field[] => [\n {\n name: '_status',\n type: 'select',\n admin: {\n components: {\n Field: false,\n },\n disabled: { bulkEdit: true },\n },\n defaultValue: 'draft',\n index: true,\n label: ({ t }) => t('version:status'),\n localized: Boolean(localized),\n options: statuses,\n },\n]\n"],"names":["statuses","label","t","value","baseVersionFields","localized","name","type","admin","components","Field","disabled","bulkEdit","defaultValue","index","Boolean","options"],"mappings":"AAAA,oBAAoB;AAGpB,OAAO,MAAMA,WAAqB;IAChC;QACEC,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;IACA;QACEF,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;QACpBC,OAAO;IACT;CACD,CAAA;AAED,OAAO,MAAMC,oBAAoB,CAAC,EAAEC,SAAS,EAA0B,GAAc;QACnF;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;gBACLC,YAAY;oBACVC,OAAO;gBACT;gBACAC,UAAU;oBAAEC,UAAU;gBAAK;YAC7B;YACAC,cAAc;YACdC,OAAO;YACPb,OAAO,CAAC,EAAEC,CAAC,EAAE,GAAKA,EAAE;YACpBG,WAAWU,QAAQV;YACnBW,SAAShB;QACX;KACD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildCollectionFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildCollectionFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAKtE,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,OAAO,kBACpD,eAAe,cACX,yBAAyB,YAC3B,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EA0E3C,CAAA"}
1
+ {"version":3,"file":"buildCollectionFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildCollectionFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAItE,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,EACpE,QAAQ,eAAe,EACvB,YAAY,yBAAyB,EACrC,UAAU,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EAwE3C,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js';
2
- import { versionSnapshotField } from './baseFields.js';
3
2
  export const buildVersionCollectionFields = (config, collection, flatten)=>{
4
3
  const fields = [
5
4
  {
@@ -35,7 +34,6 @@ export const buildVersionCollectionFields = (config, collection, flatten)=>{
35
34
  ];
36
35
  if (hasDraftsEnabled(collection)) {
37
36
  if (config.localization) {
38
- fields.push(versionSnapshotField);
39
37
  fields.push({
40
38
  name: 'publishedLocale',
41
39
  type: 'select',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/buildCollectionFields.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\nimport { versionSnapshotField } from './baseFields.js'\n\nexport const buildVersionCollectionFields = <T extends boolean = false>(\n config: SanitizedConfig,\n collection: SanitizedCollectionConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n {\n name: 'parent',\n type: 'relationship',\n index: true,\n relationTo: collection.slug,\n },\n {\n name: 'version',\n type: 'group',\n fields: collection.fields.filter((field) => !('name' in field) || field.name !== 'id'),\n ...(flatten && {\n flattenedFields: collection.flattenedFields.filter((each) => each.name !== 'id'),\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (hasDraftsEnabled(collection)) {\n if (config.localization) {\n fields.push(versionSnapshotField)\n\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(collection)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","versionSnapshotField","buildVersionCollectionFields","config","collection","flatten","fields","name","type","index","relationTo","slug","filter","field","flattenedFields","each","admin","disabled","localization","push","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AACxF,SAASC,oBAAoB,QAAQ,kBAAiB;AAEtD,OAAO,MAAMC,+BAA+B,CAC1CC,QACAC,YACAC;IAEA,MAAMC,SAA2B;QAC/B;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;YACPC,YAAYN,WAAWO,IAAI;QAC7B;QACA;YACEJ,MAAM;YACNC,MAAM;YACNF,QAAQF,WAAWE,MAAM,CAACM,MAAM,CAAC,CAACC,QAAU,CAAE,CAAA,UAAUA,KAAI,KAAMA,MAAMN,IAAI,KAAK;YACjF,GAAIF,WAAW;gBACbS,iBAAiBV,WAAWU,eAAe,CAACF,MAAM,CAAC,CAACG,OAASA,KAAKR,IAAI,KAAK;YAC7E,CAAC;QACH;QACA;YACEA,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QACA;YACEF,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;KACD;IAED,IAAIT,iBAAiBI,aAAa;QAChC,IAAID,OAAOe,YAAY,EAAE;YACvBZ,OAAOa,IAAI,CAAClB;YAEZK,OAAOa,IAAI,CAAC;gBACVZ,MAAM;gBACNC,MAAM;gBACNQ,OAAO;oBACLC,UAAU;gBACZ;gBACAR,OAAO;gBACPW,SAASjB,OAAOe,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAlB,OAAOa,IAAI,CAAC;YACVZ,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QAEA,IAAIV,mBAAmBK,aAAa;YAClCE,OAAOa,IAAI,CAAC;gBACVZ,MAAM;gBACNC,MAAM;gBACNC,OAAO;YACT;QACF;IACF;IAEA,OAAOH;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/buildCollectionFields.ts"],"sourcesContent":["import type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\n\nexport const buildVersionCollectionFields = <T extends boolean = false>(\n config: SanitizedConfig,\n collection: SanitizedCollectionConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n {\n name: 'parent',\n type: 'relationship',\n index: true,\n relationTo: collection.slug,\n },\n {\n name: 'version',\n type: 'group',\n fields: collection.fields.filter((field) => !('name' in field) || field.name !== 'id'),\n ...(flatten && {\n flattenedFields: collection.flattenedFields.filter((each) => each.name !== 'id'),\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (hasDraftsEnabled(collection)) {\n if (config.localization) {\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(collection)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","buildVersionCollectionFields","config","collection","flatten","fields","name","type","index","relationTo","slug","filter","field","flattenedFields","each","admin","disabled","localization","push","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AAExF,OAAO,MAAMC,+BAA+B,CAC1CC,QACAC,YACAC;IAEA,MAAMC,SAA2B;QAC/B;YACEC,MAAM;YACNC,MAAM;YACNC,OAAO;YACPC,YAAYN,WAAWO,IAAI;QAC7B;QACA;YACEJ,MAAM;YACNC,MAAM;YACNF,QAAQF,WAAWE,MAAM,CAACM,MAAM,CAAC,CAACC,QAAU,CAAE,CAAA,UAAUA,KAAI,KAAMA,MAAMN,IAAI,KAAK;YACjF,GAAIF,WAAW;gBACbS,iBAAiBV,WAAWU,eAAe,CAACF,MAAM,CAAC,CAACG,OAASA,KAAKR,IAAI,KAAK;YAC7E,CAAC;QACH;QACA;YACEA,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QACA;YACEF,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;KACD;IAED,IAAIR,iBAAiBG,aAAa;QAChC,IAAID,OAAOe,YAAY,EAAE;YACvBZ,OAAOa,IAAI,CAAC;gBACVZ,MAAM;gBACNC,MAAM;gBACNQ,OAAO;oBACLC,UAAU;gBACZ;gBACAR,OAAO;gBACPW,SAASjB,OAAOe,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAlB,OAAOa,IAAI,CAAC;YACVZ,MAAM;YACNC,MAAM;YACNQ,OAAO;gBACLC,UAAU;YACZ;YACAR,OAAO;QACT;QAEA,IAAIT,mBAAmBI,aAAa;YAClCE,OAAOa,IAAI,CAAC;gBACVZ,MAAM;gBACNC,MAAM;gBACNC,OAAO;YACT;QACF;IACF;IAEA,OAAOH;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildGlobalFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildGlobalFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAKvE,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,OAAO,kBAChD,eAAe,UACf,qBAAqB,YACnB,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EAoE3C,CAAA"}
1
+ {"version":3,"file":"buildGlobalFields.d.ts","sourceRoot":"","sources":["../../src/versions/buildGlobalFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAIvE,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,OAAO,GAAG,KAAK,EAChE,QAAQ,eAAe,EACvB,QAAQ,qBAAqB,EAC7B,UAAU,CAAC,KACV,IAAI,SAAS,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,EAkE3C,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js';
2
- import { versionSnapshotField } from './baseFields.js';
3
2
  export const buildVersionGlobalFields = (config, global, flatten)=>{
4
3
  const fields = [
5
4
  {
@@ -29,7 +28,6 @@ export const buildVersionGlobalFields = (config, global, flatten)=>{
29
28
  ];
30
29
  if (hasDraftsEnabled(global)) {
31
30
  if (config.localization) {
32
- fields.push(versionSnapshotField);
33
31
  fields.push({
34
32
  name: 'publishedLocale',
35
33
  type: 'select',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/versions/buildGlobalFields.ts"],"sourcesContent":["import type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\nimport { versionSnapshotField } from './baseFields.js'\n\nexport const buildVersionGlobalFields = <T extends boolean = false>(\n config: SanitizedConfig,\n global: SanitizedGlobalConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n {\n name: 'version',\n type: 'group',\n fields: global.fields,\n ...(flatten && {\n flattenedFields: global.flattenedFields,\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (hasDraftsEnabled(global)) {\n if (config.localization) {\n fields.push(versionSnapshotField)\n\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(global)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","versionSnapshotField","buildVersionGlobalFields","config","global","flatten","fields","name","type","flattenedFields","admin","disabled","index","localization","push","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AACxF,SAASC,oBAAoB,QAAQ,kBAAiB;AAEtD,OAAO,MAAMC,2BAA2B,CACtCC,QACAC,QACAC;IAEA,MAAMC,SAA2B;QAC/B;YACEC,MAAM;YACNC,MAAM;YACNF,QAAQF,OAAOE,MAAM;YACrB,GAAID,WAAW;gBACbI,iBAAiBL,OAAOK,eAAe;YACzC,CAAC;QACH;QACA;YACEF,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;QACA;YACEL,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;KACD;IAED,IAAIZ,iBAAiBI,SAAS;QAC5B,IAAID,OAAOU,YAAY,EAAE;YACvBP,OAAOQ,IAAI,CAACb;YAEZK,OAAOQ,IAAI,CAAC;gBACVP,MAAM;gBACNC,MAAM;gBACNE,OAAO;oBACLC,UAAU;gBACZ;gBACAC,OAAO;gBACPG,SAASZ,OAAOU,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAb,OAAOQ,IAAI,CAAC;YACVP,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;QAEA,IAAIb,mBAAmBK,SAAS;YAC9BE,OAAOQ,IAAI,CAAC;gBACVP,MAAM;gBACNC,MAAM;gBACNI,OAAO;YACT;QACF;IACF;IAEA,OAAON;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/versions/buildGlobalFields.ts"],"sourcesContent":["import type { SanitizedConfig } from '../config/types.js'\nimport type { Field, FlattenedField } from '../fields/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\n\nimport { hasAutosaveEnabled, hasDraftsEnabled } from '../utilities/getVersionsConfig.js'\n\nexport const buildVersionGlobalFields = <T extends boolean = false>(\n config: SanitizedConfig,\n global: SanitizedGlobalConfig,\n flatten?: T,\n): true extends T ? FlattenedField[] : Field[] => {\n const fields: FlattenedField[] = [\n {\n name: 'version',\n type: 'group',\n fields: global.fields,\n ...(flatten && {\n flattenedFields: global.flattenedFields,\n })!,\n },\n {\n name: 'createdAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n {\n name: 'updatedAt',\n type: 'date',\n admin: {\n disabled: true,\n },\n index: true,\n },\n ]\n\n if (hasDraftsEnabled(global)) {\n if (config.localization) {\n fields.push({\n name: 'publishedLocale',\n type: 'select',\n admin: {\n disabled: true,\n },\n index: true,\n options: config.localization.locales.map((locale) => {\n if (typeof locale === 'string') {\n return locale\n }\n\n return locale.code\n }),\n })\n }\n\n fields.push({\n name: 'latest',\n type: 'checkbox',\n admin: {\n disabled: true,\n },\n index: true,\n })\n\n if (hasAutosaveEnabled(global)) {\n fields.push({\n name: 'autosave',\n type: 'checkbox',\n index: true,\n })\n }\n }\n\n return fields as true extends T ? FlattenedField[] : Field[]\n}\n"],"names":["hasAutosaveEnabled","hasDraftsEnabled","buildVersionGlobalFields","config","global","flatten","fields","name","type","flattenedFields","admin","disabled","index","localization","push","options","locales","map","locale","code"],"mappings":"AAIA,SAASA,kBAAkB,EAAEC,gBAAgB,QAAQ,oCAAmC;AAExF,OAAO,MAAMC,2BAA2B,CACtCC,QACAC,QACAC;IAEA,MAAMC,SAA2B;QAC/B;YACEC,MAAM;YACNC,MAAM;YACNF,QAAQF,OAAOE,MAAM;YACrB,GAAID,WAAW;gBACbI,iBAAiBL,OAAOK,eAAe;YACzC,CAAC;QACH;QACA;YACEF,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;QACA;YACEL,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;KACD;IAED,IAAIX,iBAAiBG,SAAS;QAC5B,IAAID,OAAOU,YAAY,EAAE;YACvBP,OAAOQ,IAAI,CAAC;gBACVP,MAAM;gBACNC,MAAM;gBACNE,OAAO;oBACLC,UAAU;gBACZ;gBACAC,OAAO;gBACPG,SAASZ,OAAOU,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAACC;oBACxC,IAAI,OAAOA,WAAW,UAAU;wBAC9B,OAAOA;oBACT;oBAEA,OAAOA,OAAOC,IAAI;gBACpB;YACF;QACF;QAEAb,OAAOQ,IAAI,CAAC;YACVP,MAAM;YACNC,MAAM;YACNE,OAAO;gBACLC,UAAU;YACZ;YACAC,OAAO;QACT;QAEA,IAAIZ,mBAAmBI,SAAS;YAC9BE,OAAOQ,IAAI,CAAC;gBACVP,MAAM;gBACNC,MAAM;gBACNI,OAAO;YACT;QACF;IACF;IAEA,OAAON;AACT,EAAC"}
@@ -0,0 +1,32 @@
1
+ import type { Field } from '../fields/config/types.js';
2
+ import type { SanitizedConfig } from '../index.js';
3
+ import type { JsonObject } from '../types/index.js';
4
+ type Args = {
5
+ config: SanitizedConfig;
6
+ /**
7
+ * The current main doc fetched with `locale: 'all'`.
8
+ * For collections, pass the result of `payload.db.findOne`.
9
+ * For globals, pass the result of `payload.db.findGlobal`.
10
+ */
11
+ currentDoc: JsonObject | null;
12
+ fields: Field[];
13
+ /**
14
+ * The locale being published (e.g. 'en').
15
+ */
16
+ locale: string;
17
+ /**
18
+ * The full locale-keyed result from `beforeChange` — used as the version data.
19
+ */
20
+ result: JsonObject;
21
+ };
22
+ /**
23
+ * Builds the data object to write to the main collection/global doc when publishing
24
+ * a single locale. The version row uses `result` as-is (all locales intact); the
25
+ * main doc must only contain previously-published locale data plus the new locale
26
+ * being published now.
27
+ *
28
+ * Returns the merged object (with `_status` set), ready for the DB write.
29
+ */
30
+ export declare function buildLocalizedPublishData({ config, currentDoc, fields, locale, result, }: Args): JsonObject;
31
+ export {};
32
+ //# sourceMappingURL=buildSingleLocalePublishData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSingleLocalePublishData.d.ts","sourceRoot":"","sources":["../../src/versions/buildSingleLocalePublishData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB;;;;OAIG;IACH,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACP,EAAE,IAAI,GAAG,UAAU,CAkCnB"}
@@ -0,0 +1,37 @@
1
+ import { mergeLocalizedData } from '../utilities/mergeLocalizedData.js';
2
+ /**
3
+ * Builds the data object to write to the main collection/global doc when publishing
4
+ * a single locale. The version row uses `result` as-is (all locales intact); the
5
+ * main doc must only contain previously-published locale data plus the new locale
6
+ * being published now.
7
+ *
8
+ * Returns the merged object (with `_status` set), ready for the DB write.
9
+ */ export function buildLocalizedPublishData({ config, currentDoc, fields, locale, result }) {
10
+ const currentDocStatus = currentDoc?._status && typeof currentDoc._status === 'object' ? currentDoc._status : {};
11
+ // Only carry forward locales that were previously published. The main doc can contain
12
+ // stale draft-locale data written by the initial create (which always inserts into the
13
+ // main collection, even when draft:true). Restricting to published locales prevents that
14
+ // data from leaking into the published doc.
15
+ const previouslyPublishedLocales = Object.entries(currentDocStatus).filter(([, status])=>status === 'published').map(([lc])=>lc);
16
+ const merged = mergeLocalizedData({
17
+ configBlockReferences: config.blocks,
18
+ dataWithLocales: result,
19
+ docWithLocales: currentDoc ?? {},
20
+ fields,
21
+ localesToPreserve: previouslyPublishedLocales,
22
+ localesToUpdate: [
23
+ locale
24
+ ]
25
+ });
26
+ // Build the _status map: retain existing per-locale statuses and mark the
27
+ // published locale as 'published'.
28
+ const resultStatus = result._status && typeof result._status === 'object' && !Array.isArray(result._status) ? result._status : {};
29
+ const mergedStatus = {
30
+ ...currentDocStatus
31
+ };
32
+ mergedStatus[locale] = resultStatus[locale] ?? 'published';
33
+ merged._status = mergedStatus;
34
+ return merged;
35
+ }
36
+
37
+ //# sourceMappingURL=buildSingleLocalePublishData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/versions/buildSingleLocalePublishData.ts"],"sourcesContent":["import type { Field } from '../fields/config/types.js'\nimport type { SanitizedConfig } from '../index.js'\nimport type { JsonObject } from '../types/index.js'\n\nimport { mergeLocalizedData } from '../utilities/mergeLocalizedData.js'\n\ntype Args = {\n config: SanitizedConfig\n /**\n * The current main doc fetched with `locale: 'all'`.\n * For collections, pass the result of `payload.db.findOne`.\n * For globals, pass the result of `payload.db.findGlobal`.\n */\n currentDoc: JsonObject | null\n fields: Field[]\n /**\n * The locale being published (e.g. 'en').\n */\n locale: string\n /**\n * The full locale-keyed result from `beforeChange` — used as the version data.\n */\n result: JsonObject\n}\n\n/**\n * Builds the data object to write to the main collection/global doc when publishing\n * a single locale. The version row uses `result` as-is (all locales intact); the\n * main doc must only contain previously-published locale data plus the new locale\n * being published now.\n *\n * Returns the merged object (with `_status` set), ready for the DB write.\n */\nexport function buildLocalizedPublishData({\n config,\n currentDoc,\n fields,\n locale,\n result,\n}: Args): JsonObject {\n const currentDocStatus =\n currentDoc?._status && typeof currentDoc._status === 'object'\n ? (currentDoc._status as Record<string, unknown>)\n : {}\n\n // Only carry forward locales that were previously published. The main doc can contain\n // stale draft-locale data written by the initial create (which always inserts into the\n // main collection, even when draft:true). Restricting to published locales prevents that\n // data from leaking into the published doc.\n const previouslyPublishedLocales = Object.entries(currentDocStatus)\n .filter(([, status]) => status === 'published')\n .map(([lc]) => lc)\n\n const merged = mergeLocalizedData({\n configBlockReferences: config.blocks,\n dataWithLocales: result,\n docWithLocales: currentDoc ?? {},\n fields,\n localesToPreserve: previouslyPublishedLocales,\n localesToUpdate: [locale],\n })\n\n // Build the _status map: retain existing per-locale statuses and mark the\n // published locale as 'published'.\n const resultStatus =\n result._status && typeof result._status === 'object' && !Array.isArray(result._status)\n ? (result._status as Record<string, unknown>)\n : {}\n const mergedStatus: Record<string, unknown> = { ...currentDocStatus }\n mergedStatus[locale] = resultStatus[locale] ?? 'published'\n merged._status = mergedStatus\n\n return merged\n}\n"],"names":["mergeLocalizedData","buildLocalizedPublishData","config","currentDoc","fields","locale","result","currentDocStatus","_status","previouslyPublishedLocales","Object","entries","filter","status","map","lc","merged","configBlockReferences","blocks","dataWithLocales","docWithLocales","localesToPreserve","localesToUpdate","resultStatus","Array","isArray","mergedStatus"],"mappings":"AAIA,SAASA,kBAAkB,QAAQ,qCAAoC;AAqBvE;;;;;;;CAOC,GACD,OAAO,SAASC,0BAA0B,EACxCC,MAAM,EACNC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,MAAM,EACD;IACL,MAAMC,mBACJJ,YAAYK,WAAW,OAAOL,WAAWK,OAAO,KAAK,WAChDL,WAAWK,OAAO,GACnB,CAAC;IAEP,sFAAsF;IACtF,uFAAuF;IACvF,yFAAyF;IACzF,4CAA4C;IAC5C,MAAMC,6BAA6BC,OAAOC,OAAO,CAACJ,kBAC/CK,MAAM,CAAC,CAAC,GAAGC,OAAO,GAAKA,WAAW,aAClCC,GAAG,CAAC,CAAC,CAACC,GAAG,GAAKA;IAEjB,MAAMC,SAAShB,mBAAmB;QAChCiB,uBAAuBf,OAAOgB,MAAM;QACpCC,iBAAiBb;QACjBc,gBAAgBjB,cAAc,CAAC;QAC/BC;QACAiB,mBAAmBZ;QACnBa,iBAAiB;YAACjB;SAAO;IAC3B;IAEA,0EAA0E;IAC1E,mCAAmC;IACnC,MAAMkB,eACJjB,OAAOE,OAAO,IAAI,OAAOF,OAAOE,OAAO,KAAK,YAAY,CAACgB,MAAMC,OAAO,CAACnB,OAAOE,OAAO,IAChFF,OAAOE,OAAO,GACf,CAAC;IACP,MAAMkB,eAAwC;QAAE,GAAGnB,gBAAgB;IAAC;IACpEmB,YAAY,CAACrB,OAAO,GAAGkB,YAAY,CAAClB,OAAO,IAAI;IAC/CW,OAAOR,OAAO,GAAGkB;IAEjB,OAAOV;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildVersionCompoundIndexes.d.ts","sourceRoot":"","sources":["../../src/versions/buildVersionCompoundIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAE5E,eAAO,MAAM,2BAA2B,iBAErC;IACD,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAClC,KAAG,sBAAsB,EAUzB,CAAA"}
1
+ {"version":3,"file":"buildVersionCompoundIndexes.d.ts","sourceRoot":"","sources":["../../src/versions/buildVersionCompoundIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAE5E,eAAO,MAAM,2BAA2B,GAAI,cAEzC;IACD,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAClC,KAAG,sBAAsB,EAUzB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteCollectionVersions.d.ts","sourceRoot":"","sources":["../../src/versions/deleteCollectionVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,wBAAwB,+BAAsC,IAAI,KAAG,OAAO,CAAC,IAAI,CAiB7F,CAAA"}
1
+ {"version":3,"file":"deleteCollectionVersions.d.ts","sourceRoot":"","sources":["../../src/versions/deleteCollectionVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAU,4BAA4B,IAAI,KAAG,OAAO,CAAC,IAAI,CAiB7F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteScheduledPublishJobs.d.ts","sourceRoot":"","sources":["../../src/versions/deleteScheduledPublishJobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,0BAA0B,gCAKpC,IAAI,KAAG,OAAO,CAAC,IAAI,CA2CrB,CAAA"}
1
+ {"version":3,"file":"deleteScheduledPublishJobs.d.ts","sourceRoot":"","sources":["../../src/versions/deleteScheduledPublishJobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAU,6BAK9C,IAAI,KAAG,OAAO,CAAC,IAAI,CA2CrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"appendVersionToQueryKey.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/appendVersionToQueryKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,eAAO,MAAM,uBAAuB,WAAW,KAAK,KAAQ,KAqB3D,CAAA"}
1
+ {"version":3,"file":"appendVersionToQueryKey.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/appendVersionToQueryKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,eAAO,MAAM,uBAAuB,GAAI,QAAO,KAAU,KAAG,KAqB3D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getQueryDraftsSelect.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/getQueryDraftsSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItD,eAAO,MAAM,oBAAoB,gBAE9B;IACD,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,KAAG,UAAU,GAAG,SAiBhB,CAAA"}
1
+ {"version":3,"file":"getQueryDraftsSelect.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/getQueryDraftsSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAItD,eAAO,MAAM,oBAAoB,GAAI,aAElC;IACD,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,KAAG,UAAU,GAAG,SAiBhB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getQueryDraftsSort.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/getQueryDraftsSort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,gCAG5B;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,KAAG,IA6BH,CAAA"}
1
+ {"version":3,"file":"getQueryDraftsSort.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/getQueryDraftsSort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,6BAGhC;IACD,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,KAAG,IA6BH,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"replaceWithDraftIfAvailable.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAS,MAAM,sBAAsB,CAAA;AAU7E,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAU,CAAC,SAAS,UAAU,2DAOnE,SAAS,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAsH1B,CAAA"}
1
+ {"version":3,"file":"replaceWithDraftIfAvailable.d.ts","sourceRoot":"","sources":["../../../src/versions/drafts/replaceWithDraftIfAvailable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAS,MAAM,sBAAsB,CAAA;AAU7E,KAAK,SAAS,CAAC,CAAC,IAAI;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,GAAG,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAA;IACnC,cAAc,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAU,CAAC,SAAS,UAAU,EAAE,yDAOrE,SAAS,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAsH1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"enforceMaxVersions.d.ts","sourceRoot":"","sources":["../../src/versions/enforceMaxVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAEvE,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,iEAO5B,IAAI,KAAG,OAAO,CAAC,IAAI,CAmErB,CAAA"}
1
+ {"version":3,"file":"enforceMaxVersions.d.ts","sourceRoot":"","sources":["../../src/versions/enforceMaxVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAEvE,KAAK,IAAI,GAAG;IACV,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,8DAOtC,IAAI,KAAG,OAAO,CAAC,IAAI,CAmErB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLatestCollectionVersion.d.ts","sourceRoot":"","sources":["../../src/versions/getLatestCollectionVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAOvE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,yBAAyB,CAAA;IACjC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,WAAW,CAAA;IAClB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAU,CAAC,SAAS,UAAU,yDAOlE,IAAI,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAiC9B,CAAA"}
1
+ {"version":3,"file":"getLatestCollectionVersion.d.ts","sourceRoot":"","sources":["../../src/versions/getLatestCollectionVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAOvE,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,yBAAyB,CAAA;IACjC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,WAAW,CAAA;IAClB,GAAG,CAAC,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAU,CAAC,SAAS,UAAU,GAAG,GAAG,EAAE,iDAO1E,IAAI,KAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAiC9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLatestGlobalVersion.d.ts","sourceRoot":"","sources":["../../src/versions/getLatestGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAKjF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,sBAAsB,8DAQhC,IAAI,KAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CA+C5D,CAAA"}
1
+ {"version":3,"file":"getLatestGlobalVersion.d.ts","sourceRoot":"","sources":["../../src/versions/getLatestGlobalVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAKjF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,qBAAqB,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAU,2DAQ1C,IAAI,KAAG,OAAO,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CA+C5D,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/versions/migrations/localizeStatus/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAS,MAAM,KAAG,MAMzC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,GAAG,WAAW,CAAA;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAA;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,OAAO,GACf,sBAAsB,CAoExB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CActF"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/versions/migrations/localizeStatus/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEtD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAMzC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,GAAG,WAAW,CAAA;IAC9B,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAAA;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,OAAO,GACf,sBAAsB,CAoExB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CActF"}
@@ -11,11 +11,9 @@ type Args<T extends JsonObject = JsonObject> = {
11
11
  id?: number | string;
12
12
  operation?: 'create' | 'restoreVersion' | 'update';
13
13
  payload: Payload;
14
- publishSpecificLocale?: string;
15
14
  req?: PayloadRequest;
16
15
  returning?: boolean;
17
16
  select?: SelectType;
18
- snapshot?: any;
19
17
  unpublish?: boolean;
20
18
  };
21
19
  export declare function saveVersion<TData extends JsonObject = JsonObject>(args: {
@@ -1 +1 @@
1
- {"version":3,"file":"saveVersion.d.ts","sourceRoot":"","sources":["../../src/versions/saveVersion.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,EAA8C,OAAO,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAU/E,KAAK,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,cAAc,EAAE,CAAC,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,CAAA;IAClD,OAAO,EAAE,OAAO,CAAA;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,wBAAsB,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACrE,IAAI,EAAE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAAA;AAChB,wBAAsB,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACrE,IAAI,EAAE;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GACtC,OAAO,CAAC,UAAU,CAAC,CAAA;AACtB,wBAAsB,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACrE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GACnC,OAAO,CAAC,UAAU,CAAC,CAAA"}
1
+ {"version":3,"file":"saveVersion.d.ts","sourceRoot":"","sources":["../../src/versions/saveVersion.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,EAA8C,OAAO,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAS/E,KAAK,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,cAAc,EAAE,CAAC,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,CAAA;IAClD,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,wBAAsB,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACrE,IAAI,EAAE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC,CAAA;AAChB,wBAAsB,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACrE,IAAI,EAAE;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GACtC,OAAO,CAAC,UAAU,CAAC,CAAA;AACtB,wBAAsB,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EACrE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,GACnC,OAAO,CAAC,UAAU,CAAC,CAAA"}
@@ -1,11 +1,10 @@
1
1
  import { deepCopyObjectSimple } from '../index.js';
2
- import { getVersionsMax } from '../utilities/getVersionsConfig.js';
2
+ import { getVersionsMax, hasLocalizeStatusEnabled } from '../utilities/getVersionsConfig.js';
3
3
  import { sanitizeInternalFields } from '../utilities/sanitizeInternalFields.js';
4
4
  import { getQueryDraftsSelect } from './drafts/getQueryDraftsSelect.js';
5
5
  import { enforceMaxVersions } from './enforceMaxVersions.js';
6
- import { saveSnapshot } from './saveSnapshot.js';
7
6
  import { updateLatestVersion } from './updateLatestVersion.js';
8
- export async function saveVersion({ id, autosave, collection, docWithLocales, draft, global, operation, payload, publishSpecificLocale, req, returning, select, snapshot, unpublish }) {
7
+ export async function saveVersion({ id, autosave, collection, docWithLocales, draft, global, operation, payload, req, returning, select, unpublish }) {
9
8
  let result;
10
9
  let createdNewVersion = false;
11
10
  const now = new Date().toISOString();
@@ -16,6 +15,16 @@ export async function saveVersion({ id, autosave, collection, docWithLocales, dr
16
15
  if (versionData._id) {
17
16
  delete versionData._id;
18
17
  }
18
+ // When localizeStatus is enabled, _status must be stored as a localized object.
19
+ // Callers like restoreVersion set it as a plain string — expand it here.
20
+ const entity = collection ?? global;
21
+ if (entity && payload.config.localization && hasLocalizeStatusEnabled(entity) && typeof versionData._status === 'string') {
22
+ const status = versionData._status;
23
+ versionData._status = Object.fromEntries(payload.config.localization.localeCodes.map((code)=>[
24
+ code,
25
+ status
26
+ ]));
27
+ }
19
28
  try {
20
29
  if (unpublish || autosave) {
21
30
  result = await updateLatestVersion({
@@ -37,7 +46,6 @@ export async function saveVersion({ id, autosave, collection, docWithLocales, dr
37
46
  createdAt: operation === 'restoreVersion' ? versionData.createdAt : now,
38
47
  globalSlug: undefined,
39
48
  parent: collection ? id : undefined,
40
- publishedLocale: publishSpecificLocale || undefined,
41
49
  req,
42
50
  returning,
43
51
  select: getQueryDraftsSelect({
@@ -54,19 +62,6 @@ export async function saveVersion({ id, autosave, collection, docWithLocales, dr
54
62
  createVersionArgs.globalSlug = global.slug;
55
63
  result = await payload.db.createGlobalVersion(createVersionArgs);
56
64
  }
57
- if (snapshot) {
58
- await saveSnapshot({
59
- id,
60
- autosave,
61
- collection,
62
- data: snapshot,
63
- global,
64
- payload,
65
- publishSpecificLocale,
66
- req,
67
- select
68
- });
69
- }
70
65
  }
71
66
  } catch (err) {
72
67
  let errorMessage;