semola 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/README.md +18 -45
  2. package/dist/chunk-CKQMccvm.cjs +28 -0
  3. package/dist/lib/api/index.cjs +536 -4
  4. package/dist/lib/api/index.d.cts +270 -4
  5. package/dist/lib/api/index.d.mts +270 -4
  6. package/dist/lib/api/index.mjs +534 -2
  7. package/dist/lib/cache/index.cjs +47 -22
  8. package/dist/lib/cache/index.d.cts +14 -23
  9. package/dist/lib/cache/index.d.mts +14 -23
  10. package/dist/lib/cache/index.mjs +48 -25
  11. package/dist/lib/cron/index.cjs +734 -12
  12. package/dist/lib/cron/index.d.cts +145 -3
  13. package/dist/lib/cron/index.d.mts +145 -3
  14. package/dist/lib/cron/index.mjs +725 -3
  15. package/dist/lib/errors/index.d.cts +4 -4
  16. package/dist/lib/errors/index.d.mts +4 -4
  17. package/dist/lib/errors/index.mjs +0 -2
  18. package/dist/lib/i18n/index.d.cts +12 -4
  19. package/dist/lib/i18n/index.d.mts +12 -4
  20. package/dist/lib/i18n/index.mjs +0 -2
  21. package/dist/lib/logging/index.cjs +387 -17
  22. package/dist/lib/logging/index.d.cts +107 -6
  23. package/dist/lib/logging/index.d.mts +107 -6
  24. package/dist/lib/logging/index.mjs +373 -4
  25. package/dist/lib/orm/index.cjs +1641 -19
  26. package/dist/lib/orm/index.d.cts +402 -7
  27. package/dist/lib/orm/index.d.mts +402 -7
  28. package/dist/lib/orm/index.mjs +1630 -6
  29. package/dist/lib/policy/index.cjs +206 -20
  30. package/dist/lib/policy/index.d.cts +61 -5
  31. package/dist/lib/policy/index.d.mts +61 -5
  32. package/dist/lib/policy/index.mjs +187 -3
  33. package/dist/lib/prompts/index.cjs +374 -14
  34. package/dist/lib/prompts/index.d.cts +73 -29
  35. package/dist/lib/prompts/index.d.mts +73 -29
  36. package/dist/lib/prompts/index.mjs +361 -4
  37. package/dist/lib/pubsub/index.cjs +43 -19
  38. package/dist/lib/pubsub/index.d.cts +12 -22
  39. package/dist/lib/pubsub/index.d.mts +12 -22
  40. package/dist/lib/pubsub/index.mjs +44 -22
  41. package/dist/lib/queue/index.cjs +40 -10
  42. package/dist/lib/queue/index.d.cts +57 -8
  43. package/dist/lib/queue/index.d.mts +57 -8
  44. package/dist/lib/queue/index.mjs +39 -13
  45. package/dist/lib/workflow/index.cjs +285 -282
  46. package/dist/lib/workflow/index.d.cts +147 -4
  47. package/dist/lib/workflow/index.d.mts +147 -4
  48. package/dist/lib/workflow/index.mjs +278 -286
  49. package/package.json +11 -1
  50. package/dist/api/core/index.cjs +0 -206
  51. package/dist/api/core/index.d.cts +0 -21
  52. package/dist/api/core/index.d.cts.map +0 -1
  53. package/dist/api/core/index.d.mts +0 -21
  54. package/dist/api/core/index.d.mts.map +0 -1
  55. package/dist/api/core/index.mjs +0 -208
  56. package/dist/api/core/index.mjs.map +0 -1
  57. package/dist/api/core/types.d.cts +0 -107
  58. package/dist/api/core/types.d.cts.map +0 -1
  59. package/dist/api/core/types.d.mts +0 -107
  60. package/dist/api/core/types.d.mts.map +0 -1
  61. package/dist/api/middleware/index.cjs +0 -8
  62. package/dist/api/middleware/index.d.cts +0 -11
  63. package/dist/api/middleware/index.d.cts.map +0 -1
  64. package/dist/api/middleware/index.d.mts +0 -11
  65. package/dist/api/middleware/index.d.mts.map +0 -1
  66. package/dist/api/middleware/index.mjs +0 -10
  67. package/dist/api/middleware/index.mjs.map +0 -1
  68. package/dist/api/middleware/types.d.cts +0 -16
  69. package/dist/api/middleware/types.d.cts.map +0 -1
  70. package/dist/api/middleware/types.d.mts +0 -16
  71. package/dist/api/middleware/types.d.mts.map +0 -1
  72. package/dist/api/openapi/index.cjs +0 -254
  73. package/dist/api/openapi/index.mjs +0 -256
  74. package/dist/api/openapi/index.mjs.map +0 -1
  75. package/dist/api/openapi/types.d.cts +0 -60
  76. package/dist/api/openapi/types.d.cts.map +0 -1
  77. package/dist/api/openapi/types.d.mts +0 -60
  78. package/dist/api/openapi/types.d.mts.map +0 -1
  79. package/dist/api/validation/index.cjs +0 -64
  80. package/dist/api/validation/index.mjs +0 -61
  81. package/dist/api/validation/index.mjs.map +0 -1
  82. package/dist/cache/types.d.cts +0 -17
  83. package/dist/cache/types.d.cts.map +0 -1
  84. package/dist/cache/types.d.mts +0 -17
  85. package/dist/cache/types.d.mts.map +0 -1
  86. package/dist/cron/builder/index.cjs +0 -166
  87. package/dist/cron/builder/index.d.cts +0 -28
  88. package/dist/cron/builder/index.d.cts.map +0 -1
  89. package/dist/cron/builder/index.d.mts +0 -28
  90. package/dist/cron/builder/index.d.mts.map +0 -1
  91. package/dist/cron/builder/index.mjs +0 -163
  92. package/dist/cron/builder/index.mjs.map +0 -1
  93. package/dist/cron/builder/types.cjs +0 -27
  94. package/dist/cron/builder/types.d.cts +0 -79
  95. package/dist/cron/builder/types.d.cts.map +0 -1
  96. package/dist/cron/builder/types.d.mts +0 -79
  97. package/dist/cron/builder/types.d.mts.map +0 -1
  98. package/dist/cron/builder/types.mjs +0 -28
  99. package/dist/cron/builder/types.mjs.map +0 -1
  100. package/dist/cron/core/index.cjs +0 -308
  101. package/dist/cron/core/index.d.cts +0 -39
  102. package/dist/cron/core/index.d.cts.map +0 -1
  103. package/dist/cron/core/index.d.mts +0 -39
  104. package/dist/cron/core/index.d.mts.map +0 -1
  105. package/dist/cron/core/index.mjs +0 -310
  106. package/dist/cron/core/index.mjs.map +0 -1
  107. package/dist/cron/core/scanner.cjs +0 -237
  108. package/dist/cron/core/scanner.mjs +0 -238
  109. package/dist/cron/core/scanner.mjs.map +0 -1
  110. package/dist/cron/core/types.d.cts +0 -11
  111. package/dist/cron/core/types.d.cts.map +0 -1
  112. package/dist/cron/core/types.d.mts +0 -11
  113. package/dist/cron/core/types.d.mts.map +0 -1
  114. package/dist/errors/types.d.cts +0 -5
  115. package/dist/errors/types.d.cts.map +0 -1
  116. package/dist/errors/types.d.mts +0 -5
  117. package/dist/errors/types.d.mts.map +0 -1
  118. package/dist/i18n/types.d.cts +0 -13
  119. package/dist/i18n/types.d.cts.map +0 -1
  120. package/dist/i18n/types.d.mts +0 -13
  121. package/dist/i18n/types.d.mts.map +0 -1
  122. package/dist/lib/cache/index.d.cts.map +0 -1
  123. package/dist/lib/cache/index.d.mts.map +0 -1
  124. package/dist/lib/cache/index.mjs.map +0 -1
  125. package/dist/lib/errors/index.d.cts.map +0 -1
  126. package/dist/lib/errors/index.d.mts.map +0 -1
  127. package/dist/lib/errors/index.mjs.map +0 -1
  128. package/dist/lib/i18n/index.d.cts.map +0 -1
  129. package/dist/lib/i18n/index.d.mts.map +0 -1
  130. package/dist/lib/i18n/index.mjs.map +0 -1
  131. package/dist/lib/policy/index.d.cts.map +0 -1
  132. package/dist/lib/policy/index.d.mts.map +0 -1
  133. package/dist/lib/policy/index.mjs.map +0 -1
  134. package/dist/lib/prompts/index.d.cts.map +0 -1
  135. package/dist/lib/prompts/index.d.mts.map +0 -1
  136. package/dist/lib/prompts/index.mjs.map +0 -1
  137. package/dist/lib/pubsub/index.d.cts.map +0 -1
  138. package/dist/lib/pubsub/index.d.mts.map +0 -1
  139. package/dist/lib/pubsub/index.mjs.map +0 -1
  140. package/dist/lib/queue/index.d.cts.map +0 -1
  141. package/dist/lib/queue/index.d.mts.map +0 -1
  142. package/dist/lib/queue/index.mjs.map +0 -1
  143. package/dist/lib/workflow/index.d.cts.map +0 -1
  144. package/dist/lib/workflow/index.d.mts.map +0 -1
  145. package/dist/lib/workflow/index.mjs.map +0 -1
  146. package/dist/logging/core/index.cjs +0 -99
  147. package/dist/logging/core/index.d.cts +0 -26
  148. package/dist/logging/core/index.d.cts.map +0 -1
  149. package/dist/logging/core/index.d.mts +0 -26
  150. package/dist/logging/core/index.d.mts.map +0 -1
  151. package/dist/logging/core/index.mjs +0 -99
  152. package/dist/logging/core/index.mjs.map +0 -1
  153. package/dist/logging/core/types.cjs +0 -10
  154. package/dist/logging/core/types.d.cts +0 -22
  155. package/dist/logging/core/types.d.cts.map +0 -1
  156. package/dist/logging/core/types.d.mts +0 -22
  157. package/dist/logging/core/types.d.mts.map +0 -1
  158. package/dist/logging/core/types.mjs +0 -12
  159. package/dist/logging/core/types.mjs.map +0 -1
  160. package/dist/logging/formatter/index.cjs +0 -119
  161. package/dist/logging/formatter/index.d.cts +0 -27
  162. package/dist/logging/formatter/index.d.cts.map +0 -1
  163. package/dist/logging/formatter/index.d.mts +0 -27
  164. package/dist/logging/formatter/index.d.mts.map +0 -1
  165. package/dist/logging/formatter/index.mjs +0 -115
  166. package/dist/logging/formatter/index.mjs.map +0 -1
  167. package/dist/logging/formatter/types.d.cts +0 -5
  168. package/dist/logging/formatter/types.d.cts.map +0 -1
  169. package/dist/logging/formatter/types.d.mts +0 -5
  170. package/dist/logging/formatter/types.d.mts.map +0 -1
  171. package/dist/logging/provider/index.cjs +0 -165
  172. package/dist/logging/provider/index.d.cts +0 -28
  173. package/dist/logging/provider/index.d.cts.map +0 -1
  174. package/dist/logging/provider/index.d.mts +0 -28
  175. package/dist/logging/provider/index.d.mts.map +0 -1
  176. package/dist/logging/provider/index.mjs +0 -165
  177. package/dist/logging/provider/index.mjs.map +0 -1
  178. package/dist/logging/provider/types.d.cts +0 -23
  179. package/dist/logging/provider/types.d.cts.map +0 -1
  180. package/dist/logging/provider/types.d.mts +0 -23
  181. package/dist/logging/provider/types.d.mts.map +0 -1
  182. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts +0 -80
  183. package/dist/node_modules/@standard-schema/spec/dist/index.d.cts.map +0 -1
  184. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts +0 -80
  185. package/dist/node_modules/@standard-schema/spec/dist/index.d.mts.map +0 -1
  186. package/dist/orm/column.cjs +0 -137
  187. package/dist/orm/column.d.cts +0 -121
  188. package/dist/orm/column.d.cts.map +0 -1
  189. package/dist/orm/column.d.mts +0 -121
  190. package/dist/orm/column.d.mts.map +0 -1
  191. package/dist/orm/column.mjs +0 -132
  192. package/dist/orm/column.mjs.map +0 -1
  193. package/dist/orm/dialect/index.cjs +0 -14
  194. package/dist/orm/dialect/index.mjs +0 -16
  195. package/dist/orm/dialect/index.mjs.map +0 -1
  196. package/dist/orm/dialect/mysql.cjs +0 -31
  197. package/dist/orm/dialect/mysql.mjs +0 -33
  198. package/dist/orm/dialect/mysql.mjs.map +0 -1
  199. package/dist/orm/dialect/postgres.cjs +0 -23
  200. package/dist/orm/dialect/postgres.mjs +0 -25
  201. package/dist/orm/dialect/postgres.mjs.map +0 -1
  202. package/dist/orm/dialect/sqlite.cjs +0 -31
  203. package/dist/orm/dialect/sqlite.mjs +0 -33
  204. package/dist/orm/dialect/sqlite.mjs.map +0 -1
  205. package/dist/orm/dialect/utils.cjs +0 -8
  206. package/dist/orm/dialect/utils.mjs +0 -10
  207. package/dist/orm/dialect/utils.mjs.map +0 -1
  208. package/dist/orm/internal/table-columns.cjs +0 -31
  209. package/dist/orm/internal/table-columns.mjs +0 -32
  210. package/dist/orm/internal/table-columns.mjs.map +0 -1
  211. package/dist/orm/internal/table-lookup.cjs +0 -35
  212. package/dist/orm/internal/table-lookup.mjs +0 -35
  213. package/dist/orm/internal/table-lookup.mjs.map +0 -1
  214. package/dist/orm/internal/table-relations.cjs +0 -28
  215. package/dist/orm/internal/table-relations.mjs +0 -29
  216. package/dist/orm/internal/table-relations.mjs.map +0 -1
  217. package/dist/orm/migration/config.cjs +0 -7
  218. package/dist/orm/migration/config.d.cts +0 -7
  219. package/dist/orm/migration/config.d.cts.map +0 -1
  220. package/dist/orm/migration/config.d.mts +0 -7
  221. package/dist/orm/migration/config.d.mts.map +0 -1
  222. package/dist/orm/migration/config.mjs +0 -8
  223. package/dist/orm/migration/config.mjs.map +0 -1
  224. package/dist/orm/migration/types.d.cts +0 -20
  225. package/dist/orm/migration/types.d.cts.map +0 -1
  226. package/dist/orm/migration/types.d.mts +0 -20
  227. package/dist/orm/migration/types.d.mts.map +0 -1
  228. package/dist/orm/orm.cjs +0 -41
  229. package/dist/orm/orm.d.cts +0 -18
  230. package/dist/orm/orm.d.cts.map +0 -1
  231. package/dist/orm/orm.d.mts +0 -18
  232. package/dist/orm/orm.d.mts.map +0 -1
  233. package/dist/orm/orm.mjs +0 -43
  234. package/dist/orm/orm.mjs.map +0 -1
  235. package/dist/orm/relation.cjs +0 -18
  236. package/dist/orm/relation.d.cts +0 -8
  237. package/dist/orm/relation.d.cts.map +0 -1
  238. package/dist/orm/relation.d.mts +0 -8
  239. package/dist/orm/relation.d.mts.map +0 -1
  240. package/dist/orm/relation.mjs +0 -19
  241. package/dist/orm/relation.mjs.map +0 -1
  242. package/dist/orm/runtime/builders/mutations.cjs +0 -29
  243. package/dist/orm/runtime/builders/mutations.mjs +0 -28
  244. package/dist/orm/runtime/builders/mutations.mjs.map +0 -1
  245. package/dist/orm/runtime/builders/select.cjs +0 -18
  246. package/dist/orm/runtime/builders/select.mjs +0 -19
  247. package/dist/orm/runtime/builders/select.mjs.map +0 -1
  248. package/dist/orm/runtime/client.cjs +0 -90
  249. package/dist/orm/runtime/client.mjs +0 -92
  250. package/dist/orm/runtime/client.mjs.map +0 -1
  251. package/dist/orm/runtime/context.cjs +0 -49
  252. package/dist/orm/runtime/context.mjs +0 -51
  253. package/dist/orm/runtime/context.mjs.map +0 -1
  254. package/dist/orm/runtime/dialect/index.cjs +0 -11
  255. package/dist/orm/runtime/dialect/index.mjs +0 -13
  256. package/dist/orm/runtime/dialect/index.mjs.map +0 -1
  257. package/dist/orm/runtime/dialect/mysql.cjs +0 -95
  258. package/dist/orm/runtime/dialect/mysql.mjs +0 -97
  259. package/dist/orm/runtime/dialect/mysql.mjs.map +0 -1
  260. package/dist/orm/runtime/dialect/postgres.cjs +0 -51
  261. package/dist/orm/runtime/dialect/postgres.mjs +0 -53
  262. package/dist/orm/runtime/dialect/postgres.mjs.map +0 -1
  263. package/dist/orm/runtime/dialect/sqlite.cjs +0 -4
  264. package/dist/orm/runtime/dialect/sqlite.mjs +0 -7
  265. package/dist/orm/runtime/dialect/sqlite.mjs.map +0 -1
  266. package/dist/orm/runtime/errors.cjs +0 -19
  267. package/dist/orm/runtime/errors.mjs +0 -21
  268. package/dist/orm/runtime/errors.mjs.map +0 -1
  269. package/dist/orm/runtime/hydrate/many.cjs +0 -46
  270. package/dist/orm/runtime/hydrate/many.mjs +0 -48
  271. package/dist/orm/runtime/hydrate/many.mjs.map +0 -1
  272. package/dist/orm/runtime/hydrate/one.cjs +0 -38
  273. package/dist/orm/runtime/hydrate/one.mjs +0 -40
  274. package/dist/orm/runtime/hydrate/one.mjs.map +0 -1
  275. package/dist/orm/runtime/hydrate.cjs +0 -49
  276. package/dist/orm/runtime/hydrate.mjs +0 -51
  277. package/dist/orm/runtime/hydrate.mjs.map +0 -1
  278. package/dist/orm/runtime/rows.cjs +0 -30
  279. package/dist/orm/runtime/rows.mjs +0 -31
  280. package/dist/orm/runtime/rows.mjs.map +0 -1
  281. package/dist/orm/runtime/utils.cjs +0 -27
  282. package/dist/orm/runtime/utils.mjs +0 -27
  283. package/dist/orm/runtime/utils.mjs.map +0 -1
  284. package/dist/orm/sql/parse-array.cjs +0 -64
  285. package/dist/orm/sql/parse-array.mjs +0 -66
  286. package/dist/orm/sql/parse-array.mjs.map +0 -1
  287. package/dist/orm/sql/plan/select.cjs +0 -36
  288. package/dist/orm/sql/plan/select.mjs +0 -38
  289. package/dist/orm/sql/plan/select.mjs.map +0 -1
  290. package/dist/orm/sql/plan/where/operators.cjs +0 -95
  291. package/dist/orm/sql/plan/where/operators.mjs +0 -97
  292. package/dist/orm/sql/plan/where/operators.mjs.map +0 -1
  293. package/dist/orm/sql/plan/where.cjs +0 -59
  294. package/dist/orm/sql/plan/where.mjs +0 -61
  295. package/dist/orm/sql/plan/where.mjs.map +0 -1
  296. package/dist/orm/sql/serialize/clauses.cjs +0 -36
  297. package/dist/orm/sql/serialize/clauses.mjs +0 -37
  298. package/dist/orm/sql/serialize/clauses.mjs.map +0 -1
  299. package/dist/orm/sql/serialize/joins.cjs +0 -31
  300. package/dist/orm/sql/serialize/joins.mjs +0 -33
  301. package/dist/orm/sql/serialize/joins.mjs.map +0 -1
  302. package/dist/orm/sql/serialize/values.cjs +0 -30
  303. package/dist/orm/sql/serialize/values.mjs +0 -32
  304. package/dist/orm/sql/serialize/values.mjs.map +0 -1
  305. package/dist/orm/sql/serialize/where/predicate.cjs +0 -73
  306. package/dist/orm/sql/serialize/where/predicate.mjs +0 -75
  307. package/dist/orm/sql/serialize/where/predicate.mjs.map +0 -1
  308. package/dist/orm/sql/serialize/where/tree.cjs +0 -26
  309. package/dist/orm/sql/serialize/where/tree.mjs +0 -28
  310. package/dist/orm/sql/serialize/where/tree.mjs.map +0 -1
  311. package/dist/orm/sql/serialize/where.cjs +0 -10
  312. package/dist/orm/sql/serialize/where.mjs +0 -12
  313. package/dist/orm/sql/serialize/where.mjs.map +0 -1
  314. package/dist/orm/sql/serialize.cjs +0 -24
  315. package/dist/orm/sql/serialize.mjs +0 -25
  316. package/dist/orm/sql/serialize.mjs.map +0 -1
  317. package/dist/orm/table.cjs +0 -12
  318. package/dist/orm/table.d.cts +0 -12
  319. package/dist/orm/table.d.cts.map +0 -1
  320. package/dist/orm/table.d.mts +0 -12
  321. package/dist/orm/table.d.mts.map +0 -1
  322. package/dist/orm/table.mjs +0 -14
  323. package/dist/orm/table.mjs.map +0 -1
  324. package/dist/orm/types.d.cts +0 -183
  325. package/dist/orm/types.d.cts.map +0 -1
  326. package/dist/orm/types.d.mts +0 -183
  327. package/dist/orm/types.d.mts.map +0 -1
  328. package/dist/policy/helpers.cjs +0 -206
  329. package/dist/policy/helpers.d.cts +0 -50
  330. package/dist/policy/helpers.d.cts.map +0 -1
  331. package/dist/policy/helpers.d.mts +0 -50
  332. package/dist/policy/helpers.d.mts.map +0 -1
  333. package/dist/policy/helpers.mjs +0 -190
  334. package/dist/policy/helpers.mjs.map +0 -1
  335. package/dist/policy/types.d.cts +0 -16
  336. package/dist/policy/types.d.cts.map +0 -1
  337. package/dist/policy/types.d.mts +0 -16
  338. package/dist/policy/types.d.mts.map +0 -1
  339. package/dist/prompts/core/keys.cjs +0 -165
  340. package/dist/prompts/core/keys.mjs +0 -167
  341. package/dist/prompts/core/keys.mjs.map +0 -1
  342. package/dist/prompts/core/runtime.cjs +0 -104
  343. package/dist/prompts/core/runtime.mjs +0 -106
  344. package/dist/prompts/core/runtime.mjs.map +0 -1
  345. package/dist/prompts/core/session.cjs +0 -98
  346. package/dist/prompts/core/session.mjs +0 -100
  347. package/dist/prompts/core/session.mjs.map +0 -1
  348. package/dist/prompts/core/types.d.cts +0 -21
  349. package/dist/prompts/core/types.d.cts.map +0 -1
  350. package/dist/prompts/core/types.d.mts +0 -21
  351. package/dist/prompts/core/types.d.mts.map +0 -1
  352. package/dist/prompts/types.d.cts +0 -52
  353. package/dist/prompts/types.d.cts.map +0 -1
  354. package/dist/prompts/types.d.mts +0 -52
  355. package/dist/prompts/types.d.mts.map +0 -1
  356. package/dist/pubsub/types.d.cts +0 -10
  357. package/dist/pubsub/types.d.cts.map +0 -1
  358. package/dist/pubsub/types.d.mts +0 -10
  359. package/dist/pubsub/types.d.mts.map +0 -1
  360. package/dist/queue/types.d.cts +0 -47
  361. package/dist/queue/types.d.cts.map +0 -1
  362. package/dist/queue/types.d.mts +0 -47
  363. package/dist/queue/types.d.mts.map +0 -1
  364. package/dist/workflow/types.d.cts +0 -83
  365. package/dist/workflow/types.d.cts.map +0 -1
  366. package/dist/workflow/types.d.mts +0 -83
  367. package/dist/workflow/types.d.mts.map +0 -1
@@ -1,308 +0,0 @@
1
- const require_lib_errors_index = require("../../lib/errors/index.cjs");
2
- const require_scanner = require("./scanner.cjs");
3
- //#region src/lib/cron/core/index.ts
4
- const RETRY_DELAY_MS = 3600 * 1e3;
5
- const MAX_YEARS = 4;
6
- const ALIASES = {
7
- "@yearly": "0 0 1 1 *",
8
- "@monthly": "0 0 1 * *",
9
- "@weekly": "0 0 * * 0",
10
- "@daily": "0 0 * * *",
11
- "@hourly": "0 * * * *",
12
- "@minutely": "* * * * *"
13
- };
14
- const CronSecondRange = {
15
- min: 0,
16
- max: 59
17
- };
18
- const CronMinuteRange = {
19
- min: 0,
20
- max: 59
21
- };
22
- const CronHourRange = {
23
- min: 0,
24
- max: 23
25
- };
26
- const CronDayRange = {
27
- min: 1,
28
- max: 31
29
- };
30
- const CronMonthRange = {
31
- min: 1,
32
- max: 12
33
- };
34
- const CronDayOfWeekRange = {
35
- min: 0,
36
- max: 6
37
- };
38
- var Cron = class {
39
- options;
40
- status = "idle";
41
- timeoutId = null;
42
- second = Array(CronSecondRange.max + 1).fill(0);
43
- minute = Array(CronMinuteRange.max + 1).fill(0);
44
- hour = Array(CronHourRange.max + 1).fill(0);
45
- day = Array(CronDayRange.max + 1).fill(0);
46
- month = Array(CronMonthRange.max + 1).fill(0);
47
- dayOfWeek = Array(CronDayOfWeekRange.max + 1).fill(0);
48
- hasSeconds;
49
- _dayWildcard = false;
50
- _dowWildcard = false;
51
- fillRange(values, min, max) {
52
- for (let i = min; i <= max; i++) values[i] = 1;
53
- }
54
- handleStep(part, values, min, max) {
55
- const [rangePart, stepStr] = part.split("/");
56
- if (!rangePart) return require_lib_errors_index.err("InvalidValueError", `'${rangePart}' is empty`);
57
- if (!stepStr) return require_lib_errors_index.err("InvalidValueError", `'${stepStr}' is empty`);
58
- const step = Number(stepStr);
59
- if (!Number.isInteger(step)) return require_lib_errors_index.err("InvalidValueError", `'${step}' is not a valid number`);
60
- if (step <= 0) return require_lib_errors_index.err("OutOfBoundError", `Expected ${step} > 0`);
61
- if (rangePart === "*") {
62
- for (let i = min; i <= max; i += step) values[i] = 1;
63
- return require_lib_errors_index.ok(true);
64
- }
65
- if (rangePart.includes("-")) return this.handleStepRange(rangePart, step, values, min, max);
66
- return this.handleStepSingle(rangePart, step, values, min, max);
67
- }
68
- handleStepRange(range, step, values, min, max) {
69
- const [startStr, endStr] = range.split("-");
70
- if (!endStr) return require_lib_errors_index.err("InvalidValueError", `'${endStr}' is empty`);
71
- let start = min;
72
- if (startStr && startStr.length > 0) start = Number(startStr);
73
- const end = Number(endStr);
74
- if (!Number.isInteger(start)) return require_lib_errors_index.err("InvalidValueError", `'${start}' is not a valid number`);
75
- if (!Number.isInteger(end)) return require_lib_errors_index.err("InvalidValueError", `'${end}' is not a valid number`);
76
- if (start < min) return require_lib_errors_index.err("OutOfBoundError", `Expected ${start} >= ${min}`);
77
- if (end > max) return require_lib_errors_index.err("OutOfBoundError", `Expected ${end} <= ${max}`);
78
- if (start > end) return require_lib_errors_index.err("OutOfBoundError", `Expected ${start} <= ${end}`);
79
- for (let i = start; i <= end; i += step) values[i] = 1;
80
- return require_lib_errors_index.ok(true);
81
- }
82
- handleStepSingle(value, step, values, min, max) {
83
- const start = Number(value);
84
- if (!Number.isInteger(start)) return require_lib_errors_index.err("InvalidValueError", `'${start}' is not a valid number`);
85
- if (start < min) return require_lib_errors_index.err("OutOfBoundError", `Expected ${start} >= ${min}`);
86
- if (start > max) return require_lib_errors_index.err("OutOfBoundError", `Expected ${start} <= ${max}`);
87
- for (let i = start; i <= max; i += step) values[i] = 1;
88
- return require_lib_errors_index.ok(true);
89
- }
90
- handleRange(part, values, min, max) {
91
- const [startStr, endStr] = part.split("-");
92
- if (!startStr) return require_lib_errors_index.err("InvalidValueError", `'${startStr}' is empty`);
93
- if (!endStr) return require_lib_errors_index.err("InvalidValueError", `'${endStr}' is empty`);
94
- const start = Number(startStr);
95
- const end = Number(endStr);
96
- if (!Number.isInteger(start)) return require_lib_errors_index.err("InvalidValueError", `'${start}' is not a valid number`);
97
- if (!Number.isInteger(end)) return require_lib_errors_index.err("InvalidValueError", `'${end}' is not a valid number`);
98
- if (start < min) return require_lib_errors_index.err("OutOfBoundError", `Expected ${start} >= ${min}`);
99
- if (end > max) return require_lib_errors_index.err("OutOfBoundError", `Expected ${end} <= ${max}`);
100
- if (start > end) return require_lib_errors_index.err("OutOfBoundError", `Expected ${start} <= ${end}`);
101
- for (let i = start; i <= end; i++) values[i] = 1;
102
- return require_lib_errors_index.ok(true);
103
- }
104
- handleNumber(value, values, min, max) {
105
- const n = Number(value);
106
- if (!Number.isInteger(n)) return require_lib_errors_index.err("InvalidValueError", `'${value}' is not a valid number`);
107
- if (n < min) return require_lib_errors_index.err("OutOfBoundError", `Expected ${n} >= ${min}`);
108
- if (n > max) return require_lib_errors_index.err("OutOfBoundError", `Expected ${n} <= ${max}`);
109
- values[n] = 1;
110
- return require_lib_errors_index.ok(true);
111
- }
112
- constructor(options) {
113
- this.options = options;
114
- const expr = this.resolveAlias(options.schedule);
115
- const [error, tokens] = new require_scanner.Scanner(expr).scan();
116
- if (error) throw new Error(`${error.type}: ${error.message}`);
117
- this.hasSeconds = expr.trim().split(/\s+/).length === require_scanner.FieldAmount.max;
118
- const [parsingError, _] = this.parse(tokens);
119
- if (parsingError) throw new Error(`${parsingError.type}: ${parsingError.message}`);
120
- }
121
- resolveAlias(schedule) {
122
- return ALIASES[schedule] || schedule;
123
- }
124
- parse(tokens) {
125
- for (let i = 0; i < tokens.length; i++) {
126
- const token = tokens[i];
127
- if (!token) return require_lib_errors_index.err("InvalidValueError", "Undefined token");
128
- const tokenType = token.getTokenType();
129
- switch (token.getField()) {
130
- case "second": {
131
- const [error, _] = this.handleField(token, this.second, CronSecondRange.min, CronSecondRange.max);
132
- if (error) return require_lib_errors_index.err(error.type, `${error.message} in field '${token.getField()}'`);
133
- break;
134
- }
135
- case "minute": {
136
- const [error, _] = this.handleField(token, this.minute, CronMinuteRange.min, CronMinuteRange.max);
137
- if (error) return require_lib_errors_index.err(error.type, `${error.message} in field '${token.getField()}'`);
138
- break;
139
- }
140
- case "hour": {
141
- const [error, _] = this.handleField(token, this.hour, CronHourRange.min, CronHourRange.max);
142
- if (error) return require_lib_errors_index.err(error.type, `${error.message} in field '${token.getField()}'`);
143
- break;
144
- }
145
- case "day": {
146
- if (tokenType === "any") this._dayWildcard = true;
147
- const [error, _] = this.handleField(token, this.day, CronDayRange.min, CronDayRange.max);
148
- if (error) return require_lib_errors_index.err(error.type, `${error.message} in field '${token.getField()}'`);
149
- break;
150
- }
151
- case "month": {
152
- const [error, _] = this.handleField(token, this.month, CronMonthRange.min, CronMonthRange.max);
153
- if (error) return require_lib_errors_index.err(error.type, `${error.message} in field '${token.getField()}'`);
154
- break;
155
- }
156
- case "weekday": {
157
- if (tokenType === "any") this._dowWildcard = true;
158
- const [error, _] = this.handleField(token, this.dayOfWeek, CronDayOfWeekRange.min, CronDayOfWeekRange.max);
159
- if (error) return require_lib_errors_index.err(error.type, `${error.message} in field '${token.getField()}'`);
160
- break;
161
- }
162
- default: return require_lib_errors_index.err("InvalidValueError", `Invalid field '${token.getField()}'`);
163
- }
164
- }
165
- return require_lib_errors_index.ok(true);
166
- }
167
- handleField(token, field, min, max) {
168
- switch (token.getTokenType()) {
169
- case "any":
170
- this.fillRange(field, min, max);
171
- break;
172
- case "number": {
173
- const [error, _] = this.handleNumber(token.getComponent(), field, min, max);
174
- if (error) return require_lib_errors_index.err(error.type, error.message);
175
- break;
176
- }
177
- case "range": {
178
- const component = token.getComponent();
179
- const [error, _] = this.handleRange(component, field, min, max);
180
- if (error) return require_lib_errors_index.err(error.type, error.message);
181
- break;
182
- }
183
- case "step": {
184
- const component = token.getComponent();
185
- const [error, _] = this.handleStep(component, field, min, max);
186
- if (error) return require_lib_errors_index.err(error.type, error.message);
187
- break;
188
- }
189
- default: return require_lib_errors_index.err("InvalidValueError", `Invalid token type '${token.getTokenType()}'`);
190
- }
191
- return require_lib_errors_index.ok(true);
192
- }
193
- matches(date) {
194
- const s = date.getSeconds();
195
- const m = date.getMinutes();
196
- const h = date.getHours();
197
- const d = date.getDate();
198
- const mon = date.getMonth();
199
- const dow = date.getDay();
200
- const isSecondMatch = this.hasSeconds ? this.second[s] === 1 : true;
201
- const isMinuteMatch = this.minute[m] === 1;
202
- const isHourMatch = this.hour[h] === 1;
203
- const isMonthMatch = this.month[mon + 1] === 1;
204
- let isDayOrDowMatch;
205
- if (!this._dayWildcard && !this._dowWildcard) isDayOrDowMatch = this.day[d] === 1 || this.dayOfWeek[dow] === 1;
206
- else isDayOrDowMatch = this.day[d] === 1 && this.dayOfWeek[dow] === 1;
207
- return isSecondMatch && isMinuteMatch && isHourMatch && isDayOrDowMatch && isMonthMatch;
208
- }
209
- getNextRun() {
210
- const date = /* @__PURE__ */ new Date();
211
- if (this.hasSeconds) {
212
- date.setMilliseconds(0);
213
- date.setSeconds(date.getSeconds() + 1);
214
- } else {
215
- date.setSeconds(0, 0);
216
- date.setMinutes(date.getMinutes() + 1);
217
- }
218
- const deadline = new Date(date);
219
- deadline.setFullYear(deadline.getFullYear() + MAX_YEARS);
220
- while (date < deadline) {
221
- const s = date.getSeconds();
222
- const m = date.getMinutes();
223
- const h = date.getHours();
224
- const d = date.getDate();
225
- const mon = date.getMonth();
226
- const dow = date.getDay();
227
- if (this.month[mon + 1] === 0) {
228
- date.setDate(1);
229
- date.setMonth(mon + 1);
230
- date.setHours(0, 0, 0, 0);
231
- continue;
232
- }
233
- let isDayOrDowMatch;
234
- if (!this._dayWildcard && !this._dowWildcard) isDayOrDowMatch = this.day[d] === 0 && this.dayOfWeek[dow] === 0;
235
- else isDayOrDowMatch = this.day[d] === 0 || this.dayOfWeek[dow] === 0;
236
- if (isDayOrDowMatch) {
237
- date.setDate(d + 1);
238
- date.setHours(0, 0, 0, 0);
239
- continue;
240
- }
241
- if (this.hour[h] === 0) {
242
- date.setHours(h + 1);
243
- date.setMinutes(0, 0, 0);
244
- continue;
245
- }
246
- if (this.minute[m] === 0) {
247
- date.setMinutes(m + 1);
248
- date.setSeconds(0, 0);
249
- continue;
250
- }
251
- if (this.hasSeconds && this.second[s] === 0) {
252
- date.setSeconds(s + 1);
253
- date.setMilliseconds(0);
254
- continue;
255
- }
256
- return new Date(date);
257
- }
258
- return null;
259
- }
260
- start() {
261
- if (this.status !== "idle") return;
262
- this.status = "running";
263
- this.next();
264
- }
265
- stop() {
266
- this.status = "idle";
267
- if (this.timeoutId) {
268
- clearTimeout(this.timeoutId);
269
- this.timeoutId = null;
270
- }
271
- }
272
- pause() {
273
- if (this.status !== "running") return;
274
- this.status = "paused";
275
- if (this.timeoutId) {
276
- clearTimeout(this.timeoutId);
277
- this.timeoutId = null;
278
- }
279
- }
280
- resume() {
281
- if (this.status !== "paused") return;
282
- this.status = "running";
283
- this.next();
284
- }
285
- getStatus() {
286
- return this.status;
287
- }
288
- next() {
289
- if (this.status !== "running") return;
290
- const nextRun = this.getNextRun();
291
- if (!nextRun) {
292
- this.timeoutId = setTimeout(() => this.next(), RETRY_DELAY_MS);
293
- return;
294
- }
295
- const delay = nextRun.getTime() - Date.now();
296
- this.timeoutId = setTimeout(() => {
297
- this.run();
298
- }, Math.max(0, delay));
299
- }
300
- async run() {
301
- if (this.status !== "running") return;
302
- const handlerResult = this.options.handler();
303
- await require_lib_errors_index.mightThrow(Promise.resolve(handlerResult));
304
- if (this.status === "running") this.next();
305
- }
306
- };
307
- //#endregion
308
- exports.Cron = Cron;
@@ -1,39 +0,0 @@
1
- import { CronOptions, CronStatus } from "./types.cjs";
2
-
3
- //#region src/lib/cron/core/index.d.ts
4
- declare class Cron {
5
- private options;
6
- private status;
7
- private timeoutId;
8
- private second;
9
- private minute;
10
- private hour;
11
- private day;
12
- private month;
13
- private dayOfWeek;
14
- private hasSeconds;
15
- private _dayWildcard;
16
- private _dowWildcard;
17
- private fillRange;
18
- private handleStep;
19
- private handleStepRange;
20
- private handleStepSingle;
21
- private handleRange;
22
- private handleNumber;
23
- constructor(options: CronOptions);
24
- private resolveAlias;
25
- private parse;
26
- private handleField;
27
- matches(date: Date): boolean;
28
- getNextRun(): Date | null;
29
- start(): void;
30
- stop(): void;
31
- pause(): void;
32
- resume(): void;
33
- getStatus(): CronStatus;
34
- private next;
35
- private run;
36
- }
37
- //#endregion
38
- export { Cron };
39
- //# sourceMappingURL=index.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/lib/cron/core/index.ts"],"mappings":";;;cA8Ca,IAAA;EAAA,QACH,OAAA;EAAA,QACA,MAAA;EAAA,QACA,SAAA;EAAA,QAGA,MAAA;EAAA,QACA,MAAA;EAAA,QACA,IAAA;EAAA,QACA,GAAA;EAAA,QACA,KAAA;EAAA,QACA,SAAA;EAAA,QACA,UAAA;EAAA,QACA,YAAA;EAAA,QACA,YAAA;EAAA,QAGA,SAAA;EAAA,QAMA,UAAA;EAAA,QAkDA,eAAA;EAAA,QAiEA,gBAAA;EAAA,QAuCA,WAAA;EAAA,QAmEA,YAAA;cAkCW,OAAA,EAAS,WAAA;EAAA,QAoBpB,YAAA;EAAA,QAIA,KAAA;EAAA,QAoIA,WAAA;EAyCD,OAAA,CAAQ,IAAA,EAAM,IAAA;EAkCd,UAAA,CAAA,GAAU,IAAA;EAoEV,KAAA,CAAA;EAOA,IAAA,CAAA;EASA,KAAA,CAAA;EAWA,MAAA,CAAA;EAOA,SAAA,CAAA,GAAS,UAAA;EAAA,QAIR,IAAA;EAAA,QAkBM,GAAA;AAAA"}
@@ -1,39 +0,0 @@
1
- import { CronOptions, CronStatus } from "./types.mjs";
2
-
3
- //#region src/lib/cron/core/index.d.ts
4
- declare class Cron {
5
- private options;
6
- private status;
7
- private timeoutId;
8
- private second;
9
- private minute;
10
- private hour;
11
- private day;
12
- private month;
13
- private dayOfWeek;
14
- private hasSeconds;
15
- private _dayWildcard;
16
- private _dowWildcard;
17
- private fillRange;
18
- private handleStep;
19
- private handleStepRange;
20
- private handleStepSingle;
21
- private handleRange;
22
- private handleNumber;
23
- constructor(options: CronOptions);
24
- private resolveAlias;
25
- private parse;
26
- private handleField;
27
- matches(date: Date): boolean;
28
- getNextRun(): Date | null;
29
- start(): void;
30
- stop(): void;
31
- pause(): void;
32
- resume(): void;
33
- getStatus(): CronStatus;
34
- private next;
35
- private run;
36
- }
37
- //#endregion
38
- export { Cron };
39
- //# sourceMappingURL=index.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/lib/cron/core/index.ts"],"mappings":";;;cA8Ca,IAAA;EAAA,QACH,OAAA;EAAA,QACA,MAAA;EAAA,QACA,SAAA;EAAA,QAGA,MAAA;EAAA,QACA,MAAA;EAAA,QACA,IAAA;EAAA,QACA,GAAA;EAAA,QACA,KAAA;EAAA,QACA,SAAA;EAAA,QACA,UAAA;EAAA,QACA,YAAA;EAAA,QACA,YAAA;EAAA,QAGA,SAAA;EAAA,QAMA,UAAA;EAAA,QAkDA,eAAA;EAAA,QAiEA,gBAAA;EAAA,QAuCA,WAAA;EAAA,QAmEA,YAAA;cAkCW,OAAA,EAAS,WAAA;EAAA,QAoBpB,YAAA;EAAA,QAIA,KAAA;EAAA,QAoIA,WAAA;EAyCD,OAAA,CAAQ,IAAA,EAAM,IAAA;EAkCd,UAAA,CAAA,GAAU,IAAA;EAoEV,KAAA,CAAA;EAOA,IAAA,CAAA;EASA,KAAA,CAAA;EAWA,MAAA,CAAA;EAOA,SAAA,CAAA,GAAS,UAAA;EAAA,QAIR,IAAA;EAAA,QAkBM,GAAA;AAAA"}