@sima-land/isomorph 11.0.0-alpha.44 → 11.0.0-alpha.46

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 (792) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/di/application.js +3 -3
  3. package/dist/cjs/di/application.js.map +1 -1
  4. package/dist/cjs/http/errors.js +11 -3
  5. package/dist/cjs/http/errors.js.map +1 -1
  6. package/dist/cjs/http/index.js +7 -0
  7. package/dist/cjs/http/index.js.map +1 -1
  8. package/dist/cjs/http/types.js.map +1 -1
  9. package/dist/cjs/http/utils.js +80 -0
  10. package/dist/cjs/http/utils.js.map +1 -0
  11. package/dist/cjs/package.json +8 -6
  12. package/dist/cjs/preset/bun/index.js +79 -0
  13. package/dist/cjs/preset/bun/index.js.map +1 -0
  14. package/dist/cjs/preset/bun/providers/config-source.js +13 -0
  15. package/dist/cjs/preset/bun/providers/config-source.js.map +1 -0
  16. package/dist/cjs/preset/bun/providers/fetch-middleware.js +13 -0
  17. package/dist/cjs/preset/bun/providers/fetch-middleware.js.map +1 -0
  18. package/dist/cjs/preset/bun/providers/log-handler-sentry.js +24 -0
  19. package/dist/cjs/preset/bun/providers/log-handler-sentry.js.map +1 -0
  20. package/dist/cjs/preset/bun/providers/logger.js +18 -0
  21. package/dist/cjs/preset/bun/providers/logger.js.map +1 -0
  22. package/dist/cjs/preset/bun/providers/serve-metrics.js +25 -0
  23. package/dist/cjs/preset/bun/providers/serve-metrics.js.map +1 -0
  24. package/dist/cjs/preset/bun/providers/serve-middleware.js +29 -0
  25. package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -0
  26. package/dist/cjs/preset/bun/providers/serve.js +33 -0
  27. package/dist/cjs/preset/bun/providers/serve.js.map +1 -0
  28. package/dist/cjs/preset/bun/providers/service-routes.js +16 -0
  29. package/dist/cjs/preset/bun/providers/service-routes.js.map +1 -0
  30. package/dist/cjs/preset/bun/utils/get-stats-handler.js +30 -0
  31. package/dist/cjs/preset/bun/utils/get-stats-handler.js.map +1 -0
  32. package/dist/cjs/preset/bun-handler/index.js +64 -0
  33. package/dist/cjs/preset/bun-handler/index.js.map +1 -0
  34. package/dist/cjs/preset/bun-handler/providers/accept-type.js +24 -0
  35. package/dist/cjs/preset/bun-handler/providers/accept-type.js.map +1 -0
  36. package/dist/cjs/preset/bun-handler/providers/cookie-store.js +15 -0
  37. package/dist/cjs/preset/bun-handler/providers/cookie-store.js.map +1 -0
  38. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +30 -0
  39. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
  40. package/dist/cjs/preset/bun-handler/providers/handler-main.js +73 -0
  41. package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -0
  42. package/dist/cjs/preset/bun-handler/providers/specific-params.js +19 -0
  43. package/dist/cjs/preset/bun-handler/providers/specific-params.js.map +1 -0
  44. package/dist/cjs/preset/isomorphic/index.js +63 -0
  45. package/dist/cjs/preset/isomorphic/index.js.map +1 -1
  46. package/dist/cjs/preset/isomorphic/providers/abort-controller.js +14 -0
  47. package/dist/cjs/preset/isomorphic/providers/abort-controller.js.map +1 -0
  48. package/dist/cjs/preset/isomorphic/providers/axios-factory.js +24 -0
  49. package/dist/cjs/preset/isomorphic/providers/axios-factory.js.map +1 -0
  50. package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js +18 -0
  51. package/dist/cjs/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
  52. package/dist/cjs/preset/isomorphic/providers/base-config.js +18 -0
  53. package/dist/cjs/preset/isomorphic/providers/base-config.js.map +1 -0
  54. package/dist/cjs/preset/isomorphic/providers/fetch.js +18 -0
  55. package/dist/cjs/preset/isomorphic/providers/fetch.js.map +1 -0
  56. package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js +26 -0
  57. package/dist/cjs/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
  58. package/dist/cjs/preset/isomorphic/types.js.map +1 -1
  59. package/dist/cjs/preset/isomorphic/utils/axios-logging.js +147 -0
  60. package/dist/cjs/preset/isomorphic/utils/axios-logging.js.map +1 -0
  61. package/dist/cjs/preset/isomorphic/utils/disableable.js +32 -0
  62. package/dist/cjs/preset/isomorphic/utils/disableable.js.map +1 -0
  63. package/dist/cjs/preset/isomorphic/utils/display-url.js +32 -0
  64. package/dist/cjs/preset/isomorphic/utils/display-url.js.map +1 -0
  65. package/dist/cjs/preset/isomorphic/utils/fetch-logging.js +84 -0
  66. package/dist/cjs/preset/isomorphic/utils/fetch-logging.js.map +1 -0
  67. package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js +21 -0
  68. package/dist/cjs/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
  69. package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js +31 -0
  70. package/dist/cjs/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
  71. package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js +25 -0
  72. package/dist/cjs/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
  73. package/dist/cjs/preset/isomorphic/utils/hide-first-id.js +20 -0
  74. package/dist/cjs/preset/isomorphic/utils/hide-first-id.js.map +1 -0
  75. package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js +46 -0
  76. package/dist/cjs/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
  77. package/dist/cjs/preset/isomorphic/utils/http-status.js +70 -0
  78. package/dist/cjs/preset/isomorphic/utils/http-status.js.map +1 -0
  79. package/dist/cjs/preset/isomorphic/utils/saga-logging.js +54 -0
  80. package/dist/cjs/preset/isomorphic/utils/saga-logging.js.map +1 -0
  81. package/dist/cjs/preset/isomorphic/utils/severity-from-status.js +30 -0
  82. package/dist/cjs/preset/isomorphic/utils/severity-from-status.js.map +1 -0
  83. package/dist/cjs/preset/node/index.js +93 -7
  84. package/dist/cjs/preset/node/index.js.map +1 -1
  85. package/dist/cjs/preset/node/providers/config-source.js +29 -0
  86. package/dist/cjs/preset/node/providers/config-source.js.map +1 -0
  87. package/dist/cjs/preset/node/providers/express-error-middleware.js +15 -0
  88. package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -0
  89. package/dist/cjs/preset/node/providers/express-factory.js +16 -0
  90. package/dist/cjs/preset/node/providers/express-factory.js.map +1 -0
  91. package/dist/cjs/preset/node/providers/express-log-middleware.js +45 -0
  92. package/dist/cjs/preset/node/providers/express-log-middleware.js.map +1 -0
  93. package/dist/cjs/preset/node/providers/express-metrics-middleware.js +60 -0
  94. package/dist/cjs/preset/node/providers/express-metrics-middleware.js.map +1 -0
  95. package/dist/cjs/preset/node/providers/express-request-middleware.js +15 -0
  96. package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -0
  97. package/dist/cjs/preset/node/providers/express-tracing-middleware.js +56 -0
  98. package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -0
  99. package/dist/cjs/preset/node/providers/log-handler-pino.js +32 -0
  100. package/dist/cjs/preset/node/providers/log-handler-pino.js.map +1 -0
  101. package/dist/cjs/preset/node/providers/log-handler-sentry.js +31 -0
  102. package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -0
  103. package/dist/cjs/preset/node/providers/logger.js +23 -0
  104. package/dist/cjs/preset/node/providers/logger.js.map +1 -0
  105. package/dist/cjs/preset/node/providers/metrics-http-app.js +26 -0
  106. package/dist/cjs/preset/node/providers/metrics-http-app.js.map +1 -0
  107. package/dist/cjs/preset/node/providers/span-exporter.js +21 -0
  108. package/dist/cjs/preset/node/providers/span-exporter.js.map +1 -0
  109. package/dist/cjs/preset/node/providers/tracer-provider-resource.js +26 -0
  110. package/dist/cjs/preset/node/providers/tracer-provider-resource.js.map +1 -0
  111. package/dist/cjs/preset/node/providers/tracer-provider.js +27 -0
  112. package/dist/cjs/preset/node/providers/tracer-provider.js.map +1 -0
  113. package/dist/cjs/preset/node/providers/tracer.js +18 -0
  114. package/dist/cjs/preset/node/providers/tracer.js.map +1 -0
  115. package/dist/cjs/preset/node/types.js.map +1 -1
  116. package/dist/cjs/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +11 -52
  117. package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -0
  118. package/dist/cjs/preset/node/utils/emitter-as-target.js +52 -0
  119. package/dist/cjs/preset/node/utils/emitter-as-target.js.map +1 -0
  120. package/dist/cjs/preset/node/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
  121. package/dist/cjs/preset/node/utils/get-client-ip.js.map +1 -0
  122. package/dist/cjs/preset/node/utils/get-forwarded-headers.js +36 -0
  123. package/dist/cjs/preset/node/utils/get-forwarded-headers.js.map +1 -0
  124. package/dist/cjs/preset/node/utils/get-page-response-format.js +20 -0
  125. package/dist/cjs/preset/node/utils/get-page-response-format.js.map +1 -0
  126. package/dist/cjs/preset/node/utils/handler-provider.js +29 -0
  127. package/dist/cjs/preset/node/utils/handler-provider.js.map +1 -0
  128. package/dist/cjs/preset/node-handler/index.js +73 -0
  129. package/dist/cjs/preset/node-handler/index.js.map +1 -0
  130. package/dist/cjs/preset/node-handler/providers/accepts-type.js +17 -0
  131. package/dist/cjs/preset/node-handler/providers/accepts-type.js.map +1 -0
  132. package/dist/cjs/preset/node-handler/providers/axios-log-handler.js +25 -0
  133. package/dist/cjs/preset/node-handler/providers/axios-log-handler.js.map +1 -0
  134. package/dist/cjs/preset/node-handler/providers/axios-middleware.js +54 -0
  135. package/dist/cjs/preset/node-handler/providers/axios-middleware.js.map +1 -0
  136. package/dist/cjs/preset/node-handler/providers/cookie-store.js +18 -0
  137. package/dist/cjs/preset/node-handler/providers/cookie-store.js.map +1 -0
  138. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js +35 -0
  139. package/dist/cjs/preset/node-handler/providers/fetch-middleware.js.map +1 -0
  140. package/dist/cjs/preset/node-handler/providers/handler-main.js +66 -0
  141. package/dist/cjs/preset/node-handler/providers/handler-main.js.map +1 -0
  142. package/dist/cjs/preset/node-handler/providers/response-events.js +18 -0
  143. package/dist/cjs/preset/node-handler/providers/response-events.js.map +1 -0
  144. package/dist/cjs/preset/node-handler/providers/specific-params.js +28 -0
  145. package/dist/cjs/preset/node-handler/providers/specific-params.js.map +1 -0
  146. package/dist/cjs/preset/server/constants.js +21 -0
  147. package/dist/cjs/preset/server/constants.js.map +1 -0
  148. package/dist/cjs/preset/server/index.js +95 -0
  149. package/dist/cjs/preset/server/index.js.map +1 -0
  150. package/dist/cjs/preset/server/providers/element-to-string.js +24 -0
  151. package/dist/cjs/preset/server/providers/element-to-string.js.map +1 -0
  152. package/dist/cjs/preset/server/providers/fetch-log-handler.js +23 -0
  153. package/dist/cjs/preset/server/providers/fetch-log-handler.js.map +1 -0
  154. package/dist/cjs/preset/server/providers/format-page-response.js +71 -0
  155. package/dist/cjs/preset/server/providers/format-page-response.js.map +1 -0
  156. package/dist/cjs/preset/server/providers/known-http-api-hosts.js +24 -0
  157. package/dist/cjs/preset/server/providers/known-http-api-hosts.js.map +1 -0
  158. package/dist/cjs/preset/server/providers/page-helmet.js +21 -0
  159. package/dist/cjs/preset/server/providers/page-helmet.js.map +1 -0
  160. package/dist/cjs/preset/server/providers/page-render.js +21 -0
  161. package/dist/cjs/preset/server/providers/page-render.js.map +1 -0
  162. package/dist/cjs/preset/server/providers/response-events.js +17 -0
  163. package/dist/cjs/preset/server/providers/response-events.js.map +1 -0
  164. package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js +18 -0
  165. package/dist/cjs/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
  166. package/dist/cjs/preset/server/types.js +6 -0
  167. package/dist/cjs/preset/server/types.js.map +1 -0
  168. package/dist/cjs/preset/server/utils/apply-server-middleware.js +22 -0
  169. package/dist/cjs/preset/server/utils/apply-server-middleware.js.map +1 -0
  170. package/dist/cjs/preset/server/utils/format-handler-error.js +40 -0
  171. package/dist/cjs/preset/server/utils/format-handler-error.js.map +1 -0
  172. package/dist/cjs/preset/server/utils/get-client-ip.js +16 -0
  173. package/dist/cjs/preset/server/utils/get-client-ip.js.map +1 -0
  174. package/dist/cjs/preset/server/utils/get-fetch-tracing.js +46 -0
  175. package/dist/cjs/preset/server/utils/get-fetch-tracing.js.map +1 -0
  176. package/dist/cjs/preset/server/utils/get-forwarded-headers.js +40 -0
  177. package/dist/cjs/preset/server/utils/get-forwarded-headers.js.map +1 -0
  178. package/dist/cjs/preset/server/utils/get-handler-metrics.js +43 -0
  179. package/dist/cjs/preset/server/utils/get-handler-metrics.js.map +1 -0
  180. package/dist/cjs/preset/server/utils/get-health-check.js +22 -0
  181. package/dist/cjs/preset/server/utils/get-health-check.js.map +1 -0
  182. package/dist/cjs/preset/server/utils/get-page-response-format.js +21 -0
  183. package/dist/cjs/preset/server/utils/get-page-response-format.js.map +1 -0
  184. package/dist/cjs/preset/server/utils/get-serve-error-logging.js +36 -0
  185. package/dist/cjs/preset/server/utils/get-serve-error-logging.js.map +1 -0
  186. package/dist/cjs/preset/server/utils/get-serve-logging.js +37 -0
  187. package/dist/cjs/preset/server/utils/get-serve-logging.js.map +1 -0
  188. package/dist/cjs/preset/server/utils/get-serve-measuring.js +57 -0
  189. package/dist/cjs/preset/server/utils/get-serve-measuring.js.map +1 -0
  190. package/dist/cjs/preset/server/utils/handler-provider.js +30 -0
  191. package/dist/cjs/preset/server/utils/handler-provider.js.map +1 -0
  192. package/dist/cjs/preset/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -66
  193. package/dist/cjs/preset/server/utils/regular-helmet.js.map +1 -0
  194. package/dist/cjs/preset/server/utils/specific-extras.js +30 -0
  195. package/dist/cjs/preset/server/utils/specific-extras.js.map +1 -0
  196. package/dist/cjs/preset/web/index.js +22 -10
  197. package/dist/cjs/preset/web/index.js.map +1 -1
  198. package/dist/cjs/preset/web/providers/axios-middleware.js +19 -0
  199. package/dist/cjs/preset/web/providers/axios-middleware.js.map +1 -0
  200. package/dist/cjs/preset/web/providers/config-source.js +19 -0
  201. package/dist/cjs/preset/web/providers/config-source.js.map +1 -0
  202. package/dist/cjs/preset/web/providers/fetch-middleware.js +21 -0
  203. package/dist/cjs/preset/web/providers/fetch-middleware.js.map +1 -0
  204. package/dist/cjs/preset/web/providers/known-http-api-hosts.js +24 -0
  205. package/dist/cjs/preset/web/providers/known-http-api-hosts.js.map +1 -0
  206. package/dist/cjs/preset/web/providers/logger.js +47 -0
  207. package/dist/cjs/preset/web/providers/logger.js.map +1 -0
  208. package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js +18 -0
  209. package/dist/cjs/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
  210. package/dist/cjs/tokens.js +111 -30
  211. package/dist/cjs/tokens.js.map +1 -1
  212. package/dist/cjs/utils/express/utils/index.js.map +1 -1
  213. package/dist/esm/di/application.js +3 -3
  214. package/dist/esm/di/application.js.map +1 -1
  215. package/dist/esm/http/errors.js +11 -3
  216. package/dist/esm/http/errors.js.map +1 -1
  217. package/dist/esm/http/index.js +1 -0
  218. package/dist/esm/http/index.js.map +1 -1
  219. package/dist/esm/http/types.js.map +1 -1
  220. package/dist/esm/http/utils.js +74 -0
  221. package/dist/esm/http/utils.js.map +1 -0
  222. package/dist/esm/package.json +8 -6
  223. package/dist/esm/preset/bun/index.js +62 -0
  224. package/dist/esm/preset/bun/index.js.map +1 -0
  225. package/dist/esm/preset/bun/providers/config-source.js +6 -0
  226. package/dist/esm/preset/bun/providers/config-source.js.map +1 -0
  227. package/dist/esm/preset/bun/providers/fetch-middleware.js +7 -0
  228. package/dist/esm/preset/bun/providers/fetch-middleware.js.map +1 -0
  229. package/dist/esm/preset/bun/providers/log-handler-sentry.js +18 -0
  230. package/dist/esm/preset/bun/providers/log-handler-sentry.js.map +1 -0
  231. package/dist/esm/preset/bun/providers/logger.js +12 -0
  232. package/dist/esm/preset/bun/providers/logger.js.map +1 -0
  233. package/dist/esm/preset/bun/providers/serve-metrics.js +18 -0
  234. package/dist/esm/preset/bun/providers/serve-metrics.js.map +1 -0
  235. package/dist/esm/preset/bun/providers/serve-middleware.js +23 -0
  236. package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -0
  237. package/dist/esm/preset/bun/providers/serve.js +27 -0
  238. package/dist/esm/preset/bun/providers/serve.js.map +1 -0
  239. package/dist/esm/preset/bun/providers/service-routes.js +10 -0
  240. package/dist/esm/preset/bun/providers/service-routes.js.map +1 -0
  241. package/dist/esm/preset/bun/utils/get-stats-handler.js +22 -0
  242. package/dist/esm/preset/bun/utils/get-stats-handler.js.map +1 -0
  243. package/dist/esm/preset/bun-handler/index.js +58 -0
  244. package/dist/esm/preset/bun-handler/index.js.map +1 -0
  245. package/dist/esm/preset/bun-handler/providers/accept-type.js +18 -0
  246. package/dist/esm/preset/bun-handler/providers/accept-type.js.map +1 -0
  247. package/dist/esm/preset/bun-handler/providers/cookie-store.js +9 -0
  248. package/dist/esm/preset/bun-handler/providers/cookie-store.js.map +1 -0
  249. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +24 -0
  250. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -0
  251. package/dist/esm/preset/bun-handler/providers/handler-main.js +64 -0
  252. package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -0
  253. package/dist/esm/preset/bun-handler/providers/specific-params.js +13 -0
  254. package/dist/esm/preset/bun-handler/providers/specific-params.js.map +1 -0
  255. package/dist/esm/preset/isomorphic/index.js +10 -1
  256. package/dist/esm/preset/isomorphic/index.js.map +1 -1
  257. package/dist/esm/preset/isomorphic/providers/abort-controller.js +8 -0
  258. package/dist/esm/preset/isomorphic/providers/abort-controller.js.map +1 -0
  259. package/dist/esm/preset/isomorphic/providers/axios-factory.js +19 -0
  260. package/dist/esm/preset/isomorphic/providers/axios-factory.js.map +1 -0
  261. package/dist/esm/preset/isomorphic/providers/axios-log-handler.js +13 -0
  262. package/dist/esm/preset/isomorphic/providers/axios-log-handler.js.map +1 -0
  263. package/dist/esm/preset/isomorphic/providers/base-config.js +13 -0
  264. package/dist/esm/preset/isomorphic/providers/base-config.js.map +1 -0
  265. package/dist/esm/preset/isomorphic/providers/fetch.js +13 -0
  266. package/dist/esm/preset/isomorphic/providers/fetch.js.map +1 -0
  267. package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js +20 -0
  268. package/dist/esm/preset/isomorphic/providers/redux-middleware-saga.js.map +1 -0
  269. package/dist/esm/preset/isomorphic/types.js.map +1 -1
  270. package/dist/esm/preset/isomorphic/utils/axios-logging.js +140 -0
  271. package/dist/esm/preset/isomorphic/utils/axios-logging.js.map +1 -0
  272. package/dist/esm/preset/isomorphic/utils/disableable.js +25 -0
  273. package/dist/esm/preset/isomorphic/utils/disableable.js.map +1 -0
  274. package/dist/esm/preset/isomorphic/utils/display-url.js +26 -0
  275. package/dist/esm/preset/isomorphic/utils/display-url.js.map +1 -0
  276. package/dist/esm/preset/isomorphic/utils/fetch-logging.js +78 -0
  277. package/dist/esm/preset/isomorphic/utils/fetch-logging.js.map +1 -0
  278. package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js +16 -0
  279. package/dist/esm/preset/isomorphic/utils/get-fetch-error-logging.js.map +1 -0
  280. package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js +25 -0
  281. package/dist/esm/preset/isomorphic/utils/get-fetch-extra-aborting.js.map +1 -0
  282. package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js +20 -0
  283. package/dist/esm/preset/isomorphic/utils/get-fetch-logging.js.map +1 -0
  284. package/dist/esm/preset/isomorphic/utils/hide-first-id.js +14 -0
  285. package/dist/esm/preset/isomorphic/utils/hide-first-id.js.map +1 -0
  286. package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js +39 -0
  287. package/dist/esm/preset/isomorphic/utils/http-api-host-pool.js.map +1 -0
  288. package/dist/esm/preset/isomorphic/utils/http-status.js +63 -0
  289. package/dist/esm/preset/isomorphic/utils/http-status.js.map +1 -0
  290. package/dist/esm/preset/isomorphic/utils/saga-logging.js +47 -0
  291. package/dist/esm/preset/isomorphic/utils/saga-logging.js.map +1 -0
  292. package/dist/esm/preset/isomorphic/utils/severity-from-status.js +24 -0
  293. package/dist/esm/preset/isomorphic/utils/severity-from-status.js.map +1 -0
  294. package/dist/esm/preset/node/index.js +82 -2
  295. package/dist/esm/preset/node/index.js.map +1 -1
  296. package/dist/esm/preset/node/providers/config-source.js +23 -0
  297. package/dist/esm/preset/node/providers/config-source.js.map +1 -0
  298. package/dist/esm/preset/node/providers/express-error-middleware.js +10 -0
  299. package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -0
  300. package/dist/esm/preset/node/providers/express-factory.js +10 -0
  301. package/dist/esm/preset/node/providers/express-factory.js.map +1 -0
  302. package/dist/esm/preset/node/providers/express-log-middleware.js +40 -0
  303. package/dist/esm/preset/node/providers/express-log-middleware.js.map +1 -0
  304. package/dist/esm/preset/node/providers/express-metrics-middleware.js +55 -0
  305. package/dist/esm/preset/node/providers/express-metrics-middleware.js.map +1 -0
  306. package/dist/esm/preset/node/providers/express-request-middleware.js +10 -0
  307. package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -0
  308. package/dist/esm/preset/node/providers/express-tracing-middleware.js +51 -0
  309. package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -0
  310. package/dist/esm/preset/node/providers/log-handler-pino.js +26 -0
  311. package/dist/esm/preset/node/providers/log-handler-pino.js.map +1 -0
  312. package/dist/esm/preset/node/providers/log-handler-sentry.js +24 -0
  313. package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -0
  314. package/dist/esm/preset/node/providers/logger.js +18 -0
  315. package/dist/esm/preset/node/providers/logger.js.map +1 -0
  316. package/dist/esm/preset/node/providers/metrics-http-app.js +18 -0
  317. package/dist/esm/preset/node/providers/metrics-http-app.js.map +1 -0
  318. package/dist/esm/preset/node/providers/span-exporter.js +16 -0
  319. package/dist/esm/preset/node/providers/span-exporter.js.map +1 -0
  320. package/dist/esm/preset/node/providers/tracer-provider-resource.js +20 -0
  321. package/dist/esm/preset/node/providers/tracer-provider-resource.js.map +1 -0
  322. package/dist/esm/preset/node/providers/tracer-provider.js +22 -0
  323. package/dist/esm/preset/node/providers/tracer-provider.js.map +1 -0
  324. package/dist/esm/preset/node/providers/tracer.js +13 -0
  325. package/dist/esm/preset/node/providers/tracer.js.map +1 -0
  326. package/dist/esm/preset/node/types.js.map +1 -1
  327. package/dist/esm/preset/node/{node/utils/http-client/index.js → utils/axios-tracing-middleware.js} +8 -47
  328. package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -0
  329. package/dist/esm/preset/node/utils/emitter-as-target.js +45 -0
  330. package/dist/esm/preset/node/utils/emitter-as-target.js.map +1 -0
  331. package/dist/esm/preset/node/{node/utils/http-server/index.js → utils/get-client-ip.js} +2 -2
  332. package/dist/esm/preset/node/utils/get-client-ip.js.map +1 -0
  333. package/dist/esm/preset/node/utils/get-forwarded-headers.js +31 -0
  334. package/dist/esm/preset/node/utils/get-forwarded-headers.js.map +1 -0
  335. package/dist/esm/preset/node/utils/get-page-response-format.js +14 -0
  336. package/dist/esm/preset/node/utils/get-page-response-format.js.map +1 -0
  337. package/dist/esm/preset/node/utils/handler-provider.js +24 -0
  338. package/dist/esm/preset/node/utils/handler-provider.js.map +1 -0
  339. package/dist/esm/preset/node-handler/index.js +68 -0
  340. package/dist/esm/preset/node-handler/index.js.map +1 -0
  341. package/dist/esm/preset/node-handler/providers/accepts-type.js +12 -0
  342. package/dist/esm/preset/node-handler/providers/accepts-type.js.map +1 -0
  343. package/dist/esm/preset/node-handler/providers/axios-log-handler.js +20 -0
  344. package/dist/esm/preset/node-handler/providers/axios-log-handler.js.map +1 -0
  345. package/dist/esm/preset/node-handler/providers/axios-middleware.js +49 -0
  346. package/dist/esm/preset/node-handler/providers/axios-middleware.js.map +1 -0
  347. package/dist/esm/preset/node-handler/providers/cookie-store.js +13 -0
  348. package/dist/esm/preset/node-handler/providers/cookie-store.js.map +1 -0
  349. package/dist/esm/preset/node-handler/providers/fetch-middleware.js +30 -0
  350. package/dist/esm/preset/node-handler/providers/fetch-middleware.js.map +1 -0
  351. package/dist/esm/preset/node-handler/providers/handler-main.js +58 -0
  352. package/dist/esm/preset/node-handler/providers/handler-main.js.map +1 -0
  353. package/dist/esm/preset/node-handler/providers/response-events.js +13 -0
  354. package/dist/esm/preset/node-handler/providers/response-events.js.map +1 -0
  355. package/dist/esm/preset/node-handler/providers/specific-params.js +23 -0
  356. package/dist/esm/preset/node-handler/providers/specific-params.js.map +1 -0
  357. package/dist/esm/preset/server/constants.js +15 -0
  358. package/dist/esm/preset/server/constants.js.map +1 -0
  359. package/dist/esm/preset/server/index.js +14 -0
  360. package/dist/esm/preset/server/index.js.map +1 -0
  361. package/dist/esm/preset/server/providers/element-to-string.js +19 -0
  362. package/dist/esm/preset/server/providers/element-to-string.js.map +1 -0
  363. package/dist/esm/preset/server/providers/fetch-log-handler.js +18 -0
  364. package/dist/esm/preset/server/providers/fetch-log-handler.js.map +1 -0
  365. package/dist/esm/preset/server/providers/format-page-response.js +66 -0
  366. package/dist/esm/preset/server/providers/format-page-response.js.map +1 -0
  367. package/dist/esm/preset/server/providers/known-http-api-hosts.js +19 -0
  368. package/dist/esm/preset/server/providers/known-http-api-hosts.js.map +1 -0
  369. package/dist/esm/preset/server/providers/page-helmet.js +16 -0
  370. package/dist/esm/preset/server/providers/page-helmet.js.map +1 -0
  371. package/dist/esm/preset/server/providers/page-render.js +9 -0
  372. package/dist/esm/preset/server/providers/page-render.js.map +1 -0
  373. package/dist/esm/preset/server/providers/response-events.js +12 -0
  374. package/dist/esm/preset/server/providers/response-events.js.map +1 -0
  375. package/dist/esm/preset/server/providers/ssr-bridge-server-side.js +13 -0
  376. package/dist/esm/preset/server/providers/ssr-bridge-server-side.js.map +1 -0
  377. package/dist/esm/preset/server/types.js +2 -0
  378. package/dist/esm/preset/server/types.js.map +1 -0
  379. package/dist/esm/preset/server/utils/apply-server-middleware.js +16 -0
  380. package/dist/esm/preset/server/utils/apply-server-middleware.js.map +1 -0
  381. package/dist/esm/preset/server/utils/format-handler-error.js +34 -0
  382. package/dist/esm/preset/server/utils/format-handler-error.js.map +1 -0
  383. package/dist/esm/preset/server/utils/get-client-ip.js +10 -0
  384. package/dist/esm/preset/server/utils/get-client-ip.js.map +1 -0
  385. package/dist/esm/preset/server/utils/get-fetch-tracing.js +41 -0
  386. package/dist/esm/preset/server/utils/get-fetch-tracing.js.map +1 -0
  387. package/dist/esm/preset/server/utils/get-forwarded-headers.js +35 -0
  388. package/dist/esm/preset/server/utils/get-forwarded-headers.js.map +1 -0
  389. package/dist/esm/preset/server/utils/get-handler-metrics.js +35 -0
  390. package/dist/esm/preset/server/utils/get-handler-metrics.js.map +1 -0
  391. package/dist/esm/preset/server/utils/get-health-check.js +16 -0
  392. package/dist/esm/preset/server/utils/get-health-check.js.map +1 -0
  393. package/dist/esm/preset/server/utils/get-page-response-format.js +15 -0
  394. package/dist/esm/preset/server/utils/get-page-response-format.js.map +1 -0
  395. package/dist/esm/preset/server/utils/get-serve-error-logging.js +31 -0
  396. package/dist/esm/preset/server/utils/get-serve-error-logging.js.map +1 -0
  397. package/dist/esm/preset/server/utils/get-serve-logging.js +32 -0
  398. package/dist/esm/preset/server/utils/get-serve-logging.js.map +1 -0
  399. package/dist/esm/preset/server/utils/get-serve-measuring.js +52 -0
  400. package/dist/esm/preset/server/utils/get-serve-measuring.js.map +1 -0
  401. package/dist/esm/preset/server/utils/handler-provider.js +25 -0
  402. package/dist/esm/preset/server/utils/handler-provider.js.map +1 -0
  403. package/dist/esm/preset/{node/handler/utils/index.js → server/utils/regular-helmet.js} +2 -62
  404. package/dist/esm/preset/server/utils/regular-helmet.js.map +1 -0
  405. package/dist/esm/preset/server/utils/specific-extras.js +23 -0
  406. package/dist/esm/preset/server/utils/specific-extras.js.map +1 -0
  407. package/dist/esm/preset/web/index.js +18 -6
  408. package/dist/esm/preset/web/index.js.map +1 -1
  409. package/dist/esm/preset/web/providers/axios-middleware.js +14 -0
  410. package/dist/esm/preset/web/providers/axios-middleware.js.map +1 -0
  411. package/dist/esm/preset/web/providers/config-source.js +14 -0
  412. package/dist/esm/preset/web/providers/config-source.js.map +1 -0
  413. package/dist/esm/preset/web/providers/fetch-middleware.js +16 -0
  414. package/dist/esm/preset/web/providers/fetch-middleware.js.map +1 -0
  415. package/dist/esm/preset/web/providers/known-http-api-hosts.js +19 -0
  416. package/dist/esm/preset/web/providers/known-http-api-hosts.js.map +1 -0
  417. package/dist/esm/preset/web/providers/logger.js +42 -0
  418. package/dist/esm/preset/web/providers/logger.js.map +1 -0
  419. package/dist/esm/preset/web/providers/ssr-bridge-client-side.js +13 -0
  420. package/dist/esm/preset/web/providers/ssr-bridge-client-side.js.map +1 -0
  421. package/dist/esm/tokens.js +111 -30
  422. package/dist/esm/tokens.js.map +1 -1
  423. package/dist/esm/utils/express/utils/index.js.map +1 -1
  424. package/dist/types/http/errors.d.ts +6 -2
  425. package/dist/types/http/errors.d.ts.map +1 -1
  426. package/dist/types/http/index.d.ts +2 -1
  427. package/dist/types/http/index.d.ts.map +1 -1
  428. package/dist/types/http/types.d.ts +22 -0
  429. package/dist/types/http/types.d.ts.map +1 -1
  430. package/dist/types/http/utils.d.ts +32 -0
  431. package/dist/types/http/utils.d.ts.map +1 -0
  432. package/dist/types/preset/bun/index.d.ts +10 -0
  433. package/dist/types/preset/bun/index.d.ts.map +1 -0
  434. package/dist/types/preset/bun/providers/config-source.d.ts +3 -0
  435. package/dist/types/preset/bun/providers/config-source.d.ts.map +1 -0
  436. package/dist/types/preset/bun/providers/fetch-middleware.d.ts +3 -0
  437. package/dist/types/preset/bun/providers/fetch-middleware.d.ts.map +1 -0
  438. package/dist/types/preset/bun/providers/log-handler-sentry.d.ts +3 -0
  439. package/dist/types/preset/bun/providers/log-handler-sentry.d.ts.map +1 -0
  440. package/dist/types/preset/bun/providers/logger.d.ts +4 -0
  441. package/dist/types/preset/bun/providers/logger.d.ts.map +1 -0
  442. package/dist/types/preset/bun/providers/serve-metrics.d.ts +3 -0
  443. package/dist/types/preset/bun/providers/serve-metrics.d.ts.map +1 -0
  444. package/dist/types/preset/bun/providers/serve-middleware.d.ts +4 -0
  445. package/dist/types/preset/bun/providers/serve-middleware.d.ts.map +1 -0
  446. package/dist/types/preset/bun/providers/serve.d.ts +4 -0
  447. package/dist/types/preset/bun/providers/serve.d.ts.map +1 -0
  448. package/dist/types/preset/bun/providers/service-routes.d.ts +3 -0
  449. package/dist/types/preset/bun/providers/service-routes.d.ts.map +1 -0
  450. package/dist/types/preset/bun/utils/get-stats-handler.d.ts +7 -0
  451. package/dist/types/preset/bun/utils/get-stats-handler.d.ts.map +1 -0
  452. package/dist/types/preset/bun-handler/index.d.ts +9 -0
  453. package/dist/types/preset/bun-handler/index.d.ts.map +1 -0
  454. package/dist/types/preset/bun-handler/providers/accept-type.d.ts +11 -0
  455. package/dist/types/preset/bun-handler/providers/accept-type.d.ts.map +1 -0
  456. package/dist/types/preset/bun-handler/providers/cookie-store.d.ts +4 -0
  457. package/dist/types/preset/bun-handler/providers/cookie-store.d.ts.map +1 -0
  458. package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts +4 -0
  459. package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +1 -0
  460. package/dist/types/preset/bun-handler/providers/handler-main.d.ts +3 -0
  461. package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +1 -0
  462. package/dist/types/preset/bun-handler/providers/specific-params.d.ts +3 -0
  463. package/dist/types/preset/bun-handler/providers/specific-params.d.ts.map +1 -0
  464. package/dist/types/preset/isomorphic/index.d.ts +9 -0
  465. package/dist/types/preset/isomorphic/index.d.ts.map +1 -1
  466. package/dist/types/preset/isomorphic/providers/abort-controller.d.ts +6 -0
  467. package/dist/types/preset/isomorphic/providers/abort-controller.d.ts.map +1 -0
  468. package/dist/types/preset/isomorphic/providers/axios-factory.d.ts +9 -0
  469. package/dist/types/preset/isomorphic/providers/axios-factory.d.ts.map +1 -0
  470. package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts +9 -0
  471. package/dist/types/preset/isomorphic/providers/axios-log-handler.d.ts.map +1 -0
  472. package/dist/types/preset/isomorphic/providers/base-config.d.ts +9 -0
  473. package/dist/types/preset/isomorphic/providers/base-config.d.ts.map +1 -0
  474. package/dist/types/preset/isomorphic/providers/fetch.d.ts +8 -0
  475. package/dist/types/preset/isomorphic/providers/fetch.d.ts.map +1 -0
  476. package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts +9 -0
  477. package/dist/types/preset/isomorphic/providers/redux-middleware-saga.d.ts.map +1 -0
  478. package/dist/types/preset/isomorphic/types.d.ts +1 -1
  479. package/dist/types/preset/isomorphic/types.d.ts.map +1 -1
  480. package/dist/types/preset/isomorphic/utils/axios-logging.d.ts +34 -0
  481. package/dist/types/preset/isomorphic/utils/axios-logging.d.ts.map +1 -0
  482. package/dist/types/preset/isomorphic/utils/disableable.d.ts +18 -0
  483. package/dist/types/preset/isomorphic/utils/disableable.d.ts.map +1 -0
  484. package/dist/types/preset/isomorphic/utils/display-url.d.ts +9 -0
  485. package/dist/types/preset/isomorphic/utils/display-url.d.ts.map +1 -0
  486. package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts +18 -0
  487. package/dist/types/preset/isomorphic/utils/fetch-logging.d.ts.map +1 -0
  488. package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts +8 -0
  489. package/dist/types/preset/isomorphic/utils/get-fetch-error-logging.d.ts.map +1 -0
  490. package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts +9 -0
  491. package/dist/types/preset/isomorphic/utils/get-fetch-extra-aborting.d.ts.map +1 -0
  492. package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts +9 -0
  493. package/dist/types/preset/isomorphic/utils/get-fetch-logging.d.ts.map +1 -0
  494. package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts +11 -0
  495. package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts.map +1 -0
  496. package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts +24 -0
  497. package/dist/types/preset/isomorphic/utils/http-api-host-pool.d.ts.map +1 -0
  498. package/dist/types/preset/isomorphic/utils/http-status.d.ts +29 -0
  499. package/dist/types/preset/isomorphic/utils/http-status.d.ts.map +1 -0
  500. package/dist/types/preset/isomorphic/utils/saga-logging.d.ts +30 -0
  501. package/dist/types/preset/isomorphic/utils/saga-logging.d.ts.map +1 -0
  502. package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts +8 -0
  503. package/dist/types/preset/isomorphic/utils/severity-from-status.d.ts.map +1 -0
  504. package/dist/types/preset/node/index.d.ts +12 -3
  505. package/dist/types/preset/node/index.d.ts.map +1 -1
  506. package/dist/types/preset/node/providers/config-source.d.ts +7 -0
  507. package/dist/types/preset/node/providers/config-source.d.ts.map +1 -0
  508. package/dist/types/preset/node/providers/express-error-middleware.d.ts +7 -0
  509. package/dist/types/preset/node/providers/express-error-middleware.d.ts.map +1 -0
  510. package/dist/types/preset/node/providers/express-factory.d.ts +7 -0
  511. package/dist/types/preset/node/providers/express-factory.d.ts.map +1 -0
  512. package/dist/types/preset/node/providers/express-log-middleware.d.ts +9 -0
  513. package/dist/types/preset/node/providers/express-log-middleware.d.ts.map +1 -0
  514. package/dist/types/preset/node/providers/express-metrics-middleware.d.ts +9 -0
  515. package/dist/types/preset/node/providers/express-metrics-middleware.d.ts.map +1 -0
  516. package/dist/types/preset/node/providers/express-request-middleware.d.ts +7 -0
  517. package/dist/types/preset/node/providers/express-request-middleware.d.ts.map +1 -0
  518. package/dist/types/preset/node/providers/express-tracing-middleware.d.ts +9 -0
  519. package/dist/types/preset/node/providers/express-tracing-middleware.d.ts.map +1 -0
  520. package/dist/types/preset/node/providers/log-handler-pino.d.ts +9 -0
  521. package/dist/types/preset/node/providers/log-handler-pino.d.ts.map +1 -0
  522. package/dist/types/preset/node/providers/log-handler-sentry.d.ts +9 -0
  523. package/dist/types/preset/node/providers/log-handler-sentry.d.ts.map +1 -0
  524. package/dist/types/preset/node/providers/logger.d.ts +9 -0
  525. package/dist/types/preset/node/providers/logger.d.ts.map +1 -0
  526. package/dist/types/preset/node/providers/metrics-http-app.d.ts +7 -0
  527. package/dist/types/preset/node/providers/metrics-http-app.d.ts.map +1 -0
  528. package/dist/types/preset/node/providers/span-exporter.d.ts +9 -0
  529. package/dist/types/preset/node/providers/span-exporter.d.ts.map +1 -0
  530. package/dist/types/preset/node/providers/tracer-provider-resource.d.ts +9 -0
  531. package/dist/types/preset/node/providers/tracer-provider-resource.d.ts.map +1 -0
  532. package/dist/types/preset/node/providers/tracer-provider.d.ts +9 -0
  533. package/dist/types/preset/node/providers/tracer-provider.d.ts.map +1 -0
  534. package/dist/types/preset/node/providers/tracer.d.ts +9 -0
  535. package/dist/types/preset/node/providers/tracer.d.ts.map +1 -0
  536. package/dist/types/preset/node/types.d.ts +4 -4
  537. package/dist/types/preset/node/types.d.ts.map +1 -1
  538. package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts +23 -0
  539. package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts.map +1 -0
  540. package/dist/types/preset/node/utils/emitter-as-target.d.ts +18 -0
  541. package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -0
  542. package/dist/types/preset/node/utils/get-client-ip.d.ts +8 -0
  543. package/dist/types/preset/node/utils/get-client-ip.d.ts.map +1 -0
  544. package/dist/types/preset/node/utils/get-forwarded-headers.d.ts +10 -0
  545. package/dist/types/preset/node/utils/get-forwarded-headers.d.ts.map +1 -0
  546. package/dist/types/preset/node/utils/get-page-response-format.d.ts +9 -0
  547. package/dist/types/preset/node/utils/get-page-response-format.d.ts.map +1 -0
  548. package/dist/types/preset/node/utils/handler-provider.d.ts +9 -0
  549. package/dist/types/preset/node/utils/handler-provider.d.ts.map +1 -0
  550. package/dist/types/preset/{node/handler → node-handler}/index.d.ts +2 -3
  551. package/dist/types/preset/node-handler/index.d.ts.map +1 -0
  552. package/dist/types/preset/node-handler/providers/accepts-type.d.ts +13 -0
  553. package/dist/types/preset/node-handler/providers/accepts-type.d.ts.map +1 -0
  554. package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts +9 -0
  555. package/dist/types/preset/node-handler/providers/axios-log-handler.d.ts.map +1 -0
  556. package/dist/types/preset/node-handler/providers/axios-middleware.d.ts +9 -0
  557. package/dist/types/preset/node-handler/providers/axios-middleware.d.ts.map +1 -0
  558. package/dist/types/preset/node-handler/providers/cookie-store.d.ts +9 -0
  559. package/dist/types/preset/node-handler/providers/cookie-store.d.ts.map +1 -0
  560. package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts +9 -0
  561. package/dist/types/preset/node-handler/providers/fetch-middleware.d.ts.map +1 -0
  562. package/dist/types/preset/node-handler/providers/handler-main.d.ts +9 -0
  563. package/dist/types/preset/node-handler/providers/handler-main.d.ts.map +1 -0
  564. package/dist/types/preset/node-handler/providers/response-events.d.ts +8 -0
  565. package/dist/types/preset/node-handler/providers/response-events.d.ts.map +1 -0
  566. package/dist/types/preset/node-handler/providers/specific-params.d.ts +8 -0
  567. package/dist/types/preset/node-handler/providers/specific-params.d.ts.map +1 -0
  568. package/dist/types/preset/server/constants.d.ts +13 -0
  569. package/dist/types/preset/server/constants.d.ts.map +1 -0
  570. package/dist/types/preset/server/index.d.ts +13 -0
  571. package/dist/types/preset/server/index.d.ts.map +1 -0
  572. package/dist/types/preset/server/providers/element-to-string.d.ts +9 -0
  573. package/dist/types/preset/server/providers/element-to-string.d.ts.map +1 -0
  574. package/dist/types/preset/server/providers/fetch-log-handler.d.ts +9 -0
  575. package/dist/types/preset/server/providers/fetch-log-handler.d.ts.map +1 -0
  576. package/dist/types/preset/server/providers/format-page-response.d.ts +10 -0
  577. package/dist/types/preset/server/providers/format-page-response.d.ts.map +1 -0
  578. package/dist/types/preset/server/providers/known-http-api-hosts.d.ts +10 -0
  579. package/dist/types/preset/server/providers/known-http-api-hosts.d.ts.map +1 -0
  580. package/dist/types/preset/server/providers/page-helmet.d.ts +11 -0
  581. package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -0
  582. package/dist/types/preset/server/providers/page-render.d.ts +6 -0
  583. package/dist/types/preset/server/providers/page-render.d.ts.map +1 -0
  584. package/dist/types/preset/server/providers/response-events.d.ts +8 -0
  585. package/dist/types/preset/server/providers/response-events.d.ts.map +1 -0
  586. package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts +9 -0
  587. package/dist/types/preset/server/providers/ssr-bridge-server-side.d.ts.map +1 -0
  588. package/dist/types/preset/server/types.d.ts +28 -0
  589. package/dist/types/preset/server/types.d.ts.map +1 -0
  590. package/dist/types/preset/server/utils/apply-server-middleware.d.ts +8 -0
  591. package/dist/types/preset/server/utils/apply-server-middleware.d.ts.map +1 -0
  592. package/dist/types/preset/server/utils/format-handler-error.d.ts +18 -0
  593. package/dist/types/preset/server/utils/format-handler-error.d.ts.map +1 -0
  594. package/dist/types/preset/server/utils/get-client-ip.d.ts +7 -0
  595. package/dist/types/preset/server/utils/get-client-ip.d.ts.map +1 -0
  596. package/dist/types/preset/server/utils/get-fetch-tracing.d.ts +10 -0
  597. package/dist/types/preset/server/utils/get-fetch-tracing.d.ts.map +1 -0
  598. package/dist/types/preset/server/utils/get-forwarded-headers.d.ts +9 -0
  599. package/dist/types/preset/server/utils/get-forwarded-headers.d.ts.map +1 -0
  600. package/dist/types/preset/server/utils/get-handler-metrics.d.ts +15 -0
  601. package/dist/types/preset/server/utils/get-handler-metrics.d.ts.map +1 -0
  602. package/dist/types/preset/server/utils/get-health-check.d.ts +8 -0
  603. package/dist/types/preset/server/utils/get-health-check.d.ts.map +1 -0
  604. package/dist/types/preset/server/utils/get-page-response-format.d.ts +9 -0
  605. package/dist/types/preset/server/utils/get-page-response-format.d.ts.map +1 -0
  606. package/dist/types/preset/server/utils/get-serve-error-logging.d.ts +9 -0
  607. package/dist/types/preset/server/utils/get-serve-error-logging.d.ts.map +1 -0
  608. package/dist/types/preset/server/utils/get-serve-logging.d.ts +9 -0
  609. package/dist/types/preset/server/utils/get-serve-logging.d.ts.map +1 -0
  610. package/dist/types/preset/server/utils/get-serve-measuring.d.ts +9 -0
  611. package/dist/types/preset/server/utils/get-serve-measuring.d.ts.map +1 -0
  612. package/dist/types/preset/server/utils/handler-provider.d.ts +11 -0
  613. package/dist/types/preset/server/utils/handler-provider.d.ts.map +1 -0
  614. package/dist/types/preset/server/utils/regular-helmet.d.ts +15 -0
  615. package/dist/types/preset/server/utils/regular-helmet.d.ts.map +1 -0
  616. package/dist/types/preset/server/utils/specific-extras.d.ts +18 -0
  617. package/dist/types/preset/server/utils/specific-extras.d.ts.map +1 -0
  618. package/dist/types/preset/web/index.d.ts.map +1 -1
  619. package/dist/types/preset/web/providers/axios-middleware.d.ts +8 -0
  620. package/dist/types/preset/web/providers/axios-middleware.d.ts.map +1 -0
  621. package/dist/types/preset/web/providers/config-source.d.ts +7 -0
  622. package/dist/types/preset/web/providers/config-source.d.ts.map +1 -0
  623. package/dist/types/preset/web/providers/fetch-middleware.d.ts +8 -0
  624. package/dist/types/preset/web/providers/fetch-middleware.d.ts.map +1 -0
  625. package/dist/types/preset/web/providers/known-http-api-hosts.d.ts +10 -0
  626. package/dist/types/preset/web/providers/known-http-api-hosts.d.ts.map +1 -0
  627. package/dist/types/preset/web/providers/logger.d.ts +9 -0
  628. package/dist/types/preset/web/providers/logger.d.ts.map +1 -0
  629. package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts +9 -0
  630. package/dist/types/preset/web/providers/ssr-bridge-client-side.d.ts.map +1 -0
  631. package/dist/types/tokens.d.ts +124 -27
  632. package/dist/types/tokens.d.ts.map +1 -1
  633. package/dist/types/utils/express/utils/index.d.ts.map +1 -1
  634. package/package.json +100 -123
  635. package/dist/cjs/preset/isomorphic/constants.js +0 -14
  636. package/dist/cjs/preset/isomorphic/constants.js.map +0 -1
  637. package/dist/cjs/preset/isomorphic/providers/index.js +0 -42
  638. package/dist/cjs/preset/isomorphic/providers/index.js.map +0 -1
  639. package/dist/cjs/preset/isomorphic/utils/index.js +0 -322
  640. package/dist/cjs/preset/isomorphic/utils/index.js.map +0 -1
  641. package/dist/cjs/preset/node/handler/index.js +0 -52
  642. package/dist/cjs/preset/node/handler/index.js.map +0 -1
  643. package/dist/cjs/preset/node/handler/providers/index.js +0 -212
  644. package/dist/cjs/preset/node/handler/providers/index.js.map +0 -1
  645. package/dist/cjs/preset/node/handler/utils/index.js.map +0 -1
  646. package/dist/cjs/preset/node/node/index.js +0 -61
  647. package/dist/cjs/preset/node/node/index.js.map +0 -1
  648. package/dist/cjs/preset/node/node/providers/index.js +0 -403
  649. package/dist/cjs/preset/node/node/providers/index.js.map +0 -1
  650. package/dist/cjs/preset/node/node/utils/http-client/index.js.map +0 -1
  651. package/dist/cjs/preset/node/node/utils/http-server/index.js.map +0 -1
  652. package/dist/cjs/preset/node/node/utils/index.js +0 -20
  653. package/dist/cjs/preset/node/node/utils/index.js.map +0 -1
  654. package/dist/cjs/preset/web/providers/index.js +0 -94
  655. package/dist/cjs/preset/web/providers/index.js.map +0 -1
  656. package/dist/esm/preset/isomorphic/constants.js +0 -8
  657. package/dist/esm/preset/isomorphic/constants.js.map +0 -1
  658. package/dist/esm/preset/isomorphic/providers/index.js +0 -35
  659. package/dist/esm/preset/isomorphic/providers/index.js.map +0 -1
  660. package/dist/esm/preset/isomorphic/utils/index.js +0 -309
  661. package/dist/esm/preset/isomorphic/utils/index.js.map +0 -1
  662. package/dist/esm/preset/node/handler/index.js +0 -42
  663. package/dist/esm/preset/node/handler/index.js.map +0 -1
  664. package/dist/esm/preset/node/handler/providers/index.js +0 -194
  665. package/dist/esm/preset/node/handler/providers/index.js.map +0 -1
  666. package/dist/esm/preset/node/handler/utils/index.js.map +0 -1
  667. package/dist/esm/preset/node/node/index.js +0 -56
  668. package/dist/esm/preset/node/node/index.js.map +0 -1
  669. package/dist/esm/preset/node/node/providers/index.js +0 -378
  670. package/dist/esm/preset/node/node/providers/index.js.map +0 -1
  671. package/dist/esm/preset/node/node/utils/http-client/index.js.map +0 -1
  672. package/dist/esm/preset/node/node/utils/http-server/index.js.map +0 -1
  673. package/dist/esm/preset/node/node/utils/index.js +0 -3
  674. package/dist/esm/preset/node/node/utils/index.js.map +0 -1
  675. package/dist/esm/preset/web/providers/index.js +0 -85
  676. package/dist/esm/preset/web/providers/index.js.map +0 -1
  677. package/dist/types/preset/isomorphic/constants.d.ts +0 -8
  678. package/dist/types/preset/isomorphic/constants.d.ts.map +0 -1
  679. package/dist/types/preset/isomorphic/providers/index.d.ts +0 -23
  680. package/dist/types/preset/isomorphic/providers/index.d.ts.map +0 -1
  681. package/dist/types/preset/isomorphic/utils/index.d.ts +0 -119
  682. package/dist/types/preset/isomorphic/utils/index.d.ts.map +0 -1
  683. package/dist/types/preset/node/handler/index.d.ts.map +0 -1
  684. package/dist/types/preset/node/handler/providers/index.d.ts +0 -36
  685. package/dist/types/preset/node/handler/providers/index.d.ts.map +0 -1
  686. package/dist/types/preset/node/handler/utils/index.d.ts +0 -47
  687. package/dist/types/preset/node/handler/utils/index.d.ts.map +0 -1
  688. package/dist/types/preset/node/node/index.d.ts +0 -9
  689. package/dist/types/preset/node/node/index.d.ts.map +0 -1
  690. package/dist/types/preset/node/node/providers/index.d.ts +0 -113
  691. package/dist/types/preset/node/node/providers/index.d.ts.map +0 -1
  692. package/dist/types/preset/node/node/utils/http-client/index.d.ts +0 -42
  693. package/dist/types/preset/node/node/utils/http-client/index.d.ts.map +0 -1
  694. package/dist/types/preset/node/node/utils/http-server/index.d.ts +0 -8
  695. package/dist/types/preset/node/node/utils/http-server/index.d.ts.map +0 -1
  696. package/dist/types/preset/node/node/utils/index.d.ts +0 -3
  697. package/dist/types/preset/node/node/utils/index.d.ts.map +0 -1
  698. package/dist/types/preset/web/providers/index.d.ts +0 -36
  699. package/dist/types/preset/web/providers/index.d.ts.map +0 -1
  700. package/src/cache/index.ts +0 -1
  701. package/src/cache/types.ts +0 -34
  702. package/src/config/base.ts +0 -18
  703. package/src/config/index.ts +0 -3
  704. package/src/config/source.ts +0 -23
  705. package/src/config/types.ts +0 -25
  706. package/src/di/__test__/application.test.ts +0 -258
  707. package/src/di/__test__/container.test.ts +0 -103
  708. package/src/di/__test__/errors.test.ts +0 -56
  709. package/src/di/__test__/preset.test.ts +0 -23
  710. package/src/di/__test__/token.test.ts +0 -25
  711. package/src/di/application.ts +0 -126
  712. package/src/di/container.ts +0 -60
  713. package/src/di/errors.ts +0 -59
  714. package/src/di/index.ts +0 -6
  715. package/src/di/preset.ts +0 -32
  716. package/src/di/token.ts +0 -41
  717. package/src/di/types.ts +0 -105
  718. package/src/http/__test__/errors.test.ts +0 -35
  719. package/src/http/errors.ts +0 -42
  720. package/src/http/index.ts +0 -14
  721. package/src/http/types.ts +0 -8
  722. package/src/log/__test__/errors.test.ts +0 -13
  723. package/src/log/__test__/logger.test.ts +0 -24
  724. package/src/log/errors.ts +0 -33
  725. package/src/log/handler/pino.ts +0 -27
  726. package/src/log/handler/sentry.ts +0 -57
  727. package/src/log/index.ts +0 -12
  728. package/src/log/logger.ts +0 -30
  729. package/src/log/types.ts +0 -76
  730. package/src/preset/isomorphic/constants.ts +0 -7
  731. package/src/preset/isomorphic/index.ts +0 -7
  732. package/src/preset/isomorphic/providers/index.ts +0 -40
  733. package/src/preset/isomorphic/types.ts +0 -37
  734. package/src/preset/isomorphic/utils/__test__/index.test.ts +0 -541
  735. package/src/preset/isomorphic/utils/index.ts +0 -349
  736. package/src/preset/node/handler/index.ts +0 -46
  737. package/src/preset/node/handler/providers/index.tsx +0 -214
  738. package/src/preset/node/handler/utils/index.tsx +0 -110
  739. package/src/preset/node/index.ts +0 -3
  740. package/src/preset/node/node/index.ts +0 -73
  741. package/src/preset/node/node/providers/index.ts +0 -434
  742. package/src/preset/node/node/utils/http-client/__test__/index.test.ts +0 -232
  743. package/src/preset/node/node/utils/http-client/index.ts +0 -129
  744. package/src/preset/node/node/utils/http-server/index.ts +0 -17
  745. package/src/preset/node/node/utils/index.ts +0 -2
  746. package/src/preset/node/types.ts +0 -10
  747. package/src/preset/web/index.ts +0 -40
  748. package/src/preset/web/providers/index.ts +0 -108
  749. package/src/tokens.ts +0 -108
  750. package/src/utils/axios/index.ts +0 -12
  751. package/src/utils/axios/middleware/__test__/cookie.test.ts +0 -94
  752. package/src/utils/axios/middleware/__test__/log.test.ts +0 -121
  753. package/src/utils/axios/middleware/cookie.ts +0 -26
  754. package/src/utils/axios/middleware/log.ts +0 -52
  755. package/src/utils/axios/sauce/index.ts +0 -76
  756. package/src/utils/axios/utils/__test__/index.test.ts +0 -89
  757. package/src/utils/axios/utils/index.ts +0 -26
  758. package/src/utils/express/handler/health-check.ts +0 -13
  759. package/src/utils/express/index.ts +0 -2
  760. package/src/utils/express/utils/index.ts +0 -18
  761. package/src/utils/function.ts +0 -57
  762. package/src/utils/index.ts +0 -2
  763. package/src/utils/math.ts +0 -8
  764. package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +0 -27
  765. package/src/utils/react/error-handlers/__test__/index.test.tsx +0 -63
  766. package/src/utils/react/error-handlers/index.tsx +0 -68
  767. package/src/utils/react/index.ts +0 -3
  768. package/src/utils/redux/__test__/remote-data.test.ts +0 -172
  769. package/src/utils/redux/index.ts +0 -4
  770. package/src/utils/redux/remote-data.ts +0 -138
  771. package/src/utils/redux-saga/__test__/take-chain.test.ts +0 -141
  772. package/src/utils/redux-saga/index.ts +0 -3
  773. package/src/utils/redux-saga/middleware.ts +0 -168
  774. package/src/utils/redux-saga/take-chain.ts +0 -67
  775. package/src/utils/redux-saga/types.ts +0 -43
  776. package/src/utils/ssr/index.tsx +0 -78
  777. package/src/utils/web/analytics/__test__/data-layer.test.ts +0 -50
  778. package/src/utils/web/analytics/__test__/oko.test.ts +0 -50
  779. package/src/utils/web/analytics/data-layer.ts +0 -12
  780. package/src/utils/web/analytics/index.ts +0 -2
  781. package/src/utils/web/analytics/oko.ts +0 -14
  782. package/src/utils/web/storage/index.ts +0 -83
  783. package/src/utils/webpack/env/index.ts +0 -91
  784. package/src/utils/webpack/env/types.ts +0 -14
  785. package/src/utils/webpack/env/utils.ts +0 -53
  786. package/src/utils/webpack/index.ts +0 -7
  787. package/src/utils/webpack/module-federation/__test__/__snapshots__/utils.test.ts.snap +0 -124
  788. package/src/utils/webpack/module-federation/__test__/index.test.ts +0 -311
  789. package/src/utils/webpack/module-federation/__test__/utils.test.ts +0 -28
  790. package/src/utils/webpack/module-federation/index.ts +0 -102
  791. package/src/utils/webpack/module-federation/types.ts +0 -54
  792. package/src/utils/webpack/module-federation/utils.ts +0 -104
package/README.md CHANGED
@@ -7,6 +7,7 @@
7
7
  - react
8
8
  - redux
9
9
  - redux-saga
10
+ - fetch
10
11
  - axios
11
12
  - express
12
13
  - webpack
@@ -51,6 +51,9 @@ class ApplicationImplementation {
51
51
  };
52
52
  }
53
53
  get(token) {
54
+ return this.resolve(token, []);
55
+ }
56
+ resolve(token, chain) {
54
57
  if (!this.initialized) {
55
58
  this.bind(CURRENT_APP).toValue(this);
56
59
  for (const preset of this.presets) {
@@ -58,9 +61,6 @@ class ApplicationImplementation {
58
61
  }
59
62
  this.initialized = true;
60
63
  }
61
- return this.resolve(token, []);
62
- }
63
- resolve(token, chain) {
64
64
  const nextChain = () => [...chain, token];
65
65
  if (chain.includes(token)) {
66
66
  throw new _errors.CircularDependencyError(nextChain(), this.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","names":["_errors","require","_token","CURRENT_APP","exports","createToken","ApplicationImplementation","constructor","providers","Map","components","presets","initialized","toString","bind","token","has","_key","AlreadyBoundError","toValue","value","set","toProvider","provider","get","preset","apply","resolve","chain","nextChain","includes","CircularDependencyError","component","otherToken","parent","NothingBoundError","attach","Error","push","invoke","tokens","fn","map","createApplication"],"sources":["../../../src/di/application.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Binding, ExtractType, Preset } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\nimport { createToken } from './token';\n\n/**\n * Токен, с помощью которого можно достать из приложения само приложение.\n */\nexport const CURRENT_APP = createToken<Application>('application/self');\n\n/**\n * Реализация Application.\n */\nclass ApplicationImplementation implements Application {\n /** Родительское приложение. */\n private parent?: ApplicationImplementation;\n\n /** Зарегистрированные пресеты. */\n private presets: Preset[];\n\n /** Зарегистрированные провайдеры. */\n private providers: Map<symbol, Provider<unknown>>;\n\n /** Инициализированные компоненты (синглтоны). */\n private components: Map<symbol, unknown>;\n\n /** Инициализировано ли приложение. */\n private initialized: boolean;\n\n constructor() {\n this.providers = new Map();\n this.components = new Map();\n this.presets = [];\n this.initialized = false;\n }\n\n toString() {\n return 'Application';\n }\n\n bind<T>(token: Token<T>): Binding<T> {\n if (this.providers.has(token._key)) {\n throw new AlreadyBoundError(token, this.toString());\n }\n\n return {\n toValue: value => {\n this.providers.set(token._key, () => value);\n },\n toProvider: provider => {\n this.providers.set(token._key, provider);\n },\n };\n }\n\n get<T>(token: Token<T>): T {\n if (!this.initialized) {\n this.bind(CURRENT_APP).toValue(this);\n\n for (const preset of this.presets) {\n preset.apply(this);\n }\n\n this.initialized = true;\n }\n\n return this.resolve(token, []);\n }\n\n protected resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n const nextChain = () => [...chain, token];\n\n if (chain.includes(token)) {\n throw new CircularDependencyError(nextChain(), this.toString());\n }\n\n if (this.components.has(token._key)) {\n return this.components.get(token._key) as T;\n }\n\n if (this.providers.has(token._key)) {\n const provider = this.providers.get(token._key) as Provider<T>;\n\n const component = provider(otherToken => this.resolve(otherToken, nextChain()));\n\n // ВАЖНО: всегда как singleton\n this.components.set(token._key, component);\n\n return component as T;\n }\n\n if (this.parent) {\n // ВАЖНО: передаём именно chain а не nextChain()\n return this.parent.resolve(token, chain);\n }\n\n throw new NothingBoundError(token, this.toString());\n }\n\n attach(parent: ApplicationImplementation): void {\n if (this.parent) {\n throw new Error('Cannot reattach application');\n }\n\n this.parent = parent;\n }\n\n preset(preset: Preset): void {\n this.presets.push(preset);\n }\n\n invoke<Tokens extends readonly Token<any>[]>(\n tokens: [...Tokens],\n fn: (...args: ExtractType<Tokens>) => void,\n ): void {\n fn(...(tokens.map(token => this.get(token)) as any));\n }\n}\n\n/**\n * Возвращает новое DI-приложение.\n * @return DI-приложение.\n */\nexport function createApplication(): Application {\n return new ApplicationImplementation();\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"application.js","names":["_errors","require","_token","CURRENT_APP","exports","createToken","ApplicationImplementation","constructor","providers","Map","components","presets","initialized","toString","bind","token","has","_key","AlreadyBoundError","toValue","value","set","toProvider","provider","get","resolve","chain","preset","apply","nextChain","includes","CircularDependencyError","component","otherToken","parent","NothingBoundError","attach","Error","push","invoke","tokens","fn","map","createApplication"],"sources":["../../../src/di/application.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Binding, ExtractType, Preset } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\nimport { createToken } from './token';\n\n/**\n * Токен, с помощью которого можно достать из приложения само приложение.\n */\nexport const CURRENT_APP = createToken<Application>('application/self');\n\n/**\n * Реализация Application.\n */\nclass ApplicationImplementation implements Application {\n /** Родительское приложение. */\n private parent?: ApplicationImplementation;\n\n /** Зарегистрированные пресеты. */\n private presets: Preset[];\n\n /** Зарегистрированные провайдеры. */\n private providers: Map<symbol, Provider<unknown>>;\n\n /** Инициализированные компоненты (синглтоны). */\n private components: Map<symbol, unknown>;\n\n /** Инициализировано ли приложение. */\n private initialized: boolean;\n\n constructor() {\n this.providers = new Map();\n this.components = new Map();\n this.presets = [];\n this.initialized = false;\n }\n\n toString() {\n return 'Application';\n }\n\n bind<T>(token: Token<T>): Binding<T> {\n if (this.providers.has(token._key)) {\n throw new AlreadyBoundError(token, this.toString());\n }\n\n return {\n toValue: value => {\n this.providers.set(token._key, () => value);\n },\n toProvider: provider => {\n this.providers.set(token._key, provider);\n },\n };\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n protected resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (!this.initialized) {\n this.bind(CURRENT_APP).toValue(this);\n\n for (const preset of this.presets) {\n preset.apply(this);\n }\n\n this.initialized = true;\n }\n\n const nextChain = () => [...chain, token];\n\n if (chain.includes(token)) {\n throw new CircularDependencyError(nextChain(), this.toString());\n }\n\n if (this.components.has(token._key)) {\n return this.components.get(token._key) as T;\n }\n\n if (this.providers.has(token._key)) {\n const provider = this.providers.get(token._key) as Provider<T>;\n\n const component = provider(otherToken => this.resolve(otherToken, nextChain()));\n\n // ВАЖНО: всегда как singleton\n this.components.set(token._key, component);\n\n return component as T;\n }\n\n if (this.parent) {\n // ВАЖНО: передаём именно chain а не nextChain()\n return this.parent.resolve(token, chain);\n }\n\n throw new NothingBoundError(token, this.toString());\n }\n\n attach(parent: ApplicationImplementation): void {\n if (this.parent) {\n throw new Error('Cannot reattach application');\n }\n\n this.parent = parent;\n }\n\n preset(preset: Preset): void {\n this.presets.push(preset);\n }\n\n invoke<Tokens extends readonly Token<any>[]>(\n tokens: [...Tokens],\n fn: (...args: ExtractType<Tokens>) => void,\n ): void {\n fn(...(tokens.map(token => this.get(token)) as any));\n }\n}\n\n/**\n * Возвращает новое DI-приложение.\n * @return DI-приложение.\n */\nexport function createApplication(): Application {\n return new ApplicationImplementation();\n}\n"],"mappings":"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"}
@@ -35,12 +35,20 @@ exports.StatusError = StatusError;
35
35
  class ResponseError extends Error {
36
36
  /**
37
37
  * @param message Сообщение.
38
- * @param statusCode Код ответа.
38
+ * @param statusCodeOrInit Код ответа.
39
39
  */
40
- constructor(message, statusCode = 500) {
40
+ constructor(message, statusCodeOrInit = 500) {
41
41
  super(message);
42
42
  this.name = 'ResponseError';
43
- this.statusCode = statusCode;
43
+ if (typeof statusCodeOrInit === 'number') {
44
+ this.logLevel = 'error';
45
+ this.statusCode = statusCodeOrInit;
46
+ this.redirectLocation = null;
47
+ } else {
48
+ this.logLevel = statusCodeOrInit.logLevel ?? 'error';
49
+ this.statusCode = statusCodeOrInit.statusCode ?? 500;
50
+ this.redirectLocation = statusCodeOrInit.redirectLocation ?? null;
51
+ }
44
52
  }
45
53
  }
46
54
  exports.ResponseError = ResponseError;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":["StatusError","Error","constructor","response","status","name","is","value","exports","ResponseError","message","statusCode"],"sources":["../../../src/http/errors.ts"],"sourcesContent":["/**\n * Ошибка валидации статуса ответа.\n * @todo Переименовать в HttpStatusValidationError?\n */\nexport class StatusError extends Error {\n readonly response: Response;\n\n /**\n * @param response Ответ.\n */\n constructor(response: Response) {\n super(`HTTP Request failed with status ${response.status}`);\n this.name = 'StatusError';\n this.response = response;\n }\n\n /**\n * Определяет, является ли переданное значение ошибкой валидации статуса.\n * @param value Значение.\n * @return Результат.\n */\n static is(value: unknown): value is StatusError {\n return (value as any)?.name === 'StatusError';\n }\n}\n\n/**\n * Ошибка в процессе формирования ответа.\n */\nexport class ResponseError extends Error {\n statusCode: number;\n\n /**\n * @param message Сообщение.\n * @param statusCode Код ответа.\n */\n constructor(message: string, statusCode = 500) {\n super(message);\n this.name = 'ResponseError';\n this.statusCode = statusCode;\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACO,MAAMA,WAAW,SAASC,KAAK,CAAC;EAGrC;AACF;AACA;EACEC,WAAWA,CAACC,QAAkB,EAAE;IAC9B,KAAK,CAAE,mCAAkCA,QAAQ,CAACC,MAAO,EAAC,CAAC;IAC3D,IAAI,CAACC,IAAI,GAAG,aAAa;IACzB,IAAI,CAACF,QAAQ,GAAGA,QAAQ;EAC1B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOG,EAAEA,CAACC,KAAc,EAAwB;IAC9C,OAAQA,KAAK,EAAUF,IAAI,KAAK,aAAa;EAC/C;AACF;;AAEA;AACA;AACA;AAFAG,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAGO,MAAMS,aAAa,SAASR,KAAK,CAAC;EAGvC;AACF;AACA;AACA;EACEC,WAAWA,CAACQ,OAAe,EAAEC,UAAU,GAAG,GAAG,EAAE;IAC7C,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACL,IAAI,GAAG,eAAe;IAC3B,IAAI,CAACM,UAAU,GAAGA,UAAU;EAC9B;AACF;AAACH,OAAA,CAAAC,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"file":"errors.js","names":["StatusError","Error","constructor","response","status","name","is","value","exports","ResponseError","message","statusCodeOrInit","logLevel","statusCode","redirectLocation"],"sources":["../../../src/http/errors.ts"],"sourcesContent":["import type { LogLevel } from '../log';\nimport type { ResponseErrorInit } from './types';\n\n/**\n * Ошибка валидации статуса ответа.\n * @todo Переименовать в HttpStatusValidationError?\n */\nexport class StatusError extends Error {\n readonly response: Response;\n\n /**\n * @param response Ответ.\n */\n constructor(response: Response) {\n super(`HTTP Request failed with status ${response.status}`);\n this.name = 'StatusError';\n this.response = response;\n }\n\n /**\n * Определяет, является ли переданное значение ошибкой валидации статуса.\n * @param value Значение.\n * @return Результат.\n */\n static is(value: unknown): value is StatusError {\n return (value as any)?.name === 'StatusError';\n }\n}\n\n/**\n * Ошибка в процессе формирования ответа.\n */\nexport class ResponseError extends Error {\n logLevel: LogLevel | null;\n statusCode: number;\n redirectLocation: string | null;\n\n /**\n * @param message Сообщение.\n * @param statusCodeOrInit Код ответа.\n */\n constructor(message: string, statusCodeOrInit: number | ResponseErrorInit = 500) {\n super(message);\n this.name = 'ResponseError';\n\n if (typeof statusCodeOrInit === 'number') {\n this.logLevel = 'error';\n this.statusCode = statusCodeOrInit;\n this.redirectLocation = null;\n } else {\n this.logLevel = statusCodeOrInit.logLevel ?? 'error';\n this.statusCode = statusCodeOrInit.statusCode ?? 500;\n this.redirectLocation = statusCodeOrInit.redirectLocation ?? null;\n }\n }\n}\n"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;AACO,MAAMA,WAAW,SAASC,KAAK,CAAC;EAGrC;AACF;AACA;EACEC,WAAWA,CAACC,QAAkB,EAAE;IAC9B,KAAK,CAAE,mCAAkCA,QAAQ,CAACC,MAAO,EAAC,CAAC;IAC3D,IAAI,CAACC,IAAI,GAAG,aAAa;IACzB,IAAI,CAACF,QAAQ,GAAGA,QAAQ;EAC1B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOG,EAAEA,CAACC,KAAc,EAAwB;IAC9C,OAAQA,KAAK,EAAUF,IAAI,KAAK,aAAa;EAC/C;AACF;;AAEA;AACA;AACA;AAFAG,OAAA,CAAAR,WAAA,GAAAA,WAAA;AAGO,MAAMS,aAAa,SAASR,KAAK,CAAC;EAKvC;AACF;AACA;AACA;EACEC,WAAWA,CAACQ,OAAe,EAAEC,gBAA4C,GAAG,GAAG,EAAE;IAC/E,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACL,IAAI,GAAG,eAAe;IAE3B,IAAI,OAAOM,gBAAgB,KAAK,QAAQ,EAAE;MACxC,IAAI,CAACC,QAAQ,GAAG,OAAO;MACvB,IAAI,CAACC,UAAU,GAAGF,gBAAgB;MAClC,IAAI,CAACG,gBAAgB,GAAG,IAAI;IAC9B,CAAC,MAAM;MACL,IAAI,CAACF,QAAQ,GAAGD,gBAAgB,CAACC,QAAQ,IAAI,OAAO;MACpD,IAAI,CAACC,UAAU,GAAGF,gBAAgB,CAACE,UAAU,IAAI,GAAG;MACpD,IAAI,CAACC,gBAAgB,GAAGH,gBAAgB,CAACG,gBAAgB,IAAI,IAAI;IACnE;EACF;AACF;AAACN,OAAA,CAAAC,aAAA,GAAAA,aAAA"}
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "FetchUtil", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _utils.FetchUtil;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "ResponseError", {
7
13
  enumerable: true,
8
14
  get: function () {
@@ -60,4 +66,5 @@ Object.defineProperty(exports, "validateStatus", {
60
66
  var _fetchTools = require("@krutoo/fetch-tools");
61
67
  var _middleware = require("@krutoo/fetch-tools/middleware");
62
68
  var _errors = require("./errors");
69
+ var _utils = require("./utils");
63
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_fetchTools","require","_middleware","_errors"],"sources":["../../../src/http/index.ts"],"sourcesContent":["export type {\n Handler,\n Enhancer,\n Middleware,\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n CookieStore,\n} from './types';\nexport { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';\nexport { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_fetchTools","require","_middleware","_errors","_utils"],"sources":["../../../src/http/index.ts"],"sourcesContent":["export type {\n Handler,\n Enhancer,\n Middleware,\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n CookieStore,\n EitherResponse,\n ResponseDone,\n ResponseFail,\n ResponseErrorInit,\n} from './types';\nexport { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';\nexport { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';\nexport { StatusError, ResponseError } from './errors';\nexport { FetchUtil } from './utils';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["export type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n} from '@krutoo/fetch-tools/middleware';\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/http/types.ts"],"sourcesContent":["import type { LogLevel } from '../log';\n\nexport type { Handler, Enhancer, Middleware, CookieStore } from '@krutoo/fetch-tools';\n\nexport type {\n LogData,\n DoneLogData,\n FailLogData,\n LogHandler,\n LogHandlerFactory,\n} from '@krutoo/fetch-tools/middleware';\n\nexport type URLSearchParamsInit = Record<string, string | number | boolean | undefined | null>;\n\nexport interface ResponseDone<T = unknown> {\n ok: true;\n data: T;\n error: null;\n status: number;\n statusText: string;\n}\n\nexport interface ResponseFail<T = unknown> {\n ok: false;\n data?: T;\n error: unknown;\n status?: number;\n statusText?: string;\n}\n\nexport type EitherResponse<T> = ResponseDone<T> | ResponseFail<T>;\n\nexport interface ResponseErrorInit {\n statusCode?: number;\n redirectLocation?: string;\n logLevel?: LogLevel | null;\n}\n"],"mappings":""}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FetchUtil = void 0;
7
+ /**
8
+ * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.
9
+ */
10
+ const FetchUtil = exports.FetchUtil = {
11
+ /**
12
+ * Получив параметры применит их к переданному URL.
13
+ * @param url URL.
14
+ * @param params Параметры.
15
+ */
16
+ setParams(url, params) {
17
+ for (const [paramName, paramValue] of Object.entries(params)) {
18
+ if (paramValue === null) {
19
+ url.searchParams.delete(paramName);
20
+ continue;
21
+ }
22
+ if (paramValue !== undefined) {
23
+ url.searchParams.set(paramName, String(paramValue));
24
+ continue;
25
+ }
26
+ }
27
+ },
28
+ // @todo resetPrams?
29
+
30
+ /**
31
+ * Получив URL и параметры вернет новый URL с примененными параметрами.
32
+ * @param url URL.
33
+ * @param params Параметры.
34
+ * @return URL.
35
+ */
36
+ withParams(url, params) {
37
+ const resultUrl = new URL(url);
38
+ FetchUtil.setParams(resultUrl, params);
39
+ return resultUrl;
40
+ },
41
+ /**
42
+ * Получив URL вернет его копию но без параметров.
43
+ * @param url URL.
44
+ * @return URL.
45
+ */
46
+ withoutParams(url) {
47
+ const resultUrl = new URL(url);
48
+ resultUrl.search = '';
49
+ return resultUrl;
50
+ },
51
+ /**
52
+ * Возвращает кортеж обработчиков для Promise из fetch.
53
+ * Полученный Promise никогда не уйдет в состояние rejected.
54
+ * @return Кортеж.
55
+ */
56
+ eitherResponse() {
57
+ return [response => {
58
+ if (response.ok) {
59
+ return response.json().then(data => ({
60
+ ok: true,
61
+ data: data,
62
+ error: null,
63
+ status: response.status,
64
+ statusText: response.statusText
65
+ }));
66
+ } else {
67
+ return Promise.resolve({
68
+ ok: false,
69
+ error: `Request failed with status ${response.status}`,
70
+ status: response.status,
71
+ statusText: response.statusText
72
+ });
73
+ }
74
+ }, error => Promise.resolve({
75
+ ok: false,
76
+ error
77
+ })];
78
+ }
79
+ };
80
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["FetchUtil","exports","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","response","ok","json","then","data","error","status","statusText","Promise","resolve"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>() {\n return [\n (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (response.ok) {\n return response.json().then(data => ({\n ok: true,\n data: data as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n }));\n } else {\n return Promise.resolve({\n ok: false,\n error: `Request failed with status ${response.status}`,\n status: response.status,\n statusText: response.statusText,\n });\n }\n },\n (error: unknown): Promise<ResponseFail<T>> =>\n Promise.resolve({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEE,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BH,SAAS,CAACE,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEI,cAAcA,CAAA,EAAgB;IAC5B,OAAO,CACJC,QAAkB,IAAiD;MAClE,IAAIA,QAAQ,CAACC,EAAE,EAAE;QACf,OAAOD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAACC,IAAI,CAACC,IAAI,KAAK;UACnCH,EAAE,EAAE,IAAI;UACRG,IAAI,EAAEA,IAAS;UACfC,KAAK,EAAE,IAAI;UACXC,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC,CAAC;MACL,CAAC,MAAM;QACL,OAAOC,OAAO,CAACC,OAAO,CAAC;UACrBR,EAAE,EAAE,KAAK;UACTI,KAAK,EAAG,8BAA6BL,QAAQ,CAACM,MAAO,EAAC;UACtDA,MAAM,EAAEN,QAAQ,CAACM,MAAM;UACvBC,UAAU,EAAEP,QAAQ,CAACO;QACvB,CAAC,CAAC;MACJ;IACF,CAAC,EACAF,KAAc,IACbG,OAAO,CAACC,OAAO,CAAC;MACdR,EAAE,EAAE,KAAK;MACTI;IACF,CAAC,CAAC,CACL;EACH;AACF,CAAU"}
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "@sima-land/isomorph",
4
- "version": "11.0.0-alpha.44",
4
+ "version": "11.0.0-alpha.46",
5
5
  "dependencies": {
6
6
  "@humanwhocodes/env": "^2.2.2",
7
- "@krutoo/fetch-tools": "^0.0.11",
7
+ "@krutoo/fetch-tools": "^0.0.12",
8
8
  "@opentelemetry/api": "^1.4.1",
9
9
  "@opentelemetry/exporter-prometheus": "^0.38.0",
10
10
  "@opentelemetry/exporter-trace-otlp-http": "^0.39.1",
@@ -14,12 +14,14 @@
14
14
  "@opentelemetry/sdk-trace-base": "^1.12.0",
15
15
  "@opentelemetry/sdk-trace-node": "^1.12.0",
16
16
  "@opentelemetry/semantic-conventions": "^1.12.0",
17
- "@sentry/browser": "^7.51.2",
18
- "@sentry/node": "^7.51.2",
17
+ "@sentry/browser": "^7.81.0",
18
+ "@sentry/bun": "^7.81.0",
19
+ "@sentry/node": "^7.81.0",
20
+ "accepts": "^1.3.8",
19
21
  "dotenv": "^16.3.1",
20
22
  "express": "^4.18.2",
21
23
  "jsesc": "^3.0.2",
22
- "middleware-axios": "^2.1.5",
24
+ "middleware-axios": "^2.1.6",
23
25
  "pino": "^8.14.1",
24
26
  "pino-pretty": "^9.1.1",
25
27
  "prom-client": "^14.2.0",
@@ -27,7 +29,7 @@
27
29
  },
28
30
  "peerDependencies": {
29
31
  "@reduxjs/toolkit": "^1.9.5",
30
- "axios": "^1.4.0",
32
+ "axios": "^1.6.7",
31
33
  "react": "^17.0 || ^18.0",
32
34
  "react-dom": "^17.0 || ^18.0",
33
35
  "react-redux": "^8.0.5",
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "HandlerProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _handlerProvider.HandlerProvider;
10
+ }
11
+ });
12
+ exports.PresetBun = PresetBun;
13
+ Object.defineProperty(exports, "getStatsHandler", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _getStatsHandler.getStatsHandler;
17
+ }
18
+ });
19
+ var _di = require("../../di");
20
+ var _tokens = require("../../tokens");
21
+ var _baseConfig = require("../isomorphic/providers/base-config");
22
+ var _fetch = require("../isomorphic/providers/fetch");
23
+ var _knownHttpApiHosts = require("../server/providers/known-http-api-hosts");
24
+ var _ssrBridgeServerSide = require("../server/providers/ssr-bridge-server-side");
25
+ var _configSource = require("./providers/config-source");
26
+ var _logger = require("./providers/logger");
27
+ var _serve = require("./providers/serve");
28
+ var _serveMetrics = require("./providers/serve-metrics");
29
+ var _fetchMiddleware = require("./providers/fetch-middleware");
30
+ var _serviceRoutes = require("./providers/service-routes");
31
+ var _serveMiddleware = require("./providers/serve-middleware");
32
+ var _handlerProvider = require("../server/utils/handler-provider");
33
+ var _getStatsHandler = require("./utils/get-stats-handler");
34
+ /**
35
+ * Возвращает preset с зависимостями для запуска приложения в Bun.
36
+ * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
37
+ * @return Preset.
38
+ */
39
+ function PresetBun(customize) {
40
+ // @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)
41
+ const preset = (0, _di.createPreset)();
42
+
43
+ // config
44
+ preset.set(_tokens.KnownToken.Config.source, _configSource.provideConfigSource);
45
+ preset.set(_tokens.KnownToken.Config.base, _baseConfig.provideBaseConfig);
46
+
47
+ // log
48
+ preset.set(_tokens.KnownToken.logger, _logger.provideLogger);
49
+
50
+ // tracing
51
+ // @todo
52
+
53
+ // metrics
54
+ preset.set(_tokens.KnownToken.Metrics.httpHandler, _serveMetrics.provideServeMetrics);
55
+
56
+ // http fetch
57
+ preset.set(_tokens.KnownToken.Http.fetch, _fetch.provideFetch);
58
+ preset.set(_tokens.KnownToken.Http.Fetch.middleware, _fetchMiddleware.provideFetchMiddleware);
59
+
60
+ // http serve
61
+ preset.set(_tokens.KnownToken.Http.serve, _serve.provideServe);
62
+ preset.set(_tokens.KnownToken.Http.Serve.serviceRoutes, _serviceRoutes.provideServiceRoutes);
63
+ preset.set(_tokens.KnownToken.Http.Serve.middleware, _serveMiddleware.provideServeMiddleware);
64
+
65
+ // http api
66
+ preset.set(_tokens.KnownToken.Http.Api.knownHosts, _knownHttpApiHosts.provideKnownHttpApiHosts);
67
+
68
+ // ssr bridge
69
+ preset.set(_tokens.KnownToken.SsrBridge.serverSide, _ssrBridgeServerSide.provideSsrBridgeServerSide);
70
+ if (customize) {
71
+ customize({
72
+ override: preset.set.bind(preset)
73
+ });
74
+ }
75
+ return preset;
76
+ }
77
+
78
+ // доступные утилиты
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_baseConfig","_fetch","_knownHttpApiHosts","_ssrBridgeServerSide","_configSource","_logger","_serve","_serveMetrics","_fetchMiddleware","_serviceRoutes","_serveMiddleware","_handlerProvider","_getStatsHandler","PresetBun","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Metrics","httpHandler","provideServeMetrics","Http","fetch","provideFetch","Fetch","middleware","provideFetchMiddleware","serve","provideServe","Serve","serviceRoutes","provideServiceRoutes","provideServeMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../src/preset/bun/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideLogger } from './providers/logger';\nimport { provideServe } from './providers/serve';\nimport { provideServeMetrics } from './providers/serve-metrics';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideServiceRoutes } from './providers/service-routes';\nimport { provideServeMiddleware } from './providers/serve-middleware';\n\n/**\n * Возвращает preset с зависимостями для запуска приложения в Bun.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetBun(customize?: PresetTuner) {\n // @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n // @todo\n\n // metrics\n preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n\n // http serve\n preset.set(KnownToken.Http.serve, provideServe);\n preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);\n preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\n// доступные утилиты\nexport { HandlerProvider } from '../server/utils/handler-provider';\nexport { getStatsHandler } from './utils/get-stats-handler';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AA+CA,IAAAa,gBAAA,GAAAb,OAAA;AACA,IAAAc,gBAAA,GAAAd,OAAA;AA9CA;AACA;AACA;AACA;AACA;AACO,SAASe,SAASA,CAACC,SAAuB,EAAE;EACjD;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACC,MAAM,EAAEC,iCAAmB,CAAC;EACzDN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACG,IAAI,EAAEC,6BAAiB,CAAC;;EAErD;EACAR,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACM,MAAM,EAAEC,qBAAa,CAAC;;EAE5C;EACA;;EAEA;EACAV,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACC,WAAW,EAAEC,iCAAmB,CAAC;;EAE/D;EACAb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACC,KAAK,EAAEC,mBAAY,CAAC;EAC/ChB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACG,KAAK,CAACC,UAAU,EAAEC,uCAAsB,CAAC;;EAEpE;EACAnB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACM,KAAK,EAAEC,mBAAY,CAAC;EAC/CrB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACC,aAAa,EAAEC,mCAAoB,CAAC;EACrExB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACQ,KAAK,CAACJ,UAAU,EAAEO,uCAAsB,CAAC;;EAEpE;EACAzB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACW,IAAI,CAACY,GAAG,CAACC,UAAU,EAAEC,2CAAwB,CAAC;;EAEpE;EACA5B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC0B,SAAS,CAACC,UAAU,EAAEC,+CAA0B,CAAC;EAEvE,IAAIhC,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEiC,QAAQ,EAAEhC,MAAM,CAACE,GAAG,CAAC+B,IAAI,CAACjC,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAEA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideConfigSource = provideConfigSource;
7
+ var _config = require("../../../config");
8
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
9
+
10
+ function provideConfigSource() {
11
+ return (0, _config.createConfigSource)(Bun.env);
12
+ }
13
+ //# sourceMappingURL=config-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-source.js","names":["_config","require","provideConfigSource","createConfigSource","Bun","env"],"sources":["../../../../../src/preset/bun/providers/config-source.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { ConfigSource, createConfigSource } from '../../../config';\n\nexport function provideConfigSource(): ConfigSource {\n return createConfigSource(Bun.env);\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AADA;;AAGO,SAASC,mBAAmBA,CAAA,EAAiB;EAClD,OAAO,IAAAC,0BAAkB,EAACC,GAAG,CAACC,GAAG,CAAC;AACpC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideFetchMiddleware = provideFetchMiddleware;
7
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
8
+
9
+ function provideFetchMiddleware() {
10
+ // @todo добавить логирование ошибок?
11
+ return [];
12
+ }
13
+ //# sourceMappingURL=fetch-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-middleware.js","names":["provideFetchMiddleware"],"sources":["../../../../../src/preset/bun/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Middleware } from '../../../http';\n\nexport function provideFetchMiddleware(): Middleware[] {\n // @todo добавить логирование ошибок?\n return [];\n}\n"],"mappings":";;;;;;AAAA;;AAGO,SAASA,sBAAsBA,CAAA,EAAiB;EACrD;EACA,OAAO,EAAE;AACX"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideLogHandlerSentry = provideLogHandlerSentry;
7
+ var _tokens = require("../../../tokens");
8
+ var _bun = require("@sentry/bun");
9
+ var _sentry = require("../../../log/handler/sentry");
10
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
11
+
12
+ function provideLogHandlerSentry(resolve) {
13
+ const source = resolve(_tokens.KnownToken.Config.source);
14
+ (0, _bun.init)({
15
+ dsn: source.require('SENTRY_DSN'),
16
+ release: source.require('SENTRY_RELEASE'),
17
+ environment: source.require('SENTRY_ENVIRONMENT')
18
+ });
19
+
20
+ // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
21
+ // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
22
+ return (0, _sentry.createSentryHandler)(_bun.getCurrentHub);
23
+ }
24
+ //# sourceMappingURL=log-handler-sentry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-handler-sentry.js","names":["_tokens","require","_bun","_sentry","provideLogHandlerSentry","resolve","source","KnownToken","Config","init","dsn","release","environment","createSentryHandler","getCurrentHub"],"sources":["../../../../../src/preset/bun/providers/log-handler-sentry.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { getCurrentHub, init } from '@sentry/bun';\nimport { createSentryHandler } from '../../../log/handler/sentry';\n\nexport function provideLogHandlerSentry(resolve: Resolve) {\n const source = resolve(KnownToken.Config.source);\n\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentHub);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAJA;;AAMO,SAASG,uBAAuBA,CAACC,OAAgB,EAAE;EACxD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAEhD,IAAAG,SAAI,EAAC;IACHC,GAAG,EAAEJ,MAAM,CAACL,OAAO,CAAC,YAAY,CAAC;IACjCU,OAAO,EAAEL,MAAM,CAACL,OAAO,CAAC,gBAAgB,CAAC;IACzCW,WAAW,EAAEN,MAAM,CAACL,OAAO,CAAC,oBAAoB;EAClD,CAAC,CAAC;;EAEF;EACA;EACA,OAAO,IAAAY,2BAAmB,EAACC,kBAAa,CAAC;AAC3C"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideLogger = provideLogger;
7
+ var _log = require("../../../log");
8
+ var _logHandlerPino = require("../../node/providers/log-handler-pino");
9
+ var _logHandlerSentry = require("./log-handler-sentry");
10
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
11
+
12
+ function provideLogger(resolve) {
13
+ const logger = (0, _log.createLogger)();
14
+ logger.subscribe((0, _logHandlerPino.provideLogHandlerPino)(resolve));
15
+ logger.subscribe((0, _logHandlerSentry.provideLogHandlerSentry)(resolve));
16
+ return logger;
17
+ }
18
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","names":["_log","require","_logHandlerPino","_logHandlerSentry","provideLogger","resolve","logger","createLogger","subscribe","provideLogHandlerPino","provideLogHandlerSentry"],"sources":["../../../../../src/preset/bun/providers/logger.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from '../../node/providers/log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAJA;;AAMO,SAASG,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAG,IAAAC,iBAAY,EAAC,CAAC;EAE7BD,MAAM,CAACE,SAAS,CAAC,IAAAC,qCAAqB,EAACJ,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACE,SAAS,CAAC,IAAAE,yCAAuB,EAACL,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideServeMetrics = provideServeMetrics;
7
+ var _fetchTools = require("@krutoo/fetch-tools");
8
+ var _promClient = _interopRequireDefault(require("prom-client"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
11
+
12
+ function provideServeMetrics() {
13
+ // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)
14
+ // PromClient.collectDefaultMetrics();
15
+
16
+ return (0, _fetchTools.router)(_fetchTools.route.get('/', async () => {
17
+ const metrics = await _promClient.default.register.metrics();
18
+ const headers = new Headers();
19
+ headers.set('Content-Type', _promClient.default.register.contentType);
20
+ return new Response(metrics, {
21
+ headers
22
+ });
23
+ }));
24
+ }
25
+ //# sourceMappingURL=serve-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-metrics.js","names":["_fetchTools","require","_promClient","_interopRequireDefault","obj","__esModule","default","provideServeMetrics","router","route","get","metrics","PromClient","register","headers","Headers","set","contentType","Response"],"sources":["../../../../../src/preset/bun/providers/serve-metrics.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport PromClient from 'prom-client';\n\nexport function provideServeMetrics(): Handler {\n // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)\n // PromClient.collectDefaultMetrics();\n\n return router(\n route.get('/', async () => {\n const metrics = await PromClient.register.metrics();\n const headers = new Headers();\n\n headers.set('Content-Type', PromClient.register.contentType);\n\n return new Response(metrics, { headers });\n }),\n );\n}\n"],"mappings":";;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAqC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAHrC;;AAKO,SAASG,mBAAmBA,CAAA,EAAY;EAC7C;EACA;;EAEA,OAAO,IAAAC,kBAAM,EACXC,iBAAK,CAACC,GAAG,CAAC,GAAG,EAAE,YAAY;IACzB,MAAMC,OAAO,GAAG,MAAMC,mBAAU,CAACC,QAAQ,CAACF,OAAO,CAAC,CAAC;IACnD,MAAMG,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7BD,OAAO,CAACE,GAAG,CAAC,cAAc,EAAEJ,mBAAU,CAACC,QAAQ,CAACI,WAAW,CAAC;IAE5D,OAAO,IAAIC,QAAQ,CAACP,OAAO,EAAE;MAAEG;IAAQ,CAAC,CAAC;EAC3C,CAAC,CACH,CAAC;AACH"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideServeMiddleware = provideServeMiddleware;
7
+ var _tokens = require("../../../tokens");
8
+ var _bun = require("@sentry/bun");
9
+ var _getServeLogging = require("../../server/utils/get-serve-logging");
10
+ var _getServeErrorLogging = require("../../server/utils/get-serve-error-logging");
11
+ var _getServeMeasuring = require("../../server/utils/get-serve-measuring");
12
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
13
+
14
+ function provideServeMiddleware(resolve) {
15
+ const config = resolve(_tokens.KnownToken.Config.base);
16
+ const logger = resolve(_tokens.KnownToken.logger);
17
+ return [
18
+ // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам
19
+ (request, next) => (0, _bun.runWithAsyncContext)(async () => next(request)),
20
+ // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
21
+ (0, _getServeErrorLogging.getServeErrorLogging)(logger),
22
+ // @todo tracing
23
+
24
+ // метрики
25
+ (0, _getServeMeasuring.getServeMeasuring)(config),
26
+ // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
27
+ (0, _getServeLogging.getServeLogging)(logger)];
28
+ }
29
+ //# sourceMappingURL=serve-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-middleware.js","names":["_tokens","require","_bun","_getServeLogging","_getServeErrorLogging","_getServeMeasuring","provideServeMiddleware","resolve","config","KnownToken","Config","base","logger","request","next","runWithAsyncContext","getServeErrorLogging","getServeMeasuring","getServeLogging"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { runWithAsyncContext } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../server/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => runWithAsyncContext(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAPA;;AASO,SAASK,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAK,IAAAC,wBAAmB,EAAC,YAAYD,IAAI,CAACD,OAAO,CAAC,CAAC;EAEjE;EACA,IAAAG,0CAAoB,EAACJ,MAAM,CAAC;EAE5B;;EAEA;EACA,IAAAK,oCAAiB,EAACT,MAAM,CAAC;EAEzB;EACA,IAAAU,gCAAe,EAACN,MAAM,CAAC,CACxB;AACH"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideServe = provideServe;
7
+ var _tokens = require("../../../tokens");
8
+ var _fetchTools = require("@krutoo/fetch-tools");
9
+ var _applyServerMiddleware = require("../../server/utils/apply-server-middleware");
10
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
11
+
12
+ function provideServe(resolve) {
13
+ const middleware = resolve(_tokens.KnownToken.Http.Serve.middleware);
14
+ const routes = resolve(_tokens.KnownToken.Http.Serve.routes);
15
+ const serviceRoutes = resolve(_tokens.KnownToken.Http.Serve.serviceRoutes);
16
+ const enhance = (0, _applyServerMiddleware.applyServerMiddleware)(...middleware);
17
+ return (0, _fetchTools.router)(
18
+ // маршруты с промежуточными слоями
19
+ ...routes.map(([pattern, handler]) => {
20
+ const enhancedHandler = enhance(handler);
21
+ return _fetchTools.route.get(pattern, request => enhancedHandler(request, {
22
+ events: new EventTarget()
23
+ }));
24
+ }),
25
+ // @todo вместо routes обрабатывать pageRoutes с помощью route.get() из новой версии fetch-tools (для явности)
26
+ // @todo также добавить apiRoutes и обрабатывать их с помощью с помощью route()?
27
+
28
+ // служебные маршруты (без промежуточных слоев)
29
+ ...serviceRoutes.map(([pattern, handler]) => (0, _fetchTools.route)(pattern, request => handler(request, {
30
+ events: new EventTarget()
31
+ }))));
32
+ }
33
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","names":["_tokens","require","_fetchTools","_applyServerMiddleware","provideServe","resolve","middleware","KnownToken","Http","Serve","routes","serviceRoutes","enhance","applyServerMiddleware","router","map","pattern","handler","enhancedHandler","route","get","request","events","EventTarget"],"sources":["../../../../../src/preset/bun/providers/serve.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport { applyServerMiddleware } from '../../server/utils/apply-server-middleware';\n\nexport function provideServe(resolve: Resolve): Handler {\n const middleware = resolve(KnownToken.Http.Serve.middleware);\n const routes = resolve(KnownToken.Http.Serve.routes);\n const serviceRoutes = resolve(KnownToken.Http.Serve.serviceRoutes);\n\n const enhance = applyServerMiddleware(...middleware);\n\n return router(\n // маршруты с промежуточными слоями\n ...routes.map(([pattern, handler]) => {\n const enhancedHandler = enhance(handler);\n\n return route.get(pattern, request => enhancedHandler(request, { events: new EventTarget() }));\n }),\n\n // @todo вместо routes обрабатывать pageRoutes с помощью route.get() из новой версии fetch-tools (для явности)\n // @todo также добавить apiRoutes и обрабатывать их с помощью с помощью route()?\n\n // служебные маршруты (без промежуточных слоев)\n ...serviceRoutes.map(([pattern, handler]) =>\n route(pattern, request => handler(request, { events: new EventTarget() })),\n ),\n );\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AALA;;AAOO,SAASG,YAAYA,CAACC,OAAgB,EAAW;EACtD,MAAMC,UAAU,GAAGD,OAAO,CAACE,kBAAU,CAACC,IAAI,CAACC,KAAK,CAACH,UAAU,CAAC;EAC5D,MAAMI,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACC,IAAI,CAACC,KAAK,CAACC,MAAM,CAAC;EACpD,MAAMC,aAAa,GAAGN,OAAO,CAACE,kBAAU,CAACC,IAAI,CAACC,KAAK,CAACE,aAAa,CAAC;EAElE,MAAMC,OAAO,GAAG,IAAAC,4CAAqB,EAAC,GAAGP,UAAU,CAAC;EAEpD,OAAO,IAAAQ,kBAAM;EACX;EACA,GAAGJ,MAAM,CAACK,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,OAAO,CAAC,KAAK;IACpC,MAAMC,eAAe,GAAGN,OAAO,CAACK,OAAO,CAAC;IAExC,OAAOE,iBAAK,CAACC,GAAG,CAACJ,OAAO,EAAEK,OAAO,IAAIH,eAAe,CAACG,OAAO,EAAE;MAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;IAAE,CAAC,CAAC,CAAC;EAC/F,CAAC,CAAC;EAEF;EACA;;EAEA;EACA,GAAGZ,aAAa,CAACI,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,OAAO,CAAC,KACtC,IAAAE,iBAAK,EAACH,OAAO,EAAEK,OAAO,IAAIJ,OAAO,CAACI,OAAO,EAAE;IAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;EAAE,CAAC,CAAC,CAC3E,CACF,CAAC;AACH"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideServiceRoutes = provideServiceRoutes;
7
+ var _getStatsHandler = require("../utils/get-stats-handler");
8
+ var _getHealthCheck = require("../../server/utils/get-health-check");
9
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
10
+
11
+ function provideServiceRoutes() {
12
+ return [
13
+ // служебные маршруты (без промежуточных слоев)
14
+ ['/healthcheck', (0, _getHealthCheck.getHealthCheck)()], ['/stats', (0, _getStatsHandler.getStatsHandler)()]];
15
+ }
16
+ //# sourceMappingURL=service-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-routes.js","names":["_getStatsHandler","require","_getHealthCheck","provideServiceRoutes","getHealthCheck","getStatsHandler"],"sources":["../../../../../src/preset/bun/providers/service-routes.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { ServerHandler } from '../../server/types';\nimport { getStatsHandler } from '../utils/get-stats-handler';\nimport { getHealthCheck } from '../../server/utils/get-health-check';\n\nexport function provideServiceRoutes(): Array<[string, ServerHandler]> {\n return [\n // служебные маршруты (без промежуточных слоев)\n ['/healthcheck', getHealthCheck()],\n ['/stats', getStatsHandler()],\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAHA;;AAKO,SAASE,oBAAoBA,CAAA,EAAmC;EACrE,OAAO;EACL;EACA,CAAC,cAAc,EAAE,IAAAC,8BAAc,EAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAE,IAAAC,gCAAe,EAAC,CAAC,CAAC,CAC9B;AACH"}