@sima-land/isomorph 11.0.0-alpha.4 → 11.0.0-alpha.41

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 (667) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +25 -0
  3. package/dist/cjs/cache/index.js +6 -0
  4. package/dist/cjs/cache/index.js.map +1 -0
  5. package/dist/cjs/cache/types.js +6 -0
  6. package/dist/cjs/cache/types.js.map +1 -0
  7. package/dist/cjs/config/base.js +22 -0
  8. package/dist/cjs/config/base.js.map +1 -0
  9. package/dist/cjs/config/index.js +20 -0
  10. package/dist/cjs/config/index.js.map +1 -0
  11. package/dist/cjs/config/source.js +25 -0
  12. package/dist/cjs/config/source.js.map +1 -0
  13. package/dist/cjs/config/types.js +6 -0
  14. package/dist/cjs/config/types.js.map +1 -0
  15. package/dist/cjs/di/application.js +106 -0
  16. package/dist/cjs/di/application.js.map +1 -0
  17. package/dist/cjs/di/container.js +55 -0
  18. package/dist/cjs/di/container.js.map +1 -0
  19. package/dist/cjs/di/errors.js +65 -0
  20. package/dist/cjs/di/errors.js.map +1 -0
  21. package/dist/cjs/di/index.js +59 -0
  22. package/dist/cjs/di/index.js.map +1 -0
  23. package/dist/cjs/di/preset.js +32 -0
  24. package/dist/cjs/di/preset.js.map +1 -0
  25. package/dist/cjs/di/token.js +44 -0
  26. package/dist/cjs/di/token.js.map +1 -0
  27. package/dist/cjs/di/types.js +6 -0
  28. package/dist/cjs/di/types.js.map +1 -0
  29. package/dist/cjs/http/errors.js +47 -0
  30. package/dist/cjs/http/errors.js.map +1 -0
  31. package/dist/cjs/http/index.js +63 -0
  32. package/dist/cjs/http/index.js.map +1 -0
  33. package/dist/cjs/http/types.js +6 -0
  34. package/dist/cjs/http/types.js.map +1 -0
  35. package/dist/cjs/log/errors.js +35 -0
  36. package/dist/cjs/log/errors.js.map +1 -0
  37. package/dist/cjs/log/handler/pino.js +31 -0
  38. package/dist/cjs/log/handler/pino.js.map +1 -0
  39. package/dist/cjs/log/handler/sentry.js +57 -0
  40. package/dist/cjs/log/handler/sentry.js.map +1 -0
  41. package/dist/cjs/log/index.js +26 -0
  42. package/dist/cjs/log/index.js.map +1 -0
  43. package/dist/cjs/log/logger.js +35 -0
  44. package/dist/cjs/log/logger.js.map +1 -0
  45. package/dist/cjs/log/types.js +6 -0
  46. package/dist/cjs/log/types.js.map +1 -0
  47. package/dist/cjs/package.json +36 -0
  48. package/dist/cjs/preset/isomorphic/constants.js +14 -0
  49. package/dist/cjs/preset/isomorphic/constants.js.map +1 -0
  50. package/dist/cjs/preset/isomorphic/index.js +6 -0
  51. package/dist/cjs/preset/isomorphic/index.js.map +1 -0
  52. package/dist/cjs/preset/isomorphic/providers/index.js +42 -0
  53. package/dist/cjs/preset/isomorphic/providers/index.js.map +1 -0
  54. package/dist/cjs/preset/isomorphic/types.js +6 -0
  55. package/dist/cjs/preset/isomorphic/types.js.map +1 -0
  56. package/dist/cjs/preset/isomorphic/utils/index.js +322 -0
  57. package/dist/cjs/preset/isomorphic/utils/index.js.map +1 -0
  58. package/dist/cjs/preset/node/handler/index.js +52 -0
  59. package/dist/cjs/preset/node/handler/index.js.map +1 -0
  60. package/dist/cjs/preset/node/handler/providers/index.js +212 -0
  61. package/dist/cjs/preset/node/handler/providers/index.js.map +1 -0
  62. package/dist/cjs/preset/node/handler/utils/index.js +132 -0
  63. package/dist/cjs/preset/node/handler/utils/index.js.map +1 -0
  64. package/dist/cjs/preset/node/index.js +26 -0
  65. package/dist/cjs/preset/node/index.js.map +1 -0
  66. package/dist/cjs/preset/node/node/index.js +61 -0
  67. package/dist/cjs/preset/node/node/index.js.map +1 -0
  68. package/dist/cjs/preset/node/node/providers/index.js +403 -0
  69. package/dist/cjs/preset/node/node/providers/index.js.map +1 -0
  70. package/dist/cjs/preset/node/node/utils/http-client/index.js +122 -0
  71. package/dist/cjs/preset/node/node/utils/http-client/index.js.map +1 -0
  72. package/dist/cjs/preset/node/node/utils/http-server/index.js +18 -0
  73. package/dist/cjs/preset/node/node/utils/http-server/index.js.map +1 -0
  74. package/dist/cjs/preset/node/node/utils/index.js +20 -0
  75. package/dist/cjs/preset/node/node/utils/index.js.map +1 -0
  76. package/dist/cjs/preset/node/types.js +6 -0
  77. package/dist/cjs/preset/node/types.js.map +1 -0
  78. package/dist/cjs/preset/web/index.js +34 -0
  79. package/dist/cjs/preset/web/index.js.map +1 -0
  80. package/dist/cjs/preset/web/providers/index.js +94 -0
  81. package/dist/cjs/preset/web/providers/index.js.map +1 -0
  82. package/dist/cjs/tokens.js +86 -0
  83. package/dist/cjs/tokens.js.map +1 -0
  84. package/dist/cjs/utils/axios/index.js +40 -0
  85. package/dist/cjs/utils/axios/index.js.map +1 -0
  86. package/dist/cjs/utils/axios/middleware/cookie.js +28 -0
  87. package/dist/cjs/utils/axios/middleware/cookie.js.map +1 -0
  88. package/dist/cjs/utils/axios/middleware/log.js +37 -0
  89. package/dist/cjs/utils/axios/middleware/log.js.map +1 -0
  90. package/dist/cjs/utils/axios/sauce/index.js +57 -0
  91. package/dist/cjs/utils/axios/sauce/index.js.map +1 -0
  92. package/dist/cjs/utils/axios/utils/index.js +30 -0
  93. package/dist/cjs/utils/axios/utils/index.js.map +1 -0
  94. package/dist/cjs/utils/express/handler/health-check.js +19 -0
  95. package/dist/cjs/utils/express/handler/health-check.js.map +1 -0
  96. package/dist/cjs/utils/express/index.js +20 -0
  97. package/dist/cjs/utils/express/index.js.map +1 -0
  98. package/dist/cjs/utils/express/utils/index.js +22 -0
  99. package/dist/cjs/utils/express/utils/index.js.map +1 -0
  100. package/dist/cjs/utils/function.js +44 -0
  101. package/dist/cjs/utils/function.js.map +1 -0
  102. package/dist/cjs/utils/index.js +20 -0
  103. package/dist/cjs/utils/index.js.map +1 -0
  104. package/{utils/number.js → dist/cjs/utils/math.js} +7 -5
  105. package/dist/cjs/utils/math.js.map +1 -0
  106. package/dist/cjs/utils/react/error-handlers/index.js +80 -0
  107. package/dist/cjs/utils/react/error-handlers/index.js.map +1 -0
  108. package/dist/cjs/utils/react/index.js +19 -0
  109. package/dist/cjs/utils/react/index.js.map +1 -0
  110. package/dist/cjs/utils/redux/index.js +19 -0
  111. package/dist/cjs/utils/redux/index.js.map +1 -0
  112. package/dist/cjs/utils/redux/remote-data.js +118 -0
  113. package/dist/cjs/utils/redux/remote-data.js.map +1 -0
  114. package/dist/cjs/utils/redux-saga/index.js +20 -0
  115. package/dist/cjs/utils/redux-saga/index.js.map +1 -0
  116. package/dist/cjs/utils/redux-saga/middleware.js +149 -0
  117. package/dist/cjs/utils/redux-saga/middleware.js.map +1 -0
  118. package/dist/cjs/utils/redux-saga/take-chain.js +66 -0
  119. package/dist/cjs/utils/redux-saga/take-chain.js.map +1 -0
  120. package/dist/cjs/utils/redux-saga/types.js +6 -0
  121. package/dist/cjs/utils/redux-saga/types.js.map +1 -0
  122. package/dist/cjs/utils/ssr/index.js +73 -0
  123. package/dist/cjs/utils/ssr/index.js.map +1 -0
  124. package/dist/cjs/utils/web/analytics/data-layer.js +20 -0
  125. package/dist/cjs/utils/web/analytics/data-layer.js.map +1 -0
  126. package/dist/cjs/utils/web/analytics/index.js +20 -0
  127. package/dist/cjs/utils/web/analytics/index.js.map +1 -0
  128. package/dist/cjs/utils/web/analytics/oko.js +20 -0
  129. package/dist/cjs/utils/web/analytics/oko.js.map +1 -0
  130. package/dist/cjs/utils/web/storage/index.js +75 -0
  131. package/dist/cjs/utils/web/storage/index.js.map +1 -0
  132. package/dist/cjs/utils/webpack/env/index.js +96 -0
  133. package/dist/cjs/utils/webpack/env/index.js.map +1 -0
  134. package/dist/cjs/utils/webpack/env/types.js +6 -0
  135. package/dist/cjs/utils/webpack/env/types.js.map +1 -0
  136. package/dist/cjs/utils/webpack/env/utils.js +55 -0
  137. package/dist/cjs/utils/webpack/env/utils.js.map +1 -0
  138. package/dist/cjs/utils/webpack/index.js +20 -0
  139. package/dist/cjs/utils/webpack/index.js.map +1 -0
  140. package/dist/cjs/utils/webpack/module-federation/index.js +110 -0
  141. package/dist/cjs/utils/webpack/module-federation/index.js.map +1 -0
  142. package/dist/cjs/utils/webpack/module-federation/types.js +6 -0
  143. package/dist/cjs/utils/webpack/module-federation/types.js.map +1 -0
  144. package/dist/cjs/utils/webpack/module-federation/utils.js +87 -0
  145. package/dist/cjs/utils/webpack/module-federation/utils.js.map +1 -0
  146. package/dist/esm/cache/index.js +2 -0
  147. package/dist/esm/cache/index.js.map +1 -0
  148. package/dist/esm/cache/types.js +2 -0
  149. package/dist/esm/cache/types.js.map +1 -0
  150. package/dist/esm/config/base.js +16 -0
  151. package/dist/esm/config/base.js.map +1 -0
  152. package/dist/esm/config/index.js +3 -0
  153. package/dist/esm/config/index.js.map +1 -0
  154. package/dist/esm/config/source.js +19 -0
  155. package/dist/esm/config/source.js.map +1 -0
  156. package/dist/esm/config/types.js +2 -0
  157. package/dist/esm/config/types.js.map +1 -0
  158. package/dist/esm/di/application.js +100 -0
  159. package/dist/esm/di/application.js.map +1 -0
  160. package/dist/esm/di/container.js +49 -0
  161. package/dist/esm/di/container.js.map +1 -0
  162. package/dist/esm/di/errors.js +56 -0
  163. package/dist/esm/di/errors.js.map +1 -0
  164. package/dist/esm/di/index.js +6 -0
  165. package/dist/esm/di/index.js.map +1 -0
  166. package/dist/esm/di/preset.js +26 -0
  167. package/dist/esm/di/preset.js.map +1 -0
  168. package/dist/esm/di/token.js +38 -0
  169. package/dist/esm/di/token.js.map +1 -0
  170. package/dist/esm/di/types.js +2 -0
  171. package/dist/esm/di/types.js.map +1 -0
  172. package/dist/esm/http/errors.js +39 -0
  173. package/dist/esm/http/errors.js.map +1 -0
  174. package/dist/esm/http/index.js +4 -0
  175. package/dist/esm/http/index.js.map +1 -0
  176. package/dist/esm/http/types.js +2 -0
  177. package/dist/esm/http/types.js.map +1 -0
  178. package/dist/esm/log/errors.js +27 -0
  179. package/dist/esm/log/errors.js.map +1 -0
  180. package/dist/esm/log/handler/pino.js +25 -0
  181. package/dist/esm/log/handler/pino.js.map +1 -0
  182. package/dist/esm/log/handler/sentry.js +52 -0
  183. package/dist/esm/log/handler/sentry.js.map +1 -0
  184. package/dist/esm/log/index.js +3 -0
  185. package/dist/esm/log/index.js.map +1 -0
  186. package/dist/esm/log/logger.js +29 -0
  187. package/dist/esm/log/logger.js.map +1 -0
  188. package/dist/esm/log/types.js +2 -0
  189. package/dist/esm/log/types.js.map +1 -0
  190. package/dist/esm/package.json +36 -0
  191. package/dist/esm/preset/isomorphic/constants.js +8 -0
  192. package/dist/esm/preset/isomorphic/constants.js.map +1 -0
  193. package/dist/esm/preset/isomorphic/index.js +2 -0
  194. package/dist/esm/preset/isomorphic/index.js.map +1 -0
  195. package/dist/esm/preset/isomorphic/providers/index.js +35 -0
  196. package/dist/esm/preset/isomorphic/providers/index.js.map +1 -0
  197. package/dist/esm/preset/isomorphic/types.js +2 -0
  198. package/dist/esm/preset/isomorphic/types.js.map +1 -0
  199. package/dist/esm/preset/isomorphic/utils/index.js +309 -0
  200. package/dist/esm/preset/isomorphic/utils/index.js.map +1 -0
  201. package/dist/esm/preset/node/handler/index.js +42 -0
  202. package/dist/esm/preset/node/handler/index.js.map +1 -0
  203. package/dist/esm/preset/node/handler/providers/index.js +194 -0
  204. package/dist/esm/preset/node/handler/providers/index.js.map +1 -0
  205. package/dist/esm/preset/node/handler/utils/index.js +113 -0
  206. package/dist/esm/preset/node/handler/utils/index.js.map +1 -0
  207. package/dist/esm/preset/node/index.js +3 -0
  208. package/dist/esm/preset/node/index.js.map +1 -0
  209. package/dist/esm/preset/node/node/index.js +56 -0
  210. package/dist/esm/preset/node/node/index.js.map +1 -0
  211. package/dist/esm/preset/node/node/providers/index.js +378 -0
  212. package/dist/esm/preset/node/node/providers/index.js.map +1 -0
  213. package/dist/esm/preset/node/node/utils/http-client/index.js +114 -0
  214. package/dist/esm/preset/node/node/utils/http-client/index.js.map +1 -0
  215. package/dist/esm/preset/node/node/utils/http-server/index.js +12 -0
  216. package/dist/esm/preset/node/node/utils/http-server/index.js.map +1 -0
  217. package/dist/esm/preset/node/node/utils/index.js +3 -0
  218. package/dist/esm/preset/node/node/utils/index.js.map +1 -0
  219. package/dist/esm/preset/node/types.js +2 -0
  220. package/dist/esm/preset/node/types.js.map +1 -0
  221. package/dist/esm/preset/web/index.js +29 -0
  222. package/dist/esm/preset/web/index.js.map +1 -0
  223. package/dist/esm/preset/web/providers/index.js +85 -0
  224. package/dist/esm/preset/web/providers/index.js.map +1 -0
  225. package/dist/esm/tokens.js +81 -0
  226. package/dist/esm/tokens.js.map +1 -0
  227. package/dist/esm/utils/axios/index.js +5 -0
  228. package/dist/esm/utils/axios/index.js.map +1 -0
  229. package/dist/esm/utils/axios/middleware/cookie.js +22 -0
  230. package/dist/esm/utils/axios/middleware/cookie.js.map +1 -0
  231. package/dist/esm/utils/axios/middleware/log.js +31 -0
  232. package/dist/esm/utils/axios/middleware/log.js.map +1 -0
  233. package/dist/esm/utils/axios/sauce/index.js +50 -0
  234. package/dist/esm/utils/axios/sauce/index.js.map +1 -0
  235. package/dist/esm/utils/axios/utils/index.js +24 -0
  236. package/dist/esm/utils/axios/utils/index.js.map +1 -0
  237. package/dist/esm/utils/express/handler/health-check.js +13 -0
  238. package/dist/esm/utils/express/handler/health-check.js.map +1 -0
  239. package/dist/esm/utils/express/index.js +3 -0
  240. package/dist/esm/utils/express/index.js.map +1 -0
  241. package/dist/esm/utils/express/utils/index.js +16 -0
  242. package/dist/esm/utils/express/utils/index.js.map +1 -0
  243. package/dist/esm/utils/function.js +38 -0
  244. package/dist/esm/utils/function.js.map +1 -0
  245. package/dist/esm/utils/index.js +3 -0
  246. package/dist/esm/utils/index.js.map +1 -0
  247. package/dist/esm/utils/math.js +9 -0
  248. package/dist/esm/utils/math.js.map +1 -0
  249. package/dist/esm/utils/react/error-handlers/index.js +69 -0
  250. package/dist/esm/utils/react/error-handlers/index.js.map +1 -0
  251. package/dist/esm/utils/react/index.js +3 -0
  252. package/dist/esm/utils/react/index.js.map +1 -0
  253. package/dist/esm/utils/redux/index.js +3 -0
  254. package/dist/esm/utils/redux/index.js.map +1 -0
  255. package/dist/esm/utils/redux/remote-data.js +108 -0
  256. package/dist/esm/utils/redux/remote-data.js.map +1 -0
  257. package/dist/esm/utils/redux-saga/index.js +3 -0
  258. package/dist/esm/utils/redux-saga/index.js.map +1 -0
  259. package/dist/esm/utils/redux-saga/middleware.js +143 -0
  260. package/dist/esm/utils/redux-saga/middleware.js.map +1 -0
  261. package/dist/esm/utils/redux-saga/take-chain.js +59 -0
  262. package/dist/esm/utils/redux-saga/take-chain.js.map +1 -0
  263. package/dist/esm/utils/redux-saga/types.js +2 -0
  264. package/dist/esm/utils/redux-saga/types.js.map +1 -0
  265. package/dist/esm/utils/ssr/index.js +66 -0
  266. package/dist/esm/utils/ssr/index.js.map +1 -0
  267. package/dist/esm/utils/web/analytics/data-layer.js +14 -0
  268. package/dist/esm/utils/web/analytics/data-layer.js.map +1 -0
  269. package/dist/esm/utils/web/analytics/index.js +3 -0
  270. package/dist/esm/utils/web/analytics/index.js.map +1 -0
  271. package/dist/esm/utils/web/analytics/oko.js +14 -0
  272. package/dist/esm/utils/web/analytics/oko.js.map +1 -0
  273. package/dist/esm/utils/web/storage/index.js +69 -0
  274. package/dist/esm/utils/web/storage/index.js.map +1 -0
  275. package/dist/esm/utils/webpack/env/index.js +89 -0
  276. package/dist/esm/utils/webpack/env/index.js.map +1 -0
  277. package/dist/esm/utils/webpack/env/types.js +2 -0
  278. package/dist/esm/utils/webpack/env/types.js.map +1 -0
  279. package/dist/esm/utils/webpack/env/utils.js +48 -0
  280. package/dist/esm/utils/webpack/env/utils.js.map +1 -0
  281. package/dist/esm/utils/webpack/index.js +4 -0
  282. package/dist/esm/utils/webpack/index.js.map +1 -0
  283. package/dist/esm/utils/webpack/module-federation/index.js +96 -0
  284. package/dist/esm/utils/webpack/module-federation/index.js.map +1 -0
  285. package/dist/esm/utils/webpack/module-federation/types.js +2 -0
  286. package/dist/esm/utils/webpack/module-federation/types.js.map +1 -0
  287. package/dist/esm/utils/webpack/module-federation/utils.js +80 -0
  288. package/dist/esm/utils/webpack/module-federation/utils.js.map +1 -0
  289. package/dist/types/cache/index.d.ts +2 -0
  290. package/dist/types/cache/index.d.ts.map +1 -0
  291. package/dist/types/cache/types.d.ts +31 -0
  292. package/dist/types/cache/types.d.ts.map +1 -0
  293. package/{config → dist/types/config}/base.d.ts +3 -2
  294. package/dist/types/config/base.d.ts.map +1 -0
  295. package/dist/types/config/index.d.ts +4 -0
  296. package/dist/types/config/index.d.ts.map +1 -0
  297. package/dist/types/config/source.d.ts +8 -0
  298. package/dist/types/config/source.d.ts.map +1 -0
  299. package/dist/types/config/types.d.ts +21 -0
  300. package/dist/types/config/types.d.ts.map +1 -0
  301. package/{di → dist/types/di}/application.d.ts +6 -1
  302. package/dist/types/di/application.d.ts.map +1 -0
  303. package/{di → dist/types/di}/container.d.ts +1 -0
  304. package/dist/types/di/container.d.ts.map +1 -0
  305. package/dist/types/di/errors.d.ts +36 -0
  306. package/dist/types/di/errors.d.ts.map +1 -0
  307. package/dist/types/di/index.d.ts +7 -0
  308. package/dist/types/di/index.d.ts.map +1 -0
  309. package/dist/types/di/preset.d.ts +10 -0
  310. package/dist/types/di/preset.d.ts.map +1 -0
  311. package/{di → dist/types/di}/token.d.ts +1 -0
  312. package/dist/types/di/token.d.ts.map +1 -0
  313. package/dist/types/di/types.d.ts +87 -0
  314. package/dist/types/di/types.d.ts.map +1 -0
  315. package/dist/types/http/errors.d.ts +29 -0
  316. package/dist/types/http/errors.d.ts.map +1 -0
  317. package/dist/types/http/index.d.ts +5 -0
  318. package/dist/types/http/index.d.ts.map +1 -0
  319. package/dist/types/http/types.d.ts +3 -0
  320. package/dist/types/http/types.d.ts.map +1 -0
  321. package/dist/types/log/errors.d.ts +24 -0
  322. package/dist/types/log/errors.d.ts.map +1 -0
  323. package/dist/types/log/handler/pino.d.ts +9 -0
  324. package/dist/types/log/handler/pino.d.ts.map +1 -0
  325. package/dist/types/log/handler/sentry.d.ts +9 -0
  326. package/dist/types/log/handler/sentry.d.ts.map +1 -0
  327. package/dist/types/log/index.d.ts +4 -0
  328. package/dist/types/log/index.d.ts.map +1 -0
  329. package/{logger/index.d.ts → dist/types/log/logger.d.ts} +1 -0
  330. package/dist/types/log/logger.d.ts.map +1 -0
  331. package/dist/types/log/types.d.ts +65 -0
  332. package/dist/types/log/types.d.ts.map +1 -0
  333. package/dist/types/preset/isomorphic/constants.d.ts +8 -0
  334. package/dist/types/preset/isomorphic/constants.d.ts.map +1 -0
  335. package/dist/types/preset/isomorphic/index.d.ts +2 -0
  336. package/dist/types/preset/isomorphic/index.d.ts.map +1 -0
  337. package/dist/types/preset/isomorphic/providers/index.d.ts +23 -0
  338. package/dist/types/preset/isomorphic/providers/index.d.ts.map +1 -0
  339. package/dist/types/preset/isomorphic/types.d.ts +35 -0
  340. package/dist/types/preset/isomorphic/types.d.ts.map +1 -0
  341. package/dist/types/preset/isomorphic/utils/index.d.ts +119 -0
  342. package/dist/types/preset/isomorphic/utils/index.d.ts.map +1 -0
  343. package/dist/types/preset/node/handler/index.d.ts +11 -0
  344. package/dist/types/preset/node/handler/index.d.ts.map +1 -0
  345. package/dist/types/preset/node/handler/providers/index.d.ts +36 -0
  346. package/dist/types/preset/node/handler/providers/index.d.ts.map +1 -0
  347. package/dist/types/preset/node/handler/utils/index.d.ts +47 -0
  348. package/dist/types/preset/node/handler/utils/index.d.ts.map +1 -0
  349. package/dist/types/preset/node/index.d.ts +4 -0
  350. package/dist/types/preset/node/index.d.ts.map +1 -0
  351. package/dist/types/preset/node/node/index.d.ts +9 -0
  352. package/dist/types/preset/node/node/index.d.ts.map +1 -0
  353. package/dist/types/preset/node/node/providers/index.d.ts +113 -0
  354. package/dist/types/preset/node/node/providers/index.d.ts.map +1 -0
  355. package/{http-client/middleware/tracing.d.ts → dist/types/preset/node/node/utils/http-client/index.d.ts} +13 -3
  356. package/dist/types/preset/node/node/utils/http-client/index.d.ts.map +1 -0
  357. package/dist/types/preset/node/node/utils/http-server/index.d.ts +8 -0
  358. package/dist/types/preset/node/node/utils/http-server/index.d.ts.map +1 -0
  359. package/dist/types/preset/node/node/utils/index.d.ts +3 -0
  360. package/dist/types/preset/node/node/utils/index.d.ts.map +1 -0
  361. package/dist/types/preset/node/types.d.ts +10 -0
  362. package/dist/types/preset/node/types.d.ts.map +1 -0
  363. package/dist/types/preset/web/index.d.ts +9 -0
  364. package/dist/types/preset/web/index.d.ts.map +1 -0
  365. package/dist/types/preset/web/providers/index.d.ts +36 -0
  366. package/dist/types/preset/web/providers/index.d.ts.map +1 -0
  367. package/dist/types/tokens.d.ts +83 -0
  368. package/dist/types/tokens.d.ts.map +1 -0
  369. package/dist/types/utils/axios/index.d.ts +5 -0
  370. package/dist/types/utils/axios/index.d.ts.map +1 -0
  371. package/dist/types/utils/axios/middleware/cookie.d.ts +9 -0
  372. package/dist/types/utils/axios/middleware/cookie.d.ts.map +1 -0
  373. package/dist/types/utils/axios/middleware/log.d.ts +28 -0
  374. package/dist/types/utils/axios/middleware/log.d.ts.map +1 -0
  375. package/dist/types/utils/axios/sauce/index.d.ts +43 -0
  376. package/dist/types/utils/axios/sauce/index.d.ts.map +1 -0
  377. package/dist/types/utils/axios/utils/index.d.ts +10 -0
  378. package/dist/types/utils/axios/utils/index.d.ts.map +1 -0
  379. package/dist/types/utils/express/handler/health-check.d.ts +7 -0
  380. package/dist/types/utils/express/handler/health-check.d.ts.map +1 -0
  381. package/dist/types/utils/express/index.d.ts +3 -0
  382. package/dist/types/utils/express/index.d.ts.map +1 -0
  383. package/dist/types/utils/express/utils/index.d.ts +8 -0
  384. package/dist/types/utils/express/utils/index.d.ts.map +1 -0
  385. package/dist/types/utils/function.d.ts +29 -0
  386. package/dist/types/utils/function.d.ts.map +1 -0
  387. package/dist/types/utils/index.d.ts +3 -0
  388. package/dist/types/utils/index.d.ts.map +1 -0
  389. package/{utils/number.d.ts → dist/types/utils/math.d.ts} +1 -0
  390. package/dist/types/utils/math.d.ts.map +1 -0
  391. package/dist/types/utils/react/error-handlers/index.d.ts +42 -0
  392. package/dist/types/utils/react/error-handlers/index.d.ts.map +1 -0
  393. package/dist/types/utils/react/index.d.ts +3 -0
  394. package/dist/types/utils/react/index.d.ts.map +1 -0
  395. package/dist/types/utils/redux/index.d.ts +4 -0
  396. package/dist/types/utils/redux/index.d.ts.map +1 -0
  397. package/dist/types/utils/redux/remote-data.d.ts +86 -0
  398. package/dist/types/utils/redux/remote-data.d.ts.map +1 -0
  399. package/dist/types/utils/redux-saga/index.d.ts +4 -0
  400. package/dist/types/utils/redux-saga/index.d.ts.map +1 -0
  401. package/dist/types/utils/redux-saga/middleware.d.ts +9 -0
  402. package/dist/types/utils/redux-saga/middleware.d.ts.map +1 -0
  403. package/{utils → dist/types/utils}/redux-saga/take-chain.d.ts +3 -0
  404. package/dist/types/utils/redux-saga/take-chain.d.ts.map +1 -0
  405. package/dist/types/utils/redux-saga/types.d.ts +37 -0
  406. package/dist/types/utils/redux-saga/types.d.ts.map +1 -0
  407. package/dist/types/utils/ssr/index.d.ts +42 -0
  408. package/dist/types/utils/ssr/index.d.ts.map +1 -0
  409. package/dist/types/utils/web/analytics/data-layer.d.ts +6 -0
  410. package/dist/types/utils/web/analytics/data-layer.d.ts.map +1 -0
  411. package/dist/types/utils/web/analytics/index.d.ts +3 -0
  412. package/dist/types/utils/web/analytics/index.d.ts.map +1 -0
  413. package/dist/types/utils/web/analytics/oko.d.ts +7 -0
  414. package/dist/types/utils/web/analytics/oko.d.ts.map +1 -0
  415. package/dist/types/utils/web/storage/index.d.ts +14 -0
  416. package/dist/types/utils/web/storage/index.d.ts.map +1 -0
  417. package/dist/types/utils/webpack/env/index.d.ts +19 -0
  418. package/dist/types/utils/webpack/env/index.d.ts.map +1 -0
  419. package/dist/types/utils/webpack/env/types.d.ts +12 -0
  420. package/dist/types/utils/webpack/env/types.d.ts.map +1 -0
  421. package/dist/types/utils/webpack/env/utils.d.ts +16 -0
  422. package/dist/types/utils/webpack/env/utils.d.ts.map +1 -0
  423. package/dist/types/utils/webpack/index.d.ts +7 -0
  424. package/dist/types/utils/webpack/index.d.ts.map +1 -0
  425. package/{utils → dist/types/utils}/webpack/module-federation/index.d.ts +10 -3
  426. package/dist/types/utils/webpack/module-federation/index.d.ts.map +1 -0
  427. package/{utils → dist/types/utils}/webpack/module-federation/types.d.ts +12 -3
  428. package/dist/types/utils/webpack/module-federation/types.d.ts.map +1 -0
  429. package/{utils → dist/types/utils}/webpack/module-federation/utils.d.ts +7 -0
  430. package/dist/types/utils/webpack/module-federation/utils.d.ts.map +1 -0
  431. package/package.json +295 -48
  432. package/src/cache/index.ts +1 -0
  433. package/src/cache/types.ts +34 -0
  434. package/src/config/base.ts +18 -0
  435. package/src/config/index.ts +3 -0
  436. package/src/config/source.ts +23 -0
  437. package/src/config/types.ts +25 -0
  438. package/src/di/__test__/application.test.ts +258 -0
  439. package/src/di/__test__/container.test.ts +103 -0
  440. package/src/di/__test__/errors.test.ts +56 -0
  441. package/src/di/__test__/preset.test.ts +23 -0
  442. package/src/di/__test__/token.test.ts +25 -0
  443. package/src/di/application.ts +126 -0
  444. package/src/di/container.ts +60 -0
  445. package/src/di/errors.ts +59 -0
  446. package/{di/index.d.ts → src/di/index.ts} +2 -2
  447. package/src/di/preset.ts +32 -0
  448. package/src/di/token.ts +41 -0
  449. package/src/di/types.ts +105 -0
  450. package/src/http/__test__/errors.test.ts +35 -0
  451. package/src/http/errors.ts +42 -0
  452. package/src/http/index.ts +14 -0
  453. package/src/http/types.ts +8 -0
  454. package/src/log/__test__/errors.test.ts +13 -0
  455. package/src/log/__test__/logger.test.ts +24 -0
  456. package/src/log/errors.ts +33 -0
  457. package/src/log/handler/pino.ts +27 -0
  458. package/src/log/handler/sentry.ts +57 -0
  459. package/src/log/index.ts +12 -0
  460. package/src/log/logger.ts +30 -0
  461. package/src/log/types.ts +76 -0
  462. package/src/preset/isomorphic/constants.ts +7 -0
  463. package/src/preset/isomorphic/index.ts +7 -0
  464. package/src/preset/isomorphic/providers/index.ts +40 -0
  465. package/src/preset/isomorphic/types.ts +37 -0
  466. package/src/preset/isomorphic/utils/__test__/index.test.ts +541 -0
  467. package/src/preset/isomorphic/utils/index.ts +349 -0
  468. package/src/preset/node/handler/index.ts +46 -0
  469. package/src/preset/node/handler/providers/index.tsx +214 -0
  470. package/src/preset/node/handler/utils/index.tsx +110 -0
  471. package/src/preset/node/index.ts +3 -0
  472. package/src/preset/node/node/index.ts +73 -0
  473. package/src/preset/node/node/providers/index.ts +434 -0
  474. package/src/preset/node/node/utils/http-client/__test__/index.test.ts +232 -0
  475. package/src/preset/node/node/utils/http-client/index.ts +129 -0
  476. package/src/preset/node/node/utils/http-server/index.ts +17 -0
  477. package/src/preset/node/node/utils/index.ts +2 -0
  478. package/src/preset/node/types.ts +10 -0
  479. package/src/preset/web/index.ts +40 -0
  480. package/src/preset/web/providers/index.ts +108 -0
  481. package/src/tokens.ts +108 -0
  482. package/src/utils/axios/index.ts +12 -0
  483. package/src/utils/axios/middleware/__test__/cookie.test.ts +94 -0
  484. package/src/utils/axios/middleware/__test__/log.test.ts +121 -0
  485. package/src/utils/axios/middleware/cookie.ts +26 -0
  486. package/src/utils/axios/middleware/log.ts +52 -0
  487. package/src/utils/axios/sauce/index.ts +76 -0
  488. package/src/utils/axios/utils/__test__/index.test.ts +89 -0
  489. package/src/utils/axios/utils/index.ts +26 -0
  490. package/src/utils/express/handler/health-check.ts +13 -0
  491. package/src/utils/express/index.ts +2 -0
  492. package/src/utils/express/utils/index.ts +18 -0
  493. package/src/utils/function.ts +57 -0
  494. package/src/utils/index.ts +2 -0
  495. package/src/utils/math.ts +8 -0
  496. package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +27 -0
  497. package/src/utils/react/error-handlers/__test__/index.test.tsx +63 -0
  498. package/src/utils/react/error-handlers/index.tsx +68 -0
  499. package/src/utils/react/index.ts +3 -0
  500. package/src/utils/redux/__test__/remote-data.test.ts +172 -0
  501. package/src/utils/redux/index.ts +4 -0
  502. package/src/utils/redux/remote-data.ts +138 -0
  503. package/src/utils/redux-saga/__test__/take-chain.test.ts +141 -0
  504. package/src/utils/redux-saga/index.ts +3 -0
  505. package/src/utils/redux-saga/middleware.ts +168 -0
  506. package/src/utils/redux-saga/take-chain.ts +67 -0
  507. package/src/utils/redux-saga/types.ts +43 -0
  508. package/src/utils/ssr/index.tsx +78 -0
  509. package/src/utils/web/analytics/__test__/data-layer.test.ts +50 -0
  510. package/src/utils/web/analytics/__test__/oko.test.ts +50 -0
  511. package/src/utils/web/analytics/data-layer.ts +12 -0
  512. package/src/utils/web/analytics/index.ts +2 -0
  513. package/src/utils/web/analytics/oko.ts +14 -0
  514. package/src/utils/web/storage/index.ts +84 -0
  515. package/src/utils/webpack/env/index.ts +91 -0
  516. package/src/utils/webpack/env/types.ts +14 -0
  517. package/src/utils/webpack/env/utils.ts +53 -0
  518. package/src/utils/webpack/index.ts +7 -0
  519. package/src/utils/webpack/module-federation/__test__/__snapshots__/utils.test.ts.snap +124 -0
  520. package/src/utils/webpack/module-federation/__test__/index.test.ts +311 -0
  521. package/src/utils/webpack/module-federation/__test__/utils.test.ts +28 -0
  522. package/src/utils/webpack/module-federation/index.ts +102 -0
  523. package/src/utils/webpack/module-federation/types.ts +54 -0
  524. package/src/utils/webpack/module-federation/utils.ts +104 -0
  525. package/cache/types.d.ts +0 -7
  526. package/cache/types.js +0 -3
  527. package/cache/types.js.map +0 -1
  528. package/config/base.js +0 -20
  529. package/config/base.js.map +0 -1
  530. package/config/browser.d.ts +0 -6
  531. package/config/browser.js +0 -13
  532. package/config/browser.js.map +0 -1
  533. package/config/node.d.ts +0 -6
  534. package/config/node.js +0 -19
  535. package/config/node.js.map +0 -1
  536. package/config/types.d.ts +0 -7
  537. package/config/types.js +0 -3
  538. package/config/types.js.map +0 -1
  539. package/config/utils.d.ts +0 -5
  540. package/config/utils.js +0 -12
  541. package/config/utils.js.map +0 -1
  542. package/di/application.js +0 -71
  543. package/di/application.js.map +0 -1
  544. package/di/container.js +0 -49
  545. package/di/container.js.map +0 -1
  546. package/di/errors.d.ts +0 -21
  547. package/di/errors.js +0 -33
  548. package/di/errors.js.map +0 -1
  549. package/di/index.js +0 -16
  550. package/di/index.js.map +0 -1
  551. package/di/preset.d.ts +0 -9
  552. package/di/preset.js +0 -25
  553. package/di/preset.js.map +0 -1
  554. package/di/token.js +0 -17
  555. package/di/token.js.map +0 -1
  556. package/di/types.d.ts +0 -32
  557. package/di/types.js +0 -3
  558. package/di/types.js.map +0 -1
  559. package/error-tracker/browser.d.ts +0 -8
  560. package/error-tracker/browser.js +0 -40
  561. package/error-tracker/browser.js.map +0 -1
  562. package/error-tracker/node.d.ts +0 -8
  563. package/error-tracker/node.js +0 -40
  564. package/error-tracker/node.js.map +0 -1
  565. package/error-tracker/types.d.ts +0 -18
  566. package/error-tracker/types.js +0 -3
  567. package/error-tracker/types.js.map +0 -1
  568. package/error-tracker/utils.d.ts +0 -12
  569. package/error-tracker/utils.js +0 -19
  570. package/error-tracker/utils.js.map +0 -1
  571. package/http-client/middleware/cookie.d.ts +0 -19
  572. package/http-client/middleware/cookie.js +0 -62
  573. package/http-client/middleware/cookie.js.map +0 -1
  574. package/http-client/middleware/tracing.js +0 -67
  575. package/http-client/middleware/tracing.js.map +0 -1
  576. package/http-client/sauce/index.d.ts +0 -27
  577. package/http-client/sauce/index.js +0 -33
  578. package/http-client/sauce/index.js.map +0 -1
  579. package/http-client/types.d.ts +0 -6
  580. package/http-client/types.js +0 -3
  581. package/http-client/types.js.map +0 -1
  582. package/http-client/utils.d.ts +0 -9
  583. package/http-client/utils.js +0 -20
  584. package/http-client/utils.js.map +0 -1
  585. package/http-server/constants.d.ts +0 -4
  586. package/http-server/constants.js +0 -8
  587. package/http-server/constants.js.map +0 -1
  588. package/http-server/handler/health-check.d.ts +0 -6
  589. package/http-server/handler/health-check.js +0 -15
  590. package/http-server/handler/health-check.js.map +0 -1
  591. package/http-server/middleware/logging.d.ts +0 -10
  592. package/http-server/middleware/logging.js +0 -31
  593. package/http-server/middleware/logging.js.map +0 -1
  594. package/http-server/middleware/metrics.d.ts +0 -23
  595. package/http-server/middleware/metrics.js +0 -60
  596. package/http-server/middleware/metrics.js.map +0 -1
  597. package/http-server/middleware/tracing.d.ts +0 -14
  598. package/http-server/middleware/tracing.js +0 -51
  599. package/http-server/middleware/tracing.js.map +0 -1
  600. package/http-server/template/index.d.ts +0 -1
  601. package/http-server/template/index.js +0 -36
  602. package/http-server/template/index.js.map +0 -1
  603. package/http-server/types.d.ts +0 -33
  604. package/http-server/types.js +0 -3
  605. package/http-server/types.js.map +0 -1
  606. package/http-server/utils.d.ts +0 -30
  607. package/http-server/utils.js +0 -100
  608. package/http-server/utils.js.map +0 -1
  609. package/logger/handler/console.d.ts +0 -8
  610. package/logger/handler/console.js +0 -36
  611. package/logger/handler/console.js.map +0 -1
  612. package/logger/handler/sentry.d.ts +0 -8
  613. package/logger/handler/sentry.js +0 -36
  614. package/logger/handler/sentry.js.map +0 -1
  615. package/logger/index.js +0 -31
  616. package/logger/index.js.map +0 -1
  617. package/logger/types.d.ts +0 -24
  618. package/logger/types.js +0 -3
  619. package/logger/types.js.map +0 -1
  620. package/metrics/constants.d.ts +0 -4
  621. package/metrics/constants.js +0 -8
  622. package/metrics/constants.js.map +0 -1
  623. package/metrics/node.d.ts +0 -18
  624. package/metrics/node.js +0 -74
  625. package/metrics/node.js.map +0 -1
  626. package/preset/node/index.d.ts +0 -19
  627. package/preset/node/index.js +0 -121
  628. package/preset/node/index.js.map +0 -1
  629. package/preset/node/response.d.ts +0 -15
  630. package/preset/node/response.js +0 -77
  631. package/preset/node/response.js.map +0 -1
  632. package/saga-runner/index.d.ts +0 -8
  633. package/saga-runner/index.js +0 -79
  634. package/saga-runner/index.js.map +0 -1
  635. package/saga-runner/types.d.ts +0 -10
  636. package/saga-runner/types.js +0 -3
  637. package/saga-runner/types.js.map +0 -1
  638. package/tokens.d.ts +0 -48
  639. package/tokens.js +0 -49
  640. package/tokens.js.map +0 -1
  641. package/tracing/utils.d.ts +0 -9
  642. package/tracing/utils.js +0 -22
  643. package/tracing/utils.js.map +0 -1
  644. package/utils/browser/analytics/data-layer.d.ts +0 -5
  645. package/utils/browser/analytics/data-layer.js +0 -15
  646. package/utils/browser/analytics/data-layer.js.map +0 -1
  647. package/utils/browser/analytics/oko.d.ts +0 -12
  648. package/utils/browser/analytics/oko.js +0 -39
  649. package/utils/browser/analytics/oko.js.map +0 -1
  650. package/utils/browser/storage/index.d.ts +0 -4
  651. package/utils/browser/storage/index.js +0 -63
  652. package/utils/browser/storage/index.js.map +0 -1
  653. package/utils/number.js.map +0 -1
  654. package/utils/react/error-handlers/index.d.ts +0 -38
  655. package/utils/react/error-handlers/index.js +0 -47
  656. package/utils/react/error-handlers/index.js.map +0 -1
  657. package/utils/redux/remote-data.d.ts +0 -23
  658. package/utils/redux/remote-data.js +0 -28
  659. package/utils/redux/remote-data.js.map +0 -1
  660. package/utils/redux-saga/take-chain.js +0 -56
  661. package/utils/redux-saga/take-chain.js.map +0 -1
  662. package/utils/webpack/module-federation/index.js +0 -74
  663. package/utils/webpack/module-federation/index.js.map +0 -1
  664. package/utils/webpack/module-federation/types.js +0 -3
  665. package/utils/webpack/module-federation/types.js.map +0 -1
  666. package/utils/webpack/module-federation/utils.js +0 -36
  667. package/utils/webpack/module-federation/utils.js.map +0 -1
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideBaseConfig = provideBaseConfig;
7
+ exports.provideHttpClientLogHandler = provideHttpClientLogHandler;
8
+ exports.provideSagaMiddleware = provideSagaMiddleware;
9
+ var _base = require("../../../config/base");
10
+ var _tokens = require("../../../tokens");
11
+ var _reduxSaga = require("../../../utils/redux-saga");
12
+ var _utils = require("../utils");
13
+ /**
14
+ * Провайдер базовой конфигурации приложения.
15
+ * @param resolve Функция для получения зависимости по токену.
16
+ * @return Базовая конфигурация.
17
+ */
18
+ function provideBaseConfig(resolve) {
19
+ const source = resolve(_tokens.KnownToken.Config.source);
20
+ return (0, _base.createBaseConfig)(source);
21
+ }
22
+
23
+ /**
24
+ * Провайдер кастомной версии createSagaMiddleware из redux-saga.
25
+ * @param resolve Функция для получения зависимости по токену.
26
+ * @return Промежуточный слой для redux-хранилища.
27
+ */
28
+ function provideSagaMiddleware(resolve) {
29
+ const logger = resolve(_tokens.KnownToken.logger);
30
+ return (0, _reduxSaga.createSagaMiddleware)(new _utils.SagaLogging(logger));
31
+ }
32
+
33
+ /**
34
+ * Провайдер обработчика логирования исходящих http-запросов.
35
+ * @param resolve Функция для получения зависимости по токену.
36
+ * @return Обработчик.
37
+ */
38
+ function provideHttpClientLogHandler(resolve) {
39
+ const logger = resolve(_tokens.KnownToken.logger);
40
+ return data => new _utils.HttpClientLogging(logger, data);
41
+ }
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_base","require","_tokens","_reduxSaga","_utils","provideBaseConfig","resolve","source","KnownToken","Config","createBaseConfig","provideSagaMiddleware","logger","createSagaMiddleware","SagaLogging","provideHttpClientLogHandler","data","HttpClientLogging"],"sources":["../../../../../src/preset/isomorphic/providers/index.ts"],"sourcesContent":["import { createBaseConfig } from '../../../config/base';\nimport { BaseConfig } from '../../../config/types';\nimport { Resolve } from '../../../di';\nimport { LogMiddlewareHandlerInit } from '../../../utils/axios/middleware/log';\nimport { KnownToken } from '../../../tokens';\nimport { createSagaMiddleware, SagaExtendedMiddleware } from '../../../utils/redux-saga';\nimport { HttpClientLogging, SagaLogging } from '../utils';\n\n/**\n * Провайдер базовой конфигурации приложения.\n * @param resolve Функция для получения зависимости по токену.\n * @return Базовая конфигурация.\n */\nexport function provideBaseConfig(resolve: Resolve): BaseConfig {\n const source = resolve(KnownToken.Config.source);\n\n return createBaseConfig(source);\n}\n\n/**\n * Провайдер кастомной версии createSagaMiddleware из redux-saga.\n * @param resolve Функция для получения зависимости по токену.\n * @return Промежуточный слой для redux-хранилища.\n */\nexport function provideSagaMiddleware(resolve: Resolve): SagaExtendedMiddleware {\n const logger = resolve(KnownToken.logger);\n\n return createSagaMiddleware(new SagaLogging(logger));\n}\n\n/**\n * Провайдер обработчика логирования исходящих http-запросов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Обработчик.\n */\nexport function provideHttpClientLogHandler(resolve: Resolve): LogMiddlewareHandlerInit {\n const logger = resolve(KnownToken.logger);\n\n return data => new HttpClientLogging(logger, data);\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAIA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,iBAAiBA,CAACC,OAAgB,EAAc;EAC9D,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAEhD,OAAO,IAAAG,sBAAgB,EAACH,MAAM,CAAC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASI,qBAAqBA,CAACL,OAAgB,EAA0B;EAC9E,MAAMM,MAAM,GAAGN,OAAO,CAACE,kBAAU,CAACI,MAAM,CAAC;EAEzC,OAAO,IAAAC,+BAAoB,EAAC,IAAIC,kBAAW,CAACF,MAAM,CAAC,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,2BAA2BA,CAACT,OAAgB,EAA4B;EACtF,MAAMM,MAAM,GAAGN,OAAO,CAACE,kBAAU,CAACI,MAAM,CAAC;EAEzC,OAAOI,IAAI,IAAI,IAAIC,wBAAiB,CAACL,MAAM,EAAEI,IAAI,CAAC;AACpD"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/preset/isomorphic/types.ts"],"sourcesContent":["import type { Provider, Token } from '../../di';\n\nexport interface PresetTuner {\n (tools: { override: <T>(token: Token<T>, provider: Provider<T>) => void }): void;\n}\n\nexport type KnownHttpApiKey = 'ilium' | 'simaV3' | 'simaV4' | 'simaV6';\n\n/**\n * Строгая версия Map без возможности добавлять/удалять.\n */\nexport interface StrictMap<Key extends string> {\n /** Возвращает значение по ключу. */\n get(key: Key): string;\n}\n\n/**\n * Внутренний интерфейс для хранения ссылок на ассеты.\n */\nexport interface PageAssets {\n js: string;\n css: string;\n criticalJs?: string;\n criticalCss?: string;\n}\n\n/**\n * Структура ответа от frontend-микросервиса в формате JSON по соглашению.\n */\nexport interface ConventionalJson {\n markup: string;\n bundle_js: string;\n bundle_css: string;\n critical_js?: string;\n critical_css?: string;\n meta?: any;\n}\n"],"mappings":""}
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SagaLogging = exports.HttpStatus = exports.HttpClientLogging = exports.HttpApiHostPool = void 0;
7
+ exports.displayUrl = displayUrl;
8
+ exports.severityFromStatus = severityFromStatus;
9
+ var _axios = _interopRequireDefault(require("axios"));
10
+ var _log = require("../../../log");
11
+ var _utils = require("../../../utils/axios/utils");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /** Реализация пула хостов. */
14
+ class HttpApiHostPool {
15
+ /**
16
+ * Конструктор.
17
+ * @param map Карта "Название api >> Название переменной среды с хостом api".
18
+ * @param source Источник конфигурации.
19
+ */
20
+ constructor(map, source) {
21
+ this.map = map;
22
+ this.source = source;
23
+ }
24
+
25
+ /** @inheritDoc */
26
+ get(key) {
27
+ const variableName = this.map[key];
28
+ if (!variableName) {
29
+ throw Error(`Known HTTP API not found by key "${key}"`);
30
+ }
31
+
32
+ // "лениво" берём переменную, именно в момент вызова (чтобы не заставлять указывать в сервисах все переменные разом)
33
+ return this.source.require(variableName);
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Возвращает уровень на основе статуса ответа.
39
+ * @param status Статус HTTP-ответа.
40
+ * @return Уровень.
41
+ */
42
+ exports.HttpApiHostPool = HttpApiHostPool;
43
+ function severityFromStatus(status) {
44
+ let result;
45
+ if (typeof status === 'number') {
46
+ switch (true) {
47
+ case status >= 200 && status <= 299:
48
+ result = 'info';
49
+ break;
50
+ case status >= 300 && status <= 499:
51
+ result = 'warning';
52
+ break;
53
+ default:
54
+ result = 'error';
55
+ }
56
+ } else {
57
+ result = 'error';
58
+ }
59
+ return result;
60
+ }
61
+
62
+ /**
63
+ * Обработчик для промежуточного слоя логирования исходящих http-запросов.
64
+ * Отправляет хлебные крошки и данные ошибки, пригодные для Sentry.
65
+ */
66
+ class HttpClientLogging {
67
+ /**
68
+ * Конструктор.
69
+ * @param logger Logger.
70
+ * @param data Данные запроса.
71
+ */
72
+ constructor(logger, data) {
73
+ const config = (0, _utils.applyAxiosDefaults)(data.config, data.defaults);
74
+ this.logger = logger;
75
+ this.requestInfo = {
76
+ ...config,
77
+ readyURL: displayUrl(config.baseURL, config.url)
78
+ };
79
+ }
80
+
81
+ /**
82
+ * Отправит хлебные крошки перед запросом.
83
+ */
84
+ beforeRequest() {
85
+ const {
86
+ readyURL,
87
+ method,
88
+ params
89
+ } = this.requestInfo;
90
+ this.logger.info(new _log.Breadcrumb({
91
+ category: 'http.request',
92
+ type: 'http',
93
+ data: {
94
+ url: readyURL,
95
+ method,
96
+ params
97
+ },
98
+ level: 'info'
99
+ }));
100
+ }
101
+
102
+ /**
103
+ * Отправит хлебные крошки после запроса.
104
+ * @param data Данные ответа.
105
+ */
106
+ afterResponse({
107
+ response
108
+ }) {
109
+ const {
110
+ readyURL,
111
+ method,
112
+ params
113
+ } = this.requestInfo;
114
+ this.logger.info(new _log.Breadcrumb({
115
+ category: 'http.response',
116
+ type: 'http',
117
+ data: {
118
+ url: readyURL,
119
+ method,
120
+ status_code: response.status,
121
+ params
122
+ },
123
+ level: 'info'
124
+ }));
125
+ }
126
+
127
+ /**
128
+ * Отправит данные ошибки при перехвате.
129
+ * @param data Данные запроса.
130
+ */
131
+ onCatch({
132
+ error
133
+ }) {
134
+ if (_axios.default.isAxiosError(error)) {
135
+ const {
136
+ requestInfo
137
+ } = this;
138
+ const statusCode = error.response?.status || 'UNKNOWN';
139
+
140
+ // @todo выяснить: нужно ли нам отправлять ответы с кодом <500 в Sentry на уровне всех команд
141
+ // если да то можно добавить метод в духе errorStatusFilter(s => s !== 422)
142
+ this.logger.error(new _log.DetailedError(`HTTP request failed, status code: ${statusCode}, error message: ${error.message}`, {
143
+ level: severityFromStatus(error.response?.status),
144
+ context: [{
145
+ key: 'Request details',
146
+ data: {
147
+ url: requestInfo.url,
148
+ baseURL: requestInfo.baseURL,
149
+ method: requestInfo.method,
150
+ headers: requestInfo.headers,
151
+ data: requestInfo.data,
152
+ params: requestInfo.params
153
+ }
154
+ }, {
155
+ key: 'Response details',
156
+ data: {
157
+ data: error.response?.data,
158
+ // копируем так как в Sentry падает ошибка: **non-serializable** (TypeError: Object.getPrototypeOf(...) is null)
159
+ headers: {
160
+ ...error.response?.headers
161
+ },
162
+ error: error.toJSON()
163
+ }
164
+ }]
165
+ }));
166
+ if (typeof statusCode === 'number') {
167
+ this.logger.info(new _log.Breadcrumb({
168
+ category: 'http.response',
169
+ type: 'http',
170
+ data: {
171
+ url: requestInfo.readyURL,
172
+ method: requestInfo.method,
173
+ status_code: statusCode,
174
+ params: requestInfo.params
175
+ },
176
+ level: 'error'
177
+ }));
178
+ }
179
+ } else {
180
+ this.logger.error(error);
181
+ }
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Лог событий запуска и выполнения redux-saga.
187
+ */
188
+ exports.HttpClientLogging = HttpClientLogging;
189
+ class SagaLogging {
190
+ /**
191
+ * @param logger Logger.
192
+ */
193
+ constructor(logger) {
194
+ this.logger = logger;
195
+ }
196
+
197
+ /**
198
+ * При получении ошибки выполнения саги передаст ее логгеру ее с данными стека в extra.
199
+ * @param error Ошибка.
200
+ * @param info Инфо выполнения саги.
201
+ */
202
+ onSagaError(error, info) {
203
+ this.logger.error(new _log.DetailedError(error.message, {
204
+ extra: {
205
+ key: 'Saga stack',
206
+ data: info.sagaStack
207
+ }
208
+ }));
209
+ }
210
+
211
+ /**
212
+ * При получении ошибки запуска саги передаст ее логгеру.
213
+ * @param error Ошибка.
214
+ */
215
+ onConfigError(error) {
216
+ this.logger.error(error);
217
+ }
218
+
219
+ /**
220
+ * При прерывании саги передаст информацию логгеру как ошибку.
221
+ * @param info Инфо прерывания саги.
222
+ */
223
+ onTimeoutInterrupt({
224
+ timeout
225
+ }) {
226
+ this.logger.error(new _log.DetailedError(`Сага прервана по таймауту (${timeout}мс)`, {
227
+ level: 'warning'
228
+ }));
229
+ }
230
+ }
231
+
232
+ /** Работа с HTTP-статусами по соглашению. */
233
+ exports.SagaLogging = SagaLogging;
234
+ class HttpStatus {
235
+ /**
236
+ * Определяет, является ли переданный статус успешным.
237
+ * @param status Статус.
238
+ * @return Признак.
239
+ */
240
+ static isOk(status) {
241
+ return typeof status === 'number' && status === 200;
242
+ }
243
+
244
+ /**
245
+ * Определяет, является ли переданный статус успешным POST.
246
+ * @param status Статус.
247
+ * @return Признак.
248
+ */
249
+ static isPostOk(status) {
250
+ return typeof status === 'number' && status === 201;
251
+ }
252
+
253
+ /**
254
+ * Определяет, является ли переданный статус успешным DELETE.
255
+ * @param status Статус.
256
+ * @return Признак.
257
+ */
258
+ static isDeleteOk(status) {
259
+ return typeof status === 'number' && (status === 204 || status === 200);
260
+ }
261
+
262
+ /**
263
+ * Возвращает новый промежуточный слой для валидации статуса HTTP-ответа.
264
+ * Валидация применяется только если в конфиге запроса не указан validateStatus.
265
+ * @return Промежуточный слой.
266
+ */
267
+ static axiosMiddleware() {
268
+ return async (config, next, defaults) => {
269
+ if (config.validateStatus !== undefined || defaults.validateStatus !== undefined) {
270
+ // если validateStatus указан явно то не применяем валидацию по умолчанию
271
+ await next(config);
272
+ } else {
273
+ let validateStatus = null;
274
+ switch (config.method?.toLowerCase()) {
275
+ case 'get':
276
+ case 'put':
277
+ case undefined:
278
+ validateStatus = HttpStatus.isOk;
279
+ break;
280
+ case 'post':
281
+ validateStatus = HttpStatus.isPostOk;
282
+ break;
283
+ case 'delete':
284
+ validateStatus = HttpStatus.isDeleteOk;
285
+ break;
286
+ }
287
+ await next({
288
+ ...config,
289
+ validateStatus
290
+ });
291
+ }
292
+ };
293
+ }
294
+ }
295
+
296
+ /**
297
+ * Объединяет значения опций baseURL и url (axios) в одну строку для логирования.
298
+ * @param baseURL Опция baseURL.
299
+ * @param url Опция url.
300
+ * @return Отображение. Не является валидным URL.
301
+ */
302
+ exports.HttpStatus = HttpStatus;
303
+ function displayUrl(baseURL = '', url = '') {
304
+ let result;
305
+ switch (true) {
306
+ case Boolean(baseURL && url):
307
+ result = `${baseURL.replace(/\/$/, '')}/${url.replace(/^\//, '')}`;
308
+ break;
309
+ case Boolean(baseURL) && !url:
310
+ result = baseURL;
311
+ break;
312
+ case !baseURL && Boolean(url):
313
+ result = url;
314
+ break;
315
+ case !baseURL && !url:
316
+ default:
317
+ result = '[empty]';
318
+ break;
319
+ }
320
+ return result;
321
+ }
322
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_axios","_interopRequireDefault","require","_log","_utils","obj","__esModule","default","HttpApiHostPool","constructor","map","source","get","key","variableName","Error","exports","severityFromStatus","status","result","HttpClientLogging","logger","data","config","applyAxiosDefaults","defaults","requestInfo","readyURL","displayUrl","baseURL","url","beforeRequest","method","params","info","Breadcrumb","category","type","level","afterResponse","response","status_code","onCatch","error","Axios","isAxiosError","statusCode","DetailedError","message","context","headers","toJSON","SagaLogging","onSagaError","extra","sagaStack","onConfigError","onTimeoutInterrupt","timeout","HttpStatus","isOk","isPostOk","isDeleteOk","axiosMiddleware","next","validateStatus","undefined","toLowerCase","Boolean","replace"],"sources":["../../../../../src/preset/isomorphic/utils/index.ts"],"sourcesContent":["import { SeverityLevel } from '@sentry/browser';\nimport Axios, { AxiosRequestConfig } from 'axios';\nimport type { Middleware } from 'middleware-axios';\nimport type { StrictMap } from '../types';\nimport type { ConfigSource } from '../../../config/types';\nimport { Logger, Breadcrumb, DetailedError } from '../../../log';\nimport {\n SharedData,\n DoneSharedData,\n FailSharedData,\n LogMiddlewareHandler,\n} from '../../../utils/axios/middleware/log';\nimport { applyAxiosDefaults } from '../../../utils/axios/utils';\nimport {\n SagaErrorInfo,\n SagaInterruptInfo,\n SagaMiddlewareHandler,\n} from '../../../utils/redux-saga/types';\n\n/** Реализация пула хостов. */\nexport class HttpApiHostPool<Key extends string> implements StrictMap<Key> {\n private map: Record<Key, string>;\n private source: ConfigSource;\n\n /**\n * Конструктор.\n * @param map Карта \"Название api >> Название переменной среды с хостом api\".\n * @param source Источник конфигурации.\n */\n constructor(map: Record<Key, string>, source: ConfigSource) {\n this.map = map;\n this.source = source;\n }\n\n /** @inheritDoc */\n get(key: Key): string {\n const variableName = this.map[key];\n\n if (!variableName) {\n throw Error(`Known HTTP API not found by key \"${key}\"`);\n }\n\n // \"лениво\" берём переменную, именно в момент вызова (чтобы не заставлять указывать в сервисах все переменные разом)\n return this.source.require(variableName);\n }\n}\n\n/**\n * Возвращает уровень на основе статуса ответа.\n * @param status Статус HTTP-ответа.\n * @return Уровень.\n */\nexport function severityFromStatus(status: unknown): SeverityLevel {\n let result: SeverityLevel;\n\n if (typeof status === 'number') {\n switch (true) {\n case status >= 200 && status <= 299:\n result = 'info';\n break;\n case status >= 300 && status <= 499:\n result = 'warning';\n break;\n default:\n result = 'error';\n }\n } else {\n result = 'error';\n }\n\n return result;\n}\n\n/**\n * Обработчик для промежуточного слоя логирования исходящих http-запросов.\n * Отправляет хлебные крошки и данные ошибки, пригодные для Sentry.\n */\nexport class HttpClientLogging implements LogMiddlewareHandler {\n protected logger: Logger;\n\n protected readonly requestInfo: ReturnType<typeof applyAxiosDefaults> & {\n readyURL: string;\n };\n\n /**\n * Конструктор.\n * @param logger Logger.\n * @param data Данные запроса.\n */\n constructor(logger: Logger, data: SharedData) {\n const config = applyAxiosDefaults(data.config, data.defaults);\n\n this.logger = logger;\n\n this.requestInfo = {\n ...config,\n readyURL: displayUrl(config.baseURL, config.url),\n };\n }\n\n /**\n * Отправит хлебные крошки перед запросом.\n */\n beforeRequest() {\n const { readyURL, method, params } = this.requestInfo;\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.request',\n type: 'http',\n data: {\n url: readyURL,\n method,\n params,\n },\n level: 'info',\n }),\n );\n }\n\n /**\n * Отправит хлебные крошки после запроса.\n * @param data Данные ответа.\n */\n afterResponse({ response }: DoneSharedData) {\n const { readyURL, method, params } = this.requestInfo;\n\n this.logger.info(\n new Breadcrumb({\n category: 'http.response',\n type: 'http',\n data: {\n url: readyURL,\n method,\n status_code: response.status,\n params,\n },\n level: 'info',\n }),\n );\n }\n\n /**\n * Отправит данные ошибки при перехвате.\n * @param data Данные запроса.\n */\n onCatch({ error }: FailSharedData) {\n if (Axios.isAxiosError(error)) {\n const { requestInfo } = this;\n const statusCode = error.response?.status || 'UNKNOWN';\n\n // @todo выяснить: нужно ли нам отправлять ответы с кодом <500 в Sentry на уровне всех команд\n // если да то можно добавить метод в духе errorStatusFilter(s => s !== 422)\n this.logger.error(\n new DetailedError(\n `HTTP request failed, status code: ${statusCode}, error message: ${error.message}`,\n {\n level: severityFromStatus(error.response?.status),\n context: [\n {\n key: 'Request details',\n data: {\n url: requestInfo.url,\n baseURL: requestInfo.baseURL,\n method: requestInfo.method,\n headers: requestInfo.headers,\n data: requestInfo.data,\n params: requestInfo.params,\n },\n },\n {\n key: 'Response details',\n data: {\n data: error.response?.data,\n\n // копируем так как в Sentry падает ошибка: **non-serializable** (TypeError: Object.getPrototypeOf(...) is null)\n headers: { ...error.response?.headers },\n\n error: error.toJSON(),\n },\n },\n ],\n },\n ),\n );\n\n if (typeof statusCode === 'number') {\n this.logger.info(\n new Breadcrumb({\n category: 'http.response',\n type: 'http',\n data: {\n url: requestInfo.readyURL,\n method: requestInfo.method,\n status_code: statusCode,\n params: requestInfo.params,\n },\n level: 'error',\n }),\n );\n }\n } else {\n this.logger.error(error);\n }\n }\n}\n\n/**\n * Лог событий запуска и выполнения redux-saga.\n */\nexport class SagaLogging implements SagaMiddlewareHandler {\n protected logger: Logger;\n\n /**\n * @param logger Logger.\n */\n constructor(logger: Logger) {\n this.logger = logger;\n }\n\n /**\n * При получении ошибки выполнения саги передаст ее логгеру ее с данными стека в extra.\n * @param error Ошибка.\n * @param info Инфо выполнения саги.\n */\n onSagaError(error: Error, info: SagaErrorInfo) {\n this.logger.error(\n new DetailedError(error.message, {\n extra: {\n key: 'Saga stack',\n data: info.sagaStack,\n },\n }),\n );\n }\n\n /**\n * При получении ошибки запуска саги передаст ее логгеру.\n * @param error Ошибка.\n */\n onConfigError(error: Error) {\n this.logger.error(error);\n }\n\n /**\n * При прерывании саги передаст информацию логгеру как ошибку.\n * @param info Инфо прерывания саги.\n */\n onTimeoutInterrupt({ timeout }: SagaInterruptInfo) {\n this.logger.error(\n new DetailedError(`Сага прервана по таймауту (${timeout}мс)`, {\n level: 'warning',\n }),\n );\n }\n}\n\n/** Работа с HTTP-статусами по соглашению. */\nexport abstract class HttpStatus {\n /**\n * Определяет, является ли переданный статус успешным.\n * @param status Статус.\n * @return Признак.\n */\n static isOk(status: unknown): boolean {\n return typeof status === 'number' && status === 200;\n }\n\n /**\n * Определяет, является ли переданный статус успешным POST.\n * @param status Статус.\n * @return Признак.\n */\n static isPostOk(status: unknown): boolean {\n return typeof status === 'number' && status === 201;\n }\n\n /**\n * Определяет, является ли переданный статус успешным DELETE.\n * @param status Статус.\n * @return Признак.\n */\n static isDeleteOk(status: unknown): boolean {\n return typeof status === 'number' && (status === 204 || status === 200);\n }\n\n /**\n * Возвращает новый промежуточный слой для валидации статуса HTTP-ответа.\n * Валидация применяется только если в конфиге запроса не указан validateStatus.\n * @return Промежуточный слой.\n */\n static axiosMiddleware(): Middleware<unknown> {\n return async (config, next, defaults) => {\n if (config.validateStatus !== undefined || defaults.validateStatus !== undefined) {\n // если validateStatus указан явно то не применяем валидацию по умолчанию\n await next(config);\n } else {\n let validateStatus: AxiosRequestConfig['validateStatus'] = null;\n\n switch (config.method?.toLowerCase()) {\n case 'get':\n case 'put':\n case undefined:\n validateStatus = HttpStatus.isOk;\n break;\n case 'post':\n validateStatus = HttpStatus.isPostOk;\n break;\n case 'delete':\n validateStatus = HttpStatus.isDeleteOk;\n break;\n }\n\n await next({ ...config, validateStatus });\n }\n };\n }\n}\n\n/**\n * Объединяет значения опций baseURL и url (axios) в одну строку для логирования.\n * @param baseURL Опция baseURL.\n * @param url Опция url.\n * @return Отображение. Не является валидным URL.\n */\nexport function displayUrl(\n baseURL: AxiosRequestConfig['baseURL'] = '',\n url: AxiosRequestConfig['url'] = '',\n) {\n let result: string;\n\n switch (true) {\n case Boolean(baseURL && url):\n result = `${baseURL.replace(/\\/$/, '')}/${url.replace(/^\\//, '')}`;\n break;\n case Boolean(baseURL) && !url:\n result = baseURL;\n break;\n case !baseURL && Boolean(url):\n result = url;\n break;\n case !baseURL && !url:\n default:\n result = '[empty]';\n break;\n }\n\n return result;\n}\n"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "HandlerProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _utils.HandlerProvider;
10
+ }
11
+ });
12
+ exports.PresetHandler = PresetHandler;
13
+ var _di = require("../../../di");
14
+ var _tokens = require("../../../tokens");
15
+ var _providers = require("../../isomorphic/providers");
16
+ var _providers2 = require("./providers");
17
+ var _utils = require("./utils");
18
+ /**
19
+ * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
20
+ * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
21
+ * @todo Возможно стоит переименовать в PresetPageHandler.
22
+ * @return Preset.
23
+ */
24
+ function PresetHandler(customize) {
25
+ // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости
26
+ const preset = (0, _di.createPreset)();
27
+
28
+ // saga
29
+ preset.set(_tokens.KnownToken.sagaMiddleware, _providers.provideSagaMiddleware);
30
+
31
+ // http client
32
+ preset.set(_tokens.KnownToken.Http.Client.factory, _providers2.provideHttpClientFactory);
33
+ preset.set(_tokens.KnownToken.Http.Client.Middleware.Log.handler, _providers.provideHttpClientLogHandler);
34
+
35
+ // http handler
36
+ preset.set(_tokens.KnownToken.Http.Handler.main, _providers2.provideHandlerMain);
37
+ preset.set(_tokens.KnownToken.Http.Handler.Request.specificParams, _providers2.provideSpecificParams);
38
+ preset.set(_tokens.KnownToken.Http.Handler.Response.specificExtras, () => new _utils.SpecificExtras());
39
+ preset.set(_tokens.KnownToken.Http.Handler.Page.assets, () => ({
40
+ js: '',
41
+ css: ''
42
+ }));
43
+ preset.set(_tokens.KnownToken.Http.Handler.Page.helmet, _providers2.providePageHelmet);
44
+ preset.set(_tokens.KnownToken.Http.Handler.Page.render, _providers2.providePageRender);
45
+ if (customize) {
46
+ customize({
47
+ override: preset.set.bind(preset)
48
+ });
49
+ }
50
+ return preset;
51
+ }
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_providers","_providers2","_utils","PresetHandler","customize","preset","createPreset","set","KnownToken","sagaMiddleware","provideSagaMiddleware","Http","Client","factory","provideHttpClientFactory","Middleware","Log","handler","provideHttpClientLogHandler","Handler","main","provideHandlerMain","Request","specificParams","provideSpecificParams","Response","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","override","bind"],"sources":["../../../../../src/preset/node/handler/index.ts"],"sourcesContent":["import { Preset, createPreset } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { provideSagaMiddleware, provideHttpClientLogHandler } from '../../isomorphic/providers';\nimport { PresetTuner } from '../../isomorphic/types';\nimport {\n provideHttpClientFactory,\n provideHandlerMain,\n provideSpecificParams,\n providePageHelmet,\n providePageRender,\n} from './providers';\nimport { SpecificExtras } from './utils';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetHandler(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // saga\n preset.set(KnownToken.sagaMiddleware, provideSagaMiddleware);\n\n // http client\n preset.set(KnownToken.Http.Client.factory, provideHttpClientFactory);\n preset.set(KnownToken.Http.Client.Middleware.Log.handler, provideHttpClientLogHandler);\n\n // http handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\nexport { HandlerProvider } from './utils';\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAOA,IAAAI,MAAA,GAAAJ,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,aAAaA,CAACC,SAAuB,EAAU;EAC7D;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,cAAc,EAAEC,gCAAqB,CAAC;;EAE5D;EACAL,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACC,MAAM,CAACC,OAAO,EAAEC,oCAAwB,CAAC;EACpET,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACC,MAAM,CAACG,UAAU,CAACC,GAAG,CAACC,OAAO,EAAEC,sCAA2B,CAAC;;EAEtF;EACAb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACQ,OAAO,CAACC,IAAI,EAAEC,8BAAkB,CAAC;EAC5DhB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACQ,OAAO,CAACG,OAAO,CAACC,cAAc,EAAEC,iCAAqB,CAAC;EACjFnB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACQ,OAAO,CAACM,QAAQ,CAACC,cAAc,EAAE,MAAM,IAAIC,qBAAc,CAAC,CAAC,CAAC;EACvFtB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACQ,OAAO,CAACS,IAAI,CAACC,MAAM,EAAE,OAAO;IAAEC,EAAE,EAAE,EAAE;IAAEC,GAAG,EAAE;EAAG,CAAC,CAAC,CAAC;EAC5E1B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACQ,OAAO,CAACS,IAAI,CAACI,MAAM,EAAEC,6BAAiB,CAAC;EAClE5B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACG,IAAI,CAACQ,OAAO,CAACS,IAAI,CAACM,MAAM,EAAEC,6BAAiB,CAAC;EAElE,IAAI/B,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEgC,QAAQ,EAAE/B,MAAM,CAACE,GAAG,CAAC8B,IAAI,CAAChC,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf"}