@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
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","names":["_di","require","KnownToken","exports","Config","source","createToken","base","cache","logger","sagaMiddleware","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","Http","Api","knownHosts","Client","factory","Middleware","Log","handler","Server","Handlers","healthCheck","request","log","tracing","metrics","error","Handler","main","context","Request","specificParams","Response","specificExtras","Page","assets","helmet","render","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaExtendedMiddleware } from './utils/redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode } from 'react';\nimport type { KnownHttpApiKey, PageAssets, StrictMap } from './preset/isomorphic/types';\nimport type { HandlerContext } from './preset/node/types';\nimport type { SpecificExtras } from './preset/node/handler/utils';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper } from 'middleware-axios';\n\nexport const KnownToken = {\n // config\n Config: {\n source: createToken<ConfigSource>('config/source'),\n base: createToken<BaseConfig>('config/base'),\n },\n\n // cache\n cache: createToken<Cache>('cache'),\n\n // log\n logger: createToken<Logger>('logger'),\n\n // saga runner\n // @todo переименовать в Redux.Middleware.saga?\n sagaMiddleware: createToken<SagaExtendedMiddleware>('saga-middleware'),\n\n // tracing\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n // metrics\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n },\n\n // http\n Http: {\n Api: {\n knownHosts: createToken<StrictMap<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n // @todo переименовать в Axios?\n Client: {\n factory:\n createToken<(config?: CreateAxiosDefaults) => AxiosInstanceWrapper>('client/factory'),\n Middleware: {\n Log: {\n handler: createToken<LogMiddlewareHandlerInit>('log/handler'),\n },\n },\n },\n\n // @todo переименовать в Express?\n Server: {\n factory: createToken<() => express.Application>('server/factory'),\n Handlers: {\n healthCheck: createToken<express.Handler>('handler/health-check'),\n },\n Middleware: {\n request: createToken<express.Handler>('middleware/request'),\n log: createToken<express.Handler>('middleware/log'),\n tracing: createToken<express.Handler>('middleware/tracing'),\n metrics: createToken<express.Handler>('middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('middleware/error'),\n },\n },\n\n // @todo переименовать в ExpressHandler?\n Handler: {\n main: createToken<() => void>('handler/main'),\n context: createToken<HandlerContext>('handler/context'),\n Request: {\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n Response: {\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n Page: {\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n },\n },\n },\n\n // SSR\n SsrBridge: {\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA;;AAkBO,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxB;EACAE,MAAM,EAAE;IACNC,MAAM,EAAE,IAAAC,eAAW,EAAe,eAAe,CAAC;IAClDC,IAAI,EAAE,IAAAD,eAAW,EAAa,aAAa;EAC7C,CAAC;EAED;EACAE,KAAK,EAAE,IAAAF,eAAW,EAAQ,OAAO,CAAC;EAElC;EACAG,MAAM,EAAE,IAAAH,eAAW,EAAS,QAAQ,CAAC;EAErC;EACA;EACAI,cAAc,EAAE,IAAAJ,eAAW,EAAyB,iBAAiB,CAAC;EAEtE;EACAK,OAAO,EAAE;IACPC,MAAM,EAAE,IAAAN,eAAW,EAAS,gBAAgB,CAAC;IAC7CO,YAAY,EAAE,IAAAP,eAAW,EAAe,uBAAuB,CAAC;IAChEQ,cAAc,EAAE,IAAAR,eAAW,EAAsB,yBAAyB,CAAC;IAE3E;IACAS,sBAAsB,EAAE,IAAAT,eAAW,EAAW,kBAAkB;EAClE,CAAC;EAED;EACAU,OAAO,EAAE;IACPC,OAAO,EAAE,IAAAX,eAAW,EAAsB,kBAAkB;EAC9D,CAAC;EAED;EACAY,IAAI,EAAE;IACJC,GAAG,EAAE;MACHC,UAAU,EAAE,IAAAd,eAAW,EAA6B,sBAAsB;IAC5E,CAAC;IAED;IACAe,MAAM,EAAE;MACNC,OAAO,EACL,IAAAhB,eAAW,EAAyD,gBAAgB,CAAC;MACvFiB,UAAU,EAAE;QACVC,GAAG,EAAE;UACHC,OAAO,EAAE,IAAAnB,eAAW,EAA2B,aAAa;QAC9D;MACF;IACF,CAAC;IAED;IACAoB,MAAM,EAAE;MACNJ,OAAO,EAAE,IAAAhB,eAAW,EAA4B,gBAAgB,CAAC;MACjEqB,QAAQ,EAAE;QACRC,WAAW,EAAE,IAAAtB,eAAW,EAAkB,sBAAsB;MAClE,CAAC;MACDiB,UAAU,EAAE;QACVM,OAAO,EAAE,IAAAvB,eAAW,EAAkB,oBAAoB,CAAC;QAC3DwB,GAAG,EAAE,IAAAxB,eAAW,EAAkB,gBAAgB,CAAC;QACnDyB,OAAO,EAAE,IAAAzB,eAAW,EAAkB,oBAAoB,CAAC;QAC3D0B,OAAO,EAAE,IAAA1B,eAAW,EAAkB,oBAAoB,CAAC;QAC3D2B,KAAK,EAAE,IAAA3B,eAAW,EAA8B,kBAAkB;MACpE;IACF,CAAC;IAED;IACA4B,OAAO,EAAE;MACPC,IAAI,EAAE,IAAA7B,eAAW,EAAa,cAAc,CAAC;MAC7C8B,OAAO,EAAE,IAAA9B,eAAW,EAAiB,iBAAiB,CAAC;MACvD+B,OAAO,EAAE;QACPC,cAAc,EAAE,IAAAhC,eAAW,EAA0B,yBAAyB;MAChF,CAAC;MACDiC,QAAQ,EAAE;QACRC,cAAc,EAAE,IAAAlC,eAAW,EAAiB,0BAA0B;MACxE,CAAC;MACDmC,IAAI,EAAE;QACJC,MAAM,EAAE,IAAApC,eAAW,EAAwD,aAAa,CAAC;QACzFqC,MAAM,EAAE,IAAArC,eAAW,EAAuC,aAAa,CAAC;QACxEsC,MAAM,EAAE,IAAAtC,eAAW,EAA2C,aAAa;MAC7E;IACF;EACF,CAAC;EAED;EACAuC,SAAS,EAAE;IACTC,UAAU,EAAE,IAAAxC,eAAW,EAA4B,wBAAwB,CAAC;IAC5EyC,UAAU,EAAE,IAAAzC,eAAW,EAAmB,wBAAwB;EACpE;AACF,CAAU"}
1
+ {"version":3,"file":"tokens.js","names":["_di","require","KnownToken","exports","Config","source","createToken","base","cache","logger","Tracing","tracer","spanExporter","tracerProvider","tracerProviderResource","Metrics","httpApp","httpHandler","Http","Api","knownHosts","fetch","Fetch","abortController","cookieStore","middleware","Middleware","Log","handler","serve","Serve","routes","serviceRoutes","Handler","main","context","Request","acceptType","specificParams","Response","events","specificExtras","Page","render","assets","helmet","elementToString","formatResponse","Axios","factory","Express","Handlers","healthCheck","request","log","tracing","metrics","error","ExpressHandler","Redux","saga","SsrBridge","clientSide","serverSide"],"sources":["../../src/tokens.ts"],"sourcesContent":["import { createToken } from './di';\n\n// ВАЖНО: чтобы токенами можно было пользоваться независимо от среды исполнения - импортировать надо только типы\nimport type * as express from 'express';\nimport type { ConfigSource, BaseConfig } from './config/types';\nimport type { Logger } from './log/types';\nimport type { Cache } from './cache/types';\nimport type { LogMiddlewareHandlerInit } from './utils/axios/middleware/log';\nimport type { SagaMiddleware } from 'redux-saga';\nimport type { BridgeClientSide, BridgeServerSide } from './utils/ssr';\nimport type { Tracer } from '@opentelemetry/api';\nimport type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport type { Resource } from '@opentelemetry/resources';\nimport type { ElementType, ReactNode, JSX } from 'react';\nimport type { KnownHttpApiKey, PageAssets } from './preset/isomorphic/types';\nimport type { ExpressHandlerContext } from './preset/node/types';\nimport type { SpecificExtras } from './preset/server/utils/specific-extras';\nimport type { CreateAxiosDefaults } from 'axios';\nimport type { AxiosInstanceWrapper, Middleware as AxiosMiddleware } from 'middleware-axios';\nimport type { CookieStore, Handler, LogHandler, LogHandlerFactory, Middleware } from './http';\nimport type { HttpApiHostPool } from './preset/isomorphic/utils/http-api-host-pool';\nimport type {\n ServerHandlerContext,\n ServerHandler,\n ServerMiddleware,\n PageResponseFormatter,\n RenderToString,\n} from './preset/server/types';\n\n/**\n * Токены компонентов.\n * Данные токены используются в DI-пресетах, доступных из пакета.\n */\nexport const KnownToken = {\n /** Токены компонентов конфигурации приложения. */\n Config: {\n /** Токен \"источника конфигурации\". */\n source: createToken<ConfigSource>('config/source'),\n\n /** Токен базовой конфигурации. */\n base: createToken<BaseConfig>('config/base'),\n },\n\n /** Токен компонента кеша. */\n cache: createToken<Cache>('cache'),\n\n /** Токен компонента логгера. */\n logger: createToken<Logger>('logger'),\n\n /** Токены компонентов трассировки и телеметрии. */\n Tracing: {\n tracer: createToken<Tracer>('tracing/tracer'),\n spanExporter: createToken<SpanExporter>('tracing/span-exporter'),\n tracerProvider: createToken<BasicTracerProvider>('tracing/tracer-provider'),\n\n // @todo перенести в KnownToken.Telemetry.Resource?\n tracerProviderResource: createToken<Resource>('tracing/resource'),\n },\n\n /** Токены компонентов сбора метрик. */\n Metrics: {\n httpApp: createToken<express.Application>('metrics/http-app'),\n httpHandler: createToken<Handler>('metrics/http-handler'),\n },\n\n /** Токены компонентов для работы по HTTP. */\n Http: {\n /** Токены компонентов API. */\n Api: {\n /** Токен пула хостов известных HTTP API. */\n knownHosts: createToken<HttpApiHostPool<KnownHttpApiKey>>('http/api/known-hosts'),\n },\n\n /** Токен функции fetch. */\n fetch: createToken<typeof fetch>('fetch'),\n\n /** Токены компонентов формирующих работу функции fetch. */\n Fetch: {\n /** Токен AbortController для функции fetch. */\n abortController: createToken<AbortController>('fetch/abort-controller'),\n\n /** Токен хранилища cookie. */\n cookieStore: createToken<CookieStore>('fetch/cookie-store'),\n\n /** Токен списка промежуточных слоев для функции fetch. */\n middleware: createToken<Middleware[]>('fetch/middleware'),\n\n /** Токены компонентов промежуточных слоев для функции fetch. */\n Middleware: {\n /** Токены компонентов промежуточного слоя логирования. */\n Log: {\n /** Токены обработчика логирования работы функции fetch. */\n handler: createToken<LogHandler | LogHandlerFactory>('fetch/middleware/log/handler'),\n },\n },\n },\n\n /** Токен функции обработки входящего HTTP-запроса. */\n serve: createToken<Handler>('serve'),\n\n /** Токены компонентов функции обработки входящего HTTP-запроса. */\n Serve: {\n /** Токен списка маршрутов. */\n routes: createToken<Array<[string, ServerHandler]>>('serve/routes'),\n\n /** Токен списка \"служебных\" маршрутов. К \"служебным\" маршрутам не применяются промежуточные слои. */\n serviceRoutes: createToken<Array<[string, ServerHandler]>>('serve/service-routes'),\n\n /** Токен списка промежуточных слоев обработки входящего HTTP-запроса. */\n middleware: createToken<ServerMiddleware[]>('serve/middleware'),\n },\n\n /** Токены компонентов обработчиков входящих HTTP-запросов. */\n Handler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<ServerHandler>('handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит объект запроса а также реализует EventTarget. */\n context: createToken<ServerHandlerContext & { request: Request }>('handler/context'),\n\n /** Токен компонентов входящего запроса. */\n Request: {\n /** Токен функции которая определяет возможные типы ответа и их приоритет. */\n acceptType: createToken<(types: string[]) => string | string[] | false>('handler/accepts'),\n\n /** Токен \"специфичных\" параметров запроса. В зависимости от реализации определит параметры на основе объекта запроса. */\n specificParams: createToken<Record<string, unknown>>('request/specific-params'),\n },\n\n /** Токены компонентов исходящего ответа. */\n Response: {\n /** Токен объекта для подписки на события и вызова событий ответа. */\n events: createToken<EventTarget>('response/events'),\n\n /** Токен \"специфичных\" дополнительных данных. В зависимости от реализации сформирует дополнительные данные ответа. */\n specificExtras: createToken<SpecificExtras>('response/specific-extras'),\n },\n\n /** Токены компонентов HTML-документа, формируемого в рамках обработчика. */\n Page: {\n /** Токен рендер-функции. */\n render: createToken<() => JSX.Element | Promise<JSX.Element>>('page/render'),\n\n /** Токен ассетов HTML-документа. */\n assets: createToken<PageAssets | (() => PageAssets | Promise<PageAssets>)>('page/assets'),\n\n /** Токен \"шлема\". Шлем - UI-компонент, внутри которого будет выведен результат render-функции. */\n helmet: createToken<ElementType<{ children: ReactNode }>>('page/helmet'),\n\n /** Токен функции, получающей jsx и возвращающей строку. */\n elementToString: createToken<RenderToString>('page/element-to-string'),\n\n /** Токен функции, которая вернёт данные для ответа. */\n formatResponse: createToken<PageResponseFormatter>('page/format-response'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой axios. */\n Axios: {\n /** Токен фабрики экземпляров axios. Фабрика вернет расширенный экземпляр с возможностью применять промежуточные слои. */\n factory: createToken<(config?: CreateAxiosDefaults) => AxiosInstanceWrapper>('axios/factory'),\n\n /** Токен промежуточных слоев. */\n middleware: createToken<AxiosMiddleware<any>[]>('axios/middleware'),\n\n /** Токен компонентов промежуточных слоев. */\n Middleware: {\n /** Токен компонентов слоя логирования. */\n Log: {\n /** Токен обработчика логирования. */\n handler: createToken<LogMiddlewareHandlerInit>('axios/middleware/log/handler'),\n },\n },\n },\n\n /** Токены компонентов для работы с библиотекой express. */\n Express: {\n /** Токен фабрики express-приложений. */\n factory: createToken<() => express.Application>('express/factory'),\n\n /** Токен express-обработчиков. */\n Handlers: {\n /** Токен обработчика \"health check\". */\n healthCheck: createToken<express.Handler>('express/handler/health-check'),\n },\n\n /** Токены промежуточных слоев express-приложения. */\n Middleware: {\n request: createToken<express.Handler>('express/middleware/request'),\n log: createToken<express.Handler>('express/middleware/log'),\n tracing: createToken<express.Handler>('express/middleware/tracing'),\n metrics: createToken<express.Handler>('express/middleware/metrics'),\n error: createToken<express.ErrorRequestHandler>('express/middleware/error'),\n },\n },\n\n /** Токены компонентов express-обработчика. */\n ExpressHandler: {\n /** Токен главной функции (точки входа) обработчика. */\n main: createToken<express.Handler>('express-handler/main'),\n\n /** Токен \"контекста\" обработчика. Контекст содержит все аргументы, доступные обработчику (req, res, next). */\n context: createToken<ExpressHandlerContext>('express-handler/context'),\n },\n\n /** Токены компонентов для работы с библиотекой redux. */\n Redux: {\n /** Токены компонентов промежуточных слоев. */\n Middleware: {\n /** Токен промежуточного слоя redux-saga. */\n saga: createToken<SagaMiddleware>('saga-middleware'),\n },\n },\n\n /** Токены компонентов передачи данных страницы между клиентом и сервером. */\n SsrBridge: {\n /** Токены компонента \"клиентской стороны\". */\n clientSide: createToken<BridgeClientSide<unknown>>('ssr-bridge/client-side'),\n\n /** Токены компонента \"серверной стороны\". */\n serverSide: createToken<BridgeServerSide>('ssr-bridge/server-side'),\n },\n} as const;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["composeMiddleware","list","reduce","a","b","req","res","next","err"],"sources":["../../../../../src/utils/express/utils/index.ts"],"sourcesContent":["import type { Handler } from 'express';\n\n/**\n * Объединяет промежуточные слои в один.\n * @param list Промежуточные слои.\n * @return Промежуточный слой.\n */\nexport function composeMiddleware(list: Handler[]) {\n return list.reduce((a, b) => (req, res, next) => {\n a(req, res, err => {\n if (err) {\n return next(err);\n }\n\n b(req, res, next);\n });\n });\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAACC,IAAe,EAAE;EACjD,OAAOA,IAAI,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IAC/CJ,CAAC,CAACE,GAAG,EAAEC,GAAG,EAAEE,GAAG,IAAI;MACjB,IAAIA,GAAG,EAAE;QACP,OAAOD,IAAI,CAACC,GAAG,CAAC;MAClB;MAEAJ,CAAC,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"index.js","names":["composeMiddleware","list","reduce","a","b","req","res","next","err"],"sources":["../../../../../src/utils/express/utils/index.ts"],"sourcesContent":["import type { Handler } from 'express';\n\n/**\n * Объединяет промежуточные слои в один.\n * @param list Промежуточные слои.\n * @return Промежуточный слой.\n */\nexport function composeMiddleware(list: Handler[]): Handler {\n return list.reduce((a, b) => (req, res, next) => {\n a(req, res, err => {\n if (err) {\n return next(err);\n }\n\n b(req, res, next);\n });\n });\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASA,iBAAiBA,CAACC,IAAe,EAAW;EAC1D,OAAOA,IAAI,CAACC,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,KAAK;IAC/CJ,CAAC,CAACE,GAAG,EAAEC,GAAG,EAAEE,GAAG,IAAI;MACjB,IAAIA,GAAG,EAAE;QACP,OAAOD,IAAI,CAACC,GAAG,CAAC;MAClB;MAEAJ,CAAC,CAACC,GAAG,EAAEC,GAAG,EAAEC,IAAI,CAAC;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ"}
@@ -45,6 +45,9 @@ class ApplicationImplementation {
45
45
  };
46
46
  }
47
47
  get(token) {
48
+ return this.resolve(token, []);
49
+ }
50
+ resolve(token, chain) {
48
51
  if (!this.initialized) {
49
52
  this.bind(CURRENT_APP).toValue(this);
50
53
  for (const preset of this.presets) {
@@ -52,9 +55,6 @@ class ApplicationImplementation {
52
55
  }
53
56
  this.initialized = true;
54
57
  }
55
- return this.resolve(token, []);
56
- }
57
- resolve(token, chain) {
58
58
  const nextChain = () => [...chain, token];
59
59
  if (chain.includes(token)) {
60
60
  throw new CircularDependencyError(nextChain(), this.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","names":["AlreadyBoundError","CircularDependencyError","NothingBoundError","createToken","CURRENT_APP","ApplicationImplementation","constructor","providers","Map","components","presets","initialized","toString","bind","token","has","_key","toValue","value","set","toProvider","provider","get","preset","apply","resolve","chain","nextChain","includes","component","otherToken","parent","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":["AlreadyBoundError","CircularDependencyError","NothingBoundError","createToken","CURRENT_APP","ApplicationImplementation","constructor","providers","Map","components","presets","initialized","toString","bind","token","has","_key","toValue","value","set","toProvider","provider","get","resolve","chain","preset","apply","nextChain","includes","component","otherToken","parent","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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"}
@@ -28,12 +28,20 @@ export class StatusError extends Error {
28
28
  export class ResponseError extends Error {
29
29
  /**
30
30
  * @param message Сообщение.
31
- * @param statusCode Код ответа.
31
+ * @param statusCodeOrInit Код ответа.
32
32
  */
33
- constructor(message, statusCode = 500) {
33
+ constructor(message, statusCodeOrInit = 500) {
34
34
  super(message);
35
35
  this.name = 'ResponseError';
36
- this.statusCode = statusCode;
36
+ if (typeof statusCodeOrInit === 'number') {
37
+ this.logLevel = 'error';
38
+ this.statusCode = statusCodeOrInit;
39
+ this.redirectLocation = null;
40
+ } else {
41
+ this.logLevel = statusCodeOrInit.logLevel ?? 'error';
42
+ this.statusCode = statusCodeOrInit.statusCode ?? 500;
43
+ this.redirectLocation = statusCodeOrInit.redirectLocation ?? null;
44
+ }
37
45
  }
38
46
  }
39
47
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":["StatusError","Error","constructor","response","status","name","is","value","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;AACA,OAAO,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;AACA,OAAO,MAAMG,aAAa,SAASP,KAAK,CAAC;EAGvC;AACF;AACA;AACA;EACEC,WAAWA,CAACO,OAAe,EAAEC,UAAU,GAAG,GAAG,EAAE;IAC7C,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACJ,IAAI,GAAG,eAAe;IAC3B,IAAI,CAACK,UAAU,GAAGA,UAAU;EAC9B;AACF"}
1
+ {"version":3,"file":"errors.js","names":["StatusError","Error","constructor","response","status","name","is","value","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;AACA,OAAO,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;AACA,OAAO,MAAMG,aAAa,SAASP,KAAK,CAAC;EAKvC;AACF;AACA;AACA;EACEC,WAAWA,CAACO,OAAe,EAAEC,gBAA4C,GAAG,GAAG,EAAE;IAC/E,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACJ,IAAI,GAAG,eAAe;IAE3B,IAAI,OAAOK,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"}
@@ -1,4 +1,5 @@
1
1
  export { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';
2
2
  export { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';
3
3
  export { StatusError, ResponseError } from "./errors.js";
4
+ export { FetchUtil } from "./utils.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["configureFetch","applyMiddleware","createCookieStore","log","cookie","defaultHeaders","validateStatus","StatusError","ResponseError"],"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,SAASA,cAAc,EAAEC,eAAe,EAAEC,iBAAiB,QAAQ,qBAAqB;AACxF,SAASC,GAAG,EAAEC,MAAM,EAAEC,cAAc,EAAEC,cAAc,QAAQ,gCAAgC;AAC5F,SAASC,WAAW,EAAEC,aAAa,QAAQ,aAAU"}
1
+ {"version":3,"file":"index.js","names":["configureFetch","applyMiddleware","createCookieStore","log","cookie","defaultHeaders","validateStatus","StatusError","ResponseError","FetchUtil"],"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,SAASA,cAAc,EAAEC,eAAe,EAAEC,iBAAiB,QAAQ,qBAAqB;AACxF,SAASC,GAAG,EAAEC,MAAM,EAAEC,cAAc,EAAEC,cAAc,QAAQ,gCAAgC;AAC5F,SAASC,WAAW,EAAEC,aAAa,QAAQ,aAAU;AACrD,SAASC,SAAS,QAAQ,YAAS"}
@@ -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,74 @@
1
+ /**
2
+ * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.
3
+ */
4
+ export const FetchUtil = {
5
+ /**
6
+ * Получив параметры применит их к переданному URL.
7
+ * @param url URL.
8
+ * @param params Параметры.
9
+ */
10
+ setParams(url, params) {
11
+ for (const [paramName, paramValue] of Object.entries(params)) {
12
+ if (paramValue === null) {
13
+ url.searchParams.delete(paramName);
14
+ continue;
15
+ }
16
+ if (paramValue !== undefined) {
17
+ url.searchParams.set(paramName, String(paramValue));
18
+ continue;
19
+ }
20
+ }
21
+ },
22
+ // @todo resetPrams?
23
+
24
+ /**
25
+ * Получив URL и параметры вернет новый URL с примененными параметрами.
26
+ * @param url URL.
27
+ * @param params Параметры.
28
+ * @return URL.
29
+ */
30
+ withParams(url, params) {
31
+ const resultUrl = new URL(url);
32
+ FetchUtil.setParams(resultUrl, params);
33
+ return resultUrl;
34
+ },
35
+ /**
36
+ * Получив URL вернет его копию но без параметров.
37
+ * @param url URL.
38
+ * @return URL.
39
+ */
40
+ withoutParams(url) {
41
+ const resultUrl = new URL(url);
42
+ resultUrl.search = '';
43
+ return resultUrl;
44
+ },
45
+ /**
46
+ * Возвращает кортеж обработчиков для Promise из fetch.
47
+ * Полученный Promise никогда не уйдет в состояние rejected.
48
+ * @return Кортеж.
49
+ */
50
+ eitherResponse() {
51
+ return [response => {
52
+ if (response.ok) {
53
+ return response.json().then(data => ({
54
+ ok: true,
55
+ data: data,
56
+ error: null,
57
+ status: response.status,
58
+ statusText: response.statusText
59
+ }));
60
+ } else {
61
+ return Promise.resolve({
62
+ ok: false,
63
+ error: `Request failed with status ${response.status}`,
64
+ status: response.status,
65
+ statusText: response.statusText
66
+ });
67
+ }
68
+ }, error => Promise.resolve({
69
+ ok: false,
70
+ error
71
+ })];
72
+ }
73
+ };
74
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["FetchUtil","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;AACA,OAAO,MAAMA,SAAS,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEC,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;IAE9BF,SAAS,CAACC,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": "module",
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,62 @@
1
+ import { createPreset } from "./../../di/index.js";
2
+ import { KnownToken } from "../../tokens.js";
3
+ import { provideBaseConfig } from "../isomorphic/providers/base-config.js";
4
+ import { provideFetch } from "../isomorphic/providers/fetch.js";
5
+ import { provideKnownHttpApiHosts } from "../server/providers/known-http-api-hosts.js";
6
+ import { provideSsrBridgeServerSide } from "../server/providers/ssr-bridge-server-side.js";
7
+ import { provideConfigSource } from "./providers/config-source.js";
8
+ import { provideLogger } from "./providers/logger.js";
9
+ import { provideServe } from "./providers/serve.js";
10
+ import { provideServeMetrics } from "./providers/serve-metrics.js";
11
+ import { provideFetchMiddleware } from "./providers/fetch-middleware.js";
12
+ import { provideServiceRoutes } from "./providers/service-routes.js";
13
+ import { provideServeMiddleware } from "./providers/serve-middleware.js";
14
+
15
+ /**
16
+ * Возвращает preset с зависимостями для запуска приложения в Bun.
17
+ * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
18
+ * @return Preset.
19
+ */
20
+ export function PresetBun(customize) {
21
+ // @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)
22
+ const preset = createPreset();
23
+
24
+ // config
25
+ preset.set(KnownToken.Config.source, provideConfigSource);
26
+ preset.set(KnownToken.Config.base, provideBaseConfig);
27
+
28
+ // log
29
+ preset.set(KnownToken.logger, provideLogger);
30
+
31
+ // tracing
32
+ // @todo
33
+
34
+ // metrics
35
+ preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);
36
+
37
+ // http fetch
38
+ preset.set(KnownToken.Http.fetch, provideFetch);
39
+ preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);
40
+
41
+ // http serve
42
+ preset.set(KnownToken.Http.serve, provideServe);
43
+ preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);
44
+ preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);
45
+
46
+ // http api
47
+ preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);
48
+
49
+ // ssr bridge
50
+ preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);
51
+ if (customize) {
52
+ customize({
53
+ override: preset.set.bind(preset)
54
+ });
55
+ }
56
+ return preset;
57
+ }
58
+
59
+ // доступные утилиты
60
+ export { HandlerProvider } from "../server/utils/handler-provider.js";
61
+ export { getStatsHandler } from "./utils/get-stats-handler.js";
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["createPreset","KnownToken","provideBaseConfig","provideFetch","provideKnownHttpApiHosts","provideSsrBridgeServerSide","provideConfigSource","provideLogger","provideServe","provideServeMetrics","provideFetchMiddleware","provideServiceRoutes","provideServeMiddleware","PresetBun","customize","preset","set","Config","source","base","logger","Metrics","httpHandler","Http","fetch","Fetch","middleware","serve","Serve","serviceRoutes","Api","knownHosts","SsrBridge","serverSide","override","bind","HandlerProvider","getStatsHandler"],"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,SAASA,YAAY,QAAQ,qBAAU;AACvC,SAASC,UAAU,QAAQ,iBAAc;AAEzC,SAASC,iBAAiB,QAAQ,wCAAqC;AACvE,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,wBAAwB,QAAQ,6CAA0C;AACnF,SAASC,0BAA0B,QAAQ,+CAA4C;AACvF,SAASC,mBAAmB,QAAQ,8BAA2B;AAC/D,SAASC,aAAa,QAAQ,uBAAoB;AAClD,SAASC,YAAY,QAAQ,sBAAmB;AAChD,SAASC,mBAAmB,QAAQ,8BAA2B;AAC/D,SAASC,sBAAsB,QAAQ,iCAA8B;AACrE,SAASC,oBAAoB,QAAQ,+BAA4B;AACjE,SAASC,sBAAsB,QAAQ,iCAA8B;;AAErE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAACC,SAAuB,EAAE;EACjD;EACA,MAAMC,MAAM,GAAGf,YAAY,CAAC,CAAC;;EAE7B;EACAe,MAAM,CAACC,GAAG,CAACf,UAAU,CAACgB,MAAM,CAACC,MAAM,EAAEZ,mBAAmB,CAAC;EACzDS,MAAM,CAACC,GAAG,CAACf,UAAU,CAACgB,MAAM,CAACE,IAAI,EAAEjB,iBAAiB,CAAC;;EAErD;EACAa,MAAM,CAACC,GAAG,CAACf,UAAU,CAACmB,MAAM,EAAEb,aAAa,CAAC;;EAE5C;EACA;;EAEA;EACAQ,MAAM,CAACC,GAAG,CAACf,UAAU,CAACoB,OAAO,CAACC,WAAW,EAAEb,mBAAmB,CAAC;;EAE/D;EACAM,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACC,KAAK,EAAErB,YAAY,CAAC;EAC/CY,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACC,UAAU,EAAEhB,sBAAsB,CAAC;;EAEpE;EACAK,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACI,KAAK,EAAEnB,YAAY,CAAC;EAC/CO,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACK,KAAK,CAACC,aAAa,EAAElB,oBAAoB,CAAC;EACrEI,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACK,KAAK,CAACF,UAAU,EAAEd,sBAAsB,CAAC;;EAEpE;EACAG,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACO,GAAG,CAACC,UAAU,EAAE3B,wBAAwB,CAAC;;EAEpE;EACAW,MAAM,CAACC,GAAG,CAACf,UAAU,CAAC+B,SAAS,CAACC,UAAU,EAAE5B,0BAA0B,CAAC;EAEvE,IAAIS,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEoB,QAAQ,EAAEnB,MAAM,CAACC,GAAG,CAACmB,IAAI,CAACpB,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAEA;AACA,SAASqB,eAAe,QAAQ,qCAAkC;AAClE,SAASC,eAAe,QAAQ,8BAA2B"}
@@ -0,0 +1,6 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+ import { createConfigSource } from "./../../../config/index.js";
3
+ export function provideConfigSource() {
4
+ return createConfigSource(Bun.env);
5
+ }
6
+ //# sourceMappingURL=config-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-source.js","names":["createConfigSource","provideConfigSource","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":"AAAA;AACA,SAAuBA,kBAAkB,QAAQ,4BAAiB;AAElE,OAAO,SAASC,mBAAmBA,CAAA,EAAiB;EAClD,OAAOD,kBAAkB,CAACE,GAAG,CAACC,GAAG,CAAC;AACpC"}
@@ -0,0 +1,7 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+
3
+ export function provideFetchMiddleware() {
4
+ // @todo добавить логирование ошибок?
5
+ return [];
6
+ }
7
+ //# 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;;AAGA,OAAO,SAASA,sBAAsBA,CAAA,EAAiB;EACrD;EACA,OAAO,EAAE;AACX"}
@@ -0,0 +1,18 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+
3
+ import { KnownToken } from "../../../tokens.js";
4
+ import { getCurrentHub, init } from '@sentry/bun';
5
+ import { createSentryHandler } from "../../../log/handler/sentry.js";
6
+ export function provideLogHandlerSentry(resolve) {
7
+ const source = resolve(KnownToken.Config.source);
8
+ init({
9
+ dsn: source.require('SENTRY_DSN'),
10
+ release: source.require('SENTRY_RELEASE'),
11
+ environment: source.require('SENTRY_ENVIRONMENT')
12
+ });
13
+
14
+ // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
15
+ // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
16
+ return createSentryHandler(getCurrentHub);
17
+ }
18
+ //# sourceMappingURL=log-handler-sentry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-handler-sentry.js","names":["KnownToken","getCurrentHub","init","createSentryHandler","provideLogHandlerSentry","resolve","source","Config","dsn","require","release","environment"],"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":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,aAAa,EAAEC,IAAI,QAAQ,aAAa;AACjD,SAASC,mBAAmB,QAAQ,gCAA6B;AAEjE,OAAO,SAASC,uBAAuBA,CAACC,OAAgB,EAAE;EACxD,MAAMC,MAAM,GAAGD,OAAO,CAACL,UAAU,CAACO,MAAM,CAACD,MAAM,CAAC;EAEhDJ,IAAI,CAAC;IACHM,GAAG,EAAEF,MAAM,CAACG,OAAO,CAAC,YAAY,CAAC;IACjCC,OAAO,EAAEJ,MAAM,CAACG,OAAO,CAAC,gBAAgB,CAAC;IACzCE,WAAW,EAAEL,MAAM,CAACG,OAAO,CAAC,oBAAoB;EAClD,CAAC,CAAC;;EAEF;EACA;EACA,OAAON,mBAAmB,CAACF,aAAa,CAAC;AAC3C"}
@@ -0,0 +1,12 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+
3
+ import { createLogger } from "./../../../log/index.js";
4
+ import { provideLogHandlerPino } from "../../node/providers/log-handler-pino.js";
5
+ import { provideLogHandlerSentry } from "./log-handler-sentry.js";
6
+ export function provideLogger(resolve) {
7
+ const logger = createLogger();
8
+ logger.subscribe(provideLogHandlerPino(resolve));
9
+ logger.subscribe(provideLogHandlerSentry(resolve));
10
+ return logger;
11
+ }
12
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","names":["createLogger","provideLogHandlerPino","provideLogHandlerSentry","provideLogger","resolve","logger","subscribe"],"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":"AAAA;;AAEA,SAAiBA,YAAY,QAAQ,yBAAc;AACnD,SAASC,qBAAqB,QAAQ,0CAAuC;AAC7E,SAASC,uBAAuB,QAAQ,yBAAsB;AAE9D,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGL,YAAY,CAAC,CAAC;EAE7BK,MAAM,CAACC,SAAS,CAACL,qBAAqB,CAACG,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACC,SAAS,CAACJ,uBAAuB,CAACE,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
@@ -0,0 +1,18 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+
3
+ import { route, router } from '@krutoo/fetch-tools';
4
+ import PromClient from 'prom-client';
5
+ export function provideServeMetrics() {
6
+ // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)
7
+ // PromClient.collectDefaultMetrics();
8
+
9
+ return router(route.get('/', async () => {
10
+ const metrics = await PromClient.register.metrics();
11
+ const headers = new Headers();
12
+ headers.set('Content-Type', PromClient.register.contentType);
13
+ return new Response(metrics, {
14
+ headers
15
+ });
16
+ }));
17
+ }
18
+ //# sourceMappingURL=serve-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-metrics.js","names":["route","router","PromClient","provideServeMetrics","get","metrics","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":"AAAA;;AAEA,SAASA,KAAK,EAAEC,MAAM,QAAQ,qBAAqB;AACnD,OAAOC,UAAU,MAAM,aAAa;AAEpC,OAAO,SAASC,mBAAmBA,CAAA,EAAY;EAC7C;EACA;;EAEA,OAAOF,MAAM,CACXD,KAAK,CAACI,GAAG,CAAC,GAAG,EAAE,YAAY;IACzB,MAAMC,OAAO,GAAG,MAAMH,UAAU,CAACI,QAAQ,CAACD,OAAO,CAAC,CAAC;IACnD,MAAME,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7BD,OAAO,CAACE,GAAG,CAAC,cAAc,EAAEP,UAAU,CAACI,QAAQ,CAACI,WAAW,CAAC;IAE5D,OAAO,IAAIC,QAAQ,CAACN,OAAO,EAAE;MAAEE;IAAQ,CAAC,CAAC;EAC3C,CAAC,CACH,CAAC;AACH"}
@@ -0,0 +1,23 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+
3
+ import { KnownToken } from "../../../tokens.js";
4
+ import { runWithAsyncContext } from '@sentry/bun';
5
+ import { getServeLogging } from "../../server/utils/get-serve-logging.js";
6
+ import { getServeErrorLogging } from "../../server/utils/get-serve-error-logging.js";
7
+ import { getServeMeasuring } from "../../server/utils/get-serve-measuring.js";
8
+ export function provideServeMiddleware(resolve) {
9
+ const config = resolve(KnownToken.Config.base);
10
+ const logger = resolve(KnownToken.logger);
11
+ return [
12
+ // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам
13
+ (request, next) => runWithAsyncContext(async () => next(request)),
14
+ // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
15
+ getServeErrorLogging(logger),
16
+ // @todo tracing
17
+
18
+ // метрики
19
+ getServeMeasuring(config),
20
+ // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
21
+ getServeLogging(logger)];
22
+ }
23
+ //# sourceMappingURL=serve-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-middleware.js","names":["KnownToken","runWithAsyncContext","getServeLogging","getServeErrorLogging","getServeMeasuring","provideServeMiddleware","resolve","config","Config","base","logger","request","next"],"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":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,mBAAmB,QAAQ,aAAa;AAEjD,SAASC,eAAe,QAAQ,yCAAsC;AACtE,SAASC,oBAAoB,QAAQ,+CAA4C;AACjF,SAASC,iBAAiB,QAAQ,2CAAwC;AAE1E,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACN,UAAU,CAACU,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAKX,mBAAmB,CAAC,YAAYW,IAAI,CAACD,OAAO,CAAC,CAAC;EAEjE;EACAR,oBAAoB,CAACO,MAAM,CAAC;EAE5B;;EAEA;EACAN,iBAAiB,CAACG,MAAM,CAAC;EAEzB;EACAL,eAAe,CAACQ,MAAM,CAAC,CACxB;AACH"}
@@ -0,0 +1,27 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+
3
+ import { KnownToken } from "../../../tokens.js";
4
+ import { route, router } from '@krutoo/fetch-tools';
5
+ import { applyServerMiddleware } from "../../server/utils/apply-server-middleware.js";
6
+ export function provideServe(resolve) {
7
+ const middleware = resolve(KnownToken.Http.Serve.middleware);
8
+ const routes = resolve(KnownToken.Http.Serve.routes);
9
+ const serviceRoutes = resolve(KnownToken.Http.Serve.serviceRoutes);
10
+ const enhance = applyServerMiddleware(...middleware);
11
+ return router(
12
+ // маршруты с промежуточными слоями
13
+ ...routes.map(([pattern, handler]) => {
14
+ const enhancedHandler = enhance(handler);
15
+ return route.get(pattern, request => enhancedHandler(request, {
16
+ events: new EventTarget()
17
+ }));
18
+ }),
19
+ // @todo вместо routes обрабатывать pageRoutes с помощью route.get() из новой версии fetch-tools (для явности)
20
+ // @todo также добавить apiRoutes и обрабатывать их с помощью с помощью route()?
21
+
22
+ // служебные маршруты (без промежуточных слоев)
23
+ ...serviceRoutes.map(([pattern, handler]) => route(pattern, request => handler(request, {
24
+ events: new EventTarget()
25
+ }))));
26
+ }
27
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","names":["KnownToken","route","router","applyServerMiddleware","provideServe","resolve","middleware","Http","Serve","routes","serviceRoutes","enhance","map","pattern","handler","enhancedHandler","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":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAE5C,SAASC,KAAK,EAAEC,MAAM,QAAQ,qBAAqB;AACnD,SAASC,qBAAqB,QAAQ,+CAA4C;AAElF,OAAO,SAASC,YAAYA,CAACC,OAAgB,EAAW;EACtD,MAAMC,UAAU,GAAGD,OAAO,CAACL,UAAU,CAACO,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC;EAC5D,MAAMG,MAAM,GAAGJ,OAAO,CAACL,UAAU,CAACO,IAAI,CAACC,KAAK,CAACC,MAAM,CAAC;EACpD,MAAMC,aAAa,GAAGL,OAAO,CAACL,UAAU,CAACO,IAAI,CAACC,KAAK,CAACE,aAAa,CAAC;EAElE,MAAMC,OAAO,GAAGR,qBAAqB,CAAC,GAAGG,UAAU,CAAC;EAEpD,OAAOJ,MAAM;EACX;EACA,GAAGO,MAAM,CAACG,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,OAAO,CAAC,KAAK;IACpC,MAAMC,eAAe,GAAGJ,OAAO,CAACG,OAAO,CAAC;IAExC,OAAOb,KAAK,CAACe,GAAG,CAACH,OAAO,EAAEI,OAAO,IAAIF,eAAe,CAACE,OAAO,EAAE;MAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;IAAE,CAAC,CAAC,CAAC;EAC/F,CAAC,CAAC;EAEF;EACA;;EAEA;EACA,GAAGT,aAAa,CAACE,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,OAAO,CAAC,KACtCb,KAAK,CAACY,OAAO,EAAEI,OAAO,IAAIH,OAAO,CAACG,OAAO,EAAE;IAAEC,MAAM,EAAE,IAAIC,WAAW,CAAC;EAAE,CAAC,CAAC,CAC3E,CACF,CAAC;AACH"}
@@ -0,0 +1,10 @@
1
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
2
+
3
+ import { getStatsHandler } from "../utils/get-stats-handler.js";
4
+ import { getHealthCheck } from "../../server/utils/get-health-check.js";
5
+ export function provideServiceRoutes() {
6
+ return [
7
+ // служебные маршруты (без промежуточных слоев)
8
+ ['/healthcheck', getHealthCheck()], ['/stats', getStatsHandler()]];
9
+ }
10
+ //# sourceMappingURL=service-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-routes.js","names":["getStatsHandler","getHealthCheck","provideServiceRoutes"],"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":"AAAA;;AAEA,SAASA,eAAe,QAAQ,+BAA4B;AAC5D,SAASC,cAAc,QAAQ,wCAAqC;AAEpE,OAAO,SAASC,oBAAoBA,CAAA,EAAmC;EACrE,OAAO;EACL;EACA,CAAC,cAAc,EAAED,cAAc,CAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAED,eAAe,CAAC,CAAC,CAAC,CAC9B;AACH"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * ВАЖНО: временная экспериментальная утилита, скорее всего будет удалена в будущем.
3
+ * @inheritdoc
4
+ */
5
+ export function getStatsHandler() {
6
+ /** @inheritdoc */
7
+ const getHeapStats = async () => {
8
+ // ВАЖНО: должны быть именно кавычки "'" по причине https://github.com/web-infra-dev/rspack/issues/5938#issuecomment-2000393152
9
+ const jsc = await import( /* webpackIgnore: true */
10
+ 'bun:jsc');
11
+ return jsc.heapStats();
12
+ };
13
+ return async () => {
14
+ const stats = await getHeapStats();
15
+ return new Response(JSON.stringify(stats, null, 2), {
16
+ headers: {
17
+ 'content-type': 'application/json'
18
+ }
19
+ });
20
+ };
21
+ }
22
+ //# sourceMappingURL=get-stats-handler.js.map