payload 3.0.0-alpha.3 → 3.0.0-alpha.31

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 (774) hide show
  1. package/auth.d.ts +5 -5
  2. package/auth.js +5 -44
  3. package/bin.js +40 -1
  4. package/components.d.ts +14 -0
  5. package/components.js +71 -0
  6. package/config.d.ts +10 -10
  7. package/config.js +10 -59
  8. package/database.d.ts +22 -22
  9. package/database.js +21 -108
  10. package/dist/admin/RichText.d.ts +4 -4
  11. package/dist/admin/RichText.d.ts.map +1 -1
  12. package/dist/admin/RichText.js +2 -5
  13. package/dist/admin/elements/Cell.d.ts +2 -2
  14. package/dist/admin/elements/Cell.d.ts.map +1 -1
  15. package/dist/admin/elements/Cell.js +2 -5
  16. package/dist/admin/elements/DatePicker.js +2 -5
  17. package/dist/admin/elements/PreviewButton.js +2 -5
  18. package/dist/admin/elements/PublishButton.js +2 -5
  19. package/dist/admin/elements/SaveButton.js +2 -5
  20. package/dist/admin/elements/SaveDraftButton.js +2 -5
  21. package/dist/admin/elements/Tab.d.ts +3 -3
  22. package/dist/admin/elements/Tab.d.ts.map +1 -1
  23. package/dist/admin/elements/Tab.js +2 -5
  24. package/dist/admin/forms/Error.js +2 -5
  25. package/dist/admin/forms/FieldDescription.js +2 -5
  26. package/dist/admin/forms/FieldTypes.js +2 -5
  27. package/dist/admin/forms/Form.d.ts +22 -0
  28. package/dist/admin/forms/Form.d.ts.map +1 -1
  29. package/dist/admin/forms/Form.js +2 -5
  30. package/dist/admin/forms/Label.js +2 -5
  31. package/dist/admin/forms/RowLabel.d.ts +1 -1
  32. package/dist/admin/forms/RowLabel.d.ts.map +1 -1
  33. package/dist/admin/forms/RowLabel.js +2 -5
  34. package/dist/admin/types.d.ts +19 -18
  35. package/dist/admin/types.d.ts.map +1 -1
  36. package/dist/admin/types.js +2 -5
  37. package/dist/admin/views/types.d.ts +41 -0
  38. package/dist/admin/views/types.d.ts.map +1 -0
  39. package/dist/admin/views/types.js +3 -0
  40. package/dist/assets/assets.d.js +0 -1
  41. package/dist/auth/baseFields/accountLock.d.ts +1 -1
  42. package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
  43. package/dist/auth/baseFields/accountLock.js +6 -16
  44. package/dist/auth/baseFields/apiKey.d.ts +1 -1
  45. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  46. package/dist/auth/baseFields/apiKey.js +6 -21
  47. package/dist/auth/baseFields/auth.d.ts +1 -1
  48. package/dist/auth/baseFields/auth.d.ts.map +1 -1
  49. package/dist/auth/baseFields/auth.js +6 -16
  50. package/dist/auth/baseFields/verification.d.ts +1 -1
  51. package/dist/auth/baseFields/verification.d.ts.map +1 -1
  52. package/dist/auth/baseFields/verification.js +8 -18
  53. package/dist/auth/cookies.d.ts +2 -2
  54. package/dist/auth/cookies.d.ts.map +1 -1
  55. package/dist/auth/cookies.js +6 -33
  56. package/dist/auth/crypto.js +7 -30
  57. package/dist/auth/defaultAccess.d.ts +1 -1
  58. package/dist/auth/defaultAccess.d.ts.map +1 -1
  59. package/dist/auth/defaultAccess.js +2 -12
  60. package/dist/auth/defaultUser.d.ts +1 -1
  61. package/dist/auth/defaultUser.d.ts.map +1 -1
  62. package/dist/auth/defaultUser.js +6 -16
  63. package/dist/auth/executeAccess.d.ts +2 -2
  64. package/dist/auth/executeAccess.d.ts.map +1 -1
  65. package/dist/auth/executeAccess.js +5 -15
  66. package/dist/auth/extractJWT.d.ts +1 -1
  67. package/dist/auth/extractJWT.d.ts.map +1 -1
  68. package/dist/auth/extractJWT.js +4 -14
  69. package/dist/auth/getAccessResults.d.ts +2 -2
  70. package/dist/auth/getAccessResults.d.ts.map +1 -1
  71. package/dist/auth/getAccessResults.js +9 -19
  72. package/dist/auth/getAuthenticatedUser.d.ts +1 -1
  73. package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
  74. package/dist/auth/getAuthenticatedUser.js +2 -12
  75. package/dist/auth/getFieldsToSign.d.ts +2 -2
  76. package/dist/auth/getFieldsToSign.d.ts.map +1 -1
  77. package/dist/auth/getFieldsToSign.js +5 -15
  78. package/dist/auth/index.d.ts +3 -3
  79. package/dist/auth/index.d.ts.map +1 -1
  80. package/dist/auth/index.js +4 -27
  81. package/dist/auth/isLocked.js +2 -12
  82. package/dist/auth/operations/access.d.ts +2 -2
  83. package/dist/auth/operations/access.d.ts.map +1 -1
  84. package/dist/auth/operations/access.js +12 -22
  85. package/dist/auth/operations/forgotPassword.d.ts +2 -2
  86. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  87. package/dist/auth/operations/forgotPassword.js +17 -32
  88. package/dist/auth/operations/init.d.ts +1 -1
  89. package/dist/auth/operations/init.d.ts.map +1 -1
  90. package/dist/auth/operations/init.js +2 -12
  91. package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
  92. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  93. package/dist/auth/operations/local/forgotPassword.js +8 -18
  94. package/dist/auth/operations/local/index.d.ts +5 -5
  95. package/dist/auth/operations/local/index.d.ts.map +1 -1
  96. package/dist/auth/operations/local/index.js +12 -27
  97. package/dist/auth/operations/local/login.d.ts +4 -4
  98. package/dist/auth/operations/local/login.d.ts.map +1 -1
  99. package/dist/auth/operations/local/login.js +8 -18
  100. package/dist/auth/operations/local/resetPassword.d.ts +4 -4
  101. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  102. package/dist/auth/operations/local/resetPassword.js +8 -18
  103. package/dist/auth/operations/local/unlock.d.ts +3 -3
  104. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  105. package/dist/auth/operations/local/unlock.js +8 -18
  106. package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
  107. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  108. package/dist/auth/operations/local/verifyEmail.js +8 -18
  109. package/dist/auth/operations/login.d.ts +7 -7
  110. package/dist/auth/operations/login.d.ts.map +1 -1
  111. package/dist/auth/operations/login.js +32 -47
  112. package/dist/auth/operations/logout.d.ts +2 -2
  113. package/dist/auth/operations/logout.d.ts.map +1 -1
  114. package/dist/auth/operations/logout.js +6 -21
  115. package/dist/auth/operations/me.d.ts +3 -3
  116. package/dist/auth/operations/me.d.ts.map +1 -1
  117. package/dist/auth/operations/me.js +4 -19
  118. package/dist/auth/operations/refresh.d.ts +3 -3
  119. package/dist/auth/operations/refresh.d.ts.map +1 -1
  120. package/dist/auth/operations/refresh.js +19 -34
  121. package/dist/auth/operations/registerFirstUser.d.ts +9 -9
  122. package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
  123. package/dist/auth/operations/registerFirstUser.js +11 -21
  124. package/dist/auth/operations/resetPassword.d.ts +2 -2
  125. package/dist/auth/operations/resetPassword.d.ts.map +1 -1
  126. package/dist/auth/operations/resetPassword.js +20 -43
  127. package/dist/auth/operations/unlock.d.ts +2 -2
  128. package/dist/auth/operations/unlock.d.ts.map +1 -1
  129. package/dist/auth/operations/unlock.js +16 -39
  130. package/dist/auth/operations/verifyEmail.d.ts +2 -2
  131. package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
  132. package/dist/auth/operations/verifyEmail.js +14 -37
  133. package/dist/auth/sendVerificationEmail.d.ts +5 -5
  134. package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
  135. package/dist/auth/sendVerificationEmail.js +4 -14
  136. package/dist/auth/strategies/apiKey.d.ts +2 -2
  137. package/dist/auth/strategies/apiKey.d.ts.map +1 -1
  138. package/dist/auth/strategies/apiKey.js +4 -19
  139. package/dist/auth/strategies/jwt.d.ts +1 -1
  140. package/dist/auth/strategies/jwt.d.ts.map +1 -1
  141. package/dist/auth/strategies/jwt.js +6 -21
  142. package/dist/auth/strategies/local/authenticate.d.ts +1 -1
  143. package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
  144. package/dist/auth/strategies/local/authenticate.js +6 -21
  145. package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
  146. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
  147. package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
  148. package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
  149. package/dist/auth/strategies/local/register.d.ts +3 -3
  150. package/dist/auth/strategies/local/register.d.ts.map +1 -1
  151. package/dist/auth/strategies/local/register.js +6 -16
  152. package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
  153. package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
  154. package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
  155. package/dist/auth/types.d.ts +2 -2
  156. package/dist/auth/types.d.ts.map +1 -1
  157. package/dist/auth/types.js +2 -12
  158. package/dist/bin/generateTypes.d.ts +1 -1
  159. package/dist/bin/generateTypes.d.ts.map +1 -1
  160. package/dist/bin/generateTypes.js +12 -27
  161. package/dist/bin/index.js +11 -53
  162. package/dist/bin/loadEnv.js +13 -26
  163. package/dist/bin/migrate.js +15 -30
  164. package/dist/collections/config/build.d.ts +1 -1
  165. package/dist/collections/config/build.d.ts.map +1 -1
  166. package/dist/collections/config/build.js +2 -12
  167. package/dist/collections/config/defaults.d.ts +5 -5
  168. package/dist/collections/config/defaults.js +9 -32
  169. package/dist/collections/config/sanitize.d.ts +2 -2
  170. package/dist/collections/config/sanitize.d.ts.map +1 -1
  171. package/dist/collections/config/sanitize.js +34 -49
  172. package/dist/collections/config/schema.js +157 -172
  173. package/dist/collections/config/types.d.ts +13 -13
  174. package/dist/collections/config/types.d.ts.map +1 -1
  175. package/dist/collections/config/types.js +2 -5
  176. package/dist/collections/dataloader.d.ts +2 -2
  177. package/dist/collections/dataloader.d.ts.map +1 -1
  178. package/dist/collections/dataloader.js +8 -23
  179. package/dist/collections/operations/create.d.ts +9 -9
  180. package/dist/collections/operations/create.d.ts.map +1 -1
  181. package/dist/collections/operations/create.js +38 -53
  182. package/dist/collections/operations/delete.d.ts +9 -10
  183. package/dist/collections/operations/delete.d.ts.map +1 -1
  184. package/dist/collections/operations/delete.js +27 -42
  185. package/dist/collections/operations/deleteByID.d.ts +2 -3
  186. package/dist/collections/operations/deleteByID.d.ts.map +1 -1
  187. package/dist/collections/operations/deleteByID.js +27 -42
  188. package/dist/collections/operations/docAccess.d.ts +3 -3
  189. package/dist/collections/operations/docAccess.d.ts.map +1 -1
  190. package/dist/collections/operations/docAccess.js +12 -22
  191. package/dist/collections/operations/find.d.ts +3 -4
  192. package/dist/collections/operations/find.d.ts.map +1 -1
  193. package/dist/collections/operations/find.js +25 -40
  194. package/dist/collections/operations/findByID.d.ts +2 -2
  195. package/dist/collections/operations/findByID.d.ts.map +1 -1
  196. package/dist/collections/operations/findByID.js +21 -36
  197. package/dist/collections/operations/findVersionByID.d.ts +3 -3
  198. package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
  199. package/dist/collections/operations/findVersionByID.js +19 -34
  200. package/dist/collections/operations/findVersions.d.ts +4 -5
  201. package/dist/collections/operations/findVersions.d.ts.map +1 -1
  202. package/dist/collections/operations/findVersions.js +20 -35
  203. package/dist/collections/operations/local/create.d.ts +4 -5
  204. package/dist/collections/operations/local/create.d.ts.map +1 -1
  205. package/dist/collections/operations/local/create.js +10 -25
  206. package/dist/collections/operations/local/delete.d.ts +5 -5
  207. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  208. package/dist/collections/operations/local/delete.js +10 -20
  209. package/dist/collections/operations/local/find.d.ts +3 -4
  210. package/dist/collections/operations/local/find.d.ts.map +1 -1
  211. package/dist/collections/operations/local/find.js +8 -18
  212. package/dist/collections/operations/local/findByID.d.ts +2 -4
  213. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  214. package/dist/collections/operations/local/findByID.js +8 -18
  215. package/dist/collections/operations/local/findVersionByID.d.ts +3 -4
  216. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  217. package/dist/collections/operations/local/findVersionByID.js +8 -18
  218. package/dist/collections/operations/local/findVersions.d.ts +4 -5
  219. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  220. package/dist/collections/operations/local/findVersions.js +8 -18
  221. package/dist/collections/operations/local/index.d.ts +13 -13
  222. package/dist/collections/operations/local/index.d.ts.map +1 -1
  223. package/dist/collections/operations/local/index.js +20 -35
  224. package/dist/collections/operations/local/restoreVersion.d.ts +2 -3
  225. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  226. package/dist/collections/operations/local/restoreVersion.js +8 -18
  227. package/dist/collections/operations/local/update.d.ts +4 -5
  228. package/dist/collections/operations/local/update.d.ts.map +1 -1
  229. package/dist/collections/operations/local/update.js +12 -27
  230. package/dist/collections/operations/restoreVersion.d.ts +2 -2
  231. package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
  232. package/dist/collections/operations/restoreVersion.js +26 -41
  233. package/dist/collections/operations/update.d.ts +7 -8
  234. package/dist/collections/operations/update.d.ts.map +1 -1
  235. package/dist/collections/operations/update.js +43 -58
  236. package/dist/collections/operations/updateByID.d.ts +9 -9
  237. package/dist/collections/operations/updateByID.d.ts.map +1 -1
  238. package/dist/collections/operations/updateByID.js +44 -59
  239. package/dist/collections/operations/utils.d.ts +12 -12
  240. package/dist/collections/operations/utils.d.ts.map +1 -1
  241. package/dist/collections/operations/utils.js +3 -12
  242. package/dist/config/build.d.ts +1 -1
  243. package/dist/config/build.d.ts.map +1 -1
  244. package/dist/config/build.js +9 -15
  245. package/dist/config/clientFiles.js +2 -12
  246. package/dist/config/createClientConfig.d.ts +2 -2
  247. package/dist/config/createClientConfig.d.ts.map +1 -1
  248. package/dist/config/createClientConfig.js +12 -25
  249. package/dist/config/defaults.d.ts +1 -1
  250. package/dist/config/defaults.d.ts.map +1 -1
  251. package/dist/config/defaults.js +4 -19
  252. package/dist/config/find.js +18 -33
  253. package/dist/config/load.d.ts +2 -4
  254. package/dist/config/load.d.ts.map +1 -1
  255. package/dist/config/load.js +8 -37
  256. package/dist/config/sanitize.d.ts +1 -1
  257. package/dist/config/sanitize.d.ts.map +1 -1
  258. package/dist/config/sanitize.js +25 -40
  259. package/dist/config/schema.d.ts.map +1 -1
  260. package/dist/config/schema.js +116 -133
  261. package/dist/config/shared/adminViewSchema.js +9 -24
  262. package/dist/config/shared/componentSchema.js +21 -50
  263. package/dist/config/types.d.ts +21 -30
  264. package/dist/config/types.d.ts.map +1 -1
  265. package/dist/config/types.js +9 -21
  266. package/dist/config/validate.d.ts +1 -1
  267. package/dist/config/validate.d.ts.map +1 -1
  268. package/dist/config/validate.js +15 -71
  269. package/dist/database/combineQueries.d.ts +1 -1
  270. package/dist/database/combineQueries.d.ts.map +1 -1
  271. package/dist/database/combineQueries.js +4 -14
  272. package/dist/database/createDatabaseAdapter.d.ts +1 -1
  273. package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
  274. package/dist/database/createDatabaseAdapter.js +14 -24
  275. package/dist/database/flattenWhereToOperators.d.ts +1 -1
  276. package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
  277. package/dist/database/flattenWhereToOperators.js +2 -12
  278. package/dist/database/getLocalizedPaths.d.ts +3 -3
  279. package/dist/database/getLocalizedPaths.d.ts.map +1 -1
  280. package/dist/database/getLocalizedPaths.js +7 -22
  281. package/dist/database/migrations/createMigration.d.ts +1 -1
  282. package/dist/database/migrations/createMigration.d.ts.map +1 -1
  283. package/dist/database/migrations/createMigration.js +7 -22
  284. package/dist/database/migrations/getMigrations.d.ts +2 -2
  285. package/dist/database/migrations/getMigrations.d.ts.map +1 -1
  286. package/dist/database/migrations/getMigrations.js +4 -12
  287. package/dist/database/migrations/migrate.d.ts +1 -1
  288. package/dist/database/migrations/migrate.d.ts.map +1 -1
  289. package/dist/database/migrations/migrate.js +12 -22
  290. package/dist/database/migrations/migrateDown.d.ts +1 -1
  291. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  292. package/dist/database/migrations/migrateDown.js +12 -22
  293. package/dist/database/migrations/migrateRefresh.d.ts +1 -1
  294. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  295. package/dist/database/migrations/migrateRefresh.js +16 -24
  296. package/dist/database/migrations/migrateReset.d.ts +1 -1
  297. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  298. package/dist/database/migrations/migrateReset.js +12 -22
  299. package/dist/database/migrations/migrateStatus.d.ts +1 -1
  300. package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
  301. package/dist/database/migrations/migrateStatus.js +8 -18
  302. package/dist/database/migrations/migrationTemplate.js +2 -12
  303. package/dist/database/migrations/migrationsCollection.d.ts +1 -1
  304. package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
  305. package/dist/database/migrations/migrationsCollection.js +2 -12
  306. package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
  307. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  308. package/dist/database/migrations/readMigrationFiles.js +12 -24
  309. package/dist/database/queryValidation/types.d.ts +2 -2
  310. package/dist/database/queryValidation/types.d.ts.map +1 -1
  311. package/dist/database/queryValidation/types.js +2 -5
  312. package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
  313. package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
  314. package/dist/database/queryValidation/validateQueryPaths.js +13 -28
  315. package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
  316. package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
  317. package/dist/database/queryValidation/validateSearchParams.js +17 -25
  318. package/dist/database/types.d.ts +9 -7
  319. package/dist/database/types.d.ts.map +1 -1
  320. package/dist/database/types.js +2 -5
  321. package/dist/email/build.d.ts +2 -2
  322. package/dist/email/build.d.ts.map +1 -1
  323. package/dist/email/build.js +11 -26
  324. package/dist/email/defaults.d.ts +1 -1
  325. package/dist/email/defaults.d.ts.map +1 -1
  326. package/dist/email/defaults.js +2 -12
  327. package/dist/email/mockHandler.d.ts +2 -2
  328. package/dist/email/mockHandler.d.ts.map +1 -1
  329. package/dist/email/mockHandler.js +8 -23
  330. package/dist/email/sendEmail.js +2 -12
  331. package/dist/email/types.js +2 -5
  332. package/dist/errors/APIError.js +4 -19
  333. package/dist/errors/AuthenticationError.d.ts +1 -1
  334. package/dist/errors/AuthenticationError.d.ts.map +1 -1
  335. package/dist/errors/AuthenticationError.js +7 -22
  336. package/dist/errors/DuplicateCollection.d.ts +1 -1
  337. package/dist/errors/DuplicateCollection.d.ts.map +1 -1
  338. package/dist/errors/DuplicateCollection.js +4 -19
  339. package/dist/errors/DuplicateFieldName.d.ts +1 -1
  340. package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
  341. package/dist/errors/DuplicateFieldName.js +4 -19
  342. package/dist/errors/DuplicateGlobal.d.ts +2 -2
  343. package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
  344. package/dist/errors/DuplicateGlobal.js +4 -19
  345. package/dist/errors/ErrorDeletingFile.d.ts +1 -1
  346. package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
  347. package/dist/errors/ErrorDeletingFile.js +7 -22
  348. package/dist/errors/FileUploadError.d.ts +1 -1
  349. package/dist/errors/FileUploadError.d.ts.map +1 -1
  350. package/dist/errors/FileUploadError.js +7 -22
  351. package/dist/errors/Forbidden.d.ts +1 -1
  352. package/dist/errors/Forbidden.d.ts.map +1 -1
  353. package/dist/errors/Forbidden.js +7 -22
  354. package/dist/errors/InvalidConfiguration.d.ts +1 -1
  355. package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
  356. package/dist/errors/InvalidConfiguration.js +6 -21
  357. package/dist/errors/InvalidFieldName.d.ts +2 -2
  358. package/dist/errors/InvalidFieldName.d.ts.map +1 -1
  359. package/dist/errors/InvalidFieldName.js +4 -19
  360. package/dist/errors/InvalidFieldRelationship.d.ts +2 -2
  361. package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
  362. package/dist/errors/InvalidFieldRelationship.js +4 -19
  363. package/dist/errors/InvalidSchema.d.ts +1 -1
  364. package/dist/errors/InvalidSchema.d.ts.map +1 -1
  365. package/dist/errors/InvalidSchema.js +6 -21
  366. package/dist/errors/LockedAuth.d.ts +1 -1
  367. package/dist/errors/LockedAuth.d.ts.map +1 -1
  368. package/dist/errors/LockedAuth.js +7 -22
  369. package/dist/errors/MissingCollectionLabel.d.ts +1 -1
  370. package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
  371. package/dist/errors/MissingCollectionLabel.js +4 -19
  372. package/dist/errors/MissingFieldInputOptions.d.ts +2 -2
  373. package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
  374. package/dist/errors/MissingFieldInputOptions.js +4 -19
  375. package/dist/errors/MissingFieldType.d.ts +2 -2
  376. package/dist/errors/MissingFieldType.d.ts.map +1 -1
  377. package/dist/errors/MissingFieldType.js +6 -21
  378. package/dist/errors/MissingFile.d.ts +1 -1
  379. package/dist/errors/MissingFile.d.ts.map +1 -1
  380. package/dist/errors/MissingFile.js +7 -22
  381. package/dist/errors/NotFound.d.ts +1 -1
  382. package/dist/errors/NotFound.d.ts.map +1 -1
  383. package/dist/errors/NotFound.js +7 -22
  384. package/dist/errors/QueryError.d.ts +1 -1
  385. package/dist/errors/QueryError.d.ts.map +1 -1
  386. package/dist/errors/QueryError.js +6 -21
  387. package/dist/errors/TimestampsRequired.d.ts +2 -2
  388. package/dist/errors/TimestampsRequired.d.ts.map +1 -1
  389. package/dist/errors/TimestampsRequired.js +4 -19
  390. package/dist/errors/UnathorizedError.d.ts +1 -1
  391. package/dist/errors/UnathorizedError.d.ts.map +1 -1
  392. package/dist/errors/UnathorizedError.js +7 -22
  393. package/dist/errors/ValidationError.d.ts +1 -1
  394. package/dist/errors/ValidationError.d.ts.map +1 -1
  395. package/dist/errors/ValidationError.js +8 -23
  396. package/dist/errors/index.d.ts +19 -19
  397. package/dist/errors/index.d.ts.map +1 -1
  398. package/dist/errors/index.js +20 -94
  399. package/dist/errors/types.d.ts +1 -1
  400. package/dist/errors/types.d.ts.map +1 -1
  401. package/dist/errors/types.js +2 -19
  402. package/dist/exports/auth.d.ts +5 -5
  403. package/dist/exports/auth.d.ts.map +1 -1
  404. package/dist/exports/auth.js +5 -44
  405. package/dist/exports/components/utilities.js +0 -1
  406. package/dist/exports/config.d.ts +10 -10
  407. package/dist/exports/config.d.ts.map +1 -1
  408. package/dist/exports/config.js +10 -59
  409. package/dist/exports/database.d.ts +22 -22
  410. package/dist/exports/database.d.ts.map +1 -1
  411. package/dist/exports/database.js +21 -108
  412. package/dist/exports/errors.d.ts +1 -1
  413. package/dist/exports/errors.d.ts.map +1 -1
  414. package/dist/exports/errors.js +2 -68
  415. package/dist/exports/fields/index.d.ts +2 -2
  416. package/dist/exports/fields/index.d.ts.map +1 -1
  417. package/dist/exports/fields/index.js +3 -26
  418. package/dist/exports/fields/validations.d.ts +1 -1
  419. package/dist/exports/fields/validations.d.ts.map +1 -1
  420. package/dist/exports/fields/validations.js +2 -19
  421. package/dist/exports/operations.d.ts +28 -28
  422. package/dist/exports/operations.d.ts.map +1 -1
  423. package/dist/exports/operations.js +29 -125
  424. package/dist/exports/types.d.ts +11 -11
  425. package/dist/exports/types.d.ts.map +1 -1
  426. package/dist/exports/types.js +4 -74
  427. package/dist/exports/utilities.d.ts +27 -27
  428. package/dist/exports/utilities.d.ts.map +1 -1
  429. package/dist/exports/utilities.js +28 -141
  430. package/dist/exports/versions.d.ts +9 -9
  431. package/dist/exports/versions.d.ts.map +1 -1
  432. package/dist/exports/versions.js +9 -45
  433. package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
  434. package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
  435. package/dist/fields/baseFields/baseBlockFields.js +6 -16
  436. package/dist/fields/baseFields/baseIDField.d.ts +1 -1
  437. package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
  438. package/dist/fields/baseFields/baseIDField.js +7 -21
  439. package/dist/fields/config/sanitize.d.ts +2 -2
  440. package/dist/fields/config/sanitize.d.ts.map +1 -1
  441. package/dist/fields/config/sanitize.js +28 -43
  442. package/dist/fields/config/sanitize.spec.js +25 -29
  443. package/dist/fields/config/schema.js +336 -431
  444. package/dist/fields/config/types.d.ts +5 -6
  445. package/dist/fields/config/types.d.ts.map +1 -1
  446. package/dist/fields/config/types.js +15 -69
  447. package/dist/fields/getDefaultValue.d.ts +1 -1
  448. package/dist/fields/getDefaultValue.d.ts.map +1 -1
  449. package/dist/fields/getDefaultValue.js +2 -12
  450. package/dist/fields/hooks/afterChange/index.d.ts +3 -3
  451. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  452. package/dist/fields/hooks/afterChange/index.js +6 -16
  453. package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
  454. package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
  455. package/dist/fields/hooks/afterChange/promise.js +14 -22
  456. package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
  457. package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
  458. package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
  459. package/dist/fields/hooks/afterRead/index.d.ts +3 -3
  460. package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
  461. package/dist/fields/hooks/afterRead/index.js +6 -16
  462. package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
  463. package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
  464. package/dist/fields/hooks/afterRead/promise.js +28 -38
  465. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
  466. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
  467. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
  468. package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
  469. package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
  470. package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
  471. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
  472. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
  473. package/dist/fields/hooks/beforeChange/index.d.ts +3 -4
  474. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  475. package/dist/fields/hooks/beforeChange/index.js +8 -18
  476. package/dist/fields/hooks/beforeChange/promise.d.ts +4 -5
  477. package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
  478. package/dist/fields/hooks/beforeChange/promise.js +26 -35
  479. package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -5
  480. package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
  481. package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
  482. package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
  483. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  484. package/dist/fields/hooks/beforeValidate/index.js +6 -16
  485. package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
  486. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  487. package/dist/fields/hooks/beforeValidate/promise.js +30 -39
  488. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
  489. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  490. package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
  491. package/dist/fields/mergeBaseFields.d.ts +1 -1
  492. package/dist/fields/mergeBaseFields.d.ts.map +1 -1
  493. package/dist/fields/mergeBaseFields.js +8 -23
  494. package/dist/fields/sortableFieldTypes.js +2 -12
  495. package/dist/fields/validations.d.ts +6 -6
  496. package/dist/fields/validations.d.ts.map +1 -1
  497. package/dist/fields/validations.js +31 -97
  498. package/dist/fields/validations.spec.js +93 -87
  499. package/dist/globals/config/sanitize.d.ts +2 -2
  500. package/dist/globals/config/sanitize.d.ts.map +1 -1
  501. package/dist/globals/config/sanitize.js +19 -34
  502. package/dist/globals/config/schema.js +55 -70
  503. package/dist/globals/config/types.d.ts +11 -11
  504. package/dist/globals/config/types.d.ts.map +1 -1
  505. package/dist/globals/config/types.js +2 -5
  506. package/dist/globals/operations/docAccess.d.ts +3 -3
  507. package/dist/globals/operations/docAccess.d.ts.map +1 -1
  508. package/dist/globals/operations/docAccess.js +12 -22
  509. package/dist/globals/operations/findOne.d.ts +2 -2
  510. package/dist/globals/operations/findOne.d.ts.map +1 -1
  511. package/dist/globals/operations/findOne.js +14 -29
  512. package/dist/globals/operations/findVersionByID.d.ts +3 -3
  513. package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
  514. package/dist/globals/operations/findVersionByID.js +18 -33
  515. package/dist/globals/operations/findVersions.d.ts +4 -5
  516. package/dist/globals/operations/findVersions.d.ts.map +1 -1
  517. package/dist/globals/operations/findVersions.js +20 -35
  518. package/dist/globals/operations/local/findOne.d.ts +2 -4
  519. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  520. package/dist/globals/operations/local/findOne.js +11 -21
  521. package/dist/globals/operations/local/findVersionByID.d.ts +3 -5
  522. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  523. package/dist/globals/operations/local/findVersionByID.js +9 -19
  524. package/dist/globals/operations/local/findVersions.d.ts +4 -6
  525. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  526. package/dist/globals/operations/local/findVersions.js +9 -19
  527. package/dist/globals/operations/local/index.d.ts +5 -5
  528. package/dist/globals/operations/local/index.d.ts.map +1 -1
  529. package/dist/globals/operations/local/index.js +12 -27
  530. package/dist/globals/operations/local/restoreVersion.d.ts +2 -4
  531. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  532. package/dist/globals/operations/local/restoreVersion.js +9 -19
  533. package/dist/globals/operations/local/update.d.ts +2 -4
  534. package/dist/globals/operations/local/update.d.ts.map +1 -1
  535. package/dist/globals/operations/local/update.js +9 -19
  536. package/dist/globals/operations/restoreVersion.d.ts +3 -3
  537. package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
  538. package/dist/globals/operations/restoreVersion.js +16 -31
  539. package/dist/globals/operations/update.d.ts +9 -9
  540. package/dist/globals/operations/update.d.ts.map +1 -1
  541. package/dist/globals/operations/update.js +23 -38
  542. package/dist/index.d.ts +29 -29
  543. package/dist/index.d.ts.map +1 -1
  544. package/dist/index.js +50 -70
  545. package/dist/localization/middleware.js +2 -12
  546. package/dist/localization/sanitizeFallbackLocale.js +2 -12
  547. package/dist/preferences/deleteUserPreferences.d.ts +3 -3
  548. package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
  549. package/dist/preferences/deleteUserPreferences.js +2 -12
  550. package/dist/preferences/operations/delete.d.ts +2 -2
  551. package/dist/preferences/operations/delete.d.ts.map +1 -1
  552. package/dist/preferences/operations/delete.js +10 -25
  553. package/dist/preferences/operations/findOne.d.ts +2 -2
  554. package/dist/preferences/operations/findOne.d.ts.map +1 -1
  555. package/dist/preferences/operations/findOne.js +2 -12
  556. package/dist/preferences/operations/update.d.ts +1 -1
  557. package/dist/preferences/operations/update.d.ts.map +1 -1
  558. package/dist/preferences/operations/update.js +8 -23
  559. package/dist/preferences/preferencesCollection.d.ts +2 -2
  560. package/dist/preferences/preferencesCollection.d.ts.map +1 -1
  561. package/dist/preferences/preferencesCollection.js +8 -18
  562. package/dist/preferences/requestHandlers/delete.d.ts +1 -1
  563. package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
  564. package/dist/preferences/requestHandlers/delete.js +6 -21
  565. package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
  566. package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
  567. package/dist/preferences/requestHandlers/findOne.js +6 -21
  568. package/dist/preferences/requestHandlers/update.d.ts +1 -1
  569. package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
  570. package/dist/preferences/requestHandlers/update.js +6 -21
  571. package/dist/preferences/types.d.ts +2 -2
  572. package/dist/preferences/types.d.ts.map +1 -1
  573. package/dist/preferences/types.js +2 -5
  574. package/dist/translations/extractTranslations.js +4 -14
  575. package/dist/translations/getLocalI18n.d.ts +1 -1
  576. package/dist/translations/getLocalI18n.d.ts.map +1 -1
  577. package/dist/translations/getLocalI18n.js +5 -15
  578. package/dist/types/constants.js +2 -12
  579. package/dist/types/index.d.ts +8 -6
  580. package/dist/types/index.d.ts.map +1 -1
  581. package/dist/types/index.js +2 -12
  582. package/dist/uploads/canResizeImage.js +2 -12
  583. package/dist/uploads/cropImage.d.ts +3 -7
  584. package/dist/uploads/cropImage.d.ts.map +1 -1
  585. package/dist/uploads/cropImage.js +4 -28
  586. package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
  587. package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
  588. package/dist/uploads/deleteAssociatedFiles.js +11 -26
  589. package/dist/uploads/docWithFilenameExists.d.ts +1 -1
  590. package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
  591. package/dist/uploads/docWithFilenameExists.js +2 -12
  592. package/dist/uploads/fileExists.js +4 -19
  593. package/dist/uploads/formatFilesize.js +2 -12
  594. package/dist/uploads/generateFileData.d.ts +4 -4
  595. package/dist/uploads/generateFileData.d.ts.map +1 -1
  596. package/dist/uploads/generateFileData.js +42 -55
  597. package/dist/uploads/getBaseFields.d.ts +3 -3
  598. package/dist/uploads/getBaseFields.d.ts.map +1 -1
  599. package/dist/uploads/getBaseFields.js +6 -16
  600. package/dist/uploads/getExternalFile.d.ts +2 -2
  601. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  602. package/dist/uploads/getExternalFile.js +5 -15
  603. package/dist/uploads/getFileByPath.d.ts +1 -1
  604. package/dist/uploads/getFileByPath.d.ts.map +1 -1
  605. package/dist/uploads/getFileByPath.js +11 -25
  606. package/dist/uploads/getImageSize.d.ts +2 -2
  607. package/dist/uploads/getImageSize.d.ts.map +1 -1
  608. package/dist/uploads/getImageSize.js +7 -22
  609. package/dist/uploads/getSafeFilename.d.ts +1 -1
  610. package/dist/uploads/getSafeFilename.d.ts.map +1 -1
  611. package/dist/uploads/getSafeFilename.js +8 -23
  612. package/dist/uploads/imageResizer.d.ts +6 -5
  613. package/dist/uploads/imageResizer.d.ts.map +1 -1
  614. package/dist/uploads/imageResizer.js +29 -44
  615. package/dist/uploads/isImage.js +2 -12
  616. package/dist/uploads/mimeTypeValidator.d.ts +1 -1
  617. package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
  618. package/dist/uploads/mimeTypeValidator.js +2 -12
  619. package/dist/uploads/mimeTypeValidator.spec.js +11 -15
  620. package/dist/uploads/saveBufferToFile.d.ts +1 -1
  621. package/dist/uploads/saveBufferToFile.js +6 -21
  622. package/dist/uploads/types.d.ts +8 -2
  623. package/dist/uploads/types.d.ts.map +1 -1
  624. package/dist/uploads/types.js +2 -5
  625. package/dist/uploads/unlinkTempFiles.d.ts +3 -3
  626. package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
  627. package/dist/uploads/unlinkTempFiles.js +9 -22
  628. package/dist/uploads/uploadFiles.d.ts +3 -3
  629. package/dist/uploads/uploadFiles.d.ts.map +1 -1
  630. package/dist/uploads/uploadFiles.js +6 -21
  631. package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
  632. package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
  633. package/dist/utilities/checkDuplicateCollections.js +4 -14
  634. package/dist/utilities/combineMerge.js +4 -19
  635. package/dist/utilities/commitTransaction.d.ts +1 -1
  636. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  637. package/dist/utilities/commitTransaction.js +4 -12
  638. package/dist/utilities/configToJSONSchema.d.ts +4 -4
  639. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  640. package/dist/utilities/configToJSONSchema.js +63 -81
  641. package/dist/utilities/configToJSONSchema.spec.js +5 -9
  642. package/dist/utilities/convertData.js +3 -23
  643. package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
  644. package/dist/utilities/createLocalReq.d.ts +3 -3
  645. package/dist/utilities/createLocalReq.d.ts.map +1 -1
  646. package/dist/utilities/createLocalReq.js +7 -16
  647. package/dist/utilities/deepCopyObject.js +2 -12
  648. package/dist/utilities/deepMerge.js +2 -12
  649. package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
  650. package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
  651. package/dist/utilities/fieldSchemaToJSON.js +2 -12
  652. package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
  653. package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
  654. package/dist/utilities/flattenTopLevelFields.js +6 -16
  655. package/dist/utilities/formatLabels.d.ts +2 -1
  656. package/dist/utilities/formatLabels.d.ts.map +1 -1
  657. package/dist/utilities/formatLabels.js +10 -70
  658. package/dist/utilities/formatLabels.spec.js +8 -12
  659. package/dist/utilities/getCSSVariable.js +2 -12
  660. package/dist/utilities/getEntityPolicies.d.ts +4 -4
  661. package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
  662. package/dist/utilities/getEntityPolicies.js +4 -14
  663. package/dist/utilities/getIDType.d.ts +2 -2
  664. package/dist/utilities/getIDType.d.ts.map +1 -1
  665. package/dist/utilities/getIDType.js +2 -12
  666. package/dist/utilities/getObjectDotNotation.js +2 -12
  667. package/dist/utilities/getUniqueListBy.js +2 -12
  668. package/dist/utilities/initTransaction.d.ts +1 -1
  669. package/dist/utilities/initTransaction.d.ts.map +1 -1
  670. package/dist/utilities/initTransaction.js +5 -12
  671. package/dist/utilities/isEntityHidden.d.ts +2 -2
  672. package/dist/utilities/isEntityHidden.d.ts.map +1 -1
  673. package/dist/utilities/isEntityHidden.js +2 -12
  674. package/dist/utilities/isNumber.js +2 -12
  675. package/dist/utilities/isPlainObject.d.ts +2 -0
  676. package/dist/utilities/isPlainObject.d.ts.map +1 -0
  677. package/dist/utilities/isPlainObject.js +25 -0
  678. package/dist/utilities/isValidID.d.ts.map +1 -1
  679. package/dist/utilities/isValidID.js +6 -20
  680. package/dist/utilities/isolateObjectProperty.js +2 -12
  681. package/dist/utilities/killTransaction.d.ts +1 -1
  682. package/dist/utilities/killTransaction.d.ts.map +1 -1
  683. package/dist/utilities/killTransaction.js +4 -12
  684. package/dist/utilities/logger.d.ts +6 -6
  685. package/dist/utilities/logger.d.ts.map +1 -1
  686. package/dist/utilities/logger.js +18 -37
  687. package/dist/utilities/mapAsync.js +2 -12
  688. package/dist/utilities/overwriteMerge.js +2 -12
  689. package/dist/utilities/parseCookies.js +4 -14
  690. package/dist/utilities/sanitizeInternalFields.js +2 -12
  691. package/dist/utilities/setsAreEqual.js +2 -12
  692. package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
  693. package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
  694. package/dist/utilities/telemetry/events/adminInit.js +7 -17
  695. package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
  696. package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
  697. package/dist/utilities/telemetry/events/serverInit.js +4 -14
  698. package/dist/utilities/telemetry/index.d.ts +3 -3
  699. package/dist/utilities/telemetry/index.d.ts.map +1 -1
  700. package/dist/utilities/telemetry/index.js +18 -40
  701. package/dist/utilities/telemetry/oneWayHash.js +4 -14
  702. package/dist/utilities/timestamp.js +2 -12
  703. package/dist/utilities/toKebabCase.js +2 -12
  704. package/dist/utilities/wait.js +2 -12
  705. package/dist/utilities/wordBoundariesRegex.js +3 -13
  706. package/dist/versions/baseFields.d.ts +1 -1
  707. package/dist/versions/baseFields.d.ts.map +1 -1
  708. package/dist/versions/baseFields.js +7 -25
  709. package/dist/versions/buildCollectionFields.d.ts +2 -2
  710. package/dist/versions/buildCollectionFields.d.ts.map +1 -1
  711. package/dist/versions/buildCollectionFields.js +2 -12
  712. package/dist/versions/buildGlobalFields.d.ts +2 -2
  713. package/dist/versions/buildGlobalFields.d.ts.map +1 -1
  714. package/dist/versions/buildGlobalFields.js +12 -22
  715. package/dist/versions/deleteCollectionVersions.d.ts +3 -3
  716. package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
  717. package/dist/versions/deleteCollectionVersions.js +2 -12
  718. package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
  719. package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
  720. package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
  721. package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
  722. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
  723. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  724. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
  725. package/dist/versions/enforceMaxVersions.d.ts +3 -3
  726. package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
  727. package/dist/versions/enforceMaxVersions.js +2 -12
  728. package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
  729. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  730. package/dist/versions/getLatestCollectionVersion.js +4 -14
  731. package/dist/versions/getLatestGlobalVersion.d.ts +3 -3
  732. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  733. package/dist/versions/getLatestGlobalVersion.js +5 -15
  734. package/dist/versions/getVersionsModelName.d.ts +2 -2
  735. package/dist/versions/getVersionsModelName.d.ts.map +1 -1
  736. package/dist/versions/getVersionsModelName.js +2 -12
  737. package/dist/versions/saveVersion.d.ts +4 -4
  738. package/dist/versions/saveVersion.d.ts.map +1 -1
  739. package/dist/versions/saveVersion.js +8 -23
  740. package/dist/versions/types.js +2 -5
  741. package/errors.d.ts +1 -1
  742. package/errors.js +2 -68
  743. package/graphql.d.ts +3 -0
  744. package/graphql.js +27 -0
  745. package/operations.d.ts +28 -28
  746. package/operations.js +29 -125
  747. package/package.json +17 -6
  748. package/types.d.ts +11 -11
  749. package/types.js +4 -74
  750. package/utilities.d.ts +27 -27
  751. package/utilities.js +28 -141
  752. package/versions.d.ts +9 -9
  753. package/versions.js +9 -45
  754. package/.eslintrc.js +0 -58
  755. package/dist/bundlers/mocks/db-mongodb.js +0 -3
  756. package/dist/bundlers/mocks/db-postgres.js +0 -13
  757. package/dist/bundlers/mocks/dotENV.js +0 -15
  758. package/dist/bundlers/mocks/emptyModule.js +0 -13
  759. package/dist/bundlers/mocks/fileMock.js +0 -13
  760. package/dist/bundlers/types.d.ts +0 -8
  761. package/dist/bundlers/types.d.ts.map +0 -1
  762. package/dist/bundlers/types.js +0 -6
  763. package/dist/express/middleware/errorHandler.d.ts +0 -2
  764. package/dist/express/middleware/errorHandler.d.ts.map +0 -1
  765. package/dist/express/middleware/errorHandler.js +0 -3
  766. package/dist/express/middleware/index.d.ts +0 -2
  767. package/dist/express/middleware/index.d.ts.map +0 -1
  768. package/dist/express/middleware/index.js +0 -3
  769. package/dist/globals/config/build.d.ts +0 -2
  770. package/dist/globals/config/build.d.ts.map +0 -1
  771. package/dist/globals/config/build.js +0 -3
  772. package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -2
  773. package/dist/globals/graphql/resolvers/docAccess.d.ts.map +0 -1
  774. package/dist/globals/graphql/resolvers/docAccess.js +0 -3
@@ -1,5 +1,5 @@
1
1
  import DataLoader from 'dataloader';
2
- import type { PayloadRequest } from '../types';
3
- import type { TypeWithID } from './config/types';
2
+ import type { PayloadRequest } from '../types/index.d.ts';
3
+ import type { TypeWithID } from './config/types.d.ts';
4
4
  export declare const getDataLoader: (req: PayloadRequest) => DataLoader<string, TypeWithID, string>;
5
5
  //# sourceMappingURL=dataloader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAsJhD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
1
+ {"version":3,"file":"dataloader.d.ts","sourceRoot":"","sources":["../../src/collections/dataloader.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAsJrD,eAAO,MAAM,aAAa,QAAS,cAAc,2CAA0C,CAAA"}
@@ -1,22 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "getDataLoader", {
6
- enumerable: true,
7
- get: function() {
8
- return getDataLoader;
9
- }
10
- });
11
- const _dataloader = /*#__PURE__*/ _interop_require_default(require("dataloader"));
12
- const _types = require("../fields/config/types");
13
- const _getIDType = require("../utilities/getIDType");
14
- const _isValidID = require("../utilities/isValidID");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
1
+ import DataLoader from 'dataloader';
2
+ import { fieldAffectsData } from '../fields/config/types.js';
3
+ import { getIDType } from '../utilities/getIDType.js';
4
+ import { isValidID } from '../utilities/isValidID.js';
20
5
  // Payload uses `dataloader` to solve the classic GraphQL N+1 problem.
21
6
  // We keep a list of all documents requested to be populated for any given request
22
7
  // and then batch together documents within the same collection,
@@ -57,10 +42,10 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
57
42
  showHiddenFields
58
43
  ];
59
44
  const batchKey = JSON.stringify(batchKeyArray);
60
- const idField = payload.collections?.[collection].config.fields.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
45
+ const idField = payload.collections?.[collection].config.fields.find((field)=>fieldAffectsData(field) && field.name === 'id');
61
46
  let sanitizedID = id;
62
47
  if (idField?.type === 'number') sanitizedID = parseFloat(id);
63
- if ((0, _isValidID.isValidID)(sanitizedID, (0, _getIDType.getIDType)(idField, payload?.db?.defaultIDType))) {
48
+ if (isValidID(sanitizedID, getIDType(idField, payload?.db?.defaultIDType))) {
64
49
  return {
65
50
  ...batches,
66
51
  [batchKey]: [
@@ -118,6 +103,6 @@ const batchAndLoadDocs = (req)=>async (keys)=>{
118
103
  // and should match the length of the incoming keys arg
119
104
  return docs;
120
105
  };
121
- const getDataLoader = (req)=>new _dataloader.default(batchAndLoadDocs(req));
106
+ export const getDataLoader = (req)=>new DataLoader(batchAndLoadDocs(req));
122
107
 
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9ucy9kYXRhbG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmF0Y2hMb2FkRm4gfSBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgRGF0YUxvYWRlciBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcblxuLy8gUGF5bG9hZCB1c2VzIGBkYXRhbG9hZGVyYCB0byBzb2x2ZSB0aGUgY2xhc3NpYyBHcmFwaFFMIE4rMSBwcm9ibGVtLlxuXG4vLyBXZSBrZWVwIGEgbGlzdCBvZiBhbGwgZG9jdW1lbnRzIHJlcXVlc3RlZCB0byBiZSBwb3B1bGF0ZWQgZm9yIGFueSBnaXZlbiByZXF1ZXN0XG4vLyBhbmQgdGhlbiBiYXRjaCB0b2dldGhlciBkb2N1bWVudHMgd2l0aGluIHRoZSBzYW1lIGNvbGxlY3Rpb24sXG4vLyBtYWtpbmcgb25seSAxIGZpbmQgcGVyIGVhY2ggY29sbGVjdGlvbiwgcmF0aGVyIHRoYW4gYGZpbmRCeUlEYCBwZXIgZWFjaCByZXF1ZXN0ZWQgZG9jLlxuXG4vLyBUaGlzIGRyYW1hdGljYWxseSBpbXByb3ZlcyBwZXJmb3JtYW5jZSBmb3IgUkVTVCBhbmQgTG9jYWwgQVBJIGBkZXB0aGAgcG9wdWxhdGlvbnMsXG4vLyBhbmQgYWxzbyBlbnN1cmVzIGNvbXBsZXggR3JhcGhRTCBxdWVyaWVzIHBlcmZvcm0gbGlnaHRuaW5nLWZhc3QuXG5cbmNvbnN0IGJhdGNoQW5kTG9hZERvY3MgPVxuICAocmVxOiBQYXlsb2FkUmVxdWVzdCk6IEJhdGNoTG9hZEZuPHN0cmluZywgVHlwZVdpdGhJRD4gPT5cbiAgYXN5bmMgKGtleXM6IHN0cmluZ1tdKTogUHJvbWlzZTxUeXBlV2l0aElEW10+ID0+IHtcbiAgICBjb25zdCB7IHBheWxvYWQgfSA9IHJlcVxuXG4gICAgLy8gQ3JlYXRlIGRvY3MgYXJyYXkgb2Ygc2FtZSBsZW5ndGggYXMga2V5cywgdXNpbmcgbnVsbCBhcyB2YWx1ZVxuICAgIC8vIFdlIHdpbGwgcmVwbGFjZSBudWxscyB3aXRoIGluamVjdGVkIGRvY3MgYXMgdGhleSBhcmUgcmV0cmlldmVkXG4gICAgY29uc3QgZG9jczogKFR5cGVXaXRoSUQgfCBudWxsKVtdID0ga2V5cy5tYXAoKCkgPT4gbnVsbClcblxuICAgIC8qKlxuICAgICogQmF0Y2ggSURzIGJ5IHRoZWlyIGBmaW5kYCBhcmdzXG4gICAgKiBzbyB3ZSBjYW4gbWFrZSBvbmUgZmluZCBxdWVyeSBwZXIgY29tYmluYXRpb24gb2YgY29sbGVjdGlvbiwgZGVwdGgsIGxvY2FsZSwgYW5kIGZhbGxiYWNrTG9jYWxlLlxuICAgICpcbiAgICAqIFJlc3VsdGluZyBzaGFwZSB3aWxsIGJlIGFzIGZvbGxvd3M6XG4gICAgICB7XG4gICAgICAgIC8vIGtleSBpcyBzdHJpbmdpZmllZCBzZXQgb2YgZmluZCBhcmdzXG4gICAgICAgICdbbnVsbCxcInBhZ2VzXCIsMiwwLFwiZXNcIixcImVuXCIsZmFsc2UsZmFsc2VdJzogW1xuICAgICAgICAgIC8vIHZhbHVlIGlzIGFycmF5IG9mIElEcyB0byBmaW5kIHdpdGggdGhlc2UgYXJnc1xuICAgICAgICAgICdxMzR0bDIzNDYyMzQ2MjM0NTI0JyxcbiAgICAgICAgICAnNDM1NTIzNTQwMTk0MzI0MjgwJyxcbiAgICAgICAgICAnMjM0NjI0NWozNWwzajUyMzQ1MzJsaScsXG4gICAgICAgIF0sXG4gICAgICAgIC8vIGV0Y1xuICAgICAgfTtcbiAgICAqXG4gICAgKiovXG5cbiAgICBjb25zdCBiYXRjaEJ5RmluZEFyZ3MgPSBrZXlzLnJlZHVjZSgoYmF0Y2hlcywga2V5KSA9PiB7XG4gICAgICBjb25zdCBbXG4gICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGlkLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgIF0gPSBKU09OLnBhcnNlKGtleSlcblxuICAgICAgY29uc3QgYmF0Y2hLZXlBcnJheSA9IFtcbiAgICAgICAgdHJhbnNhY3Rpb25JRCxcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBdXG5cbiAgICAgIGNvbnN0IGJhdGNoS2V5ID0gSlNPTi5zdHJpbmdpZnkoYmF0Y2hLZXlBcnJheSlcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IHBheWxvYWQuY29sbGVjdGlvbnM/Lltjb2xsZWN0aW9uXS5jb25maWcuZmllbGRzLmZpbmQoXG4gICAgICAgIChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICAgIClcblxuICAgICAgbGV0IHNhbml0aXplZElEOiBudW1iZXIgfCBzdHJpbmcgPSBpZFxuXG4gICAgICBpZiAoaWRGaWVsZD8udHlwZSA9PT0gJ251bWJlcicpIHNhbml0aXplZElEID0gcGFyc2VGbG9hdChpZClcblxuICAgICAgaWYgKGlzVmFsaWRJRChzYW5pdGl6ZWRJRCwgZ2V0SURUeXBlKGlkRmllbGQsIHBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5iYXRjaGVzLFxuICAgICAgICAgIFtiYXRjaEtleV06IFsuLi4oYmF0Y2hlc1tiYXRjaEtleV0gfHwgW10pLCBzYW5pdGl6ZWRJRF0sXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXRjaGVzXG4gICAgfSwge30pXG5cbiAgICAvLyBSdW4gZmluZCByZXF1ZXN0cyBvbmUgYWZ0ZXIgYW5vdGhlciwgc28gYXMgdG8gbm90IGhhbmcgdHJhbnNhY3Rpb25zXG5cbiAgICBhd2FpdCBPYmplY3QuZW50cmllcyhiYXRjaEJ5RmluZEFyZ3MpLnJlZHVjZShhc3luYyAocHJpb3JGaW5kLCBbYmF0Y2hLZXksIGlkc10pID0+IHtcbiAgICAgIGF3YWl0IHByaW9yRmluZFxuXG4gICAgICBjb25zdCBbXG4gICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgXSA9IEpTT04ucGFyc2UoYmF0Y2hLZXkpXG5cbiAgICAgIHJlcS50cmFuc2FjdGlvbklEID0gdHJhbnNhY3Rpb25JRFxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBkaXNhYmxlRXJyb3JzOiB0cnVlLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzczogQm9vbGVhbihvdmVycmlkZUFjY2VzcyksXG4gICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICByZXEsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHM6IEJvb2xlYW4oc2hvd0hpZGRlbkZpZWxkcyksXG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgIGluOiBpZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIC8vIEZvciBlYWNoIHJldHVybmVkIGRvYywgZmluZCBpbmRleCBpbiBvcmlnaW5hbCBrZXlzXG4gICAgICAvLyBJbmplY3QgZG9jIHdpdGhpbiBkb2NzIGFycmF5IGlmIGluZGV4IGV4aXN0c1xuXG4gICAgICByZXN1bHQuZG9jcy5mb3JFYWNoKChkb2MpID0+IHtcbiAgICAgICAgY29uc3QgZG9jS2V5ID0gSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgIHJlcS50cmFuc2FjdGlvbklELFxuICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgZG9jLmlkLFxuICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgXSlcbiAgICAgICAgY29uc3QgZG9jc0luZGV4ID0ga2V5cy5maW5kSW5kZXgoKGtleSkgPT4ga2V5ID09PSBkb2NLZXkpXG5cbiAgICAgICAgaWYgKGRvY3NJbmRleCA+IC0xKSB7XG4gICAgICAgICAgZG9jc1tkb2NzSW5kZXhdID0gZG9jXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAvLyBSZXR1cm4gZG9jcyBhcnJheSxcbiAgICAvLyB3aGljaCBoYXMgbm93IGJlZW4gaW5qZWN0ZWQgd2l0aCBhbGwgZmV0Y2hlZCBkb2NzXG4gICAgLy8gYW5kIHNob3VsZCBtYXRjaCB0aGUgbGVuZ3RoIG9mIHRoZSBpbmNvbWluZyBrZXlzIGFyZ1xuICAgIHJldHVybiBkb2NzXG4gIH1cblxuZXhwb3J0IGNvbnN0IGdldERhdGFMb2FkZXIgPSAocmVxOiBQYXlsb2FkUmVxdWVzdCkgPT4gbmV3IERhdGFMb2FkZXIoYmF0Y2hBbmRMb2FkRG9jcyhyZXEpKVxuIl0sIm5hbWVzIjpbImdldERhdGFMb2FkZXIiLCJiYXRjaEFuZExvYWREb2NzIiwicmVxIiwia2V5cyIsInBheWxvYWQiLCJkb2NzIiwibWFwIiwiYmF0Y2hCeUZpbmRBcmdzIiwicmVkdWNlIiwiYmF0Y2hlcyIsImtleSIsInRyYW5zYWN0aW9uSUQiLCJjb2xsZWN0aW9uIiwiaWQiLCJkZXB0aCIsImN1cnJlbnREZXB0aCIsImxvY2FsZSIsImZhbGxiYWNrTG9jYWxlIiwib3ZlcnJpZGVBY2Nlc3MiLCJzaG93SGlkZGVuRmllbGRzIiwiSlNPTiIsInBhcnNlIiwiYmF0Y2hLZXlBcnJheSIsImJhdGNoS2V5Iiwic3RyaW5naWZ5IiwiaWRGaWVsZCIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwiZmllbGRzIiwiZmluZCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJzYW5pdGl6ZWRJRCIsInR5cGUiLCJwYXJzZUZsb2F0IiwiaXNWYWxpZElEIiwiZ2V0SURUeXBlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiT2JqZWN0IiwiZW50cmllcyIsInByaW9yRmluZCIsImlkcyIsInJlc3VsdCIsImRpc2FibGVFcnJvcnMiLCJCb29sZWFuIiwicGFnaW5hdGlvbiIsIndoZXJlIiwiaW4iLCJmb3JFYWNoIiwiZG9jIiwiZG9jS2V5IiwiZG9jc0luZGV4IiwiZmluZEluZGV4IiwiUHJvbWlzZSIsInJlc29sdmUiLCJEYXRhTG9hZGVyIl0sIm1hcHBpbmdzIjoiOzs7OytCQTJKYUE7OztlQUFBQTs7O21FQXpKVTt1QkFLVTsyQkFDUDsyQkFDQTs7Ozs7O0FBRTFCLHNFQUFzRTtBQUV0RSxrRkFB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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9ucy9kYXRhbG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmF0Y2hMb2FkRm4gfSBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgRGF0YUxvYWRlciBmcm9tICdkYXRhbG9hZGVyJ1xuXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguZC50cydcbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJy4vY29uZmlnL3R5cGVzLmQudHMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHsgZ2V0SURUeXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dldElEVHlwZS5qcydcbmltcG9ydCB7IGlzVmFsaWRJRCB9IGZyb20gJy4uL3V0aWxpdGllcy9pc1ZhbGlkSUQuanMnXG5cbi8vIFBheWxvYWQgdXNlcyBgZGF0YWxvYWRlcmAgdG8gc29sdmUgdGhlIGNsYXNzaWMgR3JhcGhRTCBOKzEgcHJvYmxlbS5cblxuLy8gV2Uga2VlcCBhIGxpc3Qgb2YgYWxsIGRvY3VtZW50cyByZXF1ZXN0ZWQgdG8gYmUgcG9wdWxhdGVkIGZvciBhbnkgZ2l2ZW4gcmVxdWVzdFxuLy8gYW5kIHRoZW4gYmF0Y2ggdG9nZXRoZXIgZG9jdW1lbnRzIHdpdGhpbiB0aGUgc2FtZSBjb2xsZWN0aW9uLFxuLy8gbWFraW5nIG9ubHkgMSBmaW5kIHBlciBlYWNoIGNvbGxlY3Rpb24sIHJhdGhlciB0aGFuIGBmaW5kQnlJRGAgcGVyIGVhY2ggcmVxdWVzdGVkIGRvYy5cblxuLy8gVGhpcyBkcmFtYXRpY2FsbHkgaW1wcm92ZXMgcGVyZm9ybWFuY2UgZm9yIFJFU1QgYW5kIExvY2FsIEFQSSBgZGVwdGhgIHBvcHVsYXRpb25zLFxuLy8gYW5kIGFsc28gZW5zdXJlcyBjb21wbGV4IEdyYXBoUUwgcXVlcmllcyBwZXJmb3JtIGxpZ2h0bmluZy1mYXN0LlxuXG5jb25zdCBiYXRjaEFuZExvYWREb2NzID1cbiAgKHJlcTogUGF5bG9hZFJlcXVlc3QpOiBCYXRjaExvYWRGbjxzdHJpbmcsIFR5cGVXaXRoSUQ+ID0+XG4gIGFzeW5jIChrZXlzOiBzdHJpbmdbXSk6IFByb21pc2U8VHlwZVdpdGhJRFtdPiA9PiB7XG4gICAgY29uc3QgeyBwYXlsb2FkIH0gPSByZXFcblxuICAgIC8vIENyZWF0ZSBkb2NzIGFycmF5IG9mIHNhbWUgbGVuZ3RoIGFzIGtleXMsIHVzaW5nIG51bGwgYXMgdmFsdWVcbiAgICAvLyBXZSB3aWxsIHJlcGxhY2UgbnVsbHMgd2l0aCBpbmplY3RlZCBkb2NzIGFzIHRoZXkgYXJlIHJldHJpZXZlZFxuICAgIGNvbnN0IGRvY3M6IChUeXBlV2l0aElEIHwgbnVsbClbXSA9IGtleXMubWFwKCgpID0+IG51bGwpXG5cbiAgICAvKipcbiAgICAqIEJhdGNoIElEcyBieSB0aGVpciBgZmluZGAgYXJnc1xuICAgICogc28gd2UgY2FuIG1ha2Ugb25lIGZpbmQgcXVlcnkgcGVyIGNvbWJpbmF0aW9uIG9mIGNvbGxlY3Rpb24sIGRlcHRoLCBsb2NhbGUsIGFuZCBmYWxsYmFja0xvY2FsZS5cbiAgICAqXG4gICAgKiBSZXN1bHRpbmcgc2hhcGUgd2lsbCBiZSBhcyBmb2xsb3dzOlxuICAgICAge1xuICAgICAgICAvLyBrZXkgaXMgc3RyaW5naWZpZWQgc2V0IG9mIGZpbmQgYXJnc1xuICAgICAgICAnW251bGwsXCJwYWdlc1wiLDIsMCxcImVzXCIsXCJlblwiLGZhbHNlLGZhbHNlXSc6IFtcbiAgICAgICAgICAvLyB2YWx1ZSBpcyBhcnJheSBvZiBJRHMgdG8gZmluZCB3aXRoIHRoZXNlIGFyZ3NcbiAgICAgICAgICAncTM0dGwyMzQ2MjM0NjIzNDUyNCcsXG4gICAgICAgICAgJzQzNTUyMzU0MDE5NDMyNDI4MCcsXG4gICAgICAgICAgJzIzNDYyNDVqMzVsM2o1MjM0NTMybGknLFxuICAgICAgICBdLFxuICAgICAgICAvLyBldGNcbiAgICAgIH07XG4gICAgKlxuICAgICoqL1xuXG4gICAgY29uc3QgYmF0Y2hCeUZpbmRBcmdzID0ga2V5cy5yZWR1Y2UoKGJhdGNoZXMsIGtleSkgPT4ge1xuICAgICAgY29uc3QgW1xuICAgICAgICB0cmFuc2FjdGlvbklELFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBpZCxcbiAgICAgICAgZGVwdGgsXG4gICAgICAgIGN1cnJlbnREZXB0aCxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBmYWxsYmFja0xvY2FsZSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICBdID0gSlNPTi5wYXJzZShrZXkpXG5cbiAgICAgIGNvbnN0IGJhdGNoS2V5QXJyYXkgPSBbXG4gICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGRlcHRoLFxuICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzLFxuICAgICAgXVxuXG4gICAgICBjb25zdCBiYXRjaEtleSA9IEpTT04uc3RyaW5naWZ5KGJhdGNoS2V5QXJyYXkpXG5cbiAgICAgIGNvbnN0IGlkRmllbGQgPSBwYXlsb2FkLmNvbGxlY3Rpb25zPy5bY29sbGVjdGlvbl0uY29uZmlnLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gICAgICApXG5cbiAgICAgIGxldCBzYW5pdGl6ZWRJRDogbnVtYmVyIHwgc3RyaW5nID0gaWRcblxuICAgICAgaWYgKGlkRmllbGQ/LnR5cGUgPT09ICdudW1iZXInKSBzYW5pdGl6ZWRJRCA9IHBhcnNlRmxvYXQoaWQpXG5cbiAgICAgIGlmIChpc1ZhbGlkSUQoc2FuaXRpemVkSUQsIGdldElEVHlwZShpZEZpZWxkLCBwYXlsb2FkPy5kYj8uZGVmYXVsdElEVHlwZSkpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYmF0Y2hlcyxcbiAgICAgICAgICBbYmF0Y2hLZXldOiBbLi4uKGJhdGNoZXNbYmF0Y2hLZXldIHx8IFtdKSwgc2FuaXRpemVkSURdLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYmF0Y2hlc1xuICAgIH0sIHt9KVxuXG4gICAgLy8gUnVuIGZpbmQgcmVxdWVzdHMgb25lIGFmdGVyIGFub3RoZXIsIHNvIGFzIHRvIG5vdCBoYW5nIHRyYW5zYWN0aW9uc1xuXG4gICAgYXdhaXQgT2JqZWN0LmVudHJpZXMoYmF0Y2hCeUZpbmRBcmdzKS5yZWR1Y2UoYXN5bmMgKHByaW9yRmluZCwgW2JhdGNoS2V5LCBpZHNdKSA9PiB7XG4gICAgICBhd2FpdCBwcmlvckZpbmRcblxuICAgICAgY29uc3QgW1xuICAgICAgICB0cmFuc2FjdGlvbklELFxuICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgIF0gPSBKU09OLnBhcnNlKGJhdGNoS2V5KVxuXG4gICAgICByZXEudHJhbnNhY3Rpb25JRCA9IHRyYW5zYWN0aW9uSURcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICBkZXB0aCxcbiAgICAgICAgZGlzYWJsZUVycm9yczogdHJ1ZSxcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IEJvb2xlYW4ob3ZlcnJpZGVBY2Nlc3MpLFxuICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaG93SGlkZGVuRmllbGRzOiBCb29sZWFuKHNob3dIaWRkZW5GaWVsZHMpLFxuICAgICAgICB3aGVyZToge1xuICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICBpbjogaWRzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuXG4gICAgICAvLyBGb3IgZWFjaCByZXR1cm5lZCBkb2MsIGZpbmQgaW5kZXggaW4gb3JpZ2luYWwga2V5c1xuICAgICAgLy8gSW5qZWN0IGRvYyB3aXRoaW4gZG9jcyBhcnJheSBpZiBpbmRleCBleGlzdHNcblxuICAgICAgcmVzdWx0LmRvY3MuZm9yRWFjaCgoZG9jKSA9PiB7XG4gICAgICAgIGNvbnN0IGRvY0tleSA9IEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICByZXEudHJhbnNhY3Rpb25JRCxcbiAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgIGRvYy5pZCxcbiAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICBjdXJyZW50RGVwdGgsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIGZhbGxiYWNrTG9jYWxlLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgICAgIF0pXG4gICAgICAgIGNvbnN0IGRvY3NJbmRleCA9IGtleXMuZmluZEluZGV4KChrZXkpID0+IGtleSA9PT0gZG9jS2V5KVxuXG4gICAgICAgIGlmIChkb2NzSW5kZXggPiAtMSkge1xuICAgICAgICAgIGRvY3NbZG9jc0luZGV4XSA9IGRvY1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgLy8gUmV0dXJuIGRvY3MgYXJyYXksXG4gICAgLy8gd2hpY2ggaGFzIG5vdyBiZWVuIGluamVjdGVkIHdpdGggYWxsIGZldGNoZWQgZG9jc1xuICAgIC8vIGFuZCBzaG91bGQgbWF0Y2ggdGhlIGxlbmd0aCBvZiB0aGUgaW5jb21pbmcga2V5cyBhcmdcbiAgICByZXR1cm4gZG9jc1xuICB9XG5cbmV4cG9ydCBjb25zdCBnZXREYXRhTG9hZGVyID0gKHJlcTogUGF5bG9hZFJlcXVlc3QpID0+IG5ldyBEYXRhTG9hZGVyKGJhdGNoQW5kTG9hZERvY3MocmVxKSlcbiJdLCJuYW1lcyI6WyJEYXRhTG9hZGVyIiwiZmllbGRBZmZlY3RzRGF0YSIsImdldElEVHlwZSIsImlzVmFsaWRJRCIsImJhdGNoQW5kTG9hZERvY3MiLCJyZXEiLCJrZXlzIiwicGF5bG9hZCIsImRvY3MiLCJtYXAiLCJiYXRjaEJ5RmluZEFyZ3MiLCJyZWR1Y2UiLCJiYXRjaGVzIiwia2V5IiwidHJhbnNhY3Rpb25JRCIsImNvbGxlY3Rpb24iLCJpZCIsImRlcHRoIiwiY3VycmVudERlcHRoIiwibG9jYWxlIiwiZmFsbGJhY2tMb2NhbGUiLCJvdmVycmlkZUFjY2VzcyIsInNob3dIaWRkZW5GaWVsZHMiLCJKU09OIiwicGFyc2UiLCJiYXRjaEtleUFycmF5IiwiYmF0Y2hLZXkiLCJzdHJpbmdpZnkiLCJpZEZpZWxkIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJmaWVsZHMiLCJmaW5kIiwiZmllbGQiLCJuYW1lIiwic2FuaXRpemVkSUQiLCJ0eXBlIiwicGFyc2VGbG9hdCIsImRiIiwiZGVmYXVsdElEVHlwZSIsIk9iamVjdCIsImVudHJpZXMiLCJwcmlvckZpbmQiLCJpZHMiLCJyZXN1bHQiLCJkaXNhYmxlRXJyb3JzIiwiQm9vbGVhbiIsInBhZ2luYXRpb24iLCJ3aGVyZSIsImluIiwiZm9yRWFjaCIsImRvYyIsImRvY0tleSIsImRvY3NJbmRleCIsImZpbmRJbmRleCIsIlByb21pc2UiLCJyZXNvbHZlIiwiZ2V0RGF0YUxvYWRlciJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsZ0JBQWdCLGFBQVk7QUFLbkMsU0FBU0MsZ0JBQWdCLFFBQVEsNEJB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
@@ -1,7 +1,7 @@
1
1
  import type { MarkOptional } from 'ts-essentials';
2
- import type { GeneratedTypes } from '../../';
3
- import type { PayloadRequest } from '../../types';
4
- import type { Collection } from '../config/types';
2
+ import type { GeneratedTypes } from '../../index.d.ts';
3
+ import type { PayloadRequest } from '../../types/index.d.ts';
4
+ import type { Collection } from '../config/types.d.ts';
5
5
  export type CreateUpdateType = {
6
6
  [field: number | string | symbol]: unknown;
7
7
  };
@@ -18,12 +18,12 @@ export type Arguments<T extends CreateUpdateType> = {
18
18
  showHiddenFields?: boolean;
19
19
  };
20
20
  export declare const createOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments<{
21
- [slug: string]: import("../config/types").TypeWithID & Record<string, unknown>;
22
- [slug: number]: import("../config/types").TypeWithID & Record<string, unknown>;
23
- [slug: symbol]: import("../config/types").TypeWithID & Record<string, unknown>;
21
+ [slug: string]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
22
+ [slug: number]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
23
+ [slug: symbol]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
24
24
  }[TSlug]>) => Promise<{
25
- [slug: string]: import("../config/types").TypeWithID & Record<string, unknown>;
26
- [slug: number]: import("../config/types").TypeWithID & Record<string, unknown>;
27
- [slug: symbol]: import("../config/types").TypeWithID & Record<string, unknown>;
25
+ [slug: string]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
26
+ [slug: number]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
27
+ [slug: symbol]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
28
28
  }[TSlug]>;
29
29
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,iBAAiB,CAAA;AAoBxB,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;SA6U3B,CAAA"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAIV,UAAU,EACX,MAAM,sBAAsB,CAAA;AAoB7B,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAE7E,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,gBAAgB,IAAI;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;IACjE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;SA6U3B,CAAA"}
@@ -1,40 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "createOperation", {
6
- enumerable: true,
7
- get: function() {
8
- return createOperation;
9
- }
10
- });
11
- const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
12
- const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/executeAccess"));
13
- const _sendVerificationEmail = /*#__PURE__*/ _interop_require_default(require("../../auth/sendVerificationEmail"));
14
- const _register = require("../../auth/strategies/local/register");
15
- const _afterChange = require("../../fields/hooks/afterChange");
16
- const _afterRead = require("../../fields/hooks/afterRead");
17
- const _beforeChange = require("../../fields/hooks/beforeChange");
18
- const _beforeValidate = require("../../fields/hooks/beforeValidate");
19
- const _generateFileData = require("../../uploads/generateFileData");
20
- const _unlinkTempFiles = require("../../uploads/unlinkTempFiles");
21
- const _uploadFiles = require("../../uploads/uploadFiles");
22
- const _commitTransaction = require("../../utilities/commitTransaction");
23
- const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("../../utilities/flattenTopLevelFields"));
24
- const _initTransaction = require("../../utilities/initTransaction");
25
- const _killTransaction = require("../../utilities/killTransaction");
26
- const _sanitizeInternalFields = /*#__PURE__*/ _interop_require_default(require("../../utilities/sanitizeInternalFields"));
27
- const _saveVersion = require("../../versions/saveVersion");
28
- const _utils = require("./utils");
29
- function _interop_require_default(obj) {
30
- return obj && obj.__esModule ? obj : {
31
- default: obj
32
- };
33
- }
34
- const createOperation = async (incomingArgs)=>{
1
+ import crypto from 'crypto';
2
+ import executeAccess from '../../auth/executeAccess.js';
3
+ import sendVerificationEmail from '../../auth/sendVerificationEmail.js';
4
+ import { registerLocalStrategy } from '../../auth/strategies/local/register.js';
5
+ import { afterChange } from '../../fields/hooks/afterChange/index.js';
6
+ import { afterRead } from '../../fields/hooks/afterRead/index.js';
7
+ import { beforeChange } from '../../fields/hooks/beforeChange/index.js';
8
+ import { beforeValidate } from '../../fields/hooks/beforeValidate/index.js';
9
+ import { generateFileData } from '../../uploads/generateFileData.js';
10
+ import { unlinkTempFiles } from '../../uploads/unlinkTempFiles.js';
11
+ import { uploadFiles } from '../../uploads/uploadFiles.js';
12
+ import { commitTransaction } from '../../utilities/commitTransaction.js';
13
+ import flattenFields from '../../utilities/flattenTopLevelFields.js';
14
+ import { initTransaction } from '../../utilities/initTransaction.js';
15
+ import { killTransaction } from '../../utilities/killTransaction.js';
16
+ import sanitizeInternalFields from '../../utilities/sanitizeInternalFields.js';
17
+ import { saveVersion } from '../../versions/saveVersion.js';
18
+ import { buildAfterOperation } from './utils.js';
19
+ export const createOperation = async (incomingArgs)=>{
35
20
  let args = incomingArgs;
36
21
  try {
37
- const shouldCommit = await (0, _initTransaction.initTransaction)(args.req);
22
+ const shouldCommit = await initTransaction(args.req);
38
23
  // /////////////////////////////////////
39
24
  // beforeOperation - Collection
40
25
  // /////////////////////////////////////
@@ -55,7 +40,7 @@ const createOperation = async (incomingArgs)=>{
55
40
  // Access
56
41
  // /////////////////////////////////////
57
42
  if (!overrideAccess) {
58
- await (0, _executeAccess.default)({
43
+ await executeAccess({
59
44
  data,
60
45
  req
61
46
  }, collectionConfig.access.create);
@@ -64,7 +49,7 @@ const createOperation = async (incomingArgs)=>{
64
49
  // Custom id
65
50
  // /////////////////////////////////////
66
51
  // @todo: Refactor code to store 'customId' on the collection configuration itself so we don't need to repeat flattenFields
67
- const hasIdField = (0, _flattenTopLevelFields.default)(collectionConfig.fields).findIndex((field)=>field.name === 'id') > -1;
52
+ const hasIdField = flattenFields(collectionConfig.fields).findIndex((field)=>field.name === 'id') > -1;
68
53
  if (hasIdField) {
69
54
  data = {
70
55
  _id: data.id,
@@ -74,7 +59,7 @@ const createOperation = async (incomingArgs)=>{
74
59
  // /////////////////////////////////////
75
60
  // Generate data for all files and sizes
76
61
  // /////////////////////////////////////
77
- const { data: newFileData, files: filesToUpload } = await (0, _generateFileData.generateFileData)({
62
+ const { data: newFileData, files: filesToUpload } = await generateFileData({
78
63
  collection,
79
64
  config,
80
65
  data,
@@ -86,7 +71,7 @@ const createOperation = async (incomingArgs)=>{
86
71
  // /////////////////////////////////////
87
72
  // beforeValidate - Fields
88
73
  // /////////////////////////////////////
89
- data = await (0, _beforeValidate.beforeValidate)({
74
+ data = await beforeValidate({
90
75
  collection: collectionConfig,
91
76
  context: req.context,
92
77
  data,
@@ -131,7 +116,7 @@ const createOperation = async (incomingArgs)=>{
131
116
  // /////////////////////////////////////
132
117
  // beforeChange - Fields
133
118
  // /////////////////////////////////////
134
- const resultWithLocales = await (0, _beforeChange.beforeChange)({
119
+ const resultWithLocales = await beforeChange({
135
120
  collection: collectionConfig,
136
121
  context: req.context,
137
122
  data,
@@ -146,7 +131,7 @@ const createOperation = async (incomingArgs)=>{
146
131
  // Write files to local storage
147
132
  // /////////////////////////////////////
148
133
  if (!collectionConfig.upload.disableLocalStorage) {
149
- await (0, _uploadFiles.uploadFiles)(payload, filesToUpload, req);
134
+ await uploadFiles(payload, filesToUpload, req);
150
135
  }
151
136
  // /////////////////////////////////////
152
137
  // Create
@@ -158,9 +143,9 @@ const createOperation = async (incomingArgs)=>{
158
143
  }
159
144
  if (collectionConfig.auth.verify) {
160
145
  resultWithLocales._verified = Boolean(resultWithLocales._verified) || false;
161
- resultWithLocales._verificationToken = _crypto.default.randomBytes(20).toString('hex');
146
+ resultWithLocales._verificationToken = crypto.randomBytes(20).toString('hex');
162
147
  }
163
- doc = await (0, _register.registerLocalStrategy)({
148
+ doc = await registerLocalStrategy({
164
149
  collection: collectionConfig,
165
150
  doc: resultWithLocales,
166
151
  password: data.password,
@@ -175,12 +160,12 @@ const createOperation = async (incomingArgs)=>{
175
160
  });
176
161
  }
177
162
  const verificationToken = doc._verificationToken;
178
- let result = (0, _sanitizeInternalFields.default)(doc);
163
+ let result = sanitizeInternalFields(doc);
179
164
  // /////////////////////////////////////
180
165
  // Create version
181
166
  // /////////////////////////////////////
182
167
  if (collectionConfig.versions) {
183
- await (0, _saveVersion.saveVersion)({
168
+ await saveVersion({
184
169
  id: result.id,
185
170
  autosave,
186
171
  collection: collectionConfig,
@@ -194,7 +179,7 @@ const createOperation = async (incomingArgs)=>{
194
179
  // /////////////////////////////////////
195
180
  if (collectionConfig.auth && collectionConfig.auth.verify) {
196
181
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
197
- (0, _sendVerificationEmail.default)({
182
+ sendVerificationEmail({
198
183
  collection: {
199
184
  config: collectionConfig
200
185
  },
@@ -210,7 +195,7 @@ const createOperation = async (incomingArgs)=>{
210
195
  // /////////////////////////////////////
211
196
  // afterRead - Fields
212
197
  // /////////////////////////////////////
213
- result = await (0, _afterRead.afterRead)({
198
+ result = await afterRead({
214
199
  collection: collectionConfig,
215
200
  context: req.context,
216
201
  depth,
@@ -237,7 +222,7 @@ const createOperation = async (incomingArgs)=>{
237
222
  // /////////////////////////////////////
238
223
  // afterChange - Fields
239
224
  // /////////////////////////////////////
240
- result = await (0, _afterChange.afterChange)({
225
+ result = await afterChange({
241
226
  collection: collectionConfig,
242
227
  context: req.context,
243
228
  data,
@@ -264,13 +249,13 @@ const createOperation = async (incomingArgs)=>{
264
249
  // /////////////////////////////////////
265
250
  // afterOperation - Collection
266
251
  // /////////////////////////////////////
267
- result = await (0, _utils.buildAfterOperation)({
252
+ result = await buildAfterOperation({
268
253
  args,
269
254
  collection: collectionConfig,
270
255
  operation: 'create',
271
256
  result
272
257
  });
273
- await (0, _unlinkTempFiles.unlinkTempFiles)({
258
+ await unlinkTempFiles({
274
259
  collectionConfig,
275
260
  config,
276
261
  req
@@ -278,12 +263,12 @@ const createOperation = async (incomingArgs)=>{
278
263
  // /////////////////////////////////////
279
264
  // Return results
280
265
  // /////////////////////////////////////
281
- if (shouldCommit) await (0, _commitTransaction.commitTransaction)(req);
266
+ if (shouldCommit) await commitTransaction(req);
282
267
  return result;
283
268
  } catch (error) {
284
- await (0, _killTransaction.killTransaction)(args.req);
269
+ await killTransaction(args.req);
285
270
  throw error;
286
271
  }
287
272
  };
288
273
 
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2NyZWF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1hcmtPcHRpb25hbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBZnRlckNoYW5nZUhvb2ssXG4gIEJlZm9yZU9wZXJhdGlvbkhvb2ssXG4gIEJlZm9yZVZhbGlkYXRlSG9vayxcbiAgQ29sbGVjdGlvbixcbn0gZnJvbSAnLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgc2VuZFZlcmlmaWNhdGlvbkVtYWlsIGZyb20gJy4uLy4uL2F1dGgvc2VuZFZlcmlmaWNhdGlvbkVtYWlsJ1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vYXV0aC9zdHJhdGVnaWVzL2xvY2FsL3JlZ2lzdGVyJ1xuaW1wb3J0IHsgYWZ0ZXJDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkJ1xuaW1wb3J0IHsgYmVmb3JlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZUNoYW5nZSdcbmltcG9ydCB7IGJlZm9yZVZhbGlkYXRlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZVZhbGlkYXRlJ1xuaW1wb3J0IHsgZ2VuZXJhdGVGaWxlRGF0YSB9IGZyb20gJy4uLy4uL3VwbG9hZHMvZ2VuZXJhdGVGaWxlRGF0YSdcbmltcG9ydCB7IHVubGlua1RlbXBGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvdW5saW5rVGVtcEZpbGVzJ1xuaW1wb3J0IHsgdXBsb2FkRmlsZXMgfSBmcm9tICcuLi8uLi91cGxvYWRzL3VwbG9hZEZpbGVzJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24nXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbidcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24nXG5pbXBvcnQgc2FuaXRpemVJbnRlcm5hbEZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvc2FuaXRpemVJbnRlcm5hbEZpZWxkcydcbmltcG9ydCB7IHNhdmVWZXJzaW9uIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvc2F2ZVZlcnNpb24nXG5pbXBvcnQgeyBidWlsZEFmdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi91dGlscydcblxuZXhwb3J0IHR5cGUgQ3JlYXRlVXBkYXRlVHlwZSA9IHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH1cblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzPFQgZXh0ZW5kcyBDcmVhdGVVcGRhdGVUeXBlPiA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGF0YTogTWFya09wdGlvbmFsPFQsICdjcmVhdGVkQXQnIHwgJ2lkJyB8ICdzaXplcycgfCAndXBkYXRlZEF0Jz5cbiAgZGVwdGg/OiBudW1iZXJcbiAgZGlzYWJsZVZlcmlmaWNhdGlvbkVtYWlsPzogYm9vbGVhblxuICBkcmFmdD86IGJvb2xlYW5cbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXM/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9wZXJhdGlvbiA9IGFzeW5jIDxUU2x1ZyBleHRlbmRzIGtleW9mIEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgaW5jb21pbmdBcmdzOiBBcmd1bWVudHM8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPixcbik6IFByb21pc2U8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPiA9PiB7XG4gIGxldCBhcmdzID0gaW5jb21pbmdBcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24oYXJncy5yZXEpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGFyZ3MuY29sbGVjdGlvbi5jb25maWcuaG9va3MuYmVmb3JlT3BlcmF0aW9uLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2sgfCBQcm9taXNlPHZvaWQ+LCBob29rOiBCZWZvcmVPcGVyYXRpb25Ib29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGFyZ3MgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgICAgY29udGV4dDogYXJncy5yZXEuY29udGV4dCxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICAgIH0pKSB8fCBhcmdzXG4gICAgICB9LFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gICAgKVxuXG4gICAgY29uc3Qge1xuICAgICAgYXV0b3NhdmUgPSBmYWxzZSxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZGVwdGgsXG4gICAgICBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWwsXG4gICAgICBkcmFmdCA9IGZhbHNlLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzID0gZmFsc2UsXG4gICAgICByZXE6IHtcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcGF5bG9hZDogeyBjb25maWcsIGVtYWlsT3B0aW9ucyB9LFxuICAgICAgfSxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSA9IGFyZ3NcblxuICAgIGxldCB7IGRhdGEgfSA9IGFyZ3NcblxuICAgIGNvbnN0IHNob3VsZFNhdmVEcmFmdCA9IEJvb2xlYW4oZHJhZnQgJiYgY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucy5kcmFmdHMpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQWNjZXNzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKCFvdmVycmlkZUFjY2Vzcykge1xuICAgICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGRhdGEsIHJlcSB9LCBjb2xsZWN0aW9uQ29uZmlnLmFjY2Vzcy5jcmVhdGUpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEN1c3RvbSBpZFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBAdG9kbzogUmVmYWN0b3IgY29kZSB0byBzdG9yZSAnY3VzdG9tSWQnIG9uIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb24gaXRzZWxmIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVwZWF0IGZsYXR0ZW5GaWVsZHNcbiAgICBjb25zdCBoYXNJZEZpZWxkID1cbiAgICAgIGZsYXR0ZW5GaWVsZHMoY29sbGVjdGlvbkNvbmZpZy5maWVsZHMpLmZpbmRJbmRleCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdpZCcpID4gLTFcblxuICAgIGlmIChoYXNJZEZpZWxkKSB7XG4gICAgICBkYXRhID0ge1xuICAgICAgICBfaWQ6IGRhdGEuaWQsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEdlbmVyYXRlIGRhdGEgZm9yIGFsbCBmaWxlcyBhbmQgc2l6ZXNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGRhdGE6IG5ld0ZpbGVEYXRhLCBmaWxlczogZmlsZXNUb1VwbG9hZCB9ID0gYXdhaXQgZ2VuZXJhdGVGaWxlRGF0YSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgY29uZmlnLFxuICAgICAgZGF0YSxcbiAgICAgIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMsXG4gICAgICByZXEsXG4gICAgICB0aHJvd09uTWlzc2luZ0ZpbGU6XG4gICAgICAgICFzaG91bGRTYXZlRHJhZnQgJiYgY29sbGVjdGlvbi5jb25maWcudXBsb2FkLmZpbGVzUmVxdWlyZWRPbkNyZWF0ZSAhPT0gZmFsc2UsXG4gICAgfSlcblxuICAgIGRhdGEgPSBuZXdGaWxlRGF0YVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgZGF0YSA9IGF3YWl0IGJlZm9yZVZhbGlkYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHt9LFxuICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlVmFsaWRhdGUgLSBDb2xsZWN0aW9uc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYmVmb3JlVmFsaWRhdGUucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlVmFsaWRhdGVIb29rIHwgUHJvbWlzZTx2b2lkPiwgaG9vazogQmVmb3JlVmFsaWRhdGVIb29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGRhdGEgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pKSB8fCBkYXRhXG4gICAgICB9LFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gICAgKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAvLyBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAvLyAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcS50KVxuICAgIC8vIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBkYXRhID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IGRhdGFcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCByZXN1bHRXaXRoTG9jYWxlcyA9IGF3YWl0IGJlZm9yZUNoYW5nZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzoge30sXG4gICAgICBkb2NXaXRoTG9jYWxlczoge30sXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVxLFxuICAgICAgc2tpcFZhbGlkYXRpb246IHNob3VsZFNhdmVEcmFmdCxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQ3JlYXRlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IGRvY1xuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aCAmJiAhY29sbGVjdGlvbkNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICBpZiAoZGF0YS5lbWFpbCkge1xuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5lbWFpbCA9IChkYXRhLmVtYWlsIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKVxuICAgICAgfVxuXG4gICAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoLnZlcmlmeSkge1xuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5fdmVyaWZpZWQgPSBCb29sZWFuKHJlc3VsdFdpdGhMb2NhbGVzLl92ZXJpZmllZCkgfHwgZmFsc2VcbiAgICAgICAgcmVzdWx0V2l0aExvY2FsZXMuX3ZlcmlmaWNhdGlvblRva2VuID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDIwKS50b1N0cmluZygnaGV4JylcbiAgICAgIH1cblxuICAgICAgZG9jID0gYXdhaXQgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5KHtcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jOiByZXN1bHRXaXRoTG9jYWxlcyxcbiAgICAgICAgcGFzc3dvcmQ6IGRhdGEucGFzc3dvcmQgYXMgc3RyaW5nLFxuICAgICAgICBwYXlsb2FkOiByZXEucGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jID0gYXdhaXQgcGF5bG9hZC5kYi5jcmVhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRhdGE6IHJlc3VsdFdpdGhMb2NhbGVzLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IHZlcmlmaWNhdGlvblRva2VuID0gZG9jLl92ZXJpZmljYXRpb25Ub2tlblxuICAgIGxldCByZXN1bHQ6IERvY3VtZW50ID0gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhkb2MpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQ3JlYXRlIHZlcnNpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgc2F2ZVZlcnNpb24oe1xuICAgICAgICBpZDogcmVzdWx0LmlkLFxuICAgICAgICBhdXRvc2F2ZSxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXM6IHJlc3VsdCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gU2VuZCB2ZXJpZmljYXRpb24gZW1haWwgaWYgYXBwbGljYWJsZVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGggJiYgY29sbGVjdGlvbkNvbmZpZy5hdXRoLnZlcmlmeSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlc1xuICAgICAgc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHtcbiAgICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgICAgY29uZmlnOiBwYXlsb2FkLmNvbmZpZyxcbiAgICAgICAgZGlzYWJsZUVtYWlsOiBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWwsXG4gICAgICAgIGVtYWlsT3B0aW9ucyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzZW5kRW1haWw6IHBheWxvYWQuc2VuZEVtYWlsLFxuICAgICAgICB0b2tlbjogdmVyaWZpY2F0aW9uVG9rZW4sXG4gICAgICAgIHVzZXI6IHJlc3VsdCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICBwcmV2aW91c0RvYzoge30sXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEFmdGVyQ2hhbmdlSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEFmdGVyQ2hhbmdlSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICByZXN1bHQgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgICAgIHByZXZpb3VzRG9jOiB7fSxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IHJlc3VsdFxuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICBhd2FpdCB1bmxpbmtUZW1wRmlsZXMoeyBjb2xsZWN0aW9uQ29uZmlnLCBjb25maWcsIHJlcSB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHVybiByZXN1bHRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihhcmdzLnJlcSlcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlT3BlcmF0aW9uIiwiaW5jb21pbmdBcmdzIiwiYXJncyIsInNob3VsZENvbW1pdCIsImluaXRUcmFuc2FjdGlvbiIsInJlcSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJob29rcyIsImJlZm9yZU9wZXJhdGlvbiIsInJlZHVjZSIsInByaW9ySG9vayIsImhvb2siLCJjb250ZXh0Iiwib3BlcmF0aW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhdXRvc2F2ZSIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsImRpc2FibGVWZXJpZmljYXRpb25FbWFpbCIsImRyYWZ0Iiwib3ZlcnJpZGVBY2Nlc3MiLCJvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwiZW1haWxPcHRpb25zIiwic2hvd0hpZGRlbkZpZWxkcyIsImRhdGEiLCJzaG91bGRTYXZlRHJhZnQiLCJCb29sZWFuIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJleGVjdXRlQWNjZXNzIiwiYWNjZXNzIiwiY3JlYXRlIiwiaGFzSWRGaWVsZCIsImZsYXR0ZW5GaWVsZHMiLCJmaWVsZHMiLCJmaW5kSW5kZXgiLCJmaWVsZCIsIm5hbWUiLCJfaWQiLCJpZCIsIm5ld0ZpbGVEYXRhIiwiZmlsZXMiLCJmaWxlc1RvVXBsb2FkIiwiZ2VuZXJhdGVGaWxlRGF0YSIsInRocm93T25NaXNzaW5nRmlsZSIsInVwbG9hZCIsImZpbGVzUmVxdWlyZWRPbkNyZWF0ZSIsImJlZm9yZVZhbGlkYXRlIiwiZG9jIiwiZ2xvYmFsIiwiYmVmb3JlQ2hhbmdlIiwicmVzdWx0V2l0aExvY2FsZXMiLCJkb2NXaXRoTG9jYWxlcyIsInNraXBWYWxpZGF0aW9uIiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsInVwbG9hZEZpbGVzIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiZW1haWwiLCJ0b0xvd2VyQ2FzZSIsInZlcmlmeSIsIl92ZXJpZmllZCIsIl92ZXJpZmljYXRpb25Ub2tlbiIsImNyeXB0byIsInJhbmRvbUJ5dGVzIiwidG9TdHJpbmciLCJyZWdpc3RlckxvY2FsU3RyYXRlZ3kiLCJwYXNzd29yZCIsImRiIiwic2x1ZyIsInZlcmlmaWNhdGlvblRva2VuIiwicmVzdWx0Iiwic2FuaXRpemVJbnRlcm5hbEZpZWxkcyIsInNhdmVWZXJzaW9uIiwic2VuZFZlcmlmaWNhdGlvbkVtYWlsIiwiZGlzYWJsZUVtYWlsIiwic2VuZEVtYWlsIiwidG9rZW4iLCJ1c2VyIiwiYWZ0ZXJSZWFkIiwiYWZ0ZXJDaGFuZ2UiLCJwcmV2aW91c0RvYyIsImJ1aWxkQWZ0ZXJPcGVyYXRpb24iLCJ1bmxpbmtUZW1wRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImVycm9yIiwia2lsbFRyYW5zYWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQStDYUE7OztlQUFBQTs7OytEQTdDTTtzRUFZTzs4RUFDUTswQkFDSTs2QkFDVjsy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
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2NyZWF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1hcmtPcHRpb25hbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vaW5kZXguZC50cydcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQsIFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMvaW5kZXguZC50cydcbmltcG9ydCB0eXBlIHtcbiAgQWZ0ZXJDaGFuZ2VIb29rLFxuICBCZWZvcmVPcGVyYXRpb25Ib29rLFxuICBCZWZvcmVWYWxpZGF0ZUhvb2ssXG4gIENvbGxlY3Rpb24sXG59IGZyb20gJy4uL2NvbmZpZy90eXBlcy5kLnRzJ1xuXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MuanMnXG5pbXBvcnQgc2VuZFZlcmlmaWNhdGlvbkVtYWlsIGZyb20gJy4uLy4uL2F1dGgvc2VuZFZlcmlmaWNhdGlvbkVtYWlsLmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vYXV0aC9zdHJhdGVnaWVzL2xvY2FsL3JlZ2lzdGVyLmpzJ1xuaW1wb3J0IHsgYWZ0ZXJDaGFuZ2UgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJDaGFuZ2UvaW5kZXguanMnXG5pbXBvcnQgeyBhZnRlclJlYWQgfSBmcm9tICcuLi8uLi9maWVsZHMvaG9va3MvYWZ0ZXJSZWFkL2luZGV4LmpzJ1xuaW1wb3J0IHsgYmVmb3JlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZUNoYW5nZS9pbmRleC5qcydcbmltcG9ydCB7IGJlZm9yZVZhbGlkYXRlIH0gZnJvbSAnLi4vLi4vZmllbGRzL2hvb2tzL2JlZm9yZVZhbGlkYXRlL2luZGV4LmpzJ1xuaW1wb3J0IHsgZ2VuZXJhdGVGaWxlRGF0YSB9IGZyb20gJy4uLy4uL3VwbG9hZHMvZ2VuZXJhdGVGaWxlRGF0YS5qcydcbmltcG9ydCB7IHVubGlua1RlbXBGaWxlcyB9IGZyb20gJy4uLy4uL3VwbG9hZHMvdW5saW5rVGVtcEZpbGVzLmpzJ1xuaW1wb3J0IHsgdXBsb2FkRmlsZXMgfSBmcm9tICcuLi8uLi91cGxvYWRzL3VwbG9hZEZpbGVzLmpzJ1xuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzLmpzJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgc2FuaXRpemVJbnRlcm5hbEZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvc2FuaXRpemVJbnRlcm5hbEZpZWxkcy5qcydcbmltcG9ydCB7IHNhdmVWZXJzaW9uIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvc2F2ZVZlcnNpb24uanMnXG5pbXBvcnQgeyBidWlsZEFmdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi91dGlscy5qcydcblxuZXhwb3J0IHR5cGUgQ3JlYXRlVXBkYXRlVHlwZSA9IHsgW2ZpZWxkOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiB1bmtub3duIH1cblxuZXhwb3J0IHR5cGUgQXJndW1lbnRzPFQgZXh0ZW5kcyBDcmVhdGVVcGRhdGVUeXBlPiA9IHtcbiAgYXV0b3NhdmU/OiBib29sZWFuXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgZGF0YTogTWFya09wdGlvbmFsPFQsICdjcmVhdGVkQXQnIHwgJ2lkJyB8ICdzaXplcycgfCAndXBkYXRlZEF0Jz5cbiAgZGVwdGg/OiBudW1iZXJcbiAgZGlzYWJsZVZlcmlmaWNhdGlvbkVtYWlsPzogYm9vbGVhblxuICBkcmFmdD86IGJvb2xlYW5cbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXM/OiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2hvd0hpZGRlbkZpZWxkcz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9wZXJhdGlvbiA9IGFzeW5jIDxUU2x1ZyBleHRlbmRzIGtleW9mIEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgaW5jb21pbmdBcmdzOiBBcmd1bWVudHM8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPixcbik6IFByb21pc2U8R2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddPiA9PiB7XG4gIGxldCBhcmdzID0gaW5jb21pbmdBcmdzXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBzaG91bGRDb21taXQgPSBhd2FpdCBpbml0VHJhbnNhY3Rpb24oYXJncy5yZXEpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlT3BlcmF0aW9uIC0gQ29sbGVjdGlvblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGFyZ3MuY29sbGVjdGlvbi5jb25maWcuaG9va3MuYmVmb3JlT3BlcmF0aW9uLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEJlZm9yZU9wZXJhdGlvbkhvb2sgfCBQcm9taXNlPHZvaWQ+LCBob29rOiBCZWZvcmVPcGVyYXRpb25Ib29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGFyZ3MgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb24uY29uZmlnLFxuICAgICAgICAgICAgY29udGV4dDogYXJncy5yZXEuY29udGV4dCxcbiAgICAgICAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICAgICAgICByZXE6IGFyZ3MucmVxLFxuICAgICAgICAgIH0pKSB8fCBhcmdzXG4gICAgICB9LFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gICAgKVxuXG4gICAgY29uc3Qge1xuICAgICAgYXV0b3NhdmUgPSBmYWxzZSxcbiAgICAgIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZGVwdGgsXG4gICAgICBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWwsXG4gICAgICBkcmFmdCA9IGZhbHNlLFxuICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzID0gZmFsc2UsXG4gICAgICByZXE6IHtcbiAgICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcGF5bG9hZDogeyBjb25maWcsIGVtYWlsT3B0aW9ucyB9LFxuICAgICAgfSxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSA9IGFyZ3NcblxuICAgIGxldCB7IGRhdGEgfSA9IGFyZ3NcblxuICAgIGNvbnN0IHNob3VsZFNhdmVEcmFmdCA9IEJvb2xlYW4oZHJhZnQgJiYgY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucy5kcmFmdHMpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQWNjZXNzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKCFvdmVycmlkZUFjY2Vzcykge1xuICAgICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IGRhdGEsIHJlcSB9LCBjb2xsZWN0aW9uQ29uZmlnLmFjY2Vzcy5jcmVhdGUpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEN1c3RvbSBpZFxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBAdG9kbzogUmVmYWN0b3IgY29kZSB0byBzdG9yZSAnY3VzdG9tSWQnIG9uIHRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb24gaXRzZWxmIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVwZWF0IGZsYXR0ZW5GaWVsZHNcbiAgICBjb25zdCBoYXNJZEZpZWxkID1cbiAgICAgIGZsYXR0ZW5GaWVsZHMoY29sbGVjdGlvbkNvbmZpZy5maWVsZHMpLmZpbmRJbmRleCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09ICdpZCcpID4gLTFcblxuICAgIGlmIChoYXNJZEZpZWxkKSB7XG4gICAgICBkYXRhID0ge1xuICAgICAgICBfaWQ6IGRhdGEuaWQsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEdlbmVyYXRlIGRhdGEgZm9yIGFsbCBmaWxlcyBhbmQgc2l6ZXNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB7IGRhdGE6IG5ld0ZpbGVEYXRhLCBmaWxlczogZmlsZXNUb1VwbG9hZCB9ID0gYXdhaXQgZ2VuZXJhdGVGaWxlRGF0YSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgY29uZmlnLFxuICAgICAgZGF0YSxcbiAgICAgIG92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMsXG4gICAgICByZXEsXG4gICAgICB0aHJvd09uTWlzc2luZ0ZpbGU6XG4gICAgICAgICFzaG91bGRTYXZlRHJhZnQgJiYgY29sbGVjdGlvbi5jb25maWcudXBsb2FkLmZpbGVzUmVxdWlyZWRPbkNyZWF0ZSAhPT0gZmFsc2UsXG4gICAgfSlcblxuICAgIGRhdGEgPSBuZXdGaWxlRGF0YVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGJlZm9yZVZhbGlkYXRlIC0gRmllbGRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgZGF0YSA9IGF3YWl0IGJlZm9yZVZhbGlkYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHt9LFxuICAgICAgZ2xvYmFsOiBudWxsLFxuICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcmVxLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYmVmb3JlVmFsaWRhdGUgLSBDb2xsZWN0aW9uc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGF3YWl0IGNvbGxlY3Rpb25Db25maWcuaG9va3MuYmVmb3JlVmFsaWRhdGUucmVkdWNlKFxuICAgICAgYXN5bmMgKHByaW9ySG9vazogQmVmb3JlVmFsaWRhdGVIb29rIHwgUHJvbWlzZTx2b2lkPiwgaG9vazogQmVmb3JlVmFsaWRhdGVIb29rKSA9PiB7XG4gICAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICAgIGRhdGEgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgIH0pKSB8fCBkYXRhXG4gICAgICB9LFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKCksXG4gICAgKVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAvLyBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAvLyAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcS50KVxuICAgIC8vIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5iZWZvcmVDaGFuZ2UucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICBkYXRhID1cbiAgICAgICAgKGF3YWl0IGhvb2soe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSkpIHx8IGRhdGFcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBiZWZvcmVDaGFuZ2UgLSBGaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCByZXN1bHRXaXRoTG9jYWxlcyA9IGF3YWl0IGJlZm9yZUNoYW5nZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oe1xuICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgIGNvbnRleHQ6IHJlcS5jb250ZXh0LFxuICAgICAgZGF0YSxcbiAgICAgIGRvYzoge30sXG4gICAgICBkb2NXaXRoTG9jYWxlczoge30sXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVxLFxuICAgICAgc2tpcFZhbGlkYXRpb246IHNob3VsZFNhdmVEcmFmdCxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFdyaXRlIGZpbGVzIHRvIGxvY2FsIHN0b3JhZ2VcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoIWNvbGxlY3Rpb25Db25maWcudXBsb2FkLmRpc2FibGVMb2NhbFN0b3JhZ2UpIHtcbiAgICAgIGF3YWl0IHVwbG9hZEZpbGVzKHBheWxvYWQsIGZpbGVzVG9VcGxvYWQsIHJlcSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQ3JlYXRlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgbGV0IGRvY1xuXG4gICAgaWYgKGNvbGxlY3Rpb25Db25maWcuYXV0aCAmJiAhY29sbGVjdGlvbkNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICBpZiAoZGF0YS5lbWFpbCkge1xuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5lbWFpbCA9IChkYXRhLmVtYWlsIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKVxuICAgICAgfVxuXG4gICAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoLnZlcmlmeSkge1xuICAgICAgICByZXN1bHRXaXRoTG9jYWxlcy5fdmVyaWZpZWQgPSBCb29sZWFuKHJlc3VsdFdpdGhMb2NhbGVzLl92ZXJpZmllZCkgfHwgZmFsc2VcbiAgICAgICAgcmVzdWx0V2l0aExvY2FsZXMuX3ZlcmlmaWNhdGlvblRva2VuID0gY3J5cHRvLnJhbmRvbUJ5dGVzKDIwKS50b1N0cmluZygnaGV4JylcbiAgICAgIH1cblxuICAgICAgZG9jID0gYXdhaXQgcmVnaXN0ZXJMb2NhbFN0cmF0ZWd5KHtcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jOiByZXN1bHRXaXRoTG9jYWxlcyxcbiAgICAgICAgcGFzc3dvcmQ6IGRhdGEucGFzc3dvcmQgYXMgc3RyaW5nLFxuICAgICAgICBwYXlsb2FkOiByZXEucGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jID0gYXdhaXQgcGF5bG9hZC5kYi5jcmVhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLnNsdWcsXG4gICAgICAgIGRhdGE6IHJlc3VsdFdpdGhMb2NhbGVzLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IHZlcmlmaWNhdGlvblRva2VuID0gZG9jLl92ZXJpZmljYXRpb25Ub2tlblxuICAgIGxldCByZXN1bHQ6IERvY3VtZW50ID0gc2FuaXRpemVJbnRlcm5hbEZpZWxkcyhkb2MpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gQ3JlYXRlIHZlcnNpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoY29sbGVjdGlvbkNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgYXdhaXQgc2F2ZVZlcnNpb24oe1xuICAgICAgICBpZDogcmVzdWx0LmlkLFxuICAgICAgICBhdXRvc2F2ZSxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgZG9jV2l0aExvY2FsZXM6IHJlc3VsdCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gU2VuZCB2ZXJpZmljYXRpb24gZW1haWwgaWYgYXBwbGljYWJsZVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChjb2xsZWN0aW9uQ29uZmlnLmF1dGggJiYgY29sbGVjdGlvbkNvbmZpZy5hdXRoLnZlcmlmeSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1mbG9hdGluZy1wcm9taXNlc1xuICAgICAgc2VuZFZlcmlmaWNhdGlvbkVtYWlsKHtcbiAgICAgICAgY29sbGVjdGlvbjogeyBjb25maWc6IGNvbGxlY3Rpb25Db25maWcgfSxcbiAgICAgICAgY29uZmlnOiBwYXlsb2FkLmNvbmZpZyxcbiAgICAgICAgZGlzYWJsZUVtYWlsOiBkaXNhYmxlVmVyaWZpY2F0aW9uRW1haWwsXG4gICAgICAgIGVtYWlsT3B0aW9ucyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzZW5kRW1haWw6IHBheWxvYWQuc2VuZEVtYWlsLFxuICAgICAgICB0b2tlbjogdmVyaWZpY2F0aW9uVG9rZW4sXG4gICAgICAgIHVzZXI6IHJlc3VsdCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIGFmdGVyUmVhZCAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyUmVhZCh7XG4gICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICBkZXB0aCxcbiAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgZmFsbGJhY2tMb2NhbGUsXG4gICAgICBnbG9iYWw6IG51bGwsXG4gICAgICBsb2NhbGUsXG4gICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgIHJlcSxcbiAgICAgIHNob3dIaWRkZW5GaWVsZHMsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlclJlYWQgLSBDb2xsZWN0aW9uXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgYXdhaXQgY29sbGVjdGlvbkNvbmZpZy5ob29rcy5hZnRlclJlYWQucmVkdWNlKGFzeW5jIChwcmlvckhvb2ssIGhvb2spID0+IHtcbiAgICAgIGF3YWl0IHByaW9ySG9va1xuXG4gICAgICByZXN1bHQgPVxuICAgICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbkNvbmZpZyxcbiAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICBkb2M6IHJlc3VsdCxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pKSB8fCByZXN1bHRcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIEZpZWxkc1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHJlc3VsdCA9IGF3YWl0IGFmdGVyQ2hhbmdlKHtcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgIGRhdGEsXG4gICAgICBkb2M6IHJlc3VsdCxcbiAgICAgIGdsb2JhbDogbnVsbCxcbiAgICAgIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gICAgICBwcmV2aW91c0RvYzoge30sXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlckNoYW5nZSAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBhd2FpdCBjb2xsZWN0aW9uQ29uZmlnLmhvb2tzLmFmdGVyQ2hhbmdlLnJlZHVjZShcbiAgICAgIGFzeW5jIChwcmlvckhvb2s6IEFmdGVyQ2hhbmdlSG9vayB8IFByb21pc2U8dm9pZD4sIGhvb2s6IEFmdGVyQ2hhbmdlSG9vaykgPT4ge1xuICAgICAgICBhd2FpdCBwcmlvckhvb2tcblxuICAgICAgICByZXN1bHQgPVxuICAgICAgICAgIChhd2FpdCBob29rKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgICAgICBjb250ZXh0OiByZXEuY29udGV4dCxcbiAgICAgICAgICAgIGRvYzogcmVzdWx0LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICAgICAgICAgIHByZXZpb3VzRG9jOiB7fSxcbiAgICAgICAgICAgIHJlcTogYXJncy5yZXEsXG4gICAgICAgICAgfSkpIHx8IHJlc3VsdFxuICAgICAgfSxcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLFxuICAgIClcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZnRlck9wZXJhdGlvbiAtIENvbGxlY3Rpb25cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICByZXN1bHQgPSBhd2FpdCBidWlsZEFmdGVyT3BlcmF0aW9uPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT4oe1xuICAgICAgYXJncyxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICBhd2FpdCB1bmxpbmtUZW1wRmlsZXMoeyBjb2xsZWN0aW9uQ29uZmlnLCBjb25maWcsIHJlcSB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIFJldHVybiByZXN1bHRzXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihhcmdzLnJlcSlcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG4iXSwibmFtZXMiOlsiY3J5cHRvIiwiZXhlY3V0ZUFjY2VzcyIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsInJlZ2lzdGVyTG9jYWxTdHJhdGVneSIsImFmdGVyQ2hhbmdlIiwiYWZ0ZXJSZWFkIiwiYmVmb3JlQ2hhbmdlIiwiYmVmb3JlVmFsaWRhdGUiLCJnZW5lcmF0ZUZpbGVEYXRhIiwidW5saW5rVGVtcEZpbGVzIiwidXBsb2FkRmlsZXMiLCJjb21taXRUcmFuc2FjdGlvbiIsImZsYXR0ZW5GaWVsZHMiLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJzYW5pdGl6ZUludGVybmFsRmllbGRzIiwic2F2ZVZlcnNpb24iLCJidWlsZEFmdGVyT3BlcmF0aW9uIiwiY3JlYXRlT3BlcmF0aW9uIiwiaW5jb21pbmdBcmdzIiwiYXJncyIsInNob3VsZENvbW1pdCIsInJlcSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJob29rcyIsImJlZm9yZU9wZXJhdGlvbiIsInJlZHVjZSIsInByaW9ySG9vayIsImhvb2siLCJjb250ZXh0Iiwib3BlcmF0aW9uIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhdXRvc2F2ZSIsImNvbGxlY3Rpb25Db25maWciLCJkZXB0aCIsImRpc2FibGVWZXJpZmljYXRpb25FbWFpbCIsImRyYWZ0Iiwib3ZlcnJpZGVBY2Nlc3MiLCJvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzIiwiZmFsbGJhY2tMb2NhbGUiLCJsb2NhbGUiLCJwYXlsb2FkIiwiZW1haWxPcHRpb25zIiwic2hvd0hpZGRlbkZpZWxkcyIsImRhdGEiLCJzaG91bGRTYXZlRHJhZnQiLCJCb29sZWFuIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJhY2Nlc3MiLCJjcmVhdGUiLCJoYXNJZEZpZWxkIiwiZmllbGRzIiwiZmluZEluZGV4IiwiZmllbGQiLCJuYW1lIiwiX2lkIiwiaWQiLCJuZXdGaWxlRGF0YSIsImZpbGVzIiwiZmlsZXNUb1VwbG9hZCIsInRocm93T25NaXNzaW5nRmlsZSIsInVwbG9hZCIsImZpbGVzUmVxdWlyZWRPbkNyZWF0ZSIsImRvYyIsImdsb2JhbCIsInJlc3VsdFdpdGhMb2NhbGVzIiwiZG9jV2l0aExvY2FsZXMiLCJza2lwVmFsaWRhdGlvbiIsImRpc2FibGVMb2NhbFN0b3JhZ2UiLCJhdXRoIiwiZGlzYWJsZUxvY2FsU3RyYXRlZ3kiLCJlbWFpbCIsInRvTG93ZXJDYXNlIiwidmVyaWZ5IiwiX3ZlcmlmaWVkIiwiX3ZlcmlmaWNhdGlvblRva2VuIiwicmFuZG9tQnl0ZXMiLCJ0b1N0cmluZyIsInBhc3N3b3JkIiwiZGIiLCJzbHVnIiwidmVyaWZpY2F0aW9uVG9rZW4iLCJyZXN1bHQiLCJkaXNhYmxlRW1haWwiLCJzZW5kRW1haWwiLCJ0b2tlbiIsInVzZXIiLCJwcmV2aW91c0RvYyIsImVycm9yIl0s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
@@ -1,7 +1,6 @@
1
- import type { GeneratedTypes } from '../../';
2
- import type { PayloadRequest } from '../../types';
3
- import type { Where } from '../../types';
4
- import type { Collection } from '../config/types';
1
+ import type { GeneratedTypes } from '../../index.d.ts';
2
+ import type { PayloadRequest, Where } from '../../types/index.d.ts';
3
+ import type { Collection } from '../config/types.d.ts';
5
4
  export type Arguments = {
6
5
  collection: Collection;
7
6
  depth?: number;
@@ -12,15 +11,15 @@ export type Arguments = {
12
11
  };
13
12
  export declare const deleteOperation: <TSlug extends string | number | symbol>(incomingArgs: Arguments) => Promise<{
14
13
  docs: {
15
- [slug: string]: import("../config/types").TypeWithID & Record<string, unknown>;
16
- [slug: number]: import("../config/types").TypeWithID & Record<string, unknown>;
17
- [slug: symbol]: import("../config/types").TypeWithID & Record<string, unknown>;
14
+ [slug: string]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
15
+ [slug: number]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
16
+ [slug: symbol]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
18
17
  }[TSlug][];
19
18
  errors: {
20
19
  id: {
21
- [slug: string]: import("../config/types").TypeWithID & Record<string, unknown>;
22
- [slug: number]: import("../config/types").TypeWithID & Record<string, unknown>;
23
- [slug: symbol]: import("../config/types").TypeWithID & Record<string, unknown>;
20
+ [slug: string]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
21
+ [slug: number]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
22
+ [slug: symbol]: import("../config/types.d.ts").TypeWithID & Record<string, unknown>;
24
23
  }[TSlug]["id"];
25
24
  message: string;
26
25
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAetE,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,SAAS;;;;;;;;;;;;iBAKZ,MAAM;;EA2OlB,CAAA"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/collections/operations/delete.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAe3E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,eAAO,MAAM,eAAe,yDACZ,SAAS;;;;;;;;;;;;iBAKZ,MAAM;;EA2OlB,CAAA"}