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,5 +1,6 @@
1
- import { CommonError } from "../../errors/types.cjs";
2
-
1
+ //#region src/lib/errors/types.d.ts
2
+ type CommonError = "NotFoundError" | "UnauthorizedError" | "InternalServerError" | "ValidationError" | "MigrationError" | "SchemaError" | (string & {});
3
+ //#endregion
3
4
  //#region src/lib/errors/index.d.ts
4
5
  declare const ok: <T>(data: T) => readonly [null, T];
5
6
  declare const err: <T extends CommonError>(type: T, message: string) => readonly [{
@@ -9,5 +10,4 @@ declare const err: <T extends CommonError>(type: T, message: string) => readonly
9
10
  declare const mightThrowSync: <T, E = Error>(fn: () => T) => readonly [null, T] | readonly [E, null];
10
11
  declare const mightThrow: <T, E = Error>(promise: Promise<T>) => Promise<readonly [null, T] | readonly [E, null]>;
11
12
  //#endregion
12
- export { err, mightThrow, mightThrowSync, ok };
13
- //# sourceMappingURL=index.d.cts.map
13
+ export { err, mightThrow, mightThrowSync, ok };
@@ -1,5 +1,6 @@
1
- import { CommonError } from "../../errors/types.mjs";
2
-
1
+ //#region src/lib/errors/types.d.ts
2
+ type CommonError = "NotFoundError" | "UnauthorizedError" | "InternalServerError" | "ValidationError" | "MigrationError" | "SchemaError" | (string & {});
3
+ //#endregion
3
4
  //#region src/lib/errors/index.d.ts
4
5
  declare const ok: <T>(data: T) => readonly [null, T];
5
6
  declare const err: <T extends CommonError>(type: T, message: string) => readonly [{
@@ -9,5 +10,4 @@ declare const err: <T extends CommonError>(type: T, message: string) => readonly
9
10
  declare const mightThrowSync: <T, E = Error>(fn: () => T) => readonly [null, T] | readonly [E, null];
10
11
  declare const mightThrow: <T, E = Error>(promise: Promise<T>) => Promise<readonly [null, T] | readonly [E, null]>;
11
12
  //#endregion
12
- export { err, mightThrow, mightThrowSync, ok };
13
- //# sourceMappingURL=index.d.mts.map
13
+ export { err, mightThrow, mightThrowSync, ok };
@@ -24,5 +24,3 @@ const mightThrow = async (promise) => {
24
24
  };
25
25
  //#endregion
26
26
  export { err, mightThrow, mightThrowSync, ok };
27
-
28
- //# sourceMappingURL=index.mjs.map
@@ -1,5 +1,14 @@
1
- import { BuildParamObject, GetNestedValue, NestedKeyOf } from "../../i18n/types.cjs";
2
-
1
+ //#region src/lib/i18n/types.d.ts
2
+ type ExtractParamType<T extends string> = T extends "string" ? string : T extends "number" ? number : T extends "boolean" ? boolean : never;
3
+ type BuildParamObject<T extends string, Acc = {}> = T extends `${infer _Start}{${infer Name}:${infer Type}}${infer Rest}` ? BuildParamObject<Rest, Acc & Record<Name, ExtractParamType<Type>>> : Acc;
4
+ type IsString<T> = T extends string ? true : false;
5
+ type IsArray<T> = T extends readonly unknown[] ? true : false;
6
+ type IsObject<T> = T extends object ? T extends readonly unknown[] ? false : true : false;
7
+ type ArrayKeys<T extends readonly unknown[]> = { [K in keyof T & `${number}`]: `${K}` }[keyof T & `${number}`];
8
+ type ObjectPropertyKeys<K extends string, V> = IsString<V> extends true ? K : IsArray<V> extends true ? V extends readonly unknown[] ? `${K}.${NestedKeyOf<V>}` : never : IsObject<V> extends true ? `${K}.${NestedKeyOf<V>}` : never;
9
+ type NestedKeyOf<T> = IsArray<T> extends true ? T extends readonly unknown[] ? ArrayKeys<T> : never : IsObject<T> extends true ? { [K in keyof T & string]: ObjectPropertyKeys<K, T[K]> }[keyof T & string] : never;
10
+ type GetNestedValue<T, K extends string> = K extends `${infer First}.${infer Rest}` ? First extends keyof T ? GetNestedValue<T[First], Rest> : never : K extends keyof T ? T[K] : never;
11
+ //#endregion
3
12
  //#region src/lib/i18n/index.d.ts
4
13
  declare class I18n<const TLocales extends Record<string, Record<string, unknown>>, TDefaultLocale extends keyof TLocales> {
5
14
  private locales;
@@ -16,5 +25,4 @@ declare class I18n<const TLocales extends Record<string, Record<string, unknown>
16
25
  private substituteParams;
17
26
  }
18
27
  //#endregion
19
- export { I18n };
20
- //# sourceMappingURL=index.d.cts.map
28
+ export { I18n };
@@ -1,5 +1,14 @@
1
- import { BuildParamObject, GetNestedValue, NestedKeyOf } from "../../i18n/types.mjs";
2
-
1
+ //#region src/lib/i18n/types.d.ts
2
+ type ExtractParamType<T extends string> = T extends "string" ? string : T extends "number" ? number : T extends "boolean" ? boolean : never;
3
+ type BuildParamObject<T extends string, Acc = {}> = T extends `${infer _Start}{${infer Name}:${infer Type}}${infer Rest}` ? BuildParamObject<Rest, Acc & Record<Name, ExtractParamType<Type>>> : Acc;
4
+ type IsString<T> = T extends string ? true : false;
5
+ type IsArray<T> = T extends readonly unknown[] ? true : false;
6
+ type IsObject<T> = T extends object ? T extends readonly unknown[] ? false : true : false;
7
+ type ArrayKeys<T extends readonly unknown[]> = { [K in keyof T & `${number}`]: `${K}` }[keyof T & `${number}`];
8
+ type ObjectPropertyKeys<K extends string, V> = IsString<V> extends true ? K : IsArray<V> extends true ? V extends readonly unknown[] ? `${K}.${NestedKeyOf<V>}` : never : IsObject<V> extends true ? `${K}.${NestedKeyOf<V>}` : never;
9
+ type NestedKeyOf<T> = IsArray<T> extends true ? T extends readonly unknown[] ? ArrayKeys<T> : never : IsObject<T> extends true ? { [K in keyof T & string]: ObjectPropertyKeys<K, T[K]> }[keyof T & string] : never;
10
+ type GetNestedValue<T, K extends string> = K extends `${infer First}.${infer Rest}` ? First extends keyof T ? GetNestedValue<T[First], Rest> : never : K extends keyof T ? T[K] : never;
11
+ //#endregion
3
12
  //#region src/lib/i18n/index.d.ts
4
13
  declare class I18n<const TLocales extends Record<string, Record<string, unknown>>, TDefaultLocale extends keyof TLocales> {
5
14
  private locales;
@@ -16,5 +25,4 @@ declare class I18n<const TLocales extends Record<string, Record<string, unknown>
16
25
  private substituteParams;
17
26
  }
18
27
  //#endregion
19
- export { I18n };
20
- //# sourceMappingURL=index.d.mts.map
28
+ export { I18n };
@@ -39,5 +39,3 @@ var I18n = class {
39
39
  };
40
40
  //#endregion
41
41
  export { I18n };
42
-
43
- //# sourceMappingURL=index.mjs.map
@@ -1,18 +1,388 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_index = require("../../logging/formatter/index.cjs");
3
- const require_index$1 = require("../../logging/core/index.cjs");
4
- const require_types = require("../../logging/core/types.cjs");
5
- const require_index$2 = require("../../logging/provider/index.cjs");
6
- exports.AbstractLogger = require_index$1.AbstractLogger;
7
- exports.BaseFormatter = require_index.BaseFormatter;
8
- exports.ConsoleProvider = require_index$2.ConsoleProvider;
9
- exports.FileProvider = require_index$2.FileProvider;
10
- exports.Formatter = require_index.Formatter;
11
- exports.JSONFormatter = require_index.JSONFormatter;
12
- exports.LogLevel = require_types.LogLevel;
13
- exports.Logger = require_index$1.Logger;
14
- exports.LoggerProvider = require_index$2.LoggerProvider;
15
- exports.dmyFormat = require_index.dmyFormat;
16
- exports.isoDateFormat = require_index.isoDateFormat;
17
- exports.isoDateTimeFormat = require_index.isoDateTimeFormat;
18
- exports.mdyFormat = require_index.mdyFormat;
2
+ require("../../chunk-CKQMccvm.cjs");
3
+ const require_lib_errors_index = require("../errors/index.cjs");
4
+ let node_path = require("node:path");
5
+ let node_fs = require("node:fs");
6
+ //#region src/lib/logging/formatter/index.ts
7
+ var Formatter = class {
8
+ dateFmt;
9
+ constructor(dateFmt) {
10
+ this.dateFmt = dateFmt;
11
+ }
12
+ };
13
+ var BaseFormatter = class extends Formatter {
14
+ constructor(dateFmt = isoDateTimeFormat) {
15
+ super(dateFmt);
16
+ }
17
+ format(logData) {
18
+ let { prefix, level, msg, fileName, row, column, method } = logData;
19
+ const timestamp = this.dateFmt();
20
+ const levelType = level.toUpperCase();
21
+ if (typeof msg === "object") msg = JSON.stringify(msg);
22
+ const fileData = `${prefix}/${fileName}:${row}:${column}`;
23
+ let header = `[${levelType}]`;
24
+ if (method) header = `${header}\t[${method}]\t[${fileData}]`;
25
+ else header = `${header}\t[${fileData}]`;
26
+ return `${timestamp} ${header} : ${msg}`;
27
+ }
28
+ formatError(logData, error) {
29
+ const { prefix, fileName, row, column, method } = logData;
30
+ const timestamp = this.dateFmt();
31
+ const fileData = `${prefix}/${fileName}:${row}:${column}`;
32
+ let errorMsg = `Error name="${error.name}" Error message="${error.message}"`;
33
+ let header = "[ERROR]";
34
+ if (method) header = `${header}\t[${method}]\t[${fileData}]`;
35
+ else header = `${header}\t[${fileData}]`;
36
+ if (error.cause) errorMsg = `${errorMsg}\n\tError cause="${error.cause}"`;
37
+ if (error.stack) errorMsg = `${errorMsg}\n\tStack trace="${error.stack}"`;
38
+ return `${timestamp} ${header} : ${errorMsg}`;
39
+ }
40
+ };
41
+ var JSONFormatter = class extends Formatter {
42
+ constructor(dateFmt = isoDateTimeFormat) {
43
+ super(dateFmt);
44
+ }
45
+ format(logData) {
46
+ const { prefix, level, msg, fileName, row, column, method } = logData;
47
+ const timestamp = this.dateFmt();
48
+ const levelType = level.toUpperCase();
49
+ let position = {};
50
+ if (method) position = { method };
51
+ position = {
52
+ ...position,
53
+ fileName,
54
+ row,
55
+ column
56
+ };
57
+ return JSON.stringify({
58
+ timestamp,
59
+ level: levelType,
60
+ prefix,
61
+ position,
62
+ msg
63
+ });
64
+ }
65
+ formatError(logData, error) {
66
+ const { prefix, fileName, row, column, method } = logData;
67
+ const timestamp = this.dateFmt();
68
+ let errorMsg = {
69
+ errorName: error.name,
70
+ errorMessage: error.message
71
+ };
72
+ let position = {};
73
+ if (method) position = { method };
74
+ position = {
75
+ ...position,
76
+ fileName,
77
+ row,
78
+ column
79
+ };
80
+ if (error.cause) errorMsg = {
81
+ ...errorMsg,
82
+ errorCause: error.cause
83
+ };
84
+ if (error.stack) errorMsg = {
85
+ ...errorMsg,
86
+ stackTrace: error.stack
87
+ };
88
+ return JSON.stringify({
89
+ timestamp,
90
+ level: "ERROR",
91
+ prefix,
92
+ position,
93
+ msg: errorMsg
94
+ });
95
+ }
96
+ };
97
+ function isoDateTimeFormat() {
98
+ return (/* @__PURE__ */ new Date()).toISOString();
99
+ }
100
+ function isoDateFormat() {
101
+ const date = isoDateTimeFormat().split("T")[0];
102
+ if (!date) return "";
103
+ return date;
104
+ }
105
+ function dmyFormat() {
106
+ const isoDate = isoDateFormat();
107
+ if (!isoDate) return "";
108
+ const info = isoDate.split("-");
109
+ return `${info[2]}-${info[1]}-${info[0]}`;
110
+ }
111
+ function mdyFormat() {
112
+ const isoDate = isoDateFormat();
113
+ if (!isoDate) return "";
114
+ const info = isoDate.split("-");
115
+ return `${info[1]}-${info[2]}-${info[0]}`;
116
+ }
117
+ //#endregion
118
+ //#region src/lib/logging/core/index.ts
119
+ const PROVIDER_OPTION_DEFAULT = {
120
+ formatter: new BaseFormatter(),
121
+ level: "debug"
122
+ };
123
+ const STACK_FRAME_IDX = 1;
124
+ var StackData = class {
125
+ stack = [];
126
+ constructor(fn) {
127
+ const oldStackTrace = Error.prepareStackTrace;
128
+ const [stackTraceError] = require_lib_errors_index.mightThrowSync(() => {
129
+ Error.prepareStackTrace = (_, stack) => {
130
+ return stack.map((callSite) => {
131
+ return {
132
+ fileName: callSite.getFileName(),
133
+ column: callSite.getColumnNumber(),
134
+ row: callSite.getLineNumber(),
135
+ functionCall: callSite.getFunctionName()
136
+ };
137
+ });
138
+ };
139
+ Error.captureStackTrace(this, fn);
140
+ this.stack;
141
+ });
142
+ Error.prepareStackTrace = oldStackTrace;
143
+ if (stackTraceError) this.stack = [];
144
+ }
145
+ retrieveFrame() {
146
+ if (this.stack.length === 0) return void 0;
147
+ return this.stack[STACK_FRAME_IDX];
148
+ }
149
+ };
150
+ var AbstractLogger = class {
151
+ providers;
152
+ prefix;
153
+ constructor(prefix, providers) {
154
+ this.prefix = prefix;
155
+ this.providers = providers;
156
+ }
157
+ createLogData(level, msg, prefix) {
158
+ const logCall = new StackData(this.createLogData).retrieveFrame();
159
+ let logData = {
160
+ level,
161
+ msg,
162
+ prefix
163
+ };
164
+ if (!logCall) return logData;
165
+ const { column, fileName, functionCall, row } = logCall;
166
+ if (fileName) logData = {
167
+ ...logData,
168
+ fileName: (0, node_path.basename)(fileName)
169
+ };
170
+ if (column) logData = {
171
+ ...logData,
172
+ column: String(column)
173
+ };
174
+ if (row) logData = {
175
+ ...logData,
176
+ row: String(row)
177
+ };
178
+ if (functionCall) logData = {
179
+ ...logData,
180
+ method: functionCall
181
+ };
182
+ return logData;
183
+ }
184
+ };
185
+ var Logger = class extends AbstractLogger {
186
+ debug(msg) {
187
+ const data = this.createLogData("debug", msg, this.prefix);
188
+ this.run(data);
189
+ }
190
+ info(msg) {
191
+ const data = this.createLogData("info", msg, this.prefix);
192
+ this.run(data);
193
+ }
194
+ warning(msg) {
195
+ const data = this.createLogData("warning", msg, this.prefix);
196
+ this.run(data);
197
+ }
198
+ error(msg) {
199
+ const data = this.createLogData("error", msg, this.prefix);
200
+ this.run(data);
201
+ }
202
+ critical(msg) {
203
+ const data = this.createLogData("critical", msg, this.prefix);
204
+ this.run(data);
205
+ }
206
+ run(data) {
207
+ for (let i = 0; i < this.providers.length; i++) this.providers[i]?.execute(data);
208
+ }
209
+ };
210
+ //#endregion
211
+ //#region src/lib/logging/core/types.ts
212
+ const LogLevel = {
213
+ debug: 10,
214
+ info: 20,
215
+ warning: 30,
216
+ error: 40,
217
+ critical: 50
218
+ };
219
+ //#endregion
220
+ //#region src/lib/logging/provider/index.ts
221
+ const DEFAULT_MAX_SIZE = 4 * 1024;
222
+ const DurationUnit = {
223
+ hour: 1e3 * 60 * 60,
224
+ day: 1e3 * 60 * 60 * 24,
225
+ week: 1e3 * 60 * 60 * 24 * 7,
226
+ month: 1e3 * 60 * 60 * 24 * 7 * 4.345
227
+ };
228
+ var LoggerProvider = class {
229
+ options;
230
+ constructor(options = PROVIDER_OPTION_DEFAULT) {
231
+ this.options = {
232
+ ...PROVIDER_OPTION_DEFAULT,
233
+ ...options
234
+ };
235
+ }
236
+ getLogLevel() {
237
+ if (!this.options.level) return LogLevel.debug;
238
+ return LogLevel[this.options.level];
239
+ }
240
+ };
241
+ const FILE_PROVIDER_OPTION_DEFAULT = {
242
+ ...PROVIDER_OPTION_DEFAULT,
243
+ policy: { type: "size" }
244
+ };
245
+ var FileProvider = class extends LoggerProvider {
246
+ filePath;
247
+ counter;
248
+ file;
249
+ policy;
250
+ constructor(file, options = FILE_PROVIDER_OPTION_DEFAULT) {
251
+ super({
252
+ formatter: options.formatter ?? PROVIDER_OPTION_DEFAULT.formatter,
253
+ level: options.level ?? PROVIDER_OPTION_DEFAULT.level
254
+ });
255
+ this.policy = options.policy ?? FILE_PROVIDER_OPTION_DEFAULT.policy;
256
+ this.filePath = file;
257
+ this.counter = 0;
258
+ this.file = this.createNewFileName();
259
+ }
260
+ execute(data) {
261
+ if (this.getLogLevel() > LogLevel[data.level]) return;
262
+ const [error, formattedMessage] = require_lib_errors_index.mightThrowSync(() => {
263
+ if (this.isJSONFile()) return JSON.stringify({
264
+ timestamp: isoDateTimeFormat(),
265
+ level: data.level,
266
+ message: data.msg
267
+ });
268
+ const { formatter } = this.options;
269
+ return formatter?.format(data) ?? "";
270
+ });
271
+ const [fsError] = require_lib_errors_index.mightThrowSync(() => {
272
+ if (error && error instanceof Error) {
273
+ const { formatter } = this.options;
274
+ const errorMsg = formatter?.formatError(data, error);
275
+ (0, node_fs.appendFileSync)(this.file, `${errorMsg}\n`);
276
+ }
277
+ if (this.canRollFile()) {
278
+ this.counter += 1;
279
+ this.file = this.createNewFileName();
280
+ }
281
+ if (error || !formattedMessage) return;
282
+ (0, node_fs.appendFileSync)(this.file, `${formattedMessage}\n`);
283
+ });
284
+ if (fsError && fsError instanceof Error) throw fsError;
285
+ }
286
+ canRollFile() {
287
+ if (!this.policy) return false;
288
+ switch (this.policy.type) {
289
+ case "size":
290
+ if (this.policy.maxSize) return this.getFileSize() >= this.policy.maxSize;
291
+ return this.getFileSize() >= DEFAULT_MAX_SIZE;
292
+ case "time": {
293
+ if (!(0, node_fs.existsSync)(this.file)) return false;
294
+ const { duration, instant } = this.policy;
295
+ const { birthtime } = (0, node_fs.statSync)(this.file);
296
+ const creationTimeMs = birthtime.getTime();
297
+ const currenTimeMs = Date.now();
298
+ const diffMs = currenTimeMs - creationTimeMs;
299
+ switch (instant) {
300
+ case "hour": return Math.floor(diffMs / DurationUnit.hour) >= duration;
301
+ case "day": return Math.floor(diffMs / DurationUnit.day) >= duration;
302
+ case "week": return Math.floor(diffMs / DurationUnit.week) >= duration;
303
+ case "month": {
304
+ const currentDate = new Date(currenTimeMs);
305
+ const monthsDiff = (currentDate.getFullYear() - birthtime.getFullYear()) * 12 + (currentDate.getMonth() - birthtime.getMonth());
306
+ return (currentDate.getDate() >= birthtime.getDate() ? monthsDiff : monthsDiff - 1) >= duration;
307
+ }
308
+ }
309
+ }
310
+ }
311
+ }
312
+ getFileSize() {
313
+ if (!(0, node_fs.existsSync)(this.file)) return 0;
314
+ const [statError, size] = require_lib_errors_index.mightThrowSync(() => {
315
+ const { size } = (0, node_fs.statSync)(this.file);
316
+ return size;
317
+ });
318
+ if (statError && statError instanceof Error) return 0;
319
+ if (!size) return 0;
320
+ return size;
321
+ }
322
+ isJSONFile() {
323
+ return (0, node_path.extname)(this.filePath) === ".json";
324
+ }
325
+ createNewFileName() {
326
+ const fileName = (0, node_path.basename)(this.filePath);
327
+ const directory = (0, node_path.dirname)(this.filePath);
328
+ if (!(0, node_fs.existsSync)(directory)) (0, node_fs.mkdirSync)(directory, { recursive: true });
329
+ const fileInfo = fileName.split(".");
330
+ const extension = fileInfo.pop();
331
+ return (0, node_path.join)(directory, [
332
+ ...fileInfo,
333
+ this.counter,
334
+ extension
335
+ ].join("."));
336
+ }
337
+ };
338
+ var ConsoleProvider = class extends LoggerProvider {
339
+ execute(data) {
340
+ const level = this.getLogLevel();
341
+ const userLevel = LogLevel[data.level];
342
+ if (level > userLevel) return;
343
+ const [error, formattedMessage] = require_lib_errors_index.mightThrowSync(() => {
344
+ const { formatter } = this.options;
345
+ return formatter?.format(data) ?? "";
346
+ });
347
+ if (error && error instanceof Error) {
348
+ const { formatter } = this.options;
349
+ console.error(formatter?.formatError(data, error));
350
+ return;
351
+ }
352
+ if (!formattedMessage) return;
353
+ switch (userLevel) {
354
+ case LogLevel.debug:
355
+ console.debug(formattedMessage);
356
+ break;
357
+ case LogLevel.info:
358
+ console.info(formattedMessage);
359
+ break;
360
+ case LogLevel.warning:
361
+ console.warn(formattedMessage);
362
+ break;
363
+ case LogLevel.error:
364
+ console.error(formattedMessage);
365
+ break;
366
+ case LogLevel.critical:
367
+ console.error(formattedMessage);
368
+ break;
369
+ default:
370
+ console.debug(formattedMessage);
371
+ break;
372
+ }
373
+ }
374
+ };
375
+ //#endregion
376
+ exports.AbstractLogger = AbstractLogger;
377
+ exports.BaseFormatter = BaseFormatter;
378
+ exports.ConsoleProvider = ConsoleProvider;
379
+ exports.FileProvider = FileProvider;
380
+ exports.Formatter = Formatter;
381
+ exports.JSONFormatter = JSONFormatter;
382
+ exports.LogLevel = LogLevel;
383
+ exports.Logger = Logger;
384
+ exports.LoggerProvider = LoggerProvider;
385
+ exports.dmyFormat = dmyFormat;
386
+ exports.isoDateFormat = isoDateFormat;
387
+ exports.isoDateTimeFormat = isoDateTimeFormat;
388
+ exports.mdyFormat = mdyFormat;
@@ -1,7 +1,108 @@
1
- import { LogDataType, LogLevel, LogLevelType, LogMessageType } from "../../logging/core/types.cjs";
2
- import { DateFmtFnType } from "../../logging/formatter/types.cjs";
3
- import { BaseFormatter, Formatter, JSONFormatter, dmyFormat, isoDateFormat, isoDateTimeFormat, mdyFormat } from "../../logging/formatter/index.cjs";
4
- import { FileProviderOptions, ProviderOptions, SizeBasedPolicyType, TimeBasedPolicyType } from "../../logging/provider/types.cjs";
5
- import { ConsoleProvider, FileProvider, LoggerProvider } from "../../logging/provider/index.cjs";
6
- import { AbstractLogger, Logger } from "../../logging/core/index.cjs";
1
+ //#region src/lib/logging/core/types.d.ts
2
+ declare const LogLevel: {
3
+ readonly debug: 10;
4
+ readonly info: 20;
5
+ readonly warning: 30;
6
+ readonly error: 40;
7
+ readonly critical: 50;
8
+ };
9
+ type LogLevelType = keyof typeof LogLevel;
10
+ type LogMessageType = string | object | number | boolean;
11
+ type LogDataType = {
12
+ prefix: string;
13
+ level: LogLevelType;
14
+ msg: LogMessageType;
15
+ row?: string;
16
+ column?: string;
17
+ fileName?: string;
18
+ method?: string;
19
+ };
20
+ //#endregion
21
+ //#region src/lib/logging/formatter/types.d.ts
22
+ type DateFmtFnType = () => string;
23
+ //#endregion
24
+ //#region src/lib/logging/formatter/index.d.ts
25
+ declare abstract class Formatter {
26
+ protected dateFmt: DateFmtFnType;
27
+ constructor(dateFmt: DateFmtFnType);
28
+ abstract format(logData: LogDataType): string;
29
+ abstract formatError(logData: LogDataType, error: Error): string;
30
+ }
31
+ declare class BaseFormatter extends Formatter {
32
+ constructor(dateFmt?: DateFmtFnType);
33
+ format(logData: LogDataType): string;
34
+ formatError(logData: LogDataType, error: Error): string;
35
+ }
36
+ declare class JSONFormatter extends Formatter {
37
+ constructor(dateFmt?: DateFmtFnType);
38
+ format(logData: LogDataType): string;
39
+ formatError(logData: LogDataType, error: Error): string;
40
+ }
41
+ declare function isoDateTimeFormat(): string;
42
+ declare function isoDateFormat(): string;
43
+ declare function dmyFormat(): string;
44
+ declare function mdyFormat(): string;
45
+ //#endregion
46
+ //#region src/lib/logging/provider/types.d.ts
47
+ type ProviderOptions = {
48
+ level?: LogLevelType;
49
+ formatter?: Formatter;
50
+ };
51
+ interface SizeBasedPolicyType {
52
+ type: "size";
53
+ maxSize?: number;
54
+ }
55
+ interface TimeBasedPolicyType {
56
+ type: "time";
57
+ instant: "hour" | "day" | "week" | "month";
58
+ duration: number;
59
+ }
60
+ type FileProviderOptions = ProviderOptions & {
61
+ policy?: SizeBasedPolicyType | TimeBasedPolicyType;
62
+ };
63
+ //#endregion
64
+ //#region src/lib/logging/provider/index.d.ts
65
+ declare abstract class LoggerProvider {
66
+ protected options: ProviderOptions;
67
+ constructor(options?: ProviderOptions);
68
+ abstract execute(data: LogDataType): void;
69
+ getLogLevel(): number;
70
+ }
71
+ declare class FileProvider extends LoggerProvider {
72
+ private readonly filePath;
73
+ private counter;
74
+ private file;
75
+ private policy?;
76
+ constructor(file: string, options?: FileProviderOptions);
77
+ execute(data: LogDataType): void;
78
+ private canRollFile;
79
+ private getFileSize;
80
+ private isJSONFile;
81
+ private createNewFileName;
82
+ }
83
+ declare class ConsoleProvider extends LoggerProvider {
84
+ execute(data: LogDataType): void;
85
+ }
86
+ //#endregion
87
+ //#region src/lib/logging/core/index.d.ts
88
+ declare abstract class AbstractLogger {
89
+ protected providers: LoggerProvider[];
90
+ protected prefix: string;
91
+ constructor(prefix: string, providers: [LoggerProvider, ...LoggerProvider[]]);
92
+ abstract debug(msg: LogMessageType): void;
93
+ abstract info(msg: LogMessageType): void;
94
+ abstract warning(msg: LogMessageType): void;
95
+ abstract error(msg: LogMessageType): void;
96
+ abstract critical(msg: LogMessageType): void;
97
+ protected createLogData(level: LogLevelType, msg: LogMessageType, prefix: string): LogDataType;
98
+ }
99
+ declare class Logger extends AbstractLogger {
100
+ debug(msg: LogMessageType): void;
101
+ info(msg: LogMessageType): void;
102
+ warning(msg: LogMessageType): void;
103
+ error(msg: LogMessageType): void;
104
+ critical(msg: LogMessageType): void;
105
+ private run;
106
+ }
107
+ //#endregion
7
108
  export { AbstractLogger, BaseFormatter, ConsoleProvider, type DateFmtFnType, FileProvider, type FileProviderOptions, Formatter, JSONFormatter, type LogDataType, LogLevel, type LogLevelType, type LogMessageType, Logger, LoggerProvider, type ProviderOptions, type SizeBasedPolicyType, type TimeBasedPolicyType, dmyFormat, isoDateFormat, isoDateTimeFormat, mdyFormat };