apeframework 0.0.0-dev.2 → 0.0.0-dev.20

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 (545) hide show
  1. package/README.md +4 -46
  2. package/cipher/Algorithm.d.ts +6 -0
  3. package/cipher/Algorithm.js +9 -0
  4. package/cipher/Algorithm.ts +9 -0
  5. package/cipher/Cipher.d.ts +12 -0
  6. package/cipher/Cipher.js +38 -0
  7. package/cipher/Cipher.ts +46 -0
  8. package/cipher/errors/DecryptError.d.ts +5 -0
  9. package/cipher/errors/DecryptError.js +10 -0
  10. package/cipher/errors/DecryptError.ts +11 -0
  11. package/cipher/errors/SecretLengthError.d.ts +5 -0
  12. package/cipher/errors/SecretLengthError.js +10 -0
  13. package/cipher/errors/SecretLengthError.ts +11 -0
  14. package/cipher/validateSecretLength.d.ts +3 -0
  15. package/cipher/validateSecretLength.js +16 -0
  16. package/cipher/validateSecretLength.ts +18 -0
  17. package/cli/Args.d.ts +5 -0
  18. package/cli/Args.ts +8 -0
  19. package/cli/Command.d.ts +3 -0
  20. package/cli/Command.ts +7 -0
  21. package/cli/getArgs.d.ts +3 -0
  22. package/cli/getArgs.js +8 -0
  23. package/cli/getArgs.ts +10 -0
  24. package/cli/parseArgs.d.ts +3 -0
  25. package/cli/parseArgs.js +31 -0
  26. package/cli/parseArgs.ts +34 -0
  27. package/cli/utils/exit.d.ts +2 -0
  28. package/cli/utils/exit.js +7 -0
  29. package/cli/utils/exit.ts +7 -0
  30. package/cli/utils/formatList.d.ts +2 -0
  31. package/cli/utils/formatList.js +10 -0
  32. package/cli/utils/formatList.ts +11 -0
  33. package/cli/utils/formatTable.d.ts +2 -0
  34. package/cli/utils/formatTable.js +22 -0
  35. package/cli/utils/formatTable.ts +25 -0
  36. package/cli/utils/formatText.d.ts +2 -0
  37. package/cli/utils/formatText.js +8 -0
  38. package/cli/utils/formatText.ts +9 -0
  39. package/cli/utils/print.d.ts +2 -0
  40. package/cli/utils/print.js +7 -0
  41. package/cli/utils/print.ts +7 -0
  42. package/cli/utils/printLn.d.ts +2 -0
  43. package/cli/utils/printLn.js +8 -0
  44. package/cli/utils/printLn.ts +9 -0
  45. package/config/Config.d.ts +2 -0
  46. package/config/Config.ts +5 -0
  47. package/config/Properties.d.ts +8 -0
  48. package/config/Properties.ts +12 -0
  49. package/config/errors/FileReadError.d.ts +5 -0
  50. package/config/errors/FileReadError.js +10 -0
  51. package/config/errors/FileReadError.ts +11 -0
  52. package/config/errors/PropertyNameError.d.ts +5 -0
  53. package/config/errors/PropertyNameError.js +10 -0
  54. package/config/errors/PropertyNameError.ts +11 -0
  55. package/config/errors/PropertyParseError.d.ts +5 -0
  56. package/config/errors/PropertyParseError.js +10 -0
  57. package/config/errors/PropertyParseError.ts +11 -0
  58. package/config/getConfig.d.ts +14 -0
  59. package/config/getConfig.js +21 -0
  60. package/config/getConfig.ts +47 -0
  61. package/config/getPropertyEnvVar.d.ts +2 -0
  62. package/config/getPropertyEnvVar.js +13 -0
  63. package/config/getPropertyEnvVar.ts +15 -0
  64. package/config/parseProperty.d.ts +3 -0
  65. package/config/parseProperty.js +37 -0
  66. package/config/parseProperty.ts +47 -0
  67. package/config/readFile.d.ts +2 -0
  68. package/config/readFile.js +31 -0
  69. package/config/readFile.ts +34 -0
  70. package/config/validatePropertyName.d.ts +2 -0
  71. package/config/validatePropertyName.js +11 -0
  72. package/config/validatePropertyName.ts +13 -0
  73. package/env/Env.d.ts +2 -0
  74. package/env/Env.ts +5 -0
  75. package/env/errors/FileReadError.d.ts +5 -0
  76. package/env/errors/FileReadError.js +10 -0
  77. package/env/errors/FileReadError.ts +11 -0
  78. package/env/getEnv.d.ts +8 -0
  79. package/env/getEnv.js +15 -0
  80. package/env/getEnv.ts +24 -0
  81. package/env/readFile.d.ts +3 -0
  82. package/env/readFile.js +24 -0
  83. package/env/readFile.ts +24 -0
  84. package/error/BaseError.d.ts +4 -0
  85. package/error/BaseError.js +12 -0
  86. package/error/BaseError.ts +12 -0
  87. package/jwt/Algorithm.d.ts +6 -0
  88. package/jwt/Algorithm.js +9 -0
  89. package/jwt/Algorithm.ts +9 -0
  90. package/jwt/Jwt.d.ts +13 -0
  91. package/jwt/Jwt.js +35 -0
  92. package/jwt/Jwt.ts +49 -0
  93. package/jwt/Payload.d.ts +11 -0
  94. package/jwt/Payload.ts +14 -0
  95. package/jwt/errors/SecretLengthError.d.ts +5 -0
  96. package/jwt/errors/SecretLengthError.js +10 -0
  97. package/jwt/errors/SecretLengthError.ts +11 -0
  98. package/jwt/validateSecretLength.d.ts +3 -0
  99. package/jwt/validateSecretLength.js +16 -0
  100. package/jwt/validateSecretLength.ts +18 -0
  101. package/logger/Level.d.ts +10 -0
  102. package/logger/Level.js +13 -0
  103. package/logger/Level.ts +13 -0
  104. package/logger/Logger.d.ts +10 -0
  105. package/logger/Logger.js +6 -0
  106. package/logger/Logger.ts +19 -0
  107. package/logger/Severity.d.ts +9 -0
  108. package/logger/Severity.js +12 -0
  109. package/logger/Severity.ts +12 -0
  110. package/logger/adapters/file/FileLogger.d.ts +20 -0
  111. package/logger/adapters/file/FileLogger.js +70 -0
  112. package/logger/adapters/file/FileLogger.ts +87 -0
  113. package/logger/adapters/file/errors/FileInitError.d.ts +5 -0
  114. package/logger/adapters/file/errors/FileInitError.js +10 -0
  115. package/logger/adapters/file/errors/FileInitError.ts +11 -0
  116. package/logger/adapters/file/initFile.d.ts +2 -0
  117. package/logger/adapters/file/initFile.js +20 -0
  118. package/logger/adapters/file/initFile.ts +18 -0
  119. package/logger/adapters/noop/NoopLogger.d.ts +11 -0
  120. package/logger/adapters/noop/NoopLogger.js +14 -0
  121. package/logger/adapters/noop/NoopLogger.ts +21 -0
  122. package/logger/adapters/stdio/StdioLogger.d.ts +20 -0
  123. package/logger/adapters/stdio/StdioLogger.js +73 -0
  124. package/logger/adapters/stdio/StdioLogger.ts +89 -0
  125. package/mailer/Address.d.ts +5 -0
  126. package/mailer/Address.ts +8 -0
  127. package/mailer/Attachment.d.ts +7 -0
  128. package/mailer/Attachment.ts +11 -0
  129. package/mailer/Event.d.ts +16 -0
  130. package/mailer/Event.ts +20 -0
  131. package/mailer/List.d.ts +7 -0
  132. package/mailer/List.ts +10 -0
  133. package/mailer/Location.d.ts +9 -0
  134. package/mailer/Location.ts +12 -0
  135. package/mailer/Mail.d.ts +19 -0
  136. package/mailer/Mail.ts +23 -0
  137. package/mailer/Mailer.d.ts +7 -0
  138. package/mailer/Mailer.js +50 -0
  139. package/mailer/Mailer.ts +69 -0
  140. package/mailer/Method.d.ts +5 -0
  141. package/mailer/Method.js +8 -0
  142. package/mailer/Method.ts +8 -0
  143. package/mailer/adapters/noop/NoopMailer.d.ts +7 -0
  144. package/mailer/adapters/noop/NoopMailer.js +12 -0
  145. package/mailer/adapters/noop/NoopMailer.ts +15 -0
  146. package/mailer/adapters/smtp/SmtpMailer.d.ts +18 -0
  147. package/mailer/adapters/smtp/SmtpMailer.js +60 -0
  148. package/mailer/adapters/smtp/SmtpMailer.ts +74 -0
  149. package/mailer/adapters/smtp/getAddress.d.ts +4 -0
  150. package/mailer/adapters/smtp/getAddress.js +12 -0
  151. package/mailer/adapters/smtp/getAddress.ts +15 -0
  152. package/mailer/adapters/smtp/getAddresses.d.ts +4 -0
  153. package/mailer/adapters/smtp/getAddresses.js +14 -0
  154. package/mailer/adapters/smtp/getAddresses.ts +17 -0
  155. package/mailer/adapters/smtp/getAttachments.d.ts +4 -0
  156. package/mailer/adapters/smtp/getAttachments.js +17 -0
  157. package/mailer/adapters/smtp/getAttachments.ts +20 -0
  158. package/mailer/errors/AddressEmailError.d.ts +5 -0
  159. package/mailer/errors/AddressEmailError.js +10 -0
  160. package/mailer/errors/AddressEmailError.ts +11 -0
  161. package/mailer/errors/EventAttachmentUrlError.d.ts +5 -0
  162. package/mailer/errors/EventAttachmentUrlError.js +10 -0
  163. package/mailer/errors/EventAttachmentUrlError.ts +11 -0
  164. package/mailer/errors/EventGeolocationError.d.ts +5 -0
  165. package/mailer/errors/EventGeolocationError.js +10 -0
  166. package/mailer/errors/EventGeolocationError.ts +11 -0
  167. package/mailer/errors/EventUrlError.d.ts +5 -0
  168. package/mailer/errors/EventUrlError.js +10 -0
  169. package/mailer/errors/EventUrlError.ts +11 -0
  170. package/mailer/errors/ListUrlError.d.ts +5 -0
  171. package/mailer/errors/ListUrlError.js +10 -0
  172. package/mailer/errors/ListUrlError.ts +11 -0
  173. package/mailer/getIcalendar.d.ts +3 -0
  174. package/mailer/getIcalendar.js +35 -0
  175. package/mailer/getIcalendar.ts +39 -0
  176. package/mailer/validateAddressEmail.d.ts +2 -0
  177. package/mailer/validateAddressEmail.js +11 -0
  178. package/mailer/validateAddressEmail.ts +12 -0
  179. package/mailer/validateEventAttachmentUrl.d.ts +2 -0
  180. package/mailer/validateEventAttachmentUrl.js +11 -0
  181. package/mailer/validateEventAttachmentUrl.ts +12 -0
  182. package/mailer/validateEventGeolocation.d.ts +2 -0
  183. package/mailer/validateEventGeolocation.js +11 -0
  184. package/mailer/validateEventGeolocation.ts +15 -0
  185. package/mailer/validateEventUrl.d.ts +2 -0
  186. package/mailer/validateEventUrl.js +11 -0
  187. package/mailer/validateEventUrl.ts +12 -0
  188. package/mailer/validateListUrl.d.ts +2 -0
  189. package/mailer/validateListUrl.js +11 -0
  190. package/mailer/validateListUrl.ts +12 -0
  191. package/package.json +31 -30
  192. package/parser/Parser.d.ts +2 -0
  193. package/parser/Parser.ts +5 -0
  194. package/parser/errors/ParseError.d.ts +5 -0
  195. package/parser/errors/ParseError.js +10 -0
  196. package/parser/errors/ParseError.ts +11 -0
  197. package/parser/factories/enum/createEnumParser.d.ts +6 -0
  198. package/parser/factories/enum/createEnumParser.js +13 -0
  199. package/parser/factories/enum/createEnumParser.ts +21 -0
  200. package/parser/factories/unit/Unit.d.ts +5 -0
  201. package/parser/factories/unit/Unit.ts +8 -0
  202. package/parser/factories/unit/createUnitParser.d.ts +7 -0
  203. package/parser/factories/unit/createUnitParser.js +36 -0
  204. package/parser/factories/unit/createUnitParser.ts +50 -0
  205. package/parser/parseBoolean.d.ts +3 -0
  206. package/parser/parseBoolean.js +31 -0
  207. package/parser/parseBoolean.ts +33 -0
  208. package/parser/parseBytes.d.ts +2 -0
  209. package/parser/parseBytes.js +54 -0
  210. package/parser/parseBytes.ts +55 -0
  211. package/parser/parseInteger.d.ts +3 -0
  212. package/parser/parseInteger.js +19 -0
  213. package/parser/parseInteger.ts +23 -0
  214. package/parser/parseMilliseconds.d.ts +2 -0
  215. package/parser/parseMilliseconds.js +30 -0
  216. package/parser/parseMilliseconds.ts +31 -0
  217. package/parser/parseNumber.d.ts +3 -0
  218. package/parser/parseNumber.js +18 -0
  219. package/parser/parseNumber.ts +22 -0
  220. package/parser/parseString.d.ts +3 -0
  221. package/parser/parseString.js +14 -0
  222. package/parser/parseString.ts +16 -0
  223. package/pwd/Pwd.d.ts +9 -0
  224. package/pwd/Pwd.js +22 -0
  225. package/pwd/Pwd.ts +31 -0
  226. package/pwd/errors/HashRoundsError.d.ts +5 -0
  227. package/pwd/errors/HashRoundsError.js +10 -0
  228. package/pwd/errors/HashRoundsError.ts +11 -0
  229. package/pwd/validateHashRounds.d.ts +2 -0
  230. package/pwd/validateHashRounds.js +10 -0
  231. package/pwd/validateHashRounds.ts +11 -0
  232. package/server/ErrorHandler.d.ts +3 -0
  233. package/server/ErrorHandler.ts +11 -0
  234. package/server/Format.d.ts +9 -0
  235. package/server/Format.ts +15 -0
  236. package/server/Handler.d.ts +3 -0
  237. package/server/Handler.ts +10 -0
  238. package/server/Method.d.ts +8 -0
  239. package/server/Method.js +11 -0
  240. package/server/Method.ts +11 -0
  241. package/server/OpenApiFormat.d.ts +5 -0
  242. package/server/OpenApiFormat.js +8 -0
  243. package/server/OpenApiFormat.ts +8 -0
  244. package/server/Route.d.ts +12 -0
  245. package/server/Route.ts +16 -0
  246. package/server/Schema.d.ts +9 -0
  247. package/server/Schema.ts +13 -0
  248. package/server/Server.d.ts +37 -0
  249. package/server/Server.js +92 -0
  250. package/server/Server.ts +134 -0
  251. package/server/getAjv.d.ts +4 -0
  252. package/server/getAjv.js +25 -0
  253. package/server/getAjv.ts +26 -0
  254. package/tls/Tls.d.ts +7 -0
  255. package/tls/Tls.ts +10 -0
  256. package/tls/errors/FileReadError.d.ts +5 -0
  257. package/tls/errors/FileReadError.js +10 -0
  258. package/tls/errors/FileReadError.ts +11 -0
  259. package/tls/getTls.d.ts +8 -0
  260. package/tls/getTls.js +17 -0
  261. package/tls/getTls.ts +24 -0
  262. package/tls/readFile.d.ts +2 -0
  263. package/tls/readFile.js +20 -0
  264. package/tls/readFile.ts +18 -0
  265. package/utils/getRandomHexString.d.ts +2 -0
  266. package/utils/getRandomHexString.js +8 -0
  267. package/utils/getRandomHexString.ts +9 -0
  268. package/utils/getTimestamp.d.ts +2 -0
  269. package/utils/getTimestamp.js +7 -0
  270. package/utils/getTimestamp.ts +7 -0
  271. package/utils/isValidEmail.d.ts +2 -0
  272. package/utils/isValidEmail.js +8 -0
  273. package/utils/isValidEmail.ts +9 -0
  274. package/utils/isValidGeolocation.d.ts +2 -0
  275. package/utils/isValidGeolocation.js +10 -0
  276. package/utils/isValidGeolocation.ts +10 -0
  277. package/utils/isValidHexString.d.ts +2 -0
  278. package/utils/isValidHexString.js +8 -0
  279. package/utils/isValidHexString.ts +9 -0
  280. package/utils/isValidIsoDate.d.ts +2 -0
  281. package/utils/isValidIsoDate.js +8 -0
  282. package/utils/isValidIsoDate.ts +9 -0
  283. package/utils/isValidJwtToken.d.ts +2 -0
  284. package/utils/isValidJwtToken.js +8 -0
  285. package/utils/isValidJwtToken.ts +9 -0
  286. package/utils/isValidUrl.d.ts +2 -0
  287. package/utils/isValidUrl.js +19 -0
  288. package/utils/isValidUrl.ts +21 -0
  289. package/utils/isValidUuid.d.ts +2 -0
  290. package/utils/isValidUuid.js +8 -0
  291. package/utils/isValidUuid.ts +10 -0
  292. package/utils/wait.d.ts +2 -0
  293. package/utils/wait.js +9 -0
  294. package/utils/wait.ts +9 -0
  295. package/api/api.d.ts +0 -7
  296. package/api/api.ts +0 -8
  297. package/api/auth.d.ts +0 -9
  298. package/api/auth.js +0 -11
  299. package/api/auth.ts +0 -9
  300. package/api/config.d.ts +0 -13
  301. package/api/config.js +0 -59
  302. package/api/config.ts +0 -69
  303. package/api/endpoint.d.ts +0 -20
  304. package/api/endpoint.js +0 -5
  305. package/api/endpoint.ts +0 -23
  306. package/api/handler.d.ts +0 -8
  307. package/api/handler.js +0 -13
  308. package/api/handler.ts +0 -23
  309. package/api/index.d.ts +0 -7
  310. package/api/index.js +0 -187
  311. package/api/index.ts +0 -97
  312. package/api/route.d.ts +0 -6
  313. package/api/route.ts +0 -4
  314. package/api/router.d.ts +0 -4
  315. package/api/router.js +0 -111
  316. package/api/router.ts +0 -36
  317. package/api/schema.d.ts +0 -29
  318. package/api/schema.js +0 -69
  319. package/api/schema.ts +0 -98
  320. package/app/app.d.ts +0 -6
  321. package/app/app.ts +0 -7
  322. package/app/boot.d.ts +0 -4
  323. package/app/boot.ts +0 -5
  324. package/app/bundle.d.ts +0 -14
  325. package/app/bundle.ts +0 -15
  326. package/app/config.d.ts +0 -4
  327. package/app/config.js +0 -9
  328. package/app/config.ts +0 -9
  329. package/app/index.d.ts +0 -9
  330. package/app/index.js +0 -103
  331. package/app/index.ts +0 -32
  332. package/bin/ape-cli-ts.js +0 -4
  333. package/bin/ape-cli.js +0 -2
  334. package/cli/command.d.ts +0 -4
  335. package/cli/command.ts +0 -7
  336. package/cli/index.d.ts +0 -2
  337. package/cli/index.js +0 -103
  338. package/cli/index.ts +0 -41
  339. package/cli/internal/api.d.ts +0 -3
  340. package/cli/internal/api.js +0 -110
  341. package/cli/internal/api.ts +0 -38
  342. package/cli/internal/index.d.ts +0 -2
  343. package/cli/internal/index.js +0 -13
  344. package/cli/internal/index.ts +0 -9
  345. package/cli/internal/migration.d.ts +0 -3
  346. package/cli/internal/migration.js +0 -214
  347. package/cli/internal/migration.ts +0 -110
  348. package/cli/internal/queue.d.ts +0 -3
  349. package/cli/internal/queue.js +0 -147
  350. package/cli/internal/queue.ts +0 -60
  351. package/cli/utils.d.ts +0 -18
  352. package/cli/utils.js +0 -52
  353. package/cli/utils.ts +0 -48
  354. package/config/config.d.ts +0 -5
  355. package/config/config.ts +0 -6
  356. package/config/configuration.d.ts +0 -63
  357. package/config/configuration.ts +0 -72
  358. package/config/default.d.ts +0 -33
  359. package/config/default.js +0 -34
  360. package/config/default.ts +0 -40
  361. package/config/env.d.ts +0 -66
  362. package/config/env.js +0 -72
  363. package/config/env.ts +0 -79
  364. package/config/index.d.ts +0 -8
  365. package/config/index.js +0 -91
  366. package/config/index.ts +0 -101
  367. package/config/loadFile.d.ts +0 -2
  368. package/config/loadFile.js +0 -13
  369. package/config/loadFile.ts +0 -9
  370. package/config/node.d.ts +0 -5
  371. package/config/node.js +0 -11
  372. package/config/node.ts +0 -7
  373. package/config/store.d.ts +0 -6
  374. package/config/store.js +0 -20
  375. package/config/store.ts +0 -15
  376. package/db/config/index.d.ts +0 -10
  377. package/db/config/index.js +0 -43
  378. package/db/config/index.ts +0 -35
  379. package/db/config/memory.d.ts +0 -3
  380. package/db/config/memory.js +0 -15
  381. package/db/config/memory.ts +0 -13
  382. package/db/config/mysql.d.ts +0 -3
  383. package/db/config/mysql.js +0 -56
  384. package/db/config/mysql.ts +0 -58
  385. package/db/config/postgres.d.ts +0 -3
  386. package/db/config/postgres.js +0 -59
  387. package/db/config/postgres.ts +0 -61
  388. package/db/config/sqlite.d.ts +0 -3
  389. package/db/config/sqlite.js +0 -21
  390. package/db/config/sqlite.ts +0 -20
  391. package/db/database.d.ts +0 -3
  392. package/db/database.js +0 -3
  393. package/db/database.ts +0 -5
  394. package/db/index.d.ts +0 -10
  395. package/db/index.js +0 -32
  396. package/db/index.ts +0 -26
  397. package/db/postProcess.d.ts +0 -3
  398. package/db/postProcess.js +0 -25
  399. package/db/postProcess.ts +0 -27
  400. package/db/schema/builder/_.d.ts +0 -30
  401. package/db/schema/builder/_.js +0 -87
  402. package/db/schema/builder/_.ts +0 -101
  403. package/db/schema/builder/columnBuilder.d.ts +0 -7
  404. package/db/schema/builder/columnBuilder.js +0 -14
  405. package/db/schema/builder/columnBuilder.ts +0 -15
  406. package/db/schema/builder/dataType.d.ts +0 -28
  407. package/db/schema/builder/dataType.js +0 -170
  408. package/db/schema/builder/dataType.ts +0 -184
  409. package/db/schema/builder/index.d.ts +0 -15
  410. package/db/schema/builder/index.js +0 -42
  411. package/db/schema/builder/index.ts +0 -50
  412. package/db/schema/builder/tableBuilder.d.ts +0 -45
  413. package/db/schema/builder/tableBuilder.js +0 -307
  414. package/db/schema/builder/tableBuilder.ts +0 -409
  415. package/db/schema/config.d.ts +0 -4
  416. package/db/schema/config.js +0 -5
  417. package/db/schema/config.ts +0 -3
  418. package/db/schema/index.d.ts +0 -7
  419. package/db/schema/index.js +0 -252
  420. package/db/schema/index.ts +0 -88
  421. package/db/schema/migration.d.ts +0 -6
  422. package/db/schema/migration.ts +0 -7
  423. package/db/schema/migrationList.d.ts +0 -5
  424. package/db/schema/migrationList.ts +0 -5
  425. package/db/schema/migrationSource.d.ts +0 -10
  426. package/db/schema/migrationSource.js +0 -60
  427. package/db/schema/migrationSource.ts +0 -24
  428. package/db/schema/schema.d.ts +0 -6
  429. package/db/schema/schema.ts +0 -7
  430. package/db/utils/index.d.ts +0 -7
  431. package/db/utils/index.js +0 -10
  432. package/db/utils/index.ts +0 -8
  433. package/db/utils/insertGetKey.d.ts +0 -8
  434. package/db/utils/insertGetKey.js +0 -109
  435. package/db/utils/insertGetKey.ts +0 -80
  436. package/i18n/config.d.ts +0 -4
  437. package/i18n/config.js +0 -9
  438. package/i18n/config.ts +0 -9
  439. package/i18n/i18n.d.ts +0 -5
  440. package/i18n/i18n.ts +0 -6
  441. package/i18n/index.d.ts +0 -8
  442. package/i18n/index.js +0 -155
  443. package/i18n/index.ts +0 -42
  444. package/i18n/internationalization.d.ts +0 -3
  445. package/i18n/internationalization.ts +0 -5
  446. package/i18n/translation.d.ts +0 -4
  447. package/i18n/translation.ts +0 -4
  448. package/jwt/config.d.ts +0 -5
  449. package/jwt/config.js +0 -12
  450. package/jwt/config.ts +0 -11
  451. package/jwt/index.d.ts +0 -8
  452. package/jwt/index.js +0 -90
  453. package/jwt/index.ts +0 -60
  454. package/jwt/jwt.d.ts +0 -6
  455. package/jwt/jwt.ts +0 -19
  456. package/jwt/user.d.ts +0 -4
  457. package/jwt/user.ts +0 -4
  458. package/log/config.d.ts +0 -23
  459. package/log/config.js +0 -47
  460. package/log/config.ts +0 -43
  461. package/log/index.d.ts +0 -4
  462. package/log/index.js +0 -9
  463. package/log/index.ts +0 -9
  464. package/log/logger.d.ts +0 -3
  465. package/log/logger.ts +0 -5
  466. package/mail/config.d.ts +0 -4
  467. package/mail/config.js +0 -5
  468. package/mail/config.ts +0 -3
  469. package/mail/email.d.ts +0 -20
  470. package/mail/email.ts +0 -21
  471. package/mail/index.d.ts +0 -2
  472. package/mail/index.js +0 -4
  473. package/mail/index.ts +0 -3
  474. package/mail/mail.d.ts +0 -12
  475. package/mail/mail.ts +0 -13
  476. package/mail/module/bypass/index.d.ts +0 -6
  477. package/mail/module/bypass/index.js +0 -74
  478. package/mail/module/bypass/index.ts +0 -9
  479. package/mail/module/config.d.ts +0 -11
  480. package/mail/module/config.js +0 -24
  481. package/mail/module/config.ts +0 -25
  482. package/mail/module/index.d.ts +0 -8
  483. package/mail/module/index.js +0 -107
  484. package/mail/module/index.ts +0 -61
  485. package/mail/module/smtp/config.d.ts +0 -6
  486. package/mail/module/smtp/config.js +0 -25
  487. package/mail/module/smtp/config.ts +0 -25
  488. package/mail/module/smtp/index.d.ts +0 -9
  489. package/mail/module/smtp/index.js +0 -104
  490. package/mail/module/smtp/index.ts +0 -36
  491. package/mq/index.d.ts +0 -3
  492. package/mq/index.js +0 -27
  493. package/mq/index.ts +0 -4
  494. package/mq/module/bypass/index.d.ts +0 -13
  495. package/mq/module/bypass/index.js +0 -86
  496. package/mq/module/bypass/index.ts +0 -20
  497. package/mq/module/config.d.ts +0 -6
  498. package/mq/module/config.js +0 -15
  499. package/mq/module/config.ts +0 -14
  500. package/mq/module/index.d.ts +0 -9
  501. package/mq/module/index.js +0 -93
  502. package/mq/module/index.ts +0 -24
  503. package/mq/module/redis/config.d.ts +0 -27
  504. package/mq/module/redis/config.js +0 -37
  505. package/mq/module/redis/config.ts +0 -34
  506. package/mq/module/redis/index.d.ts +0 -15
  507. package/mq/module/redis/index.js +0 -132
  508. package/mq/module/redis/index.ts +0 -60
  509. package/mq/mq.d.ts +0 -15
  510. package/mq/mq.ts +0 -18
  511. package/mq/queue.d.ts +0 -9
  512. package/mq/queue.js +0 -2
  513. package/mq/queue.ts +0 -11
  514. package/pwd/config.d.ts +0 -4
  515. package/pwd/config.js +0 -9
  516. package/pwd/config.ts +0 -9
  517. package/pwd/index.d.ts +0 -6
  518. package/pwd/index.js +0 -21
  519. package/pwd/index.ts +0 -20
  520. package/pwd/pwd.d.ts +0 -4
  521. package/pwd/pwd.js +0 -2
  522. package/pwd/pwd.ts +0 -4
  523. package/utils/index.d.ts +0 -25
  524. package/utils/index.js +0 -72
  525. package/utils/index.ts +0 -56
  526. /package/{api/api.js → cli/Args.js} +0 -0
  527. /package/{api/route.js → cli/Command.js} +0 -0
  528. /package/{app/app.js → config/Config.js} +0 -0
  529. /package/{app/boot.js → config/Properties.js} +0 -0
  530. /package/{app/bundle.js → env/Env.js} +0 -0
  531. /package/{cli/command.js → jwt/Payload.js} +0 -0
  532. /package/{config/config.js → mailer/Address.js} +0 -0
  533. /package/{config/configuration.js → mailer/Attachment.js} +0 -0
  534. /package/{db/schema/migration.js → mailer/Event.js} +0 -0
  535. /package/{db/schema/migrationList.js → mailer/List.js} +0 -0
  536. /package/{db/schema/schema.js → mailer/Location.js} +0 -0
  537. /package/{i18n/i18n.js → mailer/Mail.js} +0 -0
  538. /package/{i18n/internationalization.js → parser/Parser.js} +0 -0
  539. /package/{i18n/translation.js → parser/factories/unit/Unit.js} +0 -0
  540. /package/{jwt/jwt.js → server/ErrorHandler.js} +0 -0
  541. /package/{jwt/user.js → server/Format.js} +0 -0
  542. /package/{log/logger.js → server/Handler.js} +0 -0
  543. /package/{mail/email.js → server/Route.js} +0 -0
  544. /package/{mail/mail.js → server/Schema.js} +0 -0
  545. /package/{mq/mq.js → tls/Tls.js} +0 -0
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class FileReadError extends BaseError {
4
+ public constructor(path: string, message: string) {
5
+ super(`failed reading file "${path}": ${message}`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ FileReadError,
11
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class PropertyNameError extends BaseError {
3
+ constructor(name: string);
4
+ }
5
+ export { PropertyNameError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PropertyNameError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class PropertyNameError extends BaseError_1.BaseError {
6
+ constructor(name) {
7
+ super(`invalid property name "${name}"`);
8
+ }
9
+ }
10
+ exports.PropertyNameError = PropertyNameError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class PropertyNameError extends BaseError {
4
+ public constructor(name: string) {
5
+ super(`invalid property name "${name}"`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ PropertyNameError,
11
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class PropertyParseError extends BaseError {
3
+ constructor(name: string, source: string, message: string);
4
+ }
5
+ export { PropertyParseError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PropertyParseError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class PropertyParseError extends BaseError_1.BaseError {
6
+ constructor(name, source, message) {
7
+ super(`failed parsing property "${name}" from ${source}: ${message}`);
8
+ }
9
+ }
10
+ exports.PropertyParseError = PropertyParseError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class PropertyParseError extends BaseError {
4
+ public constructor(name: string, source: string, message: string) {
5
+ super(`failed parsing property "${name}" from ${source}: ${message}`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ PropertyParseError,
11
+ }
@@ -0,0 +1,14 @@
1
+ import type { Config } from './Config';
2
+ import type { Properties } from './Properties';
3
+ import type { Args } from '../cli/Args';
4
+ import type { Env } from '../env/Env';
5
+ declare const getConfig: <Type extends Config>(params: {
6
+ properties: Properties<Type>;
7
+ file?: {
8
+ path: string;
9
+ required?: boolean;
10
+ };
11
+ env?: Env;
12
+ args?: Args;
13
+ }) => Type;
14
+ export { getConfig, };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getConfig = void 0;
4
+ const getPropertyEnvVar_1 = require("./getPropertyEnvVar");
5
+ const parseProperty_1 = require("./parseProperty");
6
+ const readFile_1 = require("./readFile");
7
+ const validatePropertyName_1 = require("./validatePropertyName");
8
+ const getConfig = (params) => {
9
+ const file = params.file
10
+ ? (0, readFile_1.readFile)(params.file.path, params.file.required)
11
+ : {};
12
+ const env = params.env ?? {};
13
+ const args = params.args ?? { positional: [], optional: {} };
14
+ const config = {};
15
+ for (const name in params.properties) {
16
+ (0, validatePropertyName_1.validatePropertyName)(name);
17
+ config[name] = (0, parseProperty_1.parseProperty)(name, params.properties[name].parser, params.properties[name].default, file[name], env[(0, getPropertyEnvVar_1.getPropertyEnvVar)(name)], args.optional[name]);
18
+ }
19
+ return config;
20
+ };
21
+ exports.getConfig = getConfig;
@@ -0,0 +1,47 @@
1
+ import { getPropertyEnvVar } from './getPropertyEnvVar'
2
+ import { parseProperty } from './parseProperty'
3
+ import { readFile } from './readFile'
4
+ import { validatePropertyName } from './validatePropertyName'
5
+ import type { Config } from './Config'
6
+ import type { Properties } from './Properties'
7
+ import type { Args } from '../cli/Args'
8
+ import type { Env } from '../env/Env'
9
+
10
+ const getConfig = <Type extends Config>(params: {
11
+ properties: Properties<Type>,
12
+ file?: {
13
+ path: string,
14
+ required?: boolean,
15
+ },
16
+ env?: Env,
17
+ args?: Args,
18
+ }): Type => {
19
+ const file = params.file
20
+ ? readFile(params.file.path, params.file.required)
21
+ : {}
22
+
23
+ const env: Env = params.env ?? {}
24
+
25
+ const args: Args = params.args ?? { positional: [], optional: {} }
26
+
27
+ const config: Config = {}
28
+
29
+ for (const name in params.properties) {
30
+ validatePropertyName(name)
31
+
32
+ config[name] = parseProperty(
33
+ name,
34
+ params.properties[name].parser,
35
+ params.properties[name].default,
36
+ file[name],
37
+ env[getPropertyEnvVar(name)],
38
+ args.optional[name],
39
+ )
40
+ }
41
+
42
+ return config as Type
43
+ }
44
+
45
+ export {
46
+ getConfig,
47
+ }
@@ -0,0 +1,2 @@
1
+ declare const getPropertyEnvVar: (name: string) => string;
2
+ export { getPropertyEnvVar, };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropertyEnvVar = void 0;
4
+ const capitalLetterRegex = /[A-Z]/gu;
5
+ const capitalLetterReplacer = (letter) => {
6
+ return `_${letter}`;
7
+ };
8
+ const getPropertyEnvVar = (name) => {
9
+ return name
10
+ .replace(capitalLetterRegex, capitalLetterReplacer)
11
+ .toUpperCase();
12
+ };
13
+ exports.getPropertyEnvVar = getPropertyEnvVar;
@@ -0,0 +1,15 @@
1
+ const capitalLetterRegex = /[A-Z]/gu
2
+
3
+ const capitalLetterReplacer = (letter: string): string => {
4
+ return `_${letter}`
5
+ }
6
+
7
+ const getPropertyEnvVar = (name: string): string => {
8
+ return name
9
+ .replace(capitalLetterRegex, capitalLetterReplacer)
10
+ .toUpperCase()
11
+ }
12
+
13
+ export {
14
+ getPropertyEnvVar,
15
+ }
@@ -0,0 +1,3 @@
1
+ import type { Parser } from '../parser/Parser';
2
+ declare const parseProperty: <Type>(name: string, parser: Parser<Type>, defaultValue: any, fileValue: any, envValue: any, argsValue: any) => Type;
3
+ export { parseProperty, };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseProperty = void 0;
4
+ const PropertyParseError_1 = require("./errors/PropertyParseError");
5
+ const parseProperty = (name, parser, defaultValue, fileValue, envValue, argsValue) => {
6
+ const sources = [
7
+ {
8
+ name: 'command line arguments',
9
+ value: argsValue,
10
+ },
11
+ {
12
+ name: 'environment variables',
13
+ value: envValue,
14
+ },
15
+ {
16
+ name: 'configuration file',
17
+ value: fileValue,
18
+ },
19
+ {
20
+ name: 'default value',
21
+ value: defaultValue,
22
+ },
23
+ ];
24
+ const source = sources.find((s) => {
25
+ return s.value !== undefined;
26
+ }) || {
27
+ name: 'undefined value',
28
+ value: undefined,
29
+ };
30
+ try {
31
+ return parser(source.value);
32
+ }
33
+ catch (error) {
34
+ throw new PropertyParseError_1.PropertyParseError(name, source.name, error.message);
35
+ }
36
+ };
37
+ exports.parseProperty = parseProperty;
@@ -0,0 +1,47 @@
1
+ import { PropertyParseError } from './errors/PropertyParseError'
2
+ import type { Parser } from '../parser/Parser'
3
+
4
+ const parseProperty = <Type>(
5
+ name: string,
6
+ parser: Parser<Type>,
7
+ defaultValue: any,
8
+ fileValue: any,
9
+ envValue: any,
10
+ argsValue: any,
11
+ ): Type => {
12
+ const sources = [
13
+ {
14
+ name: 'command line arguments',
15
+ value: argsValue,
16
+ },
17
+ {
18
+ name: 'environment variables',
19
+ value: envValue,
20
+ },
21
+ {
22
+ name: 'configuration file',
23
+ value: fileValue,
24
+ },
25
+ {
26
+ name: 'default value',
27
+ value: defaultValue,
28
+ },
29
+ ]
30
+
31
+ const source = sources.find((s) => {
32
+ return s.value !== undefined
33
+ }) || {
34
+ name: 'undefined value',
35
+ value: undefined,
36
+ }
37
+
38
+ try {
39
+ return parser(source.value)
40
+ } catch (error) {
41
+ throw new PropertyParseError(name, source.name, (error as Error).message)
42
+ }
43
+ }
44
+
45
+ export {
46
+ parseProperty,
47
+ }
@@ -0,0 +1,2 @@
1
+ declare const readFile: (path: string, required?: boolean) => Record<string, any>;
2
+ export { readFile, };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readFile = void 0;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const FileReadError_1 = require("./errors/FileReadError");
9
+ const readFile = (path, required = false) => {
10
+ let json = {};
11
+ let fileExists;
12
+ try {
13
+ fileExists = fs_extra_1.default.existsSync(path);
14
+ if (fileExists) {
15
+ json = fs_extra_1.default.readJsonSync(path);
16
+ }
17
+ }
18
+ catch (error) {
19
+ throw new FileReadError_1.FileReadError(path, error.message);
20
+ }
21
+ if (required && !fileExists) {
22
+ throw new FileReadError_1.FileReadError(path, 'missing file');
23
+ }
24
+ if (typeof json !== 'object'
25
+ || Array.isArray(json)
26
+ || json === null) {
27
+ throw new FileReadError_1.FileReadError(path, 'invalid content');
28
+ }
29
+ return json;
30
+ };
31
+ exports.readFile = readFile;
@@ -0,0 +1,34 @@
1
+ import fs from 'fs-extra'
2
+ import { FileReadError } from './errors/FileReadError'
3
+
4
+ const readFile = (path: string, required = false): Record<string, any> => {
5
+ let json: any = {}
6
+ let fileExists: boolean
7
+
8
+ try {
9
+ fileExists = fs.existsSync(path)
10
+ if (fileExists) {
11
+ json = fs.readJsonSync(path)
12
+ }
13
+ } catch (error) {
14
+ throw new FileReadError(path, (error as Error).message)
15
+ }
16
+
17
+ if (required && !fileExists) {
18
+ throw new FileReadError(path, 'missing file')
19
+ }
20
+
21
+ if (
22
+ typeof json !== 'object'
23
+ || Array.isArray(json)
24
+ || json === null
25
+ ) {
26
+ throw new FileReadError(path, 'invalid content')
27
+ }
28
+
29
+ return json as Record<string, any>
30
+ }
31
+
32
+ export {
33
+ readFile,
34
+ }
@@ -0,0 +1,2 @@
1
+ declare const validatePropertyName: (name: string) => void;
2
+ export { validatePropertyName, };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validatePropertyName = void 0;
4
+ const PropertyNameError_1 = require("./errors/PropertyNameError");
5
+ const propertyNameRegex = /^[a-z](?:[0-9A-Za-z])*$/u;
6
+ const validatePropertyName = (name) => {
7
+ if (!propertyNameRegex.test(name)) {
8
+ throw new PropertyNameError_1.PropertyNameError(name);
9
+ }
10
+ };
11
+ exports.validatePropertyName = validatePropertyName;
@@ -0,0 +1,13 @@
1
+ import { PropertyNameError } from './errors/PropertyNameError'
2
+
3
+ const propertyNameRegex = /^[a-z](?:[0-9A-Za-z])*$/u
4
+
5
+ const validatePropertyName = (name: string): void => {
6
+ if (!propertyNameRegex.test(name)) {
7
+ throw new PropertyNameError(name)
8
+ }
9
+ }
10
+
11
+ export {
12
+ validatePropertyName,
13
+ }
package/env/Env.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ type Env = Record<string, string>;
2
+ export { type Env, };
package/env/Env.ts ADDED
@@ -0,0 +1,5 @@
1
+ type Env = Record<string, string>
2
+
3
+ export {
4
+ type Env,
5
+ }
@@ -0,0 +1,5 @@
1
+ import { BaseError } from '../../error/BaseError';
2
+ declare class FileReadError extends BaseError {
3
+ constructor(path: string, message: string);
4
+ }
5
+ export { FileReadError, };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileReadError = void 0;
4
+ const BaseError_1 = require("../../error/BaseError");
5
+ class FileReadError extends BaseError_1.BaseError {
6
+ constructor(path, message) {
7
+ super(`failed reading file "${path}": ${message}`);
8
+ }
9
+ }
10
+ exports.FileReadError = FileReadError;
@@ -0,0 +1,11 @@
1
+ import { BaseError } from '../../error/BaseError'
2
+
3
+ class FileReadError extends BaseError {
4
+ public constructor(path: string, message: string) {
5
+ super(`failed reading file "${path}": ${message}`)
6
+ }
7
+ }
8
+
9
+ export {
10
+ FileReadError,
11
+ }
@@ -0,0 +1,8 @@
1
+ import type { Env } from './Env';
2
+ declare const getEnv: (params?: {
3
+ file?: {
4
+ path: string;
5
+ required?: boolean;
6
+ };
7
+ }) => Env;
8
+ export { getEnv, };
package/env/getEnv.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEnv = void 0;
4
+ const readFile_1 = require("./readFile");
5
+ const getEnv = (params) => {
6
+ let file = {};
7
+ if (params?.file) {
8
+ file = (0, readFile_1.readFile)(params.file.path, params.file.required);
9
+ }
10
+ return {
11
+ ...file,
12
+ ...process.env,
13
+ };
14
+ };
15
+ exports.getEnv = getEnv;
package/env/getEnv.ts ADDED
@@ -0,0 +1,24 @@
1
+ import { readFile } from './readFile'
2
+ import type { Env } from './Env'
3
+
4
+ const getEnv = (params?: {
5
+ file?: {
6
+ path: string,
7
+ required?: boolean,
8
+ },
9
+ }): Env => {
10
+ let file: Env = {}
11
+
12
+ if (params?.file) {
13
+ file = readFile(params.file.path, params.file.required)
14
+ }
15
+
16
+ return {
17
+ ...file,
18
+ ...process.env as Env,
19
+ }
20
+ }
21
+
22
+ export {
23
+ getEnv,
24
+ }
@@ -0,0 +1,3 @@
1
+ import type { Env } from './Env';
2
+ declare const readFile: (path: string, required?: boolean) => Env;
3
+ export { readFile, };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readFile = void 0;
7
+ const dotenv_1 = __importDefault(require("dotenv"));
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ const FileReadError_1 = require("./errors/FileReadError");
10
+ const readFile = (path, required = false) => {
11
+ try {
12
+ if (fs_extra_1.default.existsSync(path)) {
13
+ return dotenv_1.default.parse(fs_extra_1.default.readFileSync(path));
14
+ }
15
+ }
16
+ catch (error) {
17
+ throw new FileReadError_1.FileReadError(path, error.message);
18
+ }
19
+ if (required) {
20
+ throw new FileReadError_1.FileReadError(path, 'missing file');
21
+ }
22
+ return {};
23
+ };
24
+ exports.readFile = readFile;
@@ -0,0 +1,24 @@
1
+ import dotenv from 'dotenv'
2
+ import fs from 'fs-extra'
3
+ import { FileReadError } from './errors/FileReadError'
4
+ import type { Env } from './Env'
5
+
6
+ const readFile = (path: string, required = false): Env => {
7
+ try {
8
+ if (fs.existsSync(path)) {
9
+ return dotenv.parse(fs.readFileSync(path))
10
+ }
11
+ } catch (error) {
12
+ throw new FileReadError(path, (error as Error).message)
13
+ }
14
+
15
+ if (required) {
16
+ throw new FileReadError(path, 'missing file')
17
+ }
18
+
19
+ return {}
20
+ }
21
+
22
+ export {
23
+ readFile,
24
+ }
@@ -0,0 +1,4 @@
1
+ declare class BaseError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ export { BaseError, };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseError = void 0;
4
+ class BaseError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = new.target.name;
8
+ Error.captureStackTrace(this, new.target);
9
+ Object.setPrototypeOf(this, new.target.prototype);
10
+ }
11
+ }
12
+ exports.BaseError = BaseError;
@@ -0,0 +1,12 @@
1
+ class BaseError extends Error {
2
+ public constructor(message: string) {
3
+ super(message)
4
+ this.name = new.target.name
5
+ Error.captureStackTrace(this, new.target)
6
+ Object.setPrototypeOf(this, new.target.prototype)
7
+ }
8
+ }
9
+
10
+ export {
11
+ BaseError,
12
+ }
@@ -0,0 +1,6 @@
1
+ declare enum Algorithm {
2
+ HS256 = "HS256",
3
+ HS384 = "HS384",
4
+ HS512 = "HS512"
5
+ }
6
+ export { Algorithm, };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Algorithm = void 0;
4
+ var Algorithm;
5
+ (function (Algorithm) {
6
+ Algorithm["HS256"] = "HS256";
7
+ Algorithm["HS384"] = "HS384";
8
+ Algorithm["HS512"] = "HS512";
9
+ })(Algorithm || (exports.Algorithm = Algorithm = {}));
@@ -0,0 +1,9 @@
1
+ enum Algorithm {
2
+ HS256 = 'HS256',
3
+ HS384 = 'HS384',
4
+ HS512 = 'HS512',
5
+ }
6
+
7
+ export {
8
+ Algorithm,
9
+ }
package/jwt/Jwt.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import type { Algorithm } from './Algorithm';
2
+ import type { Payload } from './Payload';
3
+ declare class Jwt {
4
+ private readonly algorithm;
5
+ private readonly secret;
6
+ constructor(params: {
7
+ algorithm: Algorithm;
8
+ secret: string;
9
+ });
10
+ createToken(payload: Payload): Promise<string>;
11
+ verifyToken<Type extends Payload>(token: string, timestamp: number): Promise<Type | undefined>;
12
+ }
13
+ export { Jwt, };
package/jwt/Jwt.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Jwt = void 0;
4
+ const jose_1 = require("jose");
5
+ const validateSecretLength_1 = require("./validateSecretLength");
6
+ class Jwt {
7
+ algorithm;
8
+ secret;
9
+ constructor(params) {
10
+ (0, validateSecretLength_1.validateSecretLength)(params.algorithm, params.secret);
11
+ this.algorithm = params.algorithm;
12
+ this.secret = new TextEncoder().encode(params.secret);
13
+ }
14
+ async createToken(payload) {
15
+ return new jose_1.SignJWT(payload)
16
+ .setProtectedHeader({
17
+ typ: 'JWT',
18
+ alg: this.algorithm,
19
+ })
20
+ .sign(this.secret);
21
+ }
22
+ async verifyToken(token, timestamp) {
23
+ try {
24
+ const { payload } = await (0, jose_1.jwtVerify)(token, this.secret, {
25
+ typ: 'JWT',
26
+ currentDate: new Date(timestamp * 1000),
27
+ });
28
+ return payload;
29
+ }
30
+ catch (error) {
31
+ return undefined;
32
+ }
33
+ }
34
+ }
35
+ exports.Jwt = Jwt;