@starklabs/forge 1.0.1

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 (485) hide show
  1. package/dist/js/admin/index.d.ts +4 -0
  2. package/dist/js/admin/index.d.ts.map +1 -0
  3. package/dist/js/admin/index.js +5 -0
  4. package/dist/js/admin/index.js.map +1 -0
  5. package/dist/js/app.d.ts +3 -0
  6. package/dist/js/app.d.ts.map +1 -0
  7. package/dist/js/app.js +55 -0
  8. package/dist/js/app.js.map +1 -0
  9. package/dist/js/auth/bunch.auth.d.ts +8 -0
  10. package/dist/js/auth/bunch.auth.d.ts.map +1 -0
  11. package/dist/js/auth/bunch.auth.js +8 -0
  12. package/dist/js/auth/bunch.auth.js.map +1 -0
  13. package/dist/js/auth/createOTPModel.d.ts +2 -0
  14. package/dist/js/auth/createOTPModel.d.ts.map +1 -0
  15. package/dist/js/auth/createOTPModel.js +2 -0
  16. package/dist/js/auth/createOTPModel.js.map +1 -0
  17. package/dist/js/auth/forgotPassword.d.ts +10 -0
  18. package/dist/js/auth/forgotPassword.d.ts.map +1 -0
  19. package/dist/js/auth/forgotPassword.js +39 -0
  20. package/dist/js/auth/forgotPassword.js.map +1 -0
  21. package/dist/js/auth/index.d.ts +5 -0
  22. package/dist/js/auth/index.d.ts.map +1 -0
  23. package/dist/js/auth/index.js +26 -0
  24. package/dist/js/auth/index.js.map +1 -0
  25. package/dist/js/auth/login.d.ts +10 -0
  26. package/dist/js/auth/login.d.ts.map +1 -0
  27. package/dist/js/auth/login.js +32 -0
  28. package/dist/js/auth/login.js.map +1 -0
  29. package/dist/js/auth/logout.d.ts +5 -0
  30. package/dist/js/auth/logout.d.ts.map +1 -0
  31. package/dist/js/auth/logout.js +10 -0
  32. package/dist/js/auth/logout.js.map +1 -0
  33. package/dist/js/auth/resendOTP.d.ts +10 -0
  34. package/dist/js/auth/resendOTP.d.ts.map +1 -0
  35. package/dist/js/auth/resendOTP.js +62 -0
  36. package/dist/js/auth/resendOTP.js.map +1 -0
  37. package/dist/js/auth/resetPassword.d.ts +10 -0
  38. package/dist/js/auth/resetPassword.d.ts.map +1 -0
  39. package/dist/js/auth/resetPassword.js +60 -0
  40. package/dist/js/auth/resetPassword.js.map +1 -0
  41. package/dist/js/auth/sendOTP.d.ts +6 -0
  42. package/dist/js/auth/sendOTP.d.ts.map +1 -0
  43. package/dist/js/auth/sendOTP.js +28 -0
  44. package/dist/js/auth/sendOTP.js.map +1 -0
  45. package/dist/js/auth/signup.d.ts +10 -0
  46. package/dist/js/auth/signup.d.ts.map +1 -0
  47. package/dist/js/auth/signup.js +47 -0
  48. package/dist/js/auth/signup.js.map +1 -0
  49. package/dist/js/auth/twoFactorAuth.d.ts +2 -0
  50. package/dist/js/auth/twoFactorAuth.d.ts.map +1 -0
  51. package/dist/js/auth/twoFactorAuth.js +3 -0
  52. package/dist/js/auth/twoFactorAuth.js.map +1 -0
  53. package/dist/js/auth/utils/authenticateUser.d.ts +11 -0
  54. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -0
  55. package/dist/js/auth/utils/authenticateUser.js +60 -0
  56. package/dist/js/auth/utils/authenticateUser.js.map +1 -0
  57. package/dist/js/auth/utils/createOTPModel.d.ts +4 -0
  58. package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -0
  59. package/dist/js/auth/utils/createOTPModel.js +28 -0
  60. package/dist/js/auth/utils/createOTPModel.js.map +1 -0
  61. package/dist/js/auth/utils/createOTPUser.d.ts +12 -0
  62. package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -0
  63. package/dist/js/auth/utils/createOTPUser.js +63 -0
  64. package/dist/js/auth/utils/createOTPUser.js.map +1 -0
  65. package/dist/js/auth/utils/createUser.d.ts +11 -0
  66. package/dist/js/auth/utils/createUser.d.ts.map +1 -0
  67. package/dist/js/auth/utils/createUser.js +42 -0
  68. package/dist/js/auth/utils/createUser.js.map +1 -0
  69. package/dist/js/auth/utils/deleteOTPUser.d.ts +3 -0
  70. package/dist/js/auth/utils/deleteOTPUser.d.ts.map +1 -0
  71. package/dist/js/auth/utils/deleteOTPUser.js +3 -0
  72. package/dist/js/auth/utils/deleteOTPUser.js.map +1 -0
  73. package/dist/js/auth/utils/findUser.d.ts +2 -0
  74. package/dist/js/auth/utils/findUser.d.ts.map +1 -0
  75. package/dist/js/auth/utils/findUser.js +2 -0
  76. package/dist/js/auth/utils/findUser.js.map +1 -0
  77. package/dist/js/auth/utils/getModel.d.ts +6 -0
  78. package/dist/js/auth/utils/getModel.d.ts.map +1 -0
  79. package/dist/js/auth/utils/getModel.js +18 -0
  80. package/dist/js/auth/utils/getModel.js.map +1 -0
  81. package/dist/js/auth/utils/getOTPData.d.ts +9 -0
  82. package/dist/js/auth/utils/getOTPData.d.ts.map +1 -0
  83. package/dist/js/auth/utils/getOTPData.js +26 -0
  84. package/dist/js/auth/utils/getOTPData.js.map +1 -0
  85. package/dist/js/auth/utils/getOTPModel.d.ts +4 -0
  86. package/dist/js/auth/utils/getOTPModel.d.ts.map +1 -0
  87. package/dist/js/auth/utils/getOTPModel.js +20 -0
  88. package/dist/js/auth/utils/getOTPModel.js.map +1 -0
  89. package/dist/js/auth/utils/getOTPUser.d.ts +8 -0
  90. package/dist/js/auth/utils/getOTPUser.d.ts.map +1 -0
  91. package/dist/js/auth/utils/getOTPUser.js +21 -0
  92. package/dist/js/auth/utils/getOTPUser.js.map +1 -0
  93. package/dist/js/auth/utils/getUser.d.ts +10 -0
  94. package/dist/js/auth/utils/getUser.d.ts.map +1 -0
  95. package/dist/js/auth/utils/getUser.js +27 -0
  96. package/dist/js/auth/utils/getUser.js.map +1 -0
  97. package/dist/js/auth/utils/handleIsVerfieid.d.ts +9 -0
  98. package/dist/js/auth/utils/handleIsVerfieid.d.ts.map +1 -0
  99. package/dist/js/auth/utils/handleIsVerfieid.js +20 -0
  100. package/dist/js/auth/utils/handleIsVerfieid.js.map +1 -0
  101. package/dist/js/auth/utils/handleIsVerified.d.ts +11 -0
  102. package/dist/js/auth/utils/handleIsVerified.d.ts.map +1 -0
  103. package/dist/js/auth/utils/handleIsVerified.js +31 -0
  104. package/dist/js/auth/utils/handleIsVerified.js.map +1 -0
  105. package/dist/js/auth/utils/modeMap.d.ts +38 -0
  106. package/dist/js/auth/utils/modeMap.d.ts.map +1 -0
  107. package/dist/js/auth/utils/modeMap.js +15 -0
  108. package/dist/js/auth/utils/modeMap.js.map +1 -0
  109. package/dist/js/auth/utils/otpHTML.d.ts +2 -0
  110. package/dist/js/auth/utils/otpHTML.d.ts.map +1 -0
  111. package/dist/js/auth/utils/otpHTML.js +2 -0
  112. package/dist/js/auth/utils/otpHTML.js.map +1 -0
  113. package/dist/js/auth/utils/otpVerifiedResponse.d.ts +9 -0
  114. package/dist/js/auth/utils/otpVerifiedResponse.d.ts.map +1 -0
  115. package/dist/js/auth/utils/otpVerifiedResponse.js +22 -0
  116. package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -0
  117. package/dist/js/auth/utils/sendCookie.d.ts +14 -0
  118. package/dist/js/auth/utils/sendCookie.d.ts.map +1 -0
  119. package/dist/js/auth/utils/sendCookie.js +73 -0
  120. package/dist/js/auth/utils/sendCookie.js.map +1 -0
  121. package/dist/js/auth/utils/sendOTP.d.ts +7 -0
  122. package/dist/js/auth/utils/sendOTP.d.ts.map +1 -0
  123. package/dist/js/auth/utils/sendOTP.js +48 -0
  124. package/dist/js/auth/utils/sendOTP.js.map +1 -0
  125. package/dist/js/auth/utils/verifyCredentials.d.ts +9 -0
  126. package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -0
  127. package/dist/js/auth/utils/verifyCredentials.js +39 -0
  128. package/dist/js/auth/utils/verifyCredentials.js.map +1 -0
  129. package/dist/js/auth/verifyOTP.d.ts +10 -0
  130. package/dist/js/auth/verifyOTP.d.ts.map +1 -0
  131. package/dist/js/auth/verifyOTP.js +110 -0
  132. package/dist/js/auth/verifyOTP.js.map +1 -0
  133. package/dist/js/config/cloudinary.d.ts +5 -0
  134. package/dist/js/config/cloudinary.d.ts.map +1 -0
  135. package/dist/js/config/cloudinary.js +25 -0
  136. package/dist/js/config/cloudinary.js.map +1 -0
  137. package/dist/js/config/defaultConfig.d.ts +3 -0
  138. package/dist/js/config/defaultConfig.d.ts.map +1 -0
  139. package/dist/js/config/defaultConfig.js +12 -0
  140. package/dist/js/config/defaultConfig.js.map +1 -0
  141. package/dist/js/config/duration.d.ts +22 -0
  142. package/dist/js/config/duration.d.ts.map +1 -0
  143. package/dist/js/config/duration.js +35 -0
  144. package/dist/js/config/duration.js.map +1 -0
  145. package/dist/js/config/envs.d.ts +32 -0
  146. package/dist/js/config/envs.d.ts.map +1 -0
  147. package/dist/js/config/envs.js +10 -0
  148. package/dist/js/config/envs.js.map +1 -0
  149. package/dist/js/config/handleReqType.d.ts +7 -0
  150. package/dist/js/config/handleReqType.d.ts.map +1 -0
  151. package/dist/js/config/handleReqType.js +13 -0
  152. package/dist/js/config/handleReqType.js.map +1 -0
  153. package/dist/js/config/handlerMap.d.ts +3 -0
  154. package/dist/js/config/handlerMap.d.ts.map +1 -0
  155. package/dist/js/config/handlerMap.js +29 -0
  156. package/dist/js/config/handlerMap.js.map +1 -0
  157. package/dist/js/config/reqTypes.d.ts +2 -0
  158. package/dist/js/config/reqTypes.d.ts.map +1 -0
  159. package/dist/js/config/reqTypes.js +2 -0
  160. package/dist/js/config/reqTypes.js.map +1 -0
  161. package/dist/js/config/sendEmail.d.ts +11 -0
  162. package/dist/js/config/sendEmail.d.ts.map +1 -0
  163. package/dist/js/config/sendEmail.js +95 -0
  164. package/dist/js/config/sendEmail.js.map +1 -0
  165. package/dist/js/core/app.d.ts +3 -0
  166. package/dist/js/core/app.d.ts.map +1 -0
  167. package/dist/js/core/app.js +19 -0
  168. package/dist/js/core/app.js.map +1 -0
  169. package/dist/js/crud/bunch.crud.d.ts +11 -0
  170. package/dist/js/crud/bunch.crud.d.ts.map +1 -0
  171. package/dist/js/crud/bunch.crud.js +11 -0
  172. package/dist/js/crud/bunch.crud.js.map +1 -0
  173. package/dist/js/crud/create.d.ts +10 -0
  174. package/dist/js/crud/create.d.ts.map +1 -0
  175. package/dist/js/crud/create.js +72 -0
  176. package/dist/js/crud/create.js.map +1 -0
  177. package/dist/js/crud/createBulk.d.ts +10 -0
  178. package/dist/js/crud/createBulk.d.ts.map +1 -0
  179. package/dist/js/crud/createBulk.js +20 -0
  180. package/dist/js/crud/createBulk.js.map +1 -0
  181. package/dist/js/crud/files/file.update.d.ts +10 -0
  182. package/dist/js/crud/files/file.update.d.ts.map +1 -0
  183. package/dist/js/crud/files/file.update.js +28 -0
  184. package/dist/js/crud/files/file.update.js.map +1 -0
  185. package/dist/js/crud/handleUploads/file.add.d.ts +10 -0
  186. package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -0
  187. package/dist/js/crud/handleUploads/file.add.js +61 -0
  188. package/dist/js/crud/handleUploads/file.add.js.map +1 -0
  189. package/dist/js/crud/handleUploads/file.create.d.ts +10 -0
  190. package/dist/js/crud/handleUploads/file.create.d.ts.map +1 -0
  191. package/dist/js/crud/handleUploads/file.create.js +33 -0
  192. package/dist/js/crud/handleUploads/file.create.js.map +1 -0
  193. package/dist/js/crud/handleUploads/file.delete.d.ts +10 -0
  194. package/dist/js/crud/handleUploads/file.delete.d.ts.map +1 -0
  195. package/dist/js/crud/handleUploads/file.delete.js +35 -0
  196. package/dist/js/crud/handleUploads/file.delete.js.map +1 -0
  197. package/dist/js/crud/handleUploads/file.update.d.ts +10 -0
  198. package/dist/js/crud/handleUploads/file.update.d.ts.map +1 -0
  199. package/dist/js/crud/handleUploads/file.update.js +30 -0
  200. package/dist/js/crud/handleUploads/file.update.js.map +1 -0
  201. package/dist/js/crud/index.d.ts +5 -0
  202. package/dist/js/crud/index.d.ts.map +1 -0
  203. package/dist/js/crud/index.js +36 -0
  204. package/dist/js/crud/index.js.map +1 -0
  205. package/dist/js/crud/read.d.ts +10 -0
  206. package/dist/js/crud/read.d.ts.map +1 -0
  207. package/dist/js/crud/read.js +27 -0
  208. package/dist/js/crud/read.js.map +1 -0
  209. package/dist/js/crud/readAll.d.ts +10 -0
  210. package/dist/js/crud/readAll.d.ts.map +1 -0
  211. package/dist/js/crud/readAll.js +24 -0
  212. package/dist/js/crud/readAll.js.map +1 -0
  213. package/dist/js/crud/remove.d.ts +10 -0
  214. package/dist/js/crud/remove.d.ts.map +1 -0
  215. package/dist/js/crud/remove.js +28 -0
  216. package/dist/js/crud/remove.js.map +1 -0
  217. package/dist/js/crud/removeAll.d.ts +10 -0
  218. package/dist/js/crud/removeAll.d.ts.map +1 -0
  219. package/dist/js/crud/removeAll.js +37 -0
  220. package/dist/js/crud/removeAll.js.map +1 -0
  221. package/dist/js/crud/update.d.ts +10 -0
  222. package/dist/js/crud/update.d.ts.map +1 -0
  223. package/dist/js/crud/update.js +33 -0
  224. package/dist/js/crud/update.js.map +1 -0
  225. package/dist/js/crud/utils/authroizeAccess.d.ts +10 -0
  226. package/dist/js/crud/utils/authroizeAccess.d.ts.map +1 -0
  227. package/dist/js/crud/utils/authroizeAccess.js +48 -0
  228. package/dist/js/crud/utils/authroizeAccess.js.map +1 -0
  229. package/dist/js/crud/utils/getItem.d.ts +11 -0
  230. package/dist/js/crud/utils/getItem.d.ts.map +1 -0
  231. package/dist/js/crud/utils/getItem.js +68 -0
  232. package/dist/js/crud/utils/getItem.js.map +1 -0
  233. package/dist/js/crud/utils/getParam.d.ts +8 -0
  234. package/dist/js/crud/utils/getParam.d.ts.map +1 -0
  235. package/dist/js/crud/utils/getParam.js +19 -0
  236. package/dist/js/crud/utils/getParam.js.map +1 -0
  237. package/dist/js/crud/utils/validateOwner.d.ts +7 -0
  238. package/dist/js/crud/utils/validateOwner.d.ts.map +1 -0
  239. package/dist/js/crud/utils/validateOwner.js +5 -0
  240. package/dist/js/crud/utils/validateOwner.js.map +1 -0
  241. package/dist/js/health/bunch.health.d.ts +6 -0
  242. package/dist/js/health/bunch.health.d.ts.map +1 -0
  243. package/dist/js/health/bunch.health.js +6 -0
  244. package/dist/js/health/bunch.health.js.map +1 -0
  245. package/dist/js/health/delete.health.d.ts +4 -0
  246. package/dist/js/health/delete.health.d.ts.map +1 -0
  247. package/dist/js/health/delete.health.js +5 -0
  248. package/dist/js/health/delete.health.js.map +1 -0
  249. package/dist/js/health/get.health.d.ts +4 -0
  250. package/dist/js/health/get.health.d.ts.map +1 -0
  251. package/dist/js/health/get.health.js +5 -0
  252. package/dist/js/health/get.health.js.map +1 -0
  253. package/dist/js/health/health.collection.d.ts +4 -0
  254. package/dist/js/health/health.collection.d.ts.map +1 -0
  255. package/dist/js/health/health.collection.js +39 -0
  256. package/dist/js/health/health.collection.js.map +1 -0
  257. package/dist/js/health/health.controller.d.ts +4 -0
  258. package/dist/js/health/health.controller.d.ts.map +1 -0
  259. package/dist/js/health/health.controller.js +5 -0
  260. package/dist/js/health/health.controller.js.map +1 -0
  261. package/dist/js/health/index.d.ts +5 -0
  262. package/dist/js/health/index.d.ts.map +1 -0
  263. package/dist/js/health/index.js +10 -0
  264. package/dist/js/health/index.js.map +1 -0
  265. package/dist/js/health/patch.health.d.ts +4 -0
  266. package/dist/js/health/patch.health.d.ts.map +1 -0
  267. package/dist/js/health/patch.health.js +5 -0
  268. package/dist/js/health/patch.health.js.map +1 -0
  269. package/dist/js/health/post.health.d.ts +4 -0
  270. package/dist/js/health/post.health.d.ts.map +1 -0
  271. package/dist/js/health/post.health.js +5 -0
  272. package/dist/js/health/post.health.js.map +1 -0
  273. package/dist/js/health/put.health.d.ts +4 -0
  274. package/dist/js/health/put.health.d.ts.map +1 -0
  275. package/dist/js/health/put.health.js +5 -0
  276. package/dist/js/health/put.health.js.map +1 -0
  277. package/dist/js/index.d.ts +13 -0
  278. package/dist/js/index.d.ts.map +1 -0
  279. package/dist/js/index.js +21 -0
  280. package/dist/js/index.js.map +1 -0
  281. package/dist/js/lib/Mongoose.d.ts +53 -0
  282. package/dist/js/lib/Mongoose.d.ts.map +1 -0
  283. package/dist/js/lib/Mongoose.js +2 -0
  284. package/dist/js/lib/Mongoose.js.map +1 -0
  285. package/dist/js/lib/OA.d.ts +2 -0
  286. package/dist/js/lib/OA.d.ts.map +1 -0
  287. package/dist/js/lib/OA.js +2 -0
  288. package/dist/js/lib/OA.js.map +1 -0
  289. package/dist/js/lib/OAuthProviders.d.ts +3 -0
  290. package/dist/js/lib/OAuthProviders.d.ts.map +1 -0
  291. package/dist/js/lib/OAuthProviders.js +18 -0
  292. package/dist/js/lib/OAuthProviders.js.map +1 -0
  293. package/dist/js/lib/PROVIDERS.d.ts +2 -0
  294. package/dist/js/lib/PROVIDERS.d.ts.map +1 -0
  295. package/dist/js/lib/PROVIDERS.js +2 -0
  296. package/dist/js/lib/PROVIDERS.js.map +1 -0
  297. package/dist/js/lib/db.d.ts +8 -0
  298. package/dist/js/lib/db.d.ts.map +1 -0
  299. package/dist/js/lib/db.js +28 -0
  300. package/dist/js/lib/db.js.map +1 -0
  301. package/dist/js/lib/handler.d.ts +9 -0
  302. package/dist/js/lib/handler.d.ts.map +1 -0
  303. package/dist/js/lib/handler.js +11 -0
  304. package/dist/js/lib/handler.js.map +1 -0
  305. package/dist/js/lib/handlerMap.d.ts +3 -0
  306. package/dist/js/lib/handlerMap.d.ts.map +1 -0
  307. package/dist/js/lib/handlerMap.js +18 -0
  308. package/dist/js/lib/handlerMap.js.map +1 -0
  309. package/dist/js/lib/model.factory.d.ts +8 -0
  310. package/dist/js/lib/model.factory.d.ts.map +1 -0
  311. package/dist/js/lib/model.factory.js +49 -0
  312. package/dist/js/lib/model.factory.js.map +1 -0
  313. package/dist/js/lib/model.registry.d.ts +4 -0
  314. package/dist/js/lib/model.registry.d.ts.map +1 -0
  315. package/dist/js/lib/model.registry.js +4 -0
  316. package/dist/js/lib/model.registry.js.map +1 -0
  317. package/dist/js/lib/mongoose.fields.d.ts +40 -0
  318. package/dist/js/lib/mongoose.fields.d.ts.map +1 -0
  319. package/dist/js/lib/mongoose.fields.js +187 -0
  320. package/dist/js/lib/mongoose.fields.js.map +1 -0
  321. package/dist/js/lib/roles.d.ts +3 -0
  322. package/dist/js/lib/roles.d.ts.map +1 -0
  323. package/dist/js/lib/roles.js +13 -0
  324. package/dist/js/lib/roles.js.map +1 -0
  325. package/dist/js/lib/schema.builder.d.ts +6 -0
  326. package/dist/js/lib/schema.builder.d.ts.map +1 -0
  327. package/dist/js/lib/schema.builder.js +28 -0
  328. package/dist/js/lib/schema.builder.js.map +1 -0
  329. package/dist/js/lib/zod.fields.d.ts +119 -0
  330. package/dist/js/lib/zod.fields.d.ts.map +1 -0
  331. package/dist/js/lib/zod.fields.js +133 -0
  332. package/dist/js/lib/zod.fields.js.map +1 -0
  333. package/dist/js/middleware/auth.middleware.d.ts +5 -0
  334. package/dist/js/middleware/auth.middleware.d.ts.map +1 -0
  335. package/dist/js/middleware/auth.middleware.js +86 -0
  336. package/dist/js/middleware/auth.middleware.js.map +1 -0
  337. package/dist/js/middleware/error.middleware.d.ts +5 -0
  338. package/dist/js/middleware/error.middleware.d.ts.map +1 -0
  339. package/dist/js/middleware/error.middleware.js +25 -0
  340. package/dist/js/middleware/error.middleware.js.map +1 -0
  341. package/dist/js/middleware/multer.middleware.d.ts +5 -0
  342. package/dist/js/middleware/multer.middleware.d.ts.map +1 -0
  343. package/dist/js/middleware/multer.middleware.js +97 -0
  344. package/dist/js/middleware/multer.middleware.js.map +1 -0
  345. package/dist/js/middleware/rateLimit.middleware.d.ts +2 -0
  346. package/dist/js/middleware/rateLimit.middleware.d.ts.map +1 -0
  347. package/dist/js/middleware/rateLimit.middleware.js +19 -0
  348. package/dist/js/middleware/rateLimit.middleware.js.map +1 -0
  349. package/dist/js/realtime/index.d.ts +4 -0
  350. package/dist/js/realtime/index.d.ts.map +1 -0
  351. package/dist/js/realtime/index.js +5 -0
  352. package/dist/js/realtime/index.js.map +1 -0
  353. package/dist/js/types/Collection.d.ts +41 -0
  354. package/dist/js/types/Collection.d.ts.map +1 -0
  355. package/dist/js/types/Collection.js +2 -0
  356. package/dist/js/types/Collection.js.map +1 -0
  357. package/dist/js/types/Constructor.d.ts +30 -0
  358. package/dist/js/types/Constructor.d.ts.map +1 -0
  359. package/dist/js/types/Constructor.js +2 -0
  360. package/dist/js/types/Constructor.js.map +1 -0
  361. package/dist/js/types/MongooseOTPSchemaObj.d.ts +10 -0
  362. package/dist/js/types/MongooseOTPSchemaObj.d.ts.map +1 -0
  363. package/dist/js/types/MongooseOTPSchemaObj.js +2 -0
  364. package/dist/js/types/MongooseOTPSchemaObj.js.map +1 -0
  365. package/dist/js/types/Routepath.d.ts +2 -0
  366. package/dist/js/types/Routepath.d.ts.map +1 -0
  367. package/dist/js/types/Routepath.js +2 -0
  368. package/dist/js/types/Routepath.js.map +1 -0
  369. package/dist/js/types/StoreFile.d.ts +10 -0
  370. package/dist/js/types/StoreFile.d.ts.map +1 -0
  371. package/dist/js/types/StoreFile.js +2 -0
  372. package/dist/js/types/StoreFile.js.map +1 -0
  373. package/dist/js/types/ValidationsObj.d.ts +7 -0
  374. package/dist/js/types/ValidationsObj.d.ts.map +1 -0
  375. package/dist/js/types/ValidationsObj.js +2 -0
  376. package/dist/js/types/ValidationsObj.js.map +1 -0
  377. package/dist/js/types/authHandlers.d.ts +2 -0
  378. package/dist/js/types/authHandlers.d.ts.map +1 -0
  379. package/dist/js/types/authHandlers.js +2 -0
  380. package/dist/js/types/authHandlers.js.map +1 -0
  381. package/dist/js/types/crudHandlers.d.ts +2 -0
  382. package/dist/js/types/crudHandlers.d.ts.map +1 -0
  383. package/dist/js/types/crudHandlers.js +2 -0
  384. package/dist/js/types/crudHandlers.js.map +1 -0
  385. package/dist/js/types/email.d.ts +12 -0
  386. package/dist/js/types/email.d.ts.map +1 -0
  387. package/dist/js/types/email.js +2 -0
  388. package/dist/js/types/email.js.map +1 -0
  389. package/dist/js/types/healthHandlers.d.ts +2 -0
  390. package/dist/js/types/healthHandlers.d.ts.map +1 -0
  391. package/dist/js/types/healthHandlers.js +2 -0
  392. package/dist/js/types/healthHandlers.js.map +1 -0
  393. package/dist/js/types/upload.d.ts +9 -0
  394. package/dist/js/types/upload.d.ts.map +1 -0
  395. package/dist/js/types/upload.js +2 -0
  396. package/dist/js/types/upload.js.map +1 -0
  397. package/dist/js/types/uploadFile.d.ts +10 -0
  398. package/dist/js/types/uploadFile.d.ts.map +1 -0
  399. package/dist/js/types/uploadFile.js +2 -0
  400. package/dist/js/types/uploadFile.js.map +1 -0
  401. package/dist/js/types/uploadHandlers.d.ts +2 -0
  402. package/dist/js/types/uploadHandlers.d.ts.map +1 -0
  403. package/dist/js/types/uploadHandlers.js +2 -0
  404. package/dist/js/types/uploadHandlers.js.map +1 -0
  405. package/dist/js/upload/create.d.ts +8 -0
  406. package/dist/js/upload/create.d.ts.map +1 -0
  407. package/dist/js/upload/create.js +71 -0
  408. package/dist/js/upload/create.js.map +1 -0
  409. package/dist/js/upload/delete.d.ts +8 -0
  410. package/dist/js/upload/delete.d.ts.map +1 -0
  411. package/dist/js/upload/delete.js +107 -0
  412. package/dist/js/upload/delete.js.map +1 -0
  413. package/dist/js/upload/index.d.ts +3 -0
  414. package/dist/js/upload/index.d.ts.map +1 -0
  415. package/dist/js/upload/index.js +3 -0
  416. package/dist/js/upload/index.js.map +1 -0
  417. package/dist/js/upload/providers/cloudinary.provider.d.ts +2 -0
  418. package/dist/js/upload/providers/cloudinary.provider.d.ts.map +1 -0
  419. package/dist/js/upload/providers/cloudinary.provider.js +2 -0
  420. package/dist/js/upload/providers/cloudinary.provider.js.map +1 -0
  421. package/dist/js/upload/update.d.ts +10 -0
  422. package/dist/js/upload/update.d.ts.map +1 -0
  423. package/dist/js/upload/update.js +144 -0
  424. package/dist/js/upload/update.js.map +1 -0
  425. package/dist/js/utils/AppError.d.ts +26 -0
  426. package/dist/js/utils/AppError.d.ts.map +1 -0
  427. package/dist/js/utils/AppError.js +18 -0
  428. package/dist/js/utils/AppError.js.map +1 -0
  429. package/dist/js/utils/AppLog.d.ts +10 -0
  430. package/dist/js/utils/AppLog.d.ts.map +1 -0
  431. package/dist/js/utils/AppLog.js +12 -0
  432. package/dist/js/utils/AppLog.js.map +1 -0
  433. package/dist/js/utils/Applog.d.ts +2 -0
  434. package/dist/js/utils/Applog.d.ts.map +1 -0
  435. package/dist/js/utils/Applog.js +2 -0
  436. package/dist/js/utils/Applog.js.map +1 -0
  437. package/dist/js/utils/AsyncHandler.d.ts +4 -0
  438. package/dist/js/utils/AsyncHandler.d.ts.map +1 -0
  439. package/dist/js/utils/AsyncHandler.js +5 -0
  440. package/dist/js/utils/AsyncHandler.js.map +1 -0
  441. package/dist/js/utils/extractParamsNames.d.ts +2 -0
  442. package/dist/js/utils/extractParamsNames.d.ts.map +1 -0
  443. package/dist/js/utils/extractParamsNames.js +13 -0
  444. package/dist/js/utils/extractParamsNames.js.map +1 -0
  445. package/dist/js/utils/getErrorDetail.d.ts +8 -0
  446. package/dist/js/utils/getErrorDetail.d.ts.map +1 -0
  447. package/dist/js/utils/getErrorDetail.js +9 -0
  448. package/dist/js/utils/getErrorDetail.js.map +1 -0
  449. package/dist/js/utils/getModel.d.ts +8 -0
  450. package/dist/js/utils/getModel.d.ts.map +1 -0
  451. package/dist/js/utils/getModel.js +27 -0
  452. package/dist/js/utils/getModel.js.map +1 -0
  453. package/dist/js/utils/handleJWT.d.ts +11 -0
  454. package/dist/js/utils/handleJWT.d.ts.map +1 -0
  455. package/dist/js/utils/handleJWT.js +89 -0
  456. package/dist/js/utils/handleJWT.js.map +1 -0
  457. package/dist/js/utils/libsodium.d.ts +15 -0
  458. package/dist/js/utils/libsodium.d.ts.map +1 -0
  459. package/dist/js/utils/libsodium.js +185 -0
  460. package/dist/js/utils/libsodium.js.map +1 -0
  461. package/dist/js/utils/otpPurposes.d.ts +3 -0
  462. package/dist/js/utils/otpPurposes.d.ts.map +1 -0
  463. package/dist/js/utils/otpPurposes.js +38 -0
  464. package/dist/js/utils/otpPurposes.js.map +1 -0
  465. package/dist/js/utils/response.d.ts +10 -0
  466. package/dist/js/utils/response.d.ts.map +1 -0
  467. package/dist/js/utils/response.js +9 -0
  468. package/dist/js/utils/response.js.map +1 -0
  469. package/dist/js/utils/sanitize.d.ts +3 -0
  470. package/dist/js/utils/sanitize.d.ts.map +1 -0
  471. package/dist/js/utils/sanitize.js +13 -0
  472. package/dist/js/utils/sanitize.js.map +1 -0
  473. package/dist/js/utils/validate.d.ts +4 -0
  474. package/dist/js/utils/validate.d.ts.map +1 -0
  475. package/dist/js/utils/validate.js +59 -0
  476. package/dist/js/utils/validate.js.map +1 -0
  477. package/dist/js/utils/validationKeyError.d.ts +4 -0
  478. package/dist/js/utils/validationKeyError.d.ts.map +1 -0
  479. package/dist/js/utils/validationKeyError.js +38 -0
  480. package/dist/js/utils/validationKeyError.js.map +1 -0
  481. package/dist/js/validations.d.ts +3 -0
  482. package/dist/js/validations.d.ts.map +1 -0
  483. package/dist/js/validations.js +6 -0
  484. package/dist/js/validations.js.map +1 -0
  485. package/package.json +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,kCAIf;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd,gFAwBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import registerModel from "../lib/model.registry.js";
2
+ import AppError from "./AppError.js";
3
+ import getErrorDetail from "./getErrorDetail.js";
4
+ const getModel = ({ modelName, routeName, route, }) => {
5
+ if (!modelName) {
6
+ throw new AppError({
7
+ message: `Model name is required for route '${routeName}'`,
8
+ statusCode: 500,
9
+ code: "MODEL_NAME_REQUIRED",
10
+ hint: "Provide a valid modelName when configuring the collection.",
11
+ details: getErrorDetail(route),
12
+ });
13
+ }
14
+ const Model = registerModel[modelName];
15
+ if (!Model) {
16
+ throw new AppError({
17
+ message: `Model '${modelName}' is not registered`,
18
+ statusCode: 500,
19
+ code: "MODEL_NOT_REGISTERED",
20
+ hint: "Register the model before using it in a collection.",
21
+ details: getErrorDetail(route),
22
+ });
23
+ }
24
+ return Model;
25
+ };
26
+ export default getModel;
27
+ //# sourceMappingURL=getModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getModel.js","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,KAAK,GAKN,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,qCAAqC,SAAS,GAAG;YAC1D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,4DAA4D;YAClE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,UAAU,SAAS,qBAAqB;YACjD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,qDAAqD;YAC3D,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type JwtPayload } from "jsonwebtoken";
2
+ import type { Route } from "../types/Collection.js";
3
+ export declare const signJWT: ({ payload, route, }: {
4
+ payload: string | object | Buffer;
5
+ route: Route;
6
+ }) => string;
7
+ export declare const verifyJWT: ({ token, route, }: {
8
+ token: string;
9
+ route: Route;
10
+ }) => string | JwtPayload;
11
+ //# sourceMappingURL=handleJWT.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleJWT.d.ts","sourceRoot":"","sources":["../../../src/js/utils/handleJWT.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,OAAO,GAAI,qBAGrB;IACD,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd,KAAG,MAkDH,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,mBAGvB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CACd,KAAG,MAAM,GAAG,UAsCZ,CAAC"}
@@ -0,0 +1,89 @@
1
+ import jwt, {} from "jsonwebtoken";
2
+ import AppError from "./AppError.js";
3
+ import getDuration from "../config/duration.js";
4
+ import { getEnvs } from "../config/envs.js";
5
+ import getErrorDetail from "./getErrorDetail.js";
6
+ export const signJWT = ({ payload, route, }) => {
7
+ try {
8
+ if (!payload) {
9
+ throw new AppError({
10
+ message: "Payload is required to sign a JWT",
11
+ statusCode: 400,
12
+ code: "JWT_SIGN_ERROR",
13
+ hint: "Provide a valid payload for JWT generation.",
14
+ details: getErrorDetail(route),
15
+ });
16
+ }
17
+ const { jwtSecret, tokenExpiry } = getEnvs();
18
+ if (!jwtSecret) {
19
+ throw new AppError({
20
+ message: "JWT secret is required",
21
+ statusCode: 500,
22
+ code: "JWT_SIGN_ERROR",
23
+ hint: "Configure 'jwtSecret' in your environment variables.",
24
+ details: getErrorDetail(route),
25
+ });
26
+ }
27
+ if (!tokenExpiry) {
28
+ throw new AppError({
29
+ message: "Token expiry is required",
30
+ statusCode: 500,
31
+ code: "JWT_SIGN_ERROR",
32
+ hint: "Configure 'tokenExpiry' in your environment variables.",
33
+ details: getErrorDetail(route),
34
+ });
35
+ }
36
+ return jwt.sign(payload, jwtSecret, {
37
+ expiresIn: Math.floor(getDuration(tokenExpiry, route) / 1000),
38
+ });
39
+ }
40
+ catch (error) {
41
+ if (error instanceof AppError)
42
+ throw error;
43
+ console.error(error);
44
+ throw new AppError({
45
+ message: "Failed to sign JWT",
46
+ statusCode: 500,
47
+ code: "JWT_SIGN_ERROR",
48
+ hint: "This issue requires a fix from the framework developer.",
49
+ details: getErrorDetail(route),
50
+ });
51
+ }
52
+ };
53
+ export const verifyJWT = ({ token, route, }) => {
54
+ try {
55
+ if (!token) {
56
+ throw new AppError({
57
+ message: "JWT token is required",
58
+ statusCode: 400,
59
+ code: "JWT_VERIFY_ERROR",
60
+ hint: "Provide a valid JWT for verification.",
61
+ details: getErrorDetail(route),
62
+ });
63
+ }
64
+ const { jwtSecret } = getEnvs();
65
+ if (!jwtSecret) {
66
+ throw new AppError({
67
+ message: "JWT secret is required",
68
+ statusCode: 500,
69
+ code: "JWT_VERIFY_ERROR",
70
+ hint: "Configure 'jwtSecret' in your environment variables.",
71
+ details: getErrorDetail(route),
72
+ });
73
+ }
74
+ return jwt.verify(token, jwtSecret);
75
+ }
76
+ catch (error) {
77
+ if (error instanceof AppError)
78
+ throw error;
79
+ console.error(error);
80
+ throw new AppError({
81
+ message: "Invalid or expired JWT",
82
+ statusCode: 401,
83
+ code: "JWT_VERIFY_ERROR",
84
+ hint: "Ensure the token is valid, has not expired, and was signed using the correct secret.",
85
+ details: getErrorDetail(route),
86
+ });
87
+ }
88
+ };
89
+ //# sourceMappingURL=handleJWT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleJWT.js","sourceRoot":"","sources":["../../../src/js/utils/handleJWT.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Route } from "../types/Collection.js";
2
+ interface SealResult {
3
+ str: string;
4
+ nonce: string;
5
+ publicKey: string;
6
+ securedPrivateKey: string;
7
+ }
8
+ export declare const hash: (str: string, route: Route) => Promise<string>;
9
+ export declare const verifyHash: (password: string, storedHash: string, route: Route) => Promise<boolean>;
10
+ export declare const generateMasterKey: () => Promise<string>;
11
+ export declare const generateJWTSecret: () => Promise<string>;
12
+ export declare const seal: (input: string, masterKey: string, route: Route) => Promise<SealResult>;
13
+ export declare const unSeal: (str: string, nonce: string, publicKey: string, securedPrivateKey: string, masterKey: string, route: Route) => Promise<string>;
14
+ export {};
15
+ //# sourceMappingURL=libsodium.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libsodium.d.ts","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAGD,eAAO,MAAM,IAAI,GAAU,KAAK,MAAM,EAAE,OAAO,KAAK,KAAG,OAAO,CAAC,MAAM,CAyBpE,CAAC;AAGF,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,EAChB,YAAY,MAAM,EAClB,OAAO,KAAK,KACX,OAAO,CAAC,OAAO,CAgDjB,CAAC;AAGF,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,MAAM,CASxD,CAAC;AAGF,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,MAAM,CAYxD,CAAC;AAGF,eAAO,MAAM,IAAI,GACf,OAAO,MAAM,EACb,WAAW,MAAM,EACjB,OAAO,KAAK,KACX,OAAO,CAAC,UAAU,CA6DpB,CAAC;AAGF,eAAO,MAAM,MAAM,GACjB,KAAK,MAAM,EACX,OAAO,MAAM,EACb,WAAW,MAAM,EACjB,mBAAmB,MAAM,EACzB,WAAW,MAAM,EACjB,OAAO,KAAK,KACX,OAAO,CAAC,MAAM,CA0FhB,CAAC"}
@@ -0,0 +1,185 @@
1
+ import sodium from "libsodium-wrappers-sumo";
2
+ import AppError from "./AppError.js";
3
+ import getErrorDetail from "./getErrorDetail.js";
4
+ export const hash = async (str, route) => {
5
+ if (!str) {
6
+ throw new AppError({
7
+ message: "string is required to hash",
8
+ statusCode: 404,
9
+ code: "LIBSODIUM_HASH_ERROR",
10
+ hint: "This issue requires a fix from the framework developer.",
11
+ details: getErrorDetail(route),
12
+ });
13
+ }
14
+ await sodium.ready;
15
+ const salt = sodium.randombytes_buf(sodium.crypto_pwhash_SALTBYTES);
16
+ const hashStr = sodium.crypto_pwhash(32, str, salt, sodium.crypto_pwhash_OPSLIMIT_INTERACTIVE, sodium.crypto_pwhash_MEMLIMIT_INTERACTIVE, sodium.crypto_pwhash_ALG_DEFAULT);
17
+ return `${sodium.to_base64(salt)}:${sodium.to_base64(hashStr)}`;
18
+ };
19
+ export const verifyHash = async (password, storedHash, route) => {
20
+ if (!password) {
21
+ throw new AppError({
22
+ message: "string is required to verify",
23
+ statusCode: 404,
24
+ code: "LIBSODIUM_HASH_ERROR",
25
+ hint: "This issue requires a fix from the framework developer.",
26
+ details: getErrorDetail(route),
27
+ });
28
+ }
29
+ if (!storedHash) {
30
+ throw new AppError({
31
+ message: "storedHash is required to verify",
32
+ statusCode: 404,
33
+ code: "LIBSODIUM_HASH_ERROR",
34
+ hint: "This issue requires a fix from the framework developer.",
35
+ details: getErrorDetail(route),
36
+ });
37
+ }
38
+ await sodium.ready;
39
+ const [saltB64, hashB64] = storedHash.split(":");
40
+ if (!saltB64 || !hashB64) {
41
+ throw new AppError({
42
+ message: "Invalid stored has format",
43
+ statusCode: 404,
44
+ code: "LIBSODIUM_HASH_ERROR",
45
+ hint: "This issue requires a fix from the framework developer.",
46
+ details: getErrorDetail(route),
47
+ });
48
+ }
49
+ const salt = sodium.from_base64(saltB64);
50
+ const originalHash = sodium.from_base64(hashB64);
51
+ const testHash = sodium.crypto_pwhash(32, password, salt, sodium.crypto_pwhash_OPSLIMIT_INTERACTIVE, sodium.crypto_pwhash_MEMLIMIT_INTERACTIVE, sodium.crypto_pwhash_ALG_DEFAULT);
52
+ return sodium.memcmp(originalHash, testHash);
53
+ };
54
+ export const generateMasterKey = async () => {
55
+ await sodium.ready;
56
+ const key = sodium.crypto_secretbox_keygen();
57
+ const base64Key = sodium.to_base64(key, sodium.base64_variants.ORIGINAL);
58
+ console.log(base64Key);
59
+ return base64Key;
60
+ };
61
+ export const generateJWTSecret = async () => {
62
+ await sodium.ready;
63
+ const secret = sodium.randombytes_buf(64);
64
+ const base64Secret = sodium.to_base64(secret, sodium.base64_variants.ORIGINAL);
65
+ console.log(base64Secret);
66
+ return base64Secret;
67
+ };
68
+ export const seal = async (input, masterKey, route) => {
69
+ try {
70
+ if (!input) {
71
+ throw new AppError({
72
+ message: "string is required to encrypt",
73
+ statusCode: 404,
74
+ code: "LIBSODIUM_HASH_ERROR",
75
+ hint: "Provide a string to encrypt it.",
76
+ details: getErrorDetail(route),
77
+ });
78
+ }
79
+ if (!masterKey) {
80
+ throw new AppError({
81
+ message: "Master key is required for encryption",
82
+ statusCode: 404,
83
+ code: "LIBSODIUM_HASH_ERROR",
84
+ hint: "Provide masterkey in StarkForge({}) - initializing class",
85
+ details: getErrorDetail(route),
86
+ });
87
+ }
88
+ await sodium.ready;
89
+ const keyPair = sodium.crypto_box_keypair();
90
+ const strBytes = sodium.from_string(input);
91
+ const encrypted = sodium.crypto_box_seal(strBytes, keyPair.publicKey);
92
+ const masterKeyBytes = sodium.from_base64(masterKey, sodium.base64_variants.ORIGINAL);
93
+ const nonce = sodium.randombytes_buf(sodium.crypto_secretbox_NONCEBYTES);
94
+ const encryptedPrivateKey = sodium.crypto_secretbox_easy(keyPair.privateKey, nonce, masterKeyBytes);
95
+ return {
96
+ str: sodium.to_base64(encrypted),
97
+ nonce: sodium.to_base64(nonce),
98
+ publicKey: sodium.to_base64(keyPair.publicKey),
99
+ securedPrivateKey: sodium.to_base64(encryptedPrivateKey),
100
+ };
101
+ }
102
+ catch (error) {
103
+ if (error instanceof AppError)
104
+ throw error;
105
+ console.error(error);
106
+ throw new AppError({
107
+ message: "Error while encrypting",
108
+ statusCode: 404,
109
+ code: "LIBSODIUM_HASH_ERROR",
110
+ hint: "This issue requires a fix from the framework developer.",
111
+ details: getErrorDetail(route),
112
+ });
113
+ }
114
+ };
115
+ export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey, route) => {
116
+ try {
117
+ if (!str) {
118
+ throw new AppError({
119
+ message: "Encrypted string is required for decryption",
120
+ statusCode: 400,
121
+ code: "LIBSODIUM_DECRYPT_ERROR",
122
+ hint: "Provide the encrypted string returned by seal().",
123
+ details: getErrorDetail(route),
124
+ });
125
+ }
126
+ if (!nonce) {
127
+ throw new AppError({
128
+ message: "Nonce is required for decryption",
129
+ statusCode: 400,
130
+ code: "LIBSODIUM_DECRYPT_ERROR",
131
+ hint: "Provide the nonce returned by seal().",
132
+ details: getErrorDetail(route),
133
+ });
134
+ }
135
+ if (!publicKey) {
136
+ throw new AppError({
137
+ message: "Public key is required for decryption",
138
+ statusCode: 400,
139
+ code: "LIBSODIUM_DECRYPT_ERROR",
140
+ hint: "Provide the public key returned by seal().",
141
+ details: getErrorDetail(route),
142
+ });
143
+ }
144
+ if (!securedPrivateKey) {
145
+ throw new AppError({
146
+ message: "Secured private key is required for decryption",
147
+ statusCode: 400,
148
+ code: "LIBSODIUM_DECRYPT_ERROR",
149
+ hint: "Provide the secured private key returned by seal().",
150
+ details: getErrorDetail(route),
151
+ });
152
+ }
153
+ if (!masterKey) {
154
+ throw new AppError({
155
+ message: "Master key is required for decryption",
156
+ statusCode: 400,
157
+ code: "LIBSODIUM_DECRYPT_ERROR",
158
+ hint: "Provide the master key used during encryption.",
159
+ details: getErrorDetail(route),
160
+ });
161
+ }
162
+ await sodium.ready;
163
+ const masterKeyBytes = sodium.from_base64(masterKey, sodium.base64_variants.ORIGINAL);
164
+ const nonceBytes = sodium.from_base64(nonce);
165
+ const securedPrivateKeyBytes = sodium.from_base64(securedPrivateKey);
166
+ const publicKeyBytes = sodium.from_base64(publicKey);
167
+ const encryptedBytes = sodium.from_base64(str);
168
+ const privateKey = sodium.crypto_secretbox_open_easy(securedPrivateKeyBytes, nonceBytes, masterKeyBytes);
169
+ const decrypted = sodium.crypto_box_seal_open(encryptedBytes, publicKeyBytes, privateKey);
170
+ return sodium.to_string(decrypted);
171
+ }
172
+ catch (error) {
173
+ if (error instanceof AppError)
174
+ throw error;
175
+ console.error(error);
176
+ throw new AppError({
177
+ message: "Error while decrypting",
178
+ statusCode: 500,
179
+ code: "LIBSODIUM_DECRYPT_ERROR",
180
+ hint: "This issue requires a fix from the framework developer.",
181
+ details: getErrorDetail(route),
182
+ });
183
+ }
184
+ };
185
+ //# sourceMappingURL=libsodium.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const otpPurposes: string[];
2
+ export default otpPurposes;
3
+ //# sourceMappingURL=otpPurposes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otpPurposes.d.ts","sourceRoot":"","sources":["../../../src/js/utils/otpPurposes.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,WAAW,EAAE,MAAM,EAgDxB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,38 @@
1
+ const otpPurposes = [
2
+ "login",
3
+ "signup",
4
+ "password_reset",
5
+ "email_verification",
6
+ "phone_verification",
7
+ "two_factor_auth",
8
+ "change_password",
9
+ "change_email",
10
+ "change_phone",
11
+ "new_device_login",
12
+ "verify_device",
13
+ "verify_session",
14
+ "confirm_action",
15
+ "sensitive_action",
16
+ "identity_verification",
17
+ "account_recovery",
18
+ "account_unlock",
19
+ "update_profile",
20
+ "authorize_device",
21
+ "verify_contact",
22
+ "magic_link_login",
23
+ "enable_two_factor_auth",
24
+ "disable_two_factor_auth",
25
+ "payment_verification",
26
+ "transaction_verification",
27
+ "bank_account_verification",
28
+ "withdrawal_verification",
29
+ "organization_invite",
30
+ "invite_acceptance",
31
+ "transfer_ownership",
32
+ "oauth_link",
33
+ "oauth_unlink",
34
+ "api_key_verification",
35
+ "delete_account",
36
+ ];
37
+ export default otpPurposes;
38
+ //# sourceMappingURL=otpPurposes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otpPurposes.js","sourceRoot":"","sources":["../../../src/js/utils/otpPurposes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAa;IAE5B,OAAO;IACP,QAAQ;IACR,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,iBAAiB;IAGjB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,kBAAkB;IAClB,uBAAuB;IACvB,kBAAkB;IAClB,gBAAgB;IAGhB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IAGzB,sBAAsB;IACtB,0BAA0B;IAC1B,2BAA2B;IAC3B,yBAAyB;IAGzB,qBAAqB;IACrB,mBAAmB;IACnB,oBAAoB;IAGpB,YAAY;IACZ,cAAc;IACd,sBAAsB;IAGtB,gBAAgB;CACjB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Response } from "express";
2
+ export interface AppResponse {
3
+ res: Response;
4
+ data?: unknown;
5
+ message: string;
6
+ statusCode?: number;
7
+ }
8
+ declare const appResponse: ({ res, data, message, statusCode, }: AppResponse) => void;
9
+ export default appResponse;
10
+ //# sourceMappingURL=response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../src/js/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,WAAW,GAAI,qCAKlB,WAAW,KAAG,IAMhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ const appResponse = ({ res, data = undefined, message, statusCode = 200, }) => {
2
+ res.status(statusCode).json({
3
+ success: true,
4
+ data,
5
+ message,
6
+ });
7
+ };
8
+ export default appResponse;
9
+ //# sourceMappingURL=response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/js/utils/response.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,GAAG,CAAC,EACnB,GAAG,EACH,IAAI,GAAG,SAAS,EAChB,OAAO,EACP,UAAU,GAAG,GAAG,GACJ,EAAQ,EAAE;IACtB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAC1B,OAAO,EAAE,IAAI;QACb,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const sanitizeOne: (item: any) => any;
2
+ export declare const sanitizeMany: (items: any) => any[];
3
+ //# sourceMappingURL=sanitize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,QAGpC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,UAStC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const sanitizeOne = (item) => {
2
+ const { password, createdAt, updatedAt, __v, ...clean } = item;
3
+ return clean;
4
+ };
5
+ export const sanitizeMany = (items) => {
6
+ let cleaned = [];
7
+ items.map((el) => {
8
+ const { password, createdAt, updatedAt, __v, ...clean } = el.toObject();
9
+ cleaned.push(clean);
10
+ });
11
+ return cleaned;
12
+ };
13
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,EAAE;IACvC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE;IACzC,IAAI,OAAO,GAAU,EAAE,CAAC;IAExB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;QACpB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Route } from "../types/Collection.js";
2
+ declare const validate: (validationSchema: any, body: any, route: Route) => Record<string, unknown>;
3
+ export default validate;
4
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/js/utils/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,kBAAkB,GAAG,EAAE,MAAM,GAAG,EAAE,OAAO,KAAK,4BAmE/D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,59 @@
1
+ import AppError from "./AppError.js";
2
+ import z from "zod";
3
+ import { closest, distance } from "fastest-levenshtein";
4
+ import getErrorDetail from "./getErrorDetail.js";
5
+ const validate = (validationSchema, body, route) => {
6
+ if (!validationSchema)
7
+ throw new AppError({
8
+ message: "validationSchema is required to validate",
9
+ statusCode: 409,
10
+ code: "VALIDATION_SCHEMA_REQUIRED",
11
+ details: getErrorDetail(route),
12
+ hint: "Provide validation in validationsObj. Use same name as key as provided in route configuration",
13
+ });
14
+ if (!body)
15
+ throw new AppError({
16
+ message: "body is required to validate",
17
+ statusCode: 409,
18
+ code: "BODY_MISSING",
19
+ details: getErrorDetail(route),
20
+ hint: "Provide body (Data from frontend or postman etc.)",
21
+ });
22
+ const zodBodyObj = z.object(validationSchema);
23
+ const isValid = zodBodyObj.safeParse(body);
24
+ if (!isValid.success) {
25
+ const issue = isValid.error.issues?.[0];
26
+ const field = issue?.path?.reduce((acc, part) => {
27
+ if (typeof part === "number")
28
+ return `${acc}[${part}]`;
29
+ return acc ? `${acc}.${String(part)}` : String(part);
30
+ }, "") || "body";
31
+ let message = issue?.message ?? "Invalid input";
32
+ if (issue?.code === "invalid_value" && "values" in issue) {
33
+ const values = issue.values.map(String);
34
+ const invalidValue = issue.path.reduce((obj, key) => obj?.[key], body);
35
+ if (typeof invalidValue === "string") {
36
+ const nearest = closest(invalidValue, values);
37
+ if (distance(invalidValue, nearest) <= 3) {
38
+ message = `Invalid value ${invalidValue}. Did you mean ${nearest}?`;
39
+ }
40
+ else {
41
+ message = `Expected one of: ${values.join(" | ")}`;
42
+ }
43
+ }
44
+ else {
45
+ message = `Expected one of: ${values.join(" | ")}`;
46
+ }
47
+ }
48
+ throw new AppError({
49
+ message: `${field}: ${message}`,
50
+ statusCode: 409,
51
+ code: "VALIDATION_FAILED",
52
+ details: getErrorDetail(route),
53
+ hint: "Check the keys you provided in collection -> valdiationsObj -> validationSchema. It should be similar to body -> item key"
54
+ });
55
+ }
56
+ return isValid.data;
57
+ };
58
+ export default validate;
59
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/js/utils/validate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,gBAAqB,EAAE,IAAS,EAAE,KAAY,EAAE,EAAE;IAClE,IAAI,CAAC,gBAAgB;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,0CAA0C;YACnD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,+FAA+F;SACtG,CAAC,CAAC;IAEL,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,8BAA8B;YACvC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,mDAAmD;SAC1D,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,KAAK,GACT,KAAK,EAAE,IAAI,EAAE,MAAM,CAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACxC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC;YACvD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;QAEnB,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;QAGhD,IAAI,KAAK,EAAE,IAAI,KAAK,eAAe,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAGxC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EACxB,IAAI,CACL,CAAC;YAEF,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAE9C,IAAI,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,OAAO,GAAG,iBAAiB,YAAY,kBAAkB,OAAO,GAAG,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,GAAG,KAAK,KAAK,OAAO,EAAE;YAC/B,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,2HAA2H;SAClI,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Route, ValidationsObj } from "../types/Collection.ts";
2
+ declare const getValidationKey: (route: Route, validationsObj: ValidationsObj) => import("../lib/zod.fields.js").ZodValidation | undefined;
3
+ export default getValidationKey;
4
+ //# sourceMappingURL=validationKeyError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationKeyError.d.ts","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,gBAAgB,GAAI,OAAO,KAAK,EAAE,gBAAgB,cAAc,6DA0CrE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import AppError from "./AppError.js";
2
+ import getErrorDetail from "./getErrorDetail.js";
3
+ const getValidationKey = (route, validationsObj) => {
4
+ const key = route.validationKey;
5
+ if (typeof key === "boolean")
6
+ if (key) {
7
+ throw new AppError({
8
+ message: "validationKey as boolean can only be 'false'",
9
+ statusCode: 400,
10
+ hint: "Make it false without ('', \"\" or ``)",
11
+ code: "ROUTE_VALIDATION_KEY_INVALID",
12
+ details: getErrorDetail(route),
13
+ });
14
+ }
15
+ else {
16
+ return;
17
+ }
18
+ if (key == null)
19
+ throw new AppError({
20
+ message: "validationKey is required",
21
+ statusCode: 400,
22
+ code: "ROUTE_VALIDATION_KEY_REQUIRED",
23
+ hint: "Provide it or make it false if this route doesn't need validation",
24
+ details: getErrorDetail(route),
25
+ });
26
+ const validateObject = validationsObj[key];
27
+ if (!validateObject)
28
+ throw new AppError({
29
+ message: `validationKey: '${key}' is missing in validationsObj`,
30
+ statusCode: 400,
31
+ code: "VALIDATION_REQUIRED_FIELD_MISSING",
32
+ hint: `In validationsObj, use the '${key}' as key for validation`,
33
+ details: getErrorDetail(route),
34
+ });
35
+ return validateObject;
36
+ };
37
+ export default getValidationKey;
38
+ //# sourceMappingURL=validationKeyError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationKeyError.js","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,cAA8B,EAAE,EAAE;IACxE,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC;IAGhC,IAAI,OAAO,GAAG,KAAK,SAAS;QAC1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,8CAA8C;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,wCAAwC;gBAC9C,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO;QACT,CAAC;IAGH,IAAI,GAAG,IAAI,IAAI;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,mEAAmE;YACzE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;IAGL,MAAM,cAAc,GAAG,cAAc,CAAC,GAAa,CAAC,CAAC;IAGrD,IAAI,CAAC,cAAc;QACjB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mBAAmB,GAAG,gCAAgC;YAC/D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,mCAAmC;YACzC,IAAI,EAAE,+BAA+B,GAAG,yBAAyB;YACjE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;IAGL,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const validation: <T>(data: T) => T;
2
+ export default validation;
3
+ //# sourceMappingURL=validations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/js/validations.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,UAAU,GAAI,CAAC,EAAE,MAAM,CAAC,KAAG,CAGhC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ const validation = (data) => {
2
+ console.log(data);
3
+ return data;
4
+ };
5
+ export default validation;
6
+ //# sourceMappingURL=validations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../src/js/validations.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAI,IAAO,EAAK,EAAE;IACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}