payload-auth 1.8.0-canary.2 → 1.8.0

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 (409) hide show
  1. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -1
  2. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -1
  3. package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +51 -54
  4. package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -1
  5. package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +4 -4
  6. package/dist/better-auth/adapter/generate-schema/index.d.ts +1 -1
  7. package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -1
  8. package/dist/better-auth/adapter/generate-schema/index.js +4 -4
  9. package/dist/better-auth/adapter/generate-schema/utils.js +4 -4
  10. package/dist/better-auth/adapter/index.d.ts +2 -2
  11. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  12. package/dist/better-auth/adapter/index.js +59 -59
  13. package/dist/better-auth/adapter/transform/index.d.ts +3 -3
  14. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  15. package/dist/better-auth/adapter/transform/index.js +86 -61
  16. package/dist/better-auth/adapter/types.d.ts +4 -4
  17. package/dist/better-auth/adapter/types.d.ts.map +1 -1
  18. package/dist/better-auth/adapter/types.js +1 -1
  19. package/dist/better-auth/generated-types.d.ts +27 -1
  20. package/dist/better-auth/generated-types.d.ts.map +1 -1
  21. package/dist/better-auth/generated-types.js +1 -1
  22. package/dist/better-auth/index.d.ts +3 -3
  23. package/dist/better-auth/index.d.ts.map +1 -1
  24. package/dist/better-auth/index.js +1 -1
  25. package/dist/better-auth/plugin/constants.d.ts +10 -0
  26. package/dist/better-auth/plugin/constants.d.ts.map +1 -1
  27. package/dist/better-auth/plugin/constants.js +163 -153
  28. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +1 -1
  29. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts.map +1 -1
  30. package/dist/better-auth/plugin/helpers/check-plugin-exists.js +1 -1
  31. package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
  32. package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +7 -7
  33. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +2 -2
  34. package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -1
  35. package/dist/better-auth/plugin/helpers/get-admin-access.js +2 -2
  36. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +2 -2
  37. package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -1
  38. package/dist/better-auth/plugin/helpers/get-all-roles.js +4 -4
  39. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +2 -2
  40. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -1
  41. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +3 -3
  42. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +2 -2
  43. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts.map +1 -1
  44. package/dist/better-auth/plugin/helpers/get-collection-slug.js +7 -7
  45. package/dist/better-auth/plugin/helpers/get-collection.d.ts +2 -2
  46. package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -1
  47. package/dist/better-auth/plugin/helpers/get-collection.js +1 -1
  48. package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
  49. package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
  50. package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
  51. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +1 -1
  52. package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts.map +1 -1
  53. package/dist/better-auth/plugin/helpers/get-signed-cookie.js +13 -13
  54. package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
  55. package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -1
  56. package/dist/better-auth/plugin/helpers/index.js +1 -1
  57. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +2 -2
  58. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
  59. package/dist/better-auth/plugin/helpers/prepare-session-data.js +2 -2
  60. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +2 -2
  61. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -1
  62. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +1 -1
  63. package/dist/better-auth/plugin/index.d.ts +7 -11
  64. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  65. package/dist/better-auth/plugin/index.js +3 -26
  66. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +3 -3
  67. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +1 -1
  68. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +9 -9
  69. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +2 -2
  70. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -1
  71. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +6 -6
  72. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +2 -2
  73. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -1
  74. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +19 -20
  75. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +2 -2
  76. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -1
  77. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +1 -1
  78. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +1 -1
  79. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -1
  80. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +2 -2
  81. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +3 -3
  82. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -1
  83. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +21 -21
  84. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +2 -2
  85. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  86. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +26 -26
  87. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +2 -2
  88. package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -1
  89. package/dist/better-auth/plugin/lib/build-collections/device-code.js +6 -6
  90. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +3 -3
  91. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
  92. package/dist/better-auth/plugin/lib/build-collections/index.js +10 -4
  93. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +2 -2
  94. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -1
  95. package/dist/better-auth/plugin/lib/build-collections/invitations.js +14 -14
  96. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +2 -2
  97. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  98. package/dist/better-auth/plugin/lib/build-collections/jwks.js +8 -8
  99. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +2 -2
  100. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
  101. package/dist/better-auth/plugin/lib/build-collections/members.js +11 -12
  102. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +2 -2
  103. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  104. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +15 -15
  105. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +2 -2
  106. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  107. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +16 -16
  108. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +2 -2
  109. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  110. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +11 -12
  111. package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts +4 -0
  112. package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts.map +1 -0
  113. package/dist/better-auth/plugin/lib/build-collections/organization-roles.js +65 -0
  114. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +2 -2
  115. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
  116. package/dist/better-auth/plugin/lib/build-collections/organizations.js +61 -13
  117. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +2 -2
  118. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
  119. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +15 -16
  120. package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts +4 -0
  121. package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts.map +1 -0
  122. package/dist/better-auth/plugin/lib/build-collections/rate-limit.js +54 -0
  123. package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts +4 -0
  124. package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts.map +1 -0
  125. package/dist/better-auth/plugin/lib/build-collections/scim-provider.js +65 -0
  126. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +2 -2
  127. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  128. package/dist/better-auth/plugin/lib/build-collections/sessions.js +21 -22
  129. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +2 -2
  130. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -1
  131. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +12 -13
  132. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +2 -2
  133. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -1
  134. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +17 -18
  135. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +2 -2
  136. package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts.map +1 -1
  137. package/dist/better-auth/plugin/lib/build-collections/team-members.js +14 -9
  138. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +2 -2
  139. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  140. package/dist/better-auth/plugin/lib/build-collections/teams.js +9 -9
  141. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +2 -2
  142. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -1
  143. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +9 -9
  144. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +1 -1
  145. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -1
  146. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +4 -4
  147. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +5 -5
  148. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -1
  149. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +9 -9
  150. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +4 -4
  151. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -1
  152. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +1 -1
  153. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +1 -1
  154. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -1
  155. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +17 -17
  156. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -3
  157. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -1
  158. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +7 -7
  159. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +3 -3
  160. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -1
  161. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +7 -7
  162. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +1 -1
  163. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
  164. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +10 -11
  165. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +1 -1
  166. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -1
  167. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +9 -9
  168. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +1 -1
  169. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
  170. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +3 -3
  171. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +2 -2
  172. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -1
  173. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +2 -2
  174. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +6 -6
  175. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -1
  176. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +1 -1
  177. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +1 -1
  178. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -1
  179. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +1 -1
  180. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +1 -1
  181. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -1
  182. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +12 -12
  183. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +2 -2
  184. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  185. package/dist/better-auth/plugin/lib/build-collections/users/index.js +38 -38
  186. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +3 -3
  187. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -1
  188. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +3 -3
  189. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +2 -2
  190. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts.map +1 -1
  191. package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +53 -53
  192. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +1 -1
  193. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -1
  194. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +7 -7
  195. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +3 -3
  196. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -1
  197. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +1 -1
  198. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +1 -2
  199. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -1
  200. package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +12 -12
  201. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +4 -4
  202. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -1
  203. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +17 -17
  204. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +2 -2
  205. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  206. package/dist/better-auth/plugin/lib/build-collections/verifications.js +10 -10
  207. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +3 -3
  208. package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
  209. package/dist/better-auth/plugin/lib/get-payload-auth.js +1 -1
  210. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -4
  211. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
  212. package/dist/better-auth/plugin/lib/init-better-auth.js +1 -1
  213. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +2 -2
  214. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -1
  215. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +1 -1
  216. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +1 -1
  217. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
  218. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +1 -1
  219. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +1 -1
  220. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts.map +1 -1
  221. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +1 -1
  222. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +4 -5
  223. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  224. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +11 -11
  225. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +1 -1
  226. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
  227. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +1 -1
  228. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +1 -1
  229. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
  230. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +1 -1
  231. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +1 -1
  232. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -1
  233. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +2 -2
  234. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +1 -1
  235. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -1
  236. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +1 -1
  237. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +1 -1
  238. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -1
  239. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +1 -1
  240. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts +1 -1
  241. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts.map +1 -1
  242. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +6 -6
  243. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts +1 -1
  244. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts.map +1 -1
  245. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.js +6 -6
  246. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts +3 -3
  247. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts.map +1 -1
  248. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.js +3 -3
  249. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +1 -1
  250. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -1
  251. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +6 -7
  252. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -1
  253. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +6 -7
  254. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +3 -3
  255. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -1
  256. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +9 -10
  257. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +1 -1
  258. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +1 -1
  259. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +12 -12
  260. package/dist/better-auth/plugin/lib/set-login-methods.d.ts +3 -3
  261. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -1
  262. package/dist/better-auth/plugin/lib/set-login-methods.js +4 -5
  263. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +5 -5
  264. package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -1
  265. package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +20 -20
  266. package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +6 -1
  267. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +5 -5
  268. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -1
  269. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +30 -30
  270. package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +6 -2
  271. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts +3 -3
  272. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -1
  273. package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +32 -32
  274. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts +9 -9
  275. package/dist/better-auth/plugin/payload/components/login-form/context.d.ts.map +1 -1
  276. package/dist/better-auth/plugin/payload/components/login-form/context.js +18 -18
  277. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts +3 -3
  278. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts.map +1 -1
  279. package/dist/better-auth/plugin/payload/components/login-form/credentials-form.js +32 -32
  280. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts +4 -3
  281. package/dist/better-auth/plugin/payload/components/login-form/index.d.ts.map +1 -1
  282. package/dist/better-auth/plugin/payload/components/login-form/index.js +3 -3
  283. package/dist/better-auth/plugin/payload/components/login-form/index.scss +1 -2
  284. package/dist/better-auth/plugin/payload/components/logout-button.d.ts +1 -1
  285. package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -1
  286. package/dist/better-auth/plugin/payload/components/logout-button.js +7 -7
  287. package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +2 -2
  288. package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts.map +1 -1
  289. package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +17 -17
  290. package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +2 -3
  291. package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts.map +1 -1
  292. package/dist/better-auth/plugin/payload/components/passkeys/client.js +9 -9
  293. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +4 -4
  294. package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -1
  295. package/dist/better-auth/plugin/payload/components/passkeys/index.js +4 -4
  296. package/dist/better-auth/plugin/payload/components/passkeys/index.scss +8 -1
  297. package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +3 -3
  298. package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts.map +1 -1
  299. package/dist/better-auth/plugin/payload/components/passkeys/list.js +12 -12
  300. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +8 -8
  301. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -1
  302. package/dist/better-auth/plugin/payload/components/passkeys/types.js +1 -1
  303. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +1 -2
  304. package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -1
  305. package/dist/better-auth/plugin/payload/components/rsc-redirect.js +5 -5
  306. package/dist/better-auth/plugin/payload/components/token-field.d.ts +2 -3
  307. package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -1
  308. package/dist/better-auth/plugin/payload/components/token-field.js +5 -6
  309. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts +5 -5
  310. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts.map +1 -1
  311. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js +41 -40
  312. package/dist/better-auth/plugin/payload/components/two-factor-auth/index.scss +6 -3
  313. package/dist/better-auth/plugin/payload/exports/client.d.ts +6 -7
  314. package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
  315. package/dist/better-auth/plugin/payload/exports/client.js +3 -4
  316. package/dist/better-auth/plugin/payload/exports/rsc.d.ts +8 -8
  317. package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
  318. package/dist/better-auth/plugin/payload/exports/rsc.js +5 -5
  319. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +1 -1
  320. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -1
  321. package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +2 -2
  322. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -1
  323. package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +10 -11
  324. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +5 -6
  325. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
  326. package/dist/better-auth/plugin/payload/views/admin-login/client.js +6 -7
  327. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +5 -5
  328. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
  329. package/dist/better-auth/plugin/payload/views/admin-login/index.js +21 -21
  330. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +7 -7
  331. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
  332. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +29 -29
  333. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +5 -5
  334. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
  335. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +14 -14
  336. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +3 -4
  337. package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -1
  338. package/dist/better-auth/plugin/payload/views/forgot-password/client.js +22 -22
  339. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +7 -7
  340. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
  341. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +10 -10
  342. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +4 -4
  343. package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -1
  344. package/dist/better-auth/plugin/payload/views/reset-password/client.js +22 -22
  345. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +7 -7
  346. package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -1
  347. package/dist/better-auth/plugin/payload/views/reset-password/index.js +12 -12
  348. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts +4 -2
  349. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts.map +1 -1
  350. package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js +17 -17
  351. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +5 -5
  352. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -1
  353. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +10 -10
  354. package/dist/better-auth/plugin/types.d.ts +28 -30
  355. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  356. package/dist/better-auth/plugin/types.js +1 -1
  357. package/dist/better-auth/plugin/utils/set.d.ts.map +1 -1
  358. package/dist/better-auth/plugin/utils/set.js +4 -4
  359. package/dist/better-auth/scripts/generate-types.js +58 -61
  360. package/dist/better-auth/types.d.ts +2 -2
  361. package/dist/better-auth/types.d.ts.map +1 -1
  362. package/dist/better-auth/types.js +1 -1
  363. package/dist/index.d.ts +1 -1
  364. package/dist/index.d.ts.map +1 -1
  365. package/dist/index.js +1 -1
  366. package/dist/shared/components/icons.d.ts +2 -3
  367. package/dist/shared/components/icons.d.ts.map +1 -1
  368. package/dist/shared/components/icons.js +17 -18
  369. package/dist/shared/components/logo.d.ts +2 -3
  370. package/dist/shared/components/logo.d.ts.map +1 -1
  371. package/dist/shared/components/logo.js +3 -3
  372. package/dist/shared/form/components/submit.d.ts +1 -1
  373. package/dist/shared/form/components/submit.d.ts.map +1 -1
  374. package/dist/shared/form/components/submit.js +2 -2
  375. package/dist/shared/form/fields/text-field.d.ts.map +1 -1
  376. package/dist/shared/form/fields/text-field.js +2 -2
  377. package/dist/shared/form/index.d.ts +13 -19
  378. package/dist/shared/form/index.d.ts.map +1 -1
  379. package/dist/shared/form/index.js +4 -4
  380. package/dist/shared/form/ui/header/index.d.ts +6 -6
  381. package/dist/shared/form/ui/header/index.d.ts.map +1 -1
  382. package/dist/shared/form/ui/header/index.js +4 -5
  383. package/dist/shared/form/ui/header/index.scss +1 -1
  384. package/dist/shared/form/ui/index.d.ts +26 -23
  385. package/dist/shared/form/ui/index.d.ts.map +1 -1
  386. package/dist/shared/form/ui/index.js +33 -20
  387. package/dist/shared/form/validation.d.ts +1 -1
  388. package/dist/shared/form/validation.d.ts.map +1 -1
  389. package/dist/shared/form/validation.js +27 -22
  390. package/dist/shared/index.d.ts +2 -2
  391. package/dist/shared/index.d.ts.map +1 -1
  392. package/dist/shared/index.js +1 -1
  393. package/dist/shared/payload/fields/field-copy-button/index.css +2 -2
  394. package/dist/shared/payload/fields/field-copy-button/index.d.ts +2 -2
  395. package/dist/shared/payload/fields/field-copy-button/index.d.ts.map +1 -1
  396. package/dist/shared/payload/fields/field-copy-button/index.js +2 -2
  397. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +2 -2
  398. package/dist/shared/payload/fields/generate-uuid-button/index.d.ts.map +1 -1
  399. package/dist/shared/payload/fields/generate-uuid-button/index.js +2 -2
  400. package/dist/shared/payload/fields/index.d.ts +2 -2
  401. package/dist/shared/payload/fields/index.d.ts.map +1 -1
  402. package/dist/shared/payload/fields/index.js +1 -1
  403. package/dist/shared/utils/regex.d.ts.map +1 -1
  404. package/dist/shared/utils/regex.js +1 -1
  405. package/dist/shared/utils/try-catch.d.ts.map +1 -1
  406. package/dist/shared/utils/try-catch.js +1 -1
  407. package/dist/shared/utils/value-or-default.d.ts.map +1 -1
  408. package/dist/shared/utils/value-or-default.js +2 -2
  409. package/package.json +28 -27
@@ -16,7 +16,7 @@
16
16
  * Users can copy these generated collection configs to their PayloadCMS project
17
17
  * and add authentication strategies as needed.
18
18
  */
19
- import type { BetterAuthOptions } from 'better-auth';
19
+ import type { BetterAuthOptions } from "better-auth";
20
20
  export declare const generateSchemaBuilderStage: ({ BAOptions, code }: {
21
21
  code: string;
22
22
  BAOptions: BetterAuthOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema-builder.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/adapter/generate-schema/generate-schema-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAKpD,eAAO,MAAM,0BAA0B,GAAU,qBAAqB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAA;CAAE,oBAcnH,CAAA"}
1
+ {"version":3,"file":"generate-schema-builder.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/adapter/generate-schema/generate-schema-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,eAAO,MAAM,0BAA0B,GAAU,qBAG9C;IACD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,iBAAiB,CAAC;CAC9B,oBAcA,CAAC"}
@@ -19,7 +19,7 @@
19
19
  import { format } from "prettier";
20
20
  export const generateSchemaBuilderStage = async ({ BAOptions, code })=>{
21
21
  const formattedCode = await format(code, {
22
- filepath: 'schema.ts'
22
+ filepath: "schema.ts"
23
23
  });
24
24
  const { post, collections } = parseExistingSchema(formattedCode);
25
25
  const payloadSchemaStr = generatePayloadCollectionConfigs({
@@ -28,12 +28,12 @@ export const generateSchemaBuilderStage = async ({ BAOptions, code })=>{
28
28
  exports: post
29
29
  });
30
30
  return await format(`${payloadSchemaStr}`, {
31
- filepath: 'schema.ts'
31
+ filepath: "schema.ts"
32
32
  });
33
33
  };
34
34
  function parseExistingSchema(code) {
35
35
  const collections = [];
36
- let post = '';
36
+ let post = "";
37
37
  // Extract collection definitions
38
38
  const collectionRegex = /const\s+([A-Z][a-zA-Z0-9]*)\s*:\s*CollectionConfig\s*=\s*{[\s\S]*?}\s*as\s*const;/g;
39
39
  let match;
@@ -45,7 +45,7 @@ function parseExistingSchema(code) {
45
45
  const slug = slugMatch ? slugMatch[1] : collectionName.toLowerCase();
46
46
  // Extract useAsTitle
47
47
  const titleMatch = collectionDef.match(/useAsTitle:\s*"([^"]+)"/);
48
- const useAsTitle = titleMatch ? titleMatch[1] : 'id';
48
+ const useAsTitle = titleMatch ? titleMatch[1] : "id";
49
49
  // Extract fields
50
50
  const fieldsRegex = /fields:\s*\[([\s\S]*?)\],/;
51
51
  const fieldsMatch = collectionDef.match(fieldsRegex);
@@ -65,15 +65,12 @@ function parseExistingSchema(code) {
65
65
  type: typeMatch[1]
66
66
  };
67
67
  if (requiredMatch) {
68
- ;
69
- field.required = requiredMatch[1] === 'true';
68
+ field.required = requiredMatch[1] === "true";
70
69
  }
71
70
  if (uniqueMatch) {
72
- ;
73
- field.unique = uniqueMatch[1] === 'true';
71
+ field.unique = uniqueMatch[1] === "true";
74
72
  }
75
73
  if (relationToMatch) {
76
- ;
77
74
  field.relationTo = relationToMatch[1];
78
75
  }
79
76
  fields.push(field);
@@ -82,7 +79,7 @@ function parseExistingSchema(code) {
82
79
  }
83
80
  // Check for timestamps
84
81
  const timestampsMatch = collectionDef.match(/timestamps:\s*(true|false)/);
85
- const hasTimestamps = timestampsMatch ? timestampsMatch[1] === 'true' : false;
82
+ const hasTimestamps = timestampsMatch ? timestampsMatch[1] === "true" : false;
86
83
  collections.push({
87
84
  slug,
88
85
  admin: {
@@ -106,7 +103,7 @@ function parseExistingSchema(code) {
106
103
  };
107
104
  }
108
105
  function generatePayloadCollectionConfigs({ options, collections, exports }) {
109
- let result = '';
106
+ let result = "";
110
107
  // add pre message and import statements
111
108
  result += `/**
112
109
  * EXAMPLE COLLECTIONS FOR BETTER AUTH
@@ -128,7 +125,7 @@ import type { CollectionConfig } from 'payload';
128
125
 
129
126
  `;
130
127
  // add the collections
131
- let collectionsStr = '';
128
+ let collectionsStr = "";
132
129
  const tables = getAuthTables(options);
133
130
  // Process existing collections first
134
131
  const existingCollectionsBySlug = collections.reduce((acc, collection)=>{
@@ -144,7 +141,7 @@ import type { CollectionConfig } from 'payload';
144
141
  const existingCollection = existingCollectionsBySlug[modelName];
145
142
  if (existingCollection) {
146
143
  // Convert existing collection to string representation
147
- collectionsStr += `const ${capitalized}: CollectionConfig = ${JSON.stringify(existingCollection, null, 2).replace(/"([^"]+)":/g, '$1:')} as const;\n\n`;
144
+ collectionsStr += `const ${capitalized}: CollectionConfig = ${JSON.stringify(existingCollection, null, 2).replace(/"([^"]+)":/g, "$1:")} as const;\n\n`;
148
145
  continue;
149
146
  }
150
147
  // Create new collection if it doesn't exist
@@ -157,7 +154,7 @@ import type { CollectionConfig } from 'payload';
157
154
  },
158
155
  `;
159
156
  // Add auth section ONLY for users collection
160
- if (modelName === 'users') {
157
+ if (modelName === "users") {
161
158
  collectionsStr += ` auth: {
162
159
  disableLocalStrategy: true,
163
160
  strategies: [],
@@ -171,19 +168,19 @@ import type { CollectionConfig } from 'payload';
171
168
  for (const [fieldKey, field] of Object.entries(table.fields)){
172
169
  const fieldName = field.fieldName || fieldKey;
173
170
  // Skip id field as Payload handles it automatically
174
- if (fieldName === 'id') continue;
175
- if (fieldName === 'createdAt' || fieldName === 'updatedAt') continue;
171
+ if (fieldName === "id") continue;
172
+ if (fieldName === "createdAt" || fieldName === "updatedAt") continue;
176
173
  // Handle field type mapping with safer type approach
177
174
  let fieldType = mapFieldType(field.type, fieldName);
178
- const isRelationship = fieldName.endsWith('_id') || !!field.references?.model;
175
+ const isRelationship = fieldName.endsWith("_id") || !!field.references?.model;
179
176
  collectionsStr += ` {
180
- name: "${isRelationship ? fieldName.replace('_id', '') : fieldName}",
177
+ name: "${isRelationship ? fieldName.replace("_id", "") : fieldName}",
181
178
  `;
182
179
  if (isRelationship) {
183
180
  collectionsStr += ` type: "relationship",
184
- relationTo: "${field.references?.model || fieldName.replace('_id', '')}",
181
+ relationTo: "${field.references?.model || fieldName.replace("_id", "")}",
185
182
  `;
186
- } else if (fieldType === 'upload') {
183
+ } else if (fieldType === "upload") {
187
184
  collectionsStr += ` type: "upload",
188
185
  relationTo: "media",
189
186
  `;
@@ -200,22 +197,22 @@ import type { CollectionConfig } from 'payload';
200
197
  `;
201
198
  }
202
199
  // Check if field has options and fieldType is select
203
- if (fieldType === 'select' && 'options' in field && Array.isArray(field.options)) {
200
+ if (fieldType === "select" && "options" in field && Array.isArray(field.options)) {
204
201
  collectionsStr += ` options: ${JSON.stringify(field.options)},
205
202
  `;
206
203
  }
207
204
  if (field.defaultValue !== undefined) {
208
- if (typeof field.defaultValue === 'string') {
205
+ if (typeof field.defaultValue === "string") {
209
206
  collectionsStr += ` defaultValue: "${field.defaultValue}",
210
207
  `;
211
- } else if (typeof field.defaultValue === 'boolean') {
212
- collectionsStr += ` defaultValue: ${field.defaultValue ? 'true' : 'false'},
208
+ } else if (typeof field.defaultValue === "boolean") {
209
+ collectionsStr += ` defaultValue: ${field.defaultValue ? "true" : "false"},
213
210
  `;
214
- } else if (field.defaultValue && typeof field.defaultValue === 'function' && field.defaultValue.toString().includes('() => !1')) {
211
+ } else if (field.defaultValue && typeof field.defaultValue === "function" && field.defaultValue.toString().includes("() => !1")) {
215
212
  // Handle function-like default values with are false
216
213
  collectionsStr += ` defaultValue: false,
217
214
  `;
218
- } else if (field.defaultValue && typeof field.defaultValue === 'function' && field.defaultValue.toString().includes('() => !0')) {
215
+ } else if (field.defaultValue && typeof field.defaultValue === "function" && field.defaultValue.toString().includes("() => !0")) {
219
216
  // Handle function-like default values with are true
220
217
  collectionsStr += ` defaultValue: true,
221
218
  `;
@@ -225,7 +222,7 @@ import type { CollectionConfig } from 'payload';
225
222
  }
226
223
  }
227
224
  // Add admin section for fields if needed - safely check for admin property
228
- if ('admin' in field && field.admin && typeof field.admin === 'object' && 'readOnly' in field.admin && field.admin.readOnly) {
225
+ if ("admin" in field && field.admin && typeof field.admin === "object" && "readOnly" in field.admin && field.admin.readOnly) {
229
226
  collectionsStr += ` admin: {
230
227
  readOnly: true,
231
228
  },
@@ -246,7 +243,7 @@ import type { CollectionConfig } from 'payload';
246
243
  continue; // Skip if no slug or already processed
247
244
  }
248
245
  const capitalized = collection.slug.charAt(0).toUpperCase() + collection.slug.slice(1);
249
- collectionsStr += `const ${capitalized}: CollectionConfig = ${JSON.stringify(collection, null, 2).replace(/"([^"]+)":/g, '$1:')} as const;\n\n`;
246
+ collectionsStr += `const ${capitalized}: CollectionConfig = ${JSON.stringify(collection, null, 2).replace(/"([^"]+)":/g, "$1:")} as const;\n\n`;
250
247
  }
251
248
  result += collectionsStr;
252
249
  // Add export statements for all collections
@@ -254,7 +251,7 @@ import type { CollectionConfig } from 'payload';
254
251
  if (exports && exports.trim()) {
255
252
  // Parse the existing exports to get collection names
256
253
  const existingExportMatch = exports.match(/export\s*{\s*(.*?)\s*}/);
257
- const existingCollections = existingExportMatch ? existingExportMatch[1].split(',').map((name)=>name.trim()) : [];
254
+ const existingCollections = existingExportMatch ? existingExportMatch[1].split(",").map((name)=>name.trim()) : [];
258
255
  // Get the collection names from our tables
259
256
  const tableCollections = Object.keys(tables).map((model)=>{
260
257
  return model.charAt(0).toUpperCase() + model.slice(1);
@@ -267,7 +264,7 @@ import type { CollectionConfig } from 'payload';
267
264
  ])
268
265
  ];
269
266
  // Create the new export statement
270
- result += `export { ${allCollections.join(', ')} };
267
+ result += `export { ${allCollections.join(", ")} };
271
268
  `;
272
269
  } else if (Object.keys(tables).length > 0) {
273
270
  const collectionNames = Object.keys(tables).map((model)=>{
@@ -275,7 +272,7 @@ import type { CollectionConfig } from 'payload';
275
272
  const pascalCase = model.charAt(0).toUpperCase() + model.slice(1);
276
273
  return pascalCase;
277
274
  });
278
- result += `export { ${collectionNames.join(', ')} };
275
+ result += `export { ${collectionNames.join(", ")} };
279
276
  `;
280
277
  } else {
281
278
  result += `export {};
@@ -285,33 +282,33 @@ import type { CollectionConfig } from 'payload';
285
282
  }
286
283
  // Helper functions
287
284
  function mapFieldType(type, fieldName) {
288
- if (fieldName.endsWith('_id')) return 'relationship';
285
+ if (fieldName.endsWith("_id")) return "relationship";
289
286
  switch(type){
290
- case 'boolean':
291
- return 'checkbox';
292
- case 'number':
293
- return 'number';
294
- case 'string':
295
- if (fieldName === 'email') return 'email';
296
- if (fieldName.includes('password')) return 'text';
297
- if (fieldName.includes('image') || fieldName.includes('avatar')) return 'upload';
298
- return 'text';
299
- case 'date':
300
- return 'date';
301
- case 'array':
302
- return 'array';
287
+ case "boolean":
288
+ return "checkbox";
289
+ case "number":
290
+ return "number";
291
+ case "string":
292
+ if (fieldName === "email") return "email";
293
+ if (fieldName.includes("password")) return "text";
294
+ if (fieldName.includes("image") || fieldName.includes("avatar")) return "upload";
295
+ return "text";
296
+ case "date":
297
+ return "date";
298
+ case "array":
299
+ return "array";
303
300
  default:
304
- return 'text';
301
+ return "text";
305
302
  }
306
303
  }
307
304
  function getNameField(fields) {
308
305
  // Try to find an appropriate field to use as title
309
306
  const nameOptions = [
310
- 'name',
311
- 'title',
312
- 'label',
313
- 'email',
314
- 'username'
307
+ "name",
308
+ "title",
309
+ "label",
310
+ "email",
311
+ "username"
315
312
  ];
316
313
  for (const option of nameOptions){
317
314
  if (Object.keys(fields).includes(option)) {
@@ -319,8 +316,8 @@ function getNameField(fields) {
319
316
  }
320
317
  }
321
318
  // Default to first field that's not id
322
- const firstNonIdField = Object.keys(fields).find((k)=>k !== 'id');
323
- return firstNonIdField || 'id';
319
+ const firstNonIdField = Object.keys(fields).find((k)=>k !== "id");
320
+ return firstNonIdField || "id";
324
321
  }
325
322
 
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS9nZW5lcmF0ZS1zY2hlbWEtYnVpbGRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgbW9kdWxlIGdlbmVyYXRlcyBQYXlsb2FkQ01TIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvbnMgYmFzZWQgb24gdGhlIEJldHRlciBBdXRoIHNjaGVtYS5cbiAqXG4gKiBUaGUgZ2VuZXJhdGVkIGNvbGxlY3Rpb24gY29uZmlncyBpbmNsdWRlOlxuICogLSBVc2VyczogRm9yIHVzZXIgbWFuYWdlbWVudCB3aXRoIHByb3BlciBhdXRoIGNvbmZpZ3VyYXRpb25cbiAqIC0gU2Vzc2lvbnM6IEZvciBtYWludGFpbmluZyB1c2VyIHNlc3Npb25zXG4gKiAtIEFjY291bnRzOiBGb3IgT0F1dGggcHJvdmlkZXIgYWNjb3VudHNcbiAqIC0gVmVyaWZpY2F0aW9uVG9rZW5zOiBGb3IgZW1haWwgdmVyaWZpY2F0aW9uIG9yIHNvY2lhbCBzaWduIGluXG4gKlxuICogRWFjaCBjb2xsZWN0aW9uIGlzIHByb3Blcmx5IGZvcm1hdHRlZCB3aXRoOlxuICogLSBBcHByb3ByaWF0ZSBmaWVsZCB0eXBlcyAodGV4dCwgcmVsYXRpb25zaGlwLCBjaGVja2JveCwgZXRjLilcbiAqIC0gQWRtaW4gY29uZmlndXJhdGlvbiBmb3IgYmV0dGVyIFVJIGV4cGVyaWVuY2VcbiAqIC0gQXV0aCBjb25maWd1cmF0aW9uIGZvciB0aGUgVXNlcnMgY29sbGVjdGlvblxuICogLSBQcm9wZXIgZmllbGQgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIGNvbGxlY3Rpb25zXG4gKlxuICogVXNlcnMgY2FuIGNvcHkgdGhlc2UgZ2VuZXJhdGVkIGNvbGxlY3Rpb24gY29uZmlncyB0byB0aGVpciBQYXlsb2FkQ01TIHByb2plY3RcbiAqIGFuZCBhZGQgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcyBhcyBuZWVkZWQuXG4gKi9cbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tICdiZXR0ZXItYXV0aCdcbmltcG9ydCB7IGdldEF1dGhUYWJsZXMgfSBmcm9tICdiZXR0ZXItYXV0aC9kYidcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZywgRmllbGQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAncHJldHRpZXInXG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVNjaGVtYUJ1aWxkZXJTdGFnZSA9IGFzeW5jICh7IEJBT3B0aW9ucywgY29kZSB9OiB7IGNvZGU6IHN0cmluZzsgQkFPcHRpb25zOiBCZXR0ZXJBdXRoT3B0aW9ucyB9KSA9PiB7XG4gIGNvbnN0IGZvcm1hdHRlZENvZGUgPSBhd2FpdCBmb3JtYXQoY29kZSwgeyBmaWxlcGF0aDogJ3NjaGVtYS50cycgfSlcblxuICBjb25zdCB7IHBvc3QsIGNvbGxlY3Rpb25zIH0gPSBwYXJzZUV4aXN0aW5nU2NoZW1hKGZvcm1hdHRlZENvZGUpXG5cbiAgY29uc3QgcGF5bG9hZFNjaGVtYVN0ciA9IGdlbmVyYXRlUGF5bG9hZENvbGxlY3Rpb25Db25maWdzKHtcbiAgICBvcHRpb25zOiBCQU9wdGlvbnMsXG4gICAgY29sbGVjdGlvbnMsXG4gICAgZXhwb3J0czogcG9zdFxuICB9KVxuXG4gIHJldHVybiBhd2FpdCBmb3JtYXQoYCR7cGF5bG9hZFNjaGVtYVN0cn1gLCB7XG4gICAgZmlsZXBhdGg6ICdzY2hlbWEudHMnXG4gIH0pXG59XG5cbmZ1bmN0aW9uIHBhcnNlRXhpc3RpbmdTY2hlbWEoY29kZTogc3RyaW5nKToge1xuICBjb2xsZWN0aW9uczogQ29sbGVjdGlvbkNvbmZpZ1tdXG4gIHBvc3Q6IHN0cmluZ1xufSB7XG4gIGNvbnN0IGNvbGxlY3Rpb25zOiBDb2xsZWN0aW9uQ29uZmlnW10gPSBbXVxuICBsZXQgcG9zdCA9ICcnXG5cbiAgLy8gRXh0cmFjdCBjb2xsZWN0aW9uIGRlZmluaXRpb25zXG4gIGNvbnN0IGNvbGxlY3Rpb25SZWdleCA9IC9jb25zdFxccysoW0EtWl1bYS16QS1aMC05XSopXFxzKjpcXHMqQ29sbGVjdGlvbkNvbmZpZ1xccyo9XFxzKntbXFxzXFxTXSo/fVxccyphc1xccypjb25zdDsvZ1xuICBsZXQgbWF0Y2hcbiAgd2hpbGUgKChtYXRjaCA9IGNvbGxlY3Rpb25SZWdleC5leGVjKGNvZGUpKSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGNvbGxlY3Rpb25OYW1lID0gbWF0Y2hbMV1cbiAgICBjb25zdCBjb2xsZWN0aW9uRGVmID0gbWF0Y2hbMF1cblxuICAgIC8vIEV4dHJhY3Qgc2x1Z1xuICAgIGNvbnN0IHNsdWdNYXRjaCA9IGNvbGxlY3Rpb25EZWYubWF0Y2goL3NsdWc6XFxzKlwiKFteXCJdKylcIi8pXG4gICAgY29uc3Qgc2x1ZyA9IHNsdWdNYXRjaCA/IHNsdWdNYXRjaFsxXSA6IGNvbGxlY3Rpb25OYW1lLnRvTG93ZXJDYXNlKClcblxuICAgIC8vIEV4dHJhY3QgdXNlQXNUaXRsZVxuICAgIGNvbnN0IHRpdGxlTWF0Y2ggPSBjb2xsZWN0aW9uRGVmLm1hdGNoKC91c2VBc1RpdGxlOlxccypcIihbXlwiXSspXCIvKVxuICAgIGNvbnN0IHVzZUFzVGl0bGUgPSB0aXRsZU1hdGNoID8gdGl0bGVNYXRjaFsxXSA6ICdpZCdcblxuICAgIC8vIEV4dHJhY3QgZmllbGRzXG4gICAgY29uc3QgZmllbGRzUmVnZXggPSAvZmllbGRzOlxccypcXFsoW1xcc1xcU10qPylcXF0sL1xuICAgIGNvbnN0IGZpZWxkc01hdGNoID0gY29sbGVjdGlvbkRlZi5tYXRjaChmaWVsZHNSZWdleClcbiAgICBjb25zdCBmaWVsZHM6IEZpZWxkW10gPSBbXVxuXG4gICAgaWYgKGZpZWxkc01hdGNoKSB7XG4gICAgICBjb25zdCBmaWVsZEJsb2NrUmVnZXggPSAve1tcXHNcXFNdKj99LC9nXG4gICAgICBjb25zdCBmaWVsZEJsb2NrcyA9IGZpZWxkc01hdGNoWzFdLm1hdGNoKGZpZWxkQmxvY2tSZWdleCkgfHwgW11cblxuICAgICAgZm9yIChjb25zdCBmaWVsZEJsb2NrIG9mIGZpZWxkQmxvY2tzKSB7XG4gICAgICAgIGNvbnN0IG5hbWVNYXRjaCA9IGZpZWxkQmxvY2subWF0Y2goL25hbWU6XFxzKlwiKFteXCJdKylcIi8pXG4gICAgICAgIGNvbnN0IHR5cGVNYXRjaCA9IGZpZWxkQmxvY2subWF0Y2goL3R5cGU6XFxzKlwiKFteXCJdKylcIi8pXG4gICAgICAgIGNvbnN0IHJlcXVpcmVkTWF0Y2ggPSBmaWVsZEJsb2NrLm1hdGNoKC9yZXF1aXJlZDpcXHMqKHRydWV8ZmFsc2UpLylcbiAgICAgICAgY29uc3QgdW5pcXVlTWF0Y2ggPSBmaWVsZEJsb2NrLm1hdGNoKC91bmlxdWU6XFxzKih0cnVlfGZhbHNlKS8pXG4gICAgICAgIGNvbnN0IHJlbGF0aW9uVG9NYXRjaCA9IGZpZWxkQmxvY2subWF0Y2goL3JlbGF0aW9uVG86XFxzKlwiKFteXCJdKylcIi8pXG5cbiAgICAgICAgaWYgKG5hbWVNYXRjaCAmJiB0eXBlTWF0Y2gpIHtcbiAgICAgICAgICBjb25zdCBmaWVsZCA9IHtcbiAgICAgICAgICAgIG5hbWU6IG5hbWVNYXRjaFsxXSxcbiAgICAgICAgICAgIHR5cGU6IHR5cGVNYXRjaFsxXSBhcyBGaWVsZFsndHlwZSddXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHJlcXVpcmVkTWF0Y2gpIHtcbiAgICAgICAgICAgIDsoZmllbGQgYXMgYW55KS5yZXF1aXJlZCA9IHJlcXVpcmVkTWF0Y2hbMV0gPT09ICd0cnVlJ1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh1bmlxdWVNYXRjaCkge1xuICAgICAgICAgICAgOyhmaWVsZCBhcyBhbnkpLnVuaXF1ZSA9IHVuaXF1ZU1hdGNoWzFdID09PSAndHJ1ZSdcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocmVsYXRpb25Ub01hdGNoKSB7XG4gICAgICAgICAgICA7KGZpZWxkIGFzIGFueSkucmVsYXRpb25UbyA9IHJlbGF0aW9uVG9NYXRjaFsxXVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZpZWxkcy5wdXNoKGZpZWxkIGFzIEZpZWxkKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIHRpbWVzdGFtcHNcbiAgICBjb25zdCB0aW1lc3RhbXBzTWF0Y2ggPSBjb2xsZWN0aW9uRGVmLm1hdGNoKC90aW1lc3RhbXBzOlxccyoodHJ1ZXxmYWxzZSkvKVxuICAgIGNvbnN0IGhhc1RpbWVzdGFtcHMgPSB0aW1lc3RhbXBzTWF0Y2ggPyB0aW1lc3RhbXBzTWF0Y2hbMV0gPT09ICd0cnVlJyA6IGZhbHNlXG5cbiAgICBjb2xsZWN0aW9ucy5wdXNoKHtcbiAgICAgIHNsdWcsXG4gICAgICBhZG1pbjoge1xuICAgICAgICB1c2VBc1RpdGxlXG4gICAgICB9LFxuICAgICAgZmllbGRzLFxuICAgICAgLi4uKGhhc1RpbWVzdGFtcHMgJiYgeyB0aW1lc3RhbXBzOiB0cnVlIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8vIEV4dHJhY3QgZXhwb3J0IHN0YXRlbWVudFxuICBjb25zdCBleHBvcnRSZWdleCA9IC9leHBvcnRcXHMqe1tcXHNcXFNdKj99Oy9cbiAgY29uc3QgZXhwb3J0TWF0Y2ggPSBjb2RlLm1hdGNoKGV4cG9ydFJlZ2V4KVxuICBpZiAoZXhwb3J0TWF0Y2gpIHtcbiAgICBwb3N0ID0gZXhwb3J0TWF0Y2hbMF1cbiAgfVxuXG4gIHJldHVybiB7IGNvbGxlY3Rpb25zLCBwb3N0IH1cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVQYXlsb2FkQ29sbGVjdGlvbkNvbmZpZ3Moe1xuICBvcHRpb25zLFxuICBjb2xsZWN0aW9ucyxcbiAgZXhwb3J0c1xufToge1xuICBvcHRpb25zOiBCZXR0ZXJBdXRoT3B0aW9uc1xuICBjb2xsZWN0aW9uczogQ29sbGVjdGlvbkNvbmZpZ1tdXG4gIGV4cG9ydHM6IHN0cmluZ1xufSk6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSAnJ1xuXG4gIC8vIGFkZCBwcmUgbWVzc2FnZSBhbmQgaW1wb3J0IHN0YXRlbWVudHNcbiAgcmVzdWx0ICs9IGAvKipcbiAqIEVYQU1QTEUgQ09MTEVDVElPTlMgRk9SIEJFVFRFUiBBVVRIXG4gKiBcbiAqIEJlbG93IGlzIHdoYXQgeW91ciBQYXlsb2FkIGNvbGxlY3Rpb25zIHNob3VsZCBsb29rIGxpa2UuXG4gKiBQbGVhc2UgY29weSB0aGVzZSB0byB5b3VyIGFjdHVhbCBjb2xsZWN0aW9uIGNvbmZpZ3MuXG4gKiBNYWtlIHN1cmUgdG8gYWRkIGFuIGF1dGhTdHJhdGVneSBmb3IgdGhlIHVzZXJzIGNvbGxlY3Rpb24gaWYgdGhlcmUgaXMgb25lLlxuICogXG4gKiBFeGFtcGxlIGF1dGggc3RyYXRlZ3k6XG4gKiBhdXRoOiB7XG4gKiAgIGRpc2FibGVMb2NhbFN0cmF0ZWd5OiB0cnVlLFxuICogICBzdHJhdGVnaWVzOiBbXG4gKiAgICAgYmV0dGVyQXV0aFN0cmF0ZWd5KCksXG4gKiAgICAgLy8gQWRkIG90aGVyIHN0cmF0ZWdpZXMgYXMgbmVlZGVkXG4gKiAgIF0sXG4gKiB9LFxuICovXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkJztcblxuYFxuXG4gIC8vIGFkZCB0aGUgY29sbGVjdGlvbnNcbiAgbGV0IGNvbGxlY3Rpb25zU3RyID0gJydcbiAgY29uc3QgdGFibGVzID0gZ2V0QXV0aFRhYmxlcyhvcHRpb25zKVxuXG4gIC8vIFByb2Nlc3MgZXhpc3RpbmcgY29sbGVjdGlvbnMgZmlyc3RcbiAgY29uc3QgZXhpc3RpbmdDb2xsZWN0aW9uc0J5U2x1ZyA9IGNvbGxlY3Rpb25zLnJlZHVjZShcbiAgICAoYWNjLCBjb2xsZWN0aW9uKSA9PiB7XG4gICAgICBpZiAoY29sbGVjdGlvbi5zbHVnKSB7XG4gICAgICAgIGFjY1tjb2xsZWN0aW9uLnNsdWddID0gY29sbGVjdGlvblxuICAgICAgfVxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkNvbmZpZz5cbiAgKVxuXG4gIGZvciAoY29uc3QgW3RhYmxlS2V5LCB0YWJsZV0gb2YgT2JqZWN0LmVudHJpZXModGFibGVzKSkge1xuICAgIGNvbnN0IG1vZGVsTmFtZSA9IHRhYmxlLm1vZGVsTmFtZVxuICAgIGNvbnN0IGNhcGl0YWxpemVkID0gbW9kZWxOYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbW9kZWxOYW1lLnNsaWNlKDEpXG5cbiAgICAvLyBDaGVjayBpZiB0aGlzIGNvbGxlY3Rpb24gYWxyZWFkeSBleGlzdHMgaW4gdGhlIHByb3ZpZGVkIGNvbGxlY3Rpb25zXG4gICAgY29uc3QgZXhpc3RpbmdDb2xsZWN0aW9uID0gZXhpc3RpbmdDb2xsZWN0aW9uc0J5U2x1Z1ttb2RlbE5hbWVdXG5cbiAgICBpZiAoZXhpc3RpbmdDb2xsZWN0aW9uKSB7XG4gICAgICAvLyBDb252ZXJ0IGV4aXN0aW5nIGNvbGxlY3Rpb24gdG8gc3RyaW5nIHJlcHJlc2VudGF0aW9uXG4gICAgICBjb2xsZWN0aW9uc1N0ciArPSBgY29uc3QgJHtjYXBpdGFsaXplZH06IENvbGxlY3Rpb25Db25maWcgPSAke0pTT04uc3RyaW5naWZ5KGV4aXN0aW5nQ29sbGVjdGlvbiwgbnVsbCwgMikucmVwbGFjZSgvXCIoW15cIl0rKVwiOi9nLCAnJDE6Jyl9IGFzIGNvbnN0O1xcblxcbmBcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIG5ldyBjb2xsZWN0aW9uIGlmIGl0IGRvZXNuJ3QgZXhpc3RcbiAgICBjb2xsZWN0aW9uc1N0ciArPSBgY29uc3QgJHtjYXBpdGFsaXplZH06IENvbGxlY3Rpb25Db25maWcgPSB7XG4gIHNsdWc6IFwiJHttb2RlbE5hbWV9XCIsXG5gXG5cbiAgICAvLyBBZGQgYWRtaW4gc2VjdGlvbiBmb3IgYmV0dGVyIFVYXG4gICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgYWRtaW46IHtcbiAgICB1c2VBc1RpdGxlOiBcIiR7Z2V0TmFtZUZpZWxkKHRhYmxlLmZpZWxkcyl9XCIsXG4gIH0sXG5gXG5cbiAgICAvLyBBZGQgYXV0aCBzZWN0aW9uIE9OTFkgZm9yIHVzZXJzIGNvbGxlY3Rpb25cbiAgICBpZiAobW9kZWxOYW1lID09PSAndXNlcnMnKSB7XG4gICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICBhdXRoOiB7XG4gICAgZGlzYWJsZUxvY2FsU3RyYXRlZ3k6IHRydWUsXG4gICAgc3RyYXRlZ2llczogW10sXG4gICAgLy8gQWRkIHlvdXIgYXV0aCBzdHJhdGVnaWVzIGhlcmUgaWYgbmVlZGVkXG4gIH0sXG5gXG4gICAgfVxuXG4gICAgLy8gQWRkIGZpZWxkc1xuICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgIGZpZWxkczogW1xuYFxuXG4gICAgZm9yIChjb25zdCBbZmllbGRLZXksIGZpZWxkXSBvZiBPYmplY3QuZW50cmllcyh0YWJsZS5maWVsZHMpKSB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSBmaWVsZC5maWVsZE5hbWUgfHwgZmllbGRLZXlcbiAgICAgIC8vIFNraXAgaWQgZmllbGQgYXMgUGF5bG9hZCBoYW5kbGVzIGl0IGF1dG9tYXRpY2FsbHlcbiAgICAgIGlmIChmaWVsZE5hbWUgPT09ICdpZCcpIGNvbnRpbnVlXG5cbiAgICAgIGlmIChmaWVsZE5hbWUgPT09ICdjcmVhdGVkQXQnIHx8IGZpZWxkTmFtZSA9PT0gJ3VwZGF0ZWRBdCcpIGNvbnRpbnVlXG5cbiAgICAgIC8vIEhhbmRsZSBmaWVsZCB0eXBlIG1hcHBpbmcgd2l0aCBzYWZlciB0eXBlIGFwcHJvYWNoXG4gICAgICBsZXQgZmllbGRUeXBlID0gbWFwRmllbGRUeXBlKGZpZWxkLnR5cGUgYXMgc3RyaW5nLCBmaWVsZE5hbWUpXG4gICAgICBjb25zdCBpc1JlbGF0aW9uc2hpcCA9IGZpZWxkTmFtZS5lbmRzV2l0aCgnX2lkJykgfHwgISFmaWVsZC5yZWZlcmVuY2VzPy5tb2RlbFxuXG4gICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgIHtcbiAgICAgIG5hbWU6IFwiJHtpc1JlbGF0aW9uc2hpcCA/IGZpZWxkTmFtZS5yZXBsYWNlKCdfaWQnLCAnJykgOiBmaWVsZE5hbWV9XCIsXG5gXG5cbiAgICAgIGlmIChpc1JlbGF0aW9uc2hpcCkge1xuICAgICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgICAgdHlwZTogXCJyZWxhdGlvbnNoaXBcIixcbiAgICAgIHJlbGF0aW9uVG86IFwiJHtmaWVsZC5yZWZlcmVuY2VzPy5tb2RlbCB8fCBmaWVsZE5hbWUucmVwbGFjZSgnX2lkJywgJycpfVwiLFxuYFxuICAgICAgfSBlbHNlIGlmIChmaWVsZFR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICB0eXBlOiBcInVwbG9hZFwiLFxuICAgICAgcmVsYXRpb25UbzogXCJtZWRpYVwiLFxuYFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIHR5cGU6IFwiJHtmaWVsZFR5cGV9XCIsXG5gXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC5yZXF1aXJlZCkge1xuICAgICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgICAgcmVxdWlyZWQ6IHRydWUsXG5gXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC51bmlxdWUpIHtcbiAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIHVuaXF1ZTogdHJ1ZSxcbmBcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgZmllbGQgaGFzIG9wdGlvbnMgYW5kIGZpZWxkVHlwZSBpcyBzZWxlY3RcbiAgICAgIGlmIChmaWVsZFR5cGUgPT09ICdzZWxlY3QnICYmICdvcHRpb25zJyBpbiBmaWVsZCAmJiBBcnJheS5pc0FycmF5KGZpZWxkLm9wdGlvbnMpKSB7XG4gICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICBvcHRpb25zOiAke0pTT04uc3RyaW5naWZ5KGZpZWxkLm9wdGlvbnMpfSxcbmBcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQuZGVmYXVsdFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICBkZWZhdWx0VmFsdWU6IFwiJHtmaWVsZC5kZWZhdWx0VmFsdWV9XCIsXG5gXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpZWxkLmRlZmF1bHRWYWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIGRlZmF1bHRWYWx1ZTogJHtmaWVsZC5kZWZhdWx0VmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnfSxcbmBcbiAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5kZWZhdWx0VmFsdWUgJiYgdHlwZW9mIGZpZWxkLmRlZmF1bHRWYWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBmaWVsZC5kZWZhdWx0VmFsdWUudG9TdHJpbmcoKS5pbmNsdWRlcygnKCkgPT4gITEnKSkge1xuICAgICAgICAgIC8vIEhhbmRsZSBmdW5jdGlvbi1saWtlIGRlZmF1bHQgdmFsdWVzIHdpdGggYXJlIGZhbHNlXG4gICAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG5gXG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQuZGVmYXVsdFZhbHVlICYmIHR5cGVvZiBmaWVsZC5kZWZhdWx0VmFsdWUgPT09ICdmdW5jdGlvbicgJiYgZmllbGQuZGVmYXVsdFZhbHVlLnRvU3RyaW5nKCkuaW5jbHVkZXMoJygpID0+ICEwJykpIHtcbiAgICAgICAgICAvLyBIYW5kbGUgZnVuY3Rpb24tbGlrZSBkZWZhdWx0IHZhbHVlcyB3aXRoIGFyZSB0cnVlXG4gICAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbmBcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgICAgZGVmYXVsdFZhbHVlOiAke2ZpZWxkLmRlZmF1bHRWYWx1ZX0sXG5gXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWRkIGFkbWluIHNlY3Rpb24gZm9yIGZpZWxkcyBpZiBuZWVkZWQgLSBzYWZlbHkgY2hlY2sgZm9yIGFkbWluIHByb3BlcnR5XG4gICAgICBpZiAoJ2FkbWluJyBpbiBmaWVsZCAmJiBmaWVsZC5hZG1pbiAmJiB0eXBlb2YgZmllbGQuYWRtaW4gPT09ICdvYmplY3QnICYmICdyZWFkT25seScgaW4gZmllbGQuYWRtaW4gJiYgZmllbGQuYWRtaW4ucmVhZE9ubHkpIHtcbiAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIGFkbWluOiB7XG4gICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgfSxcbmBcbiAgICAgIH1cblxuICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICB9LFxuYFxuICAgIH1cblxuICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgIF0sXG4gIHRpbWVzdGFtcHM6IHRydWUsXG59IGFzIGNvbnN0O1xuXG5gXG4gIH1cblxuICAvLyBBZGQgYW55IGNvbGxlY3Rpb25zIGZyb20gdGhlIGlucHV0IHRoYXQgYXJlbid0IGluIHRoZSB0YWJsZXNcbiAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIGNvbGxlY3Rpb25zKSB7XG4gICAgaWYgKCFjb2xsZWN0aW9uLnNsdWcgfHwgdGFibGVzW2NvbGxlY3Rpb24uc2x1Z10pIHtcbiAgICAgIGNvbnRpbnVlIC8vIFNraXAgaWYgbm8gc2x1ZyBvciBhbHJlYWR5IHByb2Nlc3NlZFxuICAgIH1cblxuICAgIGNvbnN0IGNhcGl0YWxpemVkID0gY29sbGVjdGlvbi5zbHVnLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgY29sbGVjdGlvbi5zbHVnLnNsaWNlKDEpXG4gICAgY29sbGVjdGlvbnNTdHIgKz0gYGNvbnN0ICR7Y2FwaXRhbGl6ZWR9OiBDb2xsZWN0aW9uQ29uZmlnID0gJHtKU09OLnN0cmluZ2lmeShjb2xsZWN0aW9uLCBudWxsLCAyKS5yZXBsYWNlKC9cIihbXlwiXSspXCI6L2csICckMTonKX0gYXMgY29uc3Q7XFxuXFxuYFxuICB9XG5cbiAgcmVzdWx0ICs9IGNvbGxlY3Rpb25zU3RyXG5cbiAgLy8gQWRkIGV4cG9ydCBzdGF0ZW1lbnRzIGZvciBhbGwgY29sbGVjdGlvbnNcbiAgLy8gQ2hlY2sgaWYgd2UgaGF2ZSBhbiBleGlzdGluZyBleHBvcnQgc3RhdGVtZW50IHRvIGFkYXB0XG4gIGlmIChleHBvcnRzICYmIGV4cG9ydHMudHJpbSgpKSB7XG4gICAgLy8gUGFyc2UgdGhlIGV4aXN0aW5nIGV4cG9ydHMgdG8gZ2V0IGNvbGxlY3Rpb24gbmFtZXNcbiAgICBjb25zdCBleGlzdGluZ0V4cG9ydE1hdGNoID0gZXhwb3J0cy5tYXRjaCgvZXhwb3J0XFxzKntcXHMqKC4qPylcXHMqfS8pXG4gICAgY29uc3QgZXhpc3RpbmdDb2xsZWN0aW9ucyA9IGV4aXN0aW5nRXhwb3J0TWF0Y2ggPyBleGlzdGluZ0V4cG9ydE1hdGNoWzFdLnNwbGl0KCcsJykubWFwKChuYW1lKSA9PiBuYW1lLnRyaW0oKSkgOiBbXVxuXG4gICAgLy8gR2V0IHRoZSBjb2xsZWN0aW9uIG5hbWVzIGZyb20gb3VyIHRhYmxlc1xuICAgIGNvbnN0IHRhYmxlQ29sbGVjdGlvbnMgPSBPYmplY3Qua2V5cyh0YWJsZXMpLm1hcCgobW9kZWwpID0+IHtcbiAgICAgIHJldHVybiBtb2RlbC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG1vZGVsLnNsaWNlKDEpXG4gICAgfSlcblxuICAgIC8vIENvbWJpbmUgZXhpc3RpbmcgYW5kIG5ldyBjb2xsZWN0aW9ucywgcmVtb3ZpbmcgZHVwbGljYXRlc1xuICAgIGNvbnN0IGFsbENvbGxlY3Rpb25zID0gWy4uLm5ldyBTZXQoWy4uLmV4aXN0aW5nQ29sbGVjdGlvbnMsIC4uLnRhYmxlQ29sbGVjdGlvbnNdKV1cblxuICAgIC8vIENyZWF0ZSB0aGUgbmV3IGV4cG9ydCBzdGF0ZW1lbnRcbiAgICByZXN1bHQgKz0gYGV4cG9ydCB7ICR7YWxsQ29sbGVjdGlvbnMuam9pbignLCAnKX0gfTtcbmBcbiAgfSBlbHNlIGlmIChPYmplY3Qua2V5cyh0YWJsZXMpLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBjb2xsZWN0aW9uTmFtZXMgPSBPYmplY3Qua2V5cyh0YWJsZXMpLm1hcCgobW9kZWwpID0+IHtcbiAgICAgIC8vIENvbnZlcnQgbW9kZWwgbmFtZSB0byBQYXNjYWxDYXNlIGZvciBleHBvcnRcbiAgICAgIGNvbnN0IHBhc2NhbENhc2UgPSBtb2RlbC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG1vZGVsLnNsaWNlKDEpXG4gICAgICByZXR1cm4gcGFzY2FsQ2FzZVxuICAgIH0pXG5cbiAgICByZXN1bHQgKz0gYGV4cG9ydCB7ICR7Y29sbGVjdGlvbk5hbWVzLmpvaW4oJywgJyl9IH07XG5gXG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0ICs9IGBleHBvcnQge307XG5gXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbnNcbmZ1bmN0aW9uIG1hcEZpZWxkVHlwZSh0eXBlOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKGZpZWxkTmFtZS5lbmRzV2l0aCgnX2lkJykpIHJldHVybiAncmVsYXRpb25zaGlwJ1xuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgcmV0dXJuICdjaGVja2JveCdcbiAgICBjYXNlICdudW1iZXInOlxuICAgICAgcmV0dXJuICdudW1iZXInXG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGlmIChmaWVsZE5hbWUgPT09ICdlbWFpbCcpIHJldHVybiAnZW1haWwnXG4gICAgICBpZiAoZmllbGROYW1lLmluY2x1ZGVzKCdwYXNzd29yZCcpKSByZXR1cm4gJ3RleHQnXG4gICAgICBpZiAoZmllbGROYW1lLmluY2x1ZGVzKCdpbWFnZScpIHx8IGZpZWxkTmFtZS5pbmNsdWRlcygnYXZhdGFyJykpIHJldHVybiAndXBsb2FkJ1xuICAgICAgcmV0dXJuICd0ZXh0J1xuICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgcmV0dXJuICdkYXRlJ1xuICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgIHJldHVybiAnYXJyYXknXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAndGV4dCdcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXROYW1lRmllbGQoZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogc3RyaW5nIHtcbiAgLy8gVHJ5IHRvIGZpbmQgYW4gYXBwcm9wcmlhdGUgZmllbGQgdG8gdXNlIGFzIHRpdGxlXG4gIGNvbnN0IG5hbWVPcHRpb25zID0gWyduYW1lJywgJ3RpdGxlJywgJ2xhYmVsJywgJ2VtYWlsJywgJ3VzZXJuYW1lJ11cblxuICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBuYW1lT3B0aW9ucykge1xuICAgIGlmIChPYmplY3Qua2V5cyhmaWVsZHMpLmluY2x1ZGVzKG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb25cbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0IHRvIGZpcnN0IGZpZWxkIHRoYXQncyBub3QgaWRcbiAgY29uc3QgZmlyc3ROb25JZEZpZWxkID0gT2JqZWN0LmtleXMoZmllbGRzKS5maW5kKChrKSA9PiBrICE9PSAnaWQnKVxuICByZXR1cm4gZmlyc3ROb25JZEZpZWxkIHx8ICdpZCdcbn1cbiJdLCJuYW1lcyI6WyJnZXRBdXRoVGFibGVzIiwiZm9ybWF0IiwiZ2VuZXJhdGVTY2hlbWFCdWlsZGVyU3RhZ2UiLCJCQU9wdGlvbnMiLCJjb2RlIiwiZm9ybWF0dGVkQ29kZSIsImZpbGVwYXRoIiwicG9zdCIsImNvbGxlY3Rpb25zIiwicGFyc2VFeGlzdGluZ1NjaGVtYSIsInBheWxvYWRTY2hlbWFTdHIiLCJnZW5lcmF0ZVBheWxvYWRDb2xsZWN0aW9uQ29uZmlncyIsIm9wdGlvbnMiLCJleHBvcnRzIiwiY29sbGVjdGlvblJlZ2V4IiwibWF0Y2giLCJleGVjIiwiY29sbGVjdGlvbk5hbWUiLCJjb2xsZWN0aW9uRGVmIiwic2x1Z01hdGNoIiwic2x1ZyIsInRvTG93ZXJDYXNlIiwidGl0bGVNYXRjaCIsInVzZUFzVGl0bGUiLCJmaWVsZHNSZWdleCIsImZpZWxkc01hdGNoIiwiZmllbGRzIiwiZmllbGRCbG9ja1JlZ2V4IiwiZmllbGRCbG9ja3MiLCJmaWVsZEJsb2NrIiwibmFtZU1hdGNoIiwidHlwZU1hdGNoIiwicmVxdWlyZWRNYXRjaCIsInVuaXF1ZU1hdGNoIiwicmVsYXRpb25Ub01hdGNoIiwiZmllbGQiLCJuYW1lIiwidHlwZSIsInJlcXVpcmVkIiwidW5pcXVlIiwicmVsYXRpb25UbyIsInB1c2giLCJ0aW1lc3RhbXBzTWF0Y2giLCJoYXNUaW1lc3RhbXBzIiwiYWRtaW4iLCJ0aW1lc3RhbXBzIiwiZXhwb3J0UmVnZXgiLCJleHBvcnRNYXRjaCIsInJlc3VsdCIsImNvbGxlY3Rpb25zU3RyIiwidGFibGVzIiwiZXhpc3RpbmdDb2xsZWN0aW9uc0J5U2x1ZyIsInJlZHVjZSIsImFjYyIsImNvbGxlY3Rpb24iLCJ0YWJsZUtleSIsInRhYmxlIiwiT2JqZWN0IiwiZW50cmllcyIsIm1vZGVsTmFtZSIsImNhcGl0YWxpemVkIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImV4aXN0aW5nQ29sbGVjdGlvbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXBsYWNlIiwiZ2V0TmFtZUZpZWxkIiwiZmllbGRLZXkiLCJmaWVsZE5hbWUiLCJmaWVsZFR5cGUiLCJtYXBGaWVsZFR5cGUiLCJpc1JlbGF0aW9uc2hpcCIsImVuZHNXaXRoIiwicmVmZXJlbmNlcyIsIm1vZGVsIiwiQXJyYXkiLCJpc0FycmF5IiwiZGVmYXVsdFZhbHVlIiwidW5kZWZpbmVkIiwidG9TdHJpbmciLCJpbmNsdWRlcyIsInJlYWRPbmx5IiwidHJpbSIsImV4aXN0aW5nRXhwb3J0TWF0Y2giLCJleGlzdGluZ0NvbGxlY3Rpb25zIiwic3BsaXQiLCJtYXAiLCJ0YWJsZUNvbGxlY3Rpb25zIiwia2V5cyIsImFsbENvbGxlY3Rpb25zIiwiU2V0Iiwiam9pbiIsImxlbmd0aCIsImNvbGxlY3Rpb25OYW1lcyIsInBhc2NhbENhc2UiLCJuYW1lT3B0aW9ucyIsIm9wdGlvbiIsImZpcnN0Tm9uSWRGaWVsZCIsImZpbmQiLCJrIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpQkMsR0FFRCxTQUFTQSxhQUFhLFFBQVEsaUJBQWdCO0FBRTlDLFNBQVNDLE1BQU0sUUFBUSxXQUFVO0FBRWpDLE9BQU8sTUFBTUMsNkJBQTZCLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxJQUFJLEVBQWtEO0lBQ2xILE1BQU1DLGdCQUFnQixNQUFNSixPQUFPRyxNQUFNO1FBQUVFLFVBQVU7SUFBWTtJQUVqRSxNQUFNLEVBQUVDLElBQUksRUFBRUMsV0FBVyxFQUFFLEdBQUdDLG9CQUFvQko7SUFFbEQsTUFBTUssbUJBQW1CQyxpQ0FBaUM7UUFDeERDLFNBQVNUO1FBQ1RLO1FBQ0FLLFNBQVNOO0lBQ1g7SUFFQSxPQUFPLE1BQU1OLE9BQU8sR0FBR1Msa0JBQWtCLEVBQUU7UUFDekNKLFVBQVU7SUFDWjtBQUNGLEVBQUM7QUFFRCxTQUFTRyxvQkFBb0JMLElBQVk7SUFJdkMsTUFBTUksY0FBa0MsRUFBRTtJQUMxQyxJQUFJRCxPQUFPO0lBRVgsaUNBQWlDO0lBQ2pDLE1BQU1PLGtCQUFrQjtJQUN4QixJQUFJQztJQUNKLE1BQU8sQUFBQ0EsQ0FBQUEsUUFBUUQsZ0JBQWdCRSxJQUFJLENBQUNaLEtBQUksTUFBTyxLQUFNO1FBQ3BELE1BQU1hLGlCQUFpQkYsS0FBSyxDQUFDLEVBQUU7UUFDL0IsTUFBTUcsZ0JBQWdCSCxLQUFLLENBQUMsRUFBRTtRQUU5QixlQUFlO1FBQ2YsTUFBTUksWUFBWUQsY0FBY0gsS0FBSyxDQUFDO1FBQ3RDLE1BQU1LLE9BQU9ELFlBQVlBLFNBQVMsQ0FBQyxFQUFFLEdBQUdGLGVBQWVJLFdBQVc7UUFFbEUscUJBQXFCO1FBQ3JCLE1BQU1DLGFBQWFKLGNBQWNILEtBQUssQ0FBQztRQUN2QyxNQUFNUSxhQUFh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
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS9nZW5lcmF0ZS1zY2hlbWEtYnVpbGRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgbW9kdWxlIGdlbmVyYXRlcyBQYXlsb2FkQ01TIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvbnMgYmFzZWQgb24gdGhlIEJldHRlciBBdXRoIHNjaGVtYS5cbiAqXG4gKiBUaGUgZ2VuZXJhdGVkIGNvbGxlY3Rpb24gY29uZmlncyBpbmNsdWRlOlxuICogLSBVc2VyczogRm9yIHVzZXIgbWFuYWdlbWVudCB3aXRoIHByb3BlciBhdXRoIGNvbmZpZ3VyYXRpb25cbiAqIC0gU2Vzc2lvbnM6IEZvciBtYWludGFpbmluZyB1c2VyIHNlc3Npb25zXG4gKiAtIEFjY291bnRzOiBGb3IgT0F1dGggcHJvdmlkZXIgYWNjb3VudHNcbiAqIC0gVmVyaWZpY2F0aW9uVG9rZW5zOiBGb3IgZW1haWwgdmVyaWZpY2F0aW9uIG9yIHNvY2lhbCBzaWduIGluXG4gKlxuICogRWFjaCBjb2xsZWN0aW9uIGlzIHByb3Blcmx5IGZvcm1hdHRlZCB3aXRoOlxuICogLSBBcHByb3ByaWF0ZSBmaWVsZCB0eXBlcyAodGV4dCwgcmVsYXRpb25zaGlwLCBjaGVja2JveCwgZXRjLilcbiAqIC0gQWRtaW4gY29uZmlndXJhdGlvbiBmb3IgYmV0dGVyIFVJIGV4cGVyaWVuY2VcbiAqIC0gQXV0aCBjb25maWd1cmF0aW9uIGZvciB0aGUgVXNlcnMgY29sbGVjdGlvblxuICogLSBQcm9wZXIgZmllbGQgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIGNvbGxlY3Rpb25zXG4gKlxuICogVXNlcnMgY2FuIGNvcHkgdGhlc2UgZ2VuZXJhdGVkIGNvbGxlY3Rpb24gY29uZmlncyB0byB0aGVpciBQYXlsb2FkQ01TIHByb2plY3RcbiAqIGFuZCBhZGQgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcyBhcyBuZWVkZWQuXG4gKi9cbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tIFwiYmV0dGVyLWF1dGhcIjtcbmltcG9ydCB7IGdldEF1dGhUYWJsZXMgfSBmcm9tIFwiYmV0dGVyLWF1dGgvZGJcIjtcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZywgRmllbGQgfSBmcm9tIFwicGF5bG9hZFwiO1xuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSBcInByZXR0aWVyXCI7XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVNjaGVtYUJ1aWxkZXJTdGFnZSA9IGFzeW5jICh7XG4gIEJBT3B0aW9ucyxcbiAgY29kZVxufToge1xuICBjb2RlOiBzdHJpbmc7XG4gIEJBT3B0aW9uczogQmV0dGVyQXV0aE9wdGlvbnM7XG59KSA9PiB7XG4gIGNvbnN0IGZvcm1hdHRlZENvZGUgPSBhd2FpdCBmb3JtYXQoY29kZSwgeyBmaWxlcGF0aDogXCJzY2hlbWEudHNcIiB9KTtcblxuICBjb25zdCB7IHBvc3QsIGNvbGxlY3Rpb25zIH0gPSBwYXJzZUV4aXN0aW5nU2NoZW1hKGZvcm1hdHRlZENvZGUpO1xuXG4gIGNvbnN0IHBheWxvYWRTY2hlbWFTdHIgPSBnZW5lcmF0ZVBheWxvYWRDb2xsZWN0aW9uQ29uZmlncyh7XG4gICAgb3B0aW9uczogQkFPcHRpb25zLFxuICAgIGNvbGxlY3Rpb25zLFxuICAgIGV4cG9ydHM6IHBvc3RcbiAgfSk7XG5cbiAgcmV0dXJuIGF3YWl0IGZvcm1hdChgJHtwYXlsb2FkU2NoZW1hU3RyfWAsIHtcbiAgICBmaWxlcGF0aDogXCJzY2hlbWEudHNcIlxuICB9KTtcbn07XG5cbmZ1bmN0aW9uIHBhcnNlRXhpc3RpbmdTY2hlbWEoY29kZTogc3RyaW5nKToge1xuICBjb2xsZWN0aW9uczogQ29sbGVjdGlvbkNvbmZpZ1tdO1xuICBwb3N0OiBzdHJpbmc7XG59IHtcbiAgY29uc3QgY29sbGVjdGlvbnM6IENvbGxlY3Rpb25Db25maWdbXSA9IFtdO1xuICBsZXQgcG9zdCA9IFwiXCI7XG5cbiAgLy8gRXh0cmFjdCBjb2xsZWN0aW9uIGRlZmluaXRpb25zXG4gIGNvbnN0IGNvbGxlY3Rpb25SZWdleCA9XG4gICAgL2NvbnN0XFxzKyhbQS1aXVthLXpBLVowLTldKilcXHMqOlxccypDb2xsZWN0aW9uQ29uZmlnXFxzKj1cXHMqe1tcXHNcXFNdKj99XFxzKmFzXFxzKmNvbnN0Oy9nO1xuICBsZXQgbWF0Y2g7XG4gIHdoaWxlICgobWF0Y2ggPSBjb2xsZWN0aW9uUmVnZXguZXhlYyhjb2RlKSkgIT09IG51bGwpIHtcbiAgICBjb25zdCBjb2xsZWN0aW9uTmFtZSA9IG1hdGNoWzFdO1xuICAgIGNvbnN0IGNvbGxlY3Rpb25EZWYgPSBtYXRjaFswXTtcblxuICAgIC8vIEV4dHJhY3Qgc2x1Z1xuICAgIGNvbnN0IHNsdWdNYXRjaCA9IGNvbGxlY3Rpb25EZWYubWF0Y2goL3NsdWc6XFxzKlwiKFteXCJdKylcIi8pO1xuICAgIGNvbnN0IHNsdWcgPSBzbHVnTWF0Y2ggPyBzbHVnTWF0Y2hbMV0gOiBjb2xsZWN0aW9uTmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgLy8gRXh0cmFjdCB1c2VBc1RpdGxlXG4gICAgY29uc3QgdGl0bGVNYXRjaCA9IGNvbGxlY3Rpb25EZWYubWF0Y2goL3VzZUFzVGl0bGU6XFxzKlwiKFteXCJdKylcIi8pO1xuICAgIGNvbnN0IHVzZUFzVGl0bGUgPSB0aXRsZU1hdGNoID8gdGl0bGVNYXRjaFsxXSA6IFwiaWRcIjtcblxuICAgIC8vIEV4dHJhY3QgZmllbGRzXG4gICAgY29uc3QgZmllbGRzUmVnZXggPSAvZmllbGRzOlxccypcXFsoW1xcc1xcU10qPylcXF0sLztcbiAgICBjb25zdCBmaWVsZHNNYXRjaCA9IGNvbGxlY3Rpb25EZWYubWF0Y2goZmllbGRzUmVnZXgpO1xuICAgIGNvbnN0IGZpZWxkczogRmllbGRbXSA9IFtdO1xuXG4gICAgaWYgKGZpZWxkc01hdGNoKSB7XG4gICAgICBjb25zdCBmaWVsZEJsb2NrUmVnZXggPSAve1tcXHNcXFNdKj99LC9nO1xuICAgICAgY29uc3QgZmllbGRCbG9ja3MgPSBmaWVsZHNNYXRjaFsxXS5tYXRjaChmaWVsZEJsb2NrUmVnZXgpIHx8IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkQmxvY2sgb2YgZmllbGRCbG9ja3MpIHtcbiAgICAgICAgY29uc3QgbmFtZU1hdGNoID0gZmllbGRCbG9jay5tYXRjaCgvbmFtZTpcXHMqXCIoW15cIl0rKVwiLyk7XG4gICAgICAgIGNvbnN0IHR5cGVNYXRjaCA9IGZpZWxkQmxvY2subWF0Y2goL3R5cGU6XFxzKlwiKFteXCJdKylcIi8pO1xuICAgICAgICBjb25zdCByZXF1aXJlZE1hdGNoID0gZmllbGRCbG9jay5tYXRjaCgvcmVxdWlyZWQ6XFxzKih0cnVlfGZhbHNlKS8pO1xuICAgICAgICBjb25zdCB1bmlxdWVNYXRjaCA9IGZpZWxkQmxvY2subWF0Y2goL3VuaXF1ZTpcXHMqKHRydWV8ZmFsc2UpLyk7XG4gICAgICAgIGNvbnN0IHJlbGF0aW9uVG9NYXRjaCA9IGZpZWxkQmxvY2subWF0Y2goL3JlbGF0aW9uVG86XFxzKlwiKFteXCJdKylcIi8pO1xuXG4gICAgICAgIGlmIChuYW1lTWF0Y2ggJiYgdHlwZU1hdGNoKSB7XG4gICAgICAgICAgY29uc3QgZmllbGQgPSB7XG4gICAgICAgICAgICBuYW1lOiBuYW1lTWF0Y2hbMV0sXG4gICAgICAgICAgICB0eXBlOiB0eXBlTWF0Y2hbMV0gYXMgRmllbGRbXCJ0eXBlXCJdXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChyZXF1aXJlZE1hdGNoKSB7XG4gICAgICAgICAgICAoZmllbGQgYXMgYW55KS5yZXF1aXJlZCA9IHJlcXVpcmVkTWF0Y2hbMV0gPT09IFwidHJ1ZVwiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh1bmlxdWVNYXRjaCkge1xuICAgICAgICAgICAgKGZpZWxkIGFzIGFueSkudW5pcXVlID0gdW5pcXVlTWF0Y2hbMV0gPT09IFwidHJ1ZVwiO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChyZWxhdGlvblRvTWF0Y2gpIHtcbiAgICAgICAgICAgIChmaWVsZCBhcyBhbnkpLnJlbGF0aW9uVG8gPSByZWxhdGlvblRvTWF0Y2hbMV07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmllbGRzLnB1c2goZmllbGQgYXMgRmllbGQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgZm9yIHRpbWVzdGFtcHNcbiAgICBjb25zdCB0aW1lc3RhbXBzTWF0Y2ggPSBjb2xsZWN0aW9uRGVmLm1hdGNoKC90aW1lc3RhbXBzOlxccyoodHJ1ZXxmYWxzZSkvKTtcbiAgICBjb25zdCBoYXNUaW1lc3RhbXBzID0gdGltZXN0YW1wc01hdGNoXG4gICAgICA/IHRpbWVzdGFtcHNNYXRjaFsxXSA9PT0gXCJ0cnVlXCJcbiAgICAgIDogZmFsc2U7XG5cbiAgICBjb2xsZWN0aW9ucy5wdXNoKHtcbiAgICAgIHNsdWcsXG4gICAgICBhZG1pbjoge1xuICAgICAgICB1c2VBc1RpdGxlXG4gICAgICB9LFxuICAgICAgZmllbGRzLFxuICAgICAgLi4uKGhhc1RpbWVzdGFtcHMgJiYgeyB0aW1lc3RhbXBzOiB0cnVlIH0pXG4gICAgfSk7XG4gIH1cblxuICAvLyBFeHRyYWN0IGV4cG9ydCBzdGF0ZW1lbnRcbiAgY29uc3QgZXhwb3J0UmVnZXggPSAvZXhwb3J0XFxzKntbXFxzXFxTXSo/fTsvO1xuICBjb25zdCBleHBvcnRNYXRjaCA9IGNvZGUubWF0Y2goZXhwb3J0UmVnZXgpO1xuICBpZiAoZXhwb3J0TWF0Y2gpIHtcbiAgICBwb3N0ID0gZXhwb3J0TWF0Y2hbMF07XG4gIH1cblxuICByZXR1cm4geyBjb2xsZWN0aW9ucywgcG9zdCB9O1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVBheWxvYWRDb2xsZWN0aW9uQ29uZmlncyh7XG4gIG9wdGlvbnMsXG4gIGNvbGxlY3Rpb25zLFxuICBleHBvcnRzXG59OiB7XG4gIG9wdGlvbnM6IEJldHRlckF1dGhPcHRpb25zO1xuICBjb2xsZWN0aW9uczogQ29sbGVjdGlvbkNvbmZpZ1tdO1xuICBleHBvcnRzOiBzdHJpbmc7XG59KTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdCA9IFwiXCI7XG5cbiAgLy8gYWRkIHByZSBtZXNzYWdlIGFuZCBpbXBvcnQgc3RhdGVtZW50c1xuICByZXN1bHQgKz0gYC8qKlxuICogRVhBTVBMRSBDT0xMRUNUSU9OUyBGT1IgQkVUVEVSIEFVVEhcbiAqIFxuICogQmVsb3cgaXMgd2hhdCB5b3VyIFBheWxvYWQgY29sbGVjdGlvbnMgc2hvdWxkIGxvb2sgbGlrZS5cbiAqIFBsZWFzZSBjb3B5IHRoZXNlIHRvIHlvdXIgYWN0dWFsIGNvbGxlY3Rpb24gY29uZmlncy5cbiAqIE1ha2Ugc3VyZSB0byBhZGQgYW4gYXV0aFN0cmF0ZWd5IGZvciB0aGUgdXNlcnMgY29sbGVjdGlvbiBpZiB0aGVyZSBpcyBvbmUuXG4gKiBcbiAqIEV4YW1wbGUgYXV0aCBzdHJhdGVneTpcbiAqIGF1dGg6IHtcbiAqICAgZGlzYWJsZUxvY2FsU3RyYXRlZ3k6IHRydWUsXG4gKiAgIHN0cmF0ZWdpZXM6IFtcbiAqICAgICBiZXR0ZXJBdXRoU3RyYXRlZ3koKSxcbiAqICAgICAvLyBBZGQgb3RoZXIgc3RyYXRlZ2llcyBhcyBuZWVkZWRcbiAqICAgXSxcbiAqIH0sXG4gKi9cbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQnO1xuXG5gO1xuXG4gIC8vIGFkZCB0aGUgY29sbGVjdGlvbnNcbiAgbGV0IGNvbGxlY3Rpb25zU3RyID0gXCJcIjtcbiAgY29uc3QgdGFibGVzID0gZ2V0QXV0aFRhYmxlcyhvcHRpb25zKTtcblxuICAvLyBQcm9jZXNzIGV4aXN0aW5nIGNvbGxlY3Rpb25zIGZpcnN0XG4gIGNvbnN0IGV4aXN0aW5nQ29sbGVjdGlvbnNCeVNsdWcgPSBjb2xsZWN0aW9ucy5yZWR1Y2UoXG4gICAgKGFjYywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb24uc2x1Zykge1xuICAgICAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGNvbGxlY3Rpb247XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkNvbmZpZz5cbiAgKTtcblxuICBmb3IgKGNvbnN0IFt0YWJsZUtleSwgdGFibGVdIG9mIE9iamVjdC5lbnRyaWVzKHRhYmxlcykpIHtcbiAgICBjb25zdCBtb2RlbE5hbWUgPSB0YWJsZS5tb2RlbE5hbWU7XG4gICAgY29uc3QgY2FwaXRhbGl6ZWQgPSBtb2RlbE5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBtb2RlbE5hbWUuc2xpY2UoMSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGlzIGNvbGxlY3Rpb24gYWxyZWFkeSBleGlzdHMgaW4gdGhlIHByb3ZpZGVkIGNvbGxlY3Rpb25zXG4gICAgY29uc3QgZXhpc3RpbmdDb2xsZWN0aW9uID0gZXhpc3RpbmdDb2xsZWN0aW9uc0J5U2x1Z1ttb2RlbE5hbWVdO1xuXG4gICAgaWYgKGV4aXN0aW5nQ29sbGVjdGlvbikge1xuICAgICAgLy8gQ29udmVydCBleGlzdGluZyBjb2xsZWN0aW9uIHRvIHN0cmluZyByZXByZXNlbnRhdGlvblxuICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYGNvbnN0ICR7Y2FwaXRhbGl6ZWR9OiBDb2xsZWN0aW9uQ29uZmlnID0gJHtKU09OLnN0cmluZ2lmeShleGlzdGluZ0NvbGxlY3Rpb24sIG51bGwsIDIpLnJlcGxhY2UoL1wiKFteXCJdKylcIjovZywgXCIkMTpcIil9IGFzIGNvbnN0O1xcblxcbmA7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgbmV3IGNvbGxlY3Rpb24gaWYgaXQgZG9lc24ndCBleGlzdFxuICAgIGNvbGxlY3Rpb25zU3RyICs9IGBjb25zdCAke2NhcGl0YWxpemVkfTogQ29sbGVjdGlvbkNvbmZpZyA9IHtcbiAgc2x1ZzogXCIke21vZGVsTmFtZX1cIixcbmA7XG5cbiAgICAvLyBBZGQgYWRtaW4gc2VjdGlvbiBmb3IgYmV0dGVyIFVYXG4gICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgYWRtaW46IHtcbiAgICB1c2VBc1RpdGxlOiBcIiR7Z2V0TmFtZUZpZWxkKHRhYmxlLmZpZWxkcyl9XCIsXG4gIH0sXG5gO1xuXG4gICAgLy8gQWRkIGF1dGggc2VjdGlvbiBPTkxZIGZvciB1c2VycyBjb2xsZWN0aW9uXG4gICAgaWYgKG1vZGVsTmFtZSA9PT0gXCJ1c2Vyc1wiKSB7XG4gICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICBhdXRoOiB7XG4gICAgZGlzYWJsZUxvY2FsU3RyYXRlZ3k6IHRydWUsXG4gICAgc3RyYXRlZ2llczogW10sXG4gICAgLy8gQWRkIHlvdXIgYXV0aCBzdHJhdGVnaWVzIGhlcmUgaWYgbmVlZGVkXG4gIH0sXG5gO1xuICAgIH1cblxuICAgIC8vIEFkZCBmaWVsZHNcbiAgICBjb2xsZWN0aW9uc1N0ciArPSBgICBmaWVsZHM6IFtcbmA7XG5cbiAgICBmb3IgKGNvbnN0IFtmaWVsZEtleSwgZmllbGRdIG9mIE9iamVjdC5lbnRyaWVzKHRhYmxlLmZpZWxkcykpIHtcbiAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmZpZWxkTmFtZSB8fCBmaWVsZEtleTtcbiAgICAgIC8vIFNraXAgaWQgZmllbGQgYXMgUGF5bG9hZCBoYW5kbGVzIGl0IGF1dG9tYXRpY2FsbHlcbiAgICAgIGlmIChmaWVsZE5hbWUgPT09IFwiaWRcIikgY29udGludWU7XG5cbiAgICAgIGlmIChmaWVsZE5hbWUgPT09IFwiY3JlYXRlZEF0XCIgfHwgZmllbGROYW1lID09PSBcInVwZGF0ZWRBdFwiKSBjb250aW51ZTtcblxuICAgICAgLy8gSGFuZGxlIGZpZWxkIHR5cGUgbWFwcGluZyB3aXRoIHNhZmVyIHR5cGUgYXBwcm9hY2hcbiAgICAgIGxldCBmaWVsZFR5cGUgPSBtYXBGaWVsZFR5cGUoZmllbGQudHlwZSBhcyBzdHJpbmcsIGZpZWxkTmFtZSk7XG4gICAgICBjb25zdCBpc1JlbGF0aW9uc2hpcCA9XG4gICAgICAgIGZpZWxkTmFtZS5lbmRzV2l0aChcIl9pZFwiKSB8fCAhIWZpZWxkLnJlZmVyZW5jZXM/Lm1vZGVsO1xuXG4gICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgIHtcbiAgICAgIG5hbWU6IFwiJHtpc1JlbGF0aW9uc2hpcCA/IGZpZWxkTmFtZS5yZXBsYWNlKFwiX2lkXCIsIFwiXCIpIDogZmllbGROYW1lfVwiLFxuYDtcblxuICAgICAgaWYgKGlzUmVsYXRpb25zaGlwKSB7XG4gICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICB0eXBlOiBcInJlbGF0aW9uc2hpcFwiLFxuICAgICAgcmVsYXRpb25UbzogXCIke2ZpZWxkLnJlZmVyZW5jZXM/Lm1vZGVsIHx8IGZpZWxkTmFtZS5yZXBsYWNlKFwiX2lkXCIsIFwiXCIpfVwiLFxuYDtcbiAgICAgIH0gZWxzZSBpZiAoZmllbGRUeXBlID09PSBcInVwbG9hZFwiKSB7XG4gICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICB0eXBlOiBcInVwbG9hZFwiLFxuICAgICAgcmVsYXRpb25UbzogXCJtZWRpYVwiLFxuYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICB0eXBlOiBcIiR7ZmllbGRUeXBlfVwiLFxuYDtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB7XG4gICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICByZXF1aXJlZDogdHJ1ZSxcbmA7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC51bmlxdWUpIHtcbiAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIHVuaXF1ZTogdHJ1ZSxcbmA7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGlmIGZpZWxkIGhhcyBvcHRpb25zIGFuZCBmaWVsZFR5cGUgaXMgc2VsZWN0XG4gICAgICBpZiAoXG4gICAgICAgIGZpZWxkVHlwZSA9PT0gXCJzZWxlY3RcIiAmJlxuICAgICAgICBcIm9wdGlvbnNcIiBpbiBmaWVsZCAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KGZpZWxkLm9wdGlvbnMpXG4gICAgICApIHtcbiAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIG9wdGlvbnM6ICR7SlNPTi5zdHJpbmdpZnkoZmllbGQub3B0aW9ucyl9LFxuYDtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQuZGVmYXVsdFZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgY29sbGVjdGlvbnNTdHIgKz0gYCAgICAgIGRlZmF1bHRWYWx1ZTogXCIke2ZpZWxkLmRlZmF1bHRWYWx1ZX1cIixcbmA7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpZWxkLmRlZmF1bHRWYWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgICAgZGVmYXVsdFZhbHVlOiAke2ZpZWxkLmRlZmF1bHRWYWx1ZSA/IFwidHJ1ZVwiIDogXCJmYWxzZVwifSxcbmA7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgZmllbGQuZGVmYXVsdFZhbHVlICYmXG4gICAgICAgICAgdHlwZW9mIGZpZWxkLmRlZmF1bHRWYWx1ZSA9PT0gXCJmdW5jdGlvblwiICYmXG4gICAgICAgICAgZmllbGQuZGVmYXVsdFZhbHVlLnRvU3RyaW5nKCkuaW5jbHVkZXMoXCIoKSA9PiAhMVwiKVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBIYW5kbGUgZnVuY3Rpb24tbGlrZSBkZWZhdWx0IHZhbHVlcyB3aXRoIGFyZSBmYWxzZVxuICAgICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuYDtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICBmaWVsZC5kZWZhdWx0VmFsdWUgJiZcbiAgICAgICAgICB0eXBlb2YgZmllbGQuZGVmYXVsdFZhbHVlID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICAgICBmaWVsZC5kZWZhdWx0VmFsdWUudG9TdHJpbmcoKS5pbmNsdWRlcyhcIigpID0+ICEwXCIpXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIEhhbmRsZSBmdW5jdGlvbi1saWtlIGRlZmF1bHQgdmFsdWVzIHdpdGggYXJlIHRydWVcbiAgICAgICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgICAgZGVmYXVsdFZhbHVlOiAke2ZpZWxkLmRlZmF1bHRWYWx1ZX0sXG5gO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBhZG1pbiBzZWN0aW9uIGZvciBmaWVsZHMgaWYgbmVlZGVkIC0gc2FmZWx5IGNoZWNrIGZvciBhZG1pbiBwcm9wZXJ0eVxuICAgICAgaWYgKFxuICAgICAgICBcImFkbWluXCIgaW4gZmllbGQgJiZcbiAgICAgICAgZmllbGQuYWRtaW4gJiZcbiAgICAgICAgdHlwZW9mIGZpZWxkLmFkbWluID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgIFwicmVhZE9ubHlcIiBpbiBmaWVsZC5hZG1pbiAmJlxuICAgICAgICBmaWVsZC5hZG1pbi5yZWFkT25seVxuICAgICAgKSB7XG4gICAgICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgIH0sXG5gO1xuICAgICAgfVxuXG4gICAgICBjb2xsZWN0aW9uc1N0ciArPSBgICAgIH0sXG5gO1xuICAgIH1cblxuICAgIGNvbGxlY3Rpb25zU3RyICs9IGAgIF0sXG4gIHRpbWVzdGFtcHM6IHRydWUsXG59IGFzIGNvbnN0O1xuXG5gO1xuICB9XG5cbiAgLy8gQWRkIGFueSBjb2xsZWN0aW9ucyBmcm9tIHRoZSBpbnB1dCB0aGF0IGFyZW4ndCBpbiB0aGUgdGFibGVzXG4gIGZvciAoY29uc3QgY29sbGVjdGlvbiBvZiBjb2xsZWN0aW9ucykge1xuICAgIGlmICghY29sbGVjdGlvbi5zbHVnIHx8IHRhYmxlc1tjb2xsZWN0aW9uLnNsdWddKSB7XG4gICAgICBjb250aW51ZTsgLy8gU2tpcCBpZiBubyBzbHVnIG9yIGFscmVhZHkgcHJvY2Vzc2VkXG4gICAgfVxuXG4gICAgY29uc3QgY2FwaXRhbGl6ZWQgPVxuICAgICAgY29sbGVjdGlvbi5zbHVnLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgY29sbGVjdGlvbi5zbHVnLnNsaWNlKDEpO1xuICAgIGNvbGxlY3Rpb25zU3RyICs9IGBjb25zdCAke2NhcGl0YWxpemVkfTogQ29sbGVjdGlvbkNvbmZpZyA9ICR7SlNPTi5zdHJpbmdpZnkoY29sbGVjdGlvbiwgbnVsbCwgMikucmVwbGFjZSgvXCIoW15cIl0rKVwiOi9nLCBcIiQxOlwiKX0gYXMgY29uc3Q7XFxuXFxuYDtcbiAgfVxuXG4gIHJlc3VsdCArPSBjb2xsZWN0aW9uc1N0cjtcblxuICAvLyBBZGQgZXhwb3J0IHN0YXRlbWVudHMgZm9yIGFsbCBjb2xsZWN0aW9uc1xuICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFuIGV4aXN0aW5nIGV4cG9ydCBzdGF0ZW1lbnQgdG8gYWRhcHRcbiAgaWYgKGV4cG9ydHMgJiYgZXhwb3J0cy50cmltKCkpIHtcbiAgICAvLyBQYXJzZSB0aGUgZXhpc3RpbmcgZXhwb3J0cyB0byBnZXQgY29sbGVjdGlvbiBuYW1lc1xuICAgIGNvbnN0IGV4aXN0aW5nRXhwb3J0TWF0Y2ggPSBleHBvcnRzLm1hdGNoKC9leHBvcnRcXHMqe1xccyooLio/KVxccyp9Lyk7XG4gICAgY29uc3QgZXhpc3RpbmdDb2xsZWN0aW9ucyA9IGV4aXN0aW5nRXhwb3J0TWF0Y2hcbiAgICAgID8gZXhpc3RpbmdFeHBvcnRNYXRjaFsxXS5zcGxpdChcIixcIikubWFwKChuYW1lKSA9PiBuYW1lLnRyaW0oKSlcbiAgICAgIDogW107XG5cbiAgICAvLyBHZXQgdGhlIGNvbGxlY3Rpb24gbmFtZXMgZnJvbSBvdXIgdGFibGVzXG4gICAgY29uc3QgdGFibGVDb2xsZWN0aW9ucyA9IE9iamVjdC5rZXlzKHRhYmxlcykubWFwKChtb2RlbCkgPT4ge1xuICAgICAgcmV0dXJuIG1vZGVsLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbW9kZWwuc2xpY2UoMSk7XG4gICAgfSk7XG5cbiAgICAvLyBDb21iaW5lIGV4aXN0aW5nIGFuZCBuZXcgY29sbGVjdGlvbnMsIHJlbW92aW5nIGR1cGxpY2F0ZXNcbiAgICBjb25zdCBhbGxDb2xsZWN0aW9ucyA9IFtcbiAgICAgIC4uLm5ldyBTZXQoWy4uLmV4aXN0aW5nQ29sbGVjdGlvbnMsIC4uLnRhYmxlQ29sbGVjdGlvbnNdKVxuICAgIF07XG5cbiAgICAvLyBDcmVhdGUgdGhlIG5ldyBleHBvcnQgc3RhdGVtZW50XG4gICAgcmVzdWx0ICs9IGBleHBvcnQgeyAke2FsbENvbGxlY3Rpb25zLmpvaW4oXCIsIFwiKX0gfTtcbmA7XG4gIH0gZWxzZSBpZiAoT2JqZWN0LmtleXModGFibGVzKS5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgY29sbGVjdGlvbk5hbWVzID0gT2JqZWN0LmtleXModGFibGVzKS5tYXAoKG1vZGVsKSA9PiB7XG4gICAgICAvLyBDb252ZXJ0IG1vZGVsIG5hbWUgdG8gUGFzY2FsQ2FzZSBmb3IgZXhwb3J0XG4gICAgICBjb25zdCBwYXNjYWxDYXNlID0gbW9kZWwuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBtb2RlbC5zbGljZSgxKTtcbiAgICAgIHJldHVybiBwYXNjYWxDYXNlO1xuICAgIH0pO1xuXG4gICAgcmVzdWx0ICs9IGBleHBvcnQgeyAke2NvbGxlY3Rpb25OYW1lcy5qb2luKFwiLCBcIil9IH07XG5gO1xuICB9IGVsc2Uge1xuICAgIHJlc3VsdCArPSBgZXhwb3J0IHt9O1xuYDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbnNcbmZ1bmN0aW9uIG1hcEZpZWxkVHlwZSh0eXBlOiBzdHJpbmcsIGZpZWxkTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKGZpZWxkTmFtZS5lbmRzV2l0aChcIl9pZFwiKSkgcmV0dXJuIFwicmVsYXRpb25zaGlwXCI7XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgIHJldHVybiBcImNoZWNrYm94XCI7XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgcmV0dXJuIFwibnVtYmVyXCI7XG4gICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgaWYgKGZpZWxkTmFtZSA9PT0gXCJlbWFpbFwiKSByZXR1cm4gXCJlbWFpbFwiO1xuICAgICAgaWYgKGZpZWxkTmFtZS5pbmNsdWRlcyhcInBhc3N3b3JkXCIpKSByZXR1cm4gXCJ0ZXh0XCI7XG4gICAgICBpZiAoZmllbGROYW1lLmluY2x1ZGVzKFwiaW1hZ2VcIikgfHwgZmllbGROYW1lLmluY2x1ZGVzKFwiYXZhdGFyXCIpKVxuICAgICAgICByZXR1cm4gXCJ1cGxvYWRcIjtcbiAgICAgIHJldHVybiBcInRleHRcIjtcbiAgICBjYXNlIFwiZGF0ZVwiOlxuICAgICAgcmV0dXJuIFwiZGF0ZVwiO1xuICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgcmV0dXJuIFwiYXJyYXlcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFwidGV4dFwiO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVGaWVsZChmaWVsZHM6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcge1xuICAvLyBUcnkgdG8gZmluZCBhbiBhcHByb3ByaWF0ZSBmaWVsZCB0byB1c2UgYXMgdGl0bGVcbiAgY29uc3QgbmFtZU9wdGlvbnMgPSBbXCJuYW1lXCIsIFwidGl0bGVcIiwgXCJsYWJlbFwiLCBcImVtYWlsXCIsIFwidXNlcm5hbWVcIl07XG5cbiAgZm9yIChjb25zdCBvcHRpb24gb2YgbmFtZU9wdGlvbnMpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMoZmllbGRzKS5pbmNsdWRlcyhvcHRpb24pKSB7XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHQgdG8gZmlyc3QgZmllbGQgdGhhdCdzIG5vdCBpZFxuICBjb25zdCBmaXJzdE5vbklkRmllbGQgPSBPYmplY3Qua2V5cyhmaWVsZHMpLmZpbmQoKGspID0+IGsgIT09IFwiaWRcIik7XG4gIHJldHVybiBmaXJzdE5vbklkRmllbGQgfHwgXCJpZFwiO1xufVxuIl0sIm5hbWVzIjpbImdldEF1dGhUYWJsZXMiLCJmb3JtYXQiLCJnZW5lcmF0ZVNjaGVtYUJ1aWxkZXJTdGFnZSIsIkJBT3B0aW9ucyIsImNvZGUiLCJmb3JtYXR0ZWRDb2RlIiwiZmlsZXBhdGgiLCJwb3N0IiwiY29sbGVjdGlvbnMiLCJwYXJzZUV4aXN0aW5nU2NoZW1hIiwicGF5bG9hZFNjaGVtYVN0ciIsImdlbmVyYXRlUGF5bG9hZENvbGxlY3Rpb25Db25maWdzIiwib3B0aW9ucyIsImV4cG9ydHMiLCJjb2xsZWN0aW9uUmVnZXgiLCJtYXRjaCIsImV4ZWMiLCJjb2xsZWN0aW9uTmFtZSIsImNvbGxlY3Rpb25EZWYiLCJzbHVnTWF0Y2giLCJzbHVnIiwidG9Mb3dlckNhc2UiLCJ0aXRsZU1hdGNoIiwidXNlQXNUaXRsZSIsImZpZWxkc1JlZ2V4IiwiZmllbGRzTWF0Y2giLCJmaWVsZHMiLCJmaWVsZEJsb2NrUmVnZXgiLCJmaWVsZEJsb2NrcyIsImZpZWxkQmxvY2siLCJuYW1lTWF0Y2giLCJ0eXBlTWF0Y2giLCJyZXF1aXJlZE1hdGNoIiwidW5pcXVlTWF0Y2giLCJyZWxhdGlvblRvTWF0Y2giLCJmaWVsZCIsIm5hbWUiLCJ0eXBlIiwicmVxdWlyZWQiLCJ1bmlxdWUiLCJyZWxhdGlvblRvIiwicHVzaCIsInRpbWVzdGFtcHNNYXRjaCIsImhhc1RpbWVzdGFtcHMiLCJhZG1pbiIsInRpbWVzdGFtcHMiLCJleHBvcnRSZWdleCIsImV4cG9ydE1hdGNoIiwicmVzdWx0IiwiY29sbGVjdGlvbnNTdHIiLCJ0YWJsZXMiLCJleGlzdGluZ0NvbGxlY3Rpb25zQnlTbHVnIiwicmVkdWNlIiwiYWNjIiwiY29sbGVjdGlvbiIsInRhYmxlS2V5IiwidGFibGUiLCJPYmplY3QiLCJlbnRyaWVzIiwibW9kZWxOYW1lIiwiY2FwaXRhbGl6ZWQiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZXhpc3RpbmdDb2xsZWN0aW9uIiwiSlNPTiIsInN0cmluZ2lmeSIsInJlcGxhY2UiLCJnZXROYW1lRmllbGQiLCJmaWVsZEtleSIsImZpZWxkTmFtZSIsImZpZWxkVHlwZSIsIm1hcEZpZWxkVHlwZSIsImlzUmVsYXRpb25zaGlwIiwiZW5kc1dpdGgiLCJyZWZlcmVuY2VzIiwibW9kZWwiLCJBcnJheSIsImlzQXJyYXkiLCJkZWZhdWx0VmFsdWUiLCJ1bmRlZmluZWQiLCJ0b1N0cmluZyIsImluY2x1ZGVzIiwicmVhZE9ubHkiLCJ0cmltIiwiZXhpc3RpbmdFeHBvcnRNYXRjaCIsImV4aXN0aW5nQ29sbGVjdGlvbnMiLCJzcGxpdCIsIm1hcCIsInRhYmxlQ29sbGVjdGlvbnMiLCJrZXlzIiwiYWxsQ29sbGVjdGlvbnMiLCJTZXQiLCJqb2luIiwibGVuZ3RoIiwiY29sbGVjdGlvbk5hbWVzIiwicGFzY2FsQ2FzZSIsIm5hbWVPcHRpb25zIiwib3B0aW9uIiwiZmlyc3ROb25JZEZpZWxkIiwiZmluZCIsImsiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztDQWlCQyxHQUVELFNBQVNBLGFBQWEsUUFBUSxpQkFBaUI7QUFFL0MsU0FBU0MsTUFBTSxRQUFRLFdBQVc7QUFFbEMsT0FBTyxNQUFNQyw2QkFBNkIsT0FBTyxFQUMvQ0MsU0FBUyxFQUNUQyxJQUFJLEVBSUw7SUFDQyxNQUFNQyxnQkFBZ0IsTUFBTUosT0FBT0csTUFBTTtRQUFFRSxVQUFVO0lBQVk7SUFFakUsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFdBQVcsRUFBRSxHQUFHQyxvQkFBb0JKO0lBRWxELE1BQU1LLG1CQUFtQkMs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
@@ -1 +1 @@
1
- {"version":3,"file":"get-payload-schema.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/adapter/generate-schema/get-payload-schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAAU,gBAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CAsB7E,CAAA"}
1
+ {"version":3,"file":"get-payload-schema.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/adapter/generate-schema/get-payload-schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAC3B,gBAAgB,MAAM,KACrB,OAAO,CAAC,MAAM,CA0BhB,CAAC"}
@@ -4,15 +4,15 @@ export const getPayloadSchema = async (payloadDirPath)=>{
4
4
  try {
5
5
  files = await fs.readdir(payloadDirPath);
6
6
  } catch (error) {
7
- if (error.code === 'ENOENT') {
7
+ if (error.code === "ENOENT") {
8
8
  throw new Error(`Payload directory not found at "${payloadDirPath}". Please run this CLI from the project root directory where the payload directory is located, otherwise specify a payload directory path in your payloadAdapter options, under schema_generation.payload_dir_path.`);
9
9
  }
10
10
  console.error(error);
11
11
  throw new Error(`Failed to access payload directory at "${payloadDirPath}".`);
12
12
  }
13
- if (!files.includes(`schema.ts`)) return '';
13
+ if (!files.includes(`schema.ts`)) return "";
14
14
  try {
15
- const schemaCode = await fs.readFile(`${payloadDirPath}/schema.ts`, 'utf8');
15
+ const schemaCode = await fs.readFile(`${payloadDirPath}/schema.ts`, "utf8");
16
16
  return schemaCode;
17
17
  } catch (error) {
18
18
  console.error(error);
@@ -20,4 +20,4 @@ export const getPayloadSchema = async (payloadDirPath)=>{
20
20
  }
21
21
  };
22
22
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS9nZXQtcGF5bG9hZC1zY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnXG5cbmV4cG9ydCBjb25zdCBnZXRQYXlsb2FkU2NoZW1hID0gYXN5bmMgKHBheWxvYWREaXJQYXRoOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICBsZXQgZmlsZXM6IHN0cmluZ1tdXG4gIHRyeSB7XG4gICAgZmlsZXMgPSBhd2FpdCBmcy5yZWFkZGlyKHBheWxvYWREaXJQYXRoKVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgaWYgKGVycm9yLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQYXlsb2FkIGRpcmVjdG9yeSBub3QgZm91bmQgYXQgXCIke3BheWxvYWREaXJQYXRofVwiLiBQbGVhc2UgcnVuIHRoaXMgQ0xJIGZyb20gdGhlIHByb2plY3Qgcm9vdCBkaXJlY3Rvcnkgd2hlcmUgdGhlIHBheWxvYWQgZGlyZWN0b3J5IGlzIGxvY2F0ZWQsIG90aGVyd2lzZSBzcGVjaWZ5IGEgcGF5bG9hZCBkaXJlY3RvcnkgcGF0aCBpbiB5b3VyIHBheWxvYWRBZGFwdGVyIG9wdGlvbnMsIHVuZGVyIHNjaGVtYV9nZW5lcmF0aW9uLnBheWxvYWRfZGlyX3BhdGguYFxuICAgICAgKVxuICAgIH1cbiAgICBjb25zb2xlLmVycm9yKGVycm9yKVxuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGFjY2VzcyBwYXlsb2FkIGRpcmVjdG9yeSBhdCBcIiR7cGF5bG9hZERpclBhdGh9XCIuYClcbiAgfVxuXG4gIGlmICghZmlsZXMuaW5jbHVkZXMoYHNjaGVtYS50c2ApKSByZXR1cm4gJydcbiAgdHJ5IHtcbiAgICBjb25zdCBzY2hlbWFDb2RlID0gYXdhaXQgZnMucmVhZEZpbGUoYCR7cGF5bG9hZERpclBhdGh9L3NjaGVtYS50c2AsICd1dGY4JylcbiAgICByZXR1cm4gc2NoZW1hQ29kZVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgdGhyb3cgbmV3IEVycm9yKGBQYXlsb2FkQWRhcHRlcjogRmFpbGVkIHRvIHJlYWQgc2NoZW1hLnRzIGZpbGUgZnJvbSBcIiR7cGF5bG9hZERpclBhdGh9XCIuYClcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZzIiwiZ2V0UGF5bG9hZFNjaGVtYSIsInBheWxvYWREaXJQYXRoIiwiZmlsZXMiLCJyZWFkZGlyIiwiZXJyb3IiLCJjb2RlIiwiRXJyb3IiLCJjb25zb2xlIiwiaW5jbHVkZXMiLCJzY2hlbWFDb2RlIiwicmVhZEZpbGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFFBQVEsbUJBQWtCO0FBRWpDLE9BQU8sTUFBTUMsbUJBQW1CLE9BQU9DO0lBQ3JDLElBQUlDO0lBQ0osSUFBSTtRQUNGQSxRQUFRLE1BQU1ILEdBQUdJLE9BQU8sQ0FBQ0Y7SUFDM0IsRUFBRSxPQUFPRyxPQUFZO1FBQ25CLElBQUlBLE1BQU1DLElBQUksS0FBSyxVQUFVO1lBQzNCLE1BQU0sSUFBSUMsTUFDUixDQUFDLGdDQUFnQyxFQUFFTCxlQUFlLG1OQUFtTixDQUFDO1FBRTFRO1FBQ0FNLFFBQVFILEtBQUssQ0FBQ0E7UUFDZCxNQUFNLElBQUlFLE1BQU0sQ0FBQyx1Q0FBdUMsRUFBRUwsZUFBZSxFQUFFLENBQUM7SUFDOUU7SUFFQSxJQUFJLENBQUNDLE1BQU1NLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU87SUFDekMsSUFBSTtRQUNGLE1BQU1DLGFBQWEsTUFBTVYsR0FBR1csUUFBUSxDQUFDLEdBQUdULGVBQWUsVUFBVSxDQUFDLEVBQUU7UUFDcEUsT0FBT1E7SUFDVCxFQUFFLE9BQU9MLE9BQU87UUFDZEcsUUFBUUgsS0FBSyxDQUFDQTtRQUNkLE1BQU0sSUFBSUUsTUFBTSxDQUFDLG9EQUFvRCxFQUFFTCxlQUFlLEVBQUUsQ0FBQztJQUMzRjtBQUNGLEVBQUMifQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS9nZXQtcGF5bG9hZC1zY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5cbmV4cG9ydCBjb25zdCBnZXRQYXlsb2FkU2NoZW1hID0gYXN5bmMgKFxuICBwYXlsb2FkRGlyUGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICBsZXQgZmlsZXM6IHN0cmluZ1tdO1xuICB0cnkge1xuICAgIGZpbGVzID0gYXdhaXQgZnMucmVhZGRpcihwYXlsb2FkRGlyUGF0aCk7XG4gIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICBpZiAoZXJyb3IuY29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgUGF5bG9hZCBkaXJlY3Rvcnkgbm90IGZvdW5kIGF0IFwiJHtwYXlsb2FkRGlyUGF0aH1cIi4gUGxlYXNlIHJ1biB0aGlzIENMSSBmcm9tIHRoZSBwcm9qZWN0IHJvb3QgZGlyZWN0b3J5IHdoZXJlIHRoZSBwYXlsb2FkIGRpcmVjdG9yeSBpcyBsb2NhdGVkLCBvdGhlcndpc2Ugc3BlY2lmeSBhIHBheWxvYWQgZGlyZWN0b3J5IHBhdGggaW4geW91ciBwYXlsb2FkQWRhcHRlciBvcHRpb25zLCB1bmRlciBzY2hlbWFfZ2VuZXJhdGlvbi5wYXlsb2FkX2Rpcl9wYXRoLmBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBGYWlsZWQgdG8gYWNjZXNzIHBheWxvYWQgZGlyZWN0b3J5IGF0IFwiJHtwYXlsb2FkRGlyUGF0aH1cIi5gXG4gICAgKTtcbiAgfVxuXG4gIGlmICghZmlsZXMuaW5jbHVkZXMoYHNjaGVtYS50c2ApKSByZXR1cm4gXCJcIjtcbiAgdHJ5IHtcbiAgICBjb25zdCBzY2hlbWFDb2RlID0gYXdhaXQgZnMucmVhZEZpbGUoYCR7cGF5bG9hZERpclBhdGh9L3NjaGVtYS50c2AsIFwidXRmOFwiKTtcbiAgICByZXR1cm4gc2NoZW1hQ29kZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgUGF5bG9hZEFkYXB0ZXI6IEZhaWxlZCB0byByZWFkIHNjaGVtYS50cyBmaWxlIGZyb20gXCIke3BheWxvYWREaXJQYXRofVwiLmBcbiAgICApO1xuICB9XG59O1xuIl0sIm5hbWVzIjpbImZzIiwiZ2V0UGF5bG9hZFNjaGVtYSIsInBheWxvYWREaXJQYXRoIiwiZmlsZXMiLCJyZWFkZGlyIiwiZXJyb3IiLCJjb2RlIiwiRXJyb3IiLCJjb25zb2xlIiwiaW5jbHVkZXMiLCJzY2hlbWFDb2RlIiwicmVhZEZpbGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFFBQVEsbUJBQW1CO0FBRWxDLE9BQU8sTUFBTUMsbUJBQW1CLE9BQzlCQztJQUVBLElBQUlDO0lBQ0osSUFBSTtRQUNGQSxRQUFRLE1BQU1ILEdBQUdJLE9BQU8sQ0FBQ0Y7SUFDM0IsRUFBRSxPQUFPRyxPQUFZO1FBQ25CLElBQUlBLE1BQU1DLElBQUksS0FBSyxVQUFVO1lBQzNCLE1BQU0sSUFBSUMsTUFDUixDQUFDLGdDQUFnQyxFQUFFTCxlQUFlLG1OQUFtTixDQUFDO1FBRTFRO1FBQ0FNLFFBQVFILEtBQUssQ0FBQ0E7UUFDZCxNQUFNLElBQUlFLE1BQ1IsQ0FBQyx1Q0FBdUMsRUFBRUwsZUFBZSxFQUFFLENBQUM7SUFFaEU7SUFFQSxJQUFJLENBQUNDLE1BQU1NLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU87SUFDekMsSUFBSTtRQUNGLE1BQU1DLGFBQWEsTUFBTVYsR0FBR1csUUFBUSxDQUFDLEdBQUdULGVBQWUsVUFBVSxDQUFDLEVBQUU7UUFDcEUsT0FBT1E7SUFDVCxFQUFFLE9BQU9MLE9BQU87UUFDZEcsUUFBUUgsS0FBSyxDQUFDQTtRQUNkLE1BQU0sSUFBSUUsTUFDUixDQUFDLG9EQUFvRCxFQUFFTCxlQUFlLEVBQUUsQ0FBQztJQUU3RTtBQUNGLEVBQUUifQ==
@@ -1,4 +1,4 @@
1
- import type { BetterAuthOptions } from 'better-auth';
1
+ import type { BetterAuthOptions } from "better-auth";
2
2
  export declare const generateSchema: (BAoptions: BetterAuthOptions, options?: {
3
3
  outputDir: string;
4
4
  }) => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/adapter/generate-schema/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,eAAO,MAAM,cAAc,GACzB,WAAW,iBAAiB,EAC5B,UAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAE3B,KACA,OAAO,CAAC,MAAM,CAahB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/adapter/generate-schema/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,eAAO,MAAM,cAAc,GACzB,WAAW,iBAAiB,EAC5B,UAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAE3B,KACA,OAAO,CAAC,MAAM,CAahB,CAAC"}
@@ -3,7 +3,7 @@ import path from "node:path";
3
3
  import { generateSchemaBuilderStage } from "./generate-schema-builder";
4
4
  import { getPayloadSchema } from "./get-payload-schema";
5
5
  export const generateSchema = async (BAoptions, options = {
6
- outputDir: './generated'
6
+ outputDir: "./generated"
7
7
  })=>{
8
8
  const { outputDir } = options;
9
9
  const existing_schema_code = await getPayloadSchema(outputDir);
@@ -11,9 +11,9 @@ export const generateSchema = async (BAoptions, options = {
11
11
  code: existing_schema_code,
12
12
  BAOptions: BAoptions
13
13
  });
14
- const schemaPath = path.resolve(outputDir, 'schema.ts');
15
- await fs.writeFile(schemaPath, new_schema_code, 'utf8');
14
+ const schemaPath = path.resolve(outputDir, "schema.ts");
15
+ await fs.writeFile(schemaPath, new_schema_code, "utf8");
16
16
  return new_schema_code;
17
17
  };
18
18
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnbm9kZTpmcy9wcm9taXNlcydcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCdcbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tICdiZXR0ZXItYXV0aCdcbmltcG9ydCB7IGdlbmVyYXRlU2NoZW1hQnVpbGRlclN0YWdlIH0gZnJvbSAnLi9nZW5lcmF0ZS1zY2hlbWEtYnVpbGRlcidcbmltcG9ydCB7IGdldFBheWxvYWRTY2hlbWEgfSBmcm9tICcuL2dldC1wYXlsb2FkLXNjaGVtYSdcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlU2NoZW1hID0gYXN5bmMgKFxuICBCQW9wdGlvbnM6IEJldHRlckF1dGhPcHRpb25zLFxuICBvcHRpb25zOiB7IG91dHB1dERpcjogc3RyaW5nIH0gPSB7XG4gICAgb3V0cHV0RGlyOiAnLi9nZW5lcmF0ZWQnXG4gIH1cbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IHsgb3V0cHV0RGlyIH0gPSBvcHRpb25zXG4gIGNvbnN0IGV4aXN0aW5nX3NjaGVtYV9jb2RlOiBzdHJpbmcgPSBhd2FpdCBnZXRQYXlsb2FkU2NoZW1hKG91dHB1dERpcilcblxuICBjb25zdCBuZXdfc2NoZW1hX2NvZGUgPSBhd2FpdCBnZW5lcmF0ZVNjaGVtYUJ1aWxkZXJTdGFnZSh7XG4gICAgY29kZTogZXhpc3Rpbmdfc2NoZW1hX2NvZGUsXG4gICAgQkFPcHRpb25zOiBCQW9wdGlvbnNcbiAgfSlcblxuICBjb25zdCBzY2hlbWFQYXRoID0gcGF0aC5yZXNvbHZlKG91dHB1dERpciwgJ3NjaGVtYS50cycpXG4gIGF3YWl0IGZzLndyaXRlRmlsZShzY2hlbWFQYXRoLCBuZXdfc2NoZW1hX2NvZGUsICd1dGY4JylcblxuICByZXR1cm4gbmV3X3NjaGVtYV9jb2RlXG59XG4iXSwibmFtZXMiOlsiZnMiLCJwYXRoIiwiZ2VuZXJhdGVTY2hlbWFCdWlsZGVyU3RhZ2UiLCJnZXRQYXlsb2FkU2NoZW1hIiwiZ2VuZXJhdGVTY2hlbWEiLCJCQW9wdGlvbnMiLCJvcHRpb25zIiwib3V0cHV0RGlyIiwiZXhpc3Rpbmdfc2NoZW1hX2NvZGUiLCJuZXdfc2NoZW1hX2NvZGUiLCJjb2RlIiwiQkFPcHRpb25zIiwic2NoZW1hUGF0aCIsInJlc29sdmUiLCJ3cml0ZUZpbGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFFBQVEsbUJBQWtCO0FBQ2pDLE9BQU9DLFVBQVUsWUFBVztBQUU1QixTQUFTQywwQkFBMEIsUUFBUSw0QkFBMkI7QUFDdEUsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXNCO0FBRXZELE9BQU8sTUFBTUMsaUJBQWlCLE9BQzVCQyxXQUNBQyxVQUFpQztJQUMvQkMsV0FBVztBQUNiLENBQUM7SUFFRCxNQUFNLEVBQUVBLFNBQVMsRUFBRSxHQUFHRDtJQUN0QixNQUFNRSx1QkFBK0IsTUFBTUwsaUJBQWlCSTtJQUU1RCxNQUFNRSxrQkFBa0IsTUFBTVAsMkJBQTJCO1FBQ3ZEUSxNQUFNRjtRQUNORyxXQUFXTjtJQUNiO0lBRUEsTUFBTU8sYUFBYVgsS0FBS1ksT0FBTyxDQUFDTixXQUFXO0lBQzNDLE1BQU1QLEdBQUdjLFNBQVMsQ0FBQ0YsWUFBWUgsaUJBQWlCO0lBRWhELE9BQU9BO0FBQ1QsRUFBQyJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tIFwiYmV0dGVyLWF1dGhcIjtcbmltcG9ydCB7IGdlbmVyYXRlU2NoZW1hQnVpbGRlclN0YWdlIH0gZnJvbSBcIi4vZ2VuZXJhdGUtc2NoZW1hLWJ1aWxkZXJcIjtcbmltcG9ydCB7IGdldFBheWxvYWRTY2hlbWEgfSBmcm9tIFwiLi9nZXQtcGF5bG9hZC1zY2hlbWFcIjtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlU2NoZW1hID0gYXN5bmMgKFxuICBCQW9wdGlvbnM6IEJldHRlckF1dGhPcHRpb25zLFxuICBvcHRpb25zOiB7IG91dHB1dERpcjogc3RyaW5nIH0gPSB7XG4gICAgb3V0cHV0RGlyOiBcIi4vZ2VuZXJhdGVkXCJcbiAgfVxuKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgY29uc3QgeyBvdXRwdXREaXIgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGV4aXN0aW5nX3NjaGVtYV9jb2RlOiBzdHJpbmcgPSBhd2FpdCBnZXRQYXlsb2FkU2NoZW1hKG91dHB1dERpcik7XG5cbiAgY29uc3QgbmV3X3NjaGVtYV9jb2RlID0gYXdhaXQgZ2VuZXJhdGVTY2hlbWFCdWlsZGVyU3RhZ2Uoe1xuICAgIGNvZGU6IGV4aXN0aW5nX3NjaGVtYV9jb2RlLFxuICAgIEJBT3B0aW9uczogQkFvcHRpb25zXG4gIH0pO1xuXG4gIGNvbnN0IHNjaGVtYVBhdGggPSBwYXRoLnJlc29sdmUob3V0cHV0RGlyLCBcInNjaGVtYS50c1wiKTtcbiAgYXdhaXQgZnMud3JpdGVGaWxlKHNjaGVtYVBhdGgsIG5ld19zY2hlbWFfY29kZSwgXCJ1dGY4XCIpO1xuXG4gIHJldHVybiBuZXdfc2NoZW1hX2NvZGU7XG59O1xuIl0sIm5hbWVzIjpbImZzIiwicGF0aCIsImdlbmVyYXRlU2NoZW1hQnVpbGRlclN0YWdlIiwiZ2V0UGF5bG9hZFNjaGVtYSIsImdlbmVyYXRlU2NoZW1hIiwiQkFvcHRpb25zIiwib3B0aW9ucyIsIm91dHB1dERpciIsImV4aXN0aW5nX3NjaGVtYV9jb2RlIiwibmV3X3NjaGVtYV9jb2RlIiwiY29kZSIsIkJBT3B0aW9ucyIsInNjaGVtYVBhdGgiLCJyZXNvbHZlIiwid3JpdGVGaWxlIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxRQUFRLG1CQUFtQjtBQUNsQyxPQUFPQyxVQUFVLFlBQVk7QUFFN0IsU0FBU0MsMEJBQTBCLFFBQVEsNEJBQTRCO0FBQ3ZFLFNBQVNDLGdCQUFnQixRQUFRLHVCQUF1QjtBQUV4RCxPQUFPLE1BQU1DLGlCQUFpQixPQUM1QkMsV0FDQUMsVUFBaUM7SUFDL0JDLFdBQVc7QUFDYixDQUFDO0lBRUQsTUFBTSxFQUFFQSxTQUFTLEVBQUUsR0FBR0Q7SUFDdEIsTUFBTUUsdUJBQStCLE1BQU1MLGlCQUFpQkk7SUFFNUQsTUFBTUUsa0JBQWtCLE1BQU1QLDJCQUEyQjtRQUN2RFEsTUFBTUY7UUFDTkcsV0FBV047SUFDYjtJQUVBLE1BQU1PLGFBQWFYLEtBQUtZLE9BQU8sQ0FBQ04sV0FBVztJQUMzQyxNQUFNUCxHQUFHYyxTQUFTLENBQUNGLFlBQVlILGlCQUFpQjtJQUVoRCxPQUFPQTtBQUNULEVBQUUifQ==
@@ -1,13 +1,13 @@
1
1
  import path from "node:path";
2
2
  export function padding(str, indent = 2) {
3
- if (str.trim() === '') return '';
4
- return str.split('\n').map((x)=>x.length > 0 ? `${' '.repeat(indent)}${x}` : x).join('\n');
3
+ if (str.trim() === "") return "";
4
+ return str.split("\n").map((x)=>x.length > 0 ? `${" ".repeat(indent)}${x}` : x).join("\n");
5
5
  }
6
6
  export function getPayloadPath(provided_payload_dir_path) {
7
7
  const base_path = process.cwd();
8
8
  // If no path provided, use default "convex" in current directory
9
9
  if (!provided_payload_dir_path) {
10
- return path.join(base_path, 'payload');
10
+ return path.join(base_path, "payload");
11
11
  }
12
12
  // If it's already an absolute path and exists, use it directly
13
13
  if (path.isAbsolute(provided_payload_dir_path)) {
@@ -17,4 +17,4 @@ export function getPayloadPath(provided_payload_dir_path) {
17
17
  return path.join(base_path, provided_payload_dir_path);
18
18
  }
19
19
 
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnXG5cbmV4cG9ydCBmdW5jdGlvbiBwYWRkaW5nKHN0cjogc3RyaW5nLCBpbmRlbnQgPSAyKSB7XG4gIGlmIChzdHIudHJpbSgpID09PSAnJykgcmV0dXJuICcnXG4gIHJldHVybiBzdHJcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCgoeCkgPT4gKHgubGVuZ3RoID4gMCA/IGAkeycgJy5yZXBlYXQoaW5kZW50KX0ke3h9YCA6IHgpKVxuICAgIC5qb2luKCdcXG4nKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF5bG9hZFBhdGgocHJvdmlkZWRfcGF5bG9hZF9kaXJfcGF0aD86IHN0cmluZykge1xuICBjb25zdCBiYXNlX3BhdGggPSBwcm9jZXNzLmN3ZCgpXG5cbiAgLy8gSWYgbm8gcGF0aCBwcm92aWRlZCwgdXNlIGRlZmF1bHQgXCJjb252ZXhcIiBpbiBjdXJyZW50IGRpcmVjdG9yeVxuICBpZiAoIXByb3ZpZGVkX3BheWxvYWRfZGlyX3BhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5qb2luKGJhc2VfcGF0aCwgJ3BheWxvYWQnKVxuICB9XG5cbiAgLy8gSWYgaXQncyBhbHJlYWR5IGFuIGFic29sdXRlIHBhdGggYW5kIGV4aXN0cywgdXNlIGl0IGRpcmVjdGx5XG4gIGlmIChwYXRoLmlzQWJzb2x1dGUocHJvdmlkZWRfcGF5bG9hZF9kaXJfcGF0aCkpIHtcbiAgICByZXR1cm4gcHJvdmlkZWRfcGF5bG9hZF9kaXJfcGF0aFxuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB0cmVhdCBpdCBhcyByZWxhdGl2ZSB0byBjdXJyZW50IGRpcmVjdG9yeVxuICByZXR1cm4gcGF0aC5qb2luKGJhc2VfcGF0aCwgcHJvdmlkZWRfcGF5bG9hZF9kaXJfcGF0aClcbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwicGFkZGluZyIsInN0ciIsImluZGVudCIsInRyaW0iLCJzcGxpdCIsIm1hcCIsIngiLCJsZW5ndGgiLCJyZXBlYXQiLCJqb2luIiwiZ2V0UGF5bG9hZFBhdGgiLCJwcm92aWRlZF9wYXlsb2FkX2Rpcl9wYXRoIiwiYmFzZV9wYXRoIiwicHJvY2VzcyIsImN3ZCIsImlzQWJzb2x1dGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFVBQVUsWUFBVztBQUU1QixPQUFPLFNBQVNDLFFBQVFDLEdBQVcsRUFBRUMsU0FBUyxDQUFDO0lBQzdDLElBQUlELElBQUlFLElBQUksT0FBTyxJQUFJLE9BQU87SUFDOUIsT0FBT0YsSUFDSkcsS0FBSyxDQUFDLE1BQ05DLEdBQUcsQ0FBQyxDQUFDQyxJQUFPQSxFQUFFQyxNQUFNLEdBQUcsSUFBSSxHQUFHLElBQUlDLE1BQU0sQ0FBQ04sVUFBVUksR0FBRyxHQUFHQSxHQUN6REcsSUFBSSxDQUFDO0FBQ1Y7QUFFQSxPQUFPLFNBQVNDLGVBQWVDLHlCQUFrQztJQUMvRCxNQUFNQyxZQUFZQyxRQUFRQyxHQUFHO0lBRTdCLGlFQUFpRTtJQUNqRSxJQUFJLENBQUNILDJCQUEyQjtRQUM5QixPQUFPWixLQUFLVSxJQUFJLENBQUNHLFdBQVc7SUFDOUI7SUFFQSwrREFBK0Q7SUFDL0QsSUFBSWIsS0FBS2dCLFVBQVUsQ0FBQ0osNEJBQTRCO1FBQzlDLE9BQU9BO0lBQ1Q7SUFFQSx1REFBdUQ7SUFDdkQsT0FBT1osS0FBS1UsSUFBSSxDQUFDRyxXQUFXRDtBQUM5QiJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9hZGFwdGVyL2dlbmVyYXRlLXNjaGVtYS91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYWRkaW5nKHN0cjogc3RyaW5nLCBpbmRlbnQgPSAyKSB7XG4gIGlmIChzdHIudHJpbSgpID09PSBcIlwiKSByZXR1cm4gXCJcIjtcbiAgcmV0dXJuIHN0clxuICAgIC5zcGxpdChcIlxcblwiKVxuICAgIC5tYXAoKHgpID0+ICh4Lmxlbmd0aCA+IDAgPyBgJHtcIiBcIi5yZXBlYXQoaW5kZW50KX0ke3h9YCA6IHgpKVxuICAgIC5qb2luKFwiXFxuXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGF5bG9hZFBhdGgocHJvdmlkZWRfcGF5bG9hZF9kaXJfcGF0aD86IHN0cmluZykge1xuICBjb25zdCBiYXNlX3BhdGggPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIElmIG5vIHBhdGggcHJvdmlkZWQsIHVzZSBkZWZhdWx0IFwiY29udmV4XCIgaW4gY3VycmVudCBkaXJlY3RvcnlcbiAgaWYgKCFwcm92aWRlZF9wYXlsb2FkX2Rpcl9wYXRoKSB7XG4gICAgcmV0dXJuIHBhdGguam9pbihiYXNlX3BhdGgsIFwicGF5bG9hZFwiKTtcbiAgfVxuXG4gIC8vIElmIGl0J3MgYWxyZWFkeSBhbiBhYnNvbHV0ZSBwYXRoIGFuZCBleGlzdHMsIHVzZSBpdCBkaXJlY3RseVxuICBpZiAocGF0aC5pc0Fic29sdXRlKHByb3ZpZGVkX3BheWxvYWRfZGlyX3BhdGgpKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVkX3BheWxvYWRfZGlyX3BhdGg7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHRyZWF0IGl0IGFzIHJlbGF0aXZlIHRvIGN1cnJlbnQgZGlyZWN0b3J5XG4gIHJldHVybiBwYXRoLmpvaW4oYmFzZV9wYXRoLCBwcm92aWRlZF9wYXlsb2FkX2Rpcl9wYXRoKTtcbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwicGFkZGluZyIsInN0ciIsImluZGVudCIsInRyaW0iLCJzcGxpdCIsIm1hcCIsIngiLCJsZW5ndGgiLCJyZXBlYXQiLCJqb2luIiwiZ2V0UGF5bG9hZFBhdGgiLCJwcm92aWRlZF9wYXlsb2FkX2Rpcl9wYXRoIiwiYmFzZV9wYXRoIiwicHJvY2VzcyIsImN3ZCIsImlzQWJzb2x1dGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFVBQVUsWUFBWTtBQUU3QixPQUFPLFNBQVNDLFFBQVFDLEdBQVcsRUFBRUMsU0FBUyxDQUFDO0lBQzdDLElBQUlELElBQUlFLElBQUksT0FBTyxJQUFJLE9BQU87SUFDOUIsT0FBT0YsSUFDSkcsS0FBSyxDQUFDLE1BQ05DLEdBQUcsQ0FBQyxDQUFDQyxJQUFPQSxFQUFFQyxNQUFNLEdBQUcsSUFBSSxHQUFHLElBQUlDLE1BQU0sQ0FBQ04sVUFBVUksR0FBRyxHQUFHQSxHQUN6REcsSUFBSSxDQUFDO0FBQ1Y7QUFFQSxPQUFPLFNBQVNDLGVBQWVDLHlCQUFrQztJQUMvRCxNQUFNQyxZQUFZQyxRQUFRQyxHQUFHO0lBRTdCLGlFQUFpRTtJQUNqRSxJQUFJLENBQUNILDJCQUEyQjtRQUM5QixPQUFPWixLQUFLVSxJQUFJLENBQUNHLFdBQVc7SUFDOUI7SUFFQSwrREFBK0Q7SUFDL0QsSUFBSWIsS0FBS2dCLFVBQVUsQ0FBQ0osNEJBQTRCO1FBQzlDLE9BQU9BO0lBQ1Q7SUFFQSx1REFBdUQ7SUFDdkQsT0FBT1osS0FBS1UsSUFBSSxDQUFDRyxXQUFXRDtBQUM5QiJ9
@@ -1,5 +1,5 @@
1
- import { generateSchema } from './generate-schema';
2
- import type { PayloadAdapter } from './types';
1
+ import { generateSchema } from "./generate-schema";
2
+ import type { PayloadAdapter } from "./types";
3
3
  export declare const BETTER_AUTH_CONTEXT_KEY = "payload-db-adapter";
4
4
  /**
5
5
  * Payload adapter for Better Auth.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/better-auth/adapter/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,uBAAuB,uBAAuB,CAAA;AAa3D;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,EAAE,cA0oBrB,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/better-auth/adapter/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAa5D;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,EAAE,cAqvBrB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC"}