apeframework 0.0.0-dev.2 → 0.0.0-dev.21

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 (462) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +4 -46
  3. package/cipher/Algorithm.d.ts +6 -0
  4. package/cipher/Algorithm.js +7 -0
  5. package/cipher/Cipher.d.ts +12 -0
  6. package/cipher/Cipher.js +32 -0
  7. package/cipher/errors/DecryptError.d.ts +5 -0
  8. package/cipher/errors/DecryptError.js +7 -0
  9. package/cipher/errors/SecretLengthError.d.ts +5 -0
  10. package/cipher/errors/SecretLengthError.js +7 -0
  11. package/cipher/validateSecretLength.d.ts +3 -0
  12. package/cipher/validateSecretLength.js +13 -0
  13. package/cli/Args.d.ts +5 -0
  14. package/cli/Args.js +1 -0
  15. package/cli/Command.d.ts +3 -0
  16. package/cli/Command.js +1 -0
  17. package/cli/getArgs.d.ts +3 -0
  18. package/cli/getArgs.js +5 -0
  19. package/cli/parseArgs.d.ts +3 -0
  20. package/cli/parseArgs.js +25 -0
  21. package/cli/utils/exit.d.ts +2 -0
  22. package/cli/utils/exit.js +4 -0
  23. package/cli/utils/formatList.d.ts +2 -0
  24. package/cli/utils/formatList.js +7 -0
  25. package/cli/utils/formatTable.d.ts +2 -0
  26. package/cli/utils/formatTable.js +19 -0
  27. package/cli/utils/formatText.d.ts +2 -0
  28. package/cli/utils/formatText.js +5 -0
  29. package/cli/utils/print.d.ts +2 -0
  30. package/cli/utils/print.js +4 -0
  31. package/cli/utils/printLn.d.ts +2 -0
  32. package/cli/utils/printLn.js +5 -0
  33. package/config/Config.d.ts +2 -0
  34. package/config/Config.js +1 -0
  35. package/config/Properties.d.ts +8 -0
  36. package/config/Properties.js +1 -0
  37. package/config/errors/FileReadError.d.ts +5 -0
  38. package/config/errors/FileReadError.js +7 -0
  39. package/config/errors/PropertyNameError.d.ts +5 -0
  40. package/config/errors/PropertyNameError.js +7 -0
  41. package/config/errors/PropertyParseError.d.ts +5 -0
  42. package/config/errors/PropertyParseError.js +7 -0
  43. package/config/getConfig.d.ts +14 -0
  44. package/config/getConfig.js +18 -0
  45. package/config/getPropertyEnvVar.d.ts +2 -0
  46. package/config/getPropertyEnvVar.js +10 -0
  47. package/config/parseProperty.d.ts +3 -0
  48. package/config/parseProperty.js +34 -0
  49. package/config/readFile.d.ts +2 -0
  50. package/config/readFile.js +25 -0
  51. package/config/validatePropertyName.d.ts +2 -0
  52. package/config/validatePropertyName.js +8 -0
  53. package/env/Env.d.ts +2 -0
  54. package/env/Env.js +1 -0
  55. package/env/errors/FileReadError.d.ts +5 -0
  56. package/env/errors/FileReadError.js +7 -0
  57. package/env/getEnv.d.ts +8 -0
  58. package/env/getEnv.js +12 -0
  59. package/env/readFile.d.ts +3 -0
  60. package/env/readFile.js +18 -0
  61. package/error/BaseError.d.ts +4 -0
  62. package/error/BaseError.js +9 -0
  63. package/jwt/Algorithm.d.ts +6 -0
  64. package/jwt/Algorithm.js +7 -0
  65. package/jwt/Jwt.d.ts +13 -0
  66. package/jwt/Jwt.js +32 -0
  67. package/jwt/Payload.d.ts +11 -0
  68. package/jwt/Payload.js +1 -0
  69. package/jwt/errors/SecretLengthError.d.ts +5 -0
  70. package/jwt/errors/SecretLengthError.js +7 -0
  71. package/jwt/validateSecretLength.d.ts +3 -0
  72. package/jwt/validateSecretLength.js +13 -0
  73. package/logger/Level.d.ts +10 -0
  74. package/logger/Level.js +11 -0
  75. package/logger/Logger.d.ts +10 -0
  76. package/logger/Logger.js +3 -0
  77. package/logger/Severity.d.ts +9 -0
  78. package/logger/Severity.js +10 -0
  79. package/logger/adapters/file/FileLogger.d.ts +20 -0
  80. package/logger/adapters/file/FileLogger.js +64 -0
  81. package/logger/adapters/file/errors/FileInitError.d.ts +5 -0
  82. package/logger/adapters/file/errors/FileInitError.js +7 -0
  83. package/logger/adapters/file/initFile.d.ts +2 -0
  84. package/logger/adapters/file/initFile.js +14 -0
  85. package/logger/adapters/noop/NoopLogger.d.ts +11 -0
  86. package/logger/adapters/noop/NoopLogger.js +11 -0
  87. package/logger/adapters/stdio/StdioLogger.d.ts +20 -0
  88. package/logger/adapters/stdio/StdioLogger.js +67 -0
  89. package/mailer/Address.d.ts +5 -0
  90. package/mailer/Address.js +1 -0
  91. package/mailer/Attachment.d.ts +7 -0
  92. package/mailer/Attachment.js +1 -0
  93. package/mailer/Event.d.ts +16 -0
  94. package/mailer/Event.js +1 -0
  95. package/mailer/List.d.ts +7 -0
  96. package/mailer/List.js +1 -0
  97. package/mailer/Location.d.ts +9 -0
  98. package/mailer/Location.js +1 -0
  99. package/mailer/Mail.d.ts +19 -0
  100. package/mailer/Mail.js +1 -0
  101. package/mailer/Mailer.d.ts +7 -0
  102. package/mailer/Mailer.js +47 -0
  103. package/mailer/Method.d.ts +5 -0
  104. package/mailer/Method.js +6 -0
  105. package/mailer/adapters/noop/NoopMailer.d.ts +7 -0
  106. package/mailer/adapters/noop/NoopMailer.js +9 -0
  107. package/mailer/adapters/smtp/SmtpMailer.d.ts +18 -0
  108. package/mailer/adapters/smtp/SmtpMailer.js +54 -0
  109. package/mailer/adapters/smtp/getAddress.d.ts +4 -0
  110. package/mailer/adapters/smtp/getAddress.js +9 -0
  111. package/mailer/adapters/smtp/getAddresses.d.ts +4 -0
  112. package/mailer/adapters/smtp/getAddresses.js +11 -0
  113. package/mailer/adapters/smtp/getAttachments.d.ts +4 -0
  114. package/mailer/adapters/smtp/getAttachments.js +14 -0
  115. package/mailer/errors/AddressEmailError.d.ts +5 -0
  116. package/mailer/errors/AddressEmailError.js +7 -0
  117. package/mailer/errors/EventAttachmentUrlError.d.ts +5 -0
  118. package/mailer/errors/EventAttachmentUrlError.js +7 -0
  119. package/mailer/errors/EventGeolocationError.d.ts +5 -0
  120. package/mailer/errors/EventGeolocationError.js +7 -0
  121. package/mailer/errors/EventUrlError.d.ts +5 -0
  122. package/mailer/errors/EventUrlError.js +7 -0
  123. package/mailer/errors/ListUrlError.d.ts +5 -0
  124. package/mailer/errors/ListUrlError.js +7 -0
  125. package/mailer/getIcalendar.d.ts +3 -0
  126. package/mailer/getIcalendar.js +32 -0
  127. package/mailer/validateAddressEmail.d.ts +2 -0
  128. package/mailer/validateAddressEmail.js +8 -0
  129. package/mailer/validateEventAttachmentUrl.d.ts +2 -0
  130. package/mailer/validateEventAttachmentUrl.js +8 -0
  131. package/mailer/validateEventGeolocation.d.ts +2 -0
  132. package/mailer/validateEventGeolocation.js +8 -0
  133. package/mailer/validateEventUrl.d.ts +2 -0
  134. package/mailer/validateEventUrl.js +8 -0
  135. package/mailer/validateListUrl.d.ts +2 -0
  136. package/mailer/validateListUrl.js +8 -0
  137. package/package.json +31 -32
  138. package/parser/Parser.d.ts +2 -0
  139. package/parser/Parser.js +1 -0
  140. package/parser/errors/ParseError.d.ts +5 -0
  141. package/parser/errors/ParseError.js +7 -0
  142. package/parser/factories/enum/createEnumParser.d.ts +6 -0
  143. package/parser/factories/enum/createEnumParser.js +10 -0
  144. package/parser/factories/unit/Unit.d.ts +5 -0
  145. package/parser/factories/unit/Unit.js +1 -0
  146. package/parser/factories/unit/createUnitParser.d.ts +7 -0
  147. package/parser/factories/unit/createUnitParser.js +33 -0
  148. package/parser/parseBoolean.d.ts +3 -0
  149. package/parser/parseBoolean.js +28 -0
  150. package/parser/parseBytes.d.ts +2 -0
  151. package/parser/parseBytes.js +51 -0
  152. package/parser/parseInteger.d.ts +3 -0
  153. package/parser/parseInteger.js +16 -0
  154. package/parser/parseMilliseconds.d.ts +2 -0
  155. package/parser/parseMilliseconds.js +27 -0
  156. package/parser/parseNumber.d.ts +3 -0
  157. package/parser/parseNumber.js +15 -0
  158. package/parser/parseString.d.ts +3 -0
  159. package/parser/parseString.js +11 -0
  160. package/pwd/Pwd.d.ts +9 -0
  161. package/pwd/Pwd.js +16 -0
  162. package/pwd/errors/HashRoundsError.d.ts +5 -0
  163. package/pwd/errors/HashRoundsError.js +7 -0
  164. package/pwd/validateHashRounds.d.ts +2 -0
  165. package/pwd/validateHashRounds.js +7 -0
  166. package/server/ErrorHandler.d.ts +3 -0
  167. package/server/ErrorHandler.js +1 -0
  168. package/server/Format.d.ts +9 -0
  169. package/server/Format.js +1 -0
  170. package/server/Handler.d.ts +3 -0
  171. package/server/Handler.js +1 -0
  172. package/server/Method.d.ts +8 -0
  173. package/server/Method.js +9 -0
  174. package/server/OpenApiFormat.d.ts +5 -0
  175. package/server/OpenApiFormat.js +6 -0
  176. package/server/Route.d.ts +12 -0
  177. package/server/Route.js +1 -0
  178. package/server/Schema.d.ts +9 -0
  179. package/server/Schema.js +1 -0
  180. package/server/Server.d.ts +37 -0
  181. package/server/Server.js +86 -0
  182. package/server/getAjv.d.ts +4 -0
  183. package/server/getAjv.js +19 -0
  184. package/tls/Tls.d.ts +7 -0
  185. package/tls/Tls.js +1 -0
  186. package/tls/errors/FileReadError.d.ts +5 -0
  187. package/tls/errors/FileReadError.js +7 -0
  188. package/tls/getTls.d.ts +8 -0
  189. package/tls/getTls.js +14 -0
  190. package/tls/readFile.d.ts +2 -0
  191. package/tls/readFile.js +14 -0
  192. package/utils/getRandomHexString.d.ts +2 -0
  193. package/utils/getRandomHexString.js +5 -0
  194. package/utils/getTimestamp.d.ts +2 -0
  195. package/utils/getTimestamp.js +4 -0
  196. package/utils/isValidEmail.d.ts +2 -0
  197. package/utils/isValidEmail.js +5 -0
  198. package/utils/isValidGeolocation.d.ts +2 -0
  199. package/utils/isValidGeolocation.js +7 -0
  200. package/utils/isValidHexString.d.ts +2 -0
  201. package/utils/isValidHexString.js +5 -0
  202. package/utils/isValidIsoDate.d.ts +2 -0
  203. package/utils/isValidIsoDate.js +5 -0
  204. package/utils/isValidJwtToken.d.ts +2 -0
  205. package/utils/isValidJwtToken.js +5 -0
  206. package/utils/isValidUrl.d.ts +2 -0
  207. package/utils/isValidUrl.js +16 -0
  208. package/utils/isValidUuid.d.ts +2 -0
  209. package/utils/isValidUuid.js +5 -0
  210. package/utils/wait.d.ts +2 -0
  211. package/utils/wait.js +6 -0
  212. package/api/api.d.ts +0 -7
  213. package/api/api.js +0 -2
  214. package/api/api.ts +0 -8
  215. package/api/auth.d.ts +0 -9
  216. package/api/auth.js +0 -11
  217. package/api/auth.ts +0 -9
  218. package/api/config.d.ts +0 -13
  219. package/api/config.js +0 -59
  220. package/api/config.ts +0 -69
  221. package/api/endpoint.d.ts +0 -20
  222. package/api/endpoint.js +0 -5
  223. package/api/endpoint.ts +0 -23
  224. package/api/handler.d.ts +0 -8
  225. package/api/handler.js +0 -13
  226. package/api/handler.ts +0 -23
  227. package/api/index.d.ts +0 -7
  228. package/api/index.js +0 -187
  229. package/api/index.ts +0 -97
  230. package/api/route.d.ts +0 -6
  231. package/api/route.js +0 -2
  232. package/api/route.ts +0 -4
  233. package/api/router.d.ts +0 -4
  234. package/api/router.js +0 -111
  235. package/api/router.ts +0 -36
  236. package/api/schema.d.ts +0 -29
  237. package/api/schema.js +0 -69
  238. package/api/schema.ts +0 -98
  239. package/app/app.d.ts +0 -6
  240. package/app/app.js +0 -2
  241. package/app/app.ts +0 -7
  242. package/app/boot.d.ts +0 -4
  243. package/app/boot.js +0 -2
  244. package/app/boot.ts +0 -5
  245. package/app/bundle.d.ts +0 -14
  246. package/app/bundle.js +0 -2
  247. package/app/bundle.ts +0 -15
  248. package/app/config.d.ts +0 -4
  249. package/app/config.js +0 -9
  250. package/app/config.ts +0 -9
  251. package/app/index.d.ts +0 -9
  252. package/app/index.js +0 -103
  253. package/app/index.ts +0 -32
  254. package/bin/ape-cli-ts.js +0 -4
  255. package/bin/ape-cli.js +0 -2
  256. package/cli/command.d.ts +0 -4
  257. package/cli/command.js +0 -2
  258. package/cli/command.ts +0 -7
  259. package/cli/index.d.ts +0 -2
  260. package/cli/index.js +0 -103
  261. package/cli/index.ts +0 -41
  262. package/cli/internal/api.d.ts +0 -3
  263. package/cli/internal/api.js +0 -110
  264. package/cli/internal/api.ts +0 -38
  265. package/cli/internal/index.d.ts +0 -2
  266. package/cli/internal/index.js +0 -13
  267. package/cli/internal/index.ts +0 -9
  268. package/cli/internal/migration.d.ts +0 -3
  269. package/cli/internal/migration.js +0 -214
  270. package/cli/internal/migration.ts +0 -110
  271. package/cli/internal/queue.d.ts +0 -3
  272. package/cli/internal/queue.js +0 -147
  273. package/cli/internal/queue.ts +0 -60
  274. package/cli/utils.d.ts +0 -18
  275. package/cli/utils.js +0 -52
  276. package/cli/utils.ts +0 -48
  277. package/config/config.d.ts +0 -5
  278. package/config/config.js +0 -2
  279. package/config/config.ts +0 -6
  280. package/config/configuration.d.ts +0 -63
  281. package/config/configuration.js +0 -2
  282. package/config/configuration.ts +0 -72
  283. package/config/default.d.ts +0 -33
  284. package/config/default.js +0 -34
  285. package/config/default.ts +0 -40
  286. package/config/env.d.ts +0 -66
  287. package/config/env.js +0 -72
  288. package/config/env.ts +0 -79
  289. package/config/index.d.ts +0 -8
  290. package/config/index.js +0 -91
  291. package/config/index.ts +0 -101
  292. package/config/loadFile.d.ts +0 -2
  293. package/config/loadFile.js +0 -13
  294. package/config/loadFile.ts +0 -9
  295. package/config/node.d.ts +0 -5
  296. package/config/node.js +0 -11
  297. package/config/node.ts +0 -7
  298. package/config/store.d.ts +0 -6
  299. package/config/store.js +0 -20
  300. package/config/store.ts +0 -15
  301. package/db/config/index.d.ts +0 -10
  302. package/db/config/index.js +0 -43
  303. package/db/config/index.ts +0 -35
  304. package/db/config/memory.d.ts +0 -3
  305. package/db/config/memory.js +0 -15
  306. package/db/config/memory.ts +0 -13
  307. package/db/config/mysql.d.ts +0 -3
  308. package/db/config/mysql.js +0 -56
  309. package/db/config/mysql.ts +0 -58
  310. package/db/config/postgres.d.ts +0 -3
  311. package/db/config/postgres.js +0 -59
  312. package/db/config/postgres.ts +0 -61
  313. package/db/config/sqlite.d.ts +0 -3
  314. package/db/config/sqlite.js +0 -21
  315. package/db/config/sqlite.ts +0 -20
  316. package/db/database.d.ts +0 -3
  317. package/db/database.js +0 -3
  318. package/db/database.ts +0 -5
  319. package/db/index.d.ts +0 -10
  320. package/db/index.js +0 -32
  321. package/db/index.ts +0 -26
  322. package/db/postProcess.d.ts +0 -3
  323. package/db/postProcess.js +0 -25
  324. package/db/postProcess.ts +0 -27
  325. package/db/schema/builder/_.d.ts +0 -30
  326. package/db/schema/builder/_.js +0 -87
  327. package/db/schema/builder/_.ts +0 -101
  328. package/db/schema/builder/columnBuilder.d.ts +0 -7
  329. package/db/schema/builder/columnBuilder.js +0 -14
  330. package/db/schema/builder/columnBuilder.ts +0 -15
  331. package/db/schema/builder/dataType.d.ts +0 -28
  332. package/db/schema/builder/dataType.js +0 -170
  333. package/db/schema/builder/dataType.ts +0 -184
  334. package/db/schema/builder/index.d.ts +0 -15
  335. package/db/schema/builder/index.js +0 -42
  336. package/db/schema/builder/index.ts +0 -50
  337. package/db/schema/builder/tableBuilder.d.ts +0 -45
  338. package/db/schema/builder/tableBuilder.js +0 -307
  339. package/db/schema/builder/tableBuilder.ts +0 -409
  340. package/db/schema/config.d.ts +0 -4
  341. package/db/schema/config.js +0 -5
  342. package/db/schema/config.ts +0 -3
  343. package/db/schema/index.d.ts +0 -7
  344. package/db/schema/index.js +0 -252
  345. package/db/schema/index.ts +0 -88
  346. package/db/schema/migration.d.ts +0 -6
  347. package/db/schema/migration.js +0 -2
  348. package/db/schema/migration.ts +0 -7
  349. package/db/schema/migrationList.d.ts +0 -5
  350. package/db/schema/migrationList.js +0 -2
  351. package/db/schema/migrationList.ts +0 -5
  352. package/db/schema/migrationSource.d.ts +0 -10
  353. package/db/schema/migrationSource.js +0 -60
  354. package/db/schema/migrationSource.ts +0 -24
  355. package/db/schema/schema.d.ts +0 -6
  356. package/db/schema/schema.js +0 -2
  357. package/db/schema/schema.ts +0 -7
  358. package/db/utils/index.d.ts +0 -7
  359. package/db/utils/index.js +0 -10
  360. package/db/utils/index.ts +0 -8
  361. package/db/utils/insertGetKey.d.ts +0 -8
  362. package/db/utils/insertGetKey.js +0 -109
  363. package/db/utils/insertGetKey.ts +0 -80
  364. package/i18n/config.d.ts +0 -4
  365. package/i18n/config.js +0 -9
  366. package/i18n/config.ts +0 -9
  367. package/i18n/i18n.d.ts +0 -5
  368. package/i18n/i18n.js +0 -2
  369. package/i18n/i18n.ts +0 -6
  370. package/i18n/index.d.ts +0 -8
  371. package/i18n/index.js +0 -155
  372. package/i18n/index.ts +0 -42
  373. package/i18n/internationalization.d.ts +0 -3
  374. package/i18n/internationalization.js +0 -2
  375. package/i18n/internationalization.ts +0 -5
  376. package/i18n/translation.d.ts +0 -4
  377. package/i18n/translation.js +0 -2
  378. package/i18n/translation.ts +0 -4
  379. package/jwt/config.d.ts +0 -5
  380. package/jwt/config.js +0 -12
  381. package/jwt/config.ts +0 -11
  382. package/jwt/index.d.ts +0 -8
  383. package/jwt/index.js +0 -90
  384. package/jwt/index.ts +0 -60
  385. package/jwt/jwt.d.ts +0 -6
  386. package/jwt/jwt.js +0 -2
  387. package/jwt/jwt.ts +0 -19
  388. package/jwt/user.d.ts +0 -4
  389. package/jwt/user.js +0 -2
  390. package/jwt/user.ts +0 -4
  391. package/log/config.d.ts +0 -23
  392. package/log/config.js +0 -47
  393. package/log/config.ts +0 -43
  394. package/log/index.d.ts +0 -4
  395. package/log/index.js +0 -9
  396. package/log/index.ts +0 -9
  397. package/log/logger.d.ts +0 -3
  398. package/log/logger.js +0 -2
  399. package/log/logger.ts +0 -5
  400. package/mail/config.d.ts +0 -4
  401. package/mail/config.js +0 -5
  402. package/mail/config.ts +0 -3
  403. package/mail/email.d.ts +0 -20
  404. package/mail/email.js +0 -2
  405. package/mail/email.ts +0 -21
  406. package/mail/index.d.ts +0 -2
  407. package/mail/index.js +0 -4
  408. package/mail/index.ts +0 -3
  409. package/mail/mail.d.ts +0 -12
  410. package/mail/mail.js +0 -2
  411. package/mail/mail.ts +0 -13
  412. package/mail/module/bypass/index.d.ts +0 -6
  413. package/mail/module/bypass/index.js +0 -74
  414. package/mail/module/bypass/index.ts +0 -9
  415. package/mail/module/config.d.ts +0 -11
  416. package/mail/module/config.js +0 -24
  417. package/mail/module/config.ts +0 -25
  418. package/mail/module/index.d.ts +0 -8
  419. package/mail/module/index.js +0 -107
  420. package/mail/module/index.ts +0 -61
  421. package/mail/module/smtp/config.d.ts +0 -6
  422. package/mail/module/smtp/config.js +0 -25
  423. package/mail/module/smtp/config.ts +0 -25
  424. package/mail/module/smtp/index.d.ts +0 -9
  425. package/mail/module/smtp/index.js +0 -104
  426. package/mail/module/smtp/index.ts +0 -36
  427. package/mq/index.d.ts +0 -3
  428. package/mq/index.js +0 -27
  429. package/mq/index.ts +0 -4
  430. package/mq/module/bypass/index.d.ts +0 -13
  431. package/mq/module/bypass/index.js +0 -86
  432. package/mq/module/bypass/index.ts +0 -20
  433. package/mq/module/config.d.ts +0 -6
  434. package/mq/module/config.js +0 -15
  435. package/mq/module/config.ts +0 -14
  436. package/mq/module/index.d.ts +0 -9
  437. package/mq/module/index.js +0 -93
  438. package/mq/module/index.ts +0 -24
  439. package/mq/module/redis/config.d.ts +0 -27
  440. package/mq/module/redis/config.js +0 -37
  441. package/mq/module/redis/config.ts +0 -34
  442. package/mq/module/redis/index.d.ts +0 -15
  443. package/mq/module/redis/index.js +0 -132
  444. package/mq/module/redis/index.ts +0 -60
  445. package/mq/mq.d.ts +0 -15
  446. package/mq/mq.js +0 -2
  447. package/mq/mq.ts +0 -18
  448. package/mq/queue.d.ts +0 -9
  449. package/mq/queue.js +0 -2
  450. package/mq/queue.ts +0 -11
  451. package/pwd/config.d.ts +0 -4
  452. package/pwd/config.js +0 -9
  453. package/pwd/config.ts +0 -9
  454. package/pwd/index.d.ts +0 -6
  455. package/pwd/index.js +0 -21
  456. package/pwd/index.ts +0 -20
  457. package/pwd/pwd.d.ts +0 -4
  458. package/pwd/pwd.js +0 -2
  459. package/pwd/pwd.ts +0 -4
  460. package/utils/index.d.ts +0 -25
  461. package/utils/index.js +0 -72
  462. package/utils/index.ts +0 -56
package/mq/index.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- var config_1 = require("./module/config");
27
- exports.default = (await Promise.resolve("".concat("./module/".concat(config_1.module))).then(function (s) { return __importStar(require(s)); })).default;
package/mq/index.ts DELETED
@@ -1,4 +0,0 @@
1
- import { module } from './module/config'
2
- import type { Mq } from './mq'
3
-
4
- export default (await import(`./module/${module}`)).default as Mq
@@ -1,13 +0,0 @@
1
- import { MqModule } from '..';
2
- import type { Job } from '../../queue';
3
- export declare class BypassMq extends MqModule {
4
- createSender(): {
5
- send: <Data>(job: Job, data: Data) => Promise<void>;
6
- close: () => Promise<void>;
7
- };
8
- createWorker(): {
9
- start: () => Promise<void>;
10
- close: () => Promise<void>;
11
- };
12
- }
13
- export default BypassMq;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.BypassMq = void 0;
55
- var __1 = require("..");
56
- var BypassMq = /** @class */ (function (_super) {
57
- __extends(BypassMq, _super);
58
- function BypassMq() {
59
- return _super !== null && _super.apply(this, arguments) || this;
60
- }
61
- BypassMq.prototype.createSender = function () {
62
- var _this = this;
63
- return {
64
- send: function (job, data) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
65
- return [2 /*return*/, job.process(data, function () { })];
66
- }); }); },
67
- close: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
68
- return [2 /*return*/];
69
- }); }); },
70
- };
71
- };
72
- BypassMq.prototype.createWorker = function () {
73
- var _this = this;
74
- return {
75
- start: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
76
- return [2 /*return*/];
77
- }); }); },
78
- close: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
79
- return [2 /*return*/];
80
- }); }); },
81
- };
82
- };
83
- return BypassMq;
84
- }(__1.MqModule));
85
- exports.BypassMq = BypassMq;
86
- exports.default = BypassMq;
@@ -1,20 +0,0 @@
1
- import { MqModule } from '..'
2
- import type { Job } from '../../queue'
3
-
4
- export class BypassMq extends MqModule {
5
- createSender() {
6
- return {
7
- send: async <Data>(job: Job, data: Data) => job.process(data, () => { }),
8
- close: async () => { },
9
- }
10
- }
11
-
12
- createWorker() {
13
- return {
14
- start: async () => { },
15
- close: async () => { },
16
- }
17
- }
18
- }
19
-
20
- export default BypassMq
@@ -1,6 +0,0 @@
1
- declare enum Module {
2
- bypass = "bypass",
3
- redis = "redis"
4
- }
5
- export declare const module: Module | undefined;
6
- export default module;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.module = void 0;
4
- var config_1 = require("../../config");
5
- var config = (0, config_1.getConfig)();
6
- var Module;
7
- (function (Module) {
8
- Module["bypass"] = "bypass";
9
- Module["redis"] = "redis";
10
- })(Module || (Module = {}));
11
- exports.module = Object.values(Module)
12
- .find(function (module) { return module === config.mqModule; });
13
- if (!exports.module)
14
- throw new Error("mq: invalid module \"".concat(config.mqModule, "\""));
15
- exports.default = exports.module;
@@ -1,14 +0,0 @@
1
- import { getConfig } from '../../config'
2
-
3
- const config = getConfig()
4
-
5
- enum Module {
6
- bypass = 'bypass',
7
- redis = 'redis',
8
- }
9
-
10
- export const module = Object.values(Module)
11
- .find((module: string) => module === config.mqModule)
12
- if (!module) throw new Error(`mq: invalid module "${config.mqModule}"`)
13
-
14
- export default module
@@ -1,9 +0,0 @@
1
- import type { Mq, Sender, Worker } from '../mq';
2
- import type { Queue } from '../queue';
3
- export declare abstract class MqModule implements Mq {
4
- getQueues(): Promise<Queue[]>;
5
- getQueue(queueId: string): Promise<Queue | undefined>;
6
- abstract createSender(queue: Queue): Sender;
7
- abstract createWorker(queue: Queue): Worker;
8
- }
9
- export default MqModule;
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.MqModule = void 0;
40
- var app_1 = require("../../app");
41
- var MqModule = /** @class */ (function () {
42
- function MqModule() {
43
- }
44
- MqModule.prototype.getQueues = function () {
45
- return __awaiter(this, void 0, void 0, function () {
46
- var queues, _i, _a, bundle, _b;
47
- return __generator(this, function (_c) {
48
- switch (_c.label) {
49
- case 0:
50
- queues = [];
51
- _i = 0;
52
- return [4 /*yield*/, (0, app_1.getBundles)()];
53
- case 1:
54
- _a = _c.sent();
55
- _c.label = 2;
56
- case 2:
57
- if (!(_i < _a.length)) return [3 /*break*/, 7];
58
- bundle = _a[_i];
59
- if (!bundle.queues) return [3 /*break*/, 4];
60
- return [4 /*yield*/, bundle.queues()];
61
- case 3:
62
- _b = _c.sent();
63
- return [3 /*break*/, 5];
64
- case 4:
65
- _b = [];
66
- _c.label = 5;
67
- case 5:
68
- (_b)
69
- .forEach(function (queue) { return queues.push(queue); });
70
- _c.label = 6;
71
- case 6:
72
- _i++;
73
- return [3 /*break*/, 2];
74
- case 7: return [2 /*return*/, queues];
75
- }
76
- });
77
- });
78
- };
79
- MqModule.prototype.getQueue = function (queueId) {
80
- return __awaiter(this, void 0, void 0, function () {
81
- return __generator(this, function (_a) {
82
- switch (_a.label) {
83
- case 0: return [4 /*yield*/, this.getQueues()];
84
- case 1: return [2 /*return*/, (_a.sent())
85
- .find(function (queue) { return queue.queueId === queueId; })];
86
- }
87
- });
88
- });
89
- };
90
- return MqModule;
91
- }());
92
- exports.MqModule = MqModule;
93
- exports.default = MqModule;
@@ -1,24 +0,0 @@
1
- import { getBundles } from '../../app'
2
- import type { Mq, Sender, Worker } from '../mq'
3
- import type { Queue } from '../queue'
4
-
5
- export abstract class MqModule implements Mq {
6
- async getQueues() {
7
- const queues: Queue[] = []
8
- for (const bundle of await getBundles()) {
9
- (bundle.queues ? await bundle.queues() : [])
10
- .forEach((queue) => queues.push(queue))
11
- }
12
- return queues
13
- }
14
-
15
- async getQueue(queueId: string) {
16
- return (await this.getQueues())
17
- .find((queue) => queue.queueId === queueId)
18
- }
19
-
20
- abstract createSender(queue: Queue): Sender
21
- abstract createWorker(queue: Queue): Worker
22
- }
23
-
24
- export default MqModule
@@ -1,27 +0,0 @@
1
- declare const _default: {
2
- queueOptions: {
3
- defaultJobOptions: {
4
- removeOnComplete: boolean;
5
- };
6
- connection: {
7
- host: string;
8
- port: number;
9
- username: string | undefined;
10
- password: string | undefined;
11
- enableOfflineQueue: boolean;
12
- };
13
- prefix: string;
14
- };
15
- workerOptions: {
16
- autorun: boolean;
17
- connection: {
18
- host: string;
19
- port: number;
20
- username: string | undefined;
21
- password: string | undefined;
22
- enableOfflineQueue: boolean;
23
- };
24
- prefix: string;
25
- };
26
- };
27
- export default _default;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- var config_1 = require("../../../config");
15
- var config = (0, config_1.getConfig)();
16
- if (!config.mqRedisHost)
17
- throw new Error('mq: redis host not provided');
18
- if (!config.mqRedisPort)
19
- throw new Error('mq: redis port not provided');
20
- var commonOptions = {
21
- connection: {
22
- host: config.mqRedisHost,
23
- port: config.mqRedisPort,
24
- username: config.mqRedisUser || undefined,
25
- password: config.mqRedisPassword || undefined,
26
- enableOfflineQueue: false,
27
- },
28
- prefix: config.mqRedisPrefix,
29
- };
30
- var queueOptions = __assign(__assign({}, commonOptions), { defaultJobOptions: {
31
- removeOnComplete: true,
32
- } });
33
- var workerOptions = __assign(__assign({}, commonOptions), { autorun: false });
34
- exports.default = {
35
- queueOptions: queueOptions,
36
- workerOptions: workerOptions,
37
- };
@@ -1,34 +0,0 @@
1
- import { getConfig } from '../../../config'
2
-
3
- const config = getConfig()
4
-
5
- if (!config.mqRedisHost) throw new Error('mq: redis host not provided')
6
- if (!config.mqRedisPort) throw new Error('mq: redis port not provided')
7
-
8
- const commonOptions = {
9
- connection: {
10
- host: config.mqRedisHost,
11
- port: config.mqRedisPort,
12
- username: config.mqRedisUser || undefined,
13
- password: config.mqRedisPassword || undefined,
14
- enableOfflineQueue: false,
15
- },
16
- prefix: config.mqRedisPrefix,
17
- }
18
-
19
- const queueOptions = {
20
- ...commonOptions,
21
- defaultJobOptions: {
22
- removeOnComplete: true,
23
- },
24
- }
25
-
26
- const workerOptions = {
27
- ...commonOptions,
28
- autorun: false,
29
- }
30
-
31
- export default {
32
- queueOptions,
33
- workerOptions,
34
- }
@@ -1,15 +0,0 @@
1
- import { Job as BullJob } from 'bullmq';
2
- import { MqModule } from '..';
3
- import type { Job, Queue } from '../../queue';
4
- export declare const formatJob: (queue: Queue, job?: BullJob) => string;
5
- export declare class RedisMq extends MqModule {
6
- createSender(queue: Queue): {
7
- send: <Data>(job: Job, data: Data) => Promise<void>;
8
- close: () => Promise<void>;
9
- };
10
- createWorker(queue: Queue): {
11
- start: () => Promise<void>;
12
- close: () => Promise<void>;
13
- };
14
- }
15
- export default RedisMq;
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __importDefault = (this && this.__importDefault) || function (mod) {
54
- return (mod && mod.__esModule) ? mod : { "default": mod };
55
- };
56
- Object.defineProperty(exports, "__esModule", { value: true });
57
- exports.RedisMq = exports.formatJob = void 0;
58
- var bullmq_1 = require("bullmq");
59
- var __1 = require("..");
60
- var config_1 = __importDefault(require("./config"));
61
- var log_1 = __importDefault(require("../../../log"));
62
- var formatJob = function (queue, job) { return queue.queueId + (job ? " #".concat(job.id, " ").concat(job.name) : ''); };
63
- exports.formatJob = formatJob;
64
- var RedisMq = /** @class */ (function (_super) {
65
- __extends(RedisMq, _super);
66
- function RedisMq() {
67
- return _super !== null && _super.apply(this, arguments) || this;
68
- }
69
- RedisMq.prototype.createSender = function (queue) {
70
- var _this = this;
71
- var bullQueue = new bullmq_1.Queue(queue.queueId, config_1.default.queueOptions);
72
- bullQueue.on('waiting', function (job) {
73
- log_1.default.debug("mq: job \"".concat((0, exports.formatJob)(queue, job), "\" waiting"));
74
- });
75
- return {
76
- send: function (job, data) { return __awaiter(_this, void 0, void 0, function () {
77
- return __generator(this, function (_a) {
78
- switch (_a.label) {
79
- case 0: return [4 /*yield*/, bullQueue.add(job.jobId, data)];
80
- case 1:
81
- _a.sent();
82
- return [2 /*return*/];
83
- }
84
- });
85
- }); },
86
- close: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
87
- return [2 /*return*/, bullQueue.close()];
88
- }); }); },
89
- };
90
- };
91
- RedisMq.prototype.createWorker = function (queue) {
92
- var _this = this;
93
- var jobs = {};
94
- queue.jobs.forEach(function (job) { return jobs[job.jobId] = job; });
95
- var bullWorker = new bullmq_1.Worker(queue.queueId, function (bullJob) { return __awaiter(_this, void 0, void 0, function () {
96
- var progress;
97
- return __generator(this, function (_a) {
98
- switch (_a.label) {
99
- case 0:
100
- progress = function (c, t) {
101
- bullJob.updateProgress(Math.floor(c / t * 100));
102
- };
103
- return [4 /*yield*/, jobs[bullJob.name].process(bullJob.data, progress)];
104
- case 1:
105
- _a.sent();
106
- return [2 /*return*/];
107
- }
108
- });
109
- }); }, config_1.default.workerOptions);
110
- bullWorker.on('active', function (job) {
111
- log_1.default.debug("mq: job \"".concat((0, exports.formatJob)(queue, job), "\" active"));
112
- });
113
- bullWorker.on('progress', function (job, progress) {
114
- log_1.default.debug("mq: job \"".concat((0, exports.formatJob)(queue, job), "\" progress ").concat(String(progress), "%"));
115
- });
116
- bullWorker.on('completed', function (job) {
117
- log_1.default.debug("mq: job \"".concat((0, exports.formatJob)(queue, job), "\" completed"));
118
- });
119
- bullWorker.on('failed', function (job, error) {
120
- log_1.default.error("mq: job \"".concat((0, exports.formatJob)(queue, job), "\" failed"));
121
- log_1.default.error(error);
122
- bullWorker.close();
123
- });
124
- return {
125
- start: function () { return bullWorker.run(); },
126
- close: function () { return bullWorker.close(); },
127
- };
128
- };
129
- return RedisMq;
130
- }(__1.MqModule));
131
- exports.RedisMq = RedisMq;
132
- exports.default = RedisMq;
@@ -1,60 +0,0 @@
1
- import { Job as BullJob, Queue as BullQueue, Worker as BullWorker } from 'bullmq'
2
- import { MqModule } from '..'
3
- import config from './config'
4
- import log from '../../../log'
5
- import type { Job, Progress, Queue } from '../../queue'
6
-
7
- export const formatJob = (
8
- queue: Queue,
9
- job?: BullJob,
10
- ) => queue.queueId + (job ? ` #${job.id} ${job.name}` : '')
11
-
12
- export class RedisMq extends MqModule {
13
- createSender(queue: Queue) {
14
- const bullQueue = new BullQueue(queue.queueId, config.queueOptions)
15
- bullQueue.on('waiting', (job) => {
16
- log.debug(`mq: job "${formatJob(queue, job)}" waiting`)
17
- })
18
-
19
- return {
20
- send: async <Data>(job: Job, data: Data) => {
21
- await bullQueue.add(job.jobId, data)
22
- },
23
- close: async () => bullQueue.close(),
24
- }
25
- }
26
-
27
- createWorker(queue: Queue) {
28
- const jobs: Record<string, Job> = {}
29
- queue.jobs.forEach((job) => jobs[job.jobId] = job)
30
-
31
- const bullWorker = new BullWorker(queue.queueId, async (bullJob) => {
32
- const progress: Progress = (c, t) => {
33
- bullJob.updateProgress(Math.floor(c / t * 100))
34
- }
35
- await jobs[bullJob.name].process(bullJob.data, progress)
36
- }, config.workerOptions)
37
-
38
- bullWorker.on('active', (job) => {
39
- log.debug(`mq: job "${formatJob(queue, job)}" active`)
40
- })
41
- bullWorker.on('progress', (job, progress) => {
42
- log.debug(`mq: job "${formatJob(queue, job)}" progress ${String(progress)}%`)
43
- })
44
- bullWorker.on('completed', (job) => {
45
- log.debug(`mq: job "${formatJob(queue, job)}" completed`)
46
- })
47
- bullWorker.on('failed', (job, error) => {
48
- log.error(`mq: job "${formatJob(queue, job)}" failed`)
49
- log.error(error)
50
- bullWorker.close()
51
- })
52
-
53
- return {
54
- start: () => bullWorker.run(),
55
- close: () => bullWorker.close(),
56
- }
57
- }
58
- }
59
-
60
- export default RedisMq
package/mq/mq.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import type { Job, Queue } from './queue';
2
- export interface Mq {
3
- getQueues: () => Promise<Queue[]>;
4
- getQueue: (queueId: string) => Promise<Queue | undefined>;
5
- createSender: (queue: Queue) => Sender;
6
- createWorker: (queue: Queue) => Worker;
7
- }
8
- export interface Sender {
9
- send: <Data>(job: Job, data: Data) => Promise<void>;
10
- close: () => Promise<void>;
11
- }
12
- export interface Worker {
13
- start: () => void;
14
- close: () => Promise<void>;
15
- }
package/mq/mq.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });