jimpex 7.0.2 → 9.0.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 (438) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/LICENSE +1 -1
  3. package/README.md +447 -435
  4. package/dist/app/index.d.mts +14 -0
  5. package/dist/app/index.d.ts +14 -0
  6. package/dist/app/index.js +23 -0
  7. package/dist/app/index.js.map +1 -0
  8. package/dist/app/jimpex.d.mts +14 -0
  9. package/dist/app/jimpex.d.ts +14 -0
  10. package/dist/app/jimpex.js +665 -0
  11. package/dist/app/jimpex.js.map +1 -0
  12. package/dist/controllers/common/config.d.mts +79 -0
  13. package/dist/controllers/common/config.d.ts +79 -0
  14. package/dist/controllers/common/config.js +107 -0
  15. package/dist/controllers/common/config.js.map +1 -0
  16. package/dist/controllers/common/health.d.mts +83 -0
  17. package/dist/controllers/common/health.d.ts +83 -0
  18. package/dist/controllers/common/health.js +115 -0
  19. package/dist/controllers/common/health.js.map +1 -0
  20. package/dist/controllers/common/index.d.mts +21 -0
  21. package/dist/controllers/common/index.d.ts +21 -0
  22. package/dist/controllers/common/index.js +27 -0
  23. package/dist/controllers/common/index.js.map +1 -0
  24. package/dist/controllers/common/statics.d.mts +215 -0
  25. package/dist/controllers/common/statics.d.ts +215 -0
  26. package/dist/controllers/common/statics.js +253 -0
  27. package/dist/controllers/common/statics.js.map +1 -0
  28. package/dist/controllers/index.d.mts +24 -0
  29. package/dist/controllers/index.d.ts +24 -0
  30. package/dist/controllers/index.js +25 -0
  31. package/dist/controllers/index.js.map +1 -0
  32. package/dist/controllers/utils/gateway.d.mts +725 -0
  33. package/dist/controllers/utils/gateway.d.ts +725 -0
  34. package/dist/controllers/utils/gateway.js +577 -0
  35. package/dist/controllers/utils/gateway.js.map +1 -0
  36. package/dist/controllers/utils/index.d.mts +17 -0
  37. package/dist/controllers/utils/index.d.ts +17 -0
  38. package/dist/controllers/utils/index.js +23 -0
  39. package/dist/controllers/utils/index.js.map +1 -0
  40. package/dist/esm/app/index.js +2 -0
  41. package/dist/esm/app/index.js.map +1 -0
  42. package/dist/esm/app/jimpex.js +636 -0
  43. package/dist/esm/app/jimpex.js.map +1 -0
  44. package/dist/esm/chunk-2B2CG5KL.js +11 -0
  45. package/dist/esm/chunk-2B2CG5KL.js.map +1 -0
  46. package/dist/esm/controllers/common/config.js +80 -0
  47. package/dist/esm/controllers/common/config.js.map +1 -0
  48. package/dist/esm/controllers/common/health.js +88 -0
  49. package/dist/esm/controllers/common/health.js.map +1 -0
  50. package/dist/esm/controllers/common/index.js +4 -0
  51. package/dist/esm/controllers/common/index.js.map +1 -0
  52. package/dist/esm/controllers/common/statics.js +220 -0
  53. package/dist/esm/controllers/common/statics.js.map +1 -0
  54. package/dist/esm/controllers/index.js +3 -0
  55. package/dist/esm/controllers/index.js.map +1 -0
  56. package/dist/esm/controllers/utils/gateway.js +556 -0
  57. package/dist/esm/controllers/utils/gateway.js.map +1 -0
  58. package/dist/esm/controllers/utils/index.js +2 -0
  59. package/dist/esm/controllers/utils/index.js.map +1 -0
  60. package/dist/esm/index.js +7 -0
  61. package/dist/esm/index.js.map +1 -0
  62. package/dist/esm/middlewares/common/errorHandler.js +116 -0
  63. package/dist/esm/middlewares/common/errorHandler.js.map +1 -0
  64. package/dist/esm/middlewares/common/forceHTTPS.js +53 -0
  65. package/dist/esm/middlewares/common/forceHTTPS.js.map +1 -0
  66. package/dist/esm/middlewares/common/hsts.js +74 -0
  67. package/dist/esm/middlewares/common/hsts.js.map +1 -0
  68. package/dist/esm/middlewares/common/index.js +4 -0
  69. package/dist/esm/middlewares/common/index.js.map +1 -0
  70. package/dist/esm/middlewares/html/fastHTML.js +158 -0
  71. package/dist/esm/middlewares/html/fastHTML.js.map +1 -0
  72. package/dist/esm/middlewares/html/index.js +3 -0
  73. package/dist/esm/middlewares/html/index.js.map +1 -0
  74. package/dist/esm/middlewares/html/showHTML.js +100 -0
  75. package/dist/esm/middlewares/html/showHTML.js.map +1 -0
  76. package/dist/esm/middlewares/index.js +4 -0
  77. package/dist/esm/middlewares/index.js.map +1 -0
  78. package/dist/esm/middlewares/utils/index.js +2 -0
  79. package/dist/esm/middlewares/utils/index.js.map +1 -0
  80. package/dist/esm/middlewares/utils/versionValidator.js +135 -0
  81. package/dist/esm/middlewares/utils/versionValidator.js.map +1 -0
  82. package/dist/esm/services/common/appError.js +98 -0
  83. package/dist/esm/services/common/appError.js.map +1 -0
  84. package/dist/esm/services/common/httpError.js +28 -0
  85. package/dist/esm/services/common/httpError.js.map +1 -0
  86. package/dist/esm/services/common/index.js +17 -0
  87. package/dist/esm/services/common/index.js.map +1 -0
  88. package/dist/esm/services/common/sendFile.js +27 -0
  89. package/dist/esm/services/common/sendFile.js.map +1 -0
  90. package/dist/esm/services/frontend/frontendFs.js +66 -0
  91. package/dist/esm/services/frontend/frontendFs.js.map +1 -0
  92. package/dist/esm/services/frontend/index.js +11 -0
  93. package/dist/esm/services/frontend/index.js.map +1 -0
  94. package/dist/esm/services/html/htmlGenerator.js +194 -0
  95. package/dist/esm/services/html/htmlGenerator.js.map +1 -0
  96. package/dist/esm/services/html/index.js +11 -0
  97. package/dist/esm/services/html/index.js.map +1 -0
  98. package/dist/esm/services/http/apiClient.js +97 -0
  99. package/dist/esm/services/http/apiClient.js.map +1 -0
  100. package/dist/esm/services/http/http.js +174 -0
  101. package/dist/esm/services/http/http.js.map +1 -0
  102. package/dist/esm/services/http/index.js +17 -0
  103. package/dist/esm/services/http/index.js.map +1 -0
  104. package/dist/esm/services/http/responsesBuilder.js +152 -0
  105. package/dist/esm/services/http/responsesBuilder.js.map +1 -0
  106. package/dist/esm/services/index.js +6 -0
  107. package/dist/esm/services/index.js.map +1 -0
  108. package/dist/esm/services/utils/ensureBearerToken.js +94 -0
  109. package/dist/esm/services/utils/ensureBearerToken.js.map +1 -0
  110. package/dist/esm/services/utils/index.js +11 -0
  111. package/dist/esm/services/utils/index.js.map +1 -0
  112. package/dist/esm/types/events.js +1 -0
  113. package/dist/esm/types/events.js.map +1 -0
  114. package/dist/esm/types/express.js +1 -0
  115. package/dist/esm/types/express.js.map +1 -0
  116. package/dist/esm/types/http.js +1 -0
  117. package/dist/esm/types/http.js.map +1 -0
  118. package/dist/esm/types/index.js +7 -0
  119. package/dist/esm/types/index.js.map +1 -0
  120. package/dist/esm/types/options.js +1 -0
  121. package/dist/esm/types/options.js.map +1 -0
  122. package/dist/esm/types/utils.js +1 -0
  123. package/dist/esm/types/utils.js.map +1 -0
  124. package/dist/esm/types/wootils.js +1 -0
  125. package/dist/esm/types/wootils.js.map +1 -0
  126. package/dist/esm/utils/fns/index.js +5 -0
  127. package/dist/esm/utils/fns/index.js.map +1 -0
  128. package/dist/esm/utils/fns/others.js +6 -0
  129. package/dist/esm/utils/fns/others.js.map +1 -0
  130. package/dist/esm/utils/fns/routes.js +25 -0
  131. package/dist/esm/utils/fns/routes.js.map +1 -0
  132. package/dist/esm/utils/fns/statuses.js +6 -0
  133. package/dist/esm/utils/fns/statuses.js.map +1 -0
  134. package/dist/esm/utils/fns/text.js +6 -0
  135. package/dist/esm/utils/fns/text.js.map +1 -0
  136. package/dist/esm/utils/index.js +3 -0
  137. package/dist/esm/utils/index.js.map +1 -0
  138. package/dist/esm/utils/wrappers.js +41 -0
  139. package/dist/esm/utils/wrappers.js.map +1 -0
  140. package/dist/index-b2a04c78.d.ts +1282 -0
  141. package/dist/index-efeb437e.d.ts +1282 -0
  142. package/dist/index.d.mts +46 -0
  143. package/dist/index.d.ts +46 -0
  144. package/dist/index.js +33 -0
  145. package/dist/index.js.map +1 -0
  146. package/dist/middlewares/common/errorHandler.d.mts +132 -0
  147. package/dist/middlewares/common/errorHandler.d.ts +132 -0
  148. package/dist/middlewares/common/errorHandler.js +143 -0
  149. package/dist/middlewares/common/errorHandler.js.map +1 -0
  150. package/dist/middlewares/common/forceHTTPS.d.mts +69 -0
  151. package/dist/middlewares/common/forceHTTPS.d.ts +69 -0
  152. package/dist/middlewares/common/forceHTTPS.js +80 -0
  153. package/dist/middlewares/common/forceHTTPS.js.map +1 -0
  154. package/dist/middlewares/common/hsts.d.mts +110 -0
  155. package/dist/middlewares/common/hsts.d.ts +110 -0
  156. package/dist/middlewares/common/hsts.js +101 -0
  157. package/dist/middlewares/common/hsts.js.map +1 -0
  158. package/dist/middlewares/common/index.d.mts +22 -0
  159. package/dist/middlewares/common/index.d.ts +22 -0
  160. package/dist/middlewares/common/index.js +27 -0
  161. package/dist/middlewares/common/index.js.map +1 -0
  162. package/dist/middlewares/html/fastHTML.d.mts +180 -0
  163. package/dist/middlewares/html/fastHTML.d.ts +180 -0
  164. package/dist/middlewares/html/fastHTML.js +185 -0
  165. package/dist/middlewares/html/fastHTML.js.map +1 -0
  166. package/dist/middlewares/html/index.d.mts +21 -0
  167. package/dist/middlewares/html/index.d.ts +21 -0
  168. package/dist/middlewares/html/index.js +25 -0
  169. package/dist/middlewares/html/index.js.map +1 -0
  170. package/dist/middlewares/html/showHTML.d.mts +127 -0
  171. package/dist/middlewares/html/showHTML.d.ts +127 -0
  172. package/dist/middlewares/html/showHTML.js +127 -0
  173. package/dist/middlewares/html/showHTML.js.map +1 -0
  174. package/dist/middlewares/index.d.mts +30 -0
  175. package/dist/middlewares/index.d.ts +30 -0
  176. package/dist/middlewares/index.js +27 -0
  177. package/dist/middlewares/index.js.map +1 -0
  178. package/dist/middlewares/utils/index.d.mts +20 -0
  179. package/dist/middlewares/utils/index.d.ts +20 -0
  180. package/dist/middlewares/utils/index.js +23 -0
  181. package/dist/middlewares/utils/index.js.map +1 -0
  182. package/dist/middlewares/utils/versionValidator.d.mts +215 -0
  183. package/dist/middlewares/utils/versionValidator.d.ts +215 -0
  184. package/dist/middlewares/utils/versionValidator.js +162 -0
  185. package/dist/middlewares/utils/versionValidator.js.map +1 -0
  186. package/dist/services/common/appError.d.mts +139 -0
  187. package/dist/services/common/appError.d.ts +139 -0
  188. package/dist/services/common/appError.js +126 -0
  189. package/dist/services/common/appError.js.map +1 -0
  190. package/dist/services/common/httpError.d.mts +80 -0
  191. package/dist/services/common/httpError.d.ts +80 -0
  192. package/dist/services/common/httpError.js +53 -0
  193. package/dist/services/common/httpError.js.map +1 -0
  194. package/dist/services/common/index.d.mts +47 -0
  195. package/dist/services/common/index.d.ts +47 -0
  196. package/dist/services/common/index.js +44 -0
  197. package/dist/services/common/index.js.map +1 -0
  198. package/dist/services/common/sendFile.d.mts +102 -0
  199. package/dist/services/common/sendFile.d.ts +102 -0
  200. package/dist/services/common/sendFile.js +51 -0
  201. package/dist/services/common/sendFile.js.map +1 -0
  202. package/dist/services/frontend/frontendFs.d.mts +96 -0
  203. package/dist/services/frontend/frontendFs.d.ts +96 -0
  204. package/dist/services/frontend/frontendFs.js +103 -0
  205. package/dist/services/frontend/frontendFs.js.map +1 -0
  206. package/dist/services/frontend/index.d.mts +40 -0
  207. package/dist/services/frontend/index.d.ts +40 -0
  208. package/dist/services/frontend/index.js +36 -0
  209. package/dist/services/frontend/index.js.map +1 -0
  210. package/dist/services/html/htmlGenerator.d.mts +237 -0
  211. package/dist/services/html/htmlGenerator.d.ts +237 -0
  212. package/dist/services/html/htmlGenerator.js +221 -0
  213. package/dist/services/html/htmlGenerator.js.map +1 -0
  214. package/dist/services/html/index.d.mts +43 -0
  215. package/dist/services/html/index.d.ts +43 -0
  216. package/dist/services/html/index.js +36 -0
  217. package/dist/services/html/index.js.map +1 -0
  218. package/dist/services/http/apiClient.d.mts +170 -0
  219. package/dist/services/http/apiClient.d.ts +170 -0
  220. package/dist/services/http/apiClient.js +122 -0
  221. package/dist/services/http/apiClient.js.map +1 -0
  222. package/dist/services/http/http.d.mts +176 -0
  223. package/dist/services/http/http.d.ts +176 -0
  224. package/dist/services/http/http.js +211 -0
  225. package/dist/services/http/http.js.map +1 -0
  226. package/dist/services/http/index.d.mts +51 -0
  227. package/dist/services/http/index.d.ts +51 -0
  228. package/dist/services/http/index.js +44 -0
  229. package/dist/services/http/index.js.map +1 -0
  230. package/dist/services/http/responsesBuilder.d.mts +179 -0
  231. package/dist/services/http/responsesBuilder.d.ts +179 -0
  232. package/dist/services/http/responsesBuilder.js +179 -0
  233. package/dist/services/http/responsesBuilder.js.map +1 -0
  234. package/dist/services/index.d.mts +33 -0
  235. package/dist/services/index.d.ts +33 -0
  236. package/dist/services/index.js +31 -0
  237. package/dist/services/index.js.map +1 -0
  238. package/dist/services/utils/ensureBearerToken.d.mts +158 -0
  239. package/dist/services/utils/ensureBearerToken.d.ts +158 -0
  240. package/dist/services/utils/ensureBearerToken.js +121 -0
  241. package/dist/services/utils/ensureBearerToken.js.map +1 -0
  242. package/dist/services/utils/index.d.mts +44 -0
  243. package/dist/services/utils/index.d.ts +44 -0
  244. package/dist/services/utils/index.js +36 -0
  245. package/dist/services/utils/index.js.map +1 -0
  246. package/dist/types/events.d.mts +14 -0
  247. package/dist/types/events.d.ts +14 -0
  248. package/dist/types/events.js +17 -0
  249. package/dist/types/events.js.map +1 -0
  250. package/dist/types/express.d.mts +10 -0
  251. package/dist/types/express.d.ts +10 -0
  252. package/dist/types/express.js +17 -0
  253. package/dist/types/express.js.map +1 -0
  254. package/dist/types/http.d.mts +79 -0
  255. package/dist/types/http.d.ts +79 -0
  256. package/dist/types/http.js +17 -0
  257. package/dist/types/http.js.map +1 -0
  258. package/dist/types/index.d.mts +14 -0
  259. package/dist/types/index.d.ts +14 -0
  260. package/dist/types/index.js +33 -0
  261. package/dist/types/index.js.map +1 -0
  262. package/dist/types/options.d.mts +14 -0
  263. package/dist/types/options.d.ts +14 -0
  264. package/dist/types/options.js +17 -0
  265. package/dist/types/options.js.map +1 -0
  266. package/dist/types/utils.d.mts +48 -0
  267. package/dist/types/utils.d.ts +48 -0
  268. package/dist/types/utils.js +17 -0
  269. package/dist/types/utils.js.map +1 -0
  270. package/dist/types/wootils.d.mts +4 -0
  271. package/dist/types/wootils.d.ts +4 -0
  272. package/dist/types/wootils.js +17 -0
  273. package/dist/types/wootils.js.map +1 -0
  274. package/dist/utils/fns/index.d.mts +5 -0
  275. package/dist/utils/fns/index.d.ts +5 -0
  276. package/dist/utils/fns/index.js +29 -0
  277. package/dist/utils/fns/index.js.map +1 -0
  278. package/dist/utils/fns/others.d.mts +17 -0
  279. package/dist/utils/fns/others.d.ts +17 -0
  280. package/dist/utils/fns/others.js +29 -0
  281. package/dist/utils/fns/others.js.map +1 -0
  282. package/dist/utils/fns/routes.d.mts +39 -0
  283. package/dist/utils/fns/routes.d.ts +39 -0
  284. package/dist/utils/fns/routes.js +51 -0
  285. package/dist/utils/fns/routes.js.map +1 -0
  286. package/dist/utils/fns/statuses.d.mts +45 -0
  287. package/dist/utils/fns/statuses.d.ts +45 -0
  288. package/dist/utils/fns/statuses.js +39 -0
  289. package/dist/utils/fns/statuses.js.map +1 -0
  290. package/dist/utils/fns/text.d.mts +9 -0
  291. package/dist/utils/fns/text.d.ts +9 -0
  292. package/dist/utils/fns/text.js +29 -0
  293. package/dist/utils/fns/text.js.map +1 -0
  294. package/dist/utils/index.d.mts +19 -0
  295. package/dist/utils/index.d.ts +19 -0
  296. package/dist/utils/index.js +25 -0
  297. package/dist/utils/index.js.map +1 -0
  298. package/dist/utils/wrappers.d.mts +14 -0
  299. package/dist/utils/wrappers.d.ts +14 -0
  300. package/dist/utils/wrappers.js +68 -0
  301. package/dist/utils/wrappers.js.map +1 -0
  302. package/examples/basic/404.html +12 -0
  303. package/examples/basic/README.md +30 -0
  304. package/examples/basic/app.ts +18 -0
  305. package/examples/basic/controller.ts +45 -0
  306. package/examples/basic/index.ts +19 -0
  307. package/examples/basic/middleware.ts +13 -0
  308. package/examples/basic/service.ts +11 -0
  309. package/package.json +60 -39
  310. package/src/app/index.ts +1 -0
  311. package/src/app/jimpex.ts +743 -0
  312. package/src/controllers/common/config.ts +115 -0
  313. package/src/controllers/common/health.ts +128 -0
  314. package/src/controllers/common/index.ts +3 -0
  315. package/src/controllers/common/statics.ts +380 -0
  316. package/src/controllers/index.ts +2 -0
  317. package/src/controllers/utils/gateway.ts +1186 -0
  318. package/src/controllers/utils/index.ts +1 -0
  319. package/src/index.ts +6 -0
  320. package/src/middlewares/common/errorHandler.ts +203 -0
  321. package/src/middlewares/common/forceHTTPS.ts +83 -0
  322. package/src/middlewares/common/hsts.ts +135 -0
  323. package/src/middlewares/common/index.ts +3 -0
  324. package/src/middlewares/html/fastHTML.ts +255 -0
  325. package/src/middlewares/html/index.ts +2 -0
  326. package/src/middlewares/html/showHTML.ts +165 -0
  327. package/src/middlewares/index.ts +3 -0
  328. package/src/middlewares/utils/index.ts +1 -0
  329. package/src/middlewares/utils/versionValidator.ts +289 -0
  330. package/src/services/common/appError.ts +158 -0
  331. package/src/services/common/httpError.ts +74 -0
  332. package/src/services/common/index.ts +29 -0
  333. package/src/services/common/sendFile.ts +106 -0
  334. package/src/services/frontend/frontendFs.ts +101 -0
  335. package/src/services/frontend/index.ts +21 -0
  336. package/src/services/html/htmlGenerator.ts +356 -0
  337. package/src/services/html/index.ts +21 -0
  338. package/src/services/http/apiClient.ts +221 -0
  339. package/src/services/http/http.ts +286 -0
  340. package/src/services/http/index.ts +29 -0
  341. package/src/services/http/responsesBuilder.ts +265 -0
  342. package/src/services/index.ts +5 -0
  343. package/src/services/utils/ensureBearerToken.ts +202 -0
  344. package/src/services/utils/index.ts +21 -0
  345. package/src/types/events.ts +303 -0
  346. package/src/types/express.ts +21 -0
  347. package/src/types/http.ts +77 -0
  348. package/src/types/index.ts +6 -0
  349. package/src/types/options.ts +248 -0
  350. package/src/types/utils.ts +52 -0
  351. package/src/types/wootils.ts +4 -0
  352. package/src/utils/fns/index.ts +4 -0
  353. package/src/utils/fns/others.ts +15 -0
  354. package/src/utils/fns/routes.ts +64 -0
  355. package/src/utils/fns/statuses.ts +44 -0
  356. package/src/utils/fns/text.ts +8 -0
  357. package/src/utils/index.ts +2 -0
  358. package/src/utils/wrappers.ts +537 -0
  359. package/tsconfig.json +5 -8
  360. package/tsup.config.ts +10 -0
  361. package/src/app/index.js +0 -692
  362. package/src/constants/eventNames.js +0 -48
  363. package/src/constants/index.js +0 -7
  364. package/src/controllers/common/configuration.js +0 -116
  365. package/src/controllers/common/health.js +0 -79
  366. package/src/controllers/common/index.js +0 -7
  367. package/src/controllers/common/statics.js +0 -336
  368. package/src/controllers/index.js +0 -9
  369. package/src/controllers/utils/gateway.js +0 -1039
  370. package/src/controllers/utils/index.js +0 -3
  371. package/src/index.js +0 -30
  372. package/src/middlewares/common/errorHandler.js +0 -185
  373. package/src/middlewares/common/forceHTTPS.js +0 -80
  374. package/src/middlewares/common/hsts.js +0 -122
  375. package/src/middlewares/common/index.js +0 -7
  376. package/src/middlewares/html/fastHTML.js +0 -298
  377. package/src/middlewares/html/index.js +0 -5
  378. package/src/middlewares/html/showHTML.js +0 -167
  379. package/src/middlewares/index.js +0 -11
  380. package/src/middlewares/utils/index.js +0 -3
  381. package/src/middlewares/utils/versionValidator.js +0 -261
  382. package/src/services/common/appError.js +0 -136
  383. package/src/services/common/httpError.js +0 -60
  384. package/src/services/common/index.js +0 -25
  385. package/src/services/common/sendFile.js +0 -68
  386. package/src/services/frontend/frontendFs.js +0 -85
  387. package/src/services/frontend/index.js +0 -17
  388. package/src/services/html/htmlGenerator.js +0 -391
  389. package/src/services/html/index.js +0 -17
  390. package/src/services/http/apiClient.js +0 -148
  391. package/src/services/http/http.js +0 -256
  392. package/src/services/http/index.js +0 -25
  393. package/src/services/http/responsesBuilder.js +0 -193
  394. package/src/services/index.js +0 -15
  395. package/src/services/utils/ensureBearerToken.js +0 -147
  396. package/src/services/utils/index.js +0 -19
  397. package/src/types.js +0 -377
  398. package/src/utils/functions.js +0 -78
  399. package/src/utils/wrappers.js +0 -131
  400. package/types/app/index.d.ts +0 -417
  401. package/types/constants/eventNames.d.ts +0 -93
  402. package/types/constants/index.d.ts +0 -2
  403. package/types/controllers/common/configuration.d.ts +0 -71
  404. package/types/controllers/common/health.d.ts +0 -55
  405. package/types/controllers/common/index.d.ts +0 -4
  406. package/types/controllers/common/statics.d.ts +0 -271
  407. package/types/controllers/index.d.ts +0 -3
  408. package/types/controllers/utils/gateway.d.ts +0 -947
  409. package/types/controllers/utils/index.d.ts +0 -2
  410. package/types/index.d.ts +0 -15
  411. package/types/middlewares/common/errorHandler.d.ts +0 -143
  412. package/types/middlewares/common/forceHTTPS.d.ts +0 -64
  413. package/types/middlewares/common/hsts.d.ts +0 -111
  414. package/types/middlewares/common/index.d.ts +0 -4
  415. package/types/middlewares/html/fastHTML.d.ts +0 -238
  416. package/types/middlewares/html/index.d.ts +0 -3
  417. package/types/middlewares/html/showHTML.d.ts +0 -128
  418. package/types/middlewares/index.d.ts +0 -4
  419. package/types/middlewares/utils/index.d.ts +0 -2
  420. package/types/middlewares/utils/versionValidator.d.ts +0 -247
  421. package/types/services/common/appError.d.ts +0 -89
  422. package/types/services/common/httpError.d.ts +0 -37
  423. package/types/services/common/index.d.ts +0 -18
  424. package/types/services/common/sendFile.d.ts +0 -56
  425. package/types/services/frontend/frontendFs.d.ts +0 -72
  426. package/types/services/frontend/index.d.ts +0 -3
  427. package/types/services/html/htmlGenerator.d.ts +0 -298
  428. package/types/services/html/index.d.ts +0 -3
  429. package/types/services/http/apiClient.d.ts +0 -141
  430. package/types/services/http/http.d.ts +0 -159
  431. package/types/services/http/index.d.ts +0 -18
  432. package/types/services/http/responsesBuilder.d.ts +0 -140
  433. package/types/services/index.d.ts +0 -6
  434. package/types/services/utils/ensureBearerToken.d.ts +0 -137
  435. package/types/services/utils/index.d.ts +0 -16
  436. package/types/types.d.ts +0 -280
  437. package/types/utils/functions.d.ts +0 -55
  438. package/types/utils/wrappers.d.ts +0 -127
@@ -0,0 +1,47 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex } from '../../index-efeb437e.js';
3
+ export { AppError, AppErrorClass, AppErrorContext, CreateAppErrorFn, appErrorProvider, createAppError } from './appError.mjs';
4
+ export { CreateHTTPErrorFn, HTTPError, HTTPErrorClass, createHTTPError, httpErrorProvider } from './httpError.mjs';
5
+ export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider } from './sendFile.mjs';
6
+ import '../../types/express.mjs';
7
+ import 'express';
8
+ import '../../types/http.mjs';
9
+ import 'https';
10
+ import 'http';
11
+ import 'spdy';
12
+ import 'node-fetch';
13
+ import '../../types/utils.mjs';
14
+ import '@homer0/path-utils';
15
+ import '@homer0/simple-logger';
16
+ import '@homer0/simple-config';
17
+ import '@homer0/events-hub';
18
+ import '../../utils/fns/statuses.mjs';
19
+ import 'statuses';
20
+
21
+ /**
22
+ * Registers all the common services on the container.
23
+ *
24
+ * - {@link AppError | appError}
25
+ * - {@link HTTPError | httpError}
26
+ * - {@link SendFile | sendFile}
27
+ *
28
+ * @example
29
+ *
30
+ * // Register the collection on the container
31
+ * container.register(commonServicesProvider);
32
+ * // Getting access to one the services instance
33
+ * const sendFile = container.get<SendFile>('sendFile');
34
+ *
35
+ * @group Providers
36
+ */
37
+ declare const commonServicesProvider: {
38
+ appErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
39
+ httpErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
40
+ sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
41
+ } & Record<string, _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>> & {
42
+ provider: true;
43
+ } & {
44
+ register: _homer0_jimple.ProviderRegisterFn<Jimpex>;
45
+ } & Record<string, unknown>;
46
+
47
+ export { commonServicesProvider };
@@ -0,0 +1,47 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex } from '../../index-b2a04c78.js';
3
+ export { AppError, AppErrorClass, AppErrorContext, CreateAppErrorFn, appErrorProvider, createAppError } from './appError.js';
4
+ export { CreateHTTPErrorFn, HTTPError, HTTPErrorClass, createHTTPError, httpErrorProvider } from './httpError.js';
5
+ export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider } from './sendFile.js';
6
+ import '../../types/express.js';
7
+ import 'express';
8
+ import '../../types/http.js';
9
+ import 'https';
10
+ import 'http';
11
+ import 'spdy';
12
+ import 'node-fetch';
13
+ import '../../types/utils.js';
14
+ import '@homer0/path-utils';
15
+ import '@homer0/simple-logger';
16
+ import '@homer0/simple-config';
17
+ import '@homer0/events-hub';
18
+ import '../../utils/fns/statuses.js';
19
+ import 'statuses';
20
+
21
+ /**
22
+ * Registers all the common services on the container.
23
+ *
24
+ * - {@link AppError | appError}
25
+ * - {@link HTTPError | httpError}
26
+ * - {@link SendFile | sendFile}
27
+ *
28
+ * @example
29
+ *
30
+ * // Register the collection on the container
31
+ * container.register(commonServicesProvider);
32
+ * // Getting access to one the services instance
33
+ * const sendFile = container.get<SendFile>('sendFile');
34
+ *
35
+ * @group Providers
36
+ */
37
+ declare const commonServicesProvider: {
38
+ appErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
39
+ httpErrorProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
40
+ sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
41
+ } & Record<string, _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>> & {
42
+ provider: true;
43
+ } & {
44
+ register: _homer0_jimple.ProviderRegisterFn<Jimpex>;
45
+ } & Record<string, unknown>;
46
+
47
+ export { commonServicesProvider };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var common_exports = {};
21
+ __export(common_exports, {
22
+ commonServicesProvider: () => commonServicesProvider
23
+ });
24
+ module.exports = __toCommonJS(common_exports);
25
+ var import_utils = require("../../utils");
26
+ var import_appError = require("./appError");
27
+ var import_httpError = require("./httpError");
28
+ var import_sendFile = require("./sendFile");
29
+ __reExport(common_exports, require("./appError"), module.exports);
30
+ __reExport(common_exports, require("./httpError"), module.exports);
31
+ __reExport(common_exports, require("./sendFile"), module.exports);
32
+ const commonServicesProvider = (0, import_utils.providers)({
33
+ appErrorProvider: import_appError.appErrorProvider,
34
+ httpErrorProvider: import_httpError.httpErrorProvider,
35
+ sendFileProvider: import_sendFile.sendFileProvider
36
+ });
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ commonServicesProvider,
40
+ ...require("./appError"),
41
+ ...require("./httpError"),
42
+ ...require("./sendFile")
43
+ });
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/common/index.ts"],"sourcesContent":["import { providers } from '../../utils';\nimport { appErrorProvider } from './appError';\nimport { httpErrorProvider } from './httpError';\nimport { sendFileProvider } from './sendFile';\n/**\n * Registers all the common services on the container.\n *\n * - {@link AppError | appError}\n * - {@link HTTPError | httpError}\n * - {@link SendFile | sendFile}\n *\n * @example\n *\n * // Register the collection on the container\n * container.register(commonServicesProvider);\n * // Getting access to one the services instance\n * const sendFile = container.get<SendFile>('sendFile');\n *\n * @group Providers\n */\nexport const commonServicesProvider = providers({\n appErrorProvider,\n httpErrorProvider,\n sendFileProvider,\n});\n\nexport * from './appError';\nexport * from './httpError';\nexport * from './sendFile';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,sBAAiC;AACjC,uBAAkC;AAClC,sBAAiC;AAuBjC,2BAAc,uBA1Bd;AA2BA,2BAAc,wBA3Bd;AA4BA,2BAAc,uBA5Bd;AAoBO,MAAM,6BAAyB,wBAAU;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":[]}
@@ -0,0 +1,102 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex } from '../../index-efeb437e.js';
3
+ import { Response, NextFunction } from 'express';
4
+ import { PathUtils } from '@homer0/path-utils';
5
+ import '../../types/express.mjs';
6
+ import '../../types/http.mjs';
7
+ import 'https';
8
+ import 'http';
9
+ import 'spdy';
10
+ import 'node-fetch';
11
+ import '../../types/utils.mjs';
12
+ import '@homer0/simple-logger';
13
+ import '@homer0/simple-config';
14
+ import '@homer0/events-hub';
15
+
16
+ /**
17
+ * The options to create a {@link SendFile} function.
18
+ *
19
+ * @group Services/SendFile
20
+ */
21
+ type SendFileGeneratorOptions = {
22
+ /**
23
+ * A dictionary with the dependencies to inject.
24
+ */
25
+ inject: {
26
+ pathUtils: PathUtils;
27
+ };
28
+ };
29
+ /**
30
+ * The options for the function that actually serves a file.
31
+ *
32
+ * @group Services/SendFile
33
+ */
34
+ type SendFileOptions = {
35
+ /**
36
+ * The response object sent by the application. Necessary to write the file.
37
+ */
38
+ res: Response;
39
+ /**
40
+ * The path of the file to serve. Depending on the `from` option, it will be either
41
+ * relative to the project root, or the application executable.
42
+ */
43
+ filepath: string;
44
+ /**
45
+ * The name of a location on the `pathUtils` service from where the `filepath` is
46
+ * relative to. It can be `app` for the directory containing the application executable,
47
+ * or `project` for the project root. It could also be any other location that the
48
+ * implementation may have registered.
49
+ *
50
+ * @default 'app'
51
+ */
52
+ from?: string;
53
+ /**
54
+ * The function to move to the next middleware. It can be used to report an error in
55
+ * case the file can't be served.
56
+ *
57
+ * @default {() => {}}
58
+ */
59
+ next?: NextFunction;
60
+ };
61
+ /**
62
+ * The type of the function that serves a file.
63
+ * This is exported to make it easy to type the dependency injection.
64
+ *
65
+ * @group Services/SendFile
66
+ */
67
+ type SendFile = (options: SendFileOptions) => void;
68
+ /**
69
+ * Generates a function to send files on the application response.
70
+ *
71
+ * @param options To inject the required dependencies.
72
+ * @example
73
+ *
74
+ * <caption>Basic usage</caption>
75
+ *
76
+ * // Let's say this is inside an Express middleware.
77
+ * // Get the function
78
+ * const send = sendFile(pathUtils);
79
+ * send({ res, filepath: 'some-file.html', next });
80
+ * // If your app is on "/app/index.js", this will send "/app/some-file.html".
81
+ *
82
+ * @group Services
83
+ * @group Services/SendFile
84
+ */
85
+ declare const sendFile: ({ inject: { pathUtils } }: SendFileGeneratorOptions) => SendFile;
86
+ /**
87
+ * The service provider that once registered on the container will set the result of
88
+ * {@link sendFile} as the `sendFile` service.
89
+ *
90
+ * @example
91
+ *
92
+ * // Register it on the container
93
+ * container.register(sendFileProvider);
94
+ * // Getting access to the service instance
95
+ * const sendFile = container.get<SendFile>('sendFile');
96
+ *
97
+ * @group Providers
98
+ * @group Services/SendFile
99
+ */
100
+ declare const sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
101
+
102
+ export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider };
@@ -0,0 +1,102 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex } from '../../index-b2a04c78.js';
3
+ import { Response, NextFunction } from 'express';
4
+ import { PathUtils } from '@homer0/path-utils';
5
+ import '../../types/express.js';
6
+ import '../../types/http.js';
7
+ import 'https';
8
+ import 'http';
9
+ import 'spdy';
10
+ import 'node-fetch';
11
+ import '../../types/utils.js';
12
+ import '@homer0/simple-logger';
13
+ import '@homer0/simple-config';
14
+ import '@homer0/events-hub';
15
+
16
+ /**
17
+ * The options to create a {@link SendFile} function.
18
+ *
19
+ * @group Services/SendFile
20
+ */
21
+ type SendFileGeneratorOptions = {
22
+ /**
23
+ * A dictionary with the dependencies to inject.
24
+ */
25
+ inject: {
26
+ pathUtils: PathUtils;
27
+ };
28
+ };
29
+ /**
30
+ * The options for the function that actually serves a file.
31
+ *
32
+ * @group Services/SendFile
33
+ */
34
+ type SendFileOptions = {
35
+ /**
36
+ * The response object sent by the application. Necessary to write the file.
37
+ */
38
+ res: Response;
39
+ /**
40
+ * The path of the file to serve. Depending on the `from` option, it will be either
41
+ * relative to the project root, or the application executable.
42
+ */
43
+ filepath: string;
44
+ /**
45
+ * The name of a location on the `pathUtils` service from where the `filepath` is
46
+ * relative to. It can be `app` for the directory containing the application executable,
47
+ * or `project` for the project root. It could also be any other location that the
48
+ * implementation may have registered.
49
+ *
50
+ * @default 'app'
51
+ */
52
+ from?: string;
53
+ /**
54
+ * The function to move to the next middleware. It can be used to report an error in
55
+ * case the file can't be served.
56
+ *
57
+ * @default {() => {}}
58
+ */
59
+ next?: NextFunction;
60
+ };
61
+ /**
62
+ * The type of the function that serves a file.
63
+ * This is exported to make it easy to type the dependency injection.
64
+ *
65
+ * @group Services/SendFile
66
+ */
67
+ type SendFile = (options: SendFileOptions) => void;
68
+ /**
69
+ * Generates a function to send files on the application response.
70
+ *
71
+ * @param options To inject the required dependencies.
72
+ * @example
73
+ *
74
+ * <caption>Basic usage</caption>
75
+ *
76
+ * // Let's say this is inside an Express middleware.
77
+ * // Get the function
78
+ * const send = sendFile(pathUtils);
79
+ * send({ res, filepath: 'some-file.html', next });
80
+ * // If your app is on "/app/index.js", this will send "/app/some-file.html".
81
+ *
82
+ * @group Services
83
+ * @group Services/SendFile
84
+ */
85
+ declare const sendFile: ({ inject: { pathUtils } }: SendFileGeneratorOptions) => SendFile;
86
+ /**
87
+ * The service provider that once registered on the container will set the result of
88
+ * {@link sendFile} as the `sendFile` service.
89
+ *
90
+ * @example
91
+ *
92
+ * // Register it on the container
93
+ * container.register(sendFileProvider);
94
+ * // Getting access to the service instance
95
+ * const sendFile = container.get<SendFile>('sendFile');
96
+ *
97
+ * @group Providers
98
+ * @group Services/SendFile
99
+ */
100
+ declare const sendFileProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
101
+
102
+ export { SendFile, SendFileGeneratorOptions, SendFileOptions, sendFile, sendFileProvider };
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var sendFile_exports = {};
20
+ __export(sendFile_exports, {
21
+ sendFile: () => sendFile,
22
+ sendFileProvider: () => sendFileProvider
23
+ });
24
+ module.exports = __toCommonJS(sendFile_exports);
25
+ var import_utils = require("../../utils");
26
+ const sendFile = ({ inject: { pathUtils } }) => ({ res, filepath, from = "app", next = () => {
27
+ } }) => {
28
+ res.sendFile(pathUtils.joinFrom(from, filepath), (error) => {
29
+ if (error) {
30
+ next(error);
31
+ } else {
32
+ res.end();
33
+ }
34
+ });
35
+ };
36
+ const sendFileProvider = (0, import_utils.provider)((app) => {
37
+ app.set(
38
+ "sendFile",
39
+ () => sendFile({
40
+ inject: {
41
+ pathUtils: app.get("pathUtils")
42
+ }
43
+ })
44
+ );
45
+ });
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ sendFile,
49
+ sendFileProvider
50
+ });
51
+ //# sourceMappingURL=sendFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/services/common/sendFile.ts"],"sourcesContent":["import { provider } from '../../utils';\nimport type { Response, NextFunction, PathUtils } from '../../types';\n/**\n * The options to create a {@link SendFile} function.\n *\n * @group Services/SendFile\n */\nexport type SendFileGeneratorOptions = {\n /**\n * A dictionary with the dependencies to inject.\n */\n inject: {\n pathUtils: PathUtils;\n };\n};\n/**\n * The options for the function that actually serves a file.\n *\n * @group Services/SendFile\n */\nexport type SendFileOptions = {\n /**\n * The response object sent by the application. Necessary to write the file.\n */\n res: Response;\n /**\n * The path of the file to serve. Depending on the `from` option, it will be either\n * relative to the project root, or the application executable.\n */\n filepath: string;\n /**\n * The name of a location on the `pathUtils` service from where the `filepath` is\n * relative to. It can be `app` for the directory containing the application executable,\n * or `project` for the project root. It could also be any other location that the\n * implementation may have registered.\n *\n * @default 'app'\n */\n from?: string;\n /**\n * The function to move to the next middleware. It can be used to report an error in\n * case the file can't be served.\n *\n * @default {() => {}}\n */\n next?: NextFunction;\n};\n/**\n * The type of the function that serves a file.\n * This is exported to make it easy to type the dependency injection.\n *\n * @group Services/SendFile\n */\nexport type SendFile = (options: SendFileOptions) => void;\n/**\n * Generates a function to send files on the application response.\n *\n * @param options To inject the required dependencies.\n * @example\n *\n * <caption>Basic usage</caption>\n *\n * // Let's say this is inside an Express middleware.\n * // Get the function\n * const send = sendFile(pathUtils);\n * send({ res, filepath: 'some-file.html', next });\n * // If your app is on \"/app/index.js\", this will send \"/app/some-file.html\".\n *\n * @group Services\n * @group Services/SendFile\n */\nexport const sendFile =\n ({ inject: { pathUtils } }: SendFileGeneratorOptions): SendFile =>\n ({ res, filepath, from = 'app', next = () => {} }) => {\n res.sendFile(pathUtils.joinFrom(from, filepath), (error) => {\n if (error) {\n next(error);\n } else {\n res.end();\n }\n });\n };\n\n/**\n * The service provider that once registered on the container will set the result of\n * {@link sendFile} as the `sendFile` service.\n *\n * @example\n *\n * // Register it on the container\n * container.register(sendFileProvider);\n * // Getting access to the service instance\n * const sendFile = container.get<SendFile>('sendFile');\n *\n * @group Providers\n * @group Services/SendFile\n */\nexport const sendFileProvider = provider((app) => {\n app.set('sendFile', () =>\n sendFile({\n inject: {\n pathUtils: app.get('pathUtils'),\n },\n }),\n );\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AAuElB,MAAM,WACX,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MACzB,CAAC,EAAE,KAAK,UAAU,OAAO,OAAO,OAAO,MAAM;AAAC,EAAE,MAAM;AACpD,MAAI,SAAS,UAAU,SAAS,MAAM,QAAQ,GAAG,CAAC,UAAU;AAC1D,QAAI,OAAO;AACT,WAAK,KAAK;AAAA,IACZ,OAAO;AACL,UAAI,IAAI;AAAA,IACV;AAAA,EACF,CAAC;AACH;AAgBK,MAAM,uBAAmB,uBAAS,CAAC,QAAQ;AAChD,MAAI;AAAA,IAAI;AAAA,IAAY,MAClB,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,WAAW,IAAI,IAAI,WAAW;AAAA,MAChC;AAAA,IACF,CAAC;AAAA,EACH;AACF,CAAC;","names":[]}
@@ -0,0 +1,96 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex } from '../../index-efeb437e.js';
3
+ import { PathUtils } from '@homer0/path-utils';
4
+ import fs from 'fs/promises';
5
+ import '../../types/express.mjs';
6
+ import 'express';
7
+ import '../../types/http.mjs';
8
+ import 'https';
9
+ import 'http';
10
+ import 'spdy';
11
+ import 'node-fetch';
12
+ import '../../types/utils.mjs';
13
+ import '@homer0/simple-logger';
14
+ import '@homer0/simple-config';
15
+ import '@homer0/events-hub';
16
+
17
+ /**
18
+ * The options to construct a {@link FrontendFs}.
19
+ *
20
+ * @group Services/FrontendFs
21
+ */
22
+ type FrontendFsOptions = {
23
+ /**
24
+ * A dictionary with the dependencies to inject.
25
+ */
26
+ inject: {
27
+ pathUtils: PathUtils;
28
+ };
29
+ };
30
+ /**
31
+ * This service allows the application to easily work with the filesystem. The idea behind
32
+ * centralizing this functionalities into a service is that is pretty common to have
33
+ * bundling tools to generate the frontend, and on that process files can have different
34
+ * paths or not even be generated all. The service can be extended/overwritten to
35
+ * accommodate any requirements and avoid having to update or add `if`s to every `fs` call
36
+ * the application does.
37
+ * Another _'feature'_ of this service is that all the paths are relative to the directory
38
+ * where the app executable is located, so you don't have to remember the relative path
39
+ * from the place you are accessing a file to the place where it's located.
40
+ *
41
+ * @group Services
42
+ * @group Services/FrontendFs
43
+ */
44
+ declare class FrontendFs {
45
+ /**
46
+ * The service that generates the relative paths.
47
+ */
48
+ protected readonly _pathUtils: PathUtils;
49
+ /**
50
+ * @param options The options to construct the service.
51
+ */
52
+ constructor({ inject: { pathUtils } }: FrontendFsOptions);
53
+ /**
54
+ * Deletes a file from the file system.
55
+ *
56
+ * @param filepath The path to the file.
57
+ */
58
+ delete(filepath: string): Promise<void>;
59
+ /**
60
+ * Reads a file from the file system.
61
+ *
62
+ * @param filepath The path to the file.
63
+ * @param encoding The text encoding in which the file should be read.
64
+ */
65
+ read(filepath: string, encoding?: BufferEncoding): Promise<string>;
66
+ /**
67
+ * Writes a file on the file system.
68
+ *
69
+ * @param filepath The path to the file.
70
+ * @param content The contents of the file.
71
+ */
72
+ write(filepath: string, content: Parameters<typeof fs.writeFile>[1]): Promise<void>;
73
+ /**
74
+ * Utility method to get the path of a file relative to the application executable.
75
+ *
76
+ * @param filepath The path to the file.
77
+ */
78
+ protected getAppPath(filepath: string): string;
79
+ }
80
+ /**
81
+ * The service provider that once registered on the container will set an instance of
82
+ * {@link FrontendFs} as the `frontendFs` service.
83
+ *
84
+ * @example
85
+ *
86
+ * // Register it on the container
87
+ * container.register(frontendFsProvider);
88
+ * // Getting access to the service instance
89
+ * const frontendFs = container.get<FrontendFs>('frontendFs');
90
+ *
91
+ * @group Providers
92
+ * @group Services/FrontendFs
93
+ */
94
+ declare const frontendFsProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
95
+
96
+ export { FrontendFs, FrontendFsOptions, frontendFsProvider };
@@ -0,0 +1,96 @@
1
+ import * as _homer0_jimple from '@homer0/jimple';
2
+ import { J as Jimpex } from '../../index-b2a04c78.js';
3
+ import { PathUtils } from '@homer0/path-utils';
4
+ import fs from 'fs/promises';
5
+ import '../../types/express.js';
6
+ import 'express';
7
+ import '../../types/http.js';
8
+ import 'https';
9
+ import 'http';
10
+ import 'spdy';
11
+ import 'node-fetch';
12
+ import '../../types/utils.js';
13
+ import '@homer0/simple-logger';
14
+ import '@homer0/simple-config';
15
+ import '@homer0/events-hub';
16
+
17
+ /**
18
+ * The options to construct a {@link FrontendFs}.
19
+ *
20
+ * @group Services/FrontendFs
21
+ */
22
+ type FrontendFsOptions = {
23
+ /**
24
+ * A dictionary with the dependencies to inject.
25
+ */
26
+ inject: {
27
+ pathUtils: PathUtils;
28
+ };
29
+ };
30
+ /**
31
+ * This service allows the application to easily work with the filesystem. The idea behind
32
+ * centralizing this functionalities into a service is that is pretty common to have
33
+ * bundling tools to generate the frontend, and on that process files can have different
34
+ * paths or not even be generated all. The service can be extended/overwritten to
35
+ * accommodate any requirements and avoid having to update or add `if`s to every `fs` call
36
+ * the application does.
37
+ * Another _'feature'_ of this service is that all the paths are relative to the directory
38
+ * where the app executable is located, so you don't have to remember the relative path
39
+ * from the place you are accessing a file to the place where it's located.
40
+ *
41
+ * @group Services
42
+ * @group Services/FrontendFs
43
+ */
44
+ declare class FrontendFs {
45
+ /**
46
+ * The service that generates the relative paths.
47
+ */
48
+ protected readonly _pathUtils: PathUtils;
49
+ /**
50
+ * @param options The options to construct the service.
51
+ */
52
+ constructor({ inject: { pathUtils } }: FrontendFsOptions);
53
+ /**
54
+ * Deletes a file from the file system.
55
+ *
56
+ * @param filepath The path to the file.
57
+ */
58
+ delete(filepath: string): Promise<void>;
59
+ /**
60
+ * Reads a file from the file system.
61
+ *
62
+ * @param filepath The path to the file.
63
+ * @param encoding The text encoding in which the file should be read.
64
+ */
65
+ read(filepath: string, encoding?: BufferEncoding): Promise<string>;
66
+ /**
67
+ * Writes a file on the file system.
68
+ *
69
+ * @param filepath The path to the file.
70
+ * @param content The contents of the file.
71
+ */
72
+ write(filepath: string, content: Parameters<typeof fs.writeFile>[1]): Promise<void>;
73
+ /**
74
+ * Utility method to get the path of a file relative to the application executable.
75
+ *
76
+ * @param filepath The path to the file.
77
+ */
78
+ protected getAppPath(filepath: string): string;
79
+ }
80
+ /**
81
+ * The service provider that once registered on the container will set an instance of
82
+ * {@link FrontendFs} as the `frontendFs` service.
83
+ *
84
+ * @example
85
+ *
86
+ * // Register it on the container
87
+ * container.register(frontendFsProvider);
88
+ * // Getting access to the service instance
89
+ * const frontendFs = container.get<FrontendFs>('frontendFs');
90
+ *
91
+ * @group Providers
92
+ * @group Services/FrontendFs
93
+ */
94
+ declare const frontendFsProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
95
+
96
+ export { FrontendFs, FrontendFsOptions, frontendFsProvider };